A couple people have asked me what tools I use during these programming videos, so I thought I’d go through the list. The list is below the video here too. FreeBSD i3 (x11-wm/i3 x11/i3status) Emacs (editors/emacs) org-mode for planning (.org) asm-mode for assembly files (.a) magit git (devel/git) tmux (sysutils/tmux) ACME cross assembler rlwrap (devel/rlwrap) Vice (emulators/vice) OBS (multimedia/obs-studio) DroidCam (Google Play on phone) ffmpeg (multimedia/ffmpeg)
Didn’t get a lot of code written in this one. I got started on the trickiest part of the algorithm, where we need to process a sliding window of pointers through a block of data, and spent a lot of time trying to figure out how best to do it. I think I have it worked out now, so it should be easier from here on out.
More on the 80-column display. First we go through how to set attributes like color, flash, and underline for characters on the text display, then turned to the VDC’s graphics bitmap mode.
I was sorting through some old images and ran across this one. Looks like it’s from a little over two years ago, so I’d guess he’s about two and a half now. Doesn’t he look harmless? He’s not a puppy anymore, though he’s still just as ornery. Today he was digging up mole runs. The moles must have been busy under the snow, because there are a bunch of hills and runs around.
Made this a couple days ago. It’s too muddy to get in the garden for real yet, but I thought I’d move these marshmallow herb plants now that the ground was thawed. We planted them in this little flower bed a couple years ago, not realizing how big they’d get, and they kind of crowd everything out. The digging was harder than I expected, because they grew down into a pretty thick layer of rock, so I couldn’t bring them up with a nice dirtball.
Continuing on with the SHA-256 calculator, we write more routines for copying blocks of memory in different ways, and the remaining low-level functions required by the algorithm. Next time we’ll be moving up a step or two to higher-level parts of the program. The hat is a Lewis Round Barn hat from the Old Tyme Association. If you’ve been to the Adams County Fair outside Mendon, you know what that’s about.
The chickens are definitely ready for spring. They’ve been coming outside for a few weeks now, even a little in the snow, but they couldn’t have been finding much to eat in the frozen ground. Now they’re on the roam all day. They especially like the spot where firewood was stacked last year, so they couldn’t get to it until now. I don’t know why the picture quality in this video is so bad.
Started writing routines to drive the 80-column display. I’m hoping to use these in the Farm game, but they’ll be generally useful for any program that uses the RGBi display. Next time I’ll get into the graphical bitmap, which few programs explored for that display.
A friend linked to a thing today that’s pretty cool: the Deep Dream Generator. It’s a computer program that will take two photos and try to redraw one in the style of the other one. I gave it a picture of my mug and had it use a line drawing of a face as the style, and got the result below. They call it AI. I don’t know about that. To me, AI would be a program that is self-aware and goes beyond its programming in unpredictable ways.
Here’s a whiteboard tutorial on programming the 80-column screen on the Commodore 128. It’s very different from the 40-column VIC display, since you have no direct access to 80-column screen memory and have to program it indirectly by reading and writing to the VDC’s registers, which requires a handshaking process through a pair of registers at $D600 and $D601 in the C128’s I/O block. There will be another video soon demonstrating how to use the little routines here to do actual work.