Area536 :: Rebooted

Jan 29, 2024 - 7 minute read - MS-DOS MiSTer Retrogaming DOSContainer

DOSContainer releases page

As I’m coding DOSContainer, more and more games turn up on my hard drive in a playable form and I want to share those with the world. I decided to rip them out of the actual project’s Git repository and just host them on my website. If you’re looking for the current list, look no further because this is it and I will be updating this page as time goes on.

Nov 16, 2023 - 4 minute read - MS-DOS MiSTer Retrogaming DOSContainer

Status update on DOSContainer

Sometimes I get writers’ block. I’m in something of a rut when it comes to Larry on the C64. Nothing to worry about. I know myself and I’ll get back into it soon enough but that’s why I always have more than a single project cooking. Some may remember that I used to be working on DOSContainer, an attempt at creating a generator for bootable hard drive images for use with MS-DOS in emulated environments like the MiSTer’s AO486/PCXT cores, PCEM86 or DOSBox. I picked that back up yesterday and I’d like to report on the status for a bit because there’s good news to report: we have lift-off! That’s to say my jumbled mess of cowboy-code now generates a bootable hard drive image that my MiSTer accepts and launches The Secret of Monkey Island as if it were a console.

Nov 11, 2023 - 5 minute read - FreeBSD

How I still run FreeBSD on a Hetzner box

Rising electricity cost made me reconsider the economy of running a homelab this summer. Combined with a short period of sweltering heat, I was motivated to find a different solution to hosting my own services than to do it from home. Worst case was when I had a NAS sitting on the floor with a table fan strapped precariously to a chair in order to keep the disks’ temperature within spec. My choice was to either upgrade the housing and hardware of my lab substantially, to replace it with something rented, or to keep on messing with 3rd-rate hardware to keep up some semblance of stability. After some quick calculations I went for option 2: rent a box with Hetzner and migrate. To my surprise Hetzner had stopped supporting FreeBSD but I had no intention of migrating to anything else. Here’s how I dealt with this situation.

Nov 10, 2023 - 3 minute read - C64 gamedev

So why did Larry never appear on the Commodore 64?

As I’m slowly plodding along porting Leisure Suit Larry to the Commodore 64, I was becoming ever more convinced that Sierra simply never bothered to do this because of technical limitations. While this may well be a significant part of the truth, there also seemed to be a far more human issue at play between Sierra’s leadership and Commodore at the time.

Nov 7, 2023 - 2 minute read - C64 gamedev

Back to the drawing board, sorry AI

Ok, so scratch the previous post. Generative AI is a nice gimmick but the free version of ChatGPT is not the boon I thought it could be when coding stuff that’s a little off the beaten track. I’m back to coding my own Assembly generator and switched back to Rust for that. As I go, I’m also reconsidering the architecture of the input parser. As it turns out, the idea I had wasn’t all that conducive to being generated automatically by a script and I REALLY want to avoid hand-coding all of the word parsing logic.

Nov 3, 2023 - 4 minute read - C64 gamedev

ChatGPT and generating Assembly code

Why not use a tool if it’s available, right? I’ve been experimenting with ChatGPT for a while and it writes generally abysmal Assembly code for the C64. That’s probably because its training data on this specific language is tiny. Now I would really like to have a generator that does all of the boring stuff discussed in the previous post. Writing reams of repetitive code to parse out individual words is not my idea of fun, but it’s a necessary evil to get this game working. So I recruited the machine to do the machine’s job!

Nov 2, 2023 - 4 minute read - C64 gamedev

The actual input tokenizer for Larry on C64

Following up on yesterday’s conceptual musings, here’s some more meat to the actual implementation. In this blog I’m exploring the actual Assembly code that converts individual words to tokens for use by the input parser later on in the process.

Nov 1, 2023 - 6 minute read - C64 gamedev

Musings on text input for Larry 64

Leisure Suit Larry originally featured a free text input system that allows the player to enter instructions for Larry to carry out. These instructions take the form of sentences in plain everyday English. Parsing and interpreting this so that a video game can make sense of it is quite a challenge. Can we teach a computer English? It seems so, but not one from the 1980’s. The Commodore 64 does not have the RAM nor does it have the CPU to completely parse English setence structures and grammar. But the good news is: neither did the PC on which Larry first came out. There are tricks involved!

Oct 30, 2023 - 8 minute read - C64 gamedev

Larry 64 core - drawing the screen

As mentioned earlier, I’m not porting AGI but writing Larry again from scratch to cater to the specific strengths and weaknesses of the C64 as a platform. I’m doing this in 6502 Assembler as that’s the only way for me to gain the required speed and control over the hardware that is needed to pull all the tricks I need. In this post I’ll provide more detail on how the screen actually gets drawn.

Oct 27, 2023 - 3 minute read - C64 gamedev

Massive hiatus, NAS crash from hell

To borrow the words of the greatest hero of all time who never was, Samwise Gamgee: I’m back! And it’s been quite a ride this past month. Let’s stick with the project and surrounding computer stuff for now.