Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CP/M-68K

279 views
Skip to first unread message

norwe...@gmail.com

unread,
Jul 26, 2014, 12:00:02 PM7/26/14
to
This is a chicken and egg" problem. I built a 68k SBC (2 MB sram, 64k eprom, 2 serial ports, two 16-bit parallel ports, 10MHz, drives console at 38.4k baud -- all on a 6" x 10" PCB). It can be viewed at http://users.speakeasy.net/~rzh/68k.html (down at the bottom of the page). I've added an IDE/CF interface, and gotten the compact flash (attached there with a IDE to CF adapter) working reliably. I've also gotten CP/M-68K (v 1.3) working (via S-record download), but I'm having trouble testing it. There are no files on the "disk". Z80 CP/M (2.2) had a built-in "save" function, but near as I can tell, it doesn't exist in CP/M-68K. I can get DDT68K loaded (again via S-records), but I can't tell if there is a way to write to disk from memory. With Z80 CP/M, you could ^C out of DDT, and do a "save" to write memory out to disk. I need a way to to create a disk file, but can't see how. Anybody know how? Or maybe have a pointer to DDT68K documentation? If there was a CCP replacement, analogous to ZCPR, for the 68k, I could use the "GO" command to create a disk file. I'm stuck.

Roger

Roger Ivie

unread,
Jul 26, 2014, 1:28:01 PM7/26/14
to
The approach I usually take is to manipulate disk images on some other
computer.

Although I *am* dealing with CP/M-68K, I'm actually playing with my
ARM port. I'm running on chips that have 512K of flash. Since I've
got CP/M-68K going through gcc anyway (to compile to ARM), I've built
a version that runs on the host, to which I've added IMPORT and EXPORT
commands to the CCP. Run that pointed at the flash image, and I can
use those to add files to the disk.

Since you can download S-records, I'd probably look at doing something
similar. Make a BIOS that uses a chunk of your 2MB RAM to hold an
8" floppy image, then you can use something like cpmtools to build
a disk image. Slap PIP on it, download it via S-records, download
your modified CP/M-68K, and use PIP to copy itself from the RAM disk
image to your compact flash.
--
roger ivie
ri...@ridgenet.net

David Mehaffy

unread,
Jul 26, 2014, 3:45:14 PM7/26/14
to
Why not get a copy of CP/M tools for PC or Linux depending on what you are doing and build the CF card image there using mkfs.cpm and cpmcp to copy binaries to the image. You can find srec2bin somewhere to convert the files to binary - I do this all the time for CP/M systems and in the process of doing it for the S100-68Kv3 board that has been discussed on the NVEM-S100 group.

Dave

Mr. Emmanuel Roche, France

unread,
Jul 26, 2014, 4:13:35 PM7/26/14
to
Shame on you, Roger!

My first reaction was to just write: RTF*M!!!

But since I have seen your Web page for years, I will try to keep my cool (not obvious right now, with the temperature of the computer room at more than 30 degrees Celsius...).

Ok. So, I just typed "CP/M-68K" and "DDT" and Google told me the following...

I simply cannot believe that a programmer does not know how to use his programs!

Me, the first thing that I do is to retype all the doc of the programs that I use. This way, even before using the programs, I know how they work.

http://www.retroarchive.org/docs/cpm68_prog_guide_pt1.pdf

- "CP/M-68K Programmer's Guide" (111 pages)

(Retyped by Emmanuel ROCHE.)


(...)

- Standard CP/M Utilities:

DDT-68K <----- !
ED
PIP
STAT


(...)

Section 8: DDT-68K

8.1 DDT-68K Operation

8.1.1 Invoking DDT-68K
8.1.2 DDT-68K command conventions
8.1.3 Specifying address
8.1.4 Terminating DDT-68K
8.1.5 DDT-68K operation with interrupts

8.2 DDT-68K Commands

8.2.1 The D (Display) command
8.2.2 The E (load for Execution) command
8.2.3 The F (Fill) command
8.2.4 The G (Go) command
8.2.5 The H (Hexadecimal math) command
8.2.6 The I (Input command tail) command
8.2.7 The L (List) command
8.2.8 The M (Move) command
8.2.9 The R (Read) command
8.2.10 The S (Set) command
8.2.11 The T (Trace) command
8.2.12 The U (Untrace) command
8.2.13 The V (Value) command
8.2.14 The W (Write) command
8.2.15 The X (eXamine CPU state) command

8.3 Assembly language syntax for A and L commands


(...)

Appendix E, Section 6: DDT-68K Error Messages

E.6.1 Diagnostic error message
E.6.2 DDT-68K internal logic error messages


http://www.retroarchive.org/docs/cpm68_prog_guide_pt2.pdf

(...)

8.2.14 The W (Write) command

The W command writes the contents of a contiguous block of memory to disk. The forms are:

W(filename
W(filename),s,f

The (filename) is the file specification of the disk file that receives the data. The letters s and f are the first ("Start") and last ("Finish") addresses of the block to be written. If f does not specify the last address, DDT-68K uses the same value that was used for s.

If the fist form is used, DDT-68K assumes that the values for s and f are from the last file read with a R command. If no file is read by an R command, DDT-68K responds with a question mark (?). This form is useful for writing out files after patches have been installed, assuming that the overall length of the file is unchanged.

If the file specified in the W command already exists on disk, DDT-68K deletes the existing file before it writes the new file.


(...)


Yours Sincerely,
Mr. Emmanuel Roche, France

joe

unread,
Aug 2, 2014, 8:34:31 AM8/2/14
to
norwe...@gmail.com wrote:

> I built a 68k SBC (2 MB sram, 64k
> eprom, 2 serial ports, two 16-bit parallel ports, 10MHz, drives console at
> 38.4k baud -- all on a 6" x 10" PCB).

Roger,

This looks very interesting. I wish you success.



0 new messages