ISASTM Runs Vintage Cards Over USB

The ISA bus is a relic of the distant past, and no longer supported by the PC mainstream. Outside of retro fanatics and likely some long-term industrial users, it’s all but forgotten. That hasn’t stopped [Manawyrm] from hacking away, however, and she’s developed a nifty adapter for the modern era.

Still in its early stages of development, the ISASTM is a ISA-over-USB adapter that allows a modern computer to work with older expansion cards. Running on an STM32H743, and using the microcontroller’s native USB1 interface, the ISASTM card is able to be slotted into a backplane in order to address multiple cards with one adapter. [Manawyrm] demonstrates the hardware by running Monkey Island 1 in the PCem emulator, with sound provided by an AdLib ISA soundcard.

There are some throughput issues, which [Manawyrm] aims to solve by switching to USB2 and making some tweaks and improvements to the code. Regardless, it’s an impressive tool that we imagine could have some use in keeping some legacy hardware alive, too. Incidentally, it’s been a long while since we’ve seen a solid ISA hack around these parts. Video after the break.

Continue reading “ISASTM Runs Vintage Cards Over USB”

USB Adaptor Isolates Multiple Serial Interfaces

You need a Swiss Army knife of serial communications? Ollie is a compact isolated USB adaptor that provides USB, CAN bus, and two UARTs at logic, RS-232, and RS-485 signaling levels, as well as an isolated power supply.  [Slimelec] has managed to squeeze all this into a package the size of a harmonica.  We like the technique of making the enclosure from PCB material, complete with clearly labeled switch, LED and connector pinout names.

So far, only the compiled firmware is available for this project, but hardware files, and presumably the source code and documentation, are coming soon.

The central themes here are  isolation and flexibility. We can’t find the isolation voltage in the project specifications, but the CANable project on which this adaptor is based provides 2.5 kV galvanic isolation.  A single isolated USB interface is also provided over a standard Type A connector. The four-wire logic-level UART signals are available on a 2 x 7 box header, and are voltage selectable.  The RS-232, RS-485, and CAN signals are on an 8-pin pluggable screw terminal block, or you can use a DB9 connector with a pluggable adaptor board.

Whether you need a troubleshooting aid for field testing, are using CAN bus on your projects, or just want to isolate your expensive computer from sketchy prototype hardware, have a look at this project.

New Controllers On Old Nintendos With USB64

The Nintendo 64 made a big splash when it launched in 1996, not least of all for its innovative controller. Featuring a never-before-or-since seen trident design, and with an analog stick smack bang in the center, it changed what gamers expected from consoles from that day forward. Of course, those controllers are now much worse for wear, and technology has moved on somewhat. The latest development from [Ryzee119] aims to rectify this somewhat.

The result of that work is USB64, a tool designed to allow the use of USB controllers on the Nintendo 64. Using a Teensy 4.1, it builds upon earlier work to get the Xbox 360 controller working on the platform. However, the feature set has been greatly expanded, covering almost any use case imaginable. Mempacks are now efficiently emulated, and save files can be backed up to a PC via SD card. Additionally, the GameBoy Transferpak is emulated, meaning data can be transferred between GameBoy ROMs on an SD card and games on the N64. Even the N64 mouse is supported, and can be emulated with a regular USB mouse. Capable of doing all this for all four players, work is ongoing to increase the number of compatible aftermarket controllers for the utmost flexibility. [Ryzee119] also coded up a useful test ROM for the N64, which is invaluable when debugging controller hardware.

Console controllers take a lot of punishment, particularly from serious gamers, so we’re always eager to see projects that allow modern replacements to be used with old hardware. We’ve featured other great projects in this area before, too!

USB Bell Rings In Custom Terminal

Old TeleTypes and even typewriters had bells. Real bells. So that ASCII BEL character is supposed to make an honest to goodness ringing sound. While some modern terminals make a beep from the computer speakers, it isn’t the same. [Tenderlove] must agree, because the turned a Microchip USB to I2C bridge chip into a HID-controlled bell.

