Programming Arduino in C++11 — ROM dumping

In this tool-assisted education video I show how to program an Arduino Atmega2560 board in C++11 to dump a ROM chip, such as a 386sx BIOS or a Famicom cartridge ROM. I also make a ZMODEM sender and a LED blinker in this video.

Sorry about the bad dub / lipsync in the beginning. I recorded that part in a very noisy room, using a bad microphone (internal to the camera), and in another language, so I had to dub it over in postprocess — which turned out to be considerably more difficult than I thought. Some year soon I might get a boom microphone for use in this kind of occasions.

Please feel free to post comments & ask any questions / clarifications in the video comments. I try to reply to everyone when applicable. Please exercise clarity, politeness and good grammar, if you expect those values in the replies.

The EPROM chip pinout reference I used:…
In particular, the 27C512 diagram here is applicable. For the NES ROM, I changed the OE/Vpp pin into address bit 16 and the CE/PGM pin into address bit 17.

I bought my Arduino board (which is a clone actually) from DealExtreme:
Presently it costs only about 15 EUR including shipping.
The breadboard, the jumper wires and the resistors (for LED) are also from that shop. This pack includes all of those:
It also includes another Arduino board, but a smaller one (also clone) that does not have enough GPIO pins for ROM dumping, unless you use an external shifter microchip (such as 74LS595).
The three-color LED is:

The operating system where I run the compiler and uploaded the program is Debian GNU/Linux, and I installed “arduino-mk” (which automatically installs the dependent avr-libc, gcc-avr, binutils-avr and arduino-core packages).
I edited the /usr/share/arduino/ file, changing the = into += on the lines that contain “CFLAGS=” and “CXXFLAGS=”. Without this change, the C++11 option in my Makefile would be ignored.

The desktop environment shown in this video does not exist. It was created in postprocess to facilitate multi-file editing, which I have not previously used in my videos.

About The Author

Scroll to Top
Read previous post:
Smallsword Choreography Shirt usnig arduino

Stage combat is the art of theatrical violence.  Rather than resembling fencing, stage combat is choreographed like dance for aesthetic...