Cranking Up The Detail In A Flight Simulator From 1992

Nostalgia is a funny thing. If you experienced the early days of video games in the 1980s and 90s, there’s a good chance you remember those games looking a whole lot better than they actually did. But in reality, the difference between 2023’s Tears of the Kingdom and the original Legend of Zelda is so vast that it can be hard to reconcile the fact that they’re both in the same medium. Of course, that doesn’t mean change the way playing those old games actually makes you feel. If only there was some way to wave a magic wand and improve the graphics of those old titles…

Well, if you consider Ghidra and a hex editor to be magic wands in our community, making that wish come true might be more realistic than you think. As [Alberto Marnetto] explains in a recent blog post, decompiling Stunt Island and poking around at the code allows one to improve the graphical detail level in the flight simulator by approximately 800%. In fact, it’s possible to go even higher, though at some point the game simply becomes unplayable.

Continue reading “Cranking Up The Detail In A Flight Simulator From 1992”

Under The Hood Of Second Reality, PC Demoscene Landmark

In 1993, IBM PCs & clones were a significant but not dominant fraction of the home computer market. They were saddled with the stigma of boring business machines. Lacking Apple Macintosh’s polish, unable to match Apple II’s software library, and missing Commodore’s audio/visual capabilities. The Amiga was the default platform of choice for impressive demos, but some demoscene hackers saw the PC’s potential to blow some minds. [Future Crew] was such a team, and their Second Reality accomplished exactly that. People who remember and interested in a trip back in time should take [Fabien Sanglard]’s tour of Second Reality source code.

We recently covered another impressive PC demo executed in just 256 bytes, for which several commenters were thankful the author shared how it was done. Source for demos aren’t necessarily released: the primary objective being to put on a show, and some authors want to keep a few tricks secret. [Future Crew] didn’t release source for Second Reality until 20th anniversary of its premiere, by which time it was difficult to run on a modern PC. Technically it is supported by DOSBox but rife with glitches, as Second Reality uses so many nonstandard tricks. The easiest way to revisit nostalgia is via video captures posted to YouTube (one embedded below the break.)

A PC from 1993 is primitive by modern standards. It was well before the age of GPUs. In fact before any floating point hardware was commonplace: Intel’s 80387 math co-processor was a separate add-on to the 80386 CPU. With the kind of hardware at our disposal today it can be hard to understand what a technical achievement Second Reality was. But PC users of the time understood, sharing it and dropping jaws well beyond the demoscene community. Its spread was as close to “going viral” as possible when “high speed data” was anything faster than 2400 baud.

Many members of [Future Crew] went on to make impact elsewhere in the industry, and their influence spread far and wide. But PC graphics wasn’t done blowing minds in 1993 just yet… December 10th of that year would see the public shareware release of a little thing called Doom.

Continue reading “Under The Hood Of Second Reality, PC Demoscene Landmark”

A Jaw-Dropping Demo In Only 256 Bytes

“Revision” is probably the Olympics of the demoscene. The world’s best tiny graphics coders assemble, show off their works, and learn new tricks to pack as much awesome into as few bytes as possible or make unheard-of effects on limited hardware. And of course, there’s a competition. Winning this year’s 256-byte (byte!) competition, and then taking the overall crowd favorite award, was [HellMood]’s Memories.

If you watch it in the live-stream from Revision, you’ll hear the crowd going (virtually) wild, and the announcer losing his grip and gasping for words. It’s that amazing. Not only are more effects put into 28 bytes than we thought possible, but there’s a full generative MIDI score to go with it. What?!?

But almost as amazing is [HellMood]’s generous writeup of how he pulled it off. If you’re at all interested in demos, minimal graphics effects, or just plain old sweet hacks, you have your weekend’s reading laid out for you. [HellMood] has all of his references and influences linked in as well. You’re about to go down a very deep rabbit hole.

Continue reading “A Jaw-Dropping Demo In Only 256 Bytes”

Hail To The King, Baby: Reverse Engineering Duke

If you’re a fan of DOS games from the 1990s, you’ve almost certainly used DOSBox to replay them on a modern computer. It allows you to run software in a virtual environment that replicates an era-appropriate computer. That’s great for historical accuracy, but doesn’t do you much good if you’re trying to leverage modern computing power to breathe some new life into those classic titles. For that, you need to dig in a little deeper.

For the last two and a half years, [Nikolai Wuttke] has been doing exactly that for 1993’s Duke Nukem II. The end result is RigelEngine, an open source drop-in replacement for the original game binary that not only runs on a modern Windows, Linux, or Mac OS machine, but manages to improve on the original in a number of ways. An accomplishment made even more impressive once you learn that the original source code for the game has been lost to time, and that he had to do everything blind.

