DOOM On A Volumetric Display

There’s something magical about volumetric displays. They really need to be perceived in person, and no amount of static or video photography will ever do them justice. [AncientJames] has built a few, and we’re reporting on his progress, mostly because he got it to run a playable port of DOOM.

Base view of an earlier version showing the motor drive and PSU

As we’ve seen before, DOOM is very much a 3D game viewed on a 2D display using all manner of clever tricks and optimizations. The background visual gives a 3D effect, but the game’s sprites are definitely very solidly in 2D land. As we’ll see, that wasn’t good enough for [James].

The basic concept relies on a pair of 128 x 64 LED display matrix modules sitting atop a rotating platform. The 3D printed platform holds the displays vertically, with the LEDs lined up with the diameter, meaning the electronics hang off the back, creating some imbalance.

Lead, in the form of the type used for traditional window leading, was used as a counterbalance. A Raspberry Pi 4 with a modified version of this LED driver HAT is rotating with the displays. The Pi and both displays are fed power from individual Mini560 buck modules, taking their input from a 12 V 100 W Mean-Well power supply via a car alternator slip ring setup. (Part numbers ABH6004S and ASL9009  for those interested.) Finally, to synchronise the setup, a simple IR photo interrupter signals the Pi via an interrupt.

Continue reading DOOM On A Volumetric Display”

Building A DIY MSX Mega Cartridge

[Mike] from Leaded Solder has a soft spot for old computers, and a chance encounter with a friend sent them deep down the deep hole that is the world of 80s and 90s-era Japanese home computers.  Many people playing with these machines have all kinds of issues to deal with, such as rotting cartridges, failing components, and just dirt and mank in critical places. [Mike] decided that working on an MSX-standard custom programmable cartridge would be sensible, but then got stuck on how the MSX cartridge mapping works.

The Konami 128K scheme uses 4 to 4-of-8 mapping.

You may recall that the MSX platform is not a single computer but a standard to which many (mainly Japanese) manufacturers designed their products. This disconnected the software writers from the hardware makers and is essentially a mirror of the IBM-PC clone scene.

The MSX is based around the Z80, which has a 16-bit address bus, restricting it to 64K of ROM or RAM. The MSX has two cartridge slots, an ‘internal’ slot for the BIOS and RAM and a fourth for ‘misc’ use. Each of these is mapped internally into the physical address space. The cartridge slots have 64K of addressable space mapped into the Z80 physical space.

If this was not complicated enough, many MSX games and applications exceeded this restriction and added a layer of mapping inside the cartridge using bank switching. A register in the cartridge could change the upper bits of the address allowing ROMs larger than 64K.

Continue reading “Building A DIY MSX Mega Cartridge”

Demonstrating The Photoelectric Effect Using Neon Lamps

Neon lamps are fun to play with. These old-school indicators were once heavily utilized in many types of equipment for indication purposes but now seem largely relegated to mains voltage indication duties. Here’s a fun video by [Ashish Derhgawen], discussing the photoelectric effect of neon lamps with some simple demonstrations.

Orange light makes it light!

[Ashish] demonstrates the well-known photoelectric effect by triggering a sub-biased neon lamp with visible light from an LED. Neon bulbs work on the principle of voltage-induced ionization, creating a visible glowing plasma. If the applied voltage is high enough, around 60 to 80 V, electrons get knocked off the neutral neon atoms. The now free electrons, roaming around highly energized, will eventually come across a neon ion (missing an electron) and recombine to make it neutral again.

The results are a lower total energy state, and the difference in energy is resolved by the emission of a photon of light, which, in the case of neon, is a dull reddish-orange. Nothing unusual there. However, nothing will happen if the applied voltage bias is just below this device-specific threshold. There’s not enough energy to strip electrons.

Apply an external light source, and this threshold can be exceeded. The photons from the LED are just energetic enough to strip a small number of electrons from the surface of the electrodes, and this causes a cascade, or avalanche effect, lighting up the plasma and turning on the neon lamp. Take away the external light source, and it dies down and goes dark.

Continue reading “Demonstrating The Photoelectric Effect Using Neon Lamps”

Exploring PC Floppy Protection: Formaster Copy-Lock

[GloriousCow] has started working on a series of investigations into the various historical floppy disk copy protection schemes used in the early days of the IBM PC and is here with the first of these results, specifically Formaster’s Copy-Lock.

This is the starting sector of track 6. It looks empty, but it’s not quite.

