Use a chip from 1983 to show fifteen different colors on a TV screen, with a Mega2560 and a breadboard. TI TMS9918A datasheet: archive.org/de... Arduino sketch: github.com/InP...
Пікірлер: 47
@adamwishneusky4 жыл бұрын
Awesome! Thanks for reminding me I have some lentils in the cabinet I’ve been meaning to cook 😉🤓
@krallja4 жыл бұрын
how many µF are they?
@adamwishneusky4 жыл бұрын
@@krallja they're not labeled and my multimeter isn't a fancy enough one to measure capacitance 😜
@mikevegeto11014 жыл бұрын
@@krallja cooked or uncooked?
@lukenaegle50148 ай бұрын
at this point hopefully cooked :) @@mikevegeto1101
@cbmeeks3 жыл бұрын
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!
@petertayler1712 Жыл бұрын
Very highly quality content. Thank you. I've been looking to follow another Ben Eater. Happy I found your video.
@derekchristenson57112 жыл бұрын
Very interesting! I'll have to check out your subsequent videos on this topic.
@xotmatrix4 жыл бұрын
Really good! Looking forward to more.
@janikarkkainen39043 жыл бұрын
Very nice to follow along your procedure. Almost Ben Eater -esque presentation, love it!
@GeorgeFoot4 жыл бұрын
Very nice! It looks like a handy IC, especially with the sprite layers too!
@stevelitt3 жыл бұрын
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.
@colonelbarker2 жыл бұрын
Thanks for making the video! Greatly enjoyed.
@jblangston33 жыл бұрын
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.
@krallja3 жыл бұрын
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.
@jakershaker134 жыл бұрын
I love it! Keep up the good work!!
@chenzhuoyu19923 жыл бұрын
9:16 It's an emitter follower circuit, to drive the 75Ω coaxial cabel (and impedance matching), that's why R1 is 75Ω.
@krallja3 жыл бұрын
It must be a mistake, then - there isn’t a coaxial cable attached, just a plain RCA composite cable.
@chenzhuoyu19923 жыл бұрын
@@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
@krallja3 жыл бұрын
@@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.
@garymetheringham49902 жыл бұрын
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?
@sydlogan93004 жыл бұрын
Nice job. Looking forward to more.
@TheGamingComputerBomb4 жыл бұрын
i love the video, keep it up
@microhobbyist3 жыл бұрын
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.
@krallja3 жыл бұрын
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.
@microhobbyist3 жыл бұрын
@@krallja I'll try NMI instead. ;-)
@sarvadnyadesai8614 жыл бұрын
Nice work👍deserves more subscribers...
@colonelbarker4 жыл бұрын
Great video, thanks for making it
@artursmihelsons4152 жыл бұрын
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..
@codeskknows77764 жыл бұрын
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.
@krallja4 жыл бұрын
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.
@manhattanmoments4 жыл бұрын
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
@krallja4 жыл бұрын
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.)
3 жыл бұрын
Early on in the video, we see you are using BASIC. Which version of BASIC are you using? And where can I find it?
@krallja3 жыл бұрын
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.
@krallja3 жыл бұрын
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
@Nebula_Protogen75211 ай бұрын
Is there any way to do this with an Arduino Uno instead of an Arduino Mega?
@krallja11 ай бұрын
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.
@Nebula_Protogen75211 ай бұрын
thank you for the info!@@krallja
@yuval2609904 жыл бұрын
Wow. Amazing
@matthewwallace96863 жыл бұрын
is the Arduino code available?
@krallja3 жыл бұрын
Hey Matthew, I've uploaded it to my GitHub - github.com/InPermutation/tms9918a-arduino
@lelandclayton54624 жыл бұрын
Very nice
@obsoletepowercorrupts2 жыл бұрын
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.
@deltakid03 жыл бұрын
Please, more about this using Arduino!!! Please!!!
@vanhetgoor2 жыл бұрын
Why 32 kB of RAM on a chip that can only manage 16 kB of RAM?
@krallja2 жыл бұрын
It was cheaper to buy a 32KiB SRAM than a 16KiB SRAM, for some reason.