TMS9918A Static VRAM

Поділитися
Вставка
  • Опубліковано 27 жов 2024

КОМЕНТАРІ • 56

  • @TcG4mer
    @TcG4mer 3 роки тому +20

    I've been working on hooking up a tms9918 and a ay-3-8910 to a 6502 machine, which I based the design on ben eater's 6502 machine, and these videos you made really made the difference on the progress I'm making, for the glue logic since I don't have a 74x138 I designed some logic using nand gates and used the 6000 address space for the 6522 and the 7000 address space to the tms9918 (of course I had to mess a bit with the 6522 glue logic) and it all ended up working perfectly! If you read all this I just want to thank you for your work on making these videos and your care in explaing the viewer what's going on, greetings from Portugal!

    • @krallja
      @krallja  3 роки тому +2

      Thanks for sharing! I’m glad you got an address decoder circuit working with NANDs. I’d like to play with sound chips soon.

  • @matthewwallace9686
    @matthewwallace9686 3 роки тому +4

    To anyone building this circuit:
    When I first connected the all of the HCT574s' AD0-7 wires as shown in the video, my monitor outputted random values. I then flipped two of the HCT574s' AD0-7 connections, and it worked beautifully. I flipped the wires going out of the TMS9918A and into the left 574, and the wires coming into the right 574, relative to then ones shown in this video. It then worked perfectly!

    • @cscn633
      @cscn633 3 роки тому +2

      Thanks Matthew for the suggestion! Your solution worked for me also.

    • @keithbecker3142
      @keithbecker3142 2 роки тому +1

      Hi Matthew. Can you upload your assembly code? I seem to be having an error missing end directive for macro "vdp_write_vram" when compiling? I was able to get the yellow to display correctly on the last video

    • @matthewwallace9686
      @matthewwallace9686 2 роки тому

      My code is too long for a comment, but I think you need a different version of the compiler that allows macros. I think I had to ask Kralja how to get his special version of the compiler to allow macros. It might be posted on his Github!

  • @deepfried-pillow3484
    @deepfried-pillow3484 2 роки тому +1

    Thank you for making this video series - it's been a tremendous help with hooking up my own TMS9918 to a 6502 based computer I've been working on, and these videos have saved me a lot of trouble.
    Thanks again.

    • @deepfried-pillow3484
      @deepfried-pillow3484 2 роки тому

      Sorry - I forgot to ask in my previous comment: what are the “more stringent timing requirements” when the display is enabled? If you could point me in the right direction, that would be great.
      Also - any plans for a video on sprites that you mentioned? 😁

  • @microhobbyist
    @microhobbyist 3 роки тому +5

    Ahhh! That's how it actually works. Thanks for clarifying things up.
    I purchased some TMS9918A chips, I'll implement my video section soon on my 65C02 SBC.

  • @matthewwallace9686
    @matthewwallace9686 3 роки тому +3

    This channel is incredibly underrated. You've been a huge help for my senior project!

  • @ShaunJV12
    @ShaunJV12 Рік тому +2

    I recently came across your channel and I'm really enjoying these videos! I hope you can produce more soon! It would be great to see you continue with this project

  • @nowt1002
    @nowt1002 2 роки тому +4

    Nice video. This project is pretty similar to one that I was working on back in 2019. I did actually use dram for the vdp chip but I used 4164s instead of 4116s. These are a bit easier to use as they only need 5v and I had some left over from repairing a ZX Spectrum.
    I need to go back to that project, I had it working but it was getting a bit too flaky on the breadboards and I was spending more time trying to find bad connections than actually doing the computer.
    I had an ay-3-8910 that was controlled through a 6522. The 6522 was also doing the baud rate generation for a 6850 uart. The computer was running Lee Davisons Ehbasic. The serial io and putting text on screen was done with interrupts with basic using a buffer for the chars. Watching these videos is giving me some motivation to get back to the project. I had quite big plans for it with a section of ram being paged and even an ide interface and implementation of a basic fat filesystem.

  • @ralphyrocket5770
    @ralphyrocket5770 3 роки тому +2

    now thats a HAPPY New Year!

  • @mbeware
    @mbeware Рік тому +2

    Interesting project. I would have love to see the sprite demo!

  • @noureddinebenakrim5458
    @noureddinebenakrim5458 3 роки тому

    You are awesome, don't stop making videos like this, thanks

  • @colonelbarker
    @colonelbarker 3 роки тому +1

    Thanks for this. Really interesting video!

  • @Wobblybob2004
    @Wobblybob2004 3 роки тому +2

    That was awesome! Of course you could have used 4bit Drams and saved yourself alot of wiring. :-) Cant wait for the next installment.

  • @tylerlatham8784
    @tylerlatham8784 3 роки тому +2

    I've been anxiously awaiting this video. I'm so excited to see sprite mode as well. I have picked up some of these chips and plan on implementing this after I get my SN76489 sorted.
    Also do you remember where you picked up those pliers with the red handles? They look great.

    • @krallja
      @krallja  3 роки тому

      Thank you! The red-handled pliers are Craftsman 45666 “Round-Nose Mini Pliers.” I’ve had them for a long time- probably got them at a big box hardware store.

  • @theowinters6314
    @theowinters6314 Рік тому +1

    A few months back I wrote an emulator for the version of the TMS9918A used in the Master System, so it's really interesting seeing this from the other side.

  • @MarianoLu
    @MarianoLu 3 роки тому

    How is the project going? I'm in the same boat so waiting for the next video!!

  • @Hardwarenerd
    @Hardwarenerd 3 роки тому +1

    Happy new year! I hope you are having a great time! First question I have is where to get that 10mhz crystal?.. I've been waiting for this video! Time to expand my system

    • @krallja
      @krallja  3 роки тому +1

      Mouser part # 449-LFXTAL029962Reel

  • @lukenaegle5014
    @lukenaegle5014 3 місяці тому

    AUUUG Through days of finding why my screen had blue garbled text I realized that as krallja said in the previous tutorial that the clock needed to be delayed a bit and at the time it worked without the delay (pin 3 of '138 connected straight to clk instead of connecting straght to pin 20 of 6502 ram for delayed clock) The circuit is now working wonderfully when inverting the clock line 4 times. Now i can start coding! thanks!!

  • @invent0r137
    @invent0r137 2 роки тому +1

    This is great! Any plans to make it work with a keyboard so you can type stuff onto the screen? I finished my BE6502 a while back and that's been my next goal.

  • @matthewwallace9686
    @matthewwallace9686 3 роки тому

    cant wait for the next one!

  • @alexeybelodvortsev5298
    @alexeybelodvortsev5298 3 роки тому +1

    There have been no new videos for a long time. Will there be new videos with 9918, 6502 and sprites?
    Thanks for the interesting videos!

  • @tmbarral664
    @tmbarral664 3 роки тому +1

    any success with the sprites ?

  • @BalugaWhale37
    @BalugaWhale37 3 роки тому +1

    Can you give us the link the the DRAM to SRAM solution? Seeing that simplification and your implementation was my favorite part!

    • @krallja
      @krallja  3 роки тому

      Sure, it’s in the description!

  •  3 роки тому

    I followed all your videos and built the circuit with your initialization code yesterday. It works!!!! Thank you for the inspiration.
    Now all I need is some reference code to actually use the VDP. A library of basic functions, if such a thing exists. 6502 resources for the TMS9918A are scarce, and I'm no programmer, so the Z80 code I found so far is, for now, quite confusing to me. If you know of any, can you point out a good one? If not... well, I'll have to headbang through the cryptic documentation and try to make sense of it. LOL

    • @krallja
      @krallja  3 роки тому +1

      I'm not aware of anything. Hopefully we can create a nice library of basic VDP functions as part of this video series!

  • @JakeTheCake254
    @JakeTheCake254 7 місяців тому

    Hi, this video is amazing! I really appreciate making it! I bought the Ben Eater kit a while back in 2020 with his "world's worst GPU" and put the two together. a week ago, I decided I wanted to start from scratch and eventually make a PCB, so I've been doing research and I think I am going to try and use a TMS9918A, AY-3-8910, a VIA, 16KB ROM, 32KB RAM, and one more device I haven't decided on yet (my memory mapping allots me one more I/O) maybe an ACIA, though I can't find those anywhere. Anyways thanks to your videos I have a really good basis to test the TMS9918A and get familiar with it, and learn how retro computers and consoles used nametables, pattern tables, and sprites to write to displays. My TMS9918A should be here tomorrow so I'm excited to test it. Do you have any plans to continue this series and go over sprites?
    Thank you.

  • @narayanbandodker5482
    @narayanbandodker5482 Рік тому

    I have a dumb question, is it possible to connect a PC DIMM to it? I'm not saying the modern DDR RAMs, but the first SDRAMs. I think it is possible to connect to it's bus but voltage may be an issue

  • @isaactanner6403
    @isaactanner6403 Рік тому +2

    Hi !!
    Can you provide a schematic link with this latch converter to replace VRAM kind used in this project ?? Is a super good insight to replace annoying -5v in all projects !!
    Thanx so much !!

    • @krallja
      @krallja  Рік тому

      Hi! I adapted it directly from Michael Kamprath’s GitHub: github.com/jblang/TMS9918A/blob/master/TMS9918.pdf

    • @isaactanner6403
      @isaactanner6403 Рік тому +2

      @@krallja
      Super thanx !!
      A hundred likes 👍🏻

  • @garymetheringham4990
    @garymetheringham4990 2 роки тому

    do please revisit this project, by adding a 65c51 serial interface that can take keyboard input and display the text mode screen output and also being able to load/push programs into ram.

  •  3 роки тому +2

    Do you have the source code used in your video?

    • @krallja
      @krallja  3 роки тому +2

      Added to the description!

  • @matthewwallace9686
    @matthewwallace9686 3 роки тому +1

    Do I need a particular monitor resolution for this to work?

    • @krallja
      @krallja  3 роки тому +1

      It outputs an NTSC composite analog signal, so you need a composite monitor or a TV with a yellow RCA jack. (There’s also a PAL version of the chip too, if you live in a 50Hz country.)

    • @matthewwallace9686
      @matthewwallace9686 3 роки тому

      @@krallja Thanks! So the monitor's resolution isn't a problem?

    • @krallja
      @krallja  3 роки тому +1

      @@matthewwallace9686 right, the NTSC analog standard was the same 525-line 29.97fps interlaced signal throughout its long life. Any TV or monitor with composite input should be able to display it.

    • @matthewwallace9686
      @matthewwallace9686 3 роки тому

      @@krallja thank you so much

  • @unstinkable3101
    @unstinkable3101 2 роки тому +2

    100 likes!

  • @gemmebacon
    @gemmebacon 2 роки тому

    I would really like to build this but I dont really get what kind of chips i need to get, can you help me with that?

    • @gemmebacon
      @gemmebacon 2 роки тому

      And a schematic would be good too

  • @keithbecker3142
    @keithbecker3142 2 роки тому

    I seem to have a problem when compiling. I keep getting the error ""missing end directive for macro "vdp_write_vram"""
    Any idea what might be the problem? VASM seems to compile correctly for other programs. Thanks for these videos!

    • @krallja
      @krallja  2 роки тому +1

      There is a common version of Vasm for Windows which has this bug with macros. You can either expand the macros by hand, or update Vasm.

    • @keithbecker3142
      @keithbecker3142 2 роки тому +1

      @@krallja thanks for the reply. Now getting the problem PHX and PLX are not instructions supported. I downloaded the new VASM.

    • @krallja
      @krallja  2 роки тому

      @@keithbecker3142 pass the -wdc02 flag to Vasm to enable WDC65C02 instructions (assuming you’re using the WDC processor that Ben Eater’s kit comes with)

  • @drivers99
    @drivers99 Рік тому

    Do they still make any chips that output video like this?

    • @lukenaegle5014
      @lukenaegle5014 3 місяці тому

      I dont think so unless u wana use fpgas