ajbowen249 / dungeon-delver-engine

A Tandy Model 100 and ZX Spectrum implementation of OGL 5.1 in Assembly
4 stars 1 forks source link

Add ZX Spectrum Platform #22

Closed ajbowen249 closed 2 months ago

ajbowen249 commented 2 months ago

For the most part, this is in service of bringing support to the ZX Spectrum. The main bulk of work here is:

  1. Replacing a bunch of magic numbers with per-platform constants
  2. Approximating the Model 100's screen interface with ZX Spectrum wrappers
  3. Reworking the build system to accommodate

This also makes one more big breaking change in that the Model 100's start address has been moved back to AB00 (A900 for ldhx). I didn't originally plan on making that move with this branch, but it already pushed mol just over the size limit for the old start address. This is about as far back as I can seem to push it to maintain compatibility with my limited physical setup, since it needs space to load up the BASIC loader first.

The Spectrum build is also a little broken. It does produce the required artifacts with repeated invocations of waf, though. Since this branch has diverged so far from main and I want to release the spectrum artifact for mol, I'm just disabling the build by default for now and merging for sake of continuous integration.