Jump to content
IGNORED

Modify QI console for finalgrom99 use


arcadeshopper

Recommended Posts

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.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

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:

 

1562483172_QIvsClassic-GROMtiminghires.thumb.jpg.01d97f9f7831ef0e7d5187981705f180.jpg

 

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.

 

  • Like 7
  • Thanks 4
Link to comment
Share on other sites

  • 2 weeks later...

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:

 

FG99QI-0.1.thumb.jpg.40d341bc1ce16ba8e5859225a9941de7.jpg

 

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:

FG99QI-1.thumb.jpg.a1cdbbea9de09dd1e062819ebaf478f7.jpg

 

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

FG99QI-2.thumb.jpg.ec27003e71d6307312881805d52795de.jpg

 

After choosing a folder I get this rather empty screen:

FG99QI-3.thumb.jpg.a3b9ffe438ff85300160b9fd97d62a76.jpg

 

I then have to reset the console, choose FG99 again from the main menu after which I get straight into the sorted folder listing:

FG99QI-5.thumb.jpg.f03d16509ac8e2cff26693d24669dffa.jpg

 

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:

FG99QI-7.thumb.jpg.008dfb5e1cef9af87b4d043450db76ba.jpgFG99QI-8.jpg.1c422d894e47c03f2114fd07c26a9dc9.jpg

 

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 by JJB
  • Like 7
Link to comment
Share on other sites

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?

  • Like 2
Link to comment
Share on other sites

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

  • Like 1
Link to comment
Share on other sites

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:

 

image.thumb.png.93c443fe1840fcc9958aaa04c3c01c15.png

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.

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

  • 3 weeks later...

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 by Calab
  • Like 1
Link to comment
Share on other sites

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.

 

 

 

 

 

 

  • Like 3
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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 by AwkwardPotato
Link to comment
Share on other sites

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 site

Sent from my Pixel 6 Pro using Tapatalk

  • Like 2
Link to comment
Share on other sites

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. 

Link to comment
Share on other sites

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.

 

 

Link to comment
Share on other sites

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

  • Like 2
Link to comment
Share on other sites

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.

 

SDC12295.jpg

 

A sidecar cartridge port would be the ONLY way such a console could use an FG99, short of radical invasive surgery.

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

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.

 

SDC12295.jpg

 

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?

  • Like 1
Link to comment
Share on other sites

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.

 

SDC12295.jpg

 

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

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