Moving Combo Disk Boot Loader (CDBL) Solved

General discussions related to the Altair 8800 Clone

Moving Combo Disk Boot Loader (CDBL) Solved

Postby toml_12953 » April 19th, 2019, 6:25 am

I'd like to store the Combo Disk Boot Loader (CDBL) in ROM on my 8800c and AltairDuino.
The only HEX file I can find for CDBL locates it at its execution address (4C00h) rather than its storage address (FF00h)
I can change the load addresses in the HEX file but how do I recalculate the checksums?

Got it!

I found a website that calculates the chcksum on individual lines in the HEX file. Since there aren't many lines, I copied and pasted them
one at a time into the calculator and got the correct checksums. Now all my repros have the same ROM configuration.

https://www.fischl.de/hex_checksum_calculator/
toml_12953
 
Posts: 297
Joined: June 7th, 2013, 12:54 pm

Re: Moving Combo Disk Boot Loader (CDBL) Solved

Postby AltairClone » April 19th, 2019, 10:07 am

Note that changing the load address specified in each line of a hex file line in an attempt to relocate a program will fail in almost every case. All the jump, subroutine, and data references in the program will fail when the program runs because changing the load address does not change the address references that are part of the code.

However, I happened to modify CDBL back in 2016 to make it position independent so that a CDBL PROM will run whether it is physically installed at FF00, E000, 8000, etc. But again, position independent 8080 code is very rare.

I assume you were burning a PROM of some sort to run in the 8800c? Your PROM burning software most likely has a manual or automatic offset mode where it maps the lowest address in the .hex file (e.g., 4C00 in this case) to address zero in the PROM it's going to burn. No change to the hex file is actually required.

Mike
AltairClone
Site Admin
 
Posts: 632
Joined: April 5th, 2013, 10:55 am

Re: Moving Combo Disk Boot Loader (CDBL) Solved

Postby toml_12953 » April 19th, 2019, 11:55 am

AltairClone wrote:Note that changing the load address specified in each line of a hex file line in an attempt to relocate a program will fail in almost every case. All the jump, subroutine, and data references in the program will fail when the program runs because changing the load address does not change the address references that are part of the code.

However, I happened to modify CDBL back in 2016 to make it position independent so that a CDBL PROM will run whether it is physically installed at FF00, E000, 8000, etc. But again, position independent 8080 code is very rare.

I assume you were burning a PROM of some sort to run in the 8800c? Your PROM burning software most likely has a manual or automatic offset mode where it maps the lowest address in the .hex file (e.g., 4C00 in this case) to address zero in the PROM it's going to burn. No change to the hex file is actually required.

Mike

Yes, you are exactly right. I knew that CDBL could be stored in ROM since it's already there in the FDC+ (nice job BTW!)
The changes to the HEX file were required for the AltairDuino which only loads a HEX file at the addresses spcified in the file itself.
I also want MBL, TURMON and Intel HEX loader in the same ROM. Do I need to make one load module of them before burning or can I burn one at a time?
toml_12953
 
Posts: 297
Joined: June 7th, 2013, 12:54 pm

Re: Moving Combo Disk Boot Loader (CDBL) Solved

Postby AltairClone » April 19th, 2019, 10:48 pm

With most EPROM programmers, you can burn non-overlapping files independently of each other into the same larger PROM.

Mike
AltairClone
Site Admin
 
Posts: 632
Joined: April 5th, 2013, 10:55 am


Return to General Discussions

Who is online

Users browsing this forum: No registered users and 20 guests

cron