Jump to content
IGNORED

TI-99/4A with a Pipistrello FPGA board


speccery

Recommended Posts

I had the other day a good session over instant messaging with Klaus (kl99) in getting the board I sent him working. That was great :)

As you might expect there were a few hiccups, mainly in getting memloader.exe running on a system that doesn't have Visual Studio 2015 installed (it's a simple task but still needed to get done) as well making a new initialisation script that does not require Cygwin to be installed. Klaus did a great job in his side. Getting things to run was somewhat messy since the information and documentation is scattered over multiple places (here, hack-a-day, e-mail, messenger, GitHub) - Klaus thanks for your efforts.

I was happy to see that he got his board working, so also in practice the TMS99105 board can be made to run elsewhere than in my "lab"!

 

Erik

  • Like 5
Link to comment
Share on other sites

  • 2 weeks later...

I just stumbled upon this project and I'm anxiously waiting to see how it develops! I've been hoping someone would eventually come up with a completely backwards compatible update to the 4/a that has most if not all of the add-on hardware built in, as well as the potential for new stuff!

Edited by Tornadoboy
Link to comment
Share on other sites

I just stumbled upon this project and I'm anxiously waiting to see how it develops! I've been hoping someone would eventually come up with a completely backwards compatible update to the 4/a that has most if not all of the add-on hardware built in, as well as the potential for new stuff!

 

 

Nice to hear you found the project interesting!

Well this thing is pretty compatible with the 4A and has most hardware built in. I think there is plenty of potential with the design, it runs approximately 7x the speed of a regular 4A. This could also be configured to quite closely resemble TI-99/2 or TI-99/5.

Real life has kept me very busy, I haven't had time to work on this during the last weeks. I left off working on the disk support. It kinda works through the serial line with the PC acting as a disk drive. Separately to that I have a program that can read files from a FAT16 formatted SD card. What I would need is the time and energy to glue these things together. Well the first step would be to just bootstrap the board from the SD card, i.e. load the system and cartridge ROMs off the SD card.

 

Erik

  • Like 3
Link to comment
Share on other sites

 

 

Nice to hear you found the project interesting!

Well this thing is pretty compatible with the 4A and has most hardware built in. I think there is plenty of potential with the design, it runs approximately 7x the speed of a regular 4A. This could also be configured to quite closely resemble TI-99/2 or TI-99/5.

Real life has kept me very busy, I haven't had time to work on this during the last weeks. I left off working on the disk support. It kinda works through the serial line with the PC acting as a disk drive. Separately to that I have a program that can read files from a FAT16 formatted SD card. What I would need is the time and energy to glue these things together. Well the first step would be to just bootstrap the board from the SD card, i.e. load the system and cartridge ROMs off the SD card.

 

Erik

 

Keep up the good work!

Link to comment
Share on other sites

  • 2 weeks later...

I thought I link here too: http://atariage.com/forums/topic/262186-monkey-island-2-musicslideshow-demo/

There is a picture of my setup at the current end of the thread.

 

I tried running the Monkey Island demo with my Pipistrello FPGA as the cartridge and that worked nicely. I haven't had time to work on TI related stuff for a while, so it was nice to run this - also this proved that the speech synthesiser (thanks kl99!) can sit in between without affecting the operation of the FPGA board.

 

In case you are wondering what the heck is the mess on top of the TI - it is a Sinclair QL motherboard I've been trying to get to run. I replaced all of the 4164 DRAM chips with higher density 4464 chips, but so far it refuses to work properly...

Link to comment
Share on other sites

  • 3 weeks later...

