Posts

BASIC Wrangler v0.02.0

Image
OK, I've released version 0.02.0 of BASIC Wrangler. It's actually somewhat usable now. It also has a GUI, as you can see. It might be worth playing around with, but I'm probably going to end up rewriting half of it before I'm done, and so the formatting of input files will almost certainly change, which will require re-conversion of the files.

BASIC Wrangler v 0.01.0

I've finished up the initial release of BASIC Wrangler. You can find it here. It's very much super-alpha quality, and it probably only works with the Battle System Test, but it's a start.

Tool Writing, Part 1

When I started this blog, I said it not only be about BASIC, but also about other tools that I would write. Well, I've started writing one of those tools. It's a pre-processor called BASIC Wrangler.

Porting Programs to Sinclair BASIC

Image
The ZX81 and ZX Spectrum were both ridiculously popular computers back in the 1980s. Especially in Europe. However, the variant of BASIC they used was... quirky, to say the least. It's extremely difficult and time consuming to port programs to Sinclair BASIC. In this post, I'll describe how to do it. Also, this video is mostly about this process, so it might be worth watching.

Battle System Test Version 1 Release

I've put the source code for the first release of the Battle Test up on GitHub . You'll find all the tape and disk images in a 7z file under the releases tab. It's a minimal implementation of the first battle from Final Fantasy VII, done as a scrolling set of text menus. It's not much of a game, but you can play it on almost any computer you can think of, and it's all written in glorious BASIC code.

Seeding the RNG

I've looked through the code of a lot of old BASIC programs, and they all seem to have one omission: the lack of an RNG seeding routine. When you first turn on an 8-bit computer, the RNG is always initialized to the same seed every time. If you don't reseed it, the random numbers will be the same every time you start a program after booting. I'm going to show you some common methods to seed the RNG.

Battle System Test - Complete...ish

So, I was able to write most of the Battle Test last night. The only parts I didn't finish were the randomization and screen clear routines. I didn't write those because they're different in pretty much every version of BASIC. And I'm planning on porting this program to a lot of different BASIC versions. Almost three dozen, to be somewhat precise. The source code will eventually make its way to GitHub. In my next Twitch stream, I will deal with writing the randomization routines and other stuff for the various Altair BASIC versions, and CP/M BASIC.