*I've been following you for a few years now. Overall you have got the best channel for project planning, design & implementation. Top Notch! Dare I say Brilliant?! Thank you for presenting your work in an clear, inspired and comprehensive manner!*
A variant of the 9918 was used in the Colecovision console. One irritating thing about those display chips is they needed a 3X colorburst crystal of 10.? mhz. The Colecovision got around this by using an inductor circuit with the 3.58 clock crystal (divided by two from 7.15909). I think those 10... crystals are very hard to find.
Wow, that's a really neat computer you've built! I have a huge pile of projects and repairs on my "To Build / Fix" pile, but I'm very tempted to add this one to it! Well, at least "in spirit", until the physical pile gets smaller. ;-) I especially like projects where people build a working computer that uses something uncommon like this.
Very cool! I recently got a v9958 working with a HD6309. To save board space, I was able to replace the 192KB DRAM with one 512KB SRAM, a 74als574 latch, and some unused gates in an ATF16V8B to trigger the latch and also select the SRAM if any of CAS0...CASX go low. Your board looks great though, and not too crowded, so cheers for putting some vintage parts to good use. I love the look of your system and hope to have some kind of mass storage like yours soon. Copy-pasting basic programs into terminal and/or reflashing the rom is getting pretty old. I have visions of a c64-ish form factor, so shelled out for a long and skinny four-layer backplane with the five slots laid end to end so the system can lie flat and hopefully fit under a keyboard. I linked the vdp card schematic below, if you're interested.
I'm wondering if there's a way to get a proper VGA output using a separate RAMDAC? I haven't looked at the design too closely, but I'm guessing the video memory is just storing the character buffer rather than the pixel data, so that probably wouldn't work.
that's interesting. how is the clock for the cpu? did you have wait states? v9958 is interfaced as an external device (I/O driven). There are timing constraints so this chip have the ability to made the CPU wait when it is not ready to receive data to and from. Did you connected this signal to the wait input signal of the CPU?
I don't think it would run Zeus -- the Zilog S8000 computers included an MMU (or even three MMUs!) which I don't have in my project. There's also potentially some extra work beyond just using the MMU to get real virtual memory working. According to the literature, a page fault on the MMU could cause the instruction that faulted to partially complete.
I'm using Wincupl together with Xgpro (which came with an newer TL866 -- the older TL866 variants won't do the 22V10). I am using 16V8 on some boards and 22V10 on others.
@@smbakeryt Thanks for that. It would seem that the use of GALs is not well supported, WinCUPL is weirdly difficult to find. I had sorta expected to find a FOSS / GPL compiler for PALs, GALs, and other PLDs. Glad that the devices are still cheap and somewhat available. :-)
A really nice project, but it runs straight into something that really annoys me in diy computers. They either have no video or use some old vintage chip that cannot even put out a decent VGA signal. I really wish some project would build a nice general purpose retro style video chip in an FPGA. Something that can handle 320*240 VGA with 256 colors. And some sprite and scrolling hardware. At least then you can make your project do a little more then basic text. I know the v9958 is a capable enough chip, but at some point we will run out of them as they are no longer produced. The same capabilities in FPGA with added VGA support and maybe a little more color and resolution would be great. Even a 1:1 chip with just proper VGA would be awesome. And yes i could build it myself, but i lack the knowledge. I have to pick my battles. I know this is not your fault, but it really irks me. Such a nice project and you cannot even connect it to a TV without a converter box in between.
The next project I'm working on *might* have VGA implemented in FPGA (not implemented by me, but by someone else). Haven't done it yet, so I'm not sure if the project will be successful, but stay tuned. :) As to the point in general, I think it often comes down to how much of a "project" is retro and how much is replaced by modern hardware, for some definition of modern (VGA is certainly more modern than composite, but it's also less modern than HDMI). I do have a fondness of composite as I spent many hours with a Coco 2, but that fondness wears off quickly when you're dealing with low resolution or display artifacts.
@@smbakeryt VGA is my baseline, easy to find on monitors. HDMI would require more on the FPGA side and the connector is harder to solder. Even the xt had cga and ega. But even that is nothing available. I can get all kinds of synth chips. But even a simple framebuffer VGA chip? Nowhere to be found. More then enough LCD controllers, but no VGA. You would expect some industrial stuff. But industrial computers, at least the x86 ones use of the shelve chips that again, are not produced anymore. It seems the commander x16 project has its video board on a external PCB. It might do what i want, we will see. The foenix retro machine certainly have what i want, but the FPGA video core is only available as part of the machine. I'll be curious to see what you might come up with. I'm subscribed so if anything comes of it i will know👍
Norfin' wrong with a good ole serial terminal, in my book! Modern video on old computers is hard to do without cheating. The old processors just don't have the juice to pump the pixels. If I ever get to the video-output part of any of my 8 bit projects, I suspect I'll fake it with fabgl and am esp32 programmed to act like a 2d video accelerator and vram.
@@Lee_Adamson_OCF the processor might not have had the juice, but that didn't stop the Amiga from existing or the v9990. I'm not taking high resolution. MsDos era graphics. Many games where only 320*240 but had 256 colors out of millions, so it could look nice. Framebuffer plus a ramdac. With smart updates you don't even need fancy scrolling hardware. I don't see how recreating that is cheating. Anymore then creating SD card replacements for disc drives. Doesn't add anything, but makes things more convenient.
*I've been following you for a few years now. Overall you have got the best channel for project planning, design & implementation. Top Notch! Dare I say Brilliant?! Thank you for presenting your work in an clear, inspired and comprehensive manner!*
I love this thing so much. Don’t stop making videos about it.
Amazing little project! I like rc2014 but the look of this somehow seems unique
TMS9918 was a nice video display controller on the TI-99/4A home computer. It's ability to generate sprites was pretty cool.
A variant of the 9918 was used in the Colecovision console. One irritating thing about those display chips is they needed a 3X colorburst crystal of 10.? mhz. The Colecovision got around this by using an inductor circuit with the 3.58 clock crystal (divided by two from 7.15909). I think those 10... crystals are very hard to find.
I love your content. It's very informative and inspiring. I'm currently making a Z80 "Brick" myself, which I'm documenting on my channel.
I am following this project with great excitement, sir.
Wow, that's a really neat computer you've built! I have a huge pile of projects and repairs on my "To Build / Fix" pile, but I'm very tempted to add this one to it! Well, at least "in spirit", until the physical pile gets smaller. ;-) I especially like projects where people build a working computer that uses something uncommon like this.
There is a hackaday page where someone did this for the V9958. So I think it's possible, using the color bus output on the 9958.
You definitely deserve more subscribers!!!
Very cool! I recently got a v9958 working with a HD6309. To save board space, I was able to replace the 192KB DRAM with one 512KB SRAM, a 74als574 latch, and some unused gates in an ATF16V8B to trigger the latch and also select the SRAM if any of CAS0...CASX go low. Your board looks great though, and not too crowded, so cheers for putting some vintage parts to good use. I love the look of your system and hope to have some kind of mass storage like yours soon. Copy-pasting basic programs into terminal and/or reflashing the rom is getting pretty old. I have visions of a c64-ish form factor, so shelled out for a long and skinny four-layer backplane with the five slots laid end to end so the system can lie flat and hopefully fit under a keyboard. I linked the vdp card schematic below, if you're interested.
pugbutt.com/6309/v9958.png
Color artifact if was a feature of the TMS9918A. I remember that well with my TI 99/4a of the early 80s.
I'm wondering if there's a way to get a proper VGA output using a separate RAMDAC? I haven't looked at the design too closely, but I'm guessing the video memory is just storing the character buffer rather than the pixel data, so that probably wouldn't work.
that's interesting. how is the clock for the cpu? did you have wait states?
v9958 is interfaced as an external device (I/O driven). There are timing constraints so this chip have the ability to made the CPU wait when it is not ready to receive data to and from. Did you connected this signal to the wait input signal of the CPU?
That V9958 board is nice, are you going to put the files for it up on your GitHub?
And the backplanes too please.
Will it run Linux? Zilog had it's own version of Unix called Zeus.
I don't think it would run Zeus -- the Zilog S8000 computers included an MMU (or even three MMUs!) which I don't have in my project. There's also potentially some extra work beyond just using the MMU to get real virtual memory working. According to the literature, a page fault on the MMU could cause the instruction that faulted to partially complete.
I bet it would make an amazing Fuzix machine.
Add ANSI terminal escapes and a decent terminal emulator and you could do basically anything with it now 🙂
What software are you using to 'compile' your ATF16V8 to a .JED and which hardware peogrammer are you using? Do you use the 20V8 or the 22V10 at all?
I'm using Wincupl together with Xgpro (which came with an newer TL866 -- the older TL866 variants won't do the 22V10). I am using 16V8 on some boards and 22V10 on others.
@@smbakeryt Thanks for that. It would seem that the use of GALs is not well supported, WinCUPL is weirdly difficult to find. I had sorta expected to find a FOSS / GPL compiler for PALs, GALs, and other PLDs. Glad that the devices are still cheap and somewhat available. :-)
Are you running in text mode? Or graphics mode on the TMS9918A? Scrolling seems slow.
:)
A really nice project, but it runs straight into something that really annoys me in diy computers. They either have no video or use some old vintage chip that cannot even put out a decent VGA signal.
I really wish some project would build a nice general purpose retro style video chip in an FPGA. Something that can handle 320*240 VGA with 256 colors. And some sprite and scrolling hardware. At least then you can make your project do a little more then basic text. I know the v9958 is a capable enough chip, but at some point we will run out of them as they are no longer produced.
The same capabilities in FPGA with added VGA support and maybe a little more color and resolution would be great. Even a 1:1 chip with just proper VGA would be awesome. And yes i could build it myself, but i lack the knowledge. I have to pick my battles.
I know this is not your fault, but it really irks me. Such a nice project and you cannot even connect it to a TV without a converter box in between.
The next project I'm working on *might* have VGA implemented in FPGA (not implemented by me, but by someone else). Haven't done it yet, so I'm not sure if the project will be successful, but stay tuned. :) As to the point in general, I think it often comes down to how much of a "project" is retro and how much is replaced by modern hardware, for some definition of modern (VGA is certainly more modern than composite, but it's also less modern than HDMI). I do have a fondness of composite as I spent many hours with a Coco 2, but that fondness wears off quickly when you're dealing with low resolution or display artifacts.
@@smbakeryt VGA is my baseline, easy to find on monitors. HDMI would require more on the FPGA side and the connector is harder to solder.
Even the xt had cga and ega. But even that is nothing available. I can get all kinds of synth chips. But even a simple framebuffer VGA chip? Nowhere to be found. More then enough LCD controllers, but no VGA. You would expect some industrial stuff. But industrial computers, at least the x86 ones use of the shelve chips that again, are not produced anymore.
It seems the commander x16 project has its video board on a external PCB. It might do what i want, we will see.
The foenix retro machine certainly have what i want, but the FPGA video core is only available as part of the machine.
I'll be curious to see what you might come up with. I'm subscribed so if anything comes of it i will know👍
Norfin' wrong with a good ole serial terminal, in my book!
Modern video on old computers is hard to do without cheating. The old processors just don't have the juice to pump the pixels. If I ever get to the video-output part of any of my 8 bit projects, I suspect I'll fake it with fabgl and am esp32 programmed to act like a 2d video accelerator and vram.
Ps- I got a bunch of cirrus vga controllers in the last jameco grab bag, but I suspect they are all 16 bit and closely tied to the isa bus.
@@Lee_Adamson_OCF the processor might not have had the juice, but that didn't stop the Amiga from existing or the v9990. I'm not taking high resolution. MsDos era graphics. Many games where only 320*240 but had 256 colors out of millions, so it could look nice. Framebuffer plus a ramdac. With smart updates you don't even need fancy scrolling hardware.
I don't see how recreating that is cheating. Anymore then creating SD card replacements for disc drives. Doesn't add anything, but makes things more convenient.