Interfacing stock 6502 to TMS9918
Re: Interfacing stock 6502 to TMS9918
Thanks for the link!
I added it (along with this thread) to my TMS GitHub page.
https://github.com/cbmeeks/TMS9918
I added it (along with this thread) to my TMS GitHub page.
https://github.com/cbmeeks/TMS9918
Cat; the other white meat.
Re: Interfacing stock 6502 to TMS9918
I was into other things so I put this project aside for a while. 4164 dram chips I ordered recently arrived and I'll revisit this project. With the lousy interfacing I was not able to properly build the sram interface. Maybe it was the software that was problematic but now I want to try it again with these dram chips. The connections will be much more straightforward.
The question is : Would I be able to bankswitch this 64k dram into 4 16k segments? Considering the address input to these dram chips are multiplexed. I guess I'd need a 2 to 1 multiplexer with it's select line tied to either RAS or CAS? Do you think that will worth the effort when using this chip?
The question is : Would I be able to bankswitch this 64k dram into 4 16k segments? Considering the address input to these dram chips are multiplexed. I guess I'd need a 2 to 1 multiplexer with it's select line tied to either RAS or CAS? Do you think that will worth the effort when using this chip?
Re: Interfacing stock 6502 to TMS9918
Using the 4164 to replace the 4116 as far as the read write timing etc goes seems to work fine. I've used one on a board already wired for the 4116 as seen here http://www.primrosebank.net/computers/m ... mavram.htm
Running this setup I've had no data loss issues from that particular chip only getting 7 bits of refresh as a result of the surgery to make it fit the board.
Though that might be an issue if you were attempting to make use of all 64k, as only the active bank would be refreshed. Someone more up on Dram might be able to confirm that.
Running this setup I've had no data loss issues from that particular chip only getting 7 bits of refresh as a result of the surgery to make it fit the board.
Though that might be an issue if you were attempting to make use of all 64k, as only the active bank would be refreshed. Someone more up on Dram might be able to confirm that.
Re: Interfacing stock 6502 to TMS9918
Most 64kx1 Chips required 128 refresh cycles. As long as your multiplexed addresses do not interfere with the 7 address bits required for the refresh you are fine.
Re: Interfacing stock 6502 to TMS9918
I completely forgot the refresh issue.
@cbscpe : The idea is to drive the multiplexed A0..A6 by VDC which would handle the dram refresh. And drive the A7 by extra logic which would eventually be controlled by a register which is driven by the main cpu. Then one would need to refresh unbanked dram in the vertical blanking period maybe by quickly switching between 4 each. But VDC does the dram refreshing transparently so this is not possible.
Possibly VDC does the dram refreshing when the vblank occurs. And since it does this transparently I guess banking dram is not possible.
@cbscpe : The idea is to drive the multiplexed A0..A6 by VDC which would handle the dram refresh. And drive the A7 by extra logic which would eventually be controlled by a register which is driven by the main cpu. Then one would need to refresh unbanked dram in the vertical blanking period maybe by quickly switching between 4 each. But VDC does the dram refreshing transparently so this is not possible.
Possibly VDC does the dram refreshing when the vblank occurs. And since it does this transparently I guess banking dram is not possible.
Re: Interfacing stock 6502 to TMS9918
You could make things so much simpler by just going for a V9938 or V9958 and some DRAMs. 
http://www.ebay.co.uk/itm/351494243872 - 10 lots of 64Kx4bit DRAMs, $10.39 inc. shipping
http://www.ebay.co.uk/itm/360806353409 - 1 lot of V9958, $8.99 inc. shipping
The only complication is the fact that the IC is shrink DIP so sockets are a bit pricy.
http://www.ebay.co.uk/itm/391314851450 - 2 lots of Shrink DIP64 socket, £6.46
Assuming you were to prototype this on breadboard, you'd want some kind of adapter. I made my own, or you can buy them, though they are hard to find.
The blogpost documenting my success in prototyping up a V9958 with my micro:
http://aslak3.blogspot.co.uk/2014/09/pc ... rupts.html
EDIT: the are other advantages, beside the DRAMs, with the V9958. The main one for me was that it has an 80 column text mode, but there are many more features beside that.
Apologies if you have absolutely no interest in anything but the 9918.
http://www.ebay.co.uk/itm/351494243872 - 10 lots of 64Kx4bit DRAMs, $10.39 inc. shipping
http://www.ebay.co.uk/itm/360806353409 - 1 lot of V9958, $8.99 inc. shipping
The only complication is the fact that the IC is shrink DIP so sockets are a bit pricy.
http://www.ebay.co.uk/itm/391314851450 - 2 lots of Shrink DIP64 socket, £6.46
Assuming you were to prototype this on breadboard, you'd want some kind of adapter. I made my own, or you can buy them, though they are hard to find.
The blogpost documenting my success in prototyping up a V9958 with my micro:
http://aslak3.blogspot.co.uk/2014/09/pc ... rupts.html
EDIT: the are other advantages, beside the DRAMs, with the V9958. The main one for me was that it has an 80 column text mode, but there are many more features beside that.
Apologies if you have absolutely no interest in anything but the 9918.
8 bit fun and games: https://www.aslak.net/
Re: Interfacing stock 6502 to TMS9918
(Someone mention shrink DIP?)
Re: Interfacing stock 6502 to TMS9918
That's a neat trick..
Re: Interfacing stock 6502 to TMS9918
That's cute. Over 32 pins, the error would build up to 0.576mm though. You might get away with it, but it seems like abuse of a relatively expensive and rare part. 
8 bit fun and games: https://www.aslak.net/
Re: Interfacing stock 6502 to TMS9918
Aslak3 wrote:
That's cute. Over 32 pins, the error would build up to 0.576mm though. You might get away with it, but it seems like abuse of a relatively expensive and rare part. 
Re: Interfacing stock 6502 to TMS9918
rwiker wrote:
I just discovered that there are prototyping pcbs with 0.05in pitch; those might be more suitable for experimenting with the 9958 (could even be used to make a breakout board).
EDIT: oops, missed a 0.
Last edited by Aslak3 on Tue Mar 08, 2016 10:15 pm, edited 1 time in total.
8 bit fun and games: https://www.aslak.net/
Re: Interfacing stock 6502 to TMS9918
The V9938 and V9958 are 0.75 inches wide too (the DIP Z180 is too, is that safe to mention here?). Which makes them more tricky to force fit onto a 0.1 inch board.
The best I could come up with was bending flat 7 of every 10 pins, and only pushing through the board the 3 that more or less fit the 0.1 spacing (1,4,8, 11,14,18 etc.)
I wasn't sure how sound that would be mechanically, so went with an adaptor instead.
That's one thing in the 9918's favour, it fits!
The best I could come up with was bending flat 7 of every 10 pins, and only pushing through the board the 3 that more or less fit the 0.1 spacing (1,4,8, 11,14,18 etc.)
I wasn't sure how sound that would be mechanically, so went with an adaptor instead.
That's one thing in the 9918's favour, it fits!
Re: Interfacing stock 6502 to TMS9918
I've seen V9958 while I was looking for TMS9918 by the way. It needs a little bit more effort in the software department and it's a bit expensive too. Expensiveness doesn't matter that much but at this point I want a simple chip to integrate. Maybe in my next project I could use it.
ps: Just noticed that it's not a standard DIP but a shrink DIP... being a breadboard man I am, that alone makes the game much harder.
ps: Just noticed that it's not a standard DIP but a shrink DIP... being a breadboard man I am, that alone makes the game much harder.
Re: Interfacing stock 6502 to TMS9918
i_r_on wrote:
I've seen V9958 while I was looking for TMS9918 by the way. It needs a little bit more effort in the software department and it's a bit expensive too. Expensiveness doesn't matter that much but at this point I want a simple chip to integrate. Maybe in my next project I could use it.
ps: Just noticed that it's not a standard DIP but a shrink DIP... being a breadboard man I am, that alone makes the game much harder.
ps: Just noticed that it's not a standard DIP but a shrink DIP... being a breadboard man I am, that alone makes the game much harder.
I don't think the software is much more work really. There's a few more registers, and obviously you need to deal with the bigger memory spare, but it isn't that much more work.
Anyway, I just wanted to suggest it, since it sounds like that SRAM->DRAM interface is a bit of a pest.
8 bit fun and games: https://www.aslak.net/
-
matthew180
- Posts: 20
- Joined: 18 Sep 2015
Re: Interfacing stock 6502 to TMS9918
i_r_on wrote:
Expensiveness doesn't matter that much but at this point I want a simple chip to integrate.
I have a website (http://codehackcreate.com/archives/30) with more info if you are interested. There is also a project where a board was made to put the F18A into an Apple ][. The project thread is here (http://atariage.com/forums/topic/248108-appleti/) and it uses a very simple interface to the bus.
The 99/4A and MSX communities have beat the 9918A to death, especially with regards to timing, over-running, and pushing the chip to the max. There is plenty of good 9918A info to be found in those forums as well. Also, when I was working on the F18A I emailed one of the original 9918A designers (Karl Guttag) and he was kind enough to answer questions about the chip's design and provide some internal documentation. All of this info is now published online.
I hope some of this helps.
Matthew