When Low SRAM Keeps The DOOM Off Your Vape

The PIXO Aspire is a roughly $35 USD vape that can almost play DOOM, with [Aaron Christophel] finding that the only thing that realistically stops it from doing so is that the Cortex-M4-based Puya PY32F403XC MCU only has 64 kB of SRAM. CPU-wise it would be more than capable, with a roomy 16 MB of external SPI Flash and a 323×173 pixel LC touch screen display covering the other needs. It even has a vibration motor to give you some force feedback. Interestingly, this vape has a Bluetooth Low-Energy chip built-in, but this does not seem to be used by the original Aspire firmware.

What [Aaron] did to still get some DOOM vapors on the device was to implement a screenshare firmware, allowing a PC to use the device as a secondary display via its USB interface. This way you can use the regular PC mouse and keyboard inputs to play DOOM, while squinting at the small screen.

Although not as completely overpowered as a recent Anker charging station that [Aaron] played DOOM on, we fully expect vapes in a few years to be perfectly usable for some casual gaming, with this potentially even becoming an original manufacturer’s function, if it isn’t already.

Continue reading “When Low SRAM Keeps The DOOM Off Your Vape”

ESP32 Hosts Functional Minecraft Server

If you haven’t heard of Minecraft, well, we hope you enjoyed your rip-van-winkle nap this past decade or so. For everyone else, you probably at least know that this is a multiplayer, open world game, you may have heard that running a Minecraft server is a good job for maxing out a spare a Raspberry Pi. Which is why we’re hugely impressed that [PortalRunner] managed to squeeze an open world onto an ESP32-C3.

Of course, the trick here is that the MCU isn’t actually running the game — it’s running bareiron, [PortalRunner]’s own C-based Minecraft server implementation. Rewriting the server code in C allows it to be optimized for the ESP32’s hardware, but it also let [PortalRunner] strip his server down to the bare essentials, and tweak everything for performance. For example, instead of the multiple octaves of Perlin noise for terrain generation, with every chunk going into RAM, he’s using the x and z of the corners as seeds for the psudorandom rand() function, and interpolating between them. Instead of caves being generated by a separate algorithm, and stored in memory, in bareiron the underground is just a mirror-image of the world above. Biomes are just tiled, and sit separately from one another.

So yes, what you get from bareiron is simpler than a traditional Minecraft world — items are simplified, crafting is simplified, everything is simplified, but it’s also running on an ESP32, so you’ve got to give it a pass. With 200 ms to load each chunk, it’s playable, but the World’s Smallest Minecraft Server is a bit like a dancing bear: it’s not about how well it dances, but that it dances at all.

This isn’t the first time we’ve seen Minecraft’s server code re-written: some masochist did it in COBOL, but at least that ran on an actual computer, not a microcontroller. Speaking of low performance, you can’t play Minecraft on an SNES, but you can hide the game inside a cartridge, which is almost as good.

Thanks to [CodeAsm] for the tip. Please refer any other dancing bears spotted in the wild to our tips line.

Continue reading “ESP32 Hosts Functional Minecraft Server”

The Sixteen-Year Odyssey To Finally Emulate The Pioneer LaserActive Console

The 1993 Pioneer LaserActive certainly ranks high on the list of obscure video games. It was an odd duck; it used both a LaserDisc for data storage and provided compatibility with a range of existing video game consoles. Due to the rarity and complexity of this system, emulating it has proven to be a challenge. The Ares emulator version 146 is the first to officially add support for the LaserActive. You’d expect getting to that point to be a wild journey. It was, and [Read Only Memo] documented the author’s ([Nemesis]) quest to emulate the odd little machine.

The LaserActive had a brief lifespan, being discontinued in 1996 after about 10,000 units sold. Its gimmick was that in addition to playing regular LaserDiscs and CDs, it could also use expansion modules (called PACs) to support games for other consoles, including the Sega Genesis and the NEC TurboGrafx-16. You could also get PACs for karaoke or to connect to a computer.

By itself, that doesn’t seem too complex, but its LaserDisc-ROM (LD-ROM) format was tough. The Mega LD variation also presented a challenge. The LD-ROMs stored entire games (up to 540 MB) that were unique to the LaserActive. Finding a way to reliably dump the data stored on these LD-ROMs was a major issue. Not to mention figuring out how the PAC communicates with the rest of the LaserActive system. Then there’s the unique port of Myst to the LaserActive, which isn’t a digital game so much as an interactive analog video experience, which made capturing it a complete nightmare.

