Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!van-bc!rsoft!mindlink!a344 From: Tom_Klok@mindlink.UUCP (Tom Klok) Newsgroups: comp.sys.atari.8bit Subject: Re: 16K carts (used to be Re: MULE for Atari800) Message-ID: <4688@mindlink.UUCP> Date: 4 Feb 91 21:53:36 GMT Organization: MIND LINK! - British Columbia, Canada Lines: 38 > umhild11@ccu.umanitoba.ca writes: > > This isn't really true. Many years back OSS (does ANYONE remember these guys > besides me?) put out several language carts and such that were 20 or 24k > even. Best of all, none of those carts took up more than 8k of address space. > > Lately, developers have taken this even farther. SpartaDOS X is a 64k cart > that also consumes 8k at most (when it uses anything at all). Even Atari > finally acknowledged that this could be done and produced several games > cartridges. The largest one I ever heard of was Flight Simulator II, which > was put on a 128k cartridge. Supposedly the maximum is 256k. Maybe I don't > know all the restrictions, but it seems to me that they should be able to > make a 1M cart. > Of course, what do you do with a Meg on this machine? Use it as a ROMdisk, of course. :) Like Sparta X's CAR: device, for example. Files that rarely change, like executables, would be quite happy (and fast) loading from ROM. A cardridge can't span more than 16K of address space, but by using bank selection the size is unlimited. The only practical limit is the ROM technology and how many chips you can cram into a cardridge case. Executing from bank selected memory can involve a few little tricks. Switching banks while running in a bank can cause very interesting results. Either some sort of ladder-like flipper is coded in the cardridge, or (better) a bank flip dispatcher is copied down into RAM. Flipping usually involves writing to a memory location. It's clean to decode the cart's own address space for this, or some use the (I believe) $D5xx select line. Say, for argument, you've got an 8-bit latch on the cardridge. Writing to $A000 (the bottom of the 8k cart) writes into the latch. The cardridge sits in an 8k address space, so it must use A0-A12. The latch supplies A21-A13, which gives us an easy 2MB of space. Make that a 16-bit latch, and the limit suddenly becomes 512MB. You want a BIG cardridge? :) Tom Klok a344@mindlink.UUCP