Dropcheck Posted August 17, 2010 Share Posted August 17, 2010 I'm thinking about doing an internal 4in1 version of the OSS carts ala intSDX. Don't ask me why. I like doing strange things. It keeps me 'flexible'. Anyway when a cartridge is inserted the internal basic chip is disabled right? So would it be safe to say that any internal version would need to use the basic chip socket connection for all but the specific cartridge slot connects, so as to allow the same behavior? Am I making sense? Quote Link to comment Share on other sites More sharing options...
Rybags Posted August 18, 2010 Share Posted August 18, 2010 Carts disable Basic via one of the lines on the board (S4, IIRC). Most carts have that line hardwired but OSS carts allow it to be switched on/offf as part of the overall banking scheme. You don't necessarily need to "simulate" a cartridge if you install a multi 8K ROM as you propose. So long as the flags and vectors are present at $BFFA-$BFFF and it's not RAM, then it'll work. Of course the OSS ROMs have the scheme where the top 4K is either RAM or a fixed ROM bank and the lower 4K can be RAM or one of 3 ROM banks - so that's way different to Basic for starters. The other problem is that there's 2 or 3 banking schemes used by the different OSS carts. I'm sure others have put multi-ROMs in place of Basic with OSS stuff in there. Not sure though if they hacked the ROMs to all use the same banking scheme, or if they cater for them all in hardware. You'd probably want a hard switch anyway to select among Basic and the other stuff you have on ROM, so in theory the switch itself could also be used to choose the banking scheme that gets used. Quote Link to comment Share on other sites More sharing options...
sup8pdct Posted August 18, 2010 Share Posted August 18, 2010 It is possiable but as stated, they all have 16K of rom banked into 8k of space. As far as I know, there are 2 different versions of the oss carts and each is different with support chips and banking addresses. The first version (orange cart or label) has 2 8k roms. 2nd version has a single 16K rom (yellow label). Each has different support chips to handle the bank selection and these need to be included. What I have done is to get the 4 yellow cart versions (Basic XL, XE,action and Mac65), burn them to a single 64K rom and modded one OSS cart to have all 4 in a single cart. Is easier then wireing one into the consol. james Quote Link to comment Share on other sites More sharing options...
Dropcheck Posted August 18, 2010 Author Share Posted August 18, 2010 Carts disable Basic via one of the lines on the board (S4, IIRC). Most carts have that line hardwired but OSS carts allow it to be switched on/offf as part of the overall banking scheme. You don't necessarily need to "simulate" a cartridge if you install a multi 8K ROM as you propose. So long as the flags and vectors are present at $BFFA-$BFFF and it's not RAM, then it'll work. This is what I've come up with. It's crude I know. I traced the board runs from a black OSS blank cartridge. This particular version seemed to use the S5 line on the cartridge slot. I'm assuming that this board would sit in the BASIC ROM socket and tie into cartridge specific connects. You suggest that I wouldn't need to 'simulate' a cartridge. Can you elaborate? Quote Link to comment Share on other sites More sharing options...
Rybags Posted August 18, 2010 Share Posted August 18, 2010 S5 sounds right... S4 is for $8000-9FFF. When I said "simulate", I was referring to overriding the S4 and/or S5 lines. In theory, you could probably use a switch that routes the Chip Select for the Basic ROM socket between normal basic and your "cartridge". If you were taking the S5 route, then you'd likely need to grab the CS signals from those that go to the cartridge slot. Without looking at schematics, I'm guessing that all this stuff is "active low", and I think that the "BASIC CS" switch would probably be a simpler build. Quote Link to comment Share on other sites More sharing options...
Dropcheck Posted August 18, 2010 Author Share Posted August 18, 2010 S5 sounds right... S4 is for $8000-9FFF. When I said "simulate", I was referring to overriding the S4 and/or S5 lines. In theory, you could probably use a switch that routes the Chip Select for the Basic ROM socket between normal basic and your "cartridge". If you were taking the S5 route, then you'd likely need to grab the CS signals from those that go to the cartridge slot. Without looking at schematics, I'm guessing that all this stuff is "active low", and I think that the "BASIC CS" switch would probably be a simpler build. Okay, I agree a switch on the Basic ROM CS input would be simplist. Now what part is required for the OSS bank switching and what is necessary for cartridge implentation? If I am reading the schematic right then both IC1 and IC2 are required for the bank switching and IC3 is concerned with cartridge activation. Right? Quote Link to comment Share on other sites More sharing options...
Rybags Posted August 18, 2010 Share Posted August 18, 2010 Parts - no idea. I've not done such a mod and don't have any OSS carts. The Atari800Win+ has descriptions of the OSS banking schemes - you could work out what kind of logic design you need from those descriptions. Quote Link to comment Share on other sites More sharing options...
a8isa1 Posted August 18, 2010 Share Posted August 18, 2010 (edited) RD4 and RD5 are inputs to the MMU (or Freddie). They are the cart bank enable lines. Pull RD4 high to enable cart bank $8000-$9FFF. Pull RD5 high for $A000-$BFFF. Pull either lines low and then the respective cart bank is disabled and underlying RAM is re-enabled. /S4 and /S5 are outputs of the MMU and can be thought of as chip select lines for ROMs at $8000-$9FFF and $A000-$BFFF, respectively. /S4 and /S5 can also be treated as address lines, A12 and A13, though the signals are inverted. Enabling and disabling of internal BASIC is handled automatically by the MMU. Pull RD5 high and internal BASIC will go inactive. (Note: Even if RD5 is low Port B, bit-1 must be 0 for BASIC to be enabled). It is worth taking note of the special cartridge design of Monkey Wrench II XL. Under normal function this is cart asserts only RD4 thus enabling cart bank $8000-9FFF. Monkey Wrench II XL works in conjunction with internal BASIC, which of course resides at $A000-BFFF. @Dropcheck Metalguy66 used to sell internal OSS cart kits. I think it was for dual images not quads. I'm sure he could explain how to build it far better than I can. Alternatively, you could pretty much resurrect Dan Vernon's OSS supercart hack and simply transplant into an A8. You can find a description at http://www.retrobits.net/. As for the information at the beginning of this long winded reply, I learned it from trial and error rather than from having any real understanding of how A8s function. I started out trying to build Bob Wolley's first SmartOS. Somehow I got sidetracked, being fascinated by the thought of being able to replace internal BASIC with any 8K ROM image desired. I ended up and playing with several Static RAM cartridge (with battery backup) and RAM projects, BASIC replacement, 3 internal carts, 2 external carts, 64K upgrade for 600XL (very ugly), and Hias'/Bernd's SRAM upgrade (a straight build, no tinkering on my part). I even experimented with rerouting -OS, /S4, /S5, RD4, and RD5 signals. Putting the OS out on cartridge was probably my weirdest experiment. I suppose a flexible multi-cart was my ultimate goal but it became a bit daunting. (If you could see how badly I solder you'd understand why). I pretty much stopped with a cart that has sixteen, standard 16K images. 8K images work with a little fiddling. (Only half the images work at the moment as the cart needs yet another repair). - Steve Sheppard Edited August 18, 2010 by a8isa1 Quote Link to comment Share on other sites More sharing options...
Divya16 Posted August 18, 2010 Share Posted August 18, 2010 RD4 and RD5 are inputs to the MMU (or Freddie). They are the cart bank enable lines. Pull RD4 high to enable cart bank $8000-$9FFF. Pull RD5 high for $A000-$BFFF. Pull either lines low and then the respective cart bank is disabled and underlying RAM is re-enabled. /S4 and /S5 are outputs of the MMU and can be thought of as chip select lines for ROMs at $8000-$9FFF and $A000-$BFFF, respectively. /S4 and /S5 can also be treated as address lines, A12 and A13, though the signals are inverted. Enabling and disabling of internal BASIC is handled automatically by the MMU. Pull RD5 high and internal BASIC will go inactive. (Note: Even if RD5 is low Port B, bit-1 must be 0 for BASIC to be enabled). It is worth taking note of the special cartridge design of Monkey Wrench II XL. Under normal function this is cart asserts only RD4 thus enabling cart bank $8000-9FFF. Monkey Wrench II XL works in conjunction with internal BASIC, which of course resides at $A000-BFFF. @Dropcheck Metalguy66 used to sell internal OSS cart kits. I think it was for dual images not quads. I'm sure he could explain how to build it far better than I can. Alternatively, you could pretty much resurrect Dan Vernon's OSS supercart hack and simply transplant into an A8. You can find a description at http://www.retrobits.net/. As for the information at the beginning of this long winded reply, I learned it from trial and error rather than from having any real understanding of how A8s function. I started out trying to build Bob Wolley's first SmartOS. Somehow I got sidetracked, being fascinated by the thought of being able to replace internal BASIC with any 8K ROM image desired. I ended up and playing with several Static RAM cartridge (with battery backup) and RAM projects, BASIC replacement, 3 internal carts, 2 external carts, 64K upgrade for 600XL (very ugly), and Hias'/Bernd's SRAM upgrade (a straight build, no tinkering on my part). I even experimented with rerouting -OS, /S4, /S5, RD4, and RD5 signals. Putting the OS out on cartridge was probably my weirdest experiment. I suppose a flexible multi-cart was my ultimate goal but it became a bit daunting. (If you could see how badly I solder you'd understand why). I pretty much stopped with a cart that has sixteen, standard 16K images. 8K images work with a little fiddling. (Only half the images work at the moment as the cart needs yet another repair). - Steve Sheppard Does putting a switch on RD5 allow me to load something to RAM and then pull RD5 high and make OS think a cartridge is present there without destroying the RAM contents? Quote Link to comment Share on other sites More sharing options...
a8isa1 Posted August 18, 2010 Share Posted August 18, 2010 (edited) RD4 and RD5 are inputs to the MMU (or Freddie). They are the cart bank enable lines. Pull RD4 high to enable cart bank $8000-$9FFF. Pull RD5 high for $A000-$BFFF. Pull either lines low and then the respective cart bank is disabled and underlying RAM is re-enabled. /S4 and /S5 are outputs of the MMU and can be thought of as chip select lines for ROMs at $8000-$9FFF and $A000-$BFFF, respectively. /S4 and /S5 can also be treated as address lines, A12 and A13, though the signals are inverted. Enabling and disabling of internal BASIC is handled automatically by the MMU. Pull RD5 high and internal BASIC will go inactive. (Note: Even if RD5 is low Port B, bit-1 must be 0 for BASIC to be enabled). It is worth taking note of the special cartridge design of Monkey Wrench II XL. Under normal function this is cart asserts only RD4 thus enabling cart bank $8000-9FFF. Monkey Wrench II XL works in conjunction with internal BASIC, which of course resides at $A000-BFFF. @Dropcheck Metalguy66 used to sell internal OSS cart kits. I think it was for dual images not quads. I'm sure he could explain how to build it far better than I can. Alternatively, you could pretty much resurrect Dan Vernon's OSS supercart hack and simply transplant into an A8. You can find a description at http://www.retrobits.net/. As for the information at the beginning of this long winded reply, I learned it from trial and error rather than from having any real understanding of how A8s function. I started out trying to build Bob Wolley's first SmartOS. Somehow I got sidetracked, being fascinated by the thought of being able to replace internal BASIC with any 8K ROM image desired. I ended up and playing with several Static RAM cartridge (with battery backup) and RAM projects, BASIC replacement, 3 internal carts, 2 external carts, 64K upgrade for 600XL (very ugly), and Hias'/Bernd's SRAM upgrade (a straight build, no tinkering on my part). I even experimented with rerouting -OS, /S4, /S5, RD4, and RD5 signals. Putting the OS out on cartridge was probably my weirdest experiment. I suppose a flexible multi-cart was my ultimate goal but it became a bit daunting. (If you could see how badly I solder you'd understand why). I pretty much stopped with a cart that has sixteen, standard 16K images. 8K images work with a little fiddling. (Only half the images work at the moment as the cart needs yet another repair). - Steve Sheppard Does putting a switch on RD5 allow me to load something to RAM and then pull RD5 high and make OS think a cartridge is present there without destroying the RAM contents? Regarding protecting RAM, what you described is what I believe the Pill cart does (well for RD4 and RD5). However, I honestly don't know if it's that simple. (I don't own a Pill cart). Not sure if protected RAM would be seen or no RAM would be seen in the $A000-$BFFF bank just by switching RD5 and doing nothing else. I suspect the latter. My SRAM cart can sort of mimic a Pill cart in that I can load 16K of RAM with data and then write protect that RAM. However, my cart actually has it's own RAM. - Steve Sheppard Edited August 18, 2010 by a8isa1 Quote Link to comment Share on other sites More sharing options...
Dropcheck Posted August 18, 2010 Author Share Posted August 18, 2010 RD4 and RD5 are inputs to the MMU (or Freddie). They are the cart bank enable lines. Pull RD4 high to enable cart bank $8000-$9FFF. Pull RD5 high for $A000-$BFFF. Pull either lines low and then the respective cart bank is disabled and underlying RAM is re-enabled. /S4 and /S5 are outputs of the MMU and can be thought of as chip select lines for ROMs at $8000-$9FFF and $A000-$BFFF, respectively. /S4 and /S5 can also be treated as address lines, A12 and A13, though the signals are inverted. Enabling and disabling of internal BASIC is handled automatically by the MMU. Pull RD5 high and internal BASIC will go inactive. (Note: Even if RD5 is low Port B, bit-1 must be 0 for BASIC to be enabled). It is worth taking note of the special cartridge design of Monkey Wrench II XL. Under normal function this is cart asserts only RD4 thus enabling cart bank $8000-9FFF. Monkey Wrench II XL works in conjunction with internal BASIC, which of course resides at $A000-BFFF. Now it's starting to make more sense to me. @Dropcheck Metalguy66 used to sell internal OSS cart kits. I think it was for dual images not quads. I'm sure he could explain how to build it far better than I can. Alternatively, you could pretty much resurrect Dan Vernon's OSS supercart hack and simply transplant into an A8. You can find a description at http://www.retrobits.net/. I started this little mental exercise after successfully implimenting Vernon's hack. Twisted my fingers into a knot trying to get the resistors soldered in that confined space. It gave me cause to see if I could simply integrate the hack into a new cartridge board design using Eagle. Wasn't hard. It's designed, but untested as a real pcb at this time. After that I went looking for more of a challenge to see if I could integrate it into an internal board. Which brings us here. I'll pm Metalguy66, unless he wants to join the conversation here.... As for the information at the beginning of this long winded reply, I learned it from trial and error rather than from having any real understanding of how A8s function. I started out trying to build Bob Wolley's first SmartOS. Somehow I got sidetracked, being fascinated by the thought of being able to replace internal BASIC with any 8K ROM image desired. I ended up and playing with several Static RAM cartridge (with battery backup) and RAM projects, BASIC replacement, 3 internal carts, 2 external carts, 64K upgrade for 600XL (very ugly), and Hias'/Bernd's SRAM upgrade (a straight build, no tinkering on my part). I even experimented with rerouting -OS, /S4, /S5, RD4, and RD5 signals. Putting the OS out on cartridge was probably my weirdest experiment. I suppose a flexible multi-cart was my ultimate goal but it became a bit daunting. (If you could see how badly I solder you'd understand why). I pretty much stopped with a cart that has sixteen, standard 16K images. 8K images work with a little fiddling. (Only half the images work at the moment as the cart needs yet another repair). - Steve Sheppard The strange contortions we put our poor A8s through. Gosh, it's fun! Quote Link to comment Share on other sites More sharing options...
Rybags Posted August 18, 2010 Share Posted August 18, 2010 I'd think that no RAM would be seen by setting RD4/5 high. But how about feeding back an inverted Write signal? In theory that should allow RAM reads and disable writes. 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.