• Please review our updated Terms and Rules here

TI/99 4a clone

danwerner21

Member
Joined
Feb 9, 2012
Messages
29
I have been working on a clone board for the TI99/4a and have finally had a bit of success. I was able to obtain the "standard" TI chips (9900,9904, SN76489, 9918 & 9901) off e-bay fairly easily and I am emulating the GROM chips with an ESP32 microcontroller (the irony is not lost on me that the ESP could easily emulate the entire system . . . but it was cheap and available). Therefore, no actual TI99s were harmed in the making of this project :).

I still have a tiny bit of work to do, but it seems to work quite well.

It is pretty much a standard TI99/4a EXCEPT:

* Full 64K of 16bit wide ram on board (dip switches provided to enable/disable banks)
* On board socket for cartridge ROM
* Simplified Video RAM circuit to allow for static RAM
* modern Static RAM and EPROMs replacing the originals
* microcontroller emulating the GROM chips (sockets on board in case real GROMs are available)
* Cherry MX based mechanical keyboard
* Power supplied by standard ATX power supply

Left to do:
* Much more testing . . . (I don't even have the final PCBs here yet)
* write code for the microcontroller running the alpha lock switch toggle on the keyboard
* design 3d printed case

So . . . not exactly ready for building yet . . but here is the github repo with all of the work so far:


Many thanks to Rob Krenicki who published his work with the TI/99 schematics that much of this is based on.




two.jpg
 
Amazing job, and when can I build / print one of my own!! :)

Sounds like it's packed full of cool features like the bank switching, cart rom and static ram replacements. I'm also very curious how the ESP32 emulation works, I've hooked an ESP up to a 9901 for serial communications but that's as far as I got. Thanks for sharing this!
 
Amazing job, and when can I build / print one of my own!! :)

Sounds like it's packed full of cool features like the bank switching, cart rom and static ram replacements. I'm also very curious how the ESP32 emulation works, I've hooked an ESP up to a 9901 for serial communications but that's as far as I got. Thanks for sharing this!
GROMs are pretty simple devices . . . the ESP32 has a copy of the 3 GROM images and then feeds them byte at a time to the TI as requested. The source code is out in the github repo if you want to see the details . . . it is located in the "unicorn board" folder. . .
 
Amazing job, and when can I build / print one of my own!! :)

Sounds like it's packed full of cool features like the bank switching, cart rom and static ram replacements. I'm also very curious how the ESP32 emulation works, I've hooked an ESP up to a 9901 for serial communications but that's as far as I got. Thanks for sharing this!
I guess I missed your first question on "when" . . .

I have another set of PCBs on the way, assuming they work and get through the testing process I should have the documentation finished shortly after. Once that is done, it is a simple matter to go out to the repo get the files and order boards and parts! The case might take a bit longer to get done as I want to find a way to cleanly work in the cartridge port . . . and I am not that awesome with 3D modeling. (my last enclosure is documented here: https://github.com/danwerner21/Dragon64)

I usually use JLCPCB to do my PCB manufacturing and resin 3D printing, they do a good job and are fast and cheap.
 
Another idea I am toying with is to create a version of the board that will fit in a PEB . . . that will likely be a V1.5 of the project. It will give me an excuse to buy a second PEB :)

Dan
 
If this could somehow drop into an original TI-99 case it'd be pretty exciting. The 32K sidecar is atrociously huge and it'd be wonderful to be able to get rid of it.
 
I would say leave the cart slot in and integrate as many of the peripherals that the average user would plug in anyway as will fit- the 32k ram expansion, the floppy controller, the serial port, maybe even the speech unit. I've never seen a PEB with any more than those cards in it and a PEB is monstrous. The discrete sidecar versions take up even more comical amounts of desk space. While it's true that the FG99 is also a must-have peripheral, still being able to use original carts is an important functionality to retain, and integrating it doesn't really save any space.
 
I would say leave the cart slot in and integrate as many of the peripherals that the average user would plug in anyway as will fit- the 32k ram expansion, the floppy controller, the serial port, maybe even the speech unit. I've never seen a PEB with any more than those cards in it and a PEB is monstrous. The discrete sidecar versions take up even more comical amounts of desk space. While it's true that the FG99 is also a must-have peripheral, still being able to use original carts is an important functionality to retain, and integrating it doesn't really save any space.
That is not a terrible idea . .. .

It already has the 32K ram onboard (a touch better, in fact since it is 16bit wide), adding the serial port would be trivial and the disk drive would not be too much harder. The speech synth would be possible as well, although I have not found an acceptable quantity of the speech chips . . . I am afraid that would probably not be used very often. There is FG99-like capability in the system already . . . and it probably could be improved with some hacking of the microcontroller code in the grom emulator. Today it supports the system groms and optionally one set of cartridge groms. My intent was to give it the capability to host extended basic on the main board, which I have done.

For the "console" version of the board, I am likely going to not add any new features . . . primarily because I am not sure it is going to fit on one reasonably sized board. BUT - - - it would be totally possible to create an ATX sized board that could host both the main computer and some of the peripherals and I am considering doing one of those right after the console board is "done". With a board like that one could fit the main computer a drive and even have space for some TI style cards in an ATX case. The only problem I am not quite sure about is how to connect a keyboard. I could create a microcontroller adapter that allows a PS/2 keyboard (not ideal, IMHO), or just use a ribbon cable to connect a keyboard to the main board. (or perhaps some kind of shift register setup to allow a small-ish cable to connect the TI keyboard.

I really hope to have the final version of the console board done next week and have a full set of PCBs ordered. Once that is done, I need to think on what is next. It could easily be an ATX version of the TI . . or it could be something else, I have a few other ideas I have been playing with. Either way, if anyone has the desire and the skills, please feel free to fork the repo and rework the board to add more cool things -- it would be great to see someone take this work and build it beyond what I was able to accomplish :)

Dan
 
A small update to above -- I was provided a link to a source of TMS5220 speech chips that would allow for a speech synth replica, so I did order some. I sill need to figure out how to replace the speech ROM which is still unobtainium, but I think that is possible.

Dan
 
Here is the datasheet/manual for the Speech ROM chips. They only use 10 of the available pins, the rest have no connections. Note: Unicorn Electronics has some of these chips in the Back Corner of the Warehouse section. They are mask ROMs though, so they will already have programmed data in them.
 

Attachments

  • TMS6100 (in 99-4 speech) manual.pdf
    352.1 KB · Views: 2
It's a pleasure to see a project about the 99/4A :)
Sure, it will continue to change with new features, new IC adds & organization. When we start a such project, it's so fun to make it progress again a again.

My Tiny-99/4a v1 computer has been made in 2017 (http://www.ti99.com/ti/index.php?article136/ti-ny-99-4a) , then I developed the version 2, then the version 3 with new features for pleasure (http://www.ti99.com/ti/index.php?article138/tiny-99-4a-v2 . The project has been finalized a year ago.
1670883281492.png
... Now I have a new project in mind about the 99/4A :)
 
It's a pleasure to see a project about the 99/4A :)
Sure, it will continue to change with new features, new IC adds & organization. When we start a such project, it's so fun to make it progress again a again.

My Tiny-99/4a v1 computer has been made in 2017 (http://www.ti99.com/ti/index.php?article136/ti-ny-99-4a) , then I developed the version 2, then the version 3 with new features for pleasure (http://www.ti99.com/ti/index.php?article138/tiny-99-4a-v2 . The project has been finalized a year ago.
View attachment 1250015
... Now I have a new project in mind about the 99/4A :)
Well . . . knowing that existed could have saved me some work :) -- and pretty much eliminates the need for me to continue on with the "next version" of this project as it is already way ahead of where I am with the project. I will probably put the finishing touches on what I have and then move on to something else.

Thanks for sharing . . . I will do some reading up on the excellent work that you have done!!

Your website is very impressive and I would be interesting in building one of your Tiny-99 computers, is your project opensource?? Is there somewhere to download the schematics and gerber files?

Thanks!
Dan
 
Last edited:
The custom keycaps have arrived and look pretty good. Still waiting on the "final" (hopefully) PCB for the main console so that I can test. I will keep the repo updated as I work through any problems that arise.

The only modification I need to make is to put a hole in the Alpha Lock key to let the LED shine through. It is a fairly simple operation, I usually just drill a hole in the top out of the way of the text then fill it with hot glue.

Dan


d.jpg
 
If you don't mind me asking, how did you source the custom keycaps?
 
Back
Top