A Complete C64 System, Emulated on an STM32

c64

The Commodore 64 is the worlds bestselling computer, and we’re pretty sure most programmers and engineers above a certain age owe at least some of their career to this brown/beige keyboard that’s also a computer. These engineers are all grown up now, and it’s about time for a few remakes. [Jeri Ellisworth] owes her success to her version, there are innumerable pieces of the C64 circuit floating around for various microcontrollers, and now [Mathias] has emulated everything (except the SID, that’s still black magic) in a single ARM microcontroller.

On the project page, [Mathais] goes over the capabilities of his board. It uses the STM32F4, overclocked to 235 MHz. There’s a display controller for a 7″ 800×480 TFT, and 4GB of memory for a library of C64 games. Without the display, the entire project is just a bit bigger than a business card. With the display, it’s effectively a C64 tablet, keyboard not included.

This is a direct emulation of the C64, down to individual opcodes in the 6510 CPU of the original. Everything in the original system is emulated, from the VIC, CIAs and VIAs, serial ports, and even the CPU of the 1541 disk drive. The only thing not emulated is the SID chip. That cherished chip sits on a ZIF socket for the amazement of onlookers.

You can check out some images of the build here, or the video demo below.

[Read more...]

I Love the Smell of Rocket Candy in the Morning

diy-rocket

[Grant Thompson aka "The King of Random"] has created a great tutorial on making sugar rocket motors. [Grant] is using a fuel based on potassium nitrate and sugar. Known as Rocket Candy or R-Candy in the amateur rocket community, various forms of this mixture have been used for decades. In fact, this is similar to one of the mixtures [Homer Hickam] and friends used to build rockets in his novel Rocket Boys.

[Grant] bought a cheap blender from the thrift store, which he used to grind his ingredients. You probably won’t want to use this blender for food after it’s been full of KNO3-based stump remover. The blender made quick work of grinding down the KNO3 to a fine powder. [Grant] then added in powdered sugar and carefully mixed the two by shaking, not by running the blender.

A 5″ length of schedule 40 PVC pipe made the rocket motor casing. The rocket motor’s end caps are made from ground clay cat litter. [Grant] rams the layers with a wooden dowel and hammer. First a top cap of clay, then the rocket fuel, then a bottom cap also of clay. With all the layers in place, he hand drilled a hole through the bottom cap and the entire fuel layer. Drilling all the way through turns the motor into a core burning rocket. The entire fuel cylinder burns away from the inside out, with more surface area than burning the end alone.

[Grant] tested his rocket motor at a remote location. We probably would have gone with an electric igniter rather than a fireworks style fuse, but the end result is the same. The rocket motor performed admirably, blasting up to over 2000 feet in altitude.

It goes without saying that working with solid rocket fuel isn’t something to be taken lightly. Something as simple as an air gap in the fuel could lead to a CATO, turning this rocket motor into a pipe bomb. We echo [Grant's] suggestion to search for local amateur rocket clubs before trying this one at home.

[Read more...]

Hackaday Retro Edition: A 286 on the Internet

retro-roundup

While not an issue now with our 64 bit (more accurately 48- or 52-bit) processors, there was a time when 32 bits of addressing space was impossibly large. For several decades, 4 Gigabytes of memory would be the absolute ceiling, and something only madmen or the protagonist of Pi would have to deal with. This convention began, at least for the Intel/PC world, with the 386. Earlier processors like the 8086 and the 286 were quite capable for their time, but doing anything modern with them, especially getting on the Internet, is a quixotic endeavor beyond comparison.

[Caulser] over on the Vintage Computer Forums has done just that. He recently acquired a Zenith Data Systems 286 system and loaded up what is quickly becoming the litmus test for old computers on the Internet: the Hackaday retro edition

When he first received the system, it was loaded up with a rather generous (for the time) 4MB of RAM. The 20MB hard drive was dead, but with a little fiddling about with the BIOS, [Caulser] was able to get the system working with an old Quantum IDE hard drive.

There’s no Windows or even Linux for this machine, so the system is just running MS DOS 5a, mTCP, Arachne, and the relevant drivers for the NIC (that has RJ45 and BNC connectors). After upgrading the RAM to 8MB, the box performs reasonably well without any pesky ads, and given the websites he visited, he’s not dealing with any overwrought Javascript or CSS, either.

Pics of the system below.


If you have an old computer sitting around, try to load our retro site with it. Take a few pictures, and we’ll put it up in one of our Retro Roundups

[Read more...]

Playing Doom (Poorly) on a VoCore

doomguy Last May brought the unastonishing news that companies were taking the Systems on Chip found in $20 wireless routers and making dev boards out of them. The first of these is the VoCore, an Indiegogo campaign for a 360MHz CPU with 8MB of Flash and 32MB or RAM packaged in a square inch PCB for the Internet of Things. Now that the Indiegogo rewards are heading out to workbenches the world over, it was only a matter of time before someone got Doom to run on one of them.

After fixing some design flaws in the first run of VoCores, [Pyrofer] did the usual things you would do with a tiny system running Linux – webcams for streaming video, USB sound cards to play internet radio, and the normal stuff OpenWrt does.

His curiosity satiated, [Pyrofer] turned to more esoteric builds. WIth a color LCD from Sparkfun, he got an NES emulator running. This is all through hardware SPI, mind you. Simple 2D graphics are cool enough, but the standard graphical test for all low powered computers is, of course, Doom.

The game runs, but just barely. Still, [Pyrofer] is happy with the VoCore and with a little more work with the SPI and bringing a framebuffer to his tiny system, he might have a neat portable Doom machine on his hands.

A PC Engine to TurboGrafx-16 Converter

pc

The PC Engine was pretty popular in Japan, but only the coolest kids in America had the US edition, the TurboGrafx16. These two systems weren’t exactly the same; the TurboGrafx-16’s data bus was flipped so the games were made to be incompatible, and the US games have a region lockout. [Kaz] looked at the existing hacks for running Japanese games on US systems, and every single one of them required modding a console. Thinking he could do better, he came up with the PC-Henshin, an adapter and CPLD that allows Japanese game to run on US consoles.

To take care of the mixed up lines on the PC card connector between the US and Japanese variants, a few adapter cards are available. That’s great, but they only solve one part of the compatibility problem. The region lockout routine found on nearly every American title mean PC Engine consoles can’t run TurboGrafx-16 games. [Kaz] used a small, cheap CPLD to read the data bus, patch everything as it is read out, and turns a Japanese console into something that can play American games.

Video below.

[Read more...]

The Cassette MP3 Player

cassette

1994 was twenty years ago. There are people eligible to vote who vaguely remember only one Bush presidency. You can have a conversation with someone born after the millennium, and they think a 3.5 inch disk is called a save icon. Starting to feel old? Don’t worry, all the trinkets of your youth have now become shells for MP3 players, the cassette tape included.

[Britt] is aware you can pick up one of these cassette tape MP3 players through the usual channels, but she wanted her build to be a little different. She’s using ar real, vintage cassette tape for starters, and from the outside, looks pretty much like any other cassette tape: there’s a thin strip of tape at the bottom, and the clear plastic window shows the tape is at the beginning of side A.

Outside appearances are just that; inside, there is a small, repurposed MP3 player, with tact switches wired up to the old buttons, actuated by moving the spools back and forth. Yes, you actually play, pause, rewind and fast forward by sticking a pencil in the spool and moving it back and forth. Amazing.

It’s a great build, and considering both cassette tapes and cheap MP3 players can be found in the trash these days, it’s something that should be hard to replicate.

CP/M Source Code Released

 

cpm_1a

To celebrate the 40th anniversary of CP/M, the Computer History Museum has released a package containing early source code for several versions of CP/M. Originally designed by [Gary Kildall] in 1973, Control Program for Microcomputers (CP/M) is an early operating system for microprocessor based computers. The OS was originally written for the Intel Intellec 8, an Intel 8008 based computer. Since it was on an Intel machine, CP/M was written in PL/M (Programming Language for Microcomputers), a language [Kildall] had previously developed for Intel .

CP/M pioneered the idea of a ROM based Basic Input Output/System (BIOS) for commonly used routines on a given computer. The use of BIOS made CP/M easy to port. Eventually it was ported to thousands of different machines and architectures, including the Altair, IMSAI 8080, C-64, and C-128 and Apple II systems.

Gary and his company Digital Research, were one of the top contenders for the operating system on IBM’s new personal computer. Ultimately, Microsoft got the job by purchasing 86-DOS from Seattle Computer Products. Somewhat ironically, 86-DOS itself was written based on the CP/M Application Programming interface (API).

The source itself is an amazing trip back in time. Included are portions of CP/M 1.1, 1.3, 1.4, and 2.0. Portions of CP/M have been released previously. As with the previous files, this version includes modifications performed by z80-pack author [Udo Munk] in 2007. Version 1.3 is especially interesting as it is primarily scanned copies of the CP/M source code.

If you’re into vintage computing, and know how important CP/M was to the early days of personal computers, check out the CP/M source. If you find any interesting or clever bits of code, be sure let us know about it in the comments.

[Image Source: CulturaInformatica]

Follow

Get every new post delivered to your Inbox.

Join 96,725 other followers