Jump to content
IGNORED

TMS9995


samishal

Recommended Posts

My design, which is only in note form consists of 32k Rom and 64k RAM. You can page the Rom out in chunks showing the RAM underneath. Reads will read from whatever is paged in, be it Rom or RAM. Writes always go to RAM regardless of what is paged in. Useful for copying the Rom to RAM and running it from RAM (for debugging/hacking).

 

Yup, I have seen that kind of desing before. Pretty easy to do and makes ROM to RAM copies efficient, assuming you need to do a lot of that kind of thing.

 

I'd like to have a 20x4 lcd, hex keypad, rs232 and eventually SD card - but its a long way off at the moment.

 

Drop the LCD, they are a pain in the ass to deal with IMO, and don't refresh very fast. Driving a VGA monitor is a lot easier, and a simple tile or bitmap display is pretty straight forward. Seriously. The main thing that makes a chip like the 9918A difficult is all the freaking "modes". But supporting a single mode is not really that hard.

 

I'm not planning on using any discrete logic. I'll run everything through a programmable chip for decoding etc. Devices will be decided down to the byte level - easy with programmable logic. Open to advice on the type of programmable logic devices to use (preferably 5v)

 

With programmable logic (CPLD or FPGA) you can pretty much do anything you want and makes SoC design a lot easier since almost everything is inside the device. As for 5V devices, better put that out of your mind. 3.3V is where everything is these days, and in some cases that is falling to 2.5V or even 1.2V!! Also, SMD is the primary format. You can get microcontrollers in DIP formats, but CPLD and FPGA devices are all SMD.

 

Best to just find a decent devboard and work with that. If I was going to buy a new FPGA devboard today, I'd probably get a Terasic DE1 or DE2 board (the DE0 does not have SRAM, and SDRAM is a pain in the ass!) They are Altera-based (as opposed to Xilinx), but the boards offer a lot of nice features for doing a SoC!

Link to comment
Share on other sites

WOW!! I haven't checked on my thread this past week because I've been busy with my family, however If I'd of known that I would get this many responses this quickly I would have checked earlier. Thank you to everyone that posted and a special thank you to Stuart for the designs however I think I might simplify mine a bit :D

Link to comment
Share on other sites

I've drawn up a schematic and parts are on order to test it with.

 

TMS 9995 Breadboard Project Schematic.pdf

 

The design gives 32K EPROM and 32K RAM. Although the system monitor code is only 6K, having a large EPROM simplifies the design and should enable use of a modified 24K Powertran Cortex Basic and figForth (and perhaps Mark Will's TurboForth as well if it can be 'unpackaged' from its bank-switched design). There will no ability to load/save programs. Input/output is over an RS-232 interface to a PC running a terminal emulator such as the free TeraTerm.

 

I'm hoping it can be assembled on breadboard so no soldering skills will be required (although it might be necessary to solder a few wires to the RS-232 connector).

 

Stuart.

That's a really clear and clever design Stuart. I'm not much of a CRU proponent though and am looking foward to you redesign that maps in your UART (as well as your VDP and sound chip.) UART could be repurposed as the keyboard interface ? ;-).

 

I would really like to see more of your designs published.

 

Hull.

Link to comment
Share on other sites

I guess CRU (bit based io) is useful in the sense that you don't need to partition the address space (i.e. no "memory mapped" devices). However I yearn for a serial setup whereby:

 

* writing to a certain memory address (byte) sends a byte out of the serial port (generating wait states if required until the byte has been serialised and transmitted)

 

* reading the same memory location reads a byte from the serial port

 

But how to know if a byte is waiting to be read? Probably best to generate an interrupt when a byte arrives from the UART - that way, no polling is required.

 

Does the MAX range of UARTS come with any FIFO type memory built in? Say 8 or 16 bytes?

 

Mark

Link to comment
Share on other sites

That's a really clear and clever design Stuart. I'm not much of a CRU proponent though and am looking foward to you redesign that maps in your UART (as well as your VDP and sound chip.) UART could be repurposed as the keyboard interface ? ;-).

 

