ivop Posted January 29, 2010 Share Posted January 29, 2010 (edited) Hi,I thought it would be nice to compile a list of all known hardware modifications/expansions and which addresses they use. This is especially useful for future hardware designers in order to avoid conflicts as much as possible.(This post has been updated; see last edit date below) $D000 - $D01F CTIA/GTIA (stock hardware) $D020 - $D03F reserved for second GTIA $D040 - $D05F reserved for third GTIA $D080 - $D0FF VBXE soft reset area $D100 - $D1FF PBI $D100 - $D107 MyIDE Internal $D100 - $D1BE U1MB RAM $D1BF U1MB PBI Bankswitching $D100, $D104, 1400XL/1450XLD Modem, Voice and Disk interface $D108, $D110 " $D114 " $D170 - $D171 BlackBox $D17C, $D1BC " $D1BE, $D1C0 " $D1C0 - $D1C1 SmartIDE LCD $D1E0 - $D1E3 MIO $D1FF PBI Device Enable / IRQ Mask $D200 - $D20F POKEY (stock hardware) $D210 - $D21F Second POKEY (GUMBY) $D280 - $D283 Covox, new location $D300 - $D303 PIA 6520 (stock hardware) $D310 - $D313 second PIA 6520 $D320 - $D323 VIA 6522 $D380 - $D381 U1MB configuration registers $D383 - $D384 U1MB status registers $D3E2 U1MB SDX Real Time Clock (SPI interface) $D400 - $D40F ANTIC (stock hardware) ($D406 and $D408 are unused) $D410 - $D41F reserved for second ANTIC $D500 4-bit Audio Samplers (e.g. ADC0804 based samplers) $D500 - $D507 MyIDE External $D5B8 - $D5BF R-Time 8 $D5E0 SDX Bankswitching $D5E0 - $D5E1 U1MB SDX Bankswitching, Enable/Disable $D600 - $D7FF PBI $D600 - $D7FF 1400XL/1450XLD RAM $D600 - $D603 Covox $D600 - $D6FF MIO RAM $D600 - $D6FF BlackBox RAM $D640 - $D65F VBXE D6-Install $D740 - $D75F VBXE D7-Install Notes: * Pages $D0, $D2, $D3 and $D4 are completely zeroed at warm- and coldstart, except for $D301. * Free ranges should be kept mirrors of the stock chips as much as possible. * Games that rely on specific mirror locations: - Bounty Bob Strikes Back ($D47B) last edit: added more U1MB registers, especially PBI bank switching, which is missing from the U1MB manual. Edited June 22, 2017 by ivop 7 2 Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/ Share on other sites More sharing options...
Rybags Posted January 29, 2010 Share Posted January 29, 2010 There's alternatives for Covox... I think one goes at $D280 (ref SimpleStereo by candle/Electron) Page $D5 is generally untouched with internal expansions - it's CARTCTL for Left Cartridge, so generally used for bank-select or other purposes in cartridges. Page $D6 is CARTCTL for Right Cartridge, but has generally been used for other things given that no stock machine other than the 800 uses it. VBXE uses $D640-$D65F in a default install. A D7 install will use $D740-$D75F. VBXE also uses a write to any address $D080-$D0FF as a means to do a soft reset. Page $D3: AFAIK there are no expansions in widespread use that use addresses in that page. CIAs and second PIAs have been proposed, my guess would be that people might have tried extra PIA(s) Second Antic/GTIA - this has been done on a couple of occasions, really only a novelty value thing. But, a triple-GTIA setup fed from a single Antic is a "valid" expansion idea, as it would allow RGB output and expand the palette to 512/4096 colours. Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-1929724 Share on other sites More sharing options...
+warerat Posted January 29, 2010 Share Posted January 29, 2010 Page $D6 is CARTCTL for Right Cartridge, but has generally been used for other things given that no stock machine other than the 800 uses it. Page $D5 is the same for the left and right cartridges on the 800. Page $D5 and $D6 are also accessible in the last memory slot (slot 3). 1 Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-1929775 Share on other sites More sharing options...
Rybags Posted January 29, 2010 Share Posted January 29, 2010 Didn't realise that... especially $D5XX being on right cart. According to these schematics, D5 and D6 are also available to the OS board. Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-1929776 Share on other sites More sharing options...
candle Posted January 29, 2010 Share Posted January 29, 2010 There's alternatives for Covox... I think one goes at $D280 (ref SimpleStereo by candle/Electron) Thanks Gary I'll be laughting my head off whole next week Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-1929789 Share on other sites More sharing options...
Rybags Posted January 29, 2010 Share Posted January 29, 2010 http://spiflash.org/block/9.html What's to laugh at... I thought that was how you did it? Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-1929804 Share on other sites More sharing options...
candle Posted January 29, 2010 Share Posted January 29, 2010 yes, me, but not electron Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-1929862 Share on other sites More sharing options...
phaeron Posted January 30, 2010 Share Posted January 30, 2010 There are also specific mirror ranges that should be avoided for maximum compatibility. For instance, some versions of Bounty Bob Strikes Back will not boot if the mirror of VCOUNT at $D47B is replaced. 1 Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-1930345 Share on other sites More sharing options...
Rybags Posted January 30, 2010 Share Posted January 30, 2010 And there's also the consideration that the entire pages D0, D2, D3 and D4 are zeroed at cold/warmstart by the OS. Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-1930353 Share on other sites More sharing options...
ivop Posted January 30, 2010 Author Share Posted January 30, 2010 And there's also the consideration that the entire pages D0, D2, D3 and D4 are zeroed at cold/warmstart by the OS. Thanks for your replies! I have requested to be able to edit the first post and will update it shortly. Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-1930416 Share on other sites More sharing options...
atariksi Posted January 30, 2010 Share Posted January 30, 2010 And there's also the consideration that the entire pages D0, D2, D3 and D4 are zeroed at cold/warmstart by the OS. $D4X6 and $D4X8 are free as well; at least they won't affect anything on ANTIC. Perhaps, it was meant originally for having 16-bit PMBASE pointers and 16-bit CHBASE pointers like 16-bit DL pointers. That may have helped move sprites on Y-axes (all at the same time or one big multicolored sprite). Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-1930751 Share on other sites More sharing options...
ivop Posted February 1, 2010 Author Share Posted February 1, 2010 I have updated the list in the first post. There are also specific mirror ranges that should be avoided for maximum compatibility. For instance, some versions of Bounty Bob Strikes Back will not boot if the mirror of VCOUNT at $D47B is replaced. Do you know of any other such programs? Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-1931961 Share on other sites More sharing options...
flashjazzcat Posted March 29, 2011 Share Posted March 29, 2011 BUMP! It would be most useful if this topic was updated with the new hardware coming out at the moment. I've found it to be an invaluable resource. 2 Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-2246196 Share on other sites More sharing options...
ivop Posted February 16, 2012 Author Share Posted February 16, 2012 We need to add Slight Sid, SIDE, IDE plus 2.0, any more? And what's the exact mapping of those devices? Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-2467579 Share on other sites More sharing options...
Rybags Posted February 16, 2012 Share Posted February 16, 2012 (edited) Anything on cartridge will almost always be $D5xx. There's so many that it'd be a big job to map them all. SIDE, at least 2 types of OSS banked carts, various Atari banked carts, other banked carts, R-Time8, SpartaDos cart etc etc. The only other possible mapping of HW Regs on carts is within the $8000-$BFFF area. But this is not normally done as it's more complex than $D5xx mapping. Although I believe Atarimax Flashcarts use some addresses in the $A000-$BFFF range when performing writes to the flash memory. IDE +2, I believe uses a combination of $D5xx (for Dos on "virtual cart"), $D1xx (PBI protocols, IDE registers) and also has RAM/ROM which can switch in place of the FP ($D800-$DFFF). PBI devices - something attached to the PBI can take precedence over any address except the default I/O registers. But normally will just use D1, sometimes other areas in the D5-D7 space. Mapping 256 bytes of RAM to one page is possible (MIO). The XL/XE architecture also specifies that PBI compliant devices should map their ROM driver to override the Floating Point Package $D800-$DFFF. Such a device can also supply it's own RAM, in theory it could share that area or even override part of normal system RAM on demand. Ultimate 1 Meg. This has onboard SDX, RTC, and various config registers. http://spiflash.org/block/20.html Edited February 16, 2012 by Rybags 1 Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-2467581 Share on other sites More sharing options...
Faicuai Posted July 8, 2021 Share Posted July 8, 2021 Let's give this one a massive necro-bump... because it's worth it! It seems we are missing bank-switching registers of several multi-cart models, FPGA-control registers of Ultimate/SD cart, RAM/ROM areas of legacy 800 expansions like Bit3, Austin Franklin, AXLON, Mosaic, and modern ones like Incognito, SysCheck II registers, TurboFreezer, etc. Top-post should have permanent edit permission, to keep it updated. A VERY valuable post, especially as a quick-reference guide for compatibility, etc. 2 Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-4859492 Share on other sites More sharing options...
+selgus Posted July 8, 2021 Share Posted July 8, 2021 I use a 74LS139 and the CI (CasInhibit) line on my ATARI 67XEPortable to enable $D6xx and D7xx to expose the RAM at those addresses, to the system. This is the RAM my BIOS uses to avoid using normal system RAM for functionality. Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-4859556 Share on other sites More sharing options...
ivop Posted July 9, 2021 Author Share Posted July 9, 2021 19 hours ago, Faicuai said: Let's give this one a massive necro-bump... because it's worth it! It seems we are missing bank-switching registers of several multi-cart models, FPGA-control registers of Ultimate/SD cart, RAM/ROM areas of legacy 800 expansions like Bit3, Austin Franklin, AXLON, Mosaic, and modern ones like Incognito, SysCheck II registers, TurboFreezer, etc. Top-post should have permanent edit permission, to keep it updated. A VERY valuable post, especially as a quick-reference guide for compatibility, etc. I have edit permission on the first post. Just post the relevant register(s) in this thread, and I'll add them to the list. Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-4860044 Share on other sites More sharing options...
Faicuai Posted July 9, 2021 Share Posted July 9, 2021 1 hour ago, ivop said: I have edit permission on the first post. Just post the relevant register(s) in this thread, and I'll add them to the list. THANKS! Will do, as soon as I gather the data I have on my end... Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-4860121 Share on other sites More sharing options...
VinsCool Posted July 9, 2021 Share Posted July 9, 2021 I personally have looked at this page countless times (and always kept a tab open on it) for reference... This has helped me a lot, maybe worth adding in the OP https://www.atariarchives.org/mapping/memorymap.php Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-4860258 Share on other sites More sharing options...
ivop Posted July 9, 2021 Author Share Posted July 9, 2021 1 hour ago, VinsCool said: I personally have looked at this page countless times (and always kept a tab open on it) for reference... This has helped me a lot, maybe worth adding in the OP https://www.atariarchives.org/mapping/memorymap.php That's Mapping The Atari. It's about all sorts of memory locations, depening on the OS and BASIC, too. This thread is about hardware registers ($D000-$D7FF). Stock hardware, and common expansions that live in the same area. But a lot of devices are missing. Faicuai is going to fill in the gaps 1 Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-4860317 Share on other sites More sharing options...
VinsCool Posted July 9, 2021 Share Posted July 9, 2021 9 minutes ago, ivop said: That's Mapping The Atari. It's about all sorts of memory locations, depening on the OS and BASIC, too. This thread is about hardware registers ($D000-$D7FF). Stock hardware, and common expansions that live in the same area. But a lot of devices are missing. Faicuai is going to fill in the gaps Ah I see! I just thought it was a good addition, but now I see it was specific. Quote Link to comment https://forums.atariage.com/topic/157241-list-of-hardware-registers/#findComment-4860321 Share on other sites More sharing options...
Recommended Posts
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.