Screwball Campbell

for CSSCGC 2023

ZX Spectrum loading screen

Right you old mingebag, it's time to play Screwball Scramble with The Scunner Campbell! Why? Well because @JBizzel asked for Screwball games …and, eh, Scramble rhymes with Campbell!

Level two!
Level one!

Downloads updated!

The BREAK error at the end of level one should now be fixed!

Loading the game

You obnoxious-looking weasel! It's easy!! The game is designed to autorun:

MGT PlusD recommended!
RUN or if G+DOS is already loaded, LOAD P2.
💡 Try a hard-reset if you are using an emulator
Cassette
LOAD ""

Playing the game

It's Screwball Scramble. Q, A, O, P, Space. The Scunner will berate you occasionally (usually when you fall off the course). Press 1 for level one, or 2 for level two.

Have fun, beachball-face!

Programmers’ Corner

The program uses Outlet magazine’s AUTOCHARS font, but that will disrupt LISTing in 128 or +3 BASIC. The LISTing will look corrupted so just press Enter to make sure the cursor isn't on a program line and issue the direct statement GO SUB off to disable the custom font.

The font routine is stored as REMified machine code so it will also cause LISTing errors. Type 9500 on its own to remove the line. (It will be MERGEd back in when the program is next RUN).

The levels were created with Outlet's ATTRIBRUSH.

The BASIC was written in Fuse, which was also used to create the disk and tape images. The text scroll routine was assembled* elsewhere but was imported into Fuse awkwardly** using the import-binary-file option; just in case you thought it was cheating or something.

* It's just a bunch of rl (hl)

** I had to import it into screen memory and use a BASIC routine to SAVE it to RAMdisk, then LOAD it to the actual place in upper memory and then SAVE it to disk (now with the correct memory address). Importing straight into upper memory seemed to not work for some reason. I dunno. What I am saying is that it was a CSSCGC-appropriate level of tortuousness.