RickNel
Veteran Member
From my experience getting a s-100 machine back to life I've built on the work of others to put together an EPROM-based monitor/loader to support restoration and maintenance of Z80/8080 machines that don't have access to an OS.
Many of the debug features are directly descended from Zapple and DDT, but culled to conserve EPROM space and on the principle that once you have access to an operating system, more comprehensive debug utilities will be available.
I'm calling it Minimon.
The Boot module is of course system-specific. Assembler code is organised to be as modular as possible, since each implementation is likely to be for a different hardware environment and/or configuration.
The new feature of most interest may be the "Load" module, which loads a binary file (or keyboard input) from a serial port to any memory location *without any operating system or disk drives*. I've not found anything else that does this without system calls. It can save a lot of Front Panel switch-flipping.
Operating system components can be loaded from external storage or an external development environment, then run or tested with Minimon's debug capabilities. Also testing of EPROM code prior to burning. If an operating system is already loaded, Load can overlay a revised BIOS or whatever directly from the PC where it was assembled.
I have uploaded the files for Minimon to http://thwaites.homemail.com.au/minimon/
The zip file contains Z80 assembler sources, a comprehensive Readme, and some ancillary macros for Minimon and for a PC to send a file to the Load module.
Minimon as currently configured cold boots from EPROM with a sequence of tests to check response of Console, RAM, Diskette, and Keyboard, then presents its menu or boots directly to CP/M.
It will start to function with minimum hardware of just CPU and EPROM, and becomes increasingly useful when there is Console and RAM.
Comments and suggestions welcome.
Rick
Many of the debug features are directly descended from Zapple and DDT, but culled to conserve EPROM space and on the principle that once you have access to an operating system, more comprehensive debug utilities will be available.
I'm calling it Minimon.
The Boot module is of course system-specific. Assembler code is organised to be as modular as possible, since each implementation is likely to be for a different hardware environment and/or configuration.
The new feature of most interest may be the "Load" module, which loads a binary file (or keyboard input) from a serial port to any memory location *without any operating system or disk drives*. I've not found anything else that does this without system calls. It can save a lot of Front Panel switch-flipping.
Operating system components can be loaded from external storage or an external development environment, then run or tested with Minimon's debug capabilities. Also testing of EPROM code prior to burning. If an operating system is already loaded, Load can overlay a revised BIOS or whatever directly from the PC where it was assembled.
I have uploaded the files for Minimon to http://thwaites.homemail.com.au/minimon/
The zip file contains Z80 assembler sources, a comprehensive Readme, and some ancillary macros for Minimon and for a PC to send a file to the Load module.
Minimon as currently configured cold boots from EPROM with a sequence of tests to check response of Console, RAM, Diskette, and Keyboard, then presents its menu or boots directly to CP/M.
It will start to function with minimum hardware of just CPU and EPROM, and becomes increasingly useful when there is Console and RAM.
Comments and suggestions welcome.
Rick