A man's hand is holding a thin wooden board, which runs between two vertical metal plates. On the board are two glasses, one filled with water. A computer screen is behind all this, showing a series of white bars. The series of bars shows two peaks.

Using Capacitance For Extremely Sensitive Proximity Sensing

Capacitive displacement sensors span a wide range of resolution, from the touchscreen sensors which can only detect displacement as a binary state, all the way to the sensors in semiconductor fabs which measure down to nanometers. The sensor [Matthias Wandel] built with a Raspberry Pi Pico lands somewhere in the middle, providing both sensitive measurements and an absolute scale.

The idea is that the amount of overlap between two metal plates should be detectable by measuring the capacitance between them. Reaching any kind of usable resolution would require a very precise measure of capacitance, around the picofarad range. [Matthias] realized that the Pico’s GPIO pins have an inherent capacitance, and can have a pull-down resistor set, essentially creating an RC circuit. [Matthias] would set a pin to a high-level output, then switch it to an input. The amount of time the pin takes to switch from high to low indicates the RC constant, which includes the capacitance attached to the pin.

When attached to a metal plate, the Pico was sensitive enough to detect the plate’s capacitive coupling to [Matthias]’s hand through a thick wooden floor. To measure capacitance between two metal plates, the Pico measured how well a voltage signal applied to one plate was coupled to the other plate. This was sensitive enough to measure the slight change in the dielectric constant when [Matthias] waved a piece of ABS pipe between the two capacitor plates. Making actual position measurements was tricky, since capacitance changed with both X- and Z-axis shifts in the plates.

Digital calipers use similar capacitive sensors to make their measurements, as [Matthias] knows from his experiments in hacking them. If you’re interested in more details, check out this teardown of some cheap digital calipers.

Continue reading “Using Capacitance For Extremely Sensitive Proximity Sensing”

PSX Development With Unity And LUA

The Unity game development platform was first released in 2005, long after the PlayStation had ceased to be a relevant part of the console market. And yet, you could use Unity to develop for the platform, if you so desire, thanks to the efforts of [Bandwidth] and the team behind psxsplash. 

Yes, it really is possible to design games for the original PlayStation using Unity and Lua. Using a tool called SplashEdit, you can whip up scenes, handle scripting, loading screens, create UIs, and do all the other little bits required to lash a game together. You can then run your creation via the psxsplash engine, deploying to emulator or even real hardware with a single click. Currently, development requires a Windows or Linux machine and Unity 6000.0+, but other than that, it’s pretty straightforward to start making games with a modern toolset for one of the most popular consoles of all time. Just remember, you’ve only got 33 MHz and 2MB of RAM to play with.

We still love to see the legendary grey machine get used and hacked in new and inventive ways, so many decades after release.

Continue reading “PSX Development With Unity And LUA”

How One Line Of TF2 Code Ruined This Simple Feature

Ever encountered a minor annoying bug in a video game? How about one dating back to 2018? Usually, you have no hope of fixing it, but this time is different. [Joey Cheerio] shows the first-time programmer approach to (with great difficulty) fixing a bouncy ball prop turning invisible when shot in Team Fortress 2.

It starts with a band-aid solution that hides the problem: just turn off jiggle physics! While that works, it also affects many other models in the game, and doesn’t tackle the root cause. Time to investigate. Because this ball often goes overlooked, [Joey Cheerio] didn’t even realize that it was supposed to have jiggle physics, accidentally removing it. Turns out, after scouring the internet for old footage, it’s supposed to jiggle after all.

Back to square one, [Joey Cheerio] infers that the jiggle bone accidentally removed was related to the problem, eventually figuring out that the specific type of jiggle bone used (is_boing) caused the issue. Time to dig in the code. Tracking down the problem is no small feat for someone who’s never programmed before, even with the help of LLMs, but eventually, at 4 in the morning, a breakthrough! The ball no longer turned invisible but retained the intended jiggle.

At the limits of his knowledge on the subject, [Joey Cheerio] posts his partial progress so far to GitHub, where [ficool2] tracks down the real problem and turns this second band-aid into a proper fix. [Joey Cheerio] finishes up by explaining the math of what exactly went wrong.

Continue reading “How One Line Of TF2 Code Ruined This Simple Feature”

Three-Monitor Ridge Racer Machine Emulated In MAME

When Ridge Racer hit the arcades in the early 1990s, it came in a few different versions. The last variant used three large CRTs to create a wraparound display for the player. Incredibly rare, it’s believed that only a single-digit number of machines remain in existence. [beaumotplage] has secured a remaining example, and been working to preserve this historical artifact.

The first mission when it comes to this machine was to dump the ROMs, which have thus far not been preserved in any major archive. With that done, [beaumotplage] worked to hack a version of MAME that could emulate the Three Monitor Version’s unique mode of operation. As it turns out, each screen is driven by its own arcade board, with the three boards linked via C139 serial links. To emulate this, the trick was simply to write some C139 linkup code and run three versions of MAME all at once, letting them communicate with each other as the original boards would have. It’s a little janky in operation right now, but it does work!

You can download the hacked version of MAME for three-monitor operation here, though note that this does not include the ROM dumps from the machine itself. We look forward to seeing if the hardware ends up getting a full restoration back to operational standard, too.

