Live data from Hacker News

Show HN: A retro video game console I've been working on in my free time

internalregister.github.io

201–210 of 214 posts

Re: Show HN: A retro video game console I've been working on in my free time

#201
post #198

beautiful project. how does one obtain a z80 if it's not manufactured anymore?

Thanks :)

Actually they are still being manufactured to this day, that's one thing I didn't mention in the blog post is that you can get a brand new Zilog Z80 today, the 6502 (the CMOS version, 65C02) is also available. You can probably get them from all the major electronic components stores (Digikey, Mouser, etc).

Re: Show HN: A retro video game console I've been working on in my free time

#202
"""Even though I had no experience, I said to myself “why not?”, bought a few books, a few electronics kits and started to learn what I felt I needed to learn. """

Would you mind sharing what books (and kits) you decided to buy? I'd like to work on my electronics a bit as well :)

Re: Show HN: A retro video game console I've been working on in my free time

#203
post #202

"""Even though I had no experience, I said to myself “why not?”, bought a few books, a few electronics kits and started to learn what I felt I needed to learn. """ Would you mind sharing what books (and kits) you decided to buy? I'd like to work on my electronics a bit as well :)

Like I've said in a few other comments (I've been trying to answer some of the comments, everyone has been really nice and really interested), one book that got me started was "Make: Electronics", I believe there's a second one now, I really like how the book explains the very basics in a pratical way. Other than that there's a lot of info online nowadays. EEVblog aside from the forums has a nice youtube channel with videos with topics that range from beginner to advanced, GreatScott! is another one that explains things really well. Ben Eater has also a very interesting channel. Also check other people's projects similar to things you would like to make. As for kits, I started with the Arduino starter kit, it comes with a project book and a few varied components, after that I started buying components locally or from major international component shops and going towards the things that interested me the most in electronics. I hope this helps :).

Re: Show HN: A retro video game console I've been working on in my free time

#204
post #28

As much as I enjoy quickly building circuits on a breadboard like in many of the photos, they’re hell to debug, because there’s so much that can go subtly wrong. It’s much easier with digital than analog circuits, of course, but it still can be crazy hard to logic-probe every connection to get it all to work. I have spent far too much time fixing little bugs in breadboarded circuits. The toughest issue I encountered…

Copper tape on cardboard.

Cardboard is a fantastic material. You can draw the schematic on, and then run copper tape along the schematic. It's easy to annotate, since you just need to use a pen. It's able to handle much more current than a breadboard, since the copper tape has a lot more metal than thin wires. You can solder directly to it, and with tape (or some other insulating material) you can cross wires without having them short.

You can also work with SMT ICs. Using a pair of scissors, you can make your own pads and solder to them. I connected an SO8 to read off the SPI data using copper tape. I built an amplifier using a spare Novena amplifier IC on cardboard with copper tape. And I have a level shifter done on cardboard with copper tape.

Bunnie has a good article on it here, including an example power regulator that's handling 2A on cardboard: https://www.bunniestudios.com/blog/?p=5259

Re: Show HN: A retro video game console I've been working on in my free time

#206

This is something I wish I'd be able to do one day, but every time I look into getting into electronics I get overwhelmed. Can you recommend the materials you used when learning? Books or resources etc. This was a really interesting read, thanks for sharing.

Start small. Here's a shift register: http://www.ti.com/product/SN74LV8153

It turns serial signal into parallel output.

They are often found in kits like this: https://www.amazon.com/Smraza-Breadboard-Resistors-Mega2560-... (research a better one than this)

Get a Raspberry Pi (Any controller really, get what you what)

Build something useless like this: https://www.youtube.com/watch?v=Lgnopk1qmkk

There are lots of learning kits available on Amazon. That's how I "taught myself" hobby electronics. I don't know much, but this stuff is magic! So it's impressive to most just to implement a simple shift register! Blinkenlights for the win!

Re: Show HN: A retro video game console I've been working on in my free time

#207

