Instagram filter used: X-Pro II
Blog
-
Happy Thanksgiving, You Hosers
Instagram filter used: Hefe
Photo taken at: Ball’s Falls Conservation Area & Centre For Conservation
-
Hey look, there at the back, a wooden tree, isn’t it a pretty one?
Instagram filter used: X-Pro II
Photo taken at: Ball’s Falls Conservation Area & Centre For Conservation
-
Major Organ
Instagram filter used: Lo-fi
Photo taken at: Ball’s Falls Conservation Area & Centre For Conservation
-
Painfully Slow Amstrad CPC Emulation on the Raspberry Pi
Yeah, you can do it, but whether you should, I don’t know. Download the latest Arnold/Linux source, then (according to this post) after installing the dependencies, you just need to change
TARGET_FMT=elf32-i386
to
TARGET_FMT=elf32-littlearm
in
src/Makefile.in
.It works, for very slow values of “works”. Mind you, I was running it through a remote X session, so 2 fps is all I could have hoped for …
-
Sometimes, things do not go exactly as planned … C development for Amstrad CPC on Raspberry Pi
Hey! This is ancient! But since we’re talking about even more ancient computers, those bits still work. I’d recommend looking at the current installation instructions for z88dk rather than what I’ve got here.
a very very crashed Amstrad CPC screen If you crash an Amstrad CPC, you often got some pretty patterns. Like the one above, which was supposed to print the alphabet, but got about as far as R, then started making coloured spots on the screen. My alphabet doesn’t (usually) contain coloured spots, so something went wrong.
This post is only about the Raspberry Pi in that it’s the nearest always-on Linux system that I have. This would likely work fine on any Linux machine. While the Z80 cross compiler I use (z88dk) is available in the repos, I can’t get it to build anything, so I just pulled down the latest version. To build the compiler:
wget http://nightly.z88dk.org/z88dk-latest.tgz tar xvzf z88dk-latest.tgz cd z88dk export Z80_OZFILES=$(pwd)/lib/ export ZCCCFG=${Z80_OZFILES}config/ export PATH=${PATH}:$(pwd)/bin ./build.sh
This should result in a working environment. We can test it with a simple C program:
/* alfa.c - print the alphabet */ #include <stdio.h> int main(void) { char a='A'; char b=26; while (b>0) { putchar(a); a++; b--; } }
You can build it with:
zcc +cpc -create-app -make-app -O3 -unsigned -o alfa.bin alfa.c -lcpcfs -zorg=16384
You should end up with a file
alpha.bin
of approximately 4749 (!) bytes. You can copy it to a disc image using iDSK:iDSK blank.dsk -i alfa.bin -c 4000 -e 4000 -t 1
It runs like this:
You can do the same with Z80 assembly language (shown here in the most gratuitously pretty Amstrad assembler, Maxam):
Although this results in only 11 bytes of code, it’s not portable; the C code above compiled and ran on both my Raspberry Pi and my Mac. It wouldn’t even run properly on a different Z80 system, as only the Amstrad CPC knows thatcall #bb5a
prints the character in the A register. On the ZX Spectrum, for example, it was the completely different instructionrst 16
to print a character.(There’s a lot more on z88dk on the CPCWiki.)
-
Wireless, Cordless Raspberry Pi
Yay! I found a wireless adapter that the Raspberry Pi is able to power without an external hub. It’s a Belkin N150 Micro Wireless USB Adapter. Not sure of the range, but it works well enough, and is cheap.
Just to show you how hard-core I am, that’s a screenshot of a browser (showing a picture of the Raspberry Pi + LSTech Solar charger) running on that Raspberry Pi with an X session tunnelled to the laptop you can see in the background. My head hurts now.