Jump to content
IGNORED

Atari 7800 Bankswitching Schemes


wavemotion

Recommended Posts

5 hours ago, llabnip said:

I decided to cap the size of games to 1024K of ROM, 16K of extra RAM (@4000) - which should be reasonable "future proofing".  I couldn't find any 52K games to try... but I assume most people would avoid having ROM down that far as it would conflict with the HighScore Cart (which I support - one of my favorite add-ons!).

The 52k thing is an off-shoot of the new banksets mappers. There isn't presently any 52k flat rom that I'm aware of, but there is a 2x52k bankset rom in the banksets test suite. (though there's no reason to try and emulate it at this time)

  • Like 2
Link to comment
Share on other sites

Back again... Last night I added support for banking RAM (A78 cart header: bit 5 = banked ram) which from earlier this thread means 32K of ram with the RAM chunk selected as bit as bit 5 of the banking write:

 

--yx xxxx

 

Where x xxxx is the ROM bank and y is the RAM bank.

 

A few questions:

  • I was researching the comment about a recent Dragonfly addition to switch the bank based on a write to 0xFFFF (0/1 to switch banks). Any reason this was done vs the banking RAM described above? The only reason I can see is that it would allow the full DF 1024K ROM with 32K of RAM configuration.
  • I also spent the evening looking at other RAM expanders - most notably the XM ram (using XCTRL at 0x470) which provides 128K of RAM. With at least 3 different ways of handling extra RAM, it's no wonder we haven't seen much widespread adoption (well... and maybe nobody really needs that much RAM). So my question is: what scheme is the 7800basic "128KBANKRAM", "256KBANKRAM", and "512KBANKRAM" using? I'm assuming it's using the 'banked ram' scheme of bit 5 in the bank write.  My (mostly uneducated) guess is that if we do see a more widespread adoption of utilizing extra RAM it would likely come from what's built into 7800basic.
  • Are there any test ROMs that I can check my new RAM banking algorithm?

Again - many thanks in advance!

Link to comment
Share on other sites

1 hour ago, Muddyfunster said:

Seriously, great job with the latest update. 4.1 is running nicely!

Great pic!  As you might know, I finally got DPC+ running in StellaDS and Dare Devil (I have an early RC you once made available) is finally running smooth as butter on the DS.  You guys pushing the boundaries make life interesting for emulator developers :)

Link to comment
Share on other sites

5 minutes ago, llabnip said:

Great pic!  As you might know, I finally got DPC+ running in StellaDS and Dare Devil (I have an early RC you once made available) is finally running smooth as butter on the DS.  You guys pushing the boundaries make life interesting for emulator developers :)

I didn't know StellaDS was working with DPC+! I think I have an older version installed. If you want a more recent build of Dare Devil or Tyre Trax for testing, let me know, happy to help.

  • Like 1
Link to comment
Share on other sites

5 minutes ago, Ecernosoft said:

Nice job !!!

 

Also, just a question….

why is POKEY allowed at so many locations?

like,450 is good, but 440, 800, 4000????

It's because of address decoding. POKEY at $0450 with only sixteen addresses requires more complex address decoding and therefore more complex and costly hardware. If you allow mirrors then you simplify the hardware and lower the cost of the cartridge boards needed to produce the games. $4000 requires no hardware at all to interface to a POKEY - you just connect two address lines to two pins on the chip.

 

$0800 is particularly nice because it only requires two or three more address lines in addition to the ones already utilized by the hardware. By contrast, a strict $0450 requires something like 10 more.

  • Like 3
Link to comment
Share on other sites

7 minutes ago, batari said:

It's because of address decoding. POKEY at $0450 with only sixteen addresses requires more complex address decoding and therefore more complex and costly hardware. If you allow mirrors then you simplify the hardware and lower the cost of the cartridge boards needed to produce the games. $4000 requires no hardware at all to interface to a POKEY - you just connect two address lines to two pins on the chip.

 

$0800 is particularly nice because it only requires two or three more address lines in addition to the ones already utilized by the hardware. By contrast, a strict $0450 requires something like 10 more.

So then why do we use @450?

Link to comment
Share on other sites

12 minutes ago, Ecernosoft said:

So then why do we use @450?

Only because it became a defacto standard. The standard was set in place by the Xboard which was an internal board that fit in the Maria socket and offered extra RAM and a POKEY, if I recall correctly. Then the XM used the same scheme, and adoption of $0450 came ahead of the hardware that would actually support it. It was never really intended to be used as a standalone cartridge board, and cartridge board hardware had to be created to support it.

 

$0800 isn't without compromises though, as hardware should lock out POKEY until boot, but this can be accomplished by booting in the last bank (which is otherwise not useful) and locking out the POKEY while hardware is in this bank.

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...
On 11/6/2022 at 11:40 AM, batari said:

Only because it became a defacto standard. The standard was set in place by the Xboard which was an internal board that fit in the Maria socket and offered extra RAM and a POKEY, if I recall correctly. Then the XM used the same scheme, and adoption of $0450 came ahead of the hardware that would actually support it. It was never really intended to be used as a standalone cartridge board, and cartridge board hardware had to be created to support it.

 

$0800 isn't without compromises though, as hardware should lock out POKEY until boot, but this can be accomplished by booting in the last bank (which is otherwise not useful) and locking out the POKEY while hardware is in this bank.

Good to know. 

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...