A 32-Bit RISC-V CPU Core In 600 Lines Of C

If you have ever wanted to implement a RISC-V CPU core in about 600 lines of C, you’re in luck! [mnurzia]’s rv project does exactly that, providing a simple two-function API.

Technically, it’s a user-level RV32IMC implementation in ANSI C. There are many different possible flavors of RISC-V, and in this case is a 32-bit base integer instruction set (RV32I), with multiplication and division extension (M), and compressed instruction set extension (C).

There’s a full instruction list and examples of use on the GitHub repository. As for readers wondering what something like RISC-V emulation might be good for, it happens to be the not-so-secret sauce to running Linux on an RP2040.

Using Excel To Manage A Commodore 64

The “save” icon for plenty of modern computer programs, including Microsoft Office, still looks like a floppy disk, despite the fact that these have been effectively obsolete for well over a decade. As fewer and fewer people recognize what this icon represents, a challenge is growing for retrocomputing enthusiasts that rely on floppy disk technology to load any programs into their machines. For some older computers that often didn’t have hard disk drives at all, like the Commodore 64, it’s one of the few ways to load programs into computer memory. And, rather than maintaining an enormous collection of floppy discs, [RaspberryPioneer] built a way to load programs on a Commodore using Microsoft Excel instead.

The Excel sheet that manages this task uses Visual Basic for Applications (VBA), an event-driven programming language built into Office, to handle the library of applications for the Commodore (or Commodore-compatible clone) including D64, PRG, and T64 files. This also includes details about the software including original cover art and any notes the user needs to make about them. Using VBA, it also communicates to an attached Arduino, which is itself programmed to act as a disk drive for the Commodore. The neceessary configuration needed to interface with the Arduino is handled within the spreadsheet as well. Some additional hardware is needed to interface the Arduino to the Commodore’s communications port but as long as the Arduino is a 5V version and not a 3.3V one, this is fairly straightforward and the code for it can be found on its GitHub project page.

With all of that built right into Excel, and with an Arduino acting as the hard drive, this is one of the easiest ways we’ve seen to manage a large software library for a retrocomputer like the Commodore 64. Of course, emulating disk drives for older machines is not uncommon, but we like that this one can be much more dynamic and simplifies the transfer of files from a modern computer to a functionally obsolete one. One of the things we like about builds like this, or this custom Game Boy cartridge, is how easy it can be to get huge amounts of storage that the original users of these machines could have only dreamed of in their time.

RetroPie, Without The Pi

The smart television is an interesting idea in theory. Rather than having the cable or satellite company control all of the content, a small computer is included in the television itself to host and control various streaming clients and other services. Assuming you have control of the software running on the computer, and assuming it isn’t turned into a glorified targeted advertising machine, this can revolutionize the way televisions are used. It’s even possible to turn a standard television into a smart TV with various Android devices, and it turns out there’s a lot more you can do with these smart TV contraptions as well.

With most of these devices, a Linux environment is included running on top of an ARM platform. If that sounds similar to the Raspberry Pi, it turns out that a lot of these old Android TV sets are quite capable of doing almost everything that a Raspberry Pi can do, with the major exception of GPIO. That’s exactly what [Timax] is doing here, but he notes that one of the major hurdles is the vast variety of hardware configurations found on these devices. Essentially you’d have to order one and hope that you can find all the drivers and software to get into a usable Linux environment. But if you get lucky, these devices can be more powerful than a Pi and also be found for a much lower price.

He’s using one of these to run RetroPie, which actually turned out to be much easier than installing a more general-purpose Linux distribution and then running various emulation software piecemeal. It will take some configuration tinkering get everything working properly but with [Timax] providing this documentation it should be a lot easier to find compatible hardware and choose working software from the get-go. He also made some improvements on his hardware to improve cooling, but for older emulation this might not be strictly necessary. As he notes in his video, it’s a great way of making use of a piece of electronics which might otherwise be simply thrown out.

Continue reading “RetroPie, Without The Pi”

SheepShaver: A Cross-Platform Tool For Retro Enthusiasts

The world of desktop computing has coalesced into what is essentially a duopoly, with Windows machines making up the bulk of the market share and Apple carving out a dedicated minority. This relatively stable state hasn’t always existed, though, as the computing scene even as late as the 90s was awash with all kinds of competing operating systems and various incompatible hardware. Amiga, Unix, OS/2, MacOS, NeXT, BeOS, as well as competing DOSes, were all on the table at various points.

