Skip to content

Export of xmap (labels + comments + memory metainfo) for Xpeccy emulator #161

@Volutar

Description

@Volutar

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:
image

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).

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions