Gary from OPA Posted March 14 Author Share Posted March 14 3 hours ago, TheMole said: Yeah, the use case would be to pre-program and distribute homebrew game carts, so not having a way to program on the TI would not be an issue for that Is the pop cart documented somewhere? Sadly, it was designed back in the pre internet days before GitHub and cloud, and I lost many original materials during the big hurricane Matthew in Dominican Republic, but I am now restarting my original love of TI99 passion and plan to release new hardware and software, and there seems to be a market still for what your talking about a simple homebrew cartridge that can handle grom as well, so I will be looking at reproducing my original pop-cart and releasing it. At the speed things are going in my life it still will be a few months away, but I made good progress since coming back to Canada at the end of May, faster than I thought I would so that is good, everyday slowly getting better including my health as well which is the most important part. I will keep your suggestions in mind, at add this to my list of things to complete as earlier as possible. Thanks for your support and interest. 4 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429101 Share on other sites More sharing options...
Tursi Posted March 14 Share Posted March 14 18 hours ago, Gary from OPA said: 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. Yeah, sorry. Just seeing that post and then everyone jumping on it re-opened old wounds you wouldn't have known about. I had really high hopes for that code when I built it, and it was leaked and immediately modified and used in a commercial product without my involvement. I was then attacked in the forums for the design decisions I made, cause that wasn't enough. TBH I think after that I threw up my hands and said whatever. But it was a bit of a sting to see it all popping up again. I don't know if I'll ever release MPD at this point. It was another thing I was really excited for but I've been continuously stalled because I wanted to release it with both a shell and a GUI mode. There are great shells available now I could probably ask for, but I've been reluctant to start the GUI, mostly because it's hard to control feature creep. It's probably enough to be able to run TI 99/4, 4A and 2.2 (plus the simulated 8), that's all in there and working. But I wanted that little bit more. Looks like I don't have a video anymore... I purged my Youtube some years ago and didn't have local copies of them. But here it is for Classic99. There's some custom emulation involved for the paging, but it's essentially running on the UberGROM code with the banking copied to RAM so it can be updated without wearing the EEPROM, and some custom address hooks for things like mapping the 99/4A KSCAN into the 99/4. MPDIncomplete.zip 1 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429277 Share on other sites More sharing options...
Tursi Posted March 14 Share Posted March 14 (edited) 9 hours 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... That ATMega is $7 on Mouser, where are you seeing $25? https://www.mouser.com/ProductDetail/Microchip-Technology/ATMEGA1284-PU?qs=lwdSMh1%2FoYI%2FXs3D3l%2Fp1w%3D%3D The entire point of the system was to size it to the GROM you need. You can use smaller ones for even less than that. Smaller pin-compatible parts go all the way down to $3. If you don't mind laying out your own PCB you can do it under a dollar. Going to be hard to reproduce that price point in discrete components, which was the point of building it on the AVR line. It attaches without glue to the TI bus and can literally be the only component on the board, if you desire. Edited March 14 by Tursi 2 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429280 Share on other sites More sharing options...
Gary from OPA Posted March 14 Author Share Posted March 14 19 minutes ago, Tursi said: Yeah, sorry. Just seeing that post and then everyone jumping on it re-opened old wounds you wouldn't have known about. I had really high hopes for that code when I built it, and it was leaked and immediately modified and used in a commercial product without my involvement. I was then attacked in the forums for the design decisions I made, cause that wasn't enough. TBH I think after that I threw up my hands and said whatever. But it was a bit of a sting to see it all popping up again. I don't know if I'll ever release MPD at this point. It was another thing I was really excited for but I've been continuously stalled because I wanted to release it with both a shell and a GUI mode. There are great shells available now I could probably ask for, but I've been reluctant to start the GUI, mostly because it's hard to control feature creep. It's probably enough to be able to run TI 99/4, 4A and 2.2 (plus the simulated 8), that's all in there and working. But I wanted that little bit more. Looks like I don't have a video anymore... I purged my Youtube some years ago and didn't have local copies of them. But here it is for Classic99. There's some custom emulation involved for the paging, but it's essentially running on the UberGROM code with the banking copied to RAM so it can be updated without wearing the EEPROM, and some custom address hooks for things like mapping the 99/4A KSCAN into the 99/4. MPDIncomplete.zip Yes, drama. Sorry you went through that. I missed some of it that is for sure. And I had my fair share of drama as well. And I for sure don't want to step on anyone toes and only want to make the ti99 world better for everyone but it is sad when people steal work for their own profit I had it happen to me as well in the past. Thanks for sharing some stuff and many thanks for these bare boards I built up, and of course your amazing classic99 emulator. 1 1 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429288 Share on other sites More sharing options...
Gary from OPA Posted March 14 Author Share Posted March 14 19 minutes ago, Tursi said: That ATMega is $7 on Mouser, where are you seeing $25? https://www.mouser.com/ProductDetail/Microchip-Technology/ATMEGA1284-PU?qs=lwdSMh1%2FoYI%2FXs3D3l%2Fp1w%3D%3D The entire point of the system was to size it to the GROM you need. You can use smaller ones for even less than that. Smaller pin-compatible parts go all the way down to $3. If you don't mind laying out your own PCB you can do it under a dollar. Going to be hard to reproduce that price point in discrete components, which was the point of building it on the AVR line. It attaches without glue to the TI bus and can literally be the only component on the board, if you desire. The parts are very affordable even in Canada I was able to build up these two UberGROM boards using mouser Canada for under 50 total for both, that less than 25 cad each. And that was with the 512k ROM flash as well, plus all sockets and caps and resisters and header pins and reset switch. 1 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429290 Share on other sites More sharing options...
Tursi Posted March 14 Share Posted March 14 12 hours ago, TheMole said: 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 I just have to add, this is /exactly/ what I developed the UberGROM for. The fact that people tried to use it as a flash cart is out of my hands, it was never meant for anything but people making new modules, and reproductions of Editor/Assembler and Extended BASIC -- because when I built it, we didn't have a way to do that. (Also, when I say UberGROM I mean only the AVR part -- the existing PCB board is thanks to Jim.) Now we have a wealth of options, so it's not as big a deal. But that's why I was disappointed. I was working really hard to release something that the community could use for both reproductions and new productions, both at a decent price point, and I not only got kicked in the ass for it, but to this day people are still talking about how it's too much and too expensive and too everything - when it's never been any of those things. People were just trying to use it as a flash cart and frustrated that it didn't do that, but I never said it would! 3 2 1 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429430 Share on other sites More sharing options...
Gary from OPA Posted March 14 Author Share Posted March 14 28 minutes ago, Tursi said: I just have to add, this is /exactly/ what I developed the UberGROM for. The fact that people tried to use it as a flash cart is out of my hands, it was never meant for anything but people making new modules, and reproductions of Editor/Assembler and Extended BASIC -- because when I built it, we didn't have a way to do that. (Also, when I say UberGROM I mean only the AVR part -- the existing PCB board is thanks to Jim.) Now we have a wealth of options, so it's not as big a deal. But that's why I was disappointed. I was working really hard to release something that the community could use for both reproductions and new productions, both at a decent price point, and I not only got kicked in the ass for it, but to this day people are still talking about how it's too much and too expensive and too everything - when it's never been any of those things. People were just trying to use it as a flash cart and frustrated that it didn't do that, but I never said it would! Yes you totally right. Is not expensive and I love the fact it uses no surface mount parts making it easy for anyone to assemble and all the parts are still available. And I would never think of it being a flash cart, it's for proper reproduction modules and for advanced forms of programming utilities like a new great xb. It is shame it didn't get the proper usage. Finalgrom99 is great for those that just want to run simple modules from a user menu. But overall it is twice to 3 times the cost and requires more professional assembly with its surface mount parts. 1 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429455 Share on other sites More sharing options...
+InsaneMultitasker Posted March 14 Share Posted March 14 I liked playing with what to me are some of the fun features, such as the ability to use the cart for serial "com" port applications. Some day I'll get to play with more as there is a lot to explore. 2 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429476 Share on other sites More sharing options...
Gary from OPA Posted March 14 Author Share Posted March 14 2 minutes ago, InsaneMultitasker said: I liked playing with what to me are some of the fun features, such as the ability to use the cart for serial "com" port applications. Some day I'll get to play with more as there is a lot to explore. Yes some of the options are nice. I was thinking you could even do a serial mouse via the com port if you were polling it enough. Maybe even a keyboard interface or drawing tablet like my super sketch device I have still in its box that was a neat cartridge beck in the day, and then there was the cartridges that had their own printer port as well. 1 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429479 Share on other sites More sharing options...
TheMole Posted March 15 Share Posted March 15 8 hours ago, Tursi said: That ATMega is $7 on Mouser, where are you seeing $25? https://www.mouser.com/ProductDetail/Microchip-Technology/ATMEGA1284-PU?qs=lwdSMh1%2FoYI%2FXs3D3l%2Fp1w%3D%3D The entire point of the system was to size it to the GROM you need. You can use smaller ones for even less than that. Smaller pin-compatible parts go all the way down to $3. If you don't mind laying out your own PCB you can do it under a dollar. Going to be hard to reproduce that price point in discrete components, which was the point of building it on the AVR line. It attaches without glue to the TI bus and can literally be the only component on the board, if you desire. I was looking at cartridge options a while back for Ghostbusters and a quick Google returned some surprisingly high results, so I discarded the idea. My bad, I should've looked a bit further, I didn't mean to spread FUD about the UberGROM. I also didn't realize the AVR connects to the bus directly, that's actually quite interesting. So it should be almost trivial to add it to an existing 512kb ROM-only design? My GROM needs are very limited (just need a start-up routine to ensure the cart starts up in bank one, and upload some character definitions to the VDP to spruce up the cartridge selection screen). The entire thing should fit in ~256 bytes. Any recommendations for the smallest/cheapest possible AVR that would work? Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429628 Share on other sites More sharing options...
Gary from OPA Posted March 15 Author Share Posted March 15 21 minutes ago, TheMole said: I was looking at cartridge options a while back for Ghostbusters and a quick Google returned some surprisingly high results, so I discarded the idea. My bad, I should've looked a bit further, I didn't mean to spread FUD about the UberGROM. I also didn't realize the AVR connects to the bus directly, that's actually quite interesting. So it should be almost trivial to add it to an existing 512kb ROM-only design? My GROM needs are very limited (just need a start-up routine to ensure the cart starts up in bank one, and upload some character definitions to the VDP to spruce up the cartridge selection screen). The entire thing should fit in ~256 bytes. Any recommendations for the smallest/cheapest possible AVR that would work? I think the smallest one is the atmega168 with 16kb of storage enough for two full 8k groms. And looks like price is only $2.94 usd from mouser: https://www.mouser.com/ProductDetail/Microchip-Technology/ATMEGA168A-PU 1 1 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429639 Share on other sites More sharing options...
Tursi Posted March 15 Share Posted March 15 (edited) Yeah. In theory, any AVR with enough I/O pins should work. In practice I remember trying a 168 and having some trouble with it, but I didn't dig too deeply. AVRs often have output current limits on some pins and I suspected that was the problem there, but it was just a single afternoon's test. I think I still have a tube of 168s somewhere. The minimal connection is 11 I/O pins (8 data, 3 control), every other function we can turn on or off as needed. IIRC it's usually dual purposed analog pins or the reset pin that cause the reduced current, if that is indeed the issue. The ATMega168 has 23 I/O pins so shouldn't have any trouble there. You'd also get EEPROM save memory for free using this approach, if you wanted it. For pin compatible the cheapest option looks like the ATMega16, which has just 16K but the same pinout as the 1284. Showing $4.33 at Mouser. This is also the controller I used for the PS/2 keyboard adapter - for the same reason. Glueless connection (but I did need to overclock it to 20Mhz with an external clock there). If you don't mind moving away from DIP entirely to surface mount you can get as small as the ATMega808 - this is the newer Mega-0 line and needs testing. Faster clock and such, but the 808 has 8k of flash, 1k of RAM, and 256 bytes of EEPROM (high score data! ) and has 23 I/O pins. These go for 97 cents in SOIC packaging - but we'd need to update the code to the new pinout and make sure it's still electrically compatible. This is probably as small as it's reasonable to go for a boot GROM and yet it still has enough pins left over for UART, I/O, ADC... (and, looks like the same family goes up to 48KB, so there's even program space available). The datasheet looks good. We'd have to test it though. I get the desire not to waste space... we're probably going to ship Super Space Acer on Ubercart* just because it already exists, despite the pitifully small amount of the ATMega it needs. But also happy to help get the smaller design working, though I probably need to build a new adapter for testing. The Mega-0 line looks like a nice upgrade. That said too, other people have also made microcontroller GROM emulation. And there's nothing saying this code can't be ported to just about anything with some effort. (* could be worse - my first plan was just to burn the gigacarts for it! ) Although... if you're going Ghostbusters... The ATMega's ADC inputs, if left floating, are insanely sensitive. I was able to alter the values in the test code by hovering my hand near them. If your game loop can afford a couple of extra GROM accesses, you could read one of the ADCs and toggle some LEDs on the GPIO outputs to indicate strength. With a little tinfoil antenna glued to the inside of the shell it should pick up even through the plastic. The ghostly flicker would make for a crude PKE meter. (Or, hell, for that matter, we can just burn it into the AVR code - that way it's working all the time, game or no. ) Edited March 15 by Tursi 1 2 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429696 Share on other sites More sharing options...
+OLD CS1 Posted March 15 Share Posted March 15 36 minutes ago, Tursi said: The ATMega's ADC inputs, if left floating, are insanely sensitive. I was able to alter the values in the test code by hovering my hand near them. Prime candidate for a Tarot cartridge. Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429701 Share on other sites More sharing options...
Tursi Posted March 15 Share Posted March 15 24 minutes ago, OLD CS1 said: Prime candidate for a Tarot cartridge. haha, true, that'd be a good random number seed. Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429709 Share on other sites More sharing options...
TheMole Posted March 15 Share Posted March 15 47 minutes ago, Tursi said: If you don't mind moving away from DIP entirely to surface mount you can get as small as the ATMega808 - this is the newer Mega-0 line and needs testing. Faster clock and such, but the 808 has 8k of flash, 1k of RAM, and 256 bytes of EEPROM (high score data! ) and has 23 I/O pins. These go for 97 cents in SOIC packaging - but we'd need to update the code to the new pinout and make sure it's still electrically compatible. This is probably as small as it's reasonable to go for a boot GROM and yet it still has enough pins left over for UART, I/O, ADC... (and, looks like the same family goes up to 48KB, so there's even program space available). The datasheet looks good. We'd have to test it though. I get the desire not to waste space... we're probably going to ship Super Space Acer on Ubercart* just because it already exists, despite the pitifully small amount of the ATMega it needs. But also happy to help get the smaller design working, though I probably need to build a new adapter for testing. The Mega-0 line looks like a nice upgrade. The benefit of SMD would be that it's fairly cheap to have the boards assembled by the PCB house, especially if it's components that are easily available in China. PCBWay quotes around ~1-6$ to assemble a PCB with a few SMD components (depending on number of pads, number of PCBs, etc...). As an example, a board like this (just something that looks to have similar complexity and size to what I assume an SMD cartridge would have), would cost anywhere from $5 to $11 depending on the order quantity (100 or 5 respectively), fully assembled. You'd still need to be able to program them in-situ of course (pogo-pin based programming jig perhaps?), but I think a generic and easily accessible and assembled cartridge based on the Ubergrom would be extremely cool to have. I think we'd see an nice uptick in homebrew projects that would end up actually shipping on phyiscal cartridge. But, I'm not a HW guy and there's a non-zero chance that I'm completely talking out of my rear end with all of the above... Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5429711 Share on other sites More sharing options...
Tursi Posted March 15 Share Posted March 15 The easy answer is to just buy the board Jim made. It's only a couple dollars more on the AVR but everything's done, tested, and working. 2 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5430219 Share on other sites More sharing options...
+Ksarul Posted March 18 Share Posted March 18 On 3/15/2024 at 7:27 PM, Tursi said: The easy answer is to just buy the board Jim made. It's only a couple dollars more on the AVR but everything's done, tested, and working. And I stayed with Thru-hole parts so that the boards could pretty much be assembled by anyone with a bit of soldering skill. The PLCC flash chip was a design decision based on a chance buy of a couple of thousand of the flash chips I used on the board for an insanely low price (bought sometime before I ever started working on the board with Tursi and Jon). I've used most of those up over the years for this and other projects, but they were a definite motivator. The plethora of options are the result of our brainstorming sessions and the desire to make the board do pretty much anything it could do without the designer having to resort to board surgery. We met that goal. . .and it was a definite team effort from beginning to end. I had a similar parts-epiphany when I found a whole bunch of 27C4000 EPROM chips (512Kx8) for about 30 cents each. Almost nothing out there can program them--but a few programmers will program their 27C4001 sibling which uses the same programming algorithm. One IC adapter later, I can program them on one of my programmers (the other one that says it can program the 27C4001s fails, but the BK Precision 844 works fine) and a few minor mods to the 512K red boards later and I can use them at will (current Red boards have this capability built-in). It is for weird experiments like this that I have 7-8 different EPROM programmers. . . Last but not least, a major shout out to Tursi for writing the software that made these boards so versatile. There is actually a pretty steady demand for the boards, as they are a completely different use-case than the FinalGROM or the various GRAM solutions. Sometimes, you just need that purpose-built cartridge, and the Blue boards with Tursi's wonderful software implementation meet that need quite well. 3 1 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5431531 Share on other sites More sharing options...
1980gamer Posted October 29 Share Posted October 29 This is all way beyond me, but will any of these carts be able to play an XB compiled game on a standard console, without expansion? That is, can the footprint be read by the console and not need additional ram? OR can RAM be added to the Cart? Thank you all! Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5557168 Share on other sites More sharing options...
+Ksarul Posted October 30 Share Posted October 30 22 hours ago, 1980gamer said: This is all way beyond me, but will any of these carts be able to play an XB compiled game on a standard console, without expansion? That is, can the footprint be read by the console and not need additional ram? OR can RAM be added to the Cart? Thank you all! A compiled game consisting of a single 8K file would probably run fine if set to run from cartridge space when compiled--but I'm pretty sure that the output files from the compiler will be larger than that. With that, most compiled games expect to be lobbed into the 32K space and launched from there--and adding RAM to a cartridge won't change that behavior, as the potential RAM space in a cartridge is limited to 8K in the TI memory map, which won't get you to the 32K you need. 1 1 Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5557603 Share on other sites More sharing options...
1980gamer Posted October 30 Share Posted October 30 Thank you, @Ksarul I was thinking along the lines of a game console. Talk of replacing console ROM via the cart. I was thinking, that would be able to open up the memory map and allow a 32k footprint. It is a bummer we cannot make playable carts for a standard console from the XB compiler. Quote Link to comment https://forums.atariage.com/topic/362763-making-programming-assembling-new-ubergrom-cartridges-and-64k-cartridges-images/page/2/#findComment-5557631 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.