JJB Posted September 16, 2021 Share Posted September 16, 2021 12 hours ago, mizapf said: Are these genuine hardware signals? I'm just curious to see whether I did it right in the MAME emulation. Yes, straight from the GROM port's mouth ? 2 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted September 17, 2021 Share Posted September 17, 2021 15 hours ago, Tursi said: I posted timing diagrams for all kinds of reads and writes here as well, a few years back: https://docs.google.com/document/d/16seTZczVk_We9FNbwMp2q5hLOKgwkVJitHrRKoH4VAo/edit?usp=sharing As you said so, I remember I actually checked them back then. Maybe just a reflex, I'm always interested in real-iron signal traces. ? Which reminds me that I actually hope for a READY trace of the Geneve when doing video accesses. This is where the emulation is still a bit away from reality, but mainly because I don't understand why the real system behaves the way it does. 1 Quote Link to comment Share on other sites More sharing options...
JJB Posted November 16, 2021 Share Posted November 16, 2021 Hi all, Further status update, I now have a side-by-side logic analyzer picture of the problem including the piece of code that is affected by it: elsif falling_edge(GS) then if DBIN = '0' and BUS_AX(1) = '1' then -- set GROM address newGrom := gromAddr(7 downto 5); grom <= newGrom; gromAddr <= gromAddr(4 downto 0) & BUS_DX; <--- this is the problem As you can see in the left LA pic, on the QI there is a 50ns delay between GROM Select (GS) becoming low and valid data on the databus. The classic TI (right pic) has no such delay. The FG99 CPLD code is executed on GS becoming low (falling edge) and reads the databus (BUS_DX) immediately to construct the GROM address. As the CPLD is lightyears ahead in terms of speed to the TI, those 50ns are an eternity and FG99 reads >FF from the databus every time (on the QI the databus is permanently pulled up to +5V). I am still no VHDL / CPLD / FPGA / parallel-processing expert so I have posted on a couple of forums to get some ideas how to deal with these asynchronous events. I got some useful feedback / ideas to test out. I will also send Ralph an update, being much more of a CPLD wizard maybe he has a bright idea. Somehow I did manage to blow up my FG99 during testing and the new one will take time to make its way to New Zealand so stay tuned. 7 4 Quote Link to comment Share on other sites More sharing options...
JJB Posted November 30, 2021 Share Posted November 30, 2021 (edited) OK, finally result as I can now more or less run anything FG99 on the QI. Starting up is still a bit of a hack (see below) but I think that can be fixed. Downside currently is that it requires minor hardware surgery (cutting the GS track) and FG99 won't run on the classic TI without adding a switch of some sort to bypass the mod: While I am still working on a software solution (CPLD update), I have taken Ralph's suggestion and added a RC delay to GS*. After extensive testing I have settled on 10R for the resistor and 680pF for the capacitor. The 680pF is a nice middle value between the getting-flaky values of 440pF and 1000pF and is close enough to the 50ns delay it needs. Ok, on to the whacky starting-up procedure of FG99 images; first bit is normal: SD folders that have less than 21 files in them don't work; FG99 tries to construct the menu but ends up flashing the led with a variety of error codes (2, 3 and 4 flashes). These codes seem SD-card related but it all runs fine on the classic TI. Anyway, that's why I have put all my FG99 files into 2 folders (max 171 files per folder): After choosing a folder I get this rather empty screen: I then have to reset the console, choose FG99 again from the main menu after which I get straight into the sorted folder listing: If I choose a particular program I get that funny empty screen again; if I then reset the console I have the program listed in the main menu and it runs normally: If I can fix the whacky startup we have at least a simple mod to make FG99 work on the QI; i realise it is not a simple mod for a lot of users but it would be simple enough for the likes of ArcadeShopper and Brewing Academy to provide a mod service maybe? I'll keep you posted, Jochen Edited November 30, 2021 by JJB 7 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted November 30, 2021 Share Posted November 30, 2021 2 hours ago, JJB said: OK, finally result as I can now more or less run anything FG99 on the QI. Starting up is still a bit of a hack (see below) but I think that can be fixed. Downside currently is that it requires minor hardware surgery (cutting the GS track) and FG99 won't run on the classic TI without adding a switch of some sort to bypass the mod: Any thoughts on modifying the QI GROM port riser, instead of surgery on the FG99? 2 Quote Link to comment Share on other sites More sharing options...
JJB Posted November 30, 2021 Share Posted November 30, 2021 46 minutes ago, OLD CS1 said: Any thoughts on modifying the QI GROM port riser, instead of surgery on the FG99? Yes good point; I guess it's easier to modify FG99 than the riser (more space, mod can be made to toggle on/off) + all other cartridges seem to run fine on the QI? There's also the potential risk that some cartridges are now going to misbehave (unlikely but possible). 1 Quote Link to comment Share on other sites More sharing options...
JJB Posted December 5, 2021 Share Posted December 5, 2021 Some more info based on further experimentation; switching the delay circuit in and out is not as simple as mechanically (dis)connecting the capacitor to ground due to stray capacitance in the connection wires and the switch. I have come up up with this little circuit that seems to work well: It uses a 2N7000 small-signal N-MOSFET as I have them in my parts bin but no doubt you can use many other comparable ones. 2 1 Quote Link to comment Share on other sites More sharing options...
Calab Posted December 21, 2021 Share Posted December 21, 2021 (edited) Just wondering... Has anyone made any progress with the firmware update for the FinalGROM99 to work in a QI? If not, is the schematic above the best way to deal with the issue? I ask because I just figured out that my beige TI-99/4a has old GROMs but is a QI mainboard. Oh... and has anyone tested the fix applied internally to the TI to see if it affects anything else? That would eliminate the need to switch it on/off. Edited December 21, 2021 by Calab 1 Quote Link to comment Share on other sites More sharing options...
JJB Posted December 24, 2021 Share Posted December 24, 2021 On 12/22/2021 at 7:51 AM, Calab said: Just wondering... Has anyone made any progress with the firmware update for the FinalGROM99 to work in a QI? If not, is the schematic above the best way to deal with the issue? I ask because I just figured out that my beige TI-99/4a has old GROMs but is a QI mainboard. Oh... and has anyone tested the fix applied internally to the TI to see if it affects anything else? That would eliminate the need to switch it on/off. I am still working on a possible CPLD firmware update but it's not easy; the CPLD does not have the space available to further synchronise separate processes. Delaying GS* and fixing the garbled menus is probably going to be my solution for now. For the latter I think I need to update the microcontroller rather than the CPLD code which should be easier. It took me a while to get the AVR toolchain up and running for that but it's working now. I am pretty sure modifying the QI console with the RC delay circuit would work but keep in mind the RC circuit is a quick and dirty solution, it it not exactly a recommended way to delay digital signals. Personally I think it's fine to make the FG99 work but I prefer to keep my QI console original. You will need to test a variety of original cartridges as well if you want to be sure it doesn't screw up anything. 3 Quote Link to comment Share on other sites More sharing options...
AwkwardPotato Posted December 26, 2021 Share Posted December 26, 2021 On 12/24/2021 at 5:19 PM, JJB said: I am pretty sure modifying the QI console with the RC delay circuit would work but keep in mind the RC circuit is a quick and dirty solution, it it not exactly a recommended way to delay digital signals. Personally I think it's fine to make the FG99 work but I prefer to keep my QI console original. You will need to test a variety of original cartridges as well if you want to be sure it doesn't screw up anything. Another possible solution: using a 74LS04, and putting either 2 or 4 inverters in series between GS# line from the QI TAL and GS# line of the cartridge port. Delay time per inverter would be consistent between different TI units so long as wires are kept short, eliminating RC component tolerances as a potential issue, and it might be possible to mount the LS04 on the back of the cartridge slot riser. 1 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted December 26, 2021 Author Share Posted December 26, 2021 Or a small cart port extension PCB?Sent from my Pixel 6 Pro using Tapatalk 1 Quote Link to comment Share on other sites More sharing options...
wierd_w Posted December 26, 2021 Share Posted December 26, 2021 A compatibility dongle might work, but you would need a reliable way to extract it if your FG99 came out without it. Perhaps integrate it into a custom added length housing for the FG99? That way they always stay together? 2 Quote Link to comment Share on other sites More sharing options...
AwkwardPotato Posted December 26, 2021 Share Posted December 26, 2021 (edited) Cart port dongle, or cleaner yet, a new cartridge port riser board with option to use either an RC network or LS04. Could potentially kill two birds with one stone, one being the QI fix and the other being a replacement for worn-out cartridge ports. Edit: And if such a thing were made through the SMT assembly services offered by practically all cheap board houses, it could be a no-solder drop-in fix. Edited December 26, 2021 by AwkwardPotato Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted December 26, 2021 Author Share Posted December 26, 2021 Cart port dongle, or cleaner yet, a new cartridge port riser board with option to use either an RC network or LS04. Could potentially kill two birds with one stone, one being the QI fix and the other being a replacement for worn-out cartridge ports. Edit: And if such a thing were made through the SMT assembly services offered by practically all cheap board houses, it could be a no-solder drop-in fix.I have a case of original replacement risers happy to toss one in with any other order at my siteSent from my Pixel 6 Pro using Tapatalk 2 Quote Link to comment Share on other sites More sharing options...
Calab Posted December 26, 2021 Share Posted December 26, 2021 16 hours ago, AwkwardPotato said: Another possible solution: using a 74LS04, and putting either 2 or 4 inverters in series between GS# line from the QI TAL and GS# line of the cartridge port. Delay time per inverter would be consistent between different TI units so long as wires are kept short, eliminating RC component tolerances as a potential issue, and it might be possible to mount the LS04 on the back of the cartridge slot riser. This would be a bit more difficult, but a lot cleaner signal wise... But you would still have to deal with the messed up menus. I just wish I knew something about this so I could help out. Adding a delay seems like a simple code fix, but that's easy to say when I don't know what I'm talking about. Not having enough room for extra code makes it doubly difficult. Quote Link to comment Share on other sites More sharing options...
JJB Posted December 26, 2021 Share Posted December 26, 2021 3 hours ago, Calab said: This would be a bit more difficult, but a lot cleaner signal wise... But you would still have to deal with the messed up menus. I just wish I knew something about this so I could help out. Adding a delay seems like a simple code fix, but that's easy to say when I don't know what I'm talking about. Not having enough room for extra code makes it doubly difficult. Unfortunately in this case there is no such thing as adding a simple delay in software. That's what I was thinking initially as I was used to programming sequential devices such as microcontrollers etc. but these CPLD's work quite differently and without some sort of master clock driving the whole thing (as is the case with FG99) it's very difficult to synchronise the various processes. The CPLD used likely lacks the space for adding this synchronisation. I may be actually surprising the FG99 works that well on so many consoles anyway given differences in component tolerances, temperature, aging etc. Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted December 27, 2021 Share Posted December 27, 2021 I am curious to know what circuit(s) is(are) responsible for the 50ns delay between GS* and valid data. Quote Link to comment Share on other sites More sharing options...
JJB Posted December 27, 2021 Share Posted December 27, 2021 1 hour ago, OLD CS1 said: I am curious to know what circuit(s) is(are) responsible for the 50ns delay between GS* and valid data. GS* (GCS* pin 18 below) and other timing signals are generated by the TAL: 1 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted December 27, 2021 Share Posted December 27, 2021 26 minutes ago, JJB said: GS* (GCS* pin 18 below) and other timing signals are generated by the TAL: So the QI logic array is faster than the original circuitry. On the one hand, neat. OTOH, here we are. Quote Link to comment Share on other sites More sharing options...
+acadiel Posted December 27, 2021 Share Posted December 27, 2021 On 12/25/2021 at 9:46 PM, arcadeshopper said: Or a small cart port extension PCB? Sent from my Pixel 6 Pro using Tapatalk @Ksarul and I have for years talked about a sidecar cartridge port - compatible with the cart port, but having the "extra pins" on a second connector if someone wanted to make an uber cart that used the sound input and other pins not present on the cart port. It would have pass through as well for peripherals. It's just another thing on the backlog - like the DSR ROM board that @F.G. Kaal and I were working on for RomDisk (the cartridge that acts like ROM only disk storage...) 2 Quote Link to comment Share on other sites More sharing options...
wierd_w Posted December 27, 2021 Share Posted December 27, 2021 5 hours ago, acadiel said: @Ksarul and I have for years talked about a sidecar cartridge port - compatible with the cart port, but having the "extra pins" on a second connector if someone wanted to make an uber cart that used the sound input and other pins not present on the cart port. It would have pass through as well for peripherals. It's just another thing on the backlog - like the DSR ROM board that @F.G. Kaal and I were working on for RomDisk (the cartridge that acts like ROM only disk storage...) It would be useful for some of the end-of-life TIs that were shipped without a cartridge port, that's for sure. A sidecar cartridge port would be the ONLY way such a console could use an FG99, short of radical invasive surgery. 1 1 Quote Link to comment Share on other sites More sharing options...
jrhodes Posted December 27, 2021 Share Posted December 27, 2021 2 hours ago, wierd_w said: It would be useful for some of the end-of-life TIs that were shipped without a cartridge port, that's for sure. A sidecar cartridge port would be the ONLY way such a console could use an FG99, short of radical invasive surgery. I never there were models without a cartridge port?! How (un)common are these? 1 Quote Link to comment Share on other sites More sharing options...
Calab Posted December 28, 2021 Share Posted December 28, 2021 Just to clarify... This is the simplest form of the QI FinalGROM99 hack: 2 1 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted December 29, 2021 Share Posted December 29, 2021 On 12/27/2021 at 1:49 PM, wierd_w said: It would be useful for some of the end-of-life TIs that were shipped without a cartridge port, that's for sure. A sidecar cartridge port would be the ONLY way such a console could use an FG99, short of radical invasive surgery. That is a bizarre console. I have never seen one without a cartridge port. There were planned variants without the side port though (they used Hex-Bus instead). Looking carefully at the picture here, it looks like the narrow strip at the top of the cartridge slot above the piece blocking the door is a different , manual addition. It would require more pix or the physical case to be certain. . . 1 Quote Link to comment Share on other sites More sharing options...
Airshack Posted December 29, 2021 Share Posted December 29, 2021 (edited) The non-QI 99/4A units are still really cheap here: http://www.shopgoodwill.com Interesting project though. Just an FYI. Edited December 29, 2021 by Airshack 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.