z80playground / cpm-fat

CP/M for the Z80 Playground that runs on the FAT disk format
GNU General Public License v3.0
20 stars 9 forks source link

CCPZ - Z80 CCP #70

Open gd-99 opened 3 years ago

gd-99 commented 3 years ago

I have finally got CCPZ to work on my Z80 board. Caveat; my board is not a Z80 Playground but does run CPM_FAT. I see no reason why my "corrected" version of CCPZ.ASM shouldn't work with the Z80 Playground. Thought I should share.

I downloaded and worked on the version found in SydneySmith article Using CCPZ. I have also found CCPZ.ASM on the A drive supplied with RunCPM.

Although I tried compiling as suggested with Z80ASM using RunCPM, I could not get it to run on the actual Z80 board. It would load correctly and sort of run, all the internal commands worked, but external COM files didn't load correctly. In the end I found my problem was lack of stack space. Increasing the original stack space of 26 to 33 solved my issues. Even so my compiled version is still a bare 2k.

This is my working version - change .txt to .asm. Git didn't like ASM. It appears well commented CCPZ.txt

I have hardwired the ORG address and the CCPLOC address, rather than use the CPM_FAT location.asm method. I have made comments where I have changed things with a reference to NovAos. Apart from these changes the file is pretty well stock. My assembler of choice is ZASM. This assembler doesn't seem to like the NOT (negate) directive so I have replaced these with "!" which appears to appease ZASM. ZASM also uses different methods of compiling for RAM /ROM and so on. These are set at the top of the ASM file with compiler directives.

There are some useful features in this CCP including a paginated TYPE. Included in the zip file are some documentation files. including a "HLP" file run using the CP/M HELP.COM command. This CCP has a GET command to load a CP/M file other than at the TPA location, with a JUMP /GO command to fire off the loaded program. The GO command also allows multiple invocation of a loaded program, with command line instructions, saving loading (speed up) each time the program is needed. Untested as yet is the ability to run $$$.SUB files from other than the A drive. Finally there is a DFU command that sort of sets up path to command files.

Zip file contains the ASM, COM, DOC,HLP and NOT file CCPZ-V4.zip

Hopefully this can be got working on the Z80 Playground and be of some use.