With that complete, another part of gaming history has finally been preserved and kept playable. Sure, we have plenty of Game Boy emulators. Even tiny computers now are powerful enough to do a good job emulating the systems of yesterday.

The Nintendo Famicom Reimagined As A 2003-era Family Computer

If there’s one certainty in life, it is that Nintendo Famicom and similar NES clone consoles are quite literally everywhere. What’s less expected is that they were used for a half-serious attempt at making an educational family computer in the early 2000s. This is however what [Nicole Branagan]  tripped over at the online Goodwill store, in the form of a European market Famiclone that was still in its original box. Naturally this demanded an up-close investigation and teardown.

The system itself comes in the form of a keyboard that seems to have been used for a range of similar devices based on cut-outs for what looks like some kind of alarm clock on the top left side and a patched over hatch on the rear. Inside are the typical epoxied-over chips, but based on some scattered hints it likely uses a V.R. Technology’s VTxx-series Famiclone. The manufacturer or further products by them will sadly remain unknown for now.

While there’s a cartridge slot that uses the provided 48-in-1 cartridge – with RAM-banked 32 kB of SRAM for Family BASIC – its compatibility with Famicom software is somewhat spotty due to the remapped keys and no ability to save, but you can use it to play the usual array of Famicom/NES games as with the typical cartridge-slot equipped Famiclone. Whether the provided custom software really elevates this Famiclone that much is debatable, but it sure is a fascinating entry.

No Die? No Problem: RealDice.org Has You Covered

Have you ever been out and about and needed to make a check against INT, WIS or CON but not had a die handy? Sure, you could use an app on your phone, but who knows what pseudorandom nonsense that’s getting up to. [Lazy Hovercraft] has got the solution with his new site RealDice.org, which, well, rolls real dice.

Well, one die, anyway. The webpage presents a button to roll a single twenty-sided die, or “Dee-Twenty” as the cool kids are calling it these days. The rolling is provided by a unit purchased from Amazon that spins the die inside a plastic bubble, similar to this unit we covered back in 2020.  (Alas for fans of the venerable game Trouble, it does not pop.) The die spinner’s button has been replaced by a relay, which is triggered from the server whenever a user hits the “roll” button.

You currently have to look at the camera feed with your own eyes to learn what number was rolled, but [Lazy Hovercraft] assures us that titanic effort will be automated once he trains up the CVE database. To that end you are encouraged to help build the dataset by punching in what number is shown on the die.

This is a fun little hack to get some physical randomness, and would be great for the sort of chatroom tabletop gaming that’s so common these days. It may also become the new way we select the What’s That Sound? winners on the Hackaday Podcast.

Before sitting down for a game session, you might want to make sure you’re all using fair dice. No matter how fair the dice, its hard to beat quantum phenomena for random noise.

Why Super Mario 64 Wastes So Much Memory

The Nintendo 64 was an amazing video game console, and alongside consoles like the Sony PlayStation, helped herald in the era of 3D games. That said, it was new hardware, with new development tools, and thus creating those early N64 games was a daunting task. In an in-depth review of Super Mario 64’s code, [Kaze Emanuar] goes over the curious and wasteful memory usage, mostly due to unused memory map sections, unoptimized math look-up tables, and greedy asset loading.

The game as delivered in the Japanese and North-American markets also seems to have been a debug build, with unneeded code everywhere. That said, within the context of the three-year development cycle, it’s not bad at all — with twenty months spent by seven programmers on actual development for a system whose hardware and tooling were still being finalized, with few examples available of how to do aspects like level management, a virtual camera, etc. Over the years [Kaze] has probably spent more time combing over SM64‘s code than the original developers, as evidenced by his other videos.

As noted in the video, later N64 games like Legend of Zelda: Ocarina of Time are massively more optimized and streamlined, as lessons were learned and tooling improved. For the SM64 developers, however, they had a gargantuan 4 MB of fast RDRAM to work with, so optimization and memory management likely got kicked down to the bottom on the priority list. Considering the absolute smash hit that SM64 became, it seems that these priorities were indeed correct.

Continue reading “Why Super Mario 64 Wastes So Much Memory”

Pong Cloned By Neural Network

Although not the first video game ever produced, Pong was the first to achieve commercial success and has had a tremendous influence on our culture as a whole. In Pong’s time, its popularity ushered in the arcade era that would last for more than two decades. Today, it retains a similar popularity partially for approachability: gameplay is relatively simple, has hardwired logic, and provides insights about the state of computer science at the time. For these reasons, [Nick Bild] has decided to recreate this arcade classic, but not in a traditional way. He’s trained a neural network to become the game instead.

Continue reading “Pong Cloned By Neural Network”