If you’ve still got a box running one of these retro systems, SheepShaver might be able to help expand your software library. It’s not the sort of virtualization that we’re used to in the modern world, with an entire operating system running on a sanctioned-off part of your system. But SheepShaver does allow you to run software written for MacOS 7.5.2 thru 9.0.4 in a different environment. Unix and Linux are both supported, as well as Mac OS X, Windows NT, 2000, and XP, and the enigmatic BeOS. Certain configurations allow applications to run natively without any emulation at all, and there is plenty of hardware support built-in as well.

For anyone running retro hardware from the late 90s or early 00s, this could be just the ticket to get an application running that wasn’t ever supported on one of these machines. As for the name, it’s a play on another piece of software called ShapeShifter which brought a Mac-II emulator to the Amiga. SheepShaver has been around since the late 90s, too, so we’re surprised that we haven’t featured it before since it is such a powerful tool for cross-platform compatibility for computers of this era. Even if all you are hanging on to is an old BeBox.

Building The World’s Largest Nintendo 3DS

While the Nintendo 3DS was capable of fairly impressive graphics (at least for a portable system) back in its heyday, there’s little challenge in emulating the now discontinued handheld on a modern computer or even smartphone. One thing that’s still difficult to replicate though is the stereoscopic 3D display the system was named for. But this didn’t stop [BigRig Creates] from creating this giant 3DS with almost all of the features of an original console present.

The main hurdle here is that the stereoscopic effect that Nintendo used to allow the 3DS to display 3D graphics without special glasses doesn’t work well at long distances, and doesn’t work at all if there is more than one player. To get around those limitations, this build uses a 3D TV with active glasses. This TV is mounted to a bar stool with the help of some counterweights, and a second touch-sensitive screen courtesy of McDonalds makes up the other display.

The computer driving this massive handheld console runs Citra, and also handles the scaled-up controls as well. To recreate the system’s analog touch pad, a custom joystick tipped with conductive filament is used to interact with a smartphone hidden inside the case. Opposing rubber bands are used to pull the stick back into the center when it’s not being pushed.

Plenty of 3DS games are faithfully replicated with this arcade-sized replica, and as Citra supports various 3D displays, upscaling of the graphics, and the touchscreen interface, almost everything from the original console is produced here. There are a few games that don’t work exactly right, but all in all it’s a remarkable build and, as far as we can tell, the largest 3DS in the world. Don’t forget that even though this console is out of production now, there’s still a healthy homebrew scene to take part in.

Continue reading “Building The World’s Largest Nintendo 3DS”

Classic Calculators Emulated In Browser

The Multiple Arcade Machine Emulator, now known simply as MAME, started off as a project to emulate various arcade games. The project is still adding new games to its library, but the framework around MAME makes it capable of emulating pretty much any older computer. The computer doesn’t even need to be a gaming-specific machine as the latest batch of retro hardware they’ve added support for is a number of calculators from the 90s and early 00s including a few classics from Texas Instruments.

Since no one is likely to build an arcade cabinet version of a TI-89, all of these retro calculators are instead emulated entirely within a browser. This includes working buttons and functions on an overlay of each of these calculators but also pixel-accurate screen outputs for each of these. The graphing calculators have more of what we would consider a standard computer screen, but even the unique LCDs of some of the more esoteric calculators are accurately replicated as well thanks to the MAME artwork system.

There are a number of calculators implemented under this project with a full list found at this page, and the MAME team has plans to implement more in the future. If you’re looking for something fun to do on a more modern calculator, though, take a look at this build which implements ray tracing on a TI-84 Plus CE.

Thanks to [J. Peterson] for the tip!

A pink and white Leapster GS handheld console sits on a wooden table. It has a white D-pad and two large pink action buttons. A power cord extends from the bottom and a headphone cable comes out the top.

RetroArch On A LeapFrog Leapster GS

Retro games are a blast, and even more so when you can bring the fun on the go. [mac2612] has developed a custom retroarch-based firmware for the Leapster GS and LeapPad2. (via Bringus Studios on YouTube)

We covered Linux on the Leapster before, but Retroleap seems better documented (and still up on the internet). Installation is done over the command line with sshflash, also by [mac2612], after booting the Leapster or LeapPad2 into “Surgeon Mode.” Since the stock bootloader remains intact, you can always return the LeapFrog to its default state if anything gets wiggy by reflashing the device via the LeapFrog Connect App.

The default system includes emulators for NES, SNES, GBA, Genesis, Atari 800, and MAME. Performance varies, but some PS1 games have even run successfully on the device.

If you’d like to see some other LeapFrog hacks, checkout this LeapFrog TV Running DOOM or Composite Video Out on the DIDJ.

Continue reading “RetroArch On A LeapFrog Leapster GS”