Overall, this work goes to show that arcade preservation and archival work sometimes requires getting deep into the nitty-gritty technical stuff.

Continue reading “Three-Monitor Ridge Racer Machine Emulated In MAME”

What Can You Run On A 1960s Univac? Anything You’re Willing To Wait For!

There are two UNIVAC 1219B computers that have survived since the 1960s and one of them is even operational. [Nathan Farlow] wanted to run a Minecraft server on it, so he did. After a lot of work, of course, which is described in a detailed blog post, and, a YouTube video by [TheScienceElf] we’ve embedded below.

The UNIVAC is a seriously weird architecture by modern standards: it’s got eighteen-bit words — yeah, not even a power of two — and one’s compliment arithmatic with a weird signed zero thing going on. There’s one 36-bit and one 18-bit register, and only 40,960 words of memory. Eighteen-bit words. Yeah, it was the 1960s and they were making it up as they went along.

[Nathan] wasn’t, entirely, as this weird system is both well-documented and already had an emulator — in BASIC, of all things. [TheScienceElf] used the docs and the existing emulator to recreate his own in Rust so he could test their somewhat crazy plan without wasting cycles on real hardware. The plan? Well, there are really only two options if you want to build modern software for a niche architecture: one is to add niche support to something like GCC, and the other is to write a RISC V emulator and compile to that. We’ve seen that second one before, and that’s the route [Nathan] took.

Of course, [Nathan] is a machine learning guy, so he made the best possible use of LLMs — though it’s interesting to see that unlike Z80 Assembly, Claude Code really couldn’t wrap its virtual head around the UNIVAC’s assembly language, and [Nathan] had to bang out the RISC V emulator himself. Emulator in hand, [Nathan] and friends had code to run on the museum UNIVAC. A single frame of an NES game took 40 minutes, but hey, at least it finished before they got back from lunch.

[TheScienceElf]’s YouTube treatment teases hosting Minecraft, but it wasn’t a full server, just the login portion. That they were able to get TCP/IP over serial and set up a handshake between a 2020s laptop and a 1960s computer is still mighty impressive. Just the work the Vintage Computer Federation put in to get and keep this antique running is mighty impressive all on its own, but it’s wonderful they let people play with it.

Continue reading “What Can You Run On A 1960s Univac? Anything You’re Willing To Wait For!”

Tool Embodiment And The Dead Trackball

There is a currently ongoing debate in the neuropsychology world about how we relate to the tools that we use. The theory of “tool embodiment” says that when we use some tools frequently enough, our brain recognizes them similarly to how it recognizes our own hands, for instance. There is evidence and counter-evidence from experiments with prosthetics, trash-grabber arms, and rubber dummy arms, just to name a few. It’s fair to say the jury is still out.

All I know is that today my trackball broke, and using a normal gaming mouse to edit the podcast was torture. It would be an exaggeration to say that I felt like I’d lost a hand, but I have so much motor memory apparently built up in my use of the trackball that switching over to another tool to undertake the exact same series of hundreds of small audio edits – mostly compensating for the audio delay across continents, but also silencing coughs and background noises – took an extra hour.

Anyone who has switched from one keyboard to another, or heck even from emacs to vim, knows what I experienced. My body just knows how to flick my wrist to make the cursor on the screen move over to the beginning of that “umm”. It’s not like I don’t conceptually know how to use a mouse either, and it does exactly the same job. But the mouse wasn’t my tool for this application. And saying that out loud makes it almost sound like I’m bordering on embodying my trackball.

I probably should have taken the trackball apart and replaced the bad tact switch on the left-click – that would have taken maybe twenty minutes – but I completely underestimated how integral the tool had become to the work. Anyway, as I write this, tomorrow is Saturday and I’ll have time to fix it. But today, I learned something pretty neat about myself in the process, even if I don’t think my single datapoint is going to rock the academic psych world.

DJ Controller Modded For Better Scratching

[Jeremy Bell] loves scratching, but he had a problem. His Hercules DJ controller wasn’t really doing a great job at emulating the kind of action one would get with a real turntable. The solution was both mechanical and electronic in nature!

As stock, the Hercules MIDI rig lets you scratch in a relatively simplistic way. When it detects a finger touching the rotary control, it lets you scratch back and forth with great motion tracking. However, when you let go, playback resumes at regular speed instantaneously, which creates a somewhat inorganic sound.

The fix was to make some mechanical mods to the MIDI controller. [Jeremy] tried out a variety of different methods of using a motor to spin the rotary control continuously, from geared rigs to belt-driven setups. It was then possible to scratch on the controller, and then let it return to normal rotational speed, creating much smoother  auditory transitions. However, this was imperfect, as for whatever reason, the Hercules rig would stop tracking the rotary control accurately unless it detected a finger was touching it. [Jeremy] worked around this by whipping up a slip-ring-like setup to keep his body permanently in contact with the rotary control even while spinning.

The results are pretty great—they’re both mechanically janky and fantastically satisfying to listen to. We’ve featured some other great DJ controller hacks over the years, like this sweet Pioneer UI upgrade.

Continue reading “DJ Controller Modded For Better Scratching”