Baldur’s Gate III Comes To The TRS-80 Model 100

Baldur’s Gate III Comes To The TRS-80 Model 100
Baldur’s Gate III Comes To The TRS-80 Model 100

#Baldurs #Gate #III #TRS80 #Model

To say that Tandy’s TRS-80 Model 100 was an influential piece of computer hardware would be something of an understatement. While there’s some debate over which computer can historically be called the “first laptop”, the Model 100 was early enough that it helped influence our modern idea of portable computing. It was also one of the most successful of these early portables, due in part to how easy it was to write your own software for it using the built-in BASIC interpreter.

But as handy and capable as that integrated development environment might have been, it never produced anything as impressive as this Baldur’s Gate III “demake” created by [Alex Bowen]. Written in assembly, the game’s engine implements a subset of the Dungeons & Dragons Systems Reference Document (SRD), and is flexible enough that you could use it to produce your own ASCII art role-playing game that can run on either a Model 100 emulator like Virtual-T or on the real hardware.

Don’t worry about not having enough experience with the Model 100’s hardware to conjure up your own fantasy adventure. Assembly is done through zasm, and even though the code is intended for the 8085 CPU used in the Model 100, it’s actually written in Z80 syntax. The assembler’s support for mapping unicode characters also allows you to get a serviceable preview of what the levels will look like on the Model 100’s display right inside of your editor.

As you might imagine, getting such a complex game running on the meager hardware of the Model 100 took considerable trickery. [Alex] goes into plenty of detail in the project’s documentation and the video below, but perhaps our favorite optimization is the text compression routine. A Python script ran through all of the text strings used in the game to identify the most commonly used character sequences, and then mapped them to values which could be used to piece together words and sentences. This saved approximately 1500 bytes, which might not sound like a lot to a modern game developer, but it’s much appreciated on a machine that’s only got 24 kilobytes of RAM to begin with.

We’ve seen a number of projects featuring the TRS-80 Model 100, but most of them involve ripping out the original hardware and replacing it with something modern. That said, if you’ve got a stock Model 100 and give this technical masterpiece a shot, we’d love to hear about it in the comments.

Source link