Jump to content
IGNORED

TI-99/4A quality version 2.2 rom downgrade? Crazy mod ideas


haxtor

Recommended Posts

I just got my second TI-99/4A to use for experimenting and abusing with crazy mod ideas I have.

Main problem i forsee is that it has version 2.2 roms.

I have a working eprom programmer and the ability to program atmel chips. I was wondering if it would be possible to downgrade the 2.2 roms to a earlier version that will let me use custom carts I plan on makeing?

 

Has anyone ever done this before?

 

Would I have to downgrade both the roms and groms?

 

Im thinking if I have to downgrade the groms I could probaly emulate them with an arduino or two :)

 

One thing I really want to try is to put leds on every data and chip select line on the board so you can see what is happening while programs run as a nice visual mod. Im wondering if simple transistor circuit should be enough to not cause any interfearance or could i just wire the Leds with a resistor to the various buses?

 

Another very crazy idea I have is to remove all the standard ram and replace it with fram. If done properly you could simply power off the TI-99/4a and turn it back on and not loose any data. If not possible for the main memory maybe a memory expansion?

 

While still excited with ideas I was also toying with the idea of a new expansion buss interface to newer technologies like i2c, spi, uart, dmx, bluetooth, even a simple arduino interface would be fun to use.

 

 

 

I love to push technology to its limits and make things do tasks they were never designed to do :)

Link to comment
Share on other sites

I've toyed with the concept of the LEDs, but never done it (I got as far as buying the LEDs ;) ).

 

However, the 'downgrade' mod I've done. As part of my MPD project I got all three revisions of the console OS working on a 99/4A. The ROM itself is identical between the regular 4A and the v2.2, and so is TI BASIC. Only GROM 0 changed. So, if you replace GROM0 with the regular 4A one, it will work just fine. My AVR GROM simulator code is on my webpage (http://harmlesslion.com/software/simulator)

 

You'll have trouble with the FRAM idea - and the problem is the reset circuit (which is important!) Even though the RAM contents won't have changed, the CPU will go into reset and restart. The VDP will also be reset, losing any register settings that were made. Likewise, the GROMs will lose their address setting. Worse, the sound chip will NOT be reset, and will come up in a random state, so even if you overcome the CPU reset, you'll lose your VDP settings and the sound chip will be blasting a random (and usually loud) tone.

 

The best way to handle resume would be a combination of hardware and software. You need a microcontroller that sniffs the VDP bus so that you can track all VDP register changes and the current VDP address/prefetch data. You might want to also track sound state, but it might be okay to discard this. Finally, you need a big cap on the CPU to run it for a few milliseconds without power. When the switch powers off, the microcontroller needs to trigger a LOAD interrupt (as the best NMI, the vector needs to be pre-loaded, either by custom ROM or by having the uC bank-switch the RAM). The CPU should immediately save the GROM address, its PC and its WP, and the uC is responsible for saving the VDP state (and sound state if tracked).

 

On powerup, the uC should check for valid sleep information, holding the CPU until it's ready to start. If it's valid, it should create a small startup stub for the CPU to execute that resets the VDP (and either silences the sound chip or reloads it), loads the GROM address, sets the WP, and branches to the PC. Again, might be simplest if the uC manages RAM so it can bank its own space in temporarily.

 

I'm sure that's an oversimplification, but that's one way to do it. It would be easier to use a separate sleep button than trying to react to the power switch, but then you need to implement software control of the power supply too. (Maybe replace with an ATX?)

 

Yes, it's fun to push. ;)

Link to comment
Share on other sites

Good to see another hardware hacker on the forum. I can't wait to see what you come up with. Related to replacing the GROMs, and interesting "feature" of the GROM is that all GROMs share the same bus, so they don't have to be located inside the console. I took the system GROMs and put them on a modified TI-Invaders cartridge board and the system worked just fine. Basically you can have a system "version" on a cartridge.

  • Like 1
Link to comment
Share on other sites

Day 3:

I just finished removing grom 0 on my ti99/4a qi installed a chip socket and cleaned up the board a bit :) happy to say the system still boots.

 

Started working on some custom eagle library parts for the cart edge connector and such for custom carts and expansions :)

 

Does anyone have such a part library for eagle cad already?

Link to comment
Share on other sites

One thing I really want to try is to put leds on every data and chip select line on the board so you can see what is happening while programs run as a nice visual mod. Im wondering if simple transistor circuit should be enough to not cause any interfearance or could i just wire the Leds with a resistor to the various buses?

 

An easy mod is to connect a 74LS154 4-to-16 line decoder to the top 4 bits of the address bus (and /MEMEN applied to one of the /Enable inputs), and use that to drive a 16 segment bargraph LED. Each LED segment will correspond to a 4K block of memory, and gives you an indication of where significant numbers of memory accesses are happening. No point putting LEDs on the data bus IMO - it will just be a meaningless blur.

Link to comment
Share on other sites

Are you using the Mega to emulate GROM?

 

Dude, send me your sketches and schematic... I'd like to try it on my Uno or Mega. :)

 

I'm not speaking against another GROM project, cause competition is good, but... I'm surprised you're surprised given that my project also uses an ATMega and you've seen it before, in fact we're doing a project on it. :)

 

Link to comment
Share on other sites

I'm not speaking against another GROM project, cause competition is good, but... I'm surprised you're surprised given that my project also uses an ATMega and you've seen it before, in fact we're doing a project on it. :)

 

I just like messing around with new stuff :-) :-) Not that there's any issue with our project...

Link to comment
Share on other sites

Pulling my hair out trying to get this to work all day.

 

Im on version 3 of the prototype X_X all soldered checked and rechecked.

 

Picture-52.jpg

Tried both 2.2 groms and older groms still wont see my card :(

Picture-57.jpg

 

checked again

Picture-58.jpg

 

I have a feeling I am doing something wrong. probably software side X_X

Link to comment
Share on other sites

The theme for the 2013 TI 99/4A Chicago Faire is Robots. I'm planning to connect a robotic arm to my TI and demonstrate some tricks at that venue ;-)

 

I've nearly finished a project I'm working on with my TM990 system. Three analogue proximity sensors, four stepper motors ... and a baked bean tin. Should have a video up over Christmas.

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