Exploring Early ’90s Video Game Architecture With Another World

Curious about past computer architectures? Software engineer [Fabien Sanglard] has been experimenting with porting Another World, an action-adventure platformer, to different machines and comparing the results in his “Polygons of Another World” project.

The results are pretty interesting. Due to the game’s polygon-based graphics, optimizations vary widely across different architectures, with tricks allowing the software to run on hardware released five years before the game’s publication. The consoles explored are primarily from the early ’90s, ranging from the Amiga 500, Atari ST, IBM PC, and Super Nintendo to the Sega Genesis.

The actual game contains very little code, with the original version at 6000 lines of assembly and the PC DOS executable only containing 20 KiB. The executable simply exists as a virtual machine host that reads and executes uint8_t opcodes, with most of the business logic implemented with bytecode. The graphics use 16 palette-based colors, despite the Amiga 500 supporting up to 32 colors. However, the aesthetics still fit the game nicely, with some very pleasant pixel art.

There’s a plethora of cool tricks that emerge in each of the ports, starting with the original Amiga 500 execution. Prior to the existence of the CPU/GPU architecture, microprocessors had blitters – logic blocks that rapidly modified data within the memory, capable of copying large swathes of data in parallel with the CPU, freeing up the CPU for other operations.

To display the visuals, a framebuffer containing a bitmap drives the display. There are three framebuffers used, two for double buffering and one for saving the background composition to avoid redrawing static polygons. Within the framebuffer, several tricks are used to improve the graphical experience. For scenes with translucent hues, special values are interpreted from the framebuffer index by “reading the framebuffer index, adding 0x8 and writing back”.

Challenges also come when manipulating pixels given each machine’s CPU and bus bandwidth limitations. For filling in bits, the blitter uses a feature called “Area Fill Mode” that scans left to right to find edges, rendering the bit arrays with spaces between lines filled in. Since the framebuffer is stored in five separate areas of memory – or bitplanes – this requires drawing the lines and filling in areas four times, multiplying by the hundreds of polygons rendered by the engine. The solution was to set up a temporary “scratchpad” buffer and rendering a polygon into the clean space. The polygon can then get copied to the screen area with a masked blit operation since the blitter can render anywhere in memory.

Intrigued? The series continues with deep dives into Atari ST, IBM PC, and upcoming writeups on SEGA Genesis/MegaDrive.

A Water Cooled Gaming PC You Can Take With You

Have you ever been stuck in a hotel room wishing you brought your VR-capable gaming PC along with you? Well [thegarbz] certainly has, which was the inspiration for this absolutely gorgeous mobile rig affectionately known as “The Nuclear Football” that brings console-level portability to those who count themselves among the PC Master Race.

OK, fine. We’ll admit that the existence of gaming laptops means you don’t actually need to carry around such an elaborate contraption just to play Steam games on the go. But if you’re going to do it, shouldn’t you do it in style? More practically speaking, [thegarbz] says the cost of this project was less than what a gaming laptop of similar specs would have cost.

The Nuclear Football features a Ryzen 5 2600 processor, a NVIDIA 2070 Super graphics card, and 16 GB of DDR4 RAM. The water cooling gear is from Alphacool, and includes a custom controller that links to the computer and allows [thegarbz] to monitor temperatures and fan speeds via a widget on the desktop.

While not nearly as mobile, this machine does remind us of the water cooled “Big O” that packed all the current-gen consoles and a gaming PC into one glorious machine.

AMD Introduces New Ryzen Mini PCs To Challenge Intel

For the majority of hacker and maker projects, the miniature computer of choice these last few years has been the Raspberry Pi. While the availability issues that seem to plague each new iteration of these extremely popular Single Board Computers (SBCs) can be annoying, they’ve otherwise proven to be an easy and economical way to perform relatively lightweight computational tasks. Depending on who you ask, the Pi 4 is even powerful enough for day-to-day desktop computing. Not bad for a device that consistently comes in under a $50 USD price point.

Intel NUC compared to the Raspberry Pi

But we all know there are things that the Pi isn’t particularly well suited to. If your project needs a lot of computing power, or you’ve got some software that needs to run on an x86 processor, then you’re going to want to look elsewhere. One of the best options for such Raspberry Pi graduates has been the Intel Next Unit of Computing (NUC).

NUCs have the advantage of being “real” computers, with upgradable components and desktop-class processors. Naturally this means they’re a bit larger than the Raspberry Pi, but not so much as to be impractical. If you’re working on a large rover for example, the size and weight difference between the two will be negligible. The same could be said for small form-factor cluster projects; ten NUCs won’t take a whole lot more space than the same number of Pis.

Unfortunately, where the Intel NUCs have absolutely nothing on the Raspberry Pi is price: these miniature computers start around $250, and depending on options, can sail past the $1,000 mark. Part of this sharp increase in price is naturally the vastly improved hardware, but we also can’t ignore that the lack of any strong competition in this segment hasn’t given Intel much incentive to cut costs, either. When you’re the only game in town, you can charge what you want.

But that’s about to change. In a recent press release, AMD announced an “open ecosystem” that would enable manufacturers to build small form-factor computers using an embedded version of the company’s Ryzen processor. According to Rajneesh Gaur, General Manager of AMD’s Embedded Solutions division, the company felt the time was right to make a bigger push outside of their traditional server and desktop markets:

The demand for high performance computing isn’t limited to servers or desktop PCs. Embedded customers want access to small form factor PCs that can support open software standards, demanding workloads at the edge, and even display 4K content, all with embedded processors that have a planned availability of 10 years.

Continue reading “AMD Introduces New Ryzen Mini PCs To Challenge Intel”

DTMF To Your Computer, With A Gamepad

