This repository contains the source code for the original Commodore 64 client used to connect to the world's first MMO, Lucasfilm's Habitat, alongside all necessary build tooling and scripting. If you're interested in learning more about how it works, we've included all the automation required to spin up fresh client disk images.
Builds are accomplished via docker-compose, which will spin up a true powerhouse of a Commodore 64 development container then run through the client build procedure.
The latest release of the Habitat client can be downloaded here:
This project is not supported by the Neohabitat Project and is designed for educational purposes. We definitely accept pull requests, however, and encourage adventurous hacking, especially if you enjoy 6502 assembly. There are no guarantees of stability, only of adventure.
To build the client, follow these steps:
- Install Docker for your computer's respective platform.
- From the checkout root, execute
dockerbuild
, which will cook up a specialdocker-compose.yml
file to trigger the build process. - When the build completes, the
Habitat-A.d64
andHabitat-B.d64
images will land in theDist
subdirectory.
We've supplied a dockershell
script which will launch a Bash console within the Docker
container used to build the client. The local repository will be mirrored into the
/habiclient
directory within this container environment.
The Makefile
at the root of the repository contains all necessary targets to build
the client's disk images. In particular, running make diska
will build the
Habitat-A.d64
image while running make diskb
will build the Habitat-B.d64
image.
Once client images have been built, you can test them by simply launching Habitat-A.d64
in VICE under drive #8. As you might imagine, you can
bring it up with LOAD"*",8,1
. Once you've entered in your details and the Habitat
splash screen appears, the client will ask you to insert the next disk. This is your cue
to swap Habitat-B.d64
into drive #8.
This client is not officially supported by the Neohabitat Project, but enterprising developers often congregate on the project's Slack within the #troubleshooting room.
All client code was written by Chip Morningstar, F. Randall Farmer, Aric Wilmunder and
Janet Hunter. The Neohabitat launcher as well as the a65toprg
, filldisk
, habdiska
,
mcmgtrim
and mtobin
build tools were written by Gary Lake. Dockerization and
buildmeistering support was provided by Steve Salevan.