Jump to content

Photo

Flash ROM Cart


438 replies to this topic

#1 ralphb OFFLINE  

ralphb

    Moonsweeper

  • 390 posts
  • Location:Germany

Posted Sun Mar 20, 2016 6:54 AM

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.
 
 
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.
 
Attached File  flashromcart.jpg   207.38KB   29 downloads
 
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 by ralphb, Mon May 16, 2016 10:04 AM.


#2 ti99iuc OFFLINE  

ti99iuc

    Stargunner

  • 1,110 posts
  • Location:Italy

Posted Sun Mar 20, 2016 7:32 AM

Oh My God ! Ralph it is an important step for the future of our TI99 ! :) 

 

giphy.gif

 

really thank you for your work on this !



#3 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,545 posts
  • Location:BUR

Posted Sun Mar 20, 2016 7:39 AM

Looking nice! Congrats!

#4 schmitzi ONLINE  

schmitzi

    River Patroller

  • 3,601 posts
  • ToXiC
  • Location:Germany

Posted Sun Mar 20, 2016 7:53 AM

supi :)



#5 Manic1975 OFFLINE  

Manic1975

    Chopper Commander

  • 149 posts
  • Location:Croatia

Posted Sun Mar 20, 2016 9:26 AM

Ralphb is there chance to make some guide to build this board at home. Something like Tapuino (http://sweetlilmre.b...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.



#6 sparkdrummer ONLINE  

sparkdrummer

    Dragonstomper

  • 560 posts
  • Status? I don't need no stinkin' status!
  • Location:Phoenix,Arizona

Posted Sun Mar 20, 2016 9:27 AM

Beautiful!

#7 JamesD ONLINE  

JamesD

    Quadrunner

  • 7,123 posts

Posted Sun Mar 20, 2016 9:36 AM

Oh My God ! Ralph it is an important step for the future of our TI99 ! :)

 

giphy.gif

 

really thank you for your work on this !

Attached File  Shutupwesley.jpg   23.1KB   4 downloads

The cart is cool but Wesley?  Really?



#8 ti99iuc OFFLINE  

ti99iuc

    Stargunner

  • 1,110 posts
  • Location:Italy

Posted Sun Mar 20, 2016 9:43 AM

Lol  :rolling:  :rolling:  :rolling:  sorry i just shared a picture for my wow face... i do not know who is Wesley :P



#9 JamesD ONLINE  

JamesD

    Quadrunner

  • 7,123 posts

Posted Sun Mar 20, 2016 9:51 AM

Lol  :rolling:  :rolling:  :rolling:  sorry i just shared a picture for my wow face... i do not know who is Wesley :P

Attached File  Shut-up-Wesley_o_122943.jpg   51.49KB   3 downloads



#10 Manic1975 OFFLINE  

Manic1975

    Chopper Commander

  • 149 posts
  • Location:Croatia

Posted Sun Mar 20, 2016 9:55 AM

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. :)



#11 globeron ONLINE  

globeron

    Dragonstomper

  • 533 posts

Posted Sun Mar 20, 2016 11:47 AM

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)



#12 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 3,905 posts

Posted Sun Mar 20, 2016 12:23 PM

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).



#13 Asmusr OFFLINE  

Asmusr

    River Patroller

  • 2,219 posts
  • Location:Denmark

Posted Sun Mar 20, 2016 1:19 PM

How is the SD card formatted?



#14 --- Ω --- OFFLINE  

--- Ω ---

    --- Ω ---

  • 9,758 posts
  • Location:Virgo Supercluster, Gould Belt in the Orion arm of Milky Way galaxy.

Posted Sun Mar 20, 2016 2:49 PM

 

Since January I've been working on a new project: the Flash ROM Cart.... 

 

 

gallery_35324_1027_1961.gif  Utterly speechless..... 



#15 --- Ω --- OFFLINE  

--- Ω ---

    --- Ω ---

  • 9,758 posts
  • Location:Virgo Supercluster, Gould Belt in the Orion arm of Milky Way galaxy.

Posted Sun Mar 20, 2016 2:52 PM

Lol  :rolling:  :rolling:  :rolling:  sorry i just shared a picture for my wow face... i do not know who is Wesley :P

 

This might help...  ;)



#16 acadiel ONLINE  

acadiel

    Dragonstomper

  • 867 posts
  • www.hexbus.com
  • Location:USA

Posted Sun Mar 20, 2016 3:02 PM

Awesome!!! 



#17 Davvel OFFLINE  

Davvel

    Chopper Commander

  • 248 posts
  • Married
  • Location:Malta

Posted Sun Mar 20, 2016 3:05 PM

Wow.... Pure Genius.... Thank you Ralphb.  One of the great pillars of the TI 99 world has done it again.



#18 Asmusr OFFLINE  

Asmusr

    River Patroller

  • 2,219 posts
  • Location:Denmark

Posted Sun Mar 20, 2016 4:12 PM

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?



#19 ralphb OFFLINE  

ralphb

    Moonsweeper

  • Topic Starter
  • 390 posts
  • Location:Germany

Posted Mon Mar 21, 2016 1:25 AM

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.



#20 --- Ω --- OFFLINE  

--- Ω ---

    --- Ω ---

  • 9,758 posts
  • Location:Virgo Supercluster, Gould Belt in the Orion arm of Milky Way galaxy.

Posted Mon Mar 21, 2016 5:31 AM

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. 



#21 TheMole OFFLINE  

TheMole

    Dragonstomper

  • 720 posts
  • Location:Belgium

Posted Mon Mar 21, 2016 8:07 AM

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!



#22 TheMole OFFLINE  

TheMole

    Dragonstomper

  • 720 posts
  • Location:Belgium

Posted Mon Mar 21, 2016 8:15 AM

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/...sues/?p=3473132



#23 Tempest OFFLINE  

Tempest

    Monochrome Martinet

  • 25,788 posts
  • Location:Accardi-By-The-Sea

Posted Mon Mar 21, 2016 8:17 AM

Dang!  This looks amazing.  My mulitcarts are nice, but they're not easily updated.  This would be the ultimate solution.



#24 ralphb OFFLINE  

ralphb

    Moonsweeper

  • Topic Starter
  • 390 posts
  • Location:Germany

Posted Mon Mar 21, 2016 11:03 AM

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/...sues/?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.



#25 moondelight61 OFFLINE  

moondelight61

    Space Invader

  • 11 posts

Posted Mon Mar 21, 2016 8:48 PM

I want one :)




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users