Blinky project is 6502 all the way down

Pretty much every platform you might find yourself programming on has a simple way to run a delay. [Joey Shepard] got pretty creative on a recent project, though, relying on a rather silly nesting method we call 6502s All The Way Down.

The project in question was a simple robot-shaped circuit board, complete with flashing LED eyes. Typically, you would just use the usual sleep() or delay() function to control the blink rate, but [Joey] went off track for this one. Instead, the PIC32 on the board runs a 6502 emulator written in MIPS assembly. This emulated 6502 is then responsible for running another 6502 emulator coded in 6502 assembly, and so on, until there are 6502 emulators running six deep on the humble microcontroller. The innermost emulator runs a simple program that flashes LED eyes in a simple loop. With the overhead of running six emulators, however, the eyes only blink at a rate of about once every two seconds.

It's a fun and complicated way to write a flashing program, and we applaud [Joey] for going to such lengths. We imagine it was a great way to learn PIC32 programming as well as emulation in general. In the meantime, if you're working on your own emulator exploits, be sure to let us know!

Blinky project is 6502 all the way down

Pretty much every platform you might find yourself programming on has a simple way to run a delay. [Joey Shepard] got pretty creative on a recent project, though, relying on a rather silly nesting method we call 6502s All The Way Down.

The project in question was a simple robot-shaped circuit board, complete with flashing LED eyes. Typically, you would just use the usual sleep() or delay() function to control the blink rate, but [Joey] went off track for this one. Instead, the PIC32 on the board runs a 6502 emulator written in MIPS assembly. This emulated 6502 is then responsible for running another 6502 emulator coded in 6502 assembly, and so on, until there are 6502 emulators running six deep on the humble microcontroller. The innermost emulator runs a simple program that flashes LED eyes in a simple loop. With the overhead of running six emulators, however, the eyes only blink at a rate of about once every two seconds.

It's a fun and complicated way to write a flashing program, and we applaud [Joey] for going to such lengths. We imagine it was a great way to learn PIC32 programming as well as emulation in general. In the meantime, if you're working on your own emulator exploits, be sure to let us know!

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow