Jump to content
IGNORED

TI-99/4A with a Pipistrello FPGA board


speccery

Recommended Posts

The Pipistrello board is $155:

http://pipistrello.saanlima.com/index.php?title=Welcome_to_Pipistrello

 

The problem is more the availability of the buffer board ($20), which contains the level shifters. This is out of stock:

http://saanlima.com/store/index.php?route=product/product&path=66&product_id=55

 

In addition to those you need the edge connector to the TI side port, and a bunch of wires to connect the two. I used a perfboard on which I soldered the edge connector and pin headers, and then I used jumper wires (female-female) to connect the two boards.

 

The overall cost of all of the above is probably less than $200 with shipping, but you've got the issue of non stock and then the wiring. In addition, the buffer board will run out of buffers before this is ready, so I am planning to mount one or two 74LVC245 buffers on to the perfboard, to be able to handle the remaining signals. This is because there are a few signals I want to be able to drive from the FPGA to the TI (LOAD, CRUIN, maybe READY) in addition to the current signals and there are no available buffers going to that direction. In addition at least CRUIN probably needs a three state driver, so an additional buffer is required there. Alternatively those perhaps could be implemented with discrete transistors.

 

If this whole thing was a custom board with a smaller FPGA, the price would probably be less than $100, maybe even less than $50 as far as the component costs are concerned. But there is the custom PCB and assembly that will be required.

  • Like 2
Link to comment
Share on other sites

So much for working on the SD card driver programming - too much low hanging fruit in working with the FPGA modifications....

 

Now I moved GROM contents from the on-chip block RAMs to the SDRAM. This enabled me to essentially have unlimited GROM space (contents loaded from PC over USB). As I had set aside a 1MB region from 16MB onwards from paged cartridge memory, I put the GROMs to the following 1MB, i.e. from 17MB to 18MB in the memory extension. This change allowed me to easily load XB27 suite (512K cartridge ROM and 120K of GROM) and I got that running. There is so much great software for the TI - most I have not tested yet let alone understood what they do. I am still trying to understand what all of these extended extended Basics do, and how RXB relates to XB2.7. Seems they are not related.

XB27 suite running off the FPGA memory expansion

 

And I also got RXB2015 running. The interesting bit about it is that it seems to support AMS memory, I looked at one of the demo videos and that seemed pretty cool. Anyway for my purposes at this stage it just allows me to further gain comfort that the memory extension, GROM emulation from SDRAM and cartridge memory mapping all are working properly.

RXB2015 running off the FPGA memory expansion

  • Like 7
Link to comment
Share on other sites

RXB, TurboForth, and fB Forth all provide SAMS memory support. As to the various flavors of XB, all of them started off at one common point, TI Extended BASIC. Then the different versions moved in unique directions. Mechatronic Extended BASIC II+ incorporated the APESoft Expanded Graphics routines from Austria (also called the Amerisoft Expanded Graphics BASIC routines when they were released in North America). Triton released Super Extended BASIC, which incorporated a lot of the Extended BASIC enhancements developed for the GRAM Kracker. RXB took some of the GRAM Kracker enhancements and a whole lot of original work by Rich Gilbertson to make a really nice, full featured expansion. Tony Knerr added a whole bunch of unique extensions and some of the GRAM Kracker extensions to make XB 2.7. Winfried Winkler rewrote significant portions of the TI Extended BASIC code to eliminate some bugs in the math routines and to make it truly native to the 32K environment in his XB3 software. He also added a lot of additional routines of his own, some of which are similar to the GRAM Kracker routines, but not all. He also used some of the CorComp Tool Shed routines and the Myarc Assembly support routines as additional commands, IIRC. I was one of the Beta Testers for this one before he started working to sell it through Asgard.

  • Like 4
Link to comment
Share on other sites

Thank you very much Ksarul! I did not know there were so many enhancements made to the extended basic. Interesting! I also think it is interesting that the people/companies who made the improvements retained the same architecture, they kept the GROM & ROM architecture, instead of for example moving the whole thing to ROM and assembly language. I guess it was less effort that way.

 

I found XB3 files on this forum at http://atariage.com/forums/topic/236750-winfred-winklers-xb3-docs/, but I don't know to which addresses the files are supposed to get loaded. I haven't tried anything yet. It seems there are multiple series of files, such XB3C/D/E/G and EAXB3C/D/E/F. XB3C is 24Kbytes for instance, instead of the regular 8K. I guess it will be trial and error...

Link to comment
Share on other sites