The only problem we see is that you have to have a patch to your terminal to ring the bell. We’d love to see some filter for TCP or serial that would catch BEL characters, but on the plus side, it is easy to ring the bell from any sort of application since it responds to normal HID commands.

Continue reading “USB Bell Rings In Custom Terminal”

The USB Null Modem Cable Is Now A Thing

The classic serial null-modem cable was, among other things, used to connect two computers together for communications and file transfer. Largely eliminated in daily use by the advent of home networking, there are still fringe applications where such a thing can come in handy. [Nick Sayer] needed just such a tool, but one that would work in a modern USB environment. Enter the isolated USB null-modem.

The device consists of two USB Communication Device Class, or CDC chips, creating a USB serial port for each attached computer. The TX and RX lines are cross-connected to allow communication between the two sides. Rather than directly connect the lines, however, they pass through an opto-isolator. This is important, as it allows two computers at different ground potentials to be safely connected to each other without damage.

[Nick] originally created the device to solve a specific problem at his day job, but community response was large enough that he was kind enough to share the project online. Expect to see devices available on Tindie in future for those that need a hookup. While it’s not something everyone will need, for those that do, it should come in handy. If you’re looking for other useful applications for USB-serial devices, there’s plenty – you can even try your hand at software-defined radio!

Exotic Device Gets Linux Support Via Wireshark And Rust

What can you do if you have a nice piece of hardware that kinda works out of the box, but doesn’t have support for your operating system to get the full functionality out of it? [Harry Gill] found himself in such a situation with a new all-in-one (AIO) water cooling system. It didn’t technically require any operating system interaction to perform its main task, but things like settings adjustments or reading back statistics were only possible with Windows. He thought it would be nice to have those features in Linux as well, and as the communication is done via USB, figured the obvious solution is to reverse engineer the protocol and simply replicate it.

His first step was to set up a dual boot system (his attempts at running the software in a VM didn’t go very well) which allowed him to capture the USB traffic with Wireshark and USBPcap. Then it would simply be a matter of analyzing the captures and writing some Linux software to make sense of the data. The go-to library for USB tasks would be libusb, which has bindings for plenty of languages, but as an avid Rust user, that choice was never really an issue anyway.

How to actually make use of the captured data was an entirely different story though, and without documentation or much help from the vendor, [Harry] resorted to good old trial and error to find out which byte does what. Eventually he succeeded and was able to get the additional features he wanted supported in Linux — check out the final code in the GitHub repository if you’re curious what this looks like in Rust.

Capturing the USB communication with Wireshark seems generally a great way to port unsupported features to Linux, as we’ve seen earlier with an RGB keyboard and the VGA frame grabber that inspired it. If you want to dig deeper into the subject, [Harry] listed a few resources regarding USB in general, but there’s plenty more to explore with reverse engineering USB.

USB Flash Drive Reveals Strange SD Card Heart

Many a hacker has dug an old flash drive out of the bottom of a backpack, and peeled apart the damaged plastic case to look inside. More often then not, you’d expect to see some SMD chips on a PCB along with a few passives, an LED and a USB port. [Gough] found something else entirely, and documented it for the interested public.

Inside the Comsol 8GB USB stick, [Gough] found an entire microSD card. One might be led to think this is a card reader and microSD masquerading as a normal flash drive, but the reality is far different. Instead, the drive contains a Flash memory controller which addresses the microSD card as raw NAND, through test points normally covered up on consumer-grade cards. The drive appears to be manufactured from factory second microSD cards that don’t pass the normal tests to be onsold to the public.

Armed with software obtained through spurious channels, [Gough] is able to dive deeper into the guts of the flash drive. The engineering tools allow the card to be optimised for capacity or speed, and different levels of error correction. It’s even possible to have the flash drive emulate a U3 CD ROM drive for OS installs and other purposes.

It’s a great dive into how USB drives work on a low level, and how the firmware and hardware work together. We’ve seen other flash drive hacks before too – like this simple recovery trick!