In a blog post chronicling his progress so far, [Nikolai] explains the arduous process he used to make sure his re-implementation was as accurate as possible to the original game. He spent untold hours studying the original game’s disassembled code in Ida Pro, handwriting out pages of notes and pseudocode as he tried to understand what was happening behind the scenes. Once a particular enemy or element of the game was implemented in RigelEngine, he’d record the gameplay from his version and compare it to the original frame by frame so he could fine tune the experience.

So what’s the end result of more than two years of work and over 25K lines of code? Thanks to the incredible advancements in computing power since the game’s release nearly 30 years ago, [Nikolai] has managed to remove the need for loading screens. His engine is also capable of displaying an unlimited number of particle effects on the screen at once, and multiple sound effects can now be played simultaneously. In the future he’s looking to implement smooth character movement (in the original game, movement was in 8 pixel increments) and adaptive volume for sound effects based on their distance from Duke. Ultimately, RigelEngine should be able to replace the original graphics with new high resolution textures once some issues with the rendering buffer gets sorted out.

It’s hard to overstate how important some of these classic games are to those who grew up playing them. With John Romero still releasing DLC for the original DOOM and hackers disassembling nearly 40 year old games to fix bugs, it doesn’t seem like they’re in any danger of being forgotten.

Continue reading “Hail To The King, Baby: Reverse Engineering Duke”

The Immersive Flight Simulator From 1989

The history of PC gaming showers games such a Wolfenstein 3D and Doom with the honor of having the most advanced graphics of the day. Often overlooked is Microsoft Flight Simulator and earlier, pre-Microsoft versions from subLOGIC, including the 1977 Apple II version. [Wayne Piekarski] was playing around with MS Flight Simulator 4 recently, and wanted it to be a bit more like his modern flight sim based on X-Plane 11. That meant multiple monitors, and the results are amazing.

The video and networking capabilities for MS Flight Sim 4, while very impressive for the late 80s, are still very limited. In 1989, computers only supported a single display, and while FS4 had the ability to network machines together for dogfighting, there was no way to set the camera viewpoint to the remote aircraft.

The solution to this problem came in the form of memory dumps. Since [Wayne] is running FS4 in DOSBox, he’s able to read the memory of one instance of the game, and write those memory locations to another instance of the game. There were only 18 bytes of memory in the instance of DOSBox that included heading, altitude, roll, and pitch information for the simulated aircraft. [Wayne] is sending this data to other instances of FS4 — effectively mirroring the game on another machine — and changing the camera view to look out the left and right windows. He displayed those views on additional monitors, and was done.

The results are exactly what you would expect. [Wayne] is now taking off from Meigs Field and buzzing the ten or twelve buildings in downtown Chicago with a panoramic 180° view. Check out the videos of that in action below.

Continue reading “The Immersive Flight Simulator From 1989”

A DOS Education In Your Browser

In the 1970s and 1980s, a lot of us learned to program using good old-fashioned BASIC on machines ranging from Altairs, Commodores, Apple IIs, and the like. Sometime in the 80’s the IBM PC running MSDOS because the de facto standard, but it was still easy enough to launch BASIC and write a simple little program. Of course, there were other programs, some serious like C compilers, some semi-serious like flight simulators, and some pure fun like Wolfenstein 3D.

If you read Hackaday, you’ve probably noticed that a lot of people emulate old computers–including old MSDOS PCs–using a variety of techniques, including Raspberry PI boards running DOSBox or another emulator. Honestly, though, that’s a lot of effort just to run some old software, right? You can load up DOS emulators on your desktop too. That’s a little easier, but you still have to find software. But if you are as lazy as we are, you might want to check out the MSDOS collection at archive.org.

Continue reading “A DOS Education In Your Browser”

Raspberry Pi Turns A Novelty Radio Into A Real Computer

picomp

[Strider19] remembers the 90’s, and a great little novelty radio he had back then. Shaped like a computer, the radio was a typical AM/FM affair, with the monitor serving as a speaker. His original radio was long gone, but [Strider19] was able to find a replacement on everyone’s favorite auction site. With the replacement radio in hand, he set his plan in motion: Turning it into an epic Raspberry Pi Case.

The Raspberry Pi fit great, but [Strider19’s] 3.5″ composite monitor didn’t quite make it. Following in [Ben Heck’s] footsteps, [Strider19] cut the LCD’s control PCB down to fit the case. A piece of clear polycarbonate protects the fragile LCD from poking fingers. The monitor’s button board, two USB ports, and an external composite input mounted nicely inside the former battery compartment at the rear of the CRT. There’s even enough room back there to hide a USB WiFi adapter.

The Raspi itself fit perfectly into the base of the radio, along with a DC to DC converter, USB hub, real-time clock module, and a whole bunch of wires used to extend the connectors.

The final result is awesome! Thanks to a request on [Strider19’s] Reddit thread, we have pictures of Doom running on a (former) radio.  Even Windows 3.1 runs under DosBox, though it took a bit of tweaking to get the display settings just right. Now [Strider19] just needs to figure out how to turn that tiny keyboard into a working model. We think some old school cell phone keyboard hacking may be in order!