Oh to built 20Mhz systems again! ... no picosecond timing skews to stress over, no ground plane worries, no trace-related design rule violations, no harmonic noise issues, no dynamic bus inversions to prevent victim/attacker degradation, no thermal issues... I spend so much time debugging GHz multi-layer circuit boards that I forget how "easy" 20MHz digital circuits can be. This guy's project is truly inspiring!

Thank you :) I would love to learn more and be able to work with faster circuits like you. Yes it's way easier to work with "slow" digital circuits I had very little issues using breadboards and really long wires, that probably look cringy to you and others.

Note I put "easy" in quotes because your project was by no means "easy", especially with no tools at your disposal but the internet!

Can I ask how you incrementally tested the video circuit as you built it? Did you have a test pattern generator or something? I know very little about TV signals, I spent some time trying to wire up an analog camera and just ragequit because I lacked a good fundamental debug process.

Re: Show HN: A retro video game console I've been working on in my free time

#209
post #14
post #8

Earlier quoted context omitted.

I was a tad skeptical when I saw the title. But it looks like you really pulled it off. It took Atari engineers like 4 years ;) Is it fast enough for multi-input / multi-player?

Thanks :) The only multi-input game I have right now is Tetris for 2 players. My girlfriend doesn't complaint while playing it (except when I win :P), so I'd say it's pretty responsive, even with the somewhat convoluted way the CPU communicates with the PPU and the double-buffering. I think it will work for other types of games as well. With all the hardware, firmware for the 3 microcontrollers, bootloader software,…

I would totally pay (~$300) to jump on a pre-packaged MOOC like course that has a batch of students working together and the course fee would include the hardware needed and access to a TA like resource (when the batch of students can't solve a problem together).

I can even imagine a part II with modern components after learning this level of basics.

Re: Show HN: A retro video game console I've been working on in my free time

#210

Earlier quoted context omitted.

Thank you :) I would love to learn more and be able to work with faster circuits like you. Yes it's way easier to work with "slow" digital circuits I had very little issues using breadboards and really long wires, that probably look cringy to you and others.

Note I put "easy" in quotes because your project was by no means "easy", especially with no tools at your disposal but the internet! Can I ask how you incrementally tested the video circuit as you built it? Did you have a test pattern generator or something? I know very little about TV signals, I spent some time trying to wire up an analog camera and just ragequit because I lacked a good fundamental debug process.

I knew what you meant by "easy" and I agree.

Well, I think it isn't that hard to get an analog video signal going. Having a TV that took an RGB analog signal, meant that I could connect the microcontroller directly to the TV (using resistors to convert the voltage and for the color DAC).

Then all I did was get the timing right, especially with the sync signal. Along with other resources, I used this image ( http://martin.hinner.info/vga/pal_tv_diagram_non_interlace.j... ) to understand when to set the Sync signal to 0 or to 1. When using a microcontroller you can use interrupts or you can have well-timed instructions to set the sync signal on or off at the correct time, I chose the latter. The micros I used are AVR 8-bit architecture based, so most instructions always take 1 cycle, others take from 2 to 4 cycles to execute, simply by looking up in the manual I could calculate when certain instructions would execute and build a program in assembly that would generate the sync signal successfully. And if everything was right, my TV picture would switch to black, meaning it detected a valid PAL signal.

Of course, it wasn't always this easy, for example, I had a bug when I started, I wasn't setting one of the registers correctly and it took me a day to solve it, I had to look at the code over and over until I figured out what was wrong. Not having an oscilloscope nor a logic analyzer certainly made it harder.

Another lucky thing for me, was that the TV I have (an old CRT TV) is actually quite forgiving and even if I don't feed the timings exactly, it will still show a picture, so that helped.

Once I had a valid signal going I tested sending pixels to the screen, and I did use patterns to see if I had the timing right for each pixel, if I took too long switching pixels they would get wide. So I tried some checker patterns and stuff like that, but nothing fancy. I hope this answers your question. It really isn't that difficult to generate a video signal and also I was quite lucky to get it working early on.

I probably didn't do things like they should be done, but it worked for me. I would say that best thing is have a logic analyzer or oscilloscope to check if the signal you're generating corresponds to what it should be, that makes it a lot easier.

Post reply on HN