Appendix 3. Hex dump of the Monitor program

Elektor_Junior_ROM_hexdump_at_1C00

This is the complete (condensed) listing of the monitor program contained in the EPROM (IC2) in hexadecimal form. To be precise, only the machine code is listed. The first column of the table consists of addresses, whilst all the remaining figures represent data. For example, the data byte 85 is contained in location 1C00. The next figure, F3, is the contents of the following location (1C01).


Elektor_Junior_ROM_hexdump

Elektor_Junior_ROM.bin

Elektor_Junior_ROM_source

Elektor_Junior_ROM_listing

The files above differ from the scanned text in the book. For example, the last byte is FF not 1F. This is because the memory decoding logic ignores A15,14,13 and so each 8K block of decoded memory space appears at eight places (aliasing). The ROM appears in the last 2K so that the CPU can read vectors for reset and interrupts. Those vectors can point to code in any 8K alias. The hex dump in the original book text shows the code running in the lowest address, which will work but requires the ROM to appear in two blocks. The correct way of course is to assemble for FFFF. So the book is not wrong, but it is not a wise idea. The links above lead to text files that have been generated from source code and assembled. The source code is written to run in the last 8K block.