The game in question is King’s Quest by Sierra Entertainment, which used a ‘booter disk’ with the Copy-Lock protection scheme. Instead of having to boot DOS separately, you could just insert this disk and the game would launch automatically. Early copy protections often used simple methods, like adding sectors with non-standard sizes or tampering with sector CRC values to create disk errors. Copy-Lock employed several such tricks together, making it challenging for standard floppy disk hardware to replicate. In the case of Copy-Lock, Sector 1 on track 6 was intentionally written as only 256 bytes, with a 256-byte blank section to fill the gap. Additionally, the CRC was also altered to add another layer of protection.

When attempting to read the disk, the PC BIOS interrupt routine assumes it’s looking for a standard 512-byte sector, so when a “read sector” command is issued to locate the sector, it never finds it. To detect a dodgy copy, the game bypasses the BIOS and talks directly to the floppy disk controller using some custom code. The first part of the code uses the standard INT 13h routine to seek to track 6, sector 1, where it expects a fail since there is no valid sector there. Next, the floppy controller sends the “read track” command to perform a raw dump of all 512 bytes at this address and looks for a magic number, 0xF7, sitting in the final byte. That empty second half of the short sector is indeed not empty and is the check the game makes to determine if it was written with the Copy-Lock capable hardware. That last point is pertinent; you can’t create this disk structure with a standard IBM PC floppy disk controller; you need specialized hardware that can write different-sized sectors and incorrect CRCs, and that costs money to acquire.

We recently covered the copy protection scheme used for Dungeon Master on the Atari ST and the Amiga. If you’re thinking less about how a floppy got cracked and copied and more about how to preserve these digital relics, check this out!

Hardware Reuse: The PMG001 Integrated Power Management Module

Battery management is a tedious but necessary problem that becomes more of a hassle with lithium-ion technology. As we’re all very aware, such batteries need a bit of care to be utilized safely, and as such, a huge plethora of ICs are available to perform the relevant duties. Hackaday.IO user [Erik] clearly spent some time dropping down the same old set of ICs to manage a battery in their applications, so they created a drop-in castellated PCB to manage all this.

Continue reading “Hardware Reuse: The PMG001 Integrated Power Management Module”

Fast 3D Printing With A Polar, Four Quadrant Custom Machine

3D printing is all well and good for making low numbers of units, so long as they’re small enough to print in a reasonable time, but what if you want to go really big? Does a 35-hour print time sound like a fun time? Would it even make it that long? [Nathan] from Nathan Build Robots didn’t fancy the wait, so they embarked on a project to build a huge parallel 3D printer with four independent print heads. Well, kind of. Continue reading “Fast 3D Printing With A Polar, Four Quadrant Custom Machine”

A Simple 6DOF Hall Effect ‘Space’ Mouse

The 3DConnexion Space mouse is an interesting device but heavily patent-protected, of course. This seems to just egg people on to reproduce it using other technologies than the optical pickup system the original device uses. [John Crombie] had a crack at building one using linear Hall effect sensors and magnets as the detection mechanism to good — well — effect.

Using the SS49E linear Hall effect sensor in pairs on four sides of a square, the setup proves quite straightforward. Above the fixed sensor plate is a moveable magnet plate centred by a set of springs.  The magnets are aligned equidistant between each sensor pair such that each sensor will report an equal mid-range signal with zero mechanical displacement. With some simple maths, inputs due to displacements in-plane (i.e., left-right or up-down) can be resolved by looking at how pairs compare to each other. Rotations around the vertical axis are also determined in this manner.

Tilting inputs or vertical movements are resolved by looking at the absolute values of groups or all sensors. You can read more about this by looking at the project’s GitHub page, which also shows how the to assemble the device, with all the CAD sources for those who want to modify it. There’s also a detour to using 3D-printed flexures instead of springs, although that has yet to prove functional.

On the electronics and interfacing side of things, [John] utilises the Arduino pro micro for its copious analog inputs and USB functionality. A nice feature of this board is that it’s based on the ATMega32U4, which can quickly implement USB client devices, such as game controllers, keyboards, and mice. The USB controller has been tweaked by adjusting the USB PID and VID values to identify it as a SpaceMouse Pro Wireless operating in cabled mode. This tricks the 3DConnexion drivers, allowing all the integrations into CAD tools to work out of the box.

We do like Space Mouse projects. Here’s a fun one from last year, an interesting one using PCB coils and flexures, and a simple hack to interface an old serial-connected unit.