11

I'm working on a disassembly tool for the Sinclair ZX Spectrum and want to do things "right" when possible.

I remember seeing lists of ROM routines, system variables, and memory addresses that used lots of symbols that were at least conventional but may well have come straight from Sinclair, making them official or canonical.

I expected that there must be such a regular name for the memory address where display memory is in RAM, at 0x4000 or 16384, where the display colour attributes are in RAM directly afterward at 0x5800, and where it ends, which I believe is where the system variables begin at 0x5C00. Yet searching is not turning up anything.

So do these addresses have "standard" symbol names, or at least conventional ones?

(If we know they don't then that's an acceptable answer and I'll just make up my own names.)

1 Answer 1

15

In the official Spectrum manual (which was supplied with the machine in paper form), they're named "Display File" (for the monochrome bitmap area) and "Attributes" (for the area that sets the colour attributes).

These are then followed by the "Printer Buffer" and the "System Variables", then the "Microdrive maps" which is the last fixed-location item in the set. Everything else has a location defined in the "System Variables", such as "CHANS" or "RAMTOP", rather than a fixed location.

Looking at the two pages, the names of System Variables are in all caps, while the names of regions are in mixed-case; so "CHANS" is a System Variable giving the start address of the region "Channel information".

3
  • 2
    Aha! I was expecting a short all-caps name for those too, but those must only be used for system variables after all. Commented Aug 5 at 10:04
  • 2
    It looks like all-caps for system variables, mixed case for the names of regions, so (for example) "CHANS" is the start address of the region called "Channel information". Commented Aug 5 at 10:21
  • 1
    I have seen the name DISPLAY_FILE or even DISP_FILE used for Display File, and COLOR_FILE for Attributes Commented Aug 11 at 18:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .