Jump to content
IGNORED

Making & Programming & Assembling new UberGROM Cartridges and 64k Cartridges Images


Recommended Posts

Thanks to @Tursi for shipping me some bare PCBoards earlier this year, and to "Mouser Canada" for finally getting my order processed and delivered, today I went to work with my trusty soldering station (which amazing enough still works great after 14 years in storage, and assembled two 64k ROM Cartridges (and I found a 27C256 and 27C512 eprom in my junk drawer, that i UV erased) and I also assembled two UberGrom cartridges, and have the 49F040 and Atmega1284P chips for both brand-new from Mouser, so now I am all ready to assemble some cool images and max out the full space of GROM's and ROM's.

 

But, two things I noticed when searching AtariAge, most of the current images and tools are all for FinalGrom99 and FinalRom99, and sadly most of the images complied for the older cartridges were all organized and threads were originally by "Omega-TI" but it seems he banned and some of his posts have been nuked, I missed all that drama I guess since I myself was enjoying the 5 star resort at SeaTac during that period of time.

 

Anyway, any pointers on what are the best images to use, and tools I need. For one I guess I would like to roll a XB2.7 type cartridge and of course a RXB2024, but I want to add in all that I need for development work, editors, assemblers, hdx transfer, scsi managers, disassemblers, and of course both gpl and assembly and 80col editors, etc. -- any pointers and suggestions are more than welcome. -- plus i going to work on adding my SOB to the mix and my CART DSR and few other goodies, and once I do assemble some cool images up, and test them, I will of course share them here for others to enjoy that may be looking for the same thing.

 

Two final questions I have, in regard to the rom only 64k boards, has anyone hard-wired an EA Grom chip onto one, that should not be too hard to do, I can remove my EA Grom from my original TI cartridge and solder it in, I think that would be cool, and I also have 3rd rom only 64k board assembled, I was thinking of modding it to use a 8k static chip or 32k static chip, has anyone done that with possible battery backup as well, I guess I could look at the old supercart schematics, but I think that would be cool thing to do with the 3rd cartridge I have. Any suggestions or hints on that would be welcome as well.

 

Anyway, time for break, and wash off the soldering fumes for my hands and face.

PXL_20240307_203608136.jpg

PXL_20240307_203612748.MP.jpg

PXL_20240307_203619877.jpg

  • Like 2
Link to comment
Share on other sites

I guess that I was the last to build ubergroms, about 6 months ago, till you did this. I searched and searched here in the forums for ubergrom info. Basically used Tony's guide and if I remember correctly I used one of the binary's from Tursi's Classic99 for the grom burn. I had a few attempts fail due to the verbage and pictures being somewhat different for the Mini Pro I was using and in burning the Rom, I used a PLCC adapter that did work, but only after I'd ordered a clamshell adapter that was on it's way. The Atmel got a bad burn at 1 point, but I found that if you only placed in one side into the Mini pro and erased that it solved the issue. Found that somewhere here on Atariage. But you shoiuld be able to find most of the info in the Ubergrom thread, especailly right before the Great Gazoo's passing in Sept of 2015.

  • Like 2
Link to comment
Share on other sites

20 minutes ago, RickyDean said:

I guess that I was the last to build ubergroms, about 6 months ago, till you did this. I searched and searched here in the forums for ubergrom info. Basically used Tony's guide and if I remember correctly I used one of the binary's from Tursi's Classic99 for the grom burn. I had a few attempts fail due to the verbage and pictures being somewhat different for the Mini Pro I was using and in burning the Rom, I used a PLCC adapter that did work, but only after I'd ordered a clamshell adapter that was on it's way. The Atmel got a bad burn at 1 point, but I found that if you only placed in one side into the Mini pro and erased that it solved the issue. Found that somewhere here on Atariage. But you shoiuld be able to find most of the info in the Ubergrom thread, especailly right before the Great Gazoo's passing in Sept of 2015.

If you bookmark any threads or posts let me know. I have a t48 programmer so hopefully it will work out ok.

 

I want to assemble my own special custom images so that the main thing I looking at doing plus adding in my own GPL and assembly code as well.

PXL_20240117_191041528.jpg

  • Like 1
Link to comment
Share on other sites

Probably the main thing you will need to make your own UberGROM images from scratch is Tursi's base load for the UberGROM. There are also images for XB 2.7, Triton SEB, Winkler's XB3, and a nice 3XB image. @acadiel also made a whole series of UberGROM images for the never released TI cartridges a year or two ago. They're all here on AtariAge.

 

Here's the base UberGROM load for you along with an UberGROM manual, as that one will let you build and modify images to your heart's content.

 

On another note, there is a board available that has space on it for a RAM chip and an E/A GROM. It is also battery backed. They are available on @arcadeshopper's site or you can get them from me.

 

512K UberGROM Cartridge Board Manual V1.0.pdf GROMSim2.zip

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

There's a mega UberGROM thread to start with, please feel free to add to it as you have questions, etc, so we keep discoveries and questions in one spot for new folks.  We try to go through everything in here, including linking to software images that are pre built (there's tons of them in that thread).

 

  • Like 2
  • Thanks 2
Link to comment
Share on other sites

3 hours ago, Gary from OPA said:

threads were originally by "Omega-TI" but it seems he banned and some of his posts have been nuked

As a point of record, he nuked those posts.  I also would not say you "missed" any of the drama.  Otherwise, the UberGROM has remained a bit of a mystery for me.  I really need to go back through threads and try to work some demystification.

 

 

 

  • Like 1
Link to comment
Share on other sites

Posted (edited)
39 minutes ago, OLD CS1 said:

As a point of record, he nuked those posts.  I also would not say you "missed" any of the drama.  Otherwise, the UberGROM has remained a bit of a mystery for me.  I really need to go back through threads and try to work some demystification.

 

 

 

There two things I want to do for my own purposes is to tweak the original code for the avr so I can override the console groms and so going to have to code my own cfg and loader as well.

 

And second will be bit harder and that is to divide the ROM flash into bases as well that match the currently executing grom base, so I need to output that from the avr and run some wires to the ROM flash.

 

For example the avr grom of 120k want to be at least full 64k and then 56k with grom 0 duplicated.

 

And the ROM would then be divided into 256k for grom base 0 and second 256k for grom base 1 or if possible 16 bases of 32k each.

 

If I can make those two changes then it will basically emulate what my pop cart was, except it could handle up to 512k of grom, 8 bases of full 64k. And its matching ROM (normally only 256k) was divided into 16 bases of 4 pages (32k) each.

Edited by Gary from OPA
  • Like 1
Link to comment
Share on other sites

Posted (edited)
11 minutes ago, OLD CS1 said:

@Gary from OPA So, turn it into a sort-of GRAM Kracker?

Not sure I think there was some issues with speed or another technical reason why the console groms area was locked off. But at least if I can't override grom 0 I want to remove grom 1 and 2 from my console and use that area.

 

As for gk there is still 15k gram in the UberGROM avr it might be cool if possible to at least enable it as gram for one of console groms areas.

 

I mainly looking at all my options to be able to do some testing and improving and updating my SOB etc. and my gram kracker sadly is cooling off back in Dominican Republic never got shipped to me here and not worth it to do it now as their mail system sucks.

 

So I making do with what I have available here and my PGRAM doesn't allow overriding of the console groms either.

 

And sadly my gramemulator from cadd got stolen by feds and never returned. All because it had the word emulator on it. Sucks.

Edited by Gary from OPA
  • Like 1
  • Sad 1
Link to comment
Share on other sites

2 hours ago, Gary from OPA said:

Not sure I think there was some issues with speed or another technical reason why the console groms area was locked off. But at least if I can't override grom 0 I want to remove grom 1 and 2 from my console and use that area.

 

As for gk there is still 15k gram in the UberGROM avr it might be cool if possible to at least enable it as gram for one of console groms areas.

 

I mainly looking at all my options to be able to do some testing and improving and updating my SOB etc. and my gram kracker sadly is cooling off back in Dominican Republic never got shipped to me here and not worth it to do it now as their mail system sucks.

 

So I making do with what I have available here and my PGRAM doesn't allow overriding of the console groms either.

 

And sadly my gramemulator from cadd got stolen by feds and never returned. All because it had the word emulator on it. Sucks.

The ROM part is simply a ROM cart - if you "write to ROM" you can bank switch in 8K increments like normal for all 512/8 banks.  Put that in your code in the AVR, and you're good to go.

 

Keep in mind, there's other AVR inputs and such we didn't really touch that are available... serial (which some people have used for HDX and Bluetooth transfers), ADC inputs, and others.... Jim and I tried to make sure we exposed what we could to the front of the board on jumpers to make it hobby friendly.  

 

About the overrides... from an old quote from @Tursi: "I disabled the UberGROM overriding the console GROMs because the MPD will use the same tech, and then you'll have two TTL devices (one in the console, one in the cartridge port) both driving the bus at the same time if you try to overload the console GROMs. That /will/ damage one or the other.   I tested the UberGROM overriding real GROMs without issue. IMHO notwithstanding, I did that test. ;)  I'm still deciding how to deal with that anyway since the same problem would occur with GRAMKrackers, and I don't want to cause issues for those. The MPD will probably just need resistors on the outputs so it can be overridden."

 

So yes, it looks like you can simply just override them w/code (since you probably don't have a MPD LOL), but I'd ask @FALCOR4 or @Tursi if there's any other recommendations for mods to the cart to keep things safe. :)

Link to comment
Share on other sites

4 minutes ago, acadiel said:

The ROM part is simply a ROM cart - if you "write to ROM" you can bank switch in 8K increments like normal for all 512/8 banks.  Put that in your code in the AVR, and you're good to go.

 

Keep in mind, there's other AVR inputs and such we didn't really touch that are available... serial (which some people have used for HDX and Bluetooth transfers), ADC inputs, and others.... Jim and I tried to make sure we exposed what we could to the front of the board on jumpers to make it hobby friendly.  

 

About the overrides... from an old quote from @Tursi: "I disabled the UberGROM overriding the console GROMs because the MPD will use the same tech, and then you'll have two TTL devices (one in the console, one in the cartridge port) both driving the bus at the same time if you try to overload the console GROMs. That /will/ damage one or the other.   I tested the UberGROM overriding real GROMs without issue. IMHO notwithstanding, I did that test. ;)  I'm still deciding how to deal with that anyway since the same problem would occur with GRAMKrackers, and I don't want to cause issues for those. The MPD will probably just need resistors on the outputs so it can be overridden."

 

So yes, it looks like you can simply just override them w/code (since you probably don't have a MPD LOL), but I'd ask @FALCOR4 or @Tursi if there's any other recommendations for mods to the cart to keep things safe. :)

thanks, yeah i don't have MPD or TIPI sidecar or even my SOB so i have nothing but original hardware, so overriding the console groms would not be issue for me. so some clear instructions on how to change the code to do, i reading all doc and will look at how i can easy to do.

 

as for 512k rom i know it is banked in 8k increments, but see the issue i had with all these devices that support large amount of rom and multiple grom bases is none of them work correctly like how it should. For example I should be able to have Ext. Basic in Grom Base 0 and Terminal Emulator II in Grom Base 1 and both cartridges each have their own paged rom area, and be able to use them together, only my pop-cart device did that correctly, by latching the grom base active and splitting the bank rom area up into the matching sections. this for example allows you to use the TEII "speech" device without issues while in X/Basic program, and opens up so many options like how its designed to be using existing code without doing major rewrites to rom assembly area, allowing to you mix and match any cartridge.

 

so if you have 16 banks of Grom as per the review module library system, you should also have 16 banks of paged/rom as well -- so the 512k flash should be divided into 16 blocks of 32k each or at least 8 blocks of 64k each for those wanting more rom space, then you can properly use the op-codes DSWGR & RTGR and know that your cartridge rom is switching with you as well. -- i hope you follow my logic here, it should be a simple change to the code in avr, to output the current grom base being used, and have that going to the upper address pins of the flash, instead of them all going to the 378 logic.

 

once i get it up and running correctly i will publish my findings and changes so all can enjoy, and look at the finalgrom99 as well to see how to improve it next, but ubergrom has many more options, so i thought it would be good base to work with, instead of rolling my own updated pop-cart, which i might still do in the near future, but why reinvent the wheel if existing designs can be max. out better.

  • Like 3
Link to comment
Share on other sites

40 minutes ago, Gary from OPA said:

the issue i had with all these devices that support large amount of rom and multiple grom bases is none of them work correctly like how it should. For example I should be able to have Ext. Basic in Grom Base 0 and Terminal Emulator II in Grom Base 1 and both cartridges each have their own paged rom area, and be able to use them together, only my pop-cart device did that correctly, by latching the grom base active and splitting the bank rom area up into the matching sections.

Is this the same method as Thierry's mod (specifically the ROMs part):

 

https://www.unige.ch/medecine/nouspikel/ti99/widget.htm#Modifying

 

My device does what he describes, but in software.  I'll have to try a build to see if I can "say anything" from TI-XB.

  • Like 2
Link to comment
Share on other sites

Posted (edited)
19 minutes ago, JasonACT said:

Is this the same method as Thierry's mod (specifically the ROMs part):

 

https://www.unige.ch/medecine/nouspikel/ti99/widget.htm#Modifying

 

My device does what he describes, but in software.  I'll have to try a build to see if I can "say anything" from TI-XB.

Yes basically that is correct. I was going to try to get a widget to mod it but they like 100 bucks plus shipping and back in the day I built my own 8 slot cartridge expander that did this and in my pop-cart and the xbiii+ module I made for Asgard all this was done in 3 gal22v10 chips including the grom simulator, so it should be easy enough to modify the avr code to output the latched grom base and send it to the ROM flash side if not adding the 374 could be done instead.

Edited by Gary from OPA
  • Like 1
Link to comment
Share on other sites

1 hour ago, Gary from OPA said:

this for example allows you to use the TEII "speech" device without issues while in X/Basic program

It works.  Tried it in TI-XB, RXB-2024 and 2.9GEM.  Myarc XBII got an IO error 00 :)

  • Like 1
Link to comment
Share on other sites

1 hour ago, JasonACT said:

It works.  Tried it in TI-XB, RXB-2024 and 2.9GEM.  Myarc XBII got an IO error 00 :)

That's good to know. I going to be looking at get a pi and building one in the near future, just hard parts wise for shipping costs in Canada and money is tight until I start to earn some money again myself. I going to read up on more of what your device does, and add it to my list of things to get and to see what to improve if possible. So much catching up to do.

  • Like 4
Link to comment
Share on other sites

On 3/7/2024 at 11:40 PM, Gary from OPA said:

thanks, yeah i don't have MPD or TIPI sidecar or even my SOB so i have nothing but original hardware, so overriding the console groms would not be issue for me. so some clear instructions on how to change the code to do, i reading all doc and will look at how i can easy to do.

 

as for 512k rom i know it is banked in 8k increments, but see the issue i had with all these devices that support large amount of rom and multiple grom bases is none of them work correctly like how it should. For example I should be able to have Ext. Basic in Grom Base 0 and Terminal Emulator II in Grom Base 1 and both cartridges each have their own paged rom area, and be able to use them together, only my pop-cart device did that correctly, by latching the grom base active and splitting the bank rom area up into the matching sections. this for example allows you to use the TEII "speech" device without issues while in X/Basic program, and opens up so many options like how its designed to be using existing code without doing major rewrites to rom assembly area, allowing to you mix and match any cartridge.

 

so if you have 16 banks of Grom as per the review module library system, you should also have 16 banks of paged/rom as well -- so the 512k flash should be divided into 16 blocks of 32k each or at least 8 blocks of 64k each for those wanting more rom space, then you can properly use the op-codes DSWGR & RTGR and know that your cartridge rom is switching with you as well. -- i hope you follow my logic here, it should be a simple change to the code in avr, to output the current grom base being used, and have that going to the upper address pins of the flash, instead of them all going to the 378 logic.

 

once i get it up and running correctly i will publish my findings and changes so all can enjoy, and look at the finalgrom99 as well to see how to improve it next, but ubergrom has many more options, so i thought it would be good base to work with, instead of rolling my own updated pop-cart, which i might still do in the near future, but why reinvent the wheel if existing designs can be max. out better.

Yep, that sounds awesome.  We haven't had a ROM/GROM matching algorithm to go with the "Review Module Library" (for those modules that work at other GROM bases).  The HSGPL worked kind of like this; the only caveat was that we found some carts that didn't like being at the non-default GROM base.  Ours has always been the "one game, one ROM" mentality in the past, so I'm excited to see your release where you're adding these hooks in GROM to do matching/pairing!  (Edit:  Sure would make it easier on homebrew too if there were a paired GROM/ROM active at the same time - double the assets available without having to trampoline.)

Link to comment
Share on other sites

2 hours ago, acadiel said:

Yep, that sounds awesome.  We haven't had a ROM/GROM matching algorithm to go with the "Review Module Library" (for those modules that work at other GROM bases).  The HSGPL worked kind of like this; the only caveat was that we found some carts that didn't like being at the non-default GROM base.  Ours has always been the "one game, one ROM" mentality in the past, so I'm excited to see your release where you're adding these hooks in GROM to do matching/pairing!  (Edit:  Sure would make it easier on homebrew too if there were a paired GROM/ROM active at the same time - double the assets available without having to trampoline.)

some carts have bad coding, but they can be patched, my original program for my Pop-Cart, would scan the G/K images being added and make patches for ones that I figured out, it is normally a simple scan to spot the code, as alot of it do with version of GPL Macro Assembler they were originally assembled with, there a series of various macros that handled multiple banks and also some cartridges have a bad habit of using fixed addresses in the console grom 0 and part of ti basic as well, so sections of grom 0 and grom 1 have to be mirrored into the other grom bases if you doing a total override as well.

 

my pop-cart cartridge making program would also scan regular e/a5 assembly programs and patch their dsrlnk usage as well so it would handle a cartridge dsr which i called CART. which greatly allowed for better block management of using extra rom/grom area not used by cartridges with empty spaces mapped as sectors into a ROMDISK for programs, allowing for simple as is loading of support files, without any rewriting of original assembly just changing DSK1 to CART and patching the dsrlnk to scan the grom space.

 

converting the ubergrom to how my pop-cart was looks easy enough once i got one converted and tested, i will release more details and info, just one of many little things i want to do, one step at a time.

  • Like 3
Link to comment
Share on other sites

2 hours ago, Gary from OPA said:

some carts have bad coding, but they can be patched, my original program for my Pop-Cart, would scan the G/K images being added and make patches for ones that I figured out, it is normally a simple scan to spot the code, as alot of it do with version of GPL Macro Assembler they were originally assembled with, there a series of various macros that handled multiple banks and also some cartridges have a bad habit of using fixed addresses in the console grom 0 and part of ti basic as well, so sections of grom 0 and grom 1 have to be mirrored into the other grom bases if you doing a total override as well.

 

my pop-cart cartridge making program would also scan regular e/a5 assembly programs and patch their dsrlnk usage as well so it would handle a cartridge dsr which i called CART. which greatly allowed for better block management of using extra rom/grom area not used by cartridges with empty spaces mapped as sectors into a ROMDISK for programs, allowing for simple as is loading of support files, without any rewriting of original assembly just changing DSK1 to CART and patching the dsrlnk to scan the grom space.

 

converting the ubergrom to how my pop-cart was looks easy enough once i got one converted and tested, i will release more details and info, just one of many little things i want to do, one step at a time.

Using the cartridge space as a ROMDISK is a real cool feature to say the least. This is a topic I’d like to take a closer look myself.

