158 pointsby rcarmo2 days ago9 comments
  • antireza day ago
    That's a work of art. I had a lot of fun with these emulators in recent years. Some time ago I reworked the Spectrum emulator to work with the RP2040: https://github.com/antirez/zx2040

    One of the incredible things of these emulators is that the chips are emulated in a completely modular and isolated way, and the interface to take everything together are the pins! Yes, the logical state of the pins in the emulated chip, which is awesome and really shows how each of those machines used to work.

  • skywal_la day ago
    Flooooh's code is also very easy to read so it's a pretty good documentation for these old systems especially as the (some?) emulators are cycle accurate[0]

    [0]: https://floooh.github.io/2019/12/13/cycle-stepped-6502.html

    • whstla day ago
      Floooh is amazing.

      One of my favourite libraries ever is Sokol, which is used for those emulators AFAIR:

      https://github.com/floooh/sokol

      It hits the spot for me in terms of features, small-size and ease of use/embedding.

      Every other library has way too much I don't need and way too little that I do.

      It was also a fantastic code reference for me, when I was porting game code between platforms. It has all the answers I need in it, and I know how to navigate it quite well after those years. If one studies it enough it has enough material for a few reference books.

    • devdria day ago
      The way it uses pin state (number passed as argument / result) for communicating with the outside world is genius. This way it very clearly matches what happens in hardware each cycle. Typical alternative is that the "cpu" calls read/write on the memory/peripherals - which gets tricky when the exact read/write cycle of the multi-cycle instruction matters for accuracy (e.g. racing the CRT beam).

      I wonder if similar approach could realistically be applied to slightly newer generation hardware like GBA with ARM7TDMI.

  • MomsAVoxella day ago
    Pretty cool .. one thing, it needs more Oric:

    https://oric.games/

  • fjfaasea day ago
    Nice to see the Acorn Atom, one of the first computers I wrote software for and also the first I wrote an emulater for under Solaris using X11 in the nineties.
    • jhbadgera day ago
      And the KC series, a series of East German computers that people on the other side of the Iron Curtain probably have never heard of.
    • ochrista day ago
      The Acorn Atom was the first real computer I had after the Texas TI59. It was later replaced with a BBC model B (and later again with an Archimedes). Sadly I got rid of the Atom when I moved out all those years ago, but the Beeb and the Arch is safely stored at the loft in my current house. Are there anywhere you can get any kind of programs/games that can be loaded in the Atom emulator? All my old cassette tapes are gone many years ago.
      • fjfaase19 hours ago
        I do not know if you can run games on these online emulators, but there are multiple emulators that can run games. Just do a little internet searching. I quickly found Atomulator.
  • gitrooma day ago
    man i get super into these old emulator projects - the fact folks make them work across platforms blows my mind. ever feel like going back and rebuilding something from scratch just for the challenge?
  • Alive-in-20252 days ago
    Lots of interesting emulators and variants of old games. It'd be nice to have a TLDR for your emulators. Looked at your old blog postings, you've had a great career. I started a few years after you, I wish I'd written continuing blogs like yours...
  • ngcc_hk2 days ago
    Great. Tbh just to maintain multi platforms and ensure some works are hard work for hobbyists…
  • pjmlpa day ago
    Now this is a great use of WebAssembly.
  • flohofwoea day ago
    Late to the party, but the 'proper' link is:

    https://floooh.github.io/tiny8bit/

    (the post's link is https://floooh.github.io/tiny8bit-preview/ which I had put up at some point in the past to test some new features, but it's very outdated by now).