-
Notifications
You must be signed in to change notification settings - Fork 64
Export of xmap (labels + comments + memory metainfo) for Xpeccy emulator #161
Description
Hello!
Xpeccy emulator supports labels and comments and memory metainfo (i.e. code/byte/word/ascii)
File format is not textual.
<”XMEMMAP ”> //header
<”ramflags”><4 bytes = length><memory_map>
<memory_map> flags x ram_size
flags( & 0xf0): 0x00=default(code) 0x10=db 0x20=dw 0x30=dw (addr=label) 0x40=db (ascii text) 0x50=code
<”romflags”><4 bytes = length><memory_map>
<memory_map> flags x rom_size
[as above]
<”labels ”><4 bytes = length><text>
<text>
SSS:NNNNNNNN:label\n
...
<”comments”><4 bytes = length><text>
<text>
NNNNNNNN:comment\n
...
It consists of number of chunks with 8-char header, 4 byte length of chunks and chunk data itself.
For 48k Spectrum memory model ram section still should consist of 8 pages (but only pages 0,2,5 are used, others are empty).
Rom section is unnecessary for export (though it is possible to make rom images?).
128K ram layout is linear (0,1,2,3,4,5,6,7).
SSS - memory block type "RAM"/"ROM".
"\n" between labels/comments is in Unix format (0x0a), utf8 encoding.
NNNNNNNN - is linear address
Emulator page https://github.com/samstyle/Xpeccy
Latest Window build (supporting xmap) with configs/roms/profiles - https://volutar.myds.me/Xpeccy0.6.20211230.zip
command line parameter to import xmap: "--xmap <file>"
Or can be loaded/saved via debugger menu:

Labels can be added by direct entering in address column. ";" as first character makes it a comment. Memory type can be changed by selecting range and choosing type with RMB context menu (View->).
Currently comments are single-lined but later they meant to be multilined. Each address can have only one comment and only one label (comment+label per address).