Jump to content
IGNORED

Eprom expectations


Sinphaltimus

Recommended Posts

So I have a bit of an emergency that required me to purchase a mini pro and the correct eprom chip (thanks arcade shopper for the important info).

 

However, when I'm done with my issue, the eprom will be used primary for supporting my ti.

 

So I'm going to ask for advice and I might sound like a jerk the way I'm going to ask. If I do, please answer in kind.

 

What do I need to make my own reusable cart that can hold multiple 32kbin files?

 

I know I can use flash rom 99 but I also want to support regular bin files for actual carts. And I currently have no way to do that.

 

I really don't want to hear "You just need an ubergrom." If the ubergrom does not ship ready to use out of the box. If in fact I do just need an ubergrom, please tell me what I need to get it working out of the box.

 

I don't know what kind of eprom chips I'd need.

 

I guessed the end goal is, when I get good enough and produce quality stuff for carts, I'd like to sell them on arcade shopper in cartridge form.

 

I suppose I need to be concerned with a lot of things. Maybe ubergrom isn't what I need?

 

How do I deal with a 32k program in a cart that will work on a 16k console (carts with built in ram switching) etc...

 

It are there 32k carts that only work on 32k console and that's where I'm going to have to play?

 

The mini pro will not arrive for several weeks (China) so no rush. I have plenty of prep time....

 

Also, what kind of chips should I be looking for to use in what ever kind of cart I will need.

Edited by Sinphaltimus
  • Like 1
Link to comment
Share on other sites

Ok so you have some confusion that needs to be addressed first..

 

The cart can be 8k, 32k, 64k, 128k, 1024k or 2048k and the way they work is the computer "bank switches" all of the way through the cart memeory space in 8k increments. So that number is irrelevant to your memory size of the console.

 

The SOFTWARE on the cart has ram requirements and that determines if you need the 32k memory expansion or not. The software on the cart could be 8k total but copies the program into 32k to operate..

 

The ROM software can be in these formats:

 

ROM (runs from ROM space)

ROM->RAM (software is copied to 32k RAM and then executed)

GROM (requires GROM hardware in the cartridge)

 

You will note that a lot of GROM based programs are of the 2nd variety, saved as ROM but copy to RAM and then are executed, hence the requirement for 32k when you use the parsec ROM binary for instance, as it's really GROM based but is copied to RAM to avoid needing the GROM.

 

Cart board types currently available:

 

Black - 8k-128k inverted (banks are backwards indexed, high to low)

Red - 64k-512k non-inverted

Blue - UberGrom which has a 512k non-inverted Flash ROM and a 1284p ATMEL chip that emulates GROM space

FlashROM99 - SD card based non-inverted 32k

 

Carts are stored in emulation files in the following formats:

BIN - ROM or GROM all banks together in one file

C,D,E,F - ROM banks separated into individual files

G - GROM banks together in one file

I've also seen the CDEFG files with a bin extension.. usually for classic99 or mess

 

Anyway with a minipro you can reflash the 512k flash on an ubergrom repeatedly with different images.. that requires removing the flash chip from the board and programming it, then replacing it in the cart board.

The Atmel is flashable from the TI itself, but you have to have the files prepared for it ahead of time. Usually we just burn that image from the minipro as well. faster/easier

 

The other eeproms for the black and red boards are re-programmable/replaceable but they require a uv light to erase..flash doesn't have this problem..

 

And of course the SDcard for the flashrom99 is the easiest as you just copy the bins onto the sdcard and away you go. (up to 32k ROM size)

 

Greg

Edited by arcadeshopper
  • Like 3
Link to comment
Share on other sites

To touch on a few points:

 

The flashrom runs regular bank switched rom images coded to live in the 0x6000 cartridge space of 8k. ( the same as you would put on an eprom ) up to 32k in size ( 8k * 4 banks )

 

Here is a great write up on bank switching in cartridges: http://www.stuartconner.me.uk/ti/ti.htm#bank_switching

And arcadeshopper.com has various cartridge pcboards that work on these fundamentals.

The redboard eproms, and ubergrom flash chip can be programmed with your eprommer.

 

Note, the ubergrom can be used without the atmel based grom emulator chip. In that case it works like a 512k redboard. This is nice, in that you don't have to spend so much time erasing eproms, as it uses a flash chip instead.

The threads on ubergrom setup are educational, and Omega has a nice blog post here on his Atariage blog. ( link at the bottom of any Omega posts ) The one issue with using them to develop on if the target rom is smaller than 512k, is that you need to fill the banks with startup code that provide the TI menu, and switch to the correct bank for your real code. Same goes for using any of the boards with an oversized eprom.

 

If you want to write code that runs entirely out of the rom and doesn't require expanded RAM, you have to write your code so that all of your variables live in the TI's scratchpad space 0x8300 -> 0x83FF, or you stuff them in VDP ram.

 

Greg described cartridges that move code to ram. They require the 32k expansion ram. They are easy to make... Just follow the development models for building an EA5 loadable program, such as with the basic-compiler, or gcc toolkit, or good old fashioned Editor Assembler 'save' tool. And then use something like Fred Kaal's (ti99-geek.nl) Module Creator program. It will create a bank switching cartridge space image that can be put on rom, produce a cartridge menu, and upon selection copy all the bits to expansion ram and run them just as if you loaded with EA option 5 off disk, only fast.

 

It is possible to put RAM in the cartridge space. Minimem does this, and we have the 'Supercart' project, that pairs 8k of ram ( or 4 banks of it manually toggled with switches ) to an EA cartridge. The bank switching techniques that are established attempt to write to cartridge space to trigger the bank selection. Combining this with ROM would be possible, I have imagined designing a 8k rom bank switch with 2k RAM statically mapped into the top 2k of the 8k bank, but that isn't practical. Just stuff data into VDP ram, or require the external memory.

 

I want to rank hardware choices by development ease. But frankly, emulation and cross compiler tools are the easiest.

Next to that, testing on hardware:

* the flashrom is the easiest if your project fits in the 4 bank limit.

* If you have a good plcc chip puller, the ubergrom is great. Get a ZIFF socket adapter for the eprom programmer. Saves bent pins.

* Next to that, a right sized cartridge board for your project. ( mind though, if you release the image, people will want to cram it into the cart boards they have, so it is best to menu and bank switch boot strap header in all banks )

 

I have to plug forth, because I love alt languages. You learn something that applies to all languages you code in when you use something new. There is a cartridge release called 'Jetpac' that is written in TurboForth. That effort includes the TurboForth runtime and the game's forth code all in cartridge rom, and I believe it requires 32k ram expansion still, just as TurboForth regularly does. If only we all learned Forth in the 80s instead of Basic... :)

 

Did I get all that correct?

 

-M@

  • Like 5
Link to comment
Share on other sites

 

So I'm guessing the uber grom is the way to go for the most flexibility?

 

tn_gallery_35324_1027_12135.jpg

 

The UberGROM is the one I settled on for that very reason. :)

It's very flexible, you can use the inexpensive AT49F040'S (pictured above) for nearly every RAM program, like the others mentioned, but if you want to make something a little bit different that requires GROM emulation, you can also pop in an Atmel 1284P which is the big chip. The 1284 is currently used on things like RXB, XB 2.7S or even the Logo/Multiplan cartridge.

sml_gallery_35324_1027_903789.jpg

 

Like mentioned, my blog entry << HERE >> will set you up with with some good PDF files that will help bring you up to speed.

It also has a video that will show you how easy it really is.

 

One of my favorite images was done by Rasmus, it's his 8-N-1 arcade compilation available << HERE >>

 

gallery_35324_1510_18061.jpg

  • Like 1
Link to comment
Share on other sites

What do I need to make my own reusable cart that can hold multiple 32kbin files?

 

You don't really need an UberGROM cart unless you're programming in GPL.

 

For assembly language you need a red board. You can use a Winbond W29C040 EEPROM with a red board if you want a chip that can easily be reprogrammed.

 

By "multiple 32kbin files", do you mean you would like to put several of your own games on one cartridge?

 

If your program(s) are running in the 32K RAM it's quite easy to make it/them into a cart using standard tools. If you want to use more than 32K or you want to run on a console without 32K it's much more difficult.

  • Like 2
Link to comment
Share on other sites

For assembly language you need a red board. You can use a Winbond W29C040 EEPROM with a red board if you want a chip that can easily be reprogrammed.

It doesn't look like those come in dip, so I imagine the same adapter that enables programming in the eprom programmer can be used with the red board?

 

-M@

Link to comment
Share on other sites

 

You don't really need an UberGROM cart unless you're programming in GPL.

 

For assembly language you need a red board. You can use a Winbond W29C040 EEPROM with a red board if you want a chip that can easily be reprogrammed.

 

By "multiple 32kbin files", do you mean you would like to put several of your own games on one cartridge?

 

If your program(s) are running in the 32K RAM it's quite easy to make it/them into a cart using standard tools. If you want to use more than 32K or you want to run on a console without 32K it's much more difficult.

 

 

My biggest thing is not excluding anyone from things I make. I may have to exclude 16k unexpanded consoles although possible soon that population will dwindle with a side cart. As of today, I code in XB. I have successfully managed to compile one xb program I created in to a bin file that works on a flashrom. That process sums up my understanding of bin and carts. I wouldn't know if I ever needed agrom or not. I want to be able to compile my programs in to a cartridge that the most users would get use out of.

 

Maybe I'm just over complicating things for myself. If i can compile to fr99 it will serve me perfectly. I just like the idea of custom carts. Since that's much more complicated and I don't even have a rudimentary understanding of all these yet, I think I'll stick with baby steps.

 

Once I get my minipro and my first eprom chip, I'll go download the files i need and attempt to burn this chip and see if it works in my amiga scsi controller.

 

http://babel.de/amiga.html#gvp

 

Now, I have a question. UV eraser? Is that essentially a black light? Could I erase "windowed" eproms under a black light?

  • Like 1
Link to comment
Share on other sites

I use one of these uv erasers: https://www.amazon.com/Ultraviolet-Light-EPROM-Eraser-Eraseable/dp/B00AZFZHEY/ref=as_li_ss_tl?ie=UTF8&linkCode=ll1&tag=atariage&linkId=13c0c941ad95ab95ebd09845886e701f

Wikipedia says this:

The programming process is not electrically reversible. To erase the data stored in the array of transistors, ultraviolet light is directed onto the die. Photons of the UV light cause ionization within the silicon oxide, which allow the stored charge on the floating gate to dissipate. Since the whole memory array is exposed, all the memory is erased at the same time. The process takes several minutes for UV lamps of convenient sizes; sunlight would erase a chip in weeks, and indoor fluorescent lighting over several years.[4] Generally the EPROMs must be removed from equipment to be erased, since it is not usually practical to build in a UV lamp to erase parts in-circuit. The Electrically Erasable Programmable Read-Only Memory (EEPROM) was developed to provide an electrical erase function and has now mostly displaced ultraviolet-erased parts.


So I imagine you want something stronger than a black light unless you are really patient.

-M@

  • Like 2
Link to comment
Share on other sites

It doesn't look like those come in dip, so I imagine the same adapter that enables programming in the eprom programmer can be used with the red board?

 

-M@

 

The ones I have are DIP, I think it was these:

http://www.ebay.com/itm/10PCS-IC-W29C040-90-W29C040-90B-W29C040-90Z-WINBOND-NEW-GOOG-QUALITY-/291550093318?hash=item43e1bd6006

  • Like 2
Link to comment
Share on other sites

Over complicating things? No not really. You've just jumped into the pool and are getting your bearings.

Rasmus is right, you don't need an UberGROM board if your intention is to make and or sell custom single program cartridges.

 

Further up you mentioned 'flexibility'... and the UberCart sure has that! I also did not want the hassle of waiting around on a UV eraser, if I screw up, I wanted the ability of an immediate 'do-over'.

  • Like 2
Link to comment
Share on other sites

My biggest thing is not excluding anyone from things I make. I may have to exclude 16k unexpanded consoles although possible soon that population will dwindle with a side cart. As of today, I code in XB. I have successfully managed to compile one xb program I created in to a bin file that works on a flashrom. That process sums up my understanding of bin and carts. I wouldn't know if I ever needed agrom or not. I want to be able to compile my programs in to a cartridge that the most users would get use out of.

 

Maybe I'm just over complicating things for myself. If i can compile to fr99 it will serve me perfectly. I just like the idea of custom carts. Since that's much more complicated and I don't even have a rudimentary understanding of all these yet, I think I'll stick with baby steps.

 

Once I get my minipro and my first eprom chip, I'll go download the files i need and attempt to burn this chip and see if it works in my amiga scsi controller.

 

http://babel.de/amiga.html#gvp

 

Now, I have a question. UV eraser? Is that essentially a black light? Could I erase "windowed" eproms under a black light?

 

I wasn't sure how easy it was to convert compiled XB to a cart. But if it runs on the flashrom 99 there's no problem running the same image from a red board. All you have to do is to duplicate the image until the chip you use is full. If you use the Winbond chips you don't need an UV eraser. You can erase, program and verify a chip in about 30 seconds.

  • Like 2
Link to comment
Share on other sites

Could anyone indicate if there is already on the market, or it is possible to build, a cartridge that is predominantly GROM. Kind of the UberGrom but for only 1 bank of 40K. I am after simplicity and affordability. This in view of anyone wanting to distribute 1 GPL game in cart form. Thanks,

Link to comment
Share on other sites

I use one of these uv erasers: https://www.amazon.com/Ultraviolet-Light-EPROM-Eraser-Eraseable/dp/B00AZFZHEY

 

Wikipedia says this:

 

 

So I imagine you want something stronger than a black light unless you are really patient.

 

-M@

 

Now is a great time to buy black lights because of Halloween. They had little fluorescent fixtures at my local store for ~$20 last year, and they'd probably work well for erasing EPROMS.

 

I should point out that they work great for any Retr0brite projects that people like us probably have :)

Link to comment
Share on other sites

 

Now is a great time to buy black lights because of Halloween. They had little fluorescent fixtures at my local store for ~$20 last year, and they'd probably work well for erasing EPROMS.

 

I should point out that they work great for any Retr0brite projects that people like us probably have :)

 

It will take a l-o-o-o-n-n-g time to erase EPROMs with a black light. You can buy UV erasers on Amazon for ~$20. They will erase EPROMs in 20 – 30 minutes, usually.

 

...lee

  • Like 2
Link to comment
Share on other sites

 

It will take a l-o-o-o-n-n-g time to erase EPROMs with a black light. You can buy UV erasers on Amazon for ~$20. They will erase EPROMs in 20 – 30 minutes, usually.

 

...lee

 

I know I erased some back in the day just by setting them on a window sill, but I think Omega's right - life's too short for EPROMS. I expect this to be on a t-shirt at the next FestWest. :)

  • Like 1
Link to comment
Share on other sites

I use one of these uv erasers: https://www.amazon.com/Ultraviolet-Light-EPROM-Eraser-Eraseable/dp/B00AZFZHEY/ref=as_li_ss_tl?ie=UTF8&linkCode=ll1&tag=atariage&linkId=13c0c941ad95ab95ebd09845886e701f

 

Wikipedia says this:

 

 

So I imagine you want something stronger than a black light unless you are really patient.

 

-M@

 

 

 

I have exactly the same. Are 30 Minutes OK for erasing ?

 

 

post-41141-0-93587000-1476904741_thumb.jpg

Link to comment
Share on other sites

You are over complicating things. The EPROM eraser pictured works fine for all standard EPROMs. The only time that you would have a long wait is if you only have a single chip. Otherwise, you could program your chip and if there is an error in your program simply swap out a new erased EPROM and burn the new code while th original is being eased. So, all you need is an Eprommer, an eraser, and some chips to get started.

  • Like 2
Link to comment
Share on other sites

You are over complicating things. The EPROM eraser pictured works fine for all standard EPROMs. The only time that you would have a long wait is if you only have a single chip. Otherwise, you could program your chip and if there is an error in your program simply swap out a new erased EPROM and burn the new code while th original is being eased. So, all you need is an Eprommer, an eraser, and some chips to get started.

I have an eprom eraser and it only takes about ten to 15 minutes at the most to erase one. I have looked at the data sheets and this seems reasonable.

  • Like 1
Link to comment
Share on other sites

Could anyone indicate if there is already on the market, or it is possible to build, a cartridge that is predominantly GROM. Kind of the UberGrom but for only 1 bank of 40K. I am after simplicity and affordability. This in view of anyone wanting to distribute 1 GPL game in cart form. Thanks,

 

I think your only option is a stripped down UberGROM cart. You wouldn't have to install the 49F040 flash ROM and probably not the 74LS378 either. You could also remove their sockets and perhaps a few capacitors, resistors, headers and jumpers as well?

  • Like 1
Link to comment
Share on other sites

Rasmus is correct. The interesting thing is that the smaller members of the chip family for the 1284 are only marginally cheaper than the 1284 is, so you don't save a lot (about fifty cents a chip).

 

The PLCC socket and the 74LS378 sockets are both superfluous for the GROM-only mode. You can also remove a couple of capacitors. JP-1 and JP-3 can also be left out--and if you don't plan to do any in-circuit programming, you can eliminate all of them except JP-4, which you really want to use here, as putting a jumper block on JP-4 write protects the 1284. You can also drop R-1, C-1, C-2, and C-3. All other components are necessary for a pure GROM cartridge.

 

All of that saves you between $5 and $7 in parts, depending on the quality of parts you would be using and where you source them.

 

There are no other options for a GROM-type board at the moment, although you could probably design a GROM-only variant of the Wiesbaden Supermodul board (change the pin-outs to match an EPROM instead of a RAM chip and eliminate the support chips feeding the ROM side of the board). You'd still end up with a bunch of chips to simulate the GROM address registers though (four 74LS161s), so you wouldn't save a lot--but it is in the realm of the possible.

  • Like 1
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...