ralphb Posted March 20, 2016 Share Posted March 20, 2016 (edited) UPDATE: With beta testing completed, the project has now been published. Please refer to post 72 for the release. Since January I've been working on a new project: the Flash ROM Cart. As the name suggests, the cart allows playing ROM images stored on an SD card on an unexpanded TI 99/4A. https://www.youtube.com/watch?v=RlVdV77lmsA The cart works with individual ROM banks, e.g. from RPK archives, or single non-inverted images. In the video I'm inverting an inverted image to get a non-inverted one. (For some reason the screen capture comes out quite blurry, but fullscreen is OK.) The current board uses a 32K RAM chip, so images are limited to that size. No GROMs, sorry. I'm using an ATmega 8515 to read data from the SD card and fill the SRAM chip. Bank switching uses the well-known design by Jon, this time with a 377, as those are still commonly available. The 377 is also used for one-way communication from the TI to the cart, i.e., the image selection. Alas, those parts alone won't do. In order for the microcontroller to access the RAM, the RAM needs to be isolated from the TI 99 bus. I thus added three 541 chips that will take the entire cart "offline" when the ATmega is active. This makes it unlikely to fit into a regular TI cart case, but I couldn't come up with a simpler design without resorting to SMD parts. As you can see, this is a prototype. This even started on a breadboard with an Arduino, but I soon grew out of that. I'll do a layout and get proper boards made next. Once I have that I'll publish everything up on GitHub so that other people can get their hands on it. Edited May 16, 2016 by ralphb 24 Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted March 20, 2016 Share Posted March 20, 2016 Oh My God ! Ralph it is an important step for the future of our TI99 ! really thank you for your work on this ! Quote Link to comment Share on other sites More sharing options...
Tursi Posted March 20, 2016 Share Posted March 20, 2016 Looking nice! Congrats! Quote Link to comment Share on other sites More sharing options...
+Schmitzi Posted March 20, 2016 Share Posted March 20, 2016 supi 1 Quote Link to comment Share on other sites More sharing options...
Manic1975 Posted March 20, 2016 Share Posted March 20, 2016 Ralphb is there chance to make some guide to build this board at home. Something like Tapuino (http://sweetlilmre.blogspot.hr/2015/03/building-tapuino-r2.html or https://github.com/sweetlilmre/tapuino). It was easy to build and program Tapuino at home. Can you try put this instructions on Github? I see there is possibility to put this inside TI99/4a. Quote Link to comment Share on other sites More sharing options...
sparkdrummer Posted March 20, 2016 Share Posted March 20, 2016 Beautiful! Quote Link to comment Share on other sites More sharing options...
JamesD Posted March 20, 2016 Share Posted March 20, 2016 Oh My God ! Ralph it is an important step for the future of our TI99 ! really thank you for your work on this ! The cart is cool but Wesley? Really? 3 Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted March 20, 2016 Share Posted March 20, 2016 Lol sorry i just shared a picture for my wow face... i do not know who is Wesley 1 Quote Link to comment Share on other sites More sharing options...
JamesD Posted March 20, 2016 Share Posted March 20, 2016 Lol sorry i just shared a picture for my wow face... i do not know who is Wesley 3 Quote Link to comment Share on other sites More sharing options...
Manic1975 Posted March 20, 2016 Share Posted March 20, 2016 This was caracter from Star Trek: Next generation. In one text this actor say that he had TI99/4a and he learn TI Basic. I think there is more behind this picture then this wow. 1 Quote Link to comment Share on other sites More sharing options...
globeron Posted March 20, 2016 Share Posted March 20, 2016 Very nice! Good to see these projects! (especially when nano-PEBs are not available any more) (Just for my own understanding to understand if I need this): It is different than a nano-PEB correct? (no RS232, no Disk-drive support to load images?) Does it require 5V adapter (or it makes use of the internal 5V) What if a Speech Synthesizer is connected (as 5V does not pass through?) Would there be a benefit to use the Flash rom card compared to the Programmable UberGrom cartridge (or 2048K Games 1 cartridge) and nano-PEB (32K Memory)? Once the product is ready, also a housing around it would be nice? (not like nano-PEB....no components protection) Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted March 20, 2016 Share Posted March 20, 2016 A custom cartridge case would need to be designed for it. Probably the cheapest long-term solution would be to 3D-print a few as test objects and then make a set of molds for further cases. They'd still be a bit expensive, but they'd be a lot less than the $75 it would cost for a set of high-quality prints commercially (somewhat less if Toucan can do some high-quality test prints for us). 2 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted March 20, 2016 Share Posted March 20, 2016 How is the SD card formatted? Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted March 20, 2016 Share Posted March 20, 2016 Since January I've been working on a new project: the Flash ROM Cart.... Utterly speechless..... Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted March 20, 2016 Share Posted March 20, 2016 Lol sorry i just shared a picture for my wow face... i do not know who is Wesley This might help... https://www.youtube.com/watch?v=z3fWy9UMDHs 4 Quote Link to comment Share on other sites More sharing options...
+acadiel Posted March 20, 2016 Share Posted March 20, 2016 Awesome!!! Quote Link to comment Share on other sites More sharing options...
Davvel Posted March 20, 2016 Share Posted March 20, 2016 Wow.... Pure Genius.... Thank you Ralphb. One of the great pillars of the TI 99 world has done it again. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted March 20, 2016 Share Posted March 20, 2016 From the video it looks like you're generating a standard TI menu from all the images loaded onto the SD card. How does that work if one of the images contains multiple menu entries by itself? Are you limited to 8 entries/images? You seem to be pressing some switch on the cart/card when changing games, how does that work? Quote Link to comment Share on other sites More sharing options...
ralphb Posted March 21, 2016 Author Share Posted March 21, 2016 Thanks! To answer the questions: Ralphb is there chance to make some guide to build this board at home. Yes, that's my plan. Right now I don't even have readable schematics, so the software alone won't do you any good. But I hope to have everything up on GitHub soon. (Just for my own understanding to understand if I need this): It is different than a nano-PEB correct? (no RS232, no Disk-drive support to load images?) Does it require 5V adapter (or it makes use of the internal 5V) Would there be a benefit to use the Flash rom card compared to the Programmable UberGrom cartridge (or 2048K Games 1 cartridge) and nano-PEB (32K Memory)? Yes, it's like a 512K ROM board ("red board"), but you can change the games simply by swapping the SD card. No reprogramming or the like necessary. The ROM boards still have their uses, though, because they don't have a load time for the images. The UberGrom is entirely different, and still the only way to run GROM-based programs. Power is drawn from the TI, so no external power supply. The NanoPEB or the CF7+ is a disk and memory replacement. They (or an original PEB) are still highly recommended. Note that a standalone cartridge program can use only 256 bytes of RAM. Disk-based games programs rely on the 32K RAM expansion of the PEB. (But some modern carts, like JSW from Rasmus, also rely on the 32K RAM expansion.) How is the SD card formatted? It's plain FAT16 or FAT32, i.e., out-of-the-box SD or SDHC cards, but no SDXC cards. No special program for transferring the images to the card required. From the video it looks like you're generating a standard TI menu from all the images loaded onto the SD card. How does that work if one of the images contains multiple menu entries by itself? Are you limited to 8 entries/images? You seem to be pressing some switch on the cart/card when changing games, how does that work? Yes, you're right. If an image has multiple entries, I include them all in the menu. Right now I set an artificial upper limit of 8 entries, but I plan to add a ninth entry "MORE ..." that will take you to a multi-cart like menu selection with the remaining entries. It's not really meant to support 8 GB cards full of images, although there's no real limit other than the limited 0.5K RAM inside the ATmega 8515 to store all the filenames. The button pressed is the RESET button. Since the cart cannot detect when I reset the console by FCTN-=, I need to reload the menu, or you'll get the menu of the previously selected card. In the end my reset button should also reset the console, but I didn't have the right kind of push button lying around, so I have to reset the console manually. Note that I want the cart to work with unmodified images, so I'm not sure one can do better than that. 7 Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted March 21, 2016 Share Posted March 21, 2016 Wow, your hitting all the hot points... true drag & drop to load, no additional programs required, using an image format already supported, even it's own reset button. Are you at the designing a PCB stage yet? Once completed this will become a popular piece of hardware as it conforms to the basic wants of all demographics, that being intuitive use and no need to read a manual to use. It follows the K.I.S.S. doctrine. Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 21, 2016 Share Posted March 21, 2016 Awesome! The current board uses a 32K RAM chip, so images are limited to that size. How difficult would it be to include more RAM (e.g. the 512k needed to run Alex Kidd )? This would be an ideal way for me to test my game on real iron if it had the memory! Quote Link to comment Share on other sites More sharing options...
TheMole Posted March 21, 2016 Share Posted March 21, 2016 The button pressed is the RESET button. Since the cart cannot detect when I reset the console by FCTN-=, I need to reload the menu, or you'll get the menu of the previously selected card. In the end my reset button should also reset the console, but I didn't have the right kind of push button lying around, so I have to reset the console manually. Note that I want the cart to work with unmodified images, so I'm not sure one can do better than that. Would this be solved by what Ksarul and Marc Hull did for the other new cart that was announced yesterday? As explained here: http://atariage.com/forums/topic/250533-new-rom-cart-eliminates-start-up-issues/?p=3473132 Quote Link to comment Share on other sites More sharing options...
Tempest Posted March 21, 2016 Share Posted March 21, 2016 Dang! This looks amazing. My mulitcarts are nice, but they're not easily updated. This would be the ultimate solution. Quote Link to comment Share on other sites More sharing options...
ralphb Posted March 21, 2016 Author Share Posted March 21, 2016 Are you at the designing a PCB stage yet? I'm currently at the schematics stage ... Layout will be challenging because we have two busses criss-crossing all over the board. How difficult would it be to include more RAM (e.g. the 512k needed to run Alex Kidd )? This would be an ideal way for me to test my game on real iron if it had the memory! Well, somewhat difficult. One of my early designs used a 512K SRAM chip and loaded everything up front, then the menu would simply select the corresponding bank. That wasn't very straightforward at all, and loading times are short, so I went for "load on demand" instead. You can still increase capacity beyond 32K with the current design, but the ATmega 8515 has only one pin left for addressing the RAM. This by itself would not be so much of a problem, though. In fact, I have an alternative design that uses a more regular ATmega 328 instead of the bulky but wimpy 8515. To compensate for the lack of pins I'd add two 590 8-bit counters that address the RAM sequentially -- the software is written not to use random access. But as the size requirements for 328 + 2x 590 vs. 8515 are about the same, I went for the 8515 because that would mean less wires. So you could use that approach to address the ATmega pin shortage. But the bus switch also has no free pins left. You need to switch the bank selector as well, as the 377 has no output enable. So to answer your question: A higher capacity would require two additional chips on the board, making it even larger. At this point I'd rather leave it as it is. Would this [soft reset] be solved by what Ksarul and Marc Hull did for the other new cart that was announced yesterday? As explained here: http://atariage.com/forums/topic/250533-new-rom-cart-eliminates-start-up-issues/?p=3473132 Yes, that idea is pure genius -- kudos! That free pin mentioned above should be just right for this task ... I'll have to try this out on the weekend. This would also eliminate the need for the reset button, unless you like to have a hardware reset button anyway. 3 Quote Link to comment Share on other sites More sharing options...
moondelight61 Posted March 22, 2016 Share Posted March 22, 2016 I want one 2 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.