Zork And The Z-Machine: Bringing The Mainframe To 8-bit Home Computers

Computer games have been around about as long as computers have. And though it may be hard to believe, Zork, a text-based adventure game, was the Fortnite of its time. But Zork is more than that. For portability and size reasons, Zork itself is written in Zork Implementation Language (ZIL), makes heavy use of the brand-new concept of object-oriented programming, and runs on a virtual machine. All this back in 1979. They used every trick in the book to pack as much of the Underground Empire into computers that had only 32 kB of RAM. But more even more than a technological tour de force, Zork is an unmissable milestone in the history of computer gaming. But it didn’t spring up out of nowhere.

DEC PDP-10 Flip Chip module
DEC PDP-10 Flip Chip module

The computer revolution had just taken a fierce hold during the second World War, and showed no sign of subsiding during the 1950s and 1960s. More affordable computer systems were becoming available for purchase by businesses as well as universities. MIT’s Laboratory for Computer Science (LCS) was fortunate to have ties to ARPA, which gave MIT’s LCS and AI labs (formerly part of Project MAC) access to considerable computing resources, mostly in the form of DEC PDP systems.

The result: students at the MIT Dynamic Modeling Group (part of LCS) having access to a PDP-10 KA10 mainframe — heavy iron at the time. Though this PDP-10 was the original 1968 model with discrete transistor Flip Chip modules and wire-wrapping, it had been heavily modified, adding virtual memory and paging support to expand the original 1,152 kB of core memory. Running the MIT-developed Incompatible Timesharing System (ITS) OS, it was a highly capable multi-user system.

Naturally, it got mostly used for playing games.
Continue reading “Zork And The Z-Machine: Bringing The Mainframe To 8-bit Home Computers”

Novice Coders Can Create Classic Game Boy Games

It takes a lot of work to build a modern video game. Typically an entire company will spend months (at least) developing the gameplay, selecting or programming an engine, and working out the bugs. This amount of effort isn’t strictly necessary for older video game systems though, and homebrew developers are quite often able to develop entire games singlehandedly for classic systems. In the past it would have taken some special software, programming knowledge, and possibly hardware, but now anyone can build games for the original Game Boy with minimal barriers of entry.

The project is known as GB Studio and allows people to develop homebrew games for the 8-bit handheld system without programming knowledge. Once built, the games can be played on any emulator or even loaded onto a cartridge and played on original hardware if a flash cart is available. Graphics can be created with anything that can create a .png image, and there are also some features that allow the game to be played over a web browser or on a mobile device.

While it seems like the gameplay is limited to RPG-style games, this is still an impressive feat, and highly useful for anyone curious about game development. It could also be an entry into more involved game programming if it makes the code of the games available to the user. It could even lead to things like emulating entire cartridges on the original hardware.

Continue reading “Novice Coders Can Create Classic Game Boy Games”

Set Your Nuts (and Bolts) Free With This Induction Heater

[Amon] built an induction heater to break stuck bolts loose. If you work on cars, machines, or anything big and metal, sooner or later you’re going to run into stuck nuts and bolts. Getting them unstuck usually involves penetrating oil, heat from a torch, and cheater bars. Heat usually works well, as heating the bolt makes the metal expand, helping it to break free. Torches aren’t exactly precision instruments though, and things can get interesting using one in tight spaces.

Fire isn’t the only way to heat a bolt through. Electricity can do the job as well. But why use a heating coil when you can grab an induction heater. Mechanics have had induction heaters in their toolboxes now for a few years, under names such as Bolt Buster or Mini Ductor. These devices cost several hundred dollars. However, you can purchase a 1000 watt induction heater from the usual sources for around $30. These are open frame Zero Voltage Switching (ZVS) power supplies, with uninsulated copper coils.

[Amon] bought one of these induction heaters, along with a beefy 24V, 40 amp switch mode supply to power it. He built the two into a plastic enclosure. A relay energizes the induction heater, so it isn’t always running. The key to this build is the handle. Rather than mount the induction coil directly on the supply, [Amon] ran two extension wires to a 3d printed gun style handle. This keeps the bulky part of the heater away from the work. The copper tube coil was re-shaped to better work with the gun. Some fiberglass sleeve keeps everything insulated, even at extreme temperatures.

The result is a very useful heater, ready to bust loose some bolts. We’ve seen homebuilt ZVS supplies powering induction coils before. It will be interesting to see how well these commercial units hold up.

Continue reading “Set Your Nuts (and Bolts) Free With This Induction Heater”

Bringing PalmOS Back To Life

Ten years is almost ancient history in the computing world. Going back twelve years is almost unheard of, but that’s about the time that Palm released the last version of their famed PalmOS, an operating system for small, handheld devices that predated Apple’s first smartphone by yet another ten years. As with all pieces of good software there remain devotees, but with something that hasn’t been updated in a decade there’s a lot of work to be done. [Dmitry.GR] set about doing that work, and making a workable Palm device for the modern times.

He goes into incredible detail on this build, but there are some broad takeaways from the project. First, Palm never really released all of the tools that developers would need to build software easily, including documentation of the API system. Since a new device is being constructed, a lot of this needs to be sorted out. Even a kernel was built from scratch for this project, since using a prebuilt one such as Linux was not possible. There were many other pieces of software needed in order to get a working operating system together running on an ARM processor, which he calls rePalm.

There are many other facets of this project that we aren’t able to get into in this limited space, but if you’re at all interested in operating systems or if you fondly remember the pre-smartphone era devices such the various Palm PDAs that were available in the late ’90s and early ’00s, it’s worth taking a look at this one. And if you’d like to see [Dmitry.GR]’s expertise with ARM, he is well-versed.

Thanks to [furre] for the tip!

By The Numbers: Which Rapper’s Rhymes Are The Freshest?

Beats and rhymes are life in the world of hip-hop. A rapper’s ability to seamlessly merge the two is the mark of a master wordsmith. Ranking a rapper’s contributions to hip-hop will forever remain subjective, however [Matt] sought to apply a more quantitative approach to the matter. He created an interactive data set containing all the lyrics from over 150 rappers in order to determine which rapper’s vocabulary was the largest. Now everyone can know definitively which rapper’s rhymes truly are “the freshest”.

The study encompasses hip-hop artists from the last thirty years, pitting recent hit-makers like Lil Uzi Vert against veteran artists like KRS-One. To ensure everything is on even playing field [Matt] limited the study to the first 35,000 lyrics of each artist including any material on a mixtape, EP, or full album release. Rappers’ vocabulary was then plotted according to the total number of unique words found in their lyrics (i.e.: “shorty” and the alternative spelling “shawty” were each considered to be unique words). Oddly enough, there were some notable exclusions from the list as artists like Chance the Rapper, Queen Latifah, and The Notorious B.I.G’s discography did not exceed the 35,000 lyrics mark.

When digging into the data, there was a downward trend in the vocabulary used amongst popular artists of the last decade. [Matt] attributed this trend to the fact that many of these artists have modeled their music to reflect the pop/rock music structure that makes use of simple, repetitive choruses. While others may attribute this downward trend to a general lack of talent when it comes to lyricism, however, it should be noted that the economics of music streaming platforms have had an effect on the average song length. Though whatever era of hip-hop you subscribe to, it is always interesting to see where your favorite emcees rank.

 

New Part Day: Espressif Announces ESP32-S2 With USB

Espressif, the company behind the extremely popular ESP8266 and ESP32 microcontrollers has just announced their latest chip. It’s the ESP32-S2. It’s a powerful WiFi-enabled microcontroller, and this one has support for USB OTG.

Compared to the ESP32 we know and love, there are a few differences. The ESP32-S2 uses a single core Xtensa LX7 core running at up to 240 MHz, where the current ESP32 uses either a single or dual core LX6. The differences between these cores is hidden away in marketing speak and press releases, but it appears the LX7 core is capable of many more floating point operations per cycle: apparently 2 FLOPS / cycle for the LX6, but 64 FLOPS / cycle for the LX7. This is fantastic for DSP and other computationally heavy applications. Other features on the chip include 320 kB SRAM, 128 kB ROM, and 16 kB of RTC memory.

Connectivity for the ESP32-S2 is plain WiFi; Bluetooth is not supported. I/O includes 42 GPIOs, 14 capacitive touch sensing IOs, the regular SPI, I2C, I2S, UART, and PWM compliment, support for parallel LCDs, a camera interface, and interestingly full-speed USB OTG support. Yes, the ESP32-S2 is getting USB, let us all rejoice.

Other features include an automatic power-down of the RF circuitry when it isn’t needed, support for RSA and AES256, and plenty of support for additional Flash and SRAMs should you need more memory. The packaging is a 7 mm x 7 mm QFN, so get out the microscope, enhance your calm, and bust out the flux for this one. Engineering samples will be available in June, and if Espressif’s past performance in supplying chips to the community holds true, we should see some projects using this chip by September or thereabouts.

(Banner image is of a plain-old ESP32, because we don’t have any of the new ones yet, naturally.)

Solving The Final Part Of The IClicker Puzzle

The regular Hackaday reader might remember the iClicker from our previous coverage of the classroom quiz device, or perhaps you even had some first hand experience with it during your university days. A number of hackers have worked to reverse engineer the devices over the years, and on the whole, it’s a fairly well understood system. But there are still a few gaps in the hacker’s map of the iClicker, and for some folks, that just won’t do.

[Ammar Askar] took it upon himself to further the state of the art for iClicker hacking, and has put together a very detailed account on his blog. While most efforts have focused on documenting and eventually recreating how the student remotes send their responses to the teacher’s base station, he was curious about looking at the system from the other side. Specifically, he wanted to know how the base station was able to push teacher-supplied welcome messages to the student units, and how it informed the clients that their answers had been acknowledged.

He started by looking through the base station’s software update tool to find out where it was downloading the firmware files from, a trick we’ve seen used to great effect in the past. With the firmware in hand, [Ammar] disassembled the AVR code in IDA and got to work piecing together how the hardware works. He knew from previous group’s exploration of the hardware that the base station’s Semtech XE1203F radio is connected to the processor via SPI, so he started searching for code which was interacting with the SPI control registers.

This line of logic uncovered how the radio is configured over SPI, and ultimately where the data intended for transmission is stored in memory. He then moved over to running the firmware image in simavr. Just like Firmadyne allows you to run ARM or MIPS firmware with an attached debugger, this tool allowed [Ammar] to poke around in memory and do things such as simulate when student responses were coming in over the radio link.

At that point, all he had to do was capture the bytes being sent out and decode what they actually meant. This process was complicated slightly by the fact the system uses to use its own custom encoding rather than ASCII for the messages, but by that point, [Ammar] was too close to let something like that deter him. Nearly a decade after first hearing that hackers had started poking around inside of them, it looks like we can finally close the case on the iClicker.