Look in the files for the UberGROM. There are RXB, XB2.7, SEB, and XB3 images there that are built just like the RXB and XB 2.7 images you have already tested. There are also images with three different versions of XB in a single cartridge and another with XB 2.7 and the XB256 routines selectable from one menu screen.There are also images with Multiplan, Logo, and Return to Pirates Island in there (as a single image).

  • Like 1
Link to comment
Share on other sites

Look in the files for the UberGROM. There are RXB, XB2.7, SEB, and XB3 images there that are built just like the RXB and XB 2.7 images you have already tested. There are also images with three different versions of XB in a single cartridge and another with XB 2.7 and the XB256 routines selectable from one menu screen.There are also images with Multiplan, Logo, and Return to Pirates Island in there (as a single image).

 

 

Thanks - again a lot of interesting software here - need to try those out!

Link to comment
Share on other sites

Nice progress with the SD card interface.

SD card FAT16 root directory read by the TI!

 

I ported over my TMS9995 breadboard routine to read the SD card and debugged the VHDL code of the FPGA as well as the assembler code. I added the breadboard routine to my memory dumper program. So now the TMS9900 can read FAT16 formatted SD cards, and show the contents of the root directory. My old codebase also includes a routine to read a boot file to memory for execution (while parsing FAT entries), but I did not try that one yet. I'm confident it would work (potentially after some simple debugging), since it uses the same low level routines as the partition table & root directory parser code.

 

To take this forward the next step would be to implement the code in a way that conforms to the TI's disk system spec. That is probably a pretty major thing to do, I don't expect quick progress with it that as I'll need to study and understand how the software interfaces work.

 

And then there is retrochallenge coming up for next month - I've not participated previous ones ever but I have an idea of a pretty cool project (at least I think so) which certainly would be huge challenge to be done in a month. TI related obviously, I'm waiting to hear if they would accept that idea...

  • Like 5
Link to comment
Share on other sites

I am now officially trying to do a retro challenge project... I'm myself curious to see if something materializes out of this.

 

Front page of the competition:

http://www.wickensonline.co.uk/retrochallenge-2012sc/

 

My entry is towards the end:

http://www.wickensonline.co.uk/retrochallenge-2012sc/rc201610-entrants-list/

 

And here is a brief explanation what I'm trying to do:

https://hackaday.io/project/15430-rc201699-ti-994a-clone-using-tms99105-cpu

 

So I will be trying to build out a TI-99/4A clone with an original TMS99105 CPU (the most powerful CPU of the line). As you might imagine I'll attempt to do most of the TI in an FPGA, apart from the CPU. I kind of like the idea of combining very old and new chips, my CPU chip dates back to 1982. I think I have another CPU chip as well, I hope one of them works and I don't blow them up before getting anywhere. What I do not have is another console, so I don't have a spare keyboard. If one of you happens to own an extra console you don't need, I'd be happy to buy it (and obviously pay for shipping too).

 

To put simply, the plan is to build the fastest TI-99/4A compatible computer using CPU silicon from the era. I am almost certainly crazy trying to do it in a month with the limited spare time I've got, but I wanted it to be a challenge on a personal level and a challenge it will be.

  • Like 5
Link to comment
Share on other sites

I'd be definitely interested in the results of such a 99000 system. The 99xxx emulation is still unfinished in MAME, not least because I do not have any real system to compare with, also with respect to software. I only remember Stuart Conner's breadboard, but I don't know how much software is available.

  • Like 3
Link to comment
Share on other sites

This is like sci-fi to me.

 

I want kits with detailed instructions. You're making some of the coolest stuff I've ever heard of and I want it all. And I want it now. Lol. Yeah. *sigh*

 

PS- I have a mainboard, damaged traces but I believe all chips are good. Same offer if you need more chips, just pay shipping.

Edited by Sinphaltimus
Link to comment
Share on other sites

This is like sci-fi to me.

 

I want kits with detailed instructions. You're making some of the coolest stuff I've ever heard of and I want it all. And I want it now. Lol. Yeah. *sigh*

 

PS- I have a mainboard, damaged traces but I believe all chips are good. Same offer if you need more chips, just pay shipping.

 

 

Thank you for the offer, great to have this generosity - great people here!

 

I think for now I am good with the console from Ksarul. Hardware hacking with my single unit is a bit daunting.

 

Speaking of chips, I think my plan of attack for this project will be to use at least initially some more actual TI chips, and FPGA board as glue and memory. Time permitting I will try to integrate more functionality into the FPGA. I will see how this works out.

 

