Recent Blog Posts
Autograding Gameboy Advance DMA Transfers
December 8, 2018
In CS 2110 at Georgia Tech, we use the Gameboy Advance to demonstrate how C code can interact directly with hardware. On a high level, students create games by reading button states directly from memory-mapped registers and write directly to a special region of memory called the “video buffer,” which the video controller continuously reads and draws on the screen.
But my favorite example of students poking with the GBA hardware introduces them to an important real-life example: Direct Memory Access (DMA)!
Scanning a Book into a PDF
May 8, 2018
I’ve always wondered how the shady PDF wizards make those shady textbook PDFs you find online, and I was bored yesterday, so I decided to find out.
Preparing the Patient At first, I tried to spreading the book and placing each pair of pages on a flatbed scanner, but that led only to frustration because the pages made poor contact with the scanner. Instead of trying to sort out the blurring, I drove to Kinkos and paid $2.
Opening .sim files in Roigisim (CircuitSim)
January 24, 2018
On GNU/Linux, to make .sim files have a Roigisim icon and open in Roigisim, run the following (except replace 1.6.0 with the version you want):
curl -Ls https://austinjadams.com/img/blog/open-sim-in-roigisim/roigisim-setup.sh | bash -s 1.6.0 After the script completes, log out and log back in, just in case.
This is a copy-paste job of my earlier script for Brandonsim.