TMS9918A on Arduino

  Рет қаралды 13,762

krallja

krallja

Күн бұрын

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
@adamwishneusky
@adamwishneusky 4 жыл бұрын
Awesome! Thanks for reminding me I have some lentils in the cabinet I’ve been meaning to cook 😉🤓
@krallja
@krallja 4 жыл бұрын
how many µF are they?
@adamwishneusky
@adamwishneusky 4 жыл бұрын
@@krallja they're not labeled and my multimeter isn't a fancy enough one to measure capacitance 😜
@mikevegeto1101
@mikevegeto1101 4 жыл бұрын
@@krallja cooked or uncooked?
@lukenaegle5014
@lukenaegle5014 8 ай бұрын
at this point hopefully cooked :) @@mikevegeto1101
@cbmeeks
@cbmeeks 3 жыл бұрын
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
@petertayler1712 Жыл бұрын
Very highly quality content. Thank you. I've been looking to follow another Ben Eater. Happy I found your video.
@derekchristenson5711
@derekchristenson5711 2 жыл бұрын
Very interesting! I'll have to check out your subsequent videos on this topic.
@xotmatrix
@xotmatrix 4 жыл бұрын
Really good! Looking forward to more.
@janikarkkainen3904
@janikarkkainen3904 3 жыл бұрын
Very nice to follow along your procedure. Almost Ben Eater -esque presentation, love it!
@GeorgeFoot
@GeorgeFoot 4 жыл бұрын
Very nice! It looks like a handy IC, especially with the sprite layers too!
@stevelitt
@stevelitt 3 жыл бұрын
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.
@colonelbarker
@colonelbarker 2 жыл бұрын
Thanks for making the video! Greatly enjoyed.
@jblangston3
@jblangston3 3 жыл бұрын
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.
@krallja
@krallja 3 жыл бұрын
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.
@jakershaker13
@jakershaker13 4 жыл бұрын
I love it! Keep up the good work!!
@chenzhuoyu1992
@chenzhuoyu1992 3 жыл бұрын
9:16 It's an emitter follower circuit, to drive the 75Ω coaxial cabel (and impedance matching), that's why R1 is 75Ω.
@krallja
@krallja 3 жыл бұрын
It must be a mistake, then - there isn’t a coaxial cable attached, just a plain RCA composite cable.
@chenzhuoyu1992
@chenzhuoyu1992 3 жыл бұрын
@@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
@krallja
@krallja 3 жыл бұрын
@@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.
@garymetheringham4990
@garymetheringham4990 2 жыл бұрын
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?
@sydlogan9300
@sydlogan9300 4 жыл бұрын
Nice job. Looking forward to more.
@TheGamingComputerBomb
@TheGamingComputerBomb 4 жыл бұрын
i love the video, keep it up
@microhobbyist
@microhobbyist 3 жыл бұрын
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.
@krallja
@krallja 3 жыл бұрын
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.
@microhobbyist
@microhobbyist 3 жыл бұрын
@@krallja I'll try NMI instead. ;-)
@sarvadnyadesai861
@sarvadnyadesai861 4 жыл бұрын
Nice work👍deserves more subscribers...
@colonelbarker
@colonelbarker 4 жыл бұрын
Great video, thanks for making it
@artursmihelsons415
@artursmihelsons415 2 жыл бұрын
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..
@codeskknows7776
@codeskknows7776 4 жыл бұрын
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.
@krallja
@krallja 4 жыл бұрын
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.
@manhattanmoments
@manhattanmoments 4 жыл бұрын
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
@krallja
@krallja 4 жыл бұрын
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?
@krallja
@krallja 3 жыл бұрын
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.
@krallja
@krallja 3 жыл бұрын
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_Protogen752
@Nebula_Protogen752 11 ай бұрын
Is there any way to do this with an Arduino Uno instead of an Arduino Mega?
@krallja
@krallja 11 ай бұрын
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_Protogen752
@Nebula_Protogen752 11 ай бұрын
thank you for the info!@@krallja
@yuval260990
@yuval260990 4 жыл бұрын
Wow. Amazing
@matthewwallace9686
@matthewwallace9686 3 жыл бұрын
is the Arduino code available?
@krallja
@krallja 3 жыл бұрын
Hey Matthew, I've uploaded it to my GitHub - github.com/InPermutation/tms9918a-arduino
@lelandclayton5462
@lelandclayton5462 4 жыл бұрын
Very nice
@obsoletepowercorrupts
@obsoletepowercorrupts 2 жыл бұрын
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.
@deltakid0
@deltakid0 3 жыл бұрын
Please, more about this using Arduino!!! Please!!!
@vanhetgoor
@vanhetgoor 2 жыл бұрын
Why 32 kB of RAM on a chip that can only manage 16 kB of RAM?
@krallja
@krallja 2 жыл бұрын
It was cheaper to buy a 32KiB SRAM than a 16KiB SRAM, for some reason.
Running Apple 1 software on a breadboard computer (Wozmon)
14:23
TMS9918A Static VRAM
29:35
krallja
Рет қаралды 8 М.
Бенчик, пора купаться! 🛁 #бенчик #арти #симбочка
00:34
Симбочка Пимпочка
Рет қаралды 3,6 МЛН
Кәсіпқой бокс | Жәнібек Әлімханұлы - Андрей Михайлович
48:57
TMS9918A on 6502
12:23
krallja
Рет қаралды 9 М.
How to display VGA text output using the SCN2674 on a breadboard
23:59
Fun with Transistors
24:33
HackMakeMod
Рет қаралды 445 М.
Programming Graphics on the TI-99/4A - Newline99
9:09
newline 99
Рет қаралды 6 М.
My modified Ben Eater 6502 Computer PCB!
11:51
The Invent0r
Рет қаралды 41 М.
Using an AY-3-8910 programmable sound generator with an Arduino
44:30
InternalRegister
Рет қаралды 10 М.
Replace your 6502 computer's RAM or ROM in seconds with this! (ROMulator)
38:18
Adrian's Digital Basement
Рет қаралды 98 М.
3 engineers race to design a PCB in 2 hours | Design Battle
11:50
Predictable Designs
Рет қаралды 320 М.
Connecting an LCD to our computer - 6502 part 4
28:10
Ben Eater
Рет қаралды 1,1 МЛН