Show HN: Tamagotchi P1 for FPGAs

github.com

58 points by agg23 7 days ago

After being thrust headfirst into FPGA development thanks to the Analogue Pocket, my first from scratch creation was a gate level implementation of the original Tamagotchi toy.

The core, running on both the Analogue Pocket and MiSTer platforms, lets users re-experience the very first Tamagotchi from 1996 with accurate emulation, but modern features. The core has savestates (which is much harder to do in hardware vs software emulation), high turbo speeds (1,800x was the max clock speed I've reached so far), and more.

Learning more about hardware and FPGAs is something I've wanted to do for many years, and I highly recommend it for any programmer-brained person. It's a very slightly different way of thinking that has vast consequences on how you look at simple problems.

magicalhippo 8 hours ago

Very nice project. Playing with FPGAs can be difficult, but also a lot of fun.

Must say the code was nicely organized and easy to follow. My own code is a bit of a mess in comparison.

Did you try out plain Verilog before going with System Verilog? My plan was to move on to generators like nMigen, now called Amaranth[1], and they spit out Verilog IIRC so decided to learn that for debugging.

Then life happened and got sidetracked, but been wanting to pick it up again.

How was it to program for the Analogue Pocket? I was recently looking at it as just a portable retro gaming device, but if it's easy to double as a fun FPGA platform then that would be great.

[1]: https://github.com/amaranth-lang/amaranth

magicalhippo 14 hours ago

Man, I'm kicking myself for not having a backup, but there was this game programming contest around early 2000s where they had to make a game in a day or less.

It was either hosted by flipcode[1] or linked to from there.

One of the entries was a faithful reimplementation of Tamagotchi for Windows, except instead of a small creature to look after it was a small rock, and the game was called Tamagraniti (I'm pretty sure).

You could do all the same things, water your rock, give it a pet pebble and such.

I just really loved the silliness of it, and the implementation was really well done in that it mimicked the little device with the LCD screen.

Been trying to find it but seems gone...

[1] https://www.flipcode.com

brian-armstrong 15 hours ago

Very cool project!

Anything surprise you about working on this? Any tips you found about implementing for FPGA?

ozarkerD 18 hours ago

That's insanely cool! I love fun applications of FPGA like this.

FredPret 16 hours ago

1800x turbo?

What happens if you fast-forward a whole lot, any easter eggs?

crims0n 17 hours ago

This is awesome, nice work!