It seems my TI-99/4A is not working well... If anyone is willing to depart with a working console that would be great (NTSC/PAL - doesn't matter, F18A will go in). I only have my one console, it seems it is time to get another one. Hardware development (in this case FinalGROM99 debugging help) is not easy if the bare console does not work...

Incidentally I will be visiting California / Bay Area from March 7th for a business trip - a long journey for me, but might help in getting a console?

 

Erik

Link to comment
Share on other sites

Hi guys, I want to take this opportunity to thank the many offers I have received to get an TI-99/4A console (I got one from Matthew yesterday when we met in the Bay Area - it was really great to meet him in person). I continue to be amazed by the people in the community!

So for me it is great to know there are people in the community with many spare consoles. I hope I don't need to ask for too many more by blowing up consoles as I work through hardware projects... I haven't had much spare time lately, but I really want to get started with the FPGA based PEB replacement development. I assume it will be a process to work through a few iterations, but I'm starting to have a good idea what I want to achieve with the first version.

 

Erik

  • Like 4
Link to comment
Share on other sites

Our of curiosity, have you emulated the 9902 functionality yet? And, forgive me for my relative ignorance on FPGA technology, but can all the 74LSxxx logic be coded into the FPGA, or do you still rely on IC latches?

 

Sorry for the slow reply. No I have not emulated 9902 functionality yet, but this can be done. Especially now that I have access to ready made HDL for the 9902...

 

Regarding your second question, basically all 74LSxxx logic can be implemented in an FPGA very easily. FPGA based designs still end up having some modern 74 series components when connected to old computers, as the I/O pins of practical FPGA chips are normally not 5V tolerant, they only go up to 3.3V. So you need voltage level converters to both protect the FPGA pins from 5V signals, and to drive 5V logic. There are many different level converters available, most are 74 series components.

In other words, all logic gates can be done in the FPGA, but some external buffers may be needed to protect the pins and provide sufficient drive strength towards 5V systems like the TI-99/4A.

Link to comment
Share on other sites

Today I had some time to work on the console that Matthew gave me. I installed F18A and modified the shielding and the case slightly so the VGA connector is securely mounted. Not a big achievement - but it seems I have a stable TI-99/4A now. So stable in fact, that in the last 20 minutes or so I have not been seen any FinalGROM99 crashes... I am sure they will occur eventually, as there is no definitive fix in place with the board I've got. If it does crash, I'll see what happens with a regulator swap.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...

http://www.atari-forum.com/viewtopic.php?f=117&t=33684

I've managed to port part of this over to MISTer.

 

 

That's nice! I took a quick look at the MISTer board, and what I can tell is that it's a very high performance system with dual ARM cores. I'll ask a simple question to save some time - the MISTer system is effectively a DE0 Nano board with an additional board, is that right? Sorry I did not do much googling... Any recommendations where to get the boards and what would be the cost?

Link to comment
Share on other sites

This is slightly off-topic: I've recently worked with pnr on a breadboard project. This is effectively a version of Stuart's TMS9900/TMS9995/TMS99010 breadboard system on an FPGA. pnr created a simple top level VHDL module to tie together his TMS9902 UART and my TMS9900 core. I have spent some time debugging and performance testing this system. I have created a GitHub repository with the project files at https://github.com/Speccery/breadboard

 

I have created two versions of this project there, on for the "XC6SLX9 Mini board" and one for "XC6SLX16 board". These are both low-cost FPGA boards available from multiple eBay sellers, i.e. coming from China. In addition to the FPGA board one needs a Xilinx programming cable. My intention is to port this design over to other FPGA boards I have, including boards with Altera FPGAs. This preparation step should make it pretty easy to port the whole TI-99/4A design to the MIST as well. I acquired a MIST board a while ago.

 

On the board with the larger XC6SLX16 chip (example eBay link to a bundle with daughter board) I did run some performance benchmarks of my TMS9900 core. I have in the past run this at 100MHz, but I haven't really tested how fast it could run on a Spartan 6 chip. The simple breadboard design is a good testbed for benchmarking the TMS9900 core, as the UART is the only interface to the external world and modifying bitrate divider is simple to test different clock frequencies. I have only done some brief tests and I have not done any critical path optimisation, but when using the internal memories of the FPGA I've now run the TMS9900 core and the whole breadboard design at 177MHz. At this clock rate the performance is about 55x times the speed of the zero wait state TMS9900 3MHz system as documented by Stuart. I haven't done many tests so I don't know if the design operates fully, but it does run the Cortex Basic interpreter seemingly correctly.

 

Some of this work is documented at pnr's TMS9902 VHDL thread in this same forum.

Edited by speccery
  • Like 4
Link to comment
Share on other sites

Is there any chance for MIST version?

I don't have a MIST, but it should be possible. The major difference is the usage of altsyncram would need to be converted to SDRAM.

Edit: Ninja'd by Speccery. His post above this answers this.

 

 

That's nice! I took a quick look at the MISTer board, and what I can tell is that it's a very high performance system with dual ARM cores. I'll ask a simple question to save some time - the MISTer system is effectively a DE0 Nano board with an additional board, is that right? Sorry I did not do much googling... Any recommendations where to get the boards and what would be the cost?

https://github.com/MiSTer-devel/Main_MiSTer/wiki

I got my DE10-Nano (not DE0-Nano) from Digikey for $130. If for educational purposes, the board is only $99. It's ridiculously cheap (the Cyclone V on it alone costs more than double that).

The add-on boards are optional: SDRAM, IO (VGA, 3.5mm audio, additional SD card, LEDs, switches, optical audio, fan), RTC (real time clock board; not used by many cores, and can be done by the ARM core anyway), and USB-Hub (I just use a use hub cable instead).

There are some sellers of the add-on boards listed here:

http://www.atari-forum.com/viewtopic.php?f=117&t=33613&sid=e5190e475fac31e933cbb2aaf63d9909

 

I don't need any of these to run the TI-99/4A core. If the full 1MB is wanted, the SDRAM board is needed (The DE10-Nano has about 700KB of altsyncram. I'm currently using 256KB which is 64KB for cart ROM, 64KB for expansion RAM, 64KB for GROM, and 64KB for the rest like yours does; there's also 16KB used for the Video RAM, and possibly more). I think 512KB should be doable, but I haven't tried. I don't have an IO board (using the built-in HDMI instead), but I wish I did as it takes about 30 minutes to compile the version with HDMI on my machine. Also, the free license requires flashing the build directly to the DE10-nano and only works for an hour. If I had an IO board, I could use the lite version which works over VGA, doesn't take nearly as long to compile, and generates an image that can be loaded onto the SD card for any time usage.

Edited by greyrogue
  • Like 2
Link to comment
Share on other sites

  • 4 months later...

After a long while an update to my TMS99105 project too - I ported some features of my second version of this project (using my own TMS9900 CPU design) back to the TMS99105 CPU version. That enabled me to run the very cool megademo for the first time with the TMS99105 CPU. More explanation at hackaday:

 

https://hackaday.io/project/15430-rc201699-ti-994a-clone-using-tms99105-cpu/log/153444-running-megademo-on-the-tms99105

  • Like 6
Link to comment
Share on other sites

On the board with the larger XC6SLX16 chip (example eBay link to a bundle with daughter board) ....

 

 

That listing seems to have run out, but a similar one appears to be still open.

 

- How hard is the interfacing to the SDRAM chip? Similar to SRAM, or does it require complex access code?

 

- What is on the daughter board? It looks like 2 usb-serial ports, a VGA interface and some male/female headers. Is that correct?

 

- Any documentation that came with the board? I did not see any link for what i/o's connect to what with the listing.

  • Like 1
Link to comment
Share on other sites

Yes, this is the exact same board. The manufacturer is QMTECH, and I did find all relevant documentation.

SDRAM access is much more complex. This actually is still phase where I am at - after a 6 month pause in FPGA work I am still trying to remember where I left off, but I have integrated the TMS9900, TMS9902 cores on to this board, and I integrated SDRAM controller there too but if I remember I was still trying to get that working.

 

I will e-mail you the manuals, so you can take a look what exactly is on board, but there are are three chips on the red base daughter board: CY7C68013 USB chip (which I have not used), ADV7123 VGA DAC (24-bits) and CP2102 USB to serial port. The last one I have used with your TMS9902 core successfully. I don't remember if I used the VGA DAC yet or not, there are a bunch of sample projects, one of them uses VGA and another one SDRAM.

 

To make the story short - I found the boards so useful and affordable that I have 3 of the XC6SLX16 FPGA boards and two daughter boards. I don't recall if I bought them from the same seller, probably not.

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