The code here shows some useful routines to put in the EPROM. The first instruction allows the user to skip to a part of the EPROM that has good code. This technique allows the programmer to enter new code in a higher memory location if a mistake is made (easy to do if you are entering data into the EPROM bit-by-bit). You can simple write zeros over the JP instruction and enter another one that points to the good code, without erasing the EPROM. The target of this initial jump is a routine that allows the user to identify an entry point by placing the address on the input port switches. The simple port reflector and counter programs are for testing the basic integrity of the system. The program loader allows the user to experiment with any small program by entering it into RAM bit-by-bit using the input ports.
This program finds the highest factor of an integer. The integer is entered on the input port, and the highest factor is found and displayed on the output port. The integer factor routine was the first program ever run on a stored program computer (the Manchester Mark I "Baby" ).
This is a simple addition program that can be entered into RAM using the program loader routine.
Here are links to older and current ROM files. New ROM versions sometimes change program entry points. If you have an older ROM version you can find it here, and find the correct entry points. Note ROM v.8 only works with the disk and memory expansion.ROM v. 8 assembly language file
This is a program you can use to test the serial port connection. This program can be entered byte-by-byte into RAM using the Program_loader, which is at ROM location 0x0046. The program is only 30 bytes long, and is fairly easy to enter with the Program_loader. Once it is loaded in RAM and executed, it initializes the serial port and waits for input. Then, if all goes well, the characters you type on the PCs keyboard will be sent to the Z80 by the serial port, and the Z80 computer will echo them back to the display. The characters will also be displayed on the Z80 computer's port 0 LEDs
This is another tiny program that can be entered into the Z80 computer's memory using the ROM Program_loader. Once boot_loader is entered and executed, the Z80 initializes the serial port UART and waits for input from the PC. You start the binary transfer from the PC, and the Z80 computer will receive 256 bytes of code and place them in its memory starting at location 0900h. Then, the boot_loader jumps to that location to execute the code that was entered. If you don't overwrite it, the boot loader will remain in memory at 0x0800, and will start again after the computer is reset, if you put 0x0800 on the input port switches. This allows you to write, assemble, run, and debug small Z80 assembly language programs easily using binary transfers throught the serial port. The v.7 ROM has a full monitor program that allows binary loading of programs of any length.