Hacklet 38 – 6502 Projects

The 6502 CPU is probably the most famous of all the 8-bit processors out there, whether in the form of bare chips for homebrew computers, or as slightly modified derivative chips found in everything from the C64, the NES, and the BBC Micro. For this edition of the Hacklet, we’re taking a look at all the 6502-based builds on hackaday.io.


6917521396192751941There aren’t many transistors on a 6502, making it perfect for implementing on an FPGA. [Michael A. Morris] has an Arduino FPGA shield, and his soft-6502 project is called Cameleon. There’s a bunch of SPI Flash and FRAM on board, and the 128kB of (parallel) SRAM on the board is more than enough to handle any computational task you can throw at it.

Since the Cameleon is built on programmable logic, [Michael] thought it would be a good idea to put some of those unused opcodes to use. There are instructions for coprocessor support, and a bunch of instructions specifically designed to make the Forth implementation easier.


4244551421640813832Maybe programmable logic isn’t your thing, and you’d just like a simple computer like the Ohio Scientific or the Apple I. The L-Star is for you. That’s [Jac Goudsmit]’s build featuring a 6502, a Parallax Propeller, and little else.

The Parallax Propeller is a powerful (multi-core!) chip that’s easily capable of handling video out, keyboard in, and serving up the ROM and RAM of a computer. [Jac]’s build does it all beautifully, and if you’re looking for the easiest way to run code on a 6502, this is how you do it.


6502s were found in just about everything, and while poking around at the local e-waste recycler, he stumbled upon something rather interesting. The case badges screamed, “BS medical device”, but after poking around a bit, he figured out this was an MTU-130 system, a machine that was apparently the top of the line in its day.

There’s some weird stuff going on in this machine – 18-bit addressing and 80kB of RAM. So far [Eric] has managed to dump the ROM, and he’s taking a look at the floppy controller board to see if he can figure out how it’s mapped. It’s one thing to figure out what’s broken on an Apple II or C64; those are well documented machines. It’s another thing entirely to figure out a machine very few people have heard of, and we tip our hat to [Eric] and his efforts.


4000511410347834190Here’s a build that both does and doesn’t have a 6502 in it. [BladeRunner]’s SheMachine is a single board computer that has a 65c816 in it. The ‘816 is an interesting beast that operates as a standard 6502 until a bit is flipped in one of its registers. After that, it has a 24-bit address space for addressing 16 Megabytes of memory, 16-bit registers, but is still completely backwards compatible with the 6502. Yes, it does have weird interleaved address pins, but we can only imagine what the world would be like if this chip came out a few years earlier…

[BladeRunner] is designing the SheMachine with 1MB of SRAM – more than enough, really – and is mapping all the memory through a CPLD. That’s how you should do it, anyway.

Improving the Parallax Propeller in an FPGA

The Parallax Propeller is an interesting chip that doesn’t get a lot of love, but since the entire chip was released as open source, that might be about to change: people are putting this chip inside FPGA and modifying the binaries to give the chip functions that never existed in the original.

Last August, Parallax released the source for the P8X32A, giving anyone with an FPGA board the ability to try out the Prop for their own designs. Since then, a few people have put some time in, cleaning up the files, unscrambling ROM images, fixing bugs, and all the general maintenance that an open source microcontroller core requires.

[Sylwester] has grabbed some of the experimental changes found on the Parallax forum and included them as a branch of the Propeller source. There is support for a second 32-bit port, giving the new chip 64 I/O pins, multiply instructions, video generators, hard-coded SD card libraries, and a variant called a microProp that has four cores instead of eight.

You can grab all the updated sources right here and load them up on a DE0 Nano FPGA board. If you’re exceptionally lucky and have the Altera DE2-115 dev board, you’ll also be able to run the upcoming Propeller 2.

Hackaday 10th Anniversary: Jon McPhalen and the Propeller

[Jon] came out to our 10th anniversary mini-con to talk about the Propeller, and judging from his short introduction, his hacker cred is through the roof. He has a page on IMDb, and his first computer was a COSMAC. Around 1993, he heard of a small company introducing the BASIC Stamp, and like us with most new technology was incredulous this device could perform as advertised. He tried it, though, and for a few years after that, he was programming the BASIC Stamp every single day.

Having a lot of blinky light project under his belt, [Jon] was always struggling with interrupts, figuring out a way to blink an LED exactly when he wanted it to blink. A lot has changed over at Parallax since 1993, and now they’re spending time with the Propeller, an 8-core microcontroller where interrupts are a thing of the past. He showed off a huge, 10-foot tall bear from League of Legends, all controlled with a single Propeller, using 1000 LEDs to look like fire and flames.

[Jon] shared the architecture of the Propeller, and the inside of this tiny plastic-encapsulated piece of silicon is wild; it’s eight 32-bit microcontrollers, all sharing some ROM and RAM, controlled by something called a Cog that gives each micro access to the address, data, and IO pins.