Though many of us will never have experimented with it, most readers should be familiar with DTMF as the tones used by the telephone system for dialling. If your youth was not misspent mashing 4-4-2-6-4-6-2, 4-4-2-6-4-1 into a keypad, then you haven’t lived!

As you might expect there are a variety of chipsets to handle DTMF, and one of them has been used by [ackerman] in a slightly unusual way. Many desktop computers do not have a convenient array of GPIOs upon which to hang a piece of hardware, but a constant among them is to support some form of gaming controller. Hence he’s taken a commodity joypad and interfaced a MT8870 DTMF decoder to its switch lines with a simple transistor buffer, and is able to pull the resulting information out in the host operating system. So far there are versions for Windows, DOS, Amstrad CPC, Arduino, and even PSX ( the original PlayStation console ).

One might ask why on earth you might want a DTMF input for your desktop PC, but to do so is to miss the point. We are surrounded by computing devices from our mobile phones upwards that do not have any form of interface that can easily be used by our electronic projects, and this serves as an example of how with a bit of ingenuity that can be overcome. It’s a subject we’ve touched upon before, when we asked why people aren’t hacking their cellphones.

Why Is Your Cellphone Not A More Useful Computer?

Sometimes when you are browsing randomly through the tech feeds, up pops an article that just crystallizes a nascent thought that had been simmering below the surface for a long time, and is enough to make you sit up and say “Yes! I agree completely with that!”. Such a moment came with [Cheapscatesguide]’s post: “My Fantasy: A Cellphone I can Use as a Desktop Computer“, in which the pertinent question is asked that if smartphones are so powerful, why are they not much better at being more than, well, smartphones?

Readers with long memories may recall that the cellphone-as-computer idea is one that has been tried at least once before. The Motorola Atrix appeared in the early years of this decade, and was a high-end smartphone that could be slotted into both desktop replacement and netbook-style base stations and used as a Linux-based personal computer. Unfortunately it was both eye-wateringly expensive and disappointingly slow due to a hobbled operating system, so it failed to set the market alight. There was a brief moment when unsold Atrix netbook docks were available on the surplus market and became popular platforms as a Raspberry Pi desktop interface, but this experiment seems to have put paid to the idea of one device to truly rule them all.

If we had to hazard a guess as to why this has failed to happen, we’d finger both the manufacturer’s desire not to undermine their lucrative sales in other sectors, and both their and the carriers’ desire to lock down the devices as much as possible. A manufacturer such as Apple will for example never  produce an iPhone that can replace a desktop, because it would affect their MacBook sales. Oddly in another form we’re nearly there, this piece is being worked on with a Chromebook, a device that has a useful browser, a functional Android layer, and (because it’s a 64-bit model) an officially supported and useful Debian layer. We don’t expect this to translate into a phone any time soon though.

From another angle, we’ve asked in the past why we aren’t hacking old cellphones.

Moto Atrix lapdock picture: ETC@USC [CC BY-SA 2.0].

Via Hacker News.

The Barn Find IBM 360 Comes Home

It’s a story that may be familiar to many of us, that of bidding on an item in an online auction and discovering once we go to pick it up that we’ve bought a bit more than we’d bargained for. We told you earlier in the year about the trio of Brits who bought an IBM System/360 mainframe computer from the mid 1960s off of a seller in Germany, only to find in the long-abandoned machine room that they’d bought not just one but two 360s, and a System/370 to boot. Their van was nowhere near big enough for all three machines plus a mountain of cabling, documentation, and period storage media, so they moved it to a hastily-rented storage unit and returned home to work out what on earth to do next.

Now we’ve received an email from the trio with some good news; not only have they managed to bring their hoard of vintage big iron computing back home, but also they’ve found a home for it in the rather unusual surroundings of a former top-secret UK Government signals intelligence station. With the help of a friendly specialist IT relocation company they unleashed it from their temporary storage and into the truck for the UK. It’s a tale of careful packing and plenty of wrapped pallets, as we begin to glimpse the true extent of the collection as you can see in the video below the break, because not only have they secured all the hardware but they also have a huge quantity of punched cards and disk packs. The prospect of a software archaeology peek into how a 1960s mainframe was used by its original customer is a particularly interesting one, as it’s likely those media contain an ossified snapshot of its inner workings.

We’re hoping to follow this project as it evolves, and see (we hope) a room full of abandoned junk transformed into a facsimile of a typical 1960s business computing setup. If you’d like to catch up, read our original coverage of the find.

Continue reading “The Barn Find IBM 360 Comes Home”

This CPU Has Only One Instruction

Most of us will be familiar at some level with the operation of a basic CPU, usually through exposure to microprocessors of the type that find their way into our projects. We can look at its internal block diagram and get how it works, see the registers and ALU, follow the principles of a von Neumann architecture, and understand that it has an instruction set with different instructions for each of its functions. We all know that this only describes one type of CPU though, and thus it’s always interesting to see alternatives. [Ike Jr] then has a project that should provide a lot of interest, it’s a CPU that only has a single instruction. It can only move data from one place to another, which seems to preclude any possibility of computation. How on earth can it work?

The machine has a set of registers as well as memory, and it achieves computation by having specific registers where we might expect to see instructions. For example the AND register is a two-position stack, that when it is full computes the AND of its two pieces of data and places the result in a general purpose register. The write-up goes into significant detail on the CPU’s operation, and while it’s unlikely the world will move en masse to this architecture it’s still a very interesting read. For now this is a machine that exists in software simulation rather than in silicon, and he’s working to release it so enthusiasts for unusual CPUs can have a go.

The idea of having registers that compute reminds us of a transport triggered architecture machine, being not the same as a one instruction CPU with a more conventional computing instruction.

Abstract PCB header image: Harland Quarrington/MOD [OGL v1.0].