Jump to content

Photo

TI-99/4A with a Pipistrello FPGA board


297 replies to this topic

#276 speccery OFFLINE  

speccery

    Moonsweeper

  • Topic Starter
  • 346 posts

Posted Thu Jan 19, 2017 11:28 AM

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



#277 Tornadoboy OFFLINE  

Tornadoboy

    Star Raider

  • 67 posts

Posted Thu Feb 2, 2017 8:48 PM

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, Thu Feb 2, 2017 8:49 PM.


#278 speccery OFFLINE  

speccery

    Moonsweeper

  • Topic Starter
  • 346 posts

Posted Sun Feb 5, 2017 11:39 AM

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



#279 Tornadoboy OFFLINE  

Tornadoboy

    Star Raider

  • 67 posts

Posted Sun Feb 5, 2017 4:15 PM

 

 

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!



#280 FDOS OFFLINE  

FDOS

    Chopper Commander

  • 225 posts

Posted Tue Feb 7, 2017 11:49 AM

I second the idea of using SAMS paging for this project, as I have two 1 MB SAMS PEB cards, and I do this paging in both my X4th99 & TIB+ projects.

 

fdos


  • RXB likes this

#281 speccery OFFLINE  

speccery

    Moonsweeper

  • Topic Starter
  • 346 posts

Posted Sat Feb 18, 2017 2:24 AM

I thought I link here too: http://atariage.com/...slideshow-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...



#282 speccery OFFLINE  

speccery

    Moonsweeper

  • Topic Starter
  • 346 posts

Posted Sun Mar 5, 2017 3:08 PM

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



#283 Bmack36 OFFLINE  

Bmack36

    Dragonstomper

  • 584 posts

Posted Sun Mar 5, 2017 3:10 PM

Hi Erik,

 

I have one that I am not using if you are interested in it.

 

Let me know.

 

Thanks,



#284 Opry99er OFFLINE  

Opry99er

    Quadrunner

  • 9,956 posts
  • Location:Hustisford, WI

Posted Mon Mar 6, 2017 10:33 AM

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?

#285 speccery OFFLINE  

speccery

    Moonsweeper

  • Topic Starter
  • 346 posts

Posted Sat Mar 11, 2017 7:34 PM

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



#286 speccery OFFLINE  

speccery

    Moonsweeper

  • Topic Starter
  • 346 posts

Posted Sat Mar 11, 2017 7:41 PM

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.



#287 Opry99er OFFLINE  

Opry99er

    Quadrunner

  • 9,956 posts
  • Location:Hustisford, WI

Posted Fri Mar 17, 2017 12:14 PM

Very cool. Thanks for the explanation. :)

#288 speccery OFFLINE  

speccery

    Moonsweeper

  • Topic Starter
  • 346 posts

Posted Sun Mar 19, 2017 9:38 AM

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.



#289 speccery OFFLINE  

speccery

    Moonsweeper

  • Topic Starter
  • 346 posts

Posted Fri Mar 31, 2017 12:20 PM

Wrote an update on the vertical bars discussion... let's see if I can put the link here appropriately.

 

http://atariage.com/...demo/?p=3731094

 

So now the thing supports 5th sprite detection.

TMS99105 + FPGA system emulating TI-99/4A running vertical bars demo by Asmusr


#290 greyrogue OFFLINE  

greyrogue

    Combat Commando

  • 8 posts

Posted Fri May 11, 2018 11:47 PM

http://www.atari-for...p?f=117&t=33684

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



#291 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 4,817 posts

Posted Sat May 12, 2018 11:46 AM

Note, there are several cartridges out there which use 512K bank-switched ROM images. They might not run in the 256K of core memory space you reserved for the TI.



#292 Manic1975 OFFLINE  

Manic1975

    Chopper Commander

  • 154 posts
  • Location:Croatia

Posted Sun May 13, 2018 8:41 AM

http://www.atari-for...p?f=117&t=33684

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

Is there any chance for MIST version?



#293 speccery OFFLINE  

speccery

    Moonsweeper

  • Topic Starter
  • 346 posts

Posted Sun May 13, 2018 10:46 AM

http://www.atari-for...p?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?



#294 speccery OFFLINE  

speccery

    Moonsweeper

  • Topic Starter
  • 346 posts

Posted Sun May 13, 2018 11:02 AM

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, Sun May 13, 2018 11:03 AM.


#295 greyrogue OFFLINE  

greyrogue

    Combat Commando

  • 8 posts

Posted Sun May 13, 2018 11:12 AM

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/M...ain_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-for...3cbb2aaf63d9909

 

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, Sun May 13, 2018 11:36 AM.


#296 speccery OFFLINE  

speccery

    Moonsweeper

  • Topic Starter
  • 346 posts

Posted Fri Sep 28, 2018 2:07 PM

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/...on-the-tms99105



#297 pnr OFFLINE  

pnr

    Chopper Commander

  • 108 posts

Posted Sat Sep 29, 2018 2:02 PM

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.



#298 speccery OFFLINE  

speccery

    Moonsweeper

  • Topic Starter
  • 346 posts

Posted Sun Sep 30, 2018 12:04 PM

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.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users