I would really like to see more of your designs published.

 

Hull.

 

I've put the schematics and PCB layouts for my three TM990 cards on my website if you want to take a peek. Go to <http://www.avjd51.dsl.pipex.com/tm990/tm990.htm#modules_and_docs>, then scroll down and you'll see my three cards at the bottom of that section. There are links to the schematics and layouts (as PDFs) on the right. You'll probably recognise the part of the schematic for the SID interface. ;-)

 

Still waiting for the breadboard and EPROMs to be delivered for the 9995 project. You could use a UART for the keyboard interface if you can find an old keyboard that outputs RS-232 serial. Some old keyboards output ASCII over a parallel interface and you could connect that up using a 9901 - done that with a TI-99/4A years ago. Setting up a 9918 on a breadboard has also been done before - take a look at <

>.

 

Stuart.

Link to comment
Share on other sites

Does the MAX range of UARTS come with any FIFO type memory built in? Say 8 or 16 bytes?

Mark

 

All the MAX chip (in the schematic) does is convert TTL<>RS-232 voltage levels. The UART is actually the 9902.

 

The 16550 UART, as used in the PC for donkey's years, includes a FIFO and interrupts, and might be "interfaceable"?

 

Stuart.

Link to comment
Share on other sites

Well, I think I have most of the parts. Just need the crystal, decoder and any passive parts. I'll strike out and start a build in the next week or so. I'll be using the good old fashioned white plastic bread board (the ones that you can snap together). Any recommendations regarding the wire to use? I have a bread board wire kit (napkins) but I don't think it will be enough.

 

Oh year, need to get a bench power supply. They're bloody expensive, though I suppose you only ever buy one.

 

Stuart, did you say the serial port was at CRU address 0? I'm thinking about writing simple test routines to go in Rom... something like sending A B C D E etc down the serial port every second or so.

 

Also, how difficult would it be to add a software controllable LED? It would be a good way to check if the system is 'sentient' if the serial port doesn't work initially for any particular reason... e.g. if the led turns on, you know the processor and Rom is working. Later on. The led could be re-purposed... flash when sending a byte down the serial line. When you have it sending to a slave terminal, re-purpose again to flash when receiving a byte. Later on, the led can be used to visualize interrupt traps etc.

 

Looking forward to this.

 

Ultimately, I want to add an SD card reader and use it as a server for Fred Kaal's HDX serial card. It will sit on the back of the PEB or sit in a drive bay. That's a way off though - there'd be a PCB and everything to design for it.

 

Interested in a collaboration?

 

Mark

Link to comment
Share on other sites

Looks like a 74ls75 could be a good candidate for driving up to 4 LEDs. Would one need a current limiting resistor for each led?

 

If I remember correctly, it's possible to buy LEDs with integrated current limiting resistor, though they are more expensive, obviously.

Link to comment
Share on other sites

Well, I think I have most of the parts. Just need the crystal, decoder and any passive parts. I'll strike out and start a build in the next week or so. I'll be using the good old fashioned white plastic bread board (the ones that you can snap together). Any recommendations regarding the wire to use? I have a bread board wire kit (napkins) but I don't think it will be enough.

 

Oh year, need to get a bench power supply. They're bloody expensive, though I suppose you only ever buy one.

 

Stuart, did you say the serial port was at CRU address 0? I'm thinking about writing simple test routines to go in Rom... something like sending A B C D E etc down the serial port every second or so.

 

Also, how difficult would it be to add a software controllable LED? It would be a good way to check if the system is 'sentient' if the serial port doesn't work initially for any particular reason... e.g. if the led turns on, you know the processor and Rom is working. Later on. The led could be re-purposed... flash when sending a byte down the serial line. When you have it sending to a slave terminal, re-purpose again to flash when receiving a byte. Later on, the led can be used to visualize interrupt traps etc.

 

Looking forward to this.

 

