ELF Monitor Instructions: The ELF monitor is a utility program that allows easier editing and debugging of programs than otherwise possible on the basic ELF computer with toggle switches and 256 bytes of RAM. The monitor should be loaded starting at memory location 0 and occupies 109 bytes, leaving 141 bytes available for programs starting at memory location 6D (hex - 109 decimal). Ideally one should keep the monitor in memory at all times for use whenever needed. The monitor has 4 functions using the following codes: 0 - RUN PROGRAM 1 - EDIT PROGRAM 2 - LIST PROGRAM 3 - DISPLAY ADDRESS REGISTERS (R1-RD) To start the monitor after loading it, reset the ELF, select the command code of choice using the toggle switches then run. Command 0: The Q LED will come on requesting your input. Toggle in the start address of the program and press I. The selected program will then run as expected. Command 1: The Q LED will come on requesting the start address to edit. Toggle it in, press I, and the contents will be displayed. The Q LED will remain on to remind you that you are in EDIT mode. At that point, toggle in the new data and press I. While I is pressed, the new data will be displayed. Once I is released, the next memory location will be displayed, ready for new input if necessary, and so on and so forth. Once you are done editing, simply reset the ELF. This function can be used to enter a new program in its entirety or to edit selected memory locations without having to step through all the preceding memory locations. Command 2: The Q LED will come on, and you will need to toggle in the start address to list. Press I and the first memory location will be displayed. The Q LED will turn off since editing is not allowed in this mode. Each time you press I, the next memory location will be displayed. Reset the ELF when done. This mode is useful the verify the contents of specific memory locations or to check a program after entry. Command 3: In this mode, the ELF will display the contents of registers R1 to RD. For this mode to be useful in debugging, your programs should not use the RE and RF registers which are needed by the monitor. R0 is normally set to zero when the ELF is reset. To use this function, run your program using Command 0, then interrupt it at a desired location either manually with the LOAD switch or with an IDL instruction within the program. Reset the ELF and run the monitor with Command 3. At that point, the LOW byte of R1 will be displayed. Press I and the HIGH byte will be displayed. Subsequently, with each press of I, the display will cycle between the low and high bytes of each register R2-RD sequentially. Reset the ELF when done. I hope you find this utility useful. Walid Maalouli July 2011. message posted in cosmacelf by Walid Maalouil July 2011: Hi. I've been playing with the ELF like a hyperactive gerbil lately, and ended up writing my own little monitor utility for the Membership Card ELF with 256 bytes. I know this has already been done ad nauseam, but it was an interesting exercise. The monitor has 4 functions, namely RUN, EDIT, LIST and DISPLAY REGISTERS (R1-RD). While the first three are the standard ones, the last one could be quite helpful in debugging (RE and RF are used by the monitor itself). Unfortunately, adding it made the program size a whopping 109 bytes, leaving only 147 bytes available for programs. On the other hand, anything much larger than that will likely need some kind of external PC link and a proper assembler. I already have a permanent sore on the tip of my index finger from repeatedly pressing that tiny I switch! The program can be found in the Files section in the ELF-MON folder. Walid