snapmod.py¶
SYNOPSIS¶
snapmod.py
[options] in.z80 [out.z80]
DESCRIPTION¶
snapmod.py
modifies the registers and RAM in a 48K Z80 snapshot.
OPTIONS¶
- -f, --force
Overwrite an existing snapshot.
- -m, –move src,size,dest
Move a block of bytes of the given size from ‘src’ to ‘dest’. This option may be used multiple times. ‘src’, ‘size’ and ‘dest’ must each be a decimal number, or a hexadecimal number prefixed by ‘0x’.
- -p, –poke a[-b[-c]],[^+]v
POKE N,v for N in {a, a+c, a+2c…, b}. Prefix ‘v’ with ‘^’ to perform an XOR operation, or ‘+’ to perform an ADD operation. This option may be used multiple times. ‘a’, ‘b’, ‘c’ and ‘v’ must each be a decimal number, or a hexadecimal number prefixed by ‘0x’.
- -r, –reg name=value
Set the value of a register. Do
--reg help
for more information, or see the section onREGISTERS
below. This option may be used multiple times.- -s, –state name=value
Set a hardware state attribute. Do
--state help
for more information, or see the section onHARDWARE STATE
below. This option may be used multiple times.
- -V, --version
Show the SkoolKit version number and exit.
REGISTERS¶
The --reg
option sets the value of a register in the snapshot.
--reg name=value
For example:
--reg hl=32768
--reg b=0x1f
To set the value of an alternate (shadow) register, use the ‘^’ prefix:
--reg ^hl=10072
Recognised register names are:
^a
, ^b
, ^bc
, ^c
, ^d
, ^de
, ^e
, ^f
, ^h
, ^hl
, ^l
,a
, b
, bc
, c
, d
, de
, e
, f
, h
, hl
, l
,i
, ix
, iy
, pc
, r
, sp
HARDWARE STATE¶
The --state
option sets a hardware state attribute.
--state name=value
Recognised attribute names are:
border
- border colouriff
- interrupt flip-flop: 0=disabled, 1=enabledim
- interrupt modeissue2
- issue 2 emulation: 0=disabled, 1=enabledtstates
- T-states elapsed since start of frameEXAMPLES¶
Set the value of the HL register pair to 0 in
game.z80
:snapmod.py -f -r hl=0 game.z80
POKE the value 23 into address 32768 in
game.z80
, and write the resultant snapshot topoked.z80
:snapmod.py -p 32768,23 game.z80 poked.z80