CP/M Z80 Assembly Source Code Files ----------------------------------- These are CP/M programs I've collected over the years. Some I wrote decades ago and some are new. I hope they are useful. The assembly source code files are public domain. The assembler I use expects a file extension of '.a' for z80 source code. You'll likely need to rename the files to '.z80' or some such for whatever assembler you use. a48.a This is a primitive 8048 assembler I wrote to do a quicky 8048 project many years ago. It met my needs at the time, but it isn't very powerful: no macros, limited expression syntax, no precedence of operators. But it works. asm48.z80 I don't recall where I got this 8048 assembler, but it apparently is public domain. It's more useful than my toy assembler. acp.a Advanced Console Processor (acp) is a replacement for CCP. Has some nice features. This version is written for a Radio Shack Model 4 computer running Montezuma Micro CP/M. Shouldn't be difficult to adapt to other versions of CP/M. args.a This is a command line parser that produces an argc and argv[] for assembly language programs. It will handle up to 32 command line arguments. bdosfunc.inc An include file that has equ's for BDOS functions. cls.a A clear screen program for YAZE (Yet Another Z80 Emulator). convertcase.c A Unix C program to convert Z80 assembly source files to lower case. Comments and literals in the asm source will not be converted. copy.a While PIP is a very powerful utility, it's user interface is not the best it could be. COPY is a DOS like file copy utility that allows wild cards in file names. For example: 'copy *.z80 b:" will copy all files on the current drive with a .z80 extension to the B: drive (B: cannot be the current drive). 'copy b:*.asm' will copy all '.asm' files from drive B: to the current drive. You can even do 'copy b:*.* c:' to copy all files from the B: drive to the C: drive. cpmxfer.c This is a utility to transfer files between a PC running Linux and a real Z80 CP/M computer. See 'transfer.a' below. disks.a Another YAZE utility. 'Disks' will display usage information about all CP/M disks in a YAZE system. grep.a Z80 assembly version of grep for CP/M. grepsub.a Include file for grep. grep.doc Documentation for grep. gwiz.a A global 'whereis' program for YAZE CP/M. Finds files on all disks. Example: 'gwiz *.asm' will find .asm files on all disks. lines.a Counts lines in a text file. mon.a A Z80 monitor program. One of the first CP/M programs I wrote. Still useful. You will need to modify the load address depending on the size of your TPA. timetest.a A timer program used to measure the speed of Z80 emulators. On a real 4MHz Z80 computer, it will print out a dot and 100 seconds later prints another dot. On my 800MHz Pentium 3 Linux computer, the program runs in less than 2 seconds, indicating that YAZE on my computer is equivlant to about a 116MHz Z80. Since timetest uses only a few instructions, it's not really a good indicator of emulator speed, but it does give you a ballpark measurement. transfer.a The Z80 CP/M complement to cpmxfer.c. Used to transfer files between real CP/M computers and Linux or DOS computers. undoc.a A test of undocumented Z80 opcodes.