This is AWESOME! You've inspired me to dig out my TMS chips and get building. I built a 65C02 SBC a couple years ago and this would be a perfect fit. Please post more!
I’ve been looking for an easy way to add a display to my Ben Eater kit 6502 computer and I found this super helpful and informative. Thanks so much for sharing.
Nice video! I see that you noticed the voltage is a little too high on the output. This can be adjusted by putting in a ~130 ohm resistor in place of R2 which is specified in the schematic as 0 ohm (aka, a wire). I talked to Michael about including the extra resistor in the kits but I'm not sure if he has yet. The circuit I used for my board originally came from a document by Tom Lemense, and like you I'm not too good at analog electronics so I just blindly copied the output stage from his schematic. However, later I measured the voltages and realized they are high. Having a higher voltage doesn't hurt the TV as you found out, but it does make the picture brighter than it should be. This can be compensated with the TV's brightness setting but then if you switch the input to something else, it will be too dark. I experimented and found that 130 ohm yielded a signal pretty close to the correct voltage, but anything in that approximate range would work if you don't have 130 ohm on hand. The colors would just be a little brighter or darker based on the value you used.
Good to hear from you, J.B.! On a couple of my vintage machines I've noticed potentiometers in series with the video circuits, which seem to serve the same purpose. I think I will put a 1K-ohm potentiometer in place of R2, and turn it to 13% to see where it gets me.
@@krallja Oh... My apologies. But it happens that the RCA Composite Video cable is also 75Ω impedance, so it may still make sense. en.wikipedia.org/wiki/Composite_video#Connectors_and_cable
@@chenzhuoyu1992 makes sense! i am at the start of the chapter on simple transistor circuits in my electronics textbook, so hopefully it’ll make more sense to me soon.
Nice! 👍 For first run, I will, definitely, wire up video RAM.. That will display garage on screen to verify, that video chip is actually working.. Probably, I'm old school, but assembler better fits in to my brain logic.. 😂 That's why I don't use Arduino, but program Atmel chips directly..
hi, I've been trying to get my tms9918 to work with the arduino , tv connects saying ntsc input signal but all oi get is black and white vertical lines that change pitch as colour changes from arduino. any ideas?
I see you set up a PS2 keyboard. I'm implementing one at the moment. It's interrupt-driven through the clock. I also made a polled version. All is working fine, but have you tried using other interrupts, like a continuous timer? This really screws things up and messes up the keyboard packet framing. I'd love to see a video on your implementation of the PS2 keyboard, as well as dealing with other interrupt sources. I'm not a pro, just a hobbyist, so, I'm obviously missing something.
Currently my PS/2 clock line is tied to NMI, so it takes precedence over all other interrupts and can’t be disabled. I think the 65c22 can be used to latch the data line and interrupt the 65c02, but I haven’t tried that yet. The 65c22 is very versatile, so there should be a simple and robust way to make it work.
Correct, this chip has NTSC composite video, not PAL. The TMS9929A variant outputs 50Hz interlaced Y, R-Y, B-Y, which can be modulated to PAL with some additional components. (And the 9928A has 60Hz Y,R-Y,B-Y NTSC.)
Hi there! I am currently working on designing a computer with the TMS9918ANL where you able to get it to write to VRAM? I am currently trying to get it to work with AVR so when the interrupt pin goes low it will try to write to it.
Stay tuned - I have one more video to do, then I will try writing to VRAM. github.com/jblang/TMS9918A has a schematic showing how to electrically use a cheap static RAM chip as VRAM.
Yes, the only difference is you only need to configure Arduino IDE to program your device, and make sure the ADDR array in the sketch is set according to the pins you used on your Uno.
It's actually a camera trick: I only had the PS/2 keyboard typing directly to the LCD :D If you're looking for a BASIC to adapt to your BE6502, I would recommend TinyBASIC. Jeff Tranter has a well-annotated version of it on his GitHub page.
Jeff Tranter also has a copy of EhBASIC, which is designed to be easy to adapt to any 6502-based system. github.com/jefftranter/6502/tree/master/asm/ehbasic
A friendly reminder (disclaimer?) to upload your video with RAM on it so as to be showing the TV displaying something extra such as text or a spline or triangles, etc. My comment has no hate in it and I do no harm. I am not appalled or afraid, boasting or envying or complaining... Just saying. Psalms23: Giving thanks and praise to the Lord and peace and love.
Awesome! Thanks for reminding me I have some lentils in the cabinet I’ve been meaning to cook 😉🤓
how many µF are they?
@@krallja they're not labeled and my multimeter isn't a fancy enough one to measure capacitance 😜
@@krallja cooked or uncooked?
at this point hopefully cooked :)
@@mikevegeto1101
This is AWESOME! You've inspired me to dig out my TMS chips and get building. I built a 65C02 SBC a couple years ago and this would be a perfect fit.
Please post more!
Very highly quality content. Thank you. I've been looking to follow another Ben Eater. Happy I found your video.
Very interesting! I'll have to check out your subsequent videos on this topic.
Really good! Looking forward to more.
Very nice! It looks like a handy IC, especially with the sprite layers too!
Thanks for making the video! Greatly enjoyed.
I’ve been looking for an easy way to add a display to my Ben Eater kit 6502 computer and I found this super helpful and informative. Thanks so much for sharing.
Very nice to follow along your procedure. Almost Ben Eater -esque presentation, love it!
Nice video! I see that you noticed the voltage is a little too high on the output. This can be adjusted by putting in a ~130 ohm resistor in place of R2 which is specified in the schematic as 0 ohm (aka, a wire). I talked to Michael about including the extra resistor in the kits but I'm not sure if he has yet. The circuit I used for my board originally came from a document by Tom Lemense, and like you I'm not too good at analog electronics so I just blindly copied the output stage from his schematic. However, later I measured the voltages and realized they are high. Having a higher voltage doesn't hurt the TV as you found out, but it does make the picture brighter than it should be. This can be compensated with the TV's brightness setting but then if you switch the input to something else, it will be too dark. I experimented and found that 130 ohm yielded a signal pretty close to the correct voltage, but anything in that approximate range would work if you don't have 130 ohm on hand. The colors would just be a little brighter or darker based on the value you used.
Good to hear from you, J.B.! On a couple of my vintage machines I've noticed potentiometers in series with the video circuits, which seem to serve the same purpose. I think I will put a 1K-ohm potentiometer in place of R2, and turn it to 13% to see where it gets me.
I love it! Keep up the good work!!
9:16 It's an emitter follower circuit, to drive the 75Ω coaxial cabel (and impedance matching), that's why R1 is 75Ω.
It must be a mistake, then - there isn’t a coaxial cable attached, just a plain RCA composite cable.
@@krallja Oh... My apologies. But it happens that the RCA Composite Video cable is also 75Ω impedance, so it may still make sense. en.wikipedia.org/wiki/Composite_video#Connectors_and_cable
@@chenzhuoyu1992 makes sense! i am at the start of the chapter on simple transistor circuits in my electronics textbook, so hopefully it’ll make more sense to me soon.
Nice job. Looking forward to more.
i love the video, keep it up
Nice! 👍
For first run, I will, definitely, wire up video RAM.. That will display garage on screen to verify, that video chip is actually working..
Probably, I'm old school, but assembler better fits in to my brain logic.. 😂 That's why I don't use Arduino, but program Atmel chips directly..
Great video, thanks for making it
Nice work👍deserves more subscribers...
Wow. Amazing
Very nice
Please, more about this using Arduino!!! Please!!!
hi, I've been trying to get my tms9918 to work with the arduino , tv connects saying ntsc input signal but all oi get is black and white vertical lines that change pitch as colour changes from arduino. any ideas?
I see you set up a PS2 keyboard. I'm implementing one at the moment. It's interrupt-driven through the clock. I also made a polled version. All is working fine, but have you tried using other interrupts, like a continuous timer? This really screws things up and messes up the keyboard packet framing. I'd love to see a video on your implementation of the PS2 keyboard, as well as dealing with other interrupt sources. I'm not a pro, just a hobbyist, so, I'm obviously missing something.
Currently my PS/2 clock line is tied to NMI, so it takes precedence over all other interrupts and can’t be disabled. I think the 65c22 can be used to latch the data line and interrupt the 65c02, but I haven’t tried that yet. The 65c22 is very versatile, so there should be a simple and robust way to make it work.
@@krallja I'll try NMI instead. ;-)
I love it! Very nice done! Just to be sure, it’s an NTSC signal coming out, correct? ... and PAL wouldn’t work with that
Correct, this chip has NTSC composite video, not PAL. The TMS9929A variant outputs 50Hz interlaced Y, R-Y, B-Y, which can be modulated to PAL with some additional components. (And the 9928A has 60Hz Y,R-Y,B-Y NTSC.)
Hi there! I am currently working on designing a computer with the TMS9918ANL where you able to get it to write to VRAM? I am currently trying to get it to work with AVR so when the interrupt pin goes low it will try to write to it.
Stay tuned - I have one more video to do, then I will try writing to VRAM. github.com/jblang/TMS9918A has a schematic showing how to electrically use a cheap static RAM chip as VRAM.
is the Arduino code available?
Hey Matthew, I've uploaded it to my GitHub - github.com/InPermutation/tms9918a-arduino
Is there any way to do this with an Arduino Uno instead of an Arduino Mega?
Yes, the only difference is you only need to configure Arduino IDE to program your device, and make sure the ADDR array in the sketch is set according to the pins you used on your Uno.
thank you for the info!@@krallja
Early on in the video, we see you are using BASIC. Which version of BASIC are you using? And where can I find it?
It's actually a camera trick: I only had the PS/2 keyboard typing directly to the LCD :D If you're looking for a BASIC to adapt to your BE6502, I would recommend TinyBASIC. Jeff Tranter has a well-annotated version of it on his GitHub page.
Jeff Tranter also has a copy of EhBASIC, which is designed to be easy to adapt to any 6502-based system. github.com/jefftranter/6502/tree/master/asm/ehbasic
A friendly reminder (disclaimer?) to upload your video with RAM on it so as to be showing the TV displaying something extra such as text or a spline or triangles, etc.
My comment has no hate in it and I do no harm. I am not appalled or afraid, boasting or envying or complaining... Just saying. Psalms23: Giving thanks and praise to the Lord and peace and love.
Why 32 kB of RAM on a chip that can only manage 16 kB of RAM?
It was cheaper to buy a 32KiB SRAM than a 16KiB SRAM, for some reason.