I might have been slow on the uptake with this one, but I always wondered why the Spectrum 48K was 48K. Most computer’s memory goes up in powers of 2, 16mb, 32mb, 64mb, etc. Sure, you can sometimes have a 16mb RAM chip along side 32mb but that isn’t super common.

Anyway, in reading Spectrum Machine Language for the Absolute Beginner (because …​ I don’t really know), I came across this:

The maximum memory that can be accessed \[in ZX Spectrum] by this instruction is only 64K! This means that all the memory - ROM, program, display, and free memory have to fit within 64K. On a "16K Spectrum" there is actually 16K used by the ROM and 16K of RAM making a total of 32K.

The "16K" refers to the RAM part only. On the "48K Spectrum", the same 16K of POM is present plus 48K of RAM making a total of 64K.

It is not possible therefore for the Z80 to access more memory than is available on a 48K spectrum.

The ZX Spectrum used a single 16K ROM IC chip (the bit that held the operating system burnt into the chip), and then a bank of 16K via 8 2K ICs and another bank of 32K via 8 4K ICs.

So that’s a total of 64K, 65536 bytes of "memory". 16K of which is ROM and the rest, 48K, is RAM. Hence the name, that stuck with me for 30 or so years.

Learned at 9-Jun 2020 @ 14:55 about spectrum. [Edit this post](https://github.com/remy/remysharp.com/blob/main/public/til/spectrum/48k.md)