Colourmon 1.2 Operating Instructions

Colourmon 1.2 Colourmon is a 6809 machine code program for the color computer's memory through the use of hexadecimal representation of binary. It is made up of several subroutines, some of which give this program certain useful facilities. It is designed to run without normally disturbing the BASIC functions. The sort of facilities this program gives you are: 1.Memory Examine. 2.Memory Change. 3.Execution Transfer. There are two straight memory examine facilities and give two formats of display. The first display is a hex dump to the screen,and is 128 memory locations with ASCII character equivalents. The second straight memory examine display is a complex display of 6809 machine code groups. Each of the 16 lines of this display is made of an address of a 6809 opcode byte and the opcode byte following. The display continues however, in determining how many bytes accompany that opcode byte to form a complete instruction, and puts these bytes on the same line as the opcode. This particular display closely resembles an assembler printed output of memory and contents. There is one straight memory change facility. This facility enables any number of memory locations to be changed to a desired code. There is another facility which gives both memory examine and memory change on a byte at a time basis. This enables the typing in of machine code programs. There is two straight 6809 execution transfer facilities. The first transfer enables the 6809 to begin execution of any block of machine codes. This could be used to 'run' a machine code program typed in using one of the other facilities. The other transfer of 6809 execution is a return to the BASIC ROMs. There is one last facility which combines memory change and transfer of execution facilities. It is possible to fill certain areas of memory with a copy of Colourmon and transfer execution to the copy. The old copy is no longer required. After Colourmon is loaded and EXECuted there should be displayed: COLOURMON 1.2 * This is the name of this program, the version number and an asterix placed below immediately followed by the multi-coloured cursor. The asterix is a prompt from Colourmon awaiting a command from you. There are seven commands giving you access to the seven facilities of Colourmon. The facility is invoked by typing a single letter. The letters are E,F,G,M,O,S, and X. The letters have been selected by association with the facility it invokes. (1) E Examine a 128 byte block of memory. (2) F Fill a block of memory with a code. (3) G Go to machine code program. (4) M Memory change of a desired location (5) O Opcode display of a machine code program. (6) S Shift Colourmon elsewhere. (7) X eXit to the BASIC ROMs. 1. After typing E,Colourmon should reply with: *E BEG ADDR ? The required answer to the question "Beginning Address?" is the address of one of the bytes in a 128 byte block and the address has to be inputed using four of the permissible hexadecimal digits i.e. 0-9 and A-F. After the block is displayed,typing a "space" will display the next 128 byte block and "enter" will allow return to Colourmon. 2. After typing F,Colourmon should reply with: *F BEG ADDR ? The required answer to the question "Beginning Address?" is the address of the start of the block of memory you want to change. (warning: this command is dangerous!) After four hexadecimal digits have been typed the display will now have another question: *F BEG ADDR ?A000 END ADDR ? This is asking for the "Ending address?" of the block of memory you want to change. After four hexadecimal digits have been typed there will be one last question: *F BEG ADDR ?A000 END ADDR ?BFFF FILL CHAR? This asking for the desired code you desire to place in the block previously specified after "BEG ADDR ?" and "END ADDR ?". The desired code only needs two hexadecimal digits but after they are typed the memory is immediately filled and hopefully the display will return with the prompt. Note, in this example I have put the beginning and end addresses of ROM which won't change but is safe to try. 3. After typing G, Colourmon should reply with: *G BEG ADDR ? This is asking for the address where you desire the 6809 to start execution. Four hexadecimal digits will answer the question. The best method of terminating a small piece of machine code is to finish with a 39, RTS or return from subroutine. (Warning: this command is dangerous!). 4. After typing M, Colourmon should reply with: *M BEG ADDR ? This question is answered by typing four hexadecimal digits representing the address of the bytes you want to change. After typing the address there is displayed the address you entered and the contents presently in that location represented in hexadecimal. At this stage their are several choices: a) ^ Displays previous address and contents. b) Typing two hexadecimal digits changes the contents of that byte to what is typed. (this can be dangerous). c)(space) Displays the next address and contents. d)(enter) Will allow return to Colourmon prompt. 5. After typing the letter O,Colourmon should reply with: *O BEG ADDR ? The required answer to the question "Beginning Address?"is the start of a 6809 program typed in as four hexadecimal digits. After 16 lines of opcodes has been displayed a "space" will display the next 16 lines and a "enter" will allow return to the Colourmon prompt. 6. After typing S,Colourmon should reply: *S BEG ADDR ? The required answer to the question "Beginning Address?" is a very carefully selected address in read write memory, where you would like Colourmon to run. Fortunately the shift command does check the block of memory is in fact read write memory as it copies the old Colourmon to the new location. If it fails to copy, a question mark will be displayed, but if it is successful, execution is no longer in the old Colourmon but now in the new copy. (Warning: this command is dangerous). Note: 1. Colourmon is 033D hexadecimal bytes in length. 2. The old copy is no longer required. 7. After typing X, the BASIC ROM should reply: *X OK You are now back in BASIC If you have a printer connected and you are in Colourmon you can redirect the output of Colourmon to the printer by typing M 006F FE (enter). To switch back to outputing to the screen type M 006F 00 (enter). Alan Electron 10 January 1983 ----------------------
Copyright © 2000 Alan Electron. All Rights Reserved.
Colourmon 1.2 Monitor Program for Coco I & II Issue 2, 26 May 2021
cmondoco.html Draft Page 1 of 1