Mr Robot Posted June 5, 2020 Share Posted June 5, 2020 Because of upcoming changes to the atari800 emulator 5200 cart emulation I was looking at src/cartridge_info.c and noticed that type 5 is "32K DB cart" I scanned my collection and didn't find a single cart with that type, it's a really low numbered cart type so must have been added a long time ago. Does anyone have any info on what type of cart this was, why it was added to atari800 and if any images of it exist? Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted June 5, 2020 Share Posted June 5, 2020 (edited) 32k diagnostic boot cartridge maybe... of course it could always be some other as well... then again with the way people name things at will today... so let's get serious and silly... 32k dual boot, dual board, dual binary, dual b.s., double boot, double board, double binary, double b.s. in any event, nobody went through the trouble of coding and naming stuff that doesn't or never existed... so why would anyone be looking to remove it, sounds kind weird to consider doing so. Edited June 5, 2020 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
JayoK Posted June 5, 2020 Share Posted June 5, 2020 Oooh... let's speculate Dual-Bank? Doesn't Boot? Drop Ship 2 Quote Link to comment Share on other sites More sharing options...
Mr Robot Posted June 5, 2020 Author Share Posted June 5, 2020 I went back to the source code and tracked all the way back to v0.8.7 which is the earliest version of the source we have (~1995) and it uses a different way of loading carts back then but the usage doc says... -db Loads the following DB Super Cartridge (Private 32K Cartridge Format - not for general use) usage1 says... -db <filename> "db 16/32 superduper cart" so I'm a bit wiser, but not a lot. Quote Link to comment Share on other sites More sharing options...
Mr Robot Posted June 5, 2020 Author Share Posted June 5, 2020 I found mention of an Atari 8bit "Super Duper" here http://pokeysoft.no/games/atari/a8alpha.htm but the link to the file is a 404 The file is in Thunderdome, it's a sector editor by Bob McMillan and PD. It's also here (on side B) http://www.page6.org/pd_lib/special/pd_ds079.htm Doesn't appear to have anything to do with carts so it's just a duplicate name Quote Link to comment Share on other sites More sharing options...
+MrFish Posted June 5, 2020 Share Posted June 5, 2020 From the Atari800 ".CAR" file format description document: +---------------------------------------------------------------------------+ | Type 5: DB 32 KB cartridge | +---------------------------------------------------------------------------+ A 32 KB bank-switched cartridge. There are 4 banks. Bank 3 is mapped to $A000-$BFFF. Bank in $8000-$9FFF is selected by an access to $D500-$D5FF. Two lowest bits of address select bank 0, 1, 2 or 3. 2 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted June 6, 2020 Share Posted June 6, 2020 Bit of an oddity....I wonder who created this cart format... Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted June 6, 2020 Share Posted June 6, 2020 Sounds no different to: +---------------------------------------------------------------------------+ | Type 12: XEGS 32 KB cartridge | +---------------------------------------------------------------------------+ This bank-switched cartridge occupies 16 KB of address space between $8000 and $BFFF. The cartridge memory is divided into 4 banks, 8 KB each. Bank 3 (the last one) is always mapped to $A000-$BFFF. Two lowest bits of a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted June 6, 2020 Share Posted June 6, 2020 Even more odd then.. Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted June 6, 2020 Share Posted June 6, 2020 but one is for the 5200, the other for the 8 bit computer correct? Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted June 6, 2020 Share Posted June 6, 2020 (edited) True, but does the 5200 cartridge see the $D5xx range? Couldn't find anything conclusive, e.g. https://atariage.com/forums/topic/78692-5200-memory-map/ [Edit] a subtle difference between the two models, the XEGS is a write to the $D5xx range but the DB is 'access' which in reality would be a read as there is no read/write line on the 5200 cart bus. Edited June 6, 2020 by Wrathchild Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted June 6, 2020 Share Posted June 6, 2020 (edited) Even if that's the case, with additional components in a cart to decode the bank why not. to continue the silly name game- Decoded Bank 32k cartridge. It's just another case of stuff forgotten over the years... I wouldn't erase it... or it will be gone forever. It'll be remembered or rediscovered like so many other things. It may serve to jostle something loose in a returning mind. Edited June 6, 2020 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
Mr Robot Posted June 6, 2020 Author Share Posted June 6, 2020 3 hours ago, _The Doctor__ said: but one is for the 5200, the other for the 8 bit computer correct? Nope, both are A8 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted June 6, 2020 Share Posted June 6, 2020 (edited) since it's not a 5200 cartridge there is no problem, still get the feeling we've been down this path before. it's a different access method etc. someone will chime in Edited June 6, 2020 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
drac030 Posted June 6, 2020 Share Posted June 6, 2020 On 6/5/2020 at 8:12 PM, MrFish said: Two lowest bits of address select bank 0, 1, 2 or 3. 4 hours ago, Wrathchild said: Two lowest bits of a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF. This is different. Type 12 seems to select banks with the value written to any address on D5 ($00 to $d500 bank 0, $01 to $d500 bank 1 etc.), while type 5 seems to select banks with any value written to specific addresses ($d5x0 bank 0, $d5x1 bank 1 and so on). 3 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted June 6, 2020 Share Posted June 6, 2020 (edited) Yep some differences for sure... -Type 5: DB 32 KB cartridge-Dave A 32 KB bank-switched cartridge. There are 4 banks. Bank 3 is mapped to $A000-$BFFF. Bank in $8000-$9FFF is selected by an access to $D500-$D5FF. Two lowest bits of address select bank 0, 1, 2 or 3. - Type 12: XEGS 32 KB cartridge -Atari This bank-switched cartridge occupies 16 KB of address space between $8000 and $BFFF. The cartridge memory is divided into 4 banks, 8 KB each. Bank 3 (the last one) is always mapped to $A000-$BFFF. Two lowest bits of a byte written to $D500-$D5FF select the bank mapped to $8000-$9FFF. The initially selected bank is random, although it seems that 0 gets chosen the most often. Atari800 always selects bank 0 initially. Edited June 6, 2020 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
Mr Robot Posted June 6, 2020 Author Share Posted June 6, 2020 OK So "DB" Stands for "Dave Bennett" (Used to be bennett@halcyon.com). It looks like he added support for his own custom cart. He added the code to support OSS Supercarts to Atari800 in v0.1.4, while he was at it he added DB Supercarts. Here's the original supercart code. Do any of the oldies here know Dave? #include "atari.h" #include "cpu.h" #define FALSE 0 #define TRUE 1 extern UBYTE *cart_image; extern int cart_type; int SuperCart_PutByte (UWORD addr, UBYTE byte) { switch (cart_type) { case OSS_SUPERCART : switch (addr & 0xff0f) { case 0xd500 : if (cart_image) memcpy (memory+0xa000, cart_image, 0x1000); break; case 0xd504 : if (cart_image) memcpy (memory+0xa000, cart_image+0x1000, 0x1000); break; case 0xd503 : case 0xd507 : if (cart_image) memcpy (memory+0xa000, cart_image+0x2000, 0x1000); break; } break; case DB_SUPERCART : switch (addr & 0xff07) { case 0xd500 : if (cart_image) memcpy (memory+0x8000, cart_image, 0x2000); break; case 0xd501 : if (cart_image) memcpy (memory+0x8000, cart_image+0x2000, 0x2000); break; case 0xd506 : if (cart_image) memcpy (memory+0x8000, cart_image+0x4000, 0x2000); break; } break; default : break; } return FALSE; } 1 Quote Link to comment Share on other sites More sharing options...
ascrnet Posted July 11, 2023 Share Posted July 11, 2023 On 6/6/2020 at 3:57 PM, Mr Robot said: OK So "DB" Stands for "Dave Bennett" (Used to be bennett@halcyon.com). It looks like he added support for his own custom cart. He added the code to support OSS Supercarts to Atari800 in v0.1.4, while he was at it he added DB Supercarts. Here's the original supercart code. were you finally able to get an example of that .car ? 😅 Quote Link to comment 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.