Z80N support for Spectrum Next
The ZX Spectrum Next extends the classic Z80 with a set of new instructions — faster multiplication, hardware sprite and layer control, block-copy operations built for the Next's larger memory. zenas assembles all of them.
What's covered
The complete Z80N instruction set: the mechanical additions (register swaps, bit tests, barrel shifts, hardware multiply), the extended block-copy instructions built for moving larger amounts of data efficiently, and the Next-specific instructions with no equivalent on a classic Z80 at all — including direct register access to the Next's own hardware ports.
Z80N support is off by default, so a plain Z80 program assembles exactly as it always did. Turn it on however suits your workflow:
--nexton the command line, or its sjasmplus-compatible spelling--zxnextOPT ZXNEXTas a line inside the source file itself, so a program that needs Z80N instructions carries that requirement with it rather than depending on whoever assembles it to remember a flag
Why it matters
Getting Next-specific opcodes right matters more than it might seem — some of the trickiest ones (the exact carry-flag behaviour of the new arithmetic instructions, for one) have genuinely conflicting documentation out there, and a subtly wrong implementation can produce code that runs but computes the wrong answer some of the time. zenas's Z80N instructions are verified against real hardware behaviour, not just written from the reference tables, so code that assembles cleanly behaves the way it's supposed to on an actual Spectrum Next.