Mike_Z
Veteran Member
Now that I'm incrementally smarter regarding CP/M, I want to convert my System Monitor program & cold start loader located at the top 2k of my 64k system, to CP/M ASM. I want to add I/O byte code, read/write retry on soft errors, improve some messaging and remove some stuff that I do not need. I also found some poorly written code in my Wait Interrupt FDC code that I want to improve.
So, I'd like some confirmation or correction of the method I want to try.
1. Rewrite my code from my old homemade assembler to CP/M with the corrections I want. I believe that instead of starting out with ORG 0100H I will change this to ORG F800H.
2. Assemble the code as normal to produce X.PRN and X.HEX files.
3. Run DDT with no spec's.
4. Run INPUT - IX.HEX
5. Set the drive number S5C XX 01 Drive A:
XX . CR
6. Read file to a different start address, R8000
I believe that this will result in my new code to be written to 8000H with all the addresses needed to operate at F800H. At this point I can use my EEPROM programmer to transfer this new code to a EEPROM. If my new code works (what are the chances?) all I have to do is plug in this new EEPROM and it should work with the new functions.
Is my thinking & suggested method correct or have I made an error? Thanks Mike
So, I'd like some confirmation or correction of the method I want to try.
1. Rewrite my code from my old homemade assembler to CP/M with the corrections I want. I believe that instead of starting out with ORG 0100H I will change this to ORG F800H.
2. Assemble the code as normal to produce X.PRN and X.HEX files.
3. Run DDT with no spec's.
4. Run INPUT - IX.HEX
5. Set the drive number S5C XX 01 Drive A:
XX . CR
6. Read file to a different start address, R8000
I believe that this will result in my new code to be written to 8000H with all the addresses needed to operate at F800H. At this point I can use my EEPROM programmer to transfer this new code to a EEPROM. If my new code works (what are the chances?) all I have to do is plug in this new EEPROM and it should work with the new functions.
Is my thinking & suggested method correct or have I made an error? Thanks Mike