| back |  | Last regenerated: 2022-04-20 17:31:36 kio

# zasm - Z80 Assembler – Version 4.4

# Targets

[<prev] [next>]

| ### #target SNA A ZX Spectrum NMI snapshot file. The .sna snapshot file describes a ZX Spectrum 48k serving an NMI request. There are also variants for 16k or 128k Speccies, but zasm currently only supports the basic 48k variant. (send email Assembler directives: #if, #elif, #else, #endif Pseudo instructions: if, endif if you need the other variants!) Information on the ZX Spectrum file formats can be found in the ZX Spectrum FAQ which can be found at WOS. This file consists of a header section which mostly stores the Command Line Options: --z80 Pseudo instructions: .z80, .z180 and .8080 Targets: #target Z80 Z80 registers and a ram dump from location $4000 to $FFFF. This is reproduced in the assembler source file as 2 code sections:
    #target sna
    Assembler directives: #code
    Including C Source Files: #code#code   _HEADER,0,27
        ...
    Assembler directives: #code
    Including C Source Files: #code#code   _DATA,0x4000,0xC000
        ...
See the zxsp .sna template file: template_sna.asm The first code segment must be exactly 27 bytes long. zasm will validate some of the bytes stored here. The start address of the ram segment must be $4000 and the length must be 0xC000 bytes. The ram segment may be split into multiple segments, but they must start at 0x4000 and sum up to a total of 0xC000 bytes. zasm will check this. The ram contents are written to the file in the uncompressed .sna format. The instruction pointer PC is not stored in the header segment but on the machine stack in ram and will be popped from it as a first action after loading this file into the emulator. |

[<prev] [top] [next>]