Skip to content

Instructions sent from Arduino ROM chip to request data sequentially by address

Notifications You must be signed in to change notification settings

redSlug/ROM-Dump

Repository files navigation

ROM-Dump

Scripts and code for ROM dump.

Bash commands used

Breaks binary into smaller, viewable image files, with headers

for n in $(seq 0 10); do dd if=../legend.bin skip=$(($n * 80000)) bs=1 count=80000 of=$n.bin; echo "P4 8 10000 " > $n.pgm; cat $n.bin >> $n.pgm; done

Copies first 2**19 bytes; the size of the ROM because there are 19 address bits; copies without filesystem /usr/share/file/magic

dd if=rom.bin of=rom_low_clean.bin bs=1 count=$((2**19))

Rename using curlies

mv full_dump_d0_d5_{falling,rising}_edge.txt

Misc.

hexdump rom_full.bin            # see all hex values
xxd -c 32 rom_full.bin
radiff2 -c rom_full.bin rom_official.bin
binwalk -E rom_full.bin         # to find where interesting data might be
strings rom_full.bin            # find strings

Legend Of Zelda in strings output

Thank you!

Thank you Cameron for pairing with me on this, your Python, Bash and Linux skills are super impressive, and I’m grateful to have learned so much from you in this endeavor!

Thank you Avery for being a super awesome person, for sharing your hardware expertise and your game console wisdom!

Thank you Ben, Steven and Cameron for reviewing the related blog post and providing valuable feedback!

Thank you Phoebe for your wonderful talk that inspired this exploration!

Thank you Recurse Center for providing the space and tools to make this happen!

About

Instructions sent from Arduino ROM chip to request data sequentially by address

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published