When the Propeller was first released, there were a few questions of how the chip would be programmed. C isn’t great for multicore work, so Parallax came up with a language called Spin. It’s written for multicore microcontrollers, and from [Jon]’s little session in demo hell, it’s not that much harder to pick up than Python. Remember that hour or two where you learned the syntax of Python? Yeah, learning Spin isn’t a huge time investment.

Even though you can program the Propeller in C and C++, there’s a reason for Spin being the official language of the Propeller. It isn’t even that hard, and if you want to dip your toes in multicore microcontroller programming, the Propeller is the way to do it. It’s an open source chip as well so you can give it a try with an FPGA board.

The Thurber Feeder 5000 Helps to Slow Fido Down

Does your dog eat too fast? [Thurber] does, and he even chokes occasionally while snarfing down the kibble — naturally this worried his owners, so [Jason] stepped up to the challenge to slow him down. Introducing the Thurber Feeder 5000.

[Jason] is a seasoned maker, and has built a few CNC machines in his day — he’s even automated an Etch a Sketch with stepper motors. Making the Thurber Feeder 5000 was a piece of cake. He designed the entire thing in 3D CAD and then used his home-made CNC machine to cut out all the parts, 3D printing a few of the more complex mounting brackets.

It’s a fairly simple device consisting of a food hopper (seal-able to keep Thurber away), a stepper motor and an auger bit borrowed from a chocolate fondue fountain. The stepper goes through a 6:1 belt pulley ratio which gives it a whopping 200 oz-in of torque to push those kibbles and bits through the feeding pipe. The speed is adjustable by programming the Parallax Propeller, so once they found an acceptable eating speed [Jason] set it as default. A single button turns it on, and while the machine is running it lights up — turning off when little [Thurber] is done.

Continue reading “The Thurber Feeder 5000 Helps to Slow Fido Down”

Build Your Own Retrocomputer with Modern Chips

If you’ve ever wanted to get started in retrocomputing, or maybe the Commodore 64 you’ve been using since the 80s just gave up the ghost, [Rick] aka [Mindrobots] has just the thing for you: a retrocomputer based on a PIC microcontroller and a Parallax Propeller.

The two chips at the heart of the computer are both open source. The Propeller is the perfect board to take care of the I/O, video, and audio outputs because it was purpose-built to be a multitasking machine. The microcontroller is either a PIC32MX150 or a PIC32MX170 and is loaded with a BASIC interpreter, 19 I/O pins, a full-screen editor, and a number of communications protocols. In short, everything you would ever want out of a retro-style minicomputer.

The whole computer can be assembled on a PCB with all the outputs you can imagine (VGA, PS/2, etc) and, once complete, can be programmed to run any program imaginable including games. And, of course, it can act as a link to any physical devices with all of its I/O because its heart is a microcontroller.

Retrocomputing is quite an active arena for hackers, with some being made from FPGAs and other barebones computers being made on only three chips. It’s good to see another great computer in the lineup, especially one that uses open chips like the Propeller and the PIC.

Propeddle, The Software Defined 6502

propeddle

When it comes to building retrocomputers, there are two schools of thought. The first is emulation, that allows for greater compatibility and ease of use, and much easier to find parts. The second requires real, vintage hardware with all the bugs and idiosyncrasies found in vintage chips. Reconciling these two ideas is hard, but the software defined Propeddle manages to do it, all while using a real 6502 CPU.

The trick here is using a Parallax Propeller for the heavy lifting of loading the ROM into RAM with an extremely clever technique using the Reset and NMI pins, generating the clock and other signals required by the 6502, and hosting the keyboard, serial, and video I/O. Already [Jac] has the Propeddle running as an Apple 1 emulator (video below), making it possible to write programs for the Propeddle in BASIC or assembly.

It’s a great design that allows for emulation of a lot of the classic 6502 computers with a real CPU, all while doing away with the cruft of expensive ACIAs and video generation hardware. Awesome work, and we can’t wait for the next version that will be dedicated to [Bill Mensch].

Continue reading “Propeddle, The Software Defined 6502″

Homemade Alarm System Doesn’t Lack Features

alarm system

To many of us, our garage (or workshop) is probably one of the most important parts of the house. If a burglar broke in, we’d likely be more worried about our tools! [Ron Czapala] decided he needed an alarm system in his garage to keep his stuff safe, so he decided to build one from scratch.

The system makes use of a Parallax 4×4 keypad membrane, a MCP23008 port expander, a Parallax Propeller, a LCD screen, and a few switches to represent future magnetic reed switches located in the door and window.

Using circular buffers, the propeller has several states for monitoring the garage.

  • Not armed — ignore all sensors
  • Armed — system will react to changes in the sensors
  • Exit delay — system has been armed, 45 second countdown has begun to allow you to exit the garage
  • Window trigger — if the window is opened, the alarm will go off immediately (siren and strobe light)
  • Door trigger — alarm will go off in 60 seconds if correct code has not been entered on the keypad

For a complete demonstration, check out the following video where [Ron] explains it all!

Continue reading “Homemade Alarm System Doesn’t Lack Features”