Home > Computers > ZX Spectrum > Articles > YS 1986

Problems with the Spectrum 128?
Your Sinclair, 1986

It seemed too good to be true. A 128K Speccy that would run all existing software. Well, maybe it isn't quite true. It seems that there could just be some software that won't work on the 128 in 48K mode. And although our review 128 has EPROMS, it's doubtful if Sinclair has the space or time to fix the problem. But whatever you do, don't panic - it may affect only a handful of recent games.

Certainly, the 128 goes a long way to being a Spectrum+ when it's in 48K mode. And the new features get switched off. And we were led to believe that the original Spectrum ROM is copied to RAM and write-protected. Not so on our machine - the 48 Basic mode and 128 Basic mode have identical code where the ROM is and this is subtly altered from the original ROM. The 128's extra software features are accessed with new code in RAM (which explains why many old POKEs and add-one won't work in 128 mode) and by bank-switching new bits of code, as necessary.

So, in 48K mode, there's a whole new section of code in the previously unused locations 14440-15015 and five places in other ROM routines where calls are made to it (at 75, 2898, 4937, 7037 and 9798 decimal). The calls won't affect commercial tapes because no programmer worth his Wimpy relies on ROM routines - but they may affect some of your own code if you leap in and out of the ROM, in unusual places.

The big problem's the unused locations - they used to hold OFFh and are apparently unless. But some games programmers use a block of 257 of these bytes as a vector table for their interrupt routines, so saving the space needed to set one up in RAM. Games with this feature won't run on the 128! And to save you going boss-eyed with Lenslok - Firebird's Elite is one such. Let us know if you find others.