samishal Posted September 12, 2012 Share Posted September 12, 2012 Hello!!! It's been a long time since I lurked about on here and for that I apologize! I was wondering, what is the largest size in KiloBytes that the TI-99/4A could address on a cartridge? Was thinking about doing some cool programming using the TI-99/4A C compiler. Samishal Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 12, 2012 Share Posted September 12, 2012 The largest size the TI can directly address on a cartridge is 8k. There are lots of simple bank switching schemes though. IIRC Jon Guidry's currently released PCB can do up to 128k (is that right?) using a 74LS379, switching the full 8k at a time. Quote Link to comment Share on other sites More sharing options...
samishal Posted September 12, 2012 Author Share Posted September 12, 2012 Sweet!!! Thanks Tursi Quote Link to comment Share on other sites More sharing options...
+acadiel Posted September 12, 2012 Share Posted September 12, 2012 Yes, as designed, up to 128K, but with a couple more wires. 64K stock. The new one will support 512K bank switched ROM plus the emulated GROM (not sure what capacity, but Tursi can elaborate). The new version uses a 74LS378 (6 lines) for bank switching ROM. Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 16, 2012 Share Posted September 16, 2012 (edited) I should clarify a little bit. We're talking about CPU memory. The cartridge port can also access GROM, up to 48k per bank, and up to 256 banks. Technically a cartridge could support up to 12MB of GROM. You would need additional hardware to decode the extra banks, of course (the 48k does not need additional hardware). This is using the banking scheme TI devised in the console. You could patch your own banking on top of that in the same way as the CPU memory is banked. I won't elaborate on the AVR GROM solution till I get off my butt and finish it (for which Jon is welcome to keep prodding me ). Edited September 16, 2012 by Tursi Quote Link to comment Share on other sites More sharing options...
Gazoo Posted September 17, 2012 Share Posted September 17, 2012 I should clarify a little bit. We're talking about CPU memory. The cartridge port can also access GROM, up to 48k per bank, and up to 256 banks. Technically a cartridge could support up to 12MB of GROM. You would need additional hardware to decode the extra banks, of course (the 48k does not need additional hardware). This is using the banking scheme TI devised in the console. You could patch your own banking on top of that in the same way as the CPU memory is banked. I won't elaborate on the AVR GROM solution till I get off my butt and finish it (for which Jon is welcome to keep prodding me ). Just one minor correction, GROM can have a maximum of 64k per bank. Gazoo Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 18, 2012 Share Posted September 18, 2012 Let me expand on your correction a bit.. The size is actually 40k. There is a memory space of 64k per bank, but, the first 24k is always responded to by the console GROMs in every base. Now, that said, you CAN overdrive the console GROMs from the cartridge port and use that space, but you are now allowing two devices to drive the line at once. This is indeed how the GRAMKracker (and some other devices) work, but it's probably not good advice for a cartridge. In addition, your cartridge would have to ensure it does not respond to that address space in the first base, at least, otherwise the console will not boot (unless of course you have your own boot code.) Quote Link to comment Share on other sites More sharing options...
Gazoo Posted September 18, 2012 Share Posted September 18, 2012 Let me expand on your correction a bit.. The size is actually 40k. There is a memory space of 64k per bank, but, the first 24k is always responded to by the console GROMs in every base. Now, that said, you CAN overdrive the console GROMs from the cartridge port and use that space, but you are now allowing two devices to drive the line at once. This is indeed how the GRAMKracker (and some other devices) work, but it's probably not good advice for a cartridge. In addition, your cartridge would have to ensure it does not respond to that address space in the first base, at least, otherwise the console will not boot (unless of course you have your own boot code.) I didn't say that the first 24k had to be different, I just said that there was 64k per bank. Gazoo Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 19, 2012 Share Posted September 19, 2012 Yes, but the question was "what can you put on a cartridge?" Quote Link to comment Share on other sites More sharing options...
Gazoo Posted September 19, 2012 Share Posted September 19, 2012 Yes, but the question was "what can you put on a cartridge?" Actually The question was: "I was wondering, what is the largest size in KiloBytes that the TI-99/4A could address on a cartridge?" So it doesn't matter if there are copies of the same Grom on different pages, the TI still addresses it there and it's proper to count it. Gazoo Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 19, 2012 Share Posted September 19, 2012 You win! Congratulations! Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted September 19, 2012 Share Posted September 19, 2012 Just one minor correction, GROM can have a maximum of 64k per bank. Was it 8 times 8K or 8 times 6K by design/original design ? Quote Link to comment Share on other sites More sharing options...
RXB Posted September 19, 2012 Share Posted September 19, 2012 Was it 8 times 8K or 8 times 6K by design/original design ? It was 6K as from my understanding is that 8K was to expensive so TI just used what it could cobble together and sell so we got 6K per GROM in a cart. 8K is a better standard and no one makes 6K anymore so kinda pointless to support 6K. Thus the original cart size from TI was 6k times 6 equals 40K, but 8K times 6 equals 48K (this is the one everyone supports including Classic99 and GRAMKRACKER). Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted September 19, 2012 Share Posted September 19, 2012 Thus the original cart size from TI was 6k times 6 equals 40K, but 8K times 6 equals 48K (this is the one everyone supports including Classic99 and GRAMKRACKER). 6K times 6 must equal 36K. But sure it wasn't 6K times 5 equal 30K, and 8K times 5 equals 40K ? Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 20, 2012 Share Posted September 20, 2012 It's getting scary, which is normal for GROM conversations. In most of the documentation, each GROM is treated as unique (which makes sense, since GROM code can not span multiple devices in the same way as ROM code can, it has to jump). So to that end, there are 8 GROM spots in the memory space, each occupies 8k of address space, and in the original system, each contained a 6k GROM. 3 spots are reserved by the console (1 for OS and two for TI BASIC), leaving 5 for cartridge use. Quote Link to comment Share on other sites More sharing options...
RXB Posted September 20, 2012 Share Posted September 20, 2012 Yea sorry now awake yet when I replied. 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.