TMS9918A on Arduino

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 พ.ย. 2024

ความคิดเห็น •

  • @adamwishneusky
    @adamwishneusky 4 ปีที่แล้ว +5

    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 ปีที่แล้ว +1

      @@krallja cooked or uncooked?

    • @lukenaegle5014
      @lukenaegle5014 10 หลายเดือนก่อน

      at this point hopefully cooked :)
      @@mikevegeto1101

  • @cbmeeks
    @cbmeeks 4 ปีที่แล้ว +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 2 ปีที่แล้ว

    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 ปีที่แล้ว +3

    Really good! Looking forward to more.

  • @GeorgeFoot
    @GeorgeFoot 4 ปีที่แล้ว +3

    Very nice! It looks like a handy IC, especially with the sprite layers too!

  • @colonelbarker
    @colonelbarker 2 ปีที่แล้ว

    Thanks for making the video! Greatly enjoyed.

  • @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.

  • @janikarkkainen3904
    @janikarkkainen3904 3 ปีที่แล้ว

    Very nice to follow along your procedure. Almost Ben Eater -esque presentation, love it!

  • @jblangston3
    @jblangston3 3 ปีที่แล้ว +2

    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 ปีที่แล้ว +1

      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 ปีที่แล้ว +1

    I love it! Keep up the good work!!

  • @chenzhuoyu1992
    @chenzhuoyu1992 3 ปีที่แล้ว +1

    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 ปีที่แล้ว +1

      @@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 ปีที่แล้ว +1

      @@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.

  • @sydlogan9300
    @sydlogan9300 4 ปีที่แล้ว

    Nice job. Looking forward to more.

  • @TheGamingComputerBomb
    @TheGamingComputerBomb 4 ปีที่แล้ว +1

    i love the video, keep it up

  • @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..

  • @colonelbarker
    @colonelbarker 4 ปีที่แล้ว

    Great video, thanks for making it

  • @sarvadnyadesai861
    @sarvadnyadesai861 4 ปีที่แล้ว

    Nice work👍deserves more subscribers...

  • @yuval260990
    @yuval260990 4 ปีที่แล้ว

    Wow. Amazing

  • @lelandclayton5462
    @lelandclayton5462 4 ปีที่แล้ว

    Very nice

  • @deltakid0
    @deltakid0 3 ปีที่แล้ว

    Please, more about this using Arduino!!! Please!!!

  • @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?

  • @microhobbyist
    @microhobbyist 3 ปีที่แล้ว +1

    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 ปีที่แล้ว +1

      @@krallja I'll try NMI instead. ;-)

  • @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 ปีที่แล้ว +1

      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.)

  • @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.

  • @matthewwallace9686
    @matthewwallace9686 3 ปีที่แล้ว +1

    is the Arduino code available?

    • @krallja
      @krallja  3 ปีที่แล้ว +1

      Hey Matthew, I've uploaded it to my GitHub - github.com/InPermutation/tms9918a-arduino

  • @Nebula_Protogen752
    @Nebula_Protogen752 ปีที่แล้ว

    Is there any way to do this with an Arduino Uno instead of an Arduino Mega?

    • @krallja
      @krallja  ปีที่แล้ว +1

      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 ปีที่แล้ว +1

      thank you for the info!@@krallja

  •  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 ปีที่แล้ว +1

      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 ปีที่แล้ว +1

      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

  • @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.

  • @vanhetgoor
    @vanhetgoor 2 ปีที่แล้ว

    Why 32 kB of RAM on a chip that can only manage 16 kB of RAM?

    • @krallja
      @krallja  2 ปีที่แล้ว +1

      It was cheaper to buy a 32KiB SRAM than a 16KiB SRAM, for some reason.