Ultimately, I want to add an SD card reader and use it as a server for Fred Kaal's HDX serial card. It will sit on the back of the PEB or sit in a drive bay. That's a way off though - there'd be a PCB and everything to design for it.

 

Interested in a collaboration?

 

Mark

Hi Mark,

 

My breadboard arrived yesterday and I spent a rather long evening wiring it up. I know the processor is 'clocking' but no luck getting anything on the serial port yet. May be a simple wiring error, or something more fundamental - I need to write a few simple test routines so I can probe around the circuit and see what's going on. I'll try to attach a photo of my efforts so far. I want to install a ZIF socket for the EPROM so I can change it easily.

 

Wiring on the breadboad - I used Maplins solid core wire - order code BL85G. They've got different colours (with different order codes) - get several and use the different colours for the power supplies, address bus, data bus and control signals. Get a pair of wire strippers.

 

Crystal - I got one off Ebay that seems to work: Ebay item # 260873095032.

 

Power supply - if you don't really want to buy a full blown bench power supply, I've got a regulated +5V plug supply on order which I think will do the job - Ebay item # 250910940846. I'm currently using a spare TI-99/4A supply ... with its horribly bulky transformer.

 

Software controlled LED - a 74LS259 is perhaps a bit more flexible than a 74LS75 (it gives you 8 outputs). Needs some decoding circuitry as well. The '259 will drive an LED directly - needs a ~330 Ohm series resistor. Connect the LED to +5V, and use a logic 0 output on the chip to light the LED.

 

I'll keep you posted.

 

Stuart.

Link to comment
Share on other sites

I can't find a 74LS259 - However, I found some 74HCT295's at rapid:

 

http://www.rapidonli...-3-to-8-83-0130

 

I presume that the HCT will mix okay with the 9900 and other IC's?

 

Is it okay to mix TTL & CMOS in this design? What are the differences?

 

Loads of them on Ebay. The 74HCT259 matches the TTL LS logic levels ... but I'm now sure how it would get on directly driving an LED. Might be better, might not be able to cope. I'm sure someone else could advise.

 

Stuart.

Link to comment
Share on other sites

Happy to report that I've got my breadboard system running the system monitor from TI's 9995 evaluation module. I had the CRU base address for the 9902 wrong - I thought it was >0080, but its actually >0000. So I need to correct the circuit schematic. It's also happy just using the Tx, Rx and Gnd lines on the serial port, so I can delete some wires from that as well.

 

I'll try to make a start getting the details on a website this week, along with a binary dump for the system monitor for programming an EPROM.

 

Stuart.

Link to comment
Share on other sites

Stuart,

 

That power supply... did you just cut the end off?

 

The wall plug one from Ebay? It hasn't arrived yet, but I've got a matching socket from Maplins that I'll probably just glue to the side of the breadboard, and run a pair of jumper wires from that.

 

S.

Link to comment
Share on other sites

Looking good! Can you post the corrected schematics when you have a chance!

 

Thanks

 

OK, I've got a website half put together - <www.avjd51.dsl.pipex.com/tms9995_breadboard/tms9995_breadboard.htm>. There is a link to the schematic in the Technical Description section, and a link to the EPROM binary image in the EPROM Images section. I'll carry on fleshing out the details over the next week or two. Mark W - if you haven't got the mean to program the EPROM, send me a PM.

 

Stuart.

Link to comment
Share on other sites

Looking good! Can you post the corrected schematics when you have a chance!

 

Thanks

 

OK, I've got a website half put together - <www.avjd51.dsl.pipex.com/tms9995_breadboard/tms9995_breadboard.htm>. There is a link to the schematic in the Technical Description section, and a link to the EPROM binary image in the EPROM Images section. I'll carry on fleshing out the details over the next week or two. Mark W - if you haven't got the mean to program the EPROM, send me a PM.

 

Stuart.

 

 

Really cool !

 

Enough of sitting on your achievements Though. Time to get the VDP, SID and keyboard integrated isn't it ;-)...

 

I'm amazed at the rate at which you get things done. Good job and looking foward to seeing more...

 

Hull

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