If I’m not mistaking there’s another romdisk project by Fred, but might be wrong here and have no details on that.
My purpose is, to distribute DV80 files on my Stevie editor cartridge image. Unfortunately all of this is on hold for now, because of real-life sh*t called work. Oh well.

 

  • Sad 1
Link to comment
Share on other sites

So I don't believe my license allows you to distribute a version of the UberGROM code with the console GROMs unlocked...

 

"Please review the license before modifying code. It's not GPL. :)"

 

"// This is NOT GPL or any other ""free"" software license. 
// If you want to create any form of derived work or otherwise use my code, 
// you MUST contact me and ask. I don't consider this a huge obstacle in
// the internet age. ;)"

 

"// this system will not allow you to conflict with the console GROM space (0000,2000,4000)
// and it will not. Change this behaviour at your own risk but please do not distribute
// cartridges that do so (my own MPD will use a variant of this code inside the console,
// the conflict could damage it, your cartridge, or both)"

 

But you know, only nerds read.

 

 

  • Like 1
Link to comment
Share on other sites

If you want to adapt it to bank the ROM and release a new cart, I'd rather the changes not land in a fork but submit a patch for the main code. I'd rather that another modified release of my code not be productized though, especially when the only requirement is to ask. ;)

 

Anyway, it successfully overrides the console GROMs from the cartridge port. If you want it to operate as the SOLE GROM in the system you need to implement address read-back. I tested that and it was working but damned if I know where the code is. 

 

  • Like 2
Link to comment
Share on other sites

Posted (edited)
1 hour ago, Tursi said:

If you want to adapt it to bank the ROM and release a new cart, I'd rather the changes not land in a fork but submit a patch for the main code. I'd rather that another modified release of my code not be productized though, especially when the only requirement is to ask. ;)

 

Anyway, it successfully overrides the console GROMs from the cartridge port. If you want it to operate as the SOLE GROM in the system you need to implement address read-back. I tested that and it was working but damned if I know where the code is. 

 

Thanks. Yes. I read all the licensing and such. And I don't plan on directly releasing anything without of course your permission and this mainly for my own interests and internal development. So I can continue to improve my sob and other coding and improvement that I have planned in the future.

 

There are so many different cartridges out there, besides UberGROM, now finalgrom99 and then strange cart and now even Pico w sidecar that can all do grom and some can override console groms as well, plus there grommy I think is called for inside of the console. I have not read of your MFD that sounds cool as well.

 

If I do release my own updated pop-cart at some point it would have to be something better somehow then anything out their currently and that is a tall order so for now I just want to get my own thing working for myself to continue my projects until I get to the point I can put together something worthwhile that 99ers will want that doesn't step on anyone else's toes etc.

Edited by Gary from OPA
  • Like 4
Link to comment
Share on other sites

I think the one thing we're still missing today is a barebones EPROM-based cartridge that combines 512kb ROM with a simple GROM emulator. Something that can be used to manufacture homebrew carts and can be used on QI consoles. I know the Ubergrom can in principle be used for this, but with a ~25$ Atmega on there, it is perhaps a bit too powerful (and hence expensive) to be viable as a simple, affordable homebrew platform. Although I honestly don't know what the cheapest way to emulate a GROM would be these days...

Link to comment
Share on other sites

Posted (edited)
37 minutes ago, TheMole said:

I think the one thing we're still missing today is a barebones EPROM-based cartridge that combines 512kb ROM with a simple GROM emulator. Something that can be used to manufacture homebrew carts and can be used on QI consoles. I know the Ubergrom can in principle be used for this, but with a ~25$ Atmega on there, it is perhaps a bit too powerful (and hence expensive) to be viable as a simple, affordable homebrew platform. Although I honestly don't know what the cheapest way to emulate a GROM would be these days...

Bares bones would had been my original pop cart. Just 3 22v10 pals and two eproms. But for at home usage you would need an eprom programmer. No way to load it up from TI99 itself.

Edited by Gary from OPA
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...