You mentioned kits. If I get this working, I will publish the schematics and other files which make it possible to replicate what I did, but making a kit could be hard since obtaining old chips could be very difficult. Then again perhaps this project, if successful, could be a stepping stone for building the whole thing using an FPGA board, although I am not sure if that is what people here want.

Link to comment
Share on other sites

 

 

Thank you for the offer, great to have this generosity - great people here!

 

I think for now I am good with the console from Ksarul. Hardware hacking with my single unit is a bit daunting.

 

Speaking of chips, I think my plan of attack for this project will be to use at least initially some more actual TI chips, and FPGA board as glue and memory. Time permitting I will try to integrate more functionality into the FPGA. I will see how this works out.

 

You mentioned kits. If I get this working, I will publish the schematics and other files which make it possible to replicate what I did, but making a kit could be hard since obtaining old chips could be very difficult. Then again perhaps this project, if successful, could be a stepping stone for building the whole thing using an FPGA board, although I am not sure if that is what people here want.

I for one would be interested, I like my old iron, but if this could be used say eventually to put a Geneve into FPGA, like the one that has not been released yet, then I'm all for it.

 

My sons each will have a TI99, but I would like to see them have the ability to use a Geneve, other than emulation, even if it's not the real thing, but at least real iron.

 

At least it could and should be able to access all the doodads in the PBox. Yes, I would be interested, for sure.

  • Like 1
Link to comment
Share on other sites

I for one would be interested, I like my old iron, but if this could be used say eventually to put a Geneve into FPGA, like the one that has not been released yet, then I'm all for it.

 

My sons each will have a TI99, but I would like to see them have the ability to use a Geneve, other than emulation, even if it's not the real thing, but at least real iron.

 

At least it could and should be able to access all the doodads in the PBox. Yes, I would be interested, for sure.

I think everyone would want one just to have it. I want one in the hopes I can reduce my reliability on a pc when it comes to ti development. I'd rather do it all on the ti and with new robust hardware, that maybe possible. Of course it should usher in a slew of new programs. At least that's my optimistic outlook.

 

I'm thinking of purchasing a less expensive dev kit to get me started, life a 50 dollar fpga board or something to kick off my learning spree. But I should probably focus on xb right now, then E/A. So I'm at least about a year away from the need to kill for one of your projects.:)

Edited by Sinphaltimus
  • Like 1
Link to comment
Share on other sites

I'm thinking of purchasing a less expensive dev kit to get me started, life a 50 dollar fpga board or something to kick off my learning spree. But I should probably focus on xb right now, then E/A. So I'm at least about a year away from the need to kill for one of your projects. :)

 

 

Your work on XB reminded me of an idea that came some days ago as I was browsing in here. It seems that quite a lot of 99ers here are using XB. I was thinking that a cool addition to classic99 would be the ability to watch at XB variables in real time, similarly to what it can do with CPU registers or memory. I have compiled classic99 once - I modified it to work in debugging mode without scroll lock (my mac doesn't have one), Tursi has set up things nicely and the code seems easy to work with. Anyway what I was thinking of was that the emulator could just decode and display the Basic variables area. Since I haven't looked at how XB stores variables I don't know if that's potentially hard, so I can just easily say that it should not be tough to add this feature - but it could be great for debugging and gaining general insight on how things work :)

For a moment I was thinking that this would be a nice project idea for the retrochallenge too, but I am now too deep in the hardware/FPGA space, I want to get something done here first. But the same idea could be implemented with an FPGA based system too, as it is easy to construct dual ported memories with FPGAs.

  • Like 1
Link to comment
Share on other sites

It is a neat idea but unfortunately low on the list of priorities. I think I know how to find the symbol table, so it's theoretically possible. The whole emulator needs an overhaul, though, but I keep ending up in demanding work positions that take priority. ;)

 

We need to find a cushy job for Tursi. :)

Link to comment
Share on other sites

It is a neat idea but unfortunately low on the list of priorities. I think I know how to find the symbol table, so it's theoretically possible. The whole emulator needs an overhaul, though, but I keep ending up in demanding work positions that take priority. ;)

 

 

That tends to happen to good guys...

Since you have released the source code the feature could be developed by anyone. I may take a look at this at some point. Understanding how XB stores and manipulates variables could be necessary to build hardware acceleration which would be something cool to do (I am talking about a hardware FPU). Some of the obscurities of the TI architecture could be turned into advantages - how about moving from GPL interpretation to a custom processor for which GPL is the machine language? All of those cool things come back to the same issue though - time is needed...

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