Generic 'monitor' software for 8080 based systems. v0.2a
For non commercial use only! Please do not redistribute and republish
in any media. Thanx.

File descriptions:
MON8080.ASM	-	'monitor' source code
MON8080.bin	-	'monitor' binary
COPY.ASM	-	transfer rom to ram source
COPY.bin	-	transfer program binary
ROM.BIN		-	ROM damp, ready to flash
COPY.BAT	-	command to split "copy.bin"+"mon8080.bin"

How to assemble:
To compile programs you can use any familiar assembler with the support instructions of 8080/8085 processor.
I'm using ASM Editor for Windows v3.0 (chek http://avt-lab.ru/asmedit.htm for manual) with generic 8080 assemler 
(asm8080 v0.9.7 https://sourceforge.net/projects/asm8080/).
After compiling the programs (mon8080.asm and copy.asm) you should get a "mon8080.bin" and "copy.bin".
Run "copy.bat" to get the firmware image file "rom.bin".
Flash "rom.bin" to ROM IC (such as 2716,28F16 etc...).

Monitor Commands:
Dxxxx	-	memory dump (dump 256 bytes from #XXXX)
Jxxxx	-	jump to address #XXXX
Mxxxx	-	memory edit from #XXXX (enter "." to exit)
R	-	read Intel HEX from COM port (send it as 
		ASCII or copy to terminal window)
B	-	boot from hard drive (Read track#00,
		sector#01 to address #7C00 and run it)
There must be a boot loader for your operating system.

COM port and CON port is set up to 9600bps 8N1, hardware flow control.
(use RTS/CTS - handshaking)


Some useful subroutines in monitor:
#F82A - out character to console (in: C-char; out: nothing)
#F835 - in character from console (in: nothing; out: A-char)
#F83F - read console status (in: nothing; out:A=#00 if no char waiting, otherwise A=#FF)
#F85C - out character to COM port (in: C-char; out: nothing)
#F867 - in character from COM port (in: nothing; out: A-char)
#F871 - read COM port status (in: nothing; out:A=#00 if no char waiting, otherwise A=#FF)
#F894 - print message, null-terminated (in: HL-message address out: nothing)
#FA56 - cold start (in:nothing, out:nothing)
#FA74 - warm start without hardware init (in:nothing, out:nothing)
