Jump to content
IGNORED

Atari 7800 bios source code


debugger

Recommended Posts

Sorry for always asking about programming stuff guys :)

I'm reading the 7800 bios disassembly and i'm surprised about this:

 

STA LF112

 

LF112 label is not defined in any place of the code or am i becoming crazy of reading too much 6502 asm lately? Did anyone tried to assemble again this file? :)

Link to comment
Share on other sites

Labels like that are usually generic labels corresponding to an absolute address in the original code. So if it weren't a STA, I'd say it was probably referring to something that's at F112 (or offset 0112 in a 4K ROM). But since I don't know which "source code" you are referring to, I can't say any more than that.

 

I will say one thing about the 7800 ROM, though. One segment of it is meant to be copied down to RAM at $2300 hex, and is assembled to run at that address. So it won't make much sense if you look at it at the original address.

Link to comment
Share on other sites

Look here for the 7800 BIOS source code.

 

Incidentally, John Harvey pointed out to me a while ago that the 7800 BIOS ROM that's floating around the internet is actually slightly corrupted. I redumped it myself and got a slightly different checksum, now I just need to verify that my dump is accurate before I release it. :)

 

Mitch

Link to comment
Share on other sites

  • 4 weeks later...

I've finished typing in and verifying the 7800 source code (7800source.asm) from the Atari Museum scans, and making the changes necessary for it to match up to the official ROM image. The synced version (7800rom.asm) produces an identical binary from my own assembler. Anyone who has a better scan and can read some of the missing comments is encouraged to speak up so we can get those added.

 

There were three differences between the scanned version and the official version: 1) an extra "bad cart" test was added where $FFF8 in the cartridge had to be $F0 or greater, 2) changes to the 2600 cart transfer code, and 3) the checksum at $FFF8 was changed.

 

As for the "LF112", that was a screwup in the disassembly, because that wasn't supposed to be a label. In fact, I don't even know why that address was chosen in the first place. It seems to be just for a delay, but maybe during development they had some external hardware that looked for the $F112 access to trigger a breakpoint or start a signal analyzer.

7800rom.asm.zip

7800source.asm.zip

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...