• Please review our updated Terms and Rules here

Cromemco dazzler replica project

A big breakthrough for me today. I discovered the AltairZ80 simulator R.COM and W.COM programs written for CP/M appear to work on CDOS. I was using Xmodem to move files between the simulator and the host file system. With R.COM and W.COM, moving files is now fast and easy. I'm starting to like CDOS.


Code:
CDOS version 02.58
Cromemco Disk Operating System
Copyright (C) 1977, 1983 Cromemco, Inc.

A.era w.com

A.r ../../cpmfiles/w.com

READ V-2.24 (12-Jun-10) SIMH Interface V005
Read from "../../CPMFILES/W.COM" and write to "W.COM".
Previous file of same name deleted.
3.875kB written.

A.w

WRITE V-1.17 (01-Mar-08)  SIMH Interface V005
Usage: WRITE <file name> [B|T]
Copy <file name> to host environment. Default is text, B for binary, T for Text

Examples
WRITE BDOS.MAC      copy BDOS.MAC as text file
WRITE PIP.COM B     copy PIP.COM as binary file
WRITE PIP.COM       copy PIP.COM as binary file [.COM .REL .DAT imply B]
WRITE TEST.DAT T    copy TEST.DAT as text file
WRITE *.COM         copy all files matching *.COM as binary files
WRITE SRC/BDOS.MAC  copy BDOS.MAC to directory SRC as a text file
WRITE COM/*.COM B   copy *.COM to directory COM as binary files

A.dir
DEBUG     COM    10K           GOTCHA    Z80    12K       
BOOT0258  SYS     8K           ASMB      COM    16K       
ASMLIB    REL     4K           ASMLIB    MAC    10K       
CDOSOK    COM    14K           LIB       COM     6K       
LINK      COM    12K           GRAPHZ80  REL     4K       
GDEMO     Z80    14K           XMODEM    COM     4K       
SPL       COM    28K           R         COM     4K       
GDEMO     COM     4K           W         COM     4K       
DUMP      COM     4K           EDIT      COM     8K       
INIT      COM    12K           SCREEN    COM    12K       
STAT      COM    10K           WRTSYS    COM     2K       
XFER      COM     8K           CDOS      COM    18K       
*** 24 Files, 26 Entries, 228 K Displayed, 158 K Left ***
A.
 
CDOS is supposed to be CP/M compatible...

Dave
Does that mean that CDOS .COM files would be expected to work in CP/M ? If so, and I could get the Dazzler games as CDOS.com files, they should work on my 8080 computer running CP/M ?

@palinst : can you post the GDEMO.COM file, and I will try it in CP/M running in my 8080 computer This might be a way around the incompatibility of Z80 vs 8080 assembly code (or I might be dreaming).
 
In the meantime I made some progress getting my D+7A board running and calibrated. It wouldn't quite come into calibration because the 78L05 voltage reference was 4.9V not 5v and it caused R22 to be at the far end of its range, so I had to replace the 78L05.

Not having too much luck with the .DSK files viewing them with an online utility viewer, that seems to get scrambled in places.

The easiest files for me to use are .COM files that I can send to my SOL-20 over the serial port, that are already known to work in CP/M 2.2 , or the assembly source file in notepad, and I can just assemble those with my CP/M assembler.

But now after the remark about the compatibility of CDOS and CP/M it has got me wondering if I could run CDOS .com files in my 8080 machine with CP/M.

While I was looking for other things I found a simple Utility I wrote (attached), in case you had an image in the Dazzler memory space (say the result of some memory manipulations, like Doodle) and wanted to save it to a named disk file, it took me a while to figure it out not being a programmer, it works well, but I'm sure the error checking would not be up to a programmer's standards and there are probably many things "off" about it, so try not to laugh. Anyway, this can be my contribution to Dazzler Utilities.
 

Attachments

  • 2DSKC.txt
    2.9 KB · Views: 2
Does that mean that CDOS .COM files would be expected to work in CP/M ? If so, and I could get the Dazzler games as CDOS.com files, they should work on my 8080 computer running CP/M ?

@palinst : can you post the GDEMO.COM file, and I will try it in CP/M running in my 8080 computer This might be a way around the incompatibility of Z80 vs 8080 assembly code (or I might be dreaming).

GDEMO was written for Z80, wouldn't the assembled machine code still reference CPU instructions that would be incompatible with the 8080?
 
Just because the file format is the same, it doesn't mean it will work though...

An 8080 .COM file designed for CP/M should work on CDOS (assuming my brain is telling me the truth).

However, Z80 code written in a CP/M .COM file structure will still only run on a Z80 CPU.

The key things significant about the .COM file is that it loads (and executes) at address 100H, calls address 5 for CP/M function calls, and obeys the calling conventions.

Address 0 should be the warm start and the FCB should be as defined in the CP/M manual.

I have probably missed a few things in this short post.

However, CP/M compatability does not mandate what CPU it runs on or the contents of the instruction stream itself contained within the .COM file. Here is where the 8080/Z80 incompatibility (or subset/superset) will come into play.

Dave
 
Back
Top