Go to the first, previous, next, last section, table of contents.


9 Snapshots

Every VICE emulator has a built-in snapshot feature, that saves the complete emulator state into one file for later use. You can therefore save the emulator state - including the state of the game you are playing for example - in a single file.

Important note: In the past the idea was that snapshots with the same major version can be exchanged with later versions of the emulator. However, this proved to be too difficult to maintain, and insanely hard to test for correctness, which is why now the emulator will reject the snapshot when it finds a module that is too old. Because of this you should not use snapshots for permanent/long term storage.

9.1 Snapshot usage

A snapshot is one file containining the complete emulator state. A snapshot file can be generated by selecting the "Save snapshot" command at any time. This will pop up a requester from which you can specify whether the snapshot should also contain the disk and ROM status.

A snapshot file can be used to restore the emulator state by selecting the load snapshot menu entry at any time. Unfortunately attached ROM images/cartridges are only supported in the VIC20, the PET and the CBM-II emulators at this time.

The memory configuration of the emulator is saved in the snapshot file as well. This configuration is restored when the snapshot is loaded.

A quick snapshot can now be made by pressing the M-F11 key and reloaded by pressing the M-F10 key.

9.2 Snapshot format

A snapshot file consists of several modules of mostly different types. Each module has a name and saves the state of an entity like a CIA, the CPU, or the memory.

9.2.1 Terminology

In this section we use certain abbreviations to define the types of the data saved in the snapshot.

BYTE
8 bit integer.
WORD
16 bit integer. Saved with low-byte first, high-byte last.
DWORD
32 bit integer. Saved with low-word first, then high-word. Each word saved with its low-byte first.
ARRAY
Array of BYTE values. Length depends on the description.

The tables for the single modules state the type, name and description of the data saved in the modules. The data is saved in the order it is in the tables, so no offset is given.

9.2.2 Module framework

The VICE snapshot file starts with the magic string and includes the fileformat version number.

Type Name Description
19 BYTE MAGIC "VICE Snapshot File\032", padded with 0
BYTE VMAJOR fileformat major version number
BYTE VMINOR fileformat minor version number
16 BYTE MACHINENAME Name of emulated machine, like "PET", "CBM-II", "VIC20", "C64" or "C128". zerobyte-padded.
13 BYTE VERSION MAGIC "VICE Version\032", padded with 0
4 BYTE VERSION Release version (major, minor, micro). Byte 4 is always zero.
DWORD SVNVERSION SVN revision (or 0 if not available)

The file header is followed by a number of different snapshot modules.

Each module has a header with the information given in the table below. The header includes two version numbers, VMAJOR and VMINOR. In the past the idea was that modules with the same VMAJOR should be able to be exchanged. This however proved to be too difficult to maintain, and insanely hard to test for correctness, which is why now the emulator will reject the snapshot when it finds a module that is too old. Because of this you should not use snapshots for permanent/long term storage.

Type Name Description
16 BYTE MODULENAME The name of the module in ASCII, padded with 0 to 16 byte.
BYTE VMAJOR major version number
BYTE VMINOR minor version number
DWORD SIZE size of the module, including this header

9.2.3 Emulator modules

This section lists the modules that are contained in each of the emulators snapshot files.

9.2.3.1 x64 modules

The modules in the x64 emulator are:

Name Type Description
MAINCPU 6502 The Main CPU - although it is a 6510, only the 6502 core is saved here
C64MEM Memory Holds the RAM contents of the C64. Also the CPU I/O register contents are saved here.
C64ROM ROM images Dump of the system ROMs
VIC-II 656* The VIC-II of the C64/128
CIA1 6526 The CIA for the interrupts and the keyboard
CIA2 6526 The CIA for the userport, IEC-bus and RS232.
SID 6581 The SID sound chip of the C64/C128
REU* The RAM Extension Unit state (optional)
ACIA1 6551 An ACIA (RS232 interface) at $DE00 (optional)
TPI 6525 A TPI at $DF00 for a parallel IEEE488 interface (optional)
* Drive modules The emulated drive(s) have their own modules see section 9.2.3.6 Drive modules

Some of the modules are optional and are only saved if the specific feature is enabled at save-time. If the module is found when restoring the state the optional features are enabled, and disabled otherwise.

9.2.3.2 x128 modules

The modules in the x128 emulator are:

Name Type Description
MAINCPU 6502 The Main CPU - although it is a 6510, only the 6502 core is saved here
C128MEM Memory Holds the RAM contents of the C64. Also the CPU I/O register contents are saved here.
C128ROM ROM images Dump of the system ROMs
VIC-II 656* The VIC-II of the C64/128
CIA1 6526 The CIA for the interrupts and the keyboard
CIA2 6526 The CIA for the userport, IEC-bus and RS232.
SID 6581 The SID sound chip of the C64/C128
ACIA1 6551 An ACIA at $DE00 (optional)
TPI 6525 A TPI at $DF00 for a parallel IEEE488 interface (optional)
* Drive modules The emulated drive(s) have their own modules see section 9.2.3.6 Drive modules

Some of the modules are optional and are only saved if the specific feature is enabled at save-time. If the module is found when restoring the state the optional features are enabled, and disabled otherwise.

Not yet supported are the 80 column video chip, cartridges and RAM expansion unit.

9.2.3.3 xvic modules

The modules in the xvic emulator are:

Name Type Description
MAINCPU 6502 The Main CPU
VIC20MEM Memory Holds the RAM contents of the VIC20.
VIC20ROM ROM images Holds the ROM images of the VIC20, including possibly attached cartridges
VIC-I 656* The VIC-I of the VIC20
VIA1 6522 The VIA for the interrupts and the keyboard
VIA2 6522 The VIA for the userport, IEC-bus and RS232.
* Drive modules The emulated drive(s) have their own modules see section 9.2.3.6 Drive modules

9.2.3.4 xpet modules

The modules in the xpet emulator are:

Name Type Description
MAINCPU 6502 The Main CPU
PETMEM Memory Holds the RAM contents of the PET.
PETROM ROM images Holds the ROM images of the PET, including possibly attached cartridges
CRTC 6545 The CRTC of the PET. This is also included if it is a dump of a PET without CRTC, because the video state is saved here anyway.
PIA1 6520 The PIA for the interrupts, tape and the keyboard
PIA2 6520 The PIA for the IEEE488-bus
VIA 6522 The VIA for IEEE488, userport, sound
ACIA1 6551 The ACIA for the SuperPET. This module is optional.
DWWPIA 6520 The PIA for the DWW hires board.
CPU6809 6809 The extra CPU in the SuperPET. This module is optional.
* Drive modules The emulated drive(s) have their own modules see section 9.2.3.6 Drive modules

9.2.3.5 xcbm2 and xcbm5x0 modules

The modules in the xcbm2 and xcbm5x0 emulators are:

Name Type Description
MAINCPU 6502 The Main CPU - although it is a 6509, only the 6502 core is saved here
CBM2MEM Memory Holds the RAM contents of the CBM-II models. Also holds the exec-bank and indirection bank registers
C500DATA Holds additional state information necessary for the C500 (e.g. cycles till the next IRQ)
CBM2ROM Memory optional. Holds the ROM images.
CRTC 6545 The video chip for the C6*0 and C7*0 models (only those models).
VIC-II 656? The video chip for the C5*0 models (only the C5*0 models).
CIA1 6526 The CIA for IEEE 488 and userport.
TPI1 6525 TPI 1 for IEEE488
TPI2 6525 TPI 2 for interrupts and keyboard.
ACIA1 6551 The RS232 interface
SID 6581 The CBM2s SID sound chip
* Drive modules The emulated drive(s) have their own modules see section 9.2.3.6 Drive modules

9.2.3.6 Drive modules

The modules for the real disk drive emulation are included in the emulator when the emulation is enabled during the writing of the snapshot.

Name Type Description
*CPU 6502 The Drive 0 CPU
* * *

9.2.4 Common Modules

This section shows the basic module framework and the contents of the different types of modules.

The single chip modules contain the chip state, and sometimes additional state of the emulator. In the past we tried to make the format as implementation-independent as possible, to allow reuse of snapshots in later versions of the emulator, that however proved to be very impractical and insanely hard to maintain.

9.2.4.1 CPU 6502 module

This module saves the core 6502 state. You will find a clock value there. All other modules save their own clock values relative to this value. However, the drive modules save their clocks relative to their appropriate CPUs of course.

The MAINC64CPU module

Version numbers: Major 1, Minor 5.

Type Name Description
CLOCK main clock
UBYTE a
UBYTE x
UBYTE y
UBYTE sp
WORD pc
UBYTE status
DWORD last_opcode_info
DWORD ane_log_level
DWORD lxa_log_level
DWORD maincpu_jammed
DWORD maincpu_ba_low_flags

src/mainc64cpu.c

The MAINVIC20CPU module

Version numbers: Major 1, Minor 5.

Type Name Description
CLOCK main clock
UBYTE a
UBYTE x
UBYTE y
UBYTE sp
WORD pc
UBYTE status
DWORD last_opcode_info
DWORD ane_log_level
DWORD lxa_log_level
DWORD maincpu_jammed

src/mainviccpu.c

9.2.4.2 CPU 6809 module

This module saves the core 6809 state. You will find a clock value there. All other modules save their own clock values relative to this value. However, the drive modules save their clocks relative to their appropriate CPUs of course.

The CPU6809 module

Version numbers: Major 1, Minor 1.

Type Name Description
CLOCK clock the current CPU clock value. All other clock values are relative to this.
WORD x the x register
WORD y the y register
WORD u the u register
WORD s the s register
WORD pc the program counter register
BYTE dp the direct page register
BYTE cc the condition code register
BYTE a the a register
BYTE b the b register
WORD v the V register (for 6309 compatibility)
BYTE e the e register (for 6309 compatibility)
BYTE f the f register (for 6309 compatibility)
BYTE md the md register (for 6309 compatibility)

src/pet/6809.c

9.2.4.3 CPU 65816 module

This module saves the core 65816 state. You will find a clock value there. All other modules save their own clock values relative to this value. However, the drive modules save their clocks relative to their appropriate CPUs of course.

The MAIN65816CPU module

Version numbers: Major 1, Minor 3.

Type Name Description
CLOCK main clock
UBYTE a
UBYTE b
WORD x
WORD y
WORD sp
WORD dpr
UBYTE pbr
UBYTE dbr
UBYTE emul
WORD pc
UBYTE status
DWORD last_opcode_info

src/main65816cpu.c

9.2.4.4 CIA module

The CIA 6526 is an I/O port chip with 2 8-bit I/O ports, a shift register, two timers, a Time of Day clock and interrupts.

The CIA module

Version numbers: Major 2, Minor 5.

Type Name Version Description
UBYTE ORA Output register A
UBYTE ORB Output register B
UBYTE DDRA Data direction register A
UBYTE DDRB Data direction register B
UWORD TA Timer A counter value
UWORD TB Timer B counter value
UBYTE TOD_TEN Time of Day - current tenth of second
UBYTE TOD_SEC Time of Day - current seconds
UBYTE TOD_MIN Time of Day - current minutes
UBYTE TOD_HR Time of Day - current hours
UBYTE SDR contents of shift register
UBYTE IER mask of enabled interrupt masks
UBYTE CRA Control register A
UBYTE CRB Control register B
UWORD TAL Timer A latch value
UWORD TBL Timer B latch value
UBYTE IFR mask of currently active interrupts
UBYTE PBSTATE Bit 6/7 reflect the PB6/7 toggle bit state.Bit 2/3 reflect the corresponding port bit state.
UBYTE SRHBITS number of half-bits to still shift in/out SDR
UBYTE ALARM_TEN Time of Day - alarm tenth of second
UBYTE ALARM_SEC Time of Day - alarm seconds
UBYTE ALARM_MIN Time of Day - alarm minutes
UBYTE ALARM_HR Time of Day - alarm hours
UBYTE READICR current clock minus the clock when ICR was read last plus 128.
UBYTE TODLATCHED Bit 0: 1= latched for reading, Bit 1: 2=stopped for writing
UBYTE TODL_TEN Time of Day - latched tenth of second
UBYTE TODL_SEC Time of Day - latched seconds
UBYTE TODL_MIN Time of Day - latched minutes
UBYTE TODL_HR Time of Day - latched hours
DWORD TOD_TICKS clk ticks till next tenth of second
UBYTE IRQ 0=IRQ line inactive, 1=IRQ line active
WORD TA state 1.1+ Timer A state bits (see ciatimer.h)
WORD TB state 1.1+ Timer B state bits (see ciatimer.h)
BYTE SHIFTER 1.2+ actual shift register (original data)
BYTE SDR_VALID 1.2+ data in SDR valid to be shifted
BYTE irq_enabled 1.2+ IRQ enabled
BYTE todtickcounter 1.2+ TOD tick counter
BYTE SHIFTER_HI 2.3+ high byte of SHIFTER
BYTE SDR_ALARM 2.3+ if an sdr_alarm is pending and when
BYTE SP_CNT_IN 2.3+ input state of SP and CNT
DWORD SDR_DELAY 2.4+ event/history bits for the serial data register
BYTE SP_CNT_OUT 2.4+ output state of SP and CNT
DWORD IFR_DELAY 2.5+ event/history bits for the interrupt flag reg.
BYTE ACK_IRQFLAGS 2.5+ flags in IFR to acknowledge, i.e. clear.
BYTE NEW_IRQFLAGS 2.5+ new flags in IFR that were set recently.

src/core/ciacore.c

9.2.4.5 VIA module

The VIA 6522 is the predecessor of the CIA and also an I/O port chip with 2 8-bit I/O ports, a shift register, two timers and interrupts.

The VIA module

Version numbers: Major 2, Minor 2.

Type Name Version Description
UBYTE ORA Output register A
UBYTE DDRA Data direction register A
UBYTE ORB Output register B
UBYTE DDRB Data direction register B
UWORD T1L timer 1 latch value
UWORD T1C timer 1 count value
UBYTE T2LL Timer 2 latch lo
UBYTE T2LH Timer 2 latch hi
UBYTE T2CL timer 2 count value lo
UBYTE T2CH timer 2 count value hi
UWORD T2C timer 2 counter
UBYTE RUNFL bit 7: timer 1 will generate IRQ on underflow; bit 6: timer 2 will generate IRQ on underflow
UBYTE SR shift register value
UBYTE ACR auxiliary control register
UBYTE PCR peripherial control register
UBYTE IFR active interrupts
UBYTE IER interrupt masks
UBYTE PB7 bit 7 = pb7 state
UBYTE SRHBITS number of half-bits to shift out on SR
UBYTE CABSTATE bit 7 = ca2 state, bit6 = cb2 state, bit5 = cb1
UBYTE ILA input latch port A (see ACR bit 0)
UBYTE ILB input latch port B (see ACR bit 1)
UBYTE t2_irq_allowed 2.2+
UBYTE t2_underflow_alarm 2.2+ 0 if not; 1+time delta if set.
UBYTE t2_shift_alarm 2.2+ 0 if not; 1+time delta if set.

src/core/viacore.c

9.2.4.6 PIA module

The PIA 6520 is a chip with two I/O ports (Parallel Interface Adapter) and four additional handshake lines. The chip is pretty the same for Port A and B, only that Port A implements handshake on read operation and port B on write operation.

The PIA module

Version numbers: Major 1, Minor 0.

Type Name Description
UBYTE ORA Output register A
UBYTE DDRA Data Direction Register A
UBYTE CTRLA Control Register A
UBYTE ORB Output register B
UBYTE DDRB Data Direction Register B
UBYTE CTRLB Control Register B
UBYTE CABSTATE Bit 7 = state of CA2, Bit 6 = state of CB2

src/piacore.c

9.2.4.7 TPI module

The TPI 6525 is a chip with three I/O ports (Tri-Port-Interface). One of the ports can double as an interrupt prioritizer. Therefore we also have to save the states of the interrupt stack etc.

The TPI module

Version numbers: Major 1, Minor 0.

Type Name Description
UBYTE PRA Port A output register
UBYTE PRB Port B output register
UBYTE PRC Port C output register (doubles as IRQ latch register)
UBYTE DDRA Port A data direction register
UBYTE DDRB Port B data direction register
UBYTE DDRC Port C data direction register (doubles as IRQ mask register)
UBYTE CR Control Register
UBYTE AIR Active interrupt register
UBYTE STACK irq sources saved on stack
UBYTE CABSTATE state of CA and CB pins. Bit 7 = state of CA, Bit 6 = state of CB

src/core/tpicore.c

9.2.4.8 RIOT module

The RIOT 6532 is a chip with two I/O ports, some RAM and a Timer. The chip contains 128 byte RAM, but the RAM is not saved in the RIOT snapshot, but in the memory section.

The RIOT module

Version numbers: Major 0, Minor 0.

Type Name Description
UBYTE ORA Port A output register
UBYTE DDRA Port A data direction register
UBYTE ORB Port B output register
UBYTE DDRB Port B data direction register
UBYTE EDGECTRL edge control value: Bit 0/1: A0/A1 address bits written to edgecontrol registers
UBYTE IRQFL IRQ fl: Bit 6/7: see RIOT IRQ flag Bit 0: state of IRQ line (1=active)
UBYTE N current timer value
UWORD divider Pre-scale divider value (1, 8, 64, or 1024)
UWORD rest cycles that the divider has done since last counter tick
UBYTE irqen 0= timer IRQ disabled, 1= enabled

src/core/riotcore.c

9.2.4.9 SID module

The SID module

Version numbers: Major 1, Minor 5.

Type Name Version Description
BYTE sids 1.2+ amount of extra sids
BYTE sound 1.2+ sound active flag
BYTE engine 1.2+ sound engine
BYTE model 1.4+ SID model
ARRAY sid data 1.1+ 32 BYTES of SID registers

src/sid/sid-snapshot.c

The SIDRESID module

Version numbers: Major 1, Minor 4.

Type Name Description
ARRAY regs 32 BYTES of SID registers
BYTE bus value bus value
DWORD bus value ttl bus value ttl
ARRAY accumulator 3 DWORDS of accumulator data
ARRAY shift register 3 DWORDS of shift register data
ARRAY rate counter 3 WORDS of rate counter data
ARRAY exponential counter 3 WORDS of exponential counter data
ARRAY envelope counter 3 BYTES of envelope counter data
ARRAY envelope state 3 BYTES of envelope state data
ARRAY hold zero 3 BYTES of hold zero flag data
ARRAY rate counter period 3 WORDS of rate counter period data
ARRAY exponential counter period 3 WORDS of exponential counter period data
ARRAY envelope pipeline 3 BYTES of envelope pipeline data
ARRAY shift pipeline 3 BYTES of shift pipeline data
ARRAY shift register reset 3 DWORDS of shift register reset data
ARRAY floating output ttl 3 DWORDS of floating output ttl data
ARRAY pulse output 3 WORDS of pulse output data
BYTE write pipeline write pipeline
BYTE write address write address
BYTE voice mask voice mask

src/sid/sid-snapshot.c

9.2.4.10 ACIA module

The ACIA 6551 is an RS232 interface chip. VICE emulates RS232 connections via /dev/ttyS* (Unix) or COM: (DOS/WIN - not yet?). When saving a snapshot, those connections are of course lost. The state of the ACIA however is restored if possible. I.e. if a connection is already open when restoring the snapshot, this connection is used instead. If no connection is open, a carrier/DTR drop is emulated.

The ACIA module

Type Name Description
UBYTE TDR Transmit Data Register
UBYTE RDR Receiver Data Register
UBYTE SR Status Register (includes state of IRQ line)
UBYTE CMD Command Register
UBYTE CTRL Control Register
UBYTE IN_TX 0 = no data to tx; 1 = Data is being transmitted;
QWORD TICKSTX ticks till the next TDR empty interrupt
QWORD TICKSRX ticks till the next RDF empty interrupt

src/aciacore.c

9.2.4.11 VIC-I module

The VIC-I module

Version numbers: Major 0, Minor 4.

Type Name Description
DWORD interlace_enabled
DWORD interlace_field
CLOCK framestart_cycle
BYTE raster_cycle
WORD raster_line
WORD area
WORD fetch_state
DWORD raster_line
DWORD text_cols
DWORD text_lines
DWORD pending_text_cols
DWORD line_was_blank
DWORD memptr
DWORD memptr_inc
DWORD row_counter
DWORD buf_offset
BYTE light_pen.state
BYTE light_pen.triggered
DWORD light_pen.x
DWORD light_pen.y
DWORD light_pen.x_extra_bits
CLOCK light_pen.trigger_cycle
BYTE vbuf
ARRAY color ram 0x400 bytes of color ram data ($9400 - $97ff) FIXME: is this really correct?
10*BYTE registers 10 VIC-I registers

src/vic20/vic-snapshot.c

9.2.4.12 VIC-II module

The VIC-II module

Version numbers: Major 1, Minor 3.

Type Name Description
BYTE AllowBadLines flag: if true, bad lines can happen
BYTE BadLine flag: this is a bad line
BYTE Blank flag: draw lines in border color
ARRAY ColorBuf 40 bytes, character memory buffer (loaded at bad line)
ARRAY ColorRam 1024 bytes, contents of color RAM
BYTE IdleState flag: idle state enabled
BYTE LPTrigger flag: light pen has been triggered
BYTE LPX light pen X
BYTE LPY light pen Y
ARRAY MatrixBuf 40 bytes, video matrix buffer (loaded at bad line)
BYTE NewSpriteDmaMask value for SpriteDmaMask after drawing sprites
DWORD RamBase pointer to the start of RAM seen by the VIC
BYTE RasterCycle current vicii.raster cycle
WORD RasterLine current vicii.raster line
64*BYTE Registers VIC-II registers
BYTE SbCollMask sprite-background collisions so far
BYTE SpriteDmaMask sprites having DMA turned on
BYTE SsCollMask sprite-sprite collisions so far
BYTE VBank location of memory bank
WORD Vc internal VIC-II counter
BYTE VcAdd value to add to Vc at the end of this line (vicii.mem_counter_inc)
WORD VcBase internal VIC-II memory pointer
BYTE VideoInt status of VIC-II IRQ (vicii.irq_status)
BYTE SpriteXMemPtr sprite memory pointer
BYTE SpriteXMemPtrInc value to add to the MemPtr after fetch
BYTE SpriteXExpFlipFlop sprite expansion flip-flop
DWORD FetchEventTick ticks for the next "fetch" (DMA) event
BYTE FetchEventType type of event (0: matrix, 1: sprite check, 2: sprite fetch)

src/vicii/vicii-snapshot.c

The VIC-IISC module

Version numbers: Major 1, Minor 4.

Type Name Description
ARRAY regs 0x40 BYTES state from vicii_s, in the same order
DWORD raster_cycle
DWORD cycle_flags
DWORD raster_line
BYTE start_of_frame
BYTE irq_status
DWORD raster_irq_line
BYTE raster_irq_triggered
ARRAY vbuf VICII_SCREEN_TEXTCOLS
ARRAY cbuf VICII_SCREEN_TEXTCOLS
BYTE gbuf
DWORD dbuf_offset
ARRAY dbuf VICII_DRAW_BUFFER_SIZE
DWORD ysmooth
BYTE allow_bad_lines
BYTE sprite_sprite_collisions
BYTE sprite_background_collisions
BYTE clear_collisions
DWORD idle_state
DWORD vcbase
DWORD vc
DWORD rc
DWORD vmli
DWORD bad_line
BYTE light_pen.state
BYTE light_pen.triggered
DWORD light_pen.x
DWORD light_pen.y
DWORD light_pen.x_extra_bits
CLOCK light_pen.trigger_cycle
BYTE reg11_delay
DWORD prefetch_cycles
DWORD sprite_display_bits
BYTE sprite_dma
BYTE last_color_reg
BYTE last_color_value
BYTE last_read_phi1
BYTE last_bus_phi2
BYTE vborder
BYTE set_vborder
BYTE main_border
BYTE refresh_counter
ARRAY color_ram 0x400

src/viciisc/vicii-snapshot.c

The DTVVIC module

Version numbers: Major 1, Minor 3.

Type Name Description
BYTE AllowBadLines flag: if true, bad lines can happen
BYTE BadLine flag: this is a bad line
BYTE Blank flag: draw lines in border color
40*BYTE ColorBuf character memory buffer (loaded at bad line)
BYTE IdleState flag: idle state enabled
BYTE LPTrigger flag: light pen has been triggered
BYTE LPX light pen X
BYTE LPY light pen Y
40*BYTE MatrixBuf video matrix buffer (loaded at bad line)
BYTE NewSpriteDmaMask value for SpriteDmaMask after drawing sprites
DWORD RamBase pointer to the start of RAM seen by the VIC
BYTE RasterCycle current vicii.raster cycle
WORD RasterLine current vicii.raster line
80*BYTE Registers VIC-II registers
x DTVstuff DTV stuff goes here
BYTE SbCollMask sprite-background collisions so far
BYTE SpriteDmaMask sprites having DMA turned on
BYTE SsCollMask sprite-sprite collisions so far
BYTE VBank location of memory bank
WORD Vc internal VIC-II counter
BYTE VcAdd value to add to Vc at the end of this line (vicii.mem_counter_inc)
WORD VcBase internal VIC-II memory pointer
BYTE VideoInt status of VIC-II IRQ (vicii.irq_status)
BYTE SpriteXMemPtr sprite memory pointer
BYTE SpriteXMemPtrInc value to add to the MemPtr after fetch
BYTE SpriteXExpFlipFlop sprite expansion flip-flop
DWORD FetchEventTick ticks for the next "fetch" (DMA) event
BYTE FetchEventType type of event (0: matrix, 1: sprite check, 2: sprite fetch)

src/vicii/viciidtv-snapshot.c

9.2.4.13 TED module

The TED module

Version numbers: Major 1, Minor 5.

Type Name Description
DWORD last_emulate_line_clk
BYTE AllowBadLines flag: if true, bad lines can happen
BYTE BadLine flag: this is a bad line
BYTE Blank flag: draw lines in border color
40*BYTE ColorBuf character memory buffer (loaded at bad line)
BYTE IdleState flag: idle state enabled
40*BYTE MatrixBuf video matrix buffer (loaded at bad line)
DWORD RamBase pointer to the start of RAM seen by the TED
BYTE RasterCycle current ted.raster cycle
WORD RasterLine current ted.raster line
64*BYTE Registers TED registers
DWORD ted_raster_counter
WORD Vc internal TED counter
BYTE mem_counter_inc (VcInc) value to add to Vc at the end of this line
WORD VcBase internal TED memory pointer
BYTE VideoInt status of TED IRQ (ted.irq_status)
DWORD FetchEventTick ticks for the next "fetch" (DMA) event

src/plus4/ted-snapshot.c

9.2.4.14 CRTC module

The CRTC module

Version numbers: Major 1, Minor 2.

Type Name Version Description
WORD VADDR_MASK Mask of the address bits valid when accessing the video memory
WORD VADDR_CHARSWITCH If one bit in the video address is used to switch the character generator, it is masked here.
WORD VADDR_CHAROFFSET The offset in characters in the character generator that CHARSWITCH switches.
WORD VADDR_REVSWITCH If one bit in the video address inverts the screen, it is masked here.
WORD CHARGEN_MASK size of character generator in byte - 1
WORD CHARGEN_OFFSET offset given by external circuitry
BYTE HW_CURSOR external hardware cursor circuitry enabled
BYTE HW_COLS number of displayed columns during one character clock cycle
BYTE HW_BLANK set if the hardware blank feature is available CRTC register
20 BYTE REGISTERS register DUMP of the CRTC registers 0-19.
BYTE REGNO The current index in the CRTC register file
BYTE CHAR The current cycle within the current rasterline
BYTE CHARLINE The current character line
BYTE YCOUNTER The current rasterline in the character
BYTE CRSRCNT Framecounter for the blinking cursor
BYTE CRSRSTATE if set the hardware cursor is visible
BYTE CRSRLINES set if ycounter is within the active cursor rasterlines for a char
WORD CHARGEN_REL relative base of currently used character generator in ROM (in byte)
WORD SCREEN_REL screen address to load the counter at the beginning of the next rasterline
WORD VSYNC number of rasterlines left within vsync; 0 = not in vsync
BYTE VENABLE vertical enable flipflop; 1= display, 0= blank.
WORD SCREEN_WIDTH width of the current display window
WORD SCREEN_HEIGHT height of the current display window
WORD SCREEN_XOFFSET x position where the first character in a line starts in the window
WORD HJITTER but only after adding this jitter
WORD SCREEN_YOFFSET x position where the first character in a line starts in the window
WORD FRAMELINES expected number of rasterlines for the current frame
WORD CURRENT_LINE current rasterline as seen from the CRTC
BYTE FLAG 1.1+ Bit 0: If 1 then bit in VADDR_REVSWITCH must be set for reverse; if 0 then bit must be cleared for reverse.

src/crtc/crtc-snapshot.c

Here is the reference for the previous CRTC snapshot module. It is outdated and will not be read by this and later versions of VICE.

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE RASTERY The number of clock cycles from rasterlines start
WORD RASTERLINE The current rasterline
WORD ADDRMASK The address mask valid for the CRTC. All memory accesses are masked with this value
BYTE HWFLAG Bit 0: 1= hardware cursor available. Bit 1: 1= number of columns is doubled by external hardware
20 BYTE REGISTERS register DUMP of the CRTC registers 0-19.
BYTE CRSRSTATE Hardware cursor: Bits 0-3: frame counter till next crsr line toggle. Bit 7: 1= cursor line active

9.2.4.15 C64 memory module

The C64 memory module actually consists of two modules. The "C64MEM" module is mandatory and contains the RAM dump. The "C64ROM" module is optional and contains a dump of the ROM images.

The size of the C64 memory modules differs with each different memory configuration. The RAM configuration is saved in the snapshot, and restored when the snapshot is loaded.

The C64MEM module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE pport data 0.0+ CPU port data register
BYTE pport dir 0.0+ CPU port direction register
BYTE EXROM 0.0+ EXROM line state
BYTE GAME 0.0+ GAME line state
ARRAY RAM 0.0+ 65536 BYTES of RAM data
BYTE pport data out 0.0+ CPU port data out lines state
BYTE pport data read 0.0+ CPU port data in lines state
BYTE pport dir read 0.0+ CPU port direction in lines state
DWORD pport bit6 clock 0.1 CPU port bit 6 falloff clock
DWORD pport bit7 clock 0.1 CPU port bit 7 falloff clock
BYTE pport bit 6 0.1 CPU port bit 6 state
BYTE pport bit 7 0.1 CPU port bit 7 state
BYTE pport bit 6 falloff 0.1 CPU port bit 6 discharge flag
BYTE pport bit 7 falloff 0.1 CPU port bit 7 discharge flag

src/c64/c64memsnapshot.c

The C64ROM module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY KERNAL 8192 BYTES of KERNAL ROM data
ARRAY BASIC 8192 BYTES of BASIC ROM data
ARRAY CHARGEN 4096 BYTES of CHARGEN ROM data

src/c64/c64memsnapshot.c

The C64SCPUMEM module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE mem_pport
BYTE mem_reg_soft_1mhz
BYTE mem_reg_sys_1mhz
BYTE mem_reg_hwenable
BYTE mem_reg_dosext
BYTE mem_reg_ramlink
BYTE mem_reg_optim
BYTE mem_reg_bootmap
BYTE mem_reg_simm
BYTE exrom
BYTE game
DWORD mem_simm_ram_mask
ARRAY mem_ram SCPU64_RAM_SIZE
ARRAY mem_sram SCPU64_SRAM_SIZE
ARRAY mem_simm_ram mem_simm_ram_mask + 1

src/scpu64/scpu64memsnapshot.c

The C64SCPUROM module

Version numbers: Major 0, Minor 1.

Type Name Description
ARRAY mem_chargen_rom SCPU64_CHARGEN_ROM_SIZE
ARRAY scpu64rom_scpu64_rom SCPU64_SCPU64_ROM_MAXSIZE

src/scpu64/scpu64memsnapshot.c

The C64DTVMEM module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE pport.data
BYTE pport.dir
ARRAY mem_ram 0x200000
BYTE c64dtvmem_memmapper[0]
BYTE c64dtvmem_memmapper[1]
BYTE pport.data_out
BYTE pport.data_read
BYTE pport.dir_read

src/c64dtv/c64dtvmemsnapshot.c

The C64DTVROM module

Version numbers: Major 0, Minor 1.

Type Name Description
ARRAY c64dtvflash_mem 0x200000
BYTE c64dtvflash_state
ARRAY c64dtvflash_mem_lock 39

src/c64dtv/c64dtvmemsnapshot.c

9.2.4.16 C128 memory module

The C128 memory module actually consists of two modules. The "C128MEM" module is mandatory and contains the RAM dump. The "C128ROM" module is optional and contains a dump of the ROM images.

The size of the C128 memory modules differs with each different memory configuration. The RAM configuration is saved in the snapshot, and restored when the snapshot is loaded. The attached cartridges are also restored upon load if they have been saved in the snapshot.

The C128MEM module

Version numbers: Major 0, Minor 0.

Type Name Version Description
11 * BYTE mmu regs 0.0 dump of mmu registers
ARRAY RAM 0.0 0x40000 BYTES of RAM data

src/c128/c128memsnapshot.c

The C128ROM module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY KERNAL 8192 BYTES of KERNAL ROM data
ARRAY BASIC LO 16384 BYTES of BASIC ROM data
ARRAY BASIC HI 16384 BYTES of BASIC ROM data
ARRAY CHARGEN 8192 BYTES of CHARGEN ROM data

src/c128/c128memsnapshot.c

9.2.4.17 VIC20 memory module

The VIC20 memory module actually consists of two modules. The "VIC20MEM" module is mandatory and contains the RAM dump. The "VIC20ROM" module is optional and contains a dump of the ROM images.

The size of the VIC20 memory modules differs with each different memory configuration. The RAM configuration is saved in the snapshot, and restored when the snapshot is loaded. The attached cartridges are also restored upon load if they have been saved in the snapshot.

The VIC20MEM module

Version numbers: Major 1, Minor 1.

Type Name Version Description
UBYTE CONFIG Bit 0: 1 = expansion block 0 RAM enabled
1: 1 = expansion block 1 RAM enabled
2: 1 = expansion block 2 RAM enabled
3: 1 = expansion block 3 RAM enabled
5: 1 = expansion block 5 RAM enabled
UBYTE cpu_last_data 1.1+
UBYTE v_bus_last_data 1.1+
UBYTE v_bus_last_high 1.1+
ARRAY RAM0 1k RAM $0000-$03ff
ARRAY RAM1 4k RAM $1000-$1fff
ARRAY BLK0 3k RAM $0400-$0fff (if blk 0 RAM enabled)
ARRAY BLK1 8k RAM $2000-$3fff (if blk 1 RAM enabled)
ARRAY BLK2 8k RAM $4000-$5fff (if blk 2 RAM enabled)
ARRAY BLK3 8k RAM $6000-$7fff (if blk 3 RAM enabled)
ARRAY BLK5 8k RAM $A000-$Bfff (if blk 5 RAM enabled)

src/vic20/vic20memsnapshot.c

The VIC20ROM module

Version numbers: Major 1, Minor 1.

Type Name Version Description
UBYTE CONFIG Bit 0: 1 = ROM block $2*** enabled
1: 1 = ROM block $3*** enabled
2: 1 = ROM block $4*** enabled
3: 1 = ROM block $5*** enabled
4: 1 = ROM block $6*** enabled
5: 1 = ROM block $7*** enabled
6: 1 = ROM block $A*** enabled
7: 1 = ROM block $B*** enabled
ARRAY KERNAL 8k KERNAL ROM $e000-$ffff
ARRAY BASIC 8k BASIC ROM $c000-$dfff
ARRAY CHARGEN 4k CHARGEN ROM
ARRAY BLK1A 4k ROM $2*** (if CONFIG & 1)
ARRAY BLK1B 4k ROM $3*** (if CONFIG & 2)
ARRAY BLK3A 4k ROM $6*** (if CONFIG & 16)
ARRAY BLK3B 4k ROM $7*** (if CONFIG & 32)
ARRAY BLK5A 4k ROM $A*** (if CONFIG & 64)
ARRAY BLK5B 4k ROM $B*** (if CONFIG & 128)
ARRAY BLK2A 1.1+ 4k ROM $4*** (if CONFIG & 4)
ARRAY BLK2B 1.1+ 4k ROM $5*** (if CONFIG & 8)

src/vic20/vic20memsnapshot.c

9.2.4.18 Plus4 memory module

The PLUS4MEM module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE pport.data
BYTE pport.dir
BYTE pport.data_out
BYTE mem_config
ARRAY mem_ram PLUS4_RAM_SIZE

src/plus4/plus4memsnapshot.c

The PLUS4ROM module

Version numbers: Major 1, Minor 0.

Type Name Description
ARRAY kernal rom PLUS4_KERNAL_ROM_SIZE
ARRAY basic rom PLUS4_BASIC_ROM_SIZE
ARRAY extromlo1 PLUS4_BASIC_ROM_SIZE
ARRAY extromlo3 PLUS4_BASIC_ROM_SIZE
ARRAY extromhi1 PLUS4_KERNAL_ROM_SIZE
ARRAY extromhi3 PLUS4_KERNAL_ROM_SIZE

src/plus4/plus4memsnapshot.c

9.2.4.19 PET memory module

The PET memory module actually consists of three modules. The "PETMEM" module is mandatory and contains the RAM dump. The "PETROM" module is optional and contains a dump of the ROM images. The "PETDWW" module is also optional and contains the image of the hires expansion board (if enabled).

The size of the PET memory modules differs with each different memory configuration. The RAM configuration is saved in the snapshot, and restored when the snapshot is loaded.

The POSITIONAL item has been added in PETMEM snapshot version 1.1. It is ignored by earlier restore routines (V1.0) and the V1.1 restore routines do not change the current setting when reading a V1.0 snapshot.

In V1.2 the new EOIBLANK variable has been added. This implements the "blank screen on EOI" feature that was previously linked to a wrong resource.

In V1.3 the state for SuperPET has been added.

The PETMEM module

Version numbers: Major 1, Minor 3.

Type Name Version Description
UBYTE CONFIG Bits 0-3: 0 = 40 col PET without CRTC
1 = 40 col PET with CRTC
2 = 80 col PET (with CRTC)
3 = SuperPET
4 = 8096
5 = 8296
Bit 6: 1= RAM at $9***
Bit 7: 1= RAM at $A***
UBYTE KEYBOARD 0 = UK business
1 = graphics
UBYTE MEMSIZE memory size of low 32k in k (4,8,16,32)
UBYTE CONF8X96 8x96 configuration register
UBYTE SUPERPET SuperPET config:
Bit 0: spet_ramen, 1= RAM enabled
1: spet_ramwp, 1= RAM write protected
2: spet_ctrlwp, 1= CTRL reg write prot.
3: spet_diag, 0= diag active
4-7: spet_bank, RAM block in use
ARRAY RAM 4-32k RAM (not 8296, dep. on MEMSIZE)
ARRAY VRAM 2/4k RAM (not 8296, dep in CONFIG)
ARRAY EXTRAM 64k (SuperPET and 8096 only)
ARRAY RAM 128k RAM (8296 only)
BYTE POSITIONAL 1.1+ bit 0=0 = symbolic keyboard mapping
=1 = positional keyboard mapping
BYTE EOIBLANK 1.2+ bit 0=0: EOI does not blank screen
=1: EOI does blank screen
bit 1=0: Screen memory like 3000 and later
1: Screen memory like 2001
WORD CPU_SWITCH 1.3+ 6502 / 6809 / PROG
BYTE VAL 1.3+ 6702 dongle state information
BYTE PREVODD 1.3+
BYTE WANTODD 1.3+
WORD[8] SHIFT 1.3+
BYTE SuperPET 2 1.3+ Extra bits due to the Super-OS-9 MMU.
Bit 5: FIRQ disabled.
Bit 6: expansion memory in OS-9 flat mode.

src/pet/petmemsnapshot.c

The PETROM module

Version numbers: Major 1, Minor 1.

Type Name Version Description
UBYTE CONFIG Bit 0: 1= $9*** ROM included
1: 1= $a*** ROM included
2: 1= $b*** ROM included
3: 1= $e900-$efff ROM included
4: 1= $9000-$ffff 6809 ROM
and upper half CHARGEN ROM included
ARRAY KERNAL 4k KERNAL ROM image $f000-$ffff
ARRAY EDITOR 2k EDITOR ROM image $e000-$e800
ARRAY CHARGEN 2k CHARGEN ROM image
ARRAY ROM9 4k $9*** ROM (if CONFIG & 1)
ARRAY ROMA 4k $A*** ROM (if CONFIG & 2)
ARRAY ROMB 4k $B*** ROM (if CONFIG & 4)
ARRAY ROMC 4k $C*** ROM
ARRAY ROMD 4k $D*** ROM
ARRAY ROME9 7 blocks $e900-$efff ROM (if CONFIG & 8)
ARRAY ROM6809 1.1+ 24k $A000-$FFFF ROM (if CONFIG & 16)
ARRAY CHARGEN(2) 1.1+ upper half of CHARGEN (if CONFIG & 16)

src/pet/petmemsnapshot.c

The PETDWW module

For storing the state of the DWW hires expansion board, there is a PETDWWPIA module, and a DWWMEM module.

The former has the same format as the PIA1.

The DWWMEM module

Type Name Description
WORD RAM size size, 0 if not allocated
ARRAY RAM data "RAM size" bytes RAM content

src/pet/petdww.c

9.2.4.20 CBM-II memory module

The CBM-II memory module actually consists of two modules. The "CBM2MEM" module is mandatory and contains the RAM dump. The "CBM2ROM" module is optional and contains a dump of the ROM images.

The size of the CBM-II memory modules differs with each different memory configuration. The RAM configuration is saved in the snapshot, and restored when the snapshot is loaded.

The CBM2MEM module

Version numbers: Major 1, Minor 0.

Type Name Description
UBYTE MEMSIZE Memory size in 128KiB blocks (1=128KiB,2=256KiB, 4=512KiB, 8=1024KiB)
UBYTE CONFIG Bit 0 = $f0800-$f0fff RAM
1 = $f1000-$f1fff RAM
2 = $f2000-$f3fff RAM
3 = $f4000-$f5fff RAM
4 = $f6000-$f7fff RAM
5 = $fc000-$fcfff RAM
6: 1= RAM starts at 0 (C500), videoram is
1k VIC-II video, 1k colorram
0= RAM starts at 0x10000 (others),
videoram is 2k crtc videoram
UBYTE HWCONFIG Bit 0-1: ModelLine
UBYTE EXECBANK CPU exec bank register
UBYTE INDBANK CPU indirect bank register
ARRAY SYSRAM 2k system RAM, Bank15 $f0000-$f07ff
ARRAY VIDEO 2k video RAM, Bank15 $fd000-$fd7ff
ARRAY RAM RAM dump, size according to MEMSIZE
ARRAY RAM08 (only if memsize < 1M) 2k for cart08_ram CONFIG & 1 : 2KiB RAM $f0800-$f0fff
ARRAY RAM1 (only if memsize < 1M) 4k for cart1_ram CONFIG & 2 : 4KiB RAM $f1000-$f1fff
ARRAY RAM2 (only if memsize < 1M) 8k for cart2_ram CONFIG & 4 : 8KiB RAM $f2000-$f3fff
ARRAY RAM4 (only if memsize < 1M) 8k for cart4_ram CONFIG & 8 : 8KiB RAM $f4000-$f5fff
ARRAY RAM6 (only if memsize < 1M) 8k for cart6_ram CONFIG & 16 : 8KiB RAM $f6000-$f7fff
ARRAY RAMC (only if memsize < 1M) 4k for cartC_ram CONFIG & 32 : 4KiB RAM $fc000-$fcfff

src/cbm2/cbm2memsnapshot.c

The RAM* arrays are only saved if the RAM itself is less than 1MiB. If the memory size is 1MiB then those areas are taken from the bank 15 area of the normal RAM.

The memory array starts at $10000 if the memory size is less than 512KiB, or at $00000 if 512KiB or more. In case of a C510, then the memory array also always starts at $00000.

The CBM2ROM module

Version numbers: Major 1, Minor 0.

Type Name Description
UBYTE CONFIG Bit 1: cart1 ROM included
2: cart2 ROM included
3: cart4 ROM included
4: cart6 ROM included
5: chargen is of C510 type (VIC-II)
ARRAY KERNAL 8k Kernal ROM ($e000-$ffff)
ARRAY BASIC 16k Basic ROM ($8000-$bfff)
ARRAY CHARGEN 4k chargen ROM image ($c*** for VIC-II)
ARRAY ROM1 4k for cart1 (if config & 2)
ARRAY ROM2 8k for cart2 (if config & 4)
ARRAY ROM4 8k for cart4 (if config & 8)
ARRAY ROM6 8k for cart6 (if config & 16)

src/cbm2/cbm2memsnapshot.c

9.2.4.21 C500 data module

The C500 data module contains simple state information not already saved in the other modules.

The C500DATA module

Version numbers: Major 0, Minor 0.

Type Name Description
DWORD IRQCLK CPU clock ticks until next 50 Hz IRQ

src/cbm2/cbm5x0.c

9.2.5 other modules

The SID2 module

Version numbers: Major 1, Minor 5.

Type Name Version Description
WORD address 1.2+ SID address
ARRAY sid data 1.2+ 32 BYTES of SID registers

src/sid/sid-snapshot.c

The SID3 module

Version numbers: Major 1, Minor 5.

Type Name Version Description
WORD address 1.2+ SID address
ARRAY sid data 1.2+ 32 BYTES of SID registers

src/sid/sid-snapshot.c

The SID4 module

Version numbers: Major 1, Minor 5.

Type Name Version Description
WORD address 1.4+ SID address
ARRAY sid data 1.4+ 32 BYTES of SID registers

src/sid/sid-snapshot.c

The SID5 module

Version numbers: Major 1, Minor 5.

Type Name Version Description
WORD address 1.5+ SID address
ARRAY sid data 1.5+ 32 BYTES of SID registers

src/sid/sid-snapshot.c

The SID6 module

Version numbers: Major 1, Minor 5.

Type Name Version Description
WORD address 1.5+ SID address
ARRAY sid data 1.5+ 32 BYTES of SID registers

src/sid/sid-snapshot.c

The SID7 module

Version numbers: Major 1, Minor 5.

Type Name Version Description
WORD address 1.5+ SID address
ARRAY sid data 1.5+ 32 BYTES of SID registers

src/sid/sid-snapshot.c

The SID8 module

Version numbers: Major 1, Minor 5.

Type Name Version Description
WORD address 1.5+ SID address
ARRAY sid data 1.5+ 32 BYTES of SID registers

src/sid/sid-snapshot.c

The SIDFASTSID module

Version numbers: Major 1, Minor 4.

Type Name Description
DWORD factor speed factor
ARRAY d 32 BYTES of register data
BYTE has3 voice 3 enable flag
BYTE vol 4-bit volume value
ARRAY adrs 16 DWORDS of ADSR counter step values for each adsr values
ARRAY sz 16 DWORDS of sustain values compared to 31-bit ADSR counter
DWORD speed1 internal constant used for sample rate dependent calculations
BYTE update structure needs updating flag
BYTE newsid new SID flag
BYTE laststore last store
BYTE laststorebit last store bit
DWORD laststoreclk CLOCK of the last store
DWORD emulatefilter emulate filters flag
DOUBLE filterDy filter Dy
DOUBLE filterResDy filter Res Dy
BYTE filterType filter type
BYTE filterCurType current filter type
WORD filterValue filter value
ARRAY voice nr 3 DWORDS of voice numbers
ARRAY voice f 3 DWORDS of voice counter value data
ARRAY voice fs 3 DWORDS of voice counter step data
ARRAY voice noise 3 BYTES of voice noise flag data
ARRAY voice adsr 3 DWORDS of voice 31-bit ADSR counter data
ARRAY voice adsrs 3 DWORDS of voice ADSR counter step data
ARRAY voice adsrz 3 DWORDS of voice ADSR sustain level compared to the 31-bit counter data
ARRAY voice sync 3 BYTES of voice hard sync flag data
ARRAY voice filter 3 BYTES of voice filter flag data
ARRAY voice update 3 BYTES of voice structure needs updating flag data
ARRAY voice gateflip 3 BYTES of voice do multiple gate flips flag data
ARRAY voice adsrm 3 BYTES of voice ADSR mode data
ARRAY voice attack 3 BYTES of voice 4-bit attack value data
ARRAY voice decay 3 BYTES of voice 4-bit decay value data
ARRAY voice sustain 3 BYTES of voice 4-bit sustain value data
ARRAY voice release 3 BYTES of voice 4-bit release value data
ARRAY voice rv 3 DWORDS of voice noise shift reguster data
ARRAY voice wt 3 BYTES of voice wavetable index data
ARRAY voice wt_offset 3 WORDS of voice wavetable offset data
ARRAY voice wtpf 3 DWORDS of voice 32-bit offset data
ARRAY voice wtl 3 DWORDS of voice wavetable length data
ARRAY voice wtr[0] 3 WORDS of ring modulation flag data
ARRAY voice wtr[1] 3 WORDS of ring modulation flag data
ARRAY voice filtIO 3 BYTES of filtIO data
ARRAY voice filtLow 3 DOUBLES of filtLow data
ARRAY voice filtRef 3 DOUBLES of filtRef data

src/sid/sid-snapshot.c

The SIDCWMKIII module

Version numbers: Major 1, Minor 4.

Type Name Description
BYTE ntsc NTSC flag
DWORD cycles per second cycles per second
ARRAY registers 32 BYTES of register data

src/sid/sid-snapshot.c

The SIDHARDSID module

Version numbers: Major 1, Minor 4.

Type Name Version Description
ARRAY registers 1.2+ 32 BYTES of register data
DWORD main clock 1.2+ main clock
DWORD alarm clock 1.2+ alarm clock
DWORD last access clock 1.2+ last access clock
DWORD last access ms 1.2+ last access ms
DWORD last access chipno 1.2+ last access chipno
DWORD chip used 1.2+ chip used
ARRAY device map 1.2+ 2 DWORDS of device map data
ARRAY extra device map 1.3 2 DWORDS of device map data

src/sid/sid-snapshot.c

The SIDPARSID module

Version numbers: Major 1, Minor 4.

Type Name Description
ARRAY registers 32 BYTES of register data
BYTE ctr port control port state

src/sid/sid-snapshot.c

The SIDUSBSID module

Version numbers: Major 1, Minor 4.

Type Name Description
ARRAY registers (0x20 * 4) BYTES of register data
QWORD main clk
QWORD alarm clk
BYTE lastaccess_chipno

src/sid/sid-snapshot.c

The DRIVEROM module

Version numbers: Major 1, Minor 0.

Type Name Description
ARRAY drive ROM size depends on drive

src/drive/driverom.c

The DRIVECPU module

Version numbers: Major 1, Minor 3.

Type Name Description
CLOCK clock
UBYTE a
UBYTE x
UBYTE y
UBYTE sp
WORD pc
UBYTE status
DWORD last_opcode_info
CLOCK last_clk
CLOCK cycle_accum
CLOCK last_exc_cycles
CLOCK stop_clk
UBYTE cpu_last_data
ARRAY drive RAM size depends on drive

src/drive/drivecpu.c

The DRIVECPU65C02 module

Version numbers: Major 1, Minor 3.

Type Name Description
CLOCK clock
UBYTE a
UBYTE x
UBYTE y
UBYTE sp
WORD pc
UBYTE status
DWORD last_opcode_info
CLOCK last_clk
CLOCK cycle_accum
CLOCK last_exc_cycles
CLOCK stop_clk
UBYTE cpu_last_data
ARRAY drive RAM size depends on drive

src/drive/drivecpu65c02.c

The DRIVE module

Version numbers: Major 2, Minor 0.

Type Name Description
BYTE has_tde[unit]
BYTE has_drives[unit]
DWORD sync_factor
CLOCK attach_clk
BYTE byte_ready_level
BYTE unit->clock_frequency
WORD current_half_track + (side * DRIVE_HALFTRACKS_1571))
CLOCK detach_clk
BYTE extend_image_policy
DWORD GCR_head_offset
BYTE GCR_read
BYTE GCR_write_value
BYTE unit->idling_method
BYTE unit->parallel_cable
BYTE read_only
DWORD rotation_table_ptr[unr]
DWORD unit->type
DWORD snap_accum
CLOCK snap_rotation_last_clk
DWORD snap_bit_counter
DWORD snap_zero_count
WORD snap_last_read_data
BYTE snap_last_write_data
DWORD snap_seed
DWORD snap_speed_zone
DWORD snap_ue7_dcba
DWORD snap_ue7_counter
DWORD snap_uf4_counter
DWORD snap_fr_randcount
DWORD snap_filter_counter
DWORD snap_filter_state
DWORD snap_filter_last_state
DWORD snap_write_flux
DWORD snap_PulseHeadPosition
DWORD snap_xorShift32
DWORD snap_so_delay
DWORD snap_cycle_index
CLOCK snap_ref_advance
DWORD snap_req_ref_cycles
CLOCK attach_detach_clk
BYTE byte_ready_edge
BYTE byte_ready_active

src/drive/drive-snapshot.c

The FDC module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE STATE FDC state
DWORD CLK clk ticks till next fdc invocation
BYTE NDRV number of drives (1 or 2)
BYTE LTRACK0 last track
BYTE LSECTOR0 last sector
BYTE LTRACK1 last track (if ndrv == 2)
BYTE LSECTOR1 last sector (if ndrv == 2)

src/drive/ieee/fdc.c

The WD1770 module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE data
BYTE track
BYTE sector
BYTE status
BYTE cmd
WORD crc
BYTE command
DWORD type
DWORD step
DWORD byte_count
DWORD tmp
DWORD direction
CLOCK clk
BYTE irq
BYTE dden
BYTE sync
BYTE is1772

src/drive/iec/wd1770.c

The CMDHD module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE LEDs
ARRAY i8255a_i 3
ARRAY i8255a_o 3
BYTE scsi_dir
BYTE preadyff

src/drive/iec/cmdhd.c

The FDD module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE number
BYTE disk_change
BYTE write_protect
BYTE track
BYTE tracks
BYTE head
BYTE sectors
BYTE motor
BYTE rate
BYTE sector_size
BYTE iso
BYTE gap2
BYTE gap3
BYTE head_invert
BYTE disk_rate
DWORD image_sectors
DWORD index_count
DWORD raw.head
BYTE raw.track_head
BYTE raw.dirty
ARRAY raw.data raw.size
ARRAY raw.sync (raw.size + 7) >> 3

src/drive/iec/fdd.c

The VDC module

Version numbers: Major 0, Minor 0.

src/vdc/vdc-snapshot.c

The C64DTVDMA module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY regs 32 BYTES of register data
DWORD source off source offset
DWORD dest off destination offset
DWORD busy DMA busy flag
DWORD IRQ DMA IRQ state
DWORD on IRQ on IRQ
DWORD active DMA active flag
BYTE data DMA data
BYTE data swap DMA data swap flag
DWORD count DMA counter
DWORD state DMA state
DWORD source line off source line offset
DWORD dest line off destination line offset
BYTE source mem type source memory type
BYTE dest mem type destination memory type

src/c64dtv/c64dtvdma.c

The C64DTVBLITTER module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY regs 32 BYTES of register data
DWORD source A off source A offset
DWORD source B off source B offset
DWORD dest off destination offset
DWORD busy busy flag
DWORD IRQ IRQ state
DWORD on IRQ on IRQ flag
DWORD active blitter active flag
ARRAY source A data 4 BYTES of source A data
DWORD source A data off source A data offset
DWORD source A fetched source A fetched counter
ARRAY source B data 4 BYTES of source B data
DWORD source B data off source B data offset
BYTE source A source A
BYTE source B source B
DWORD count blitter count
DWORD state blitter state
DWORD source A line off source A line offset
DWORD source B line off source B line offset
DWORD dest line off destination line offset
BYTE last A last A

src/c64dtv/c64dtvblitter.c

The HUMMERADC module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE hummeradc_value
BYTE hummeradc_channel
BYTE hummeradc_control
BYTE hummeradc_chanattr
BYTE hummeradc_chanwakeup
BYTE hummeradc_prev

src/c64dtv/hummeradc.c

The CARTSPEEDY module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE freeze_active 0.1+ was freeze pressed?
BYTE freeze_active_q 0.1+ was freeze activated?
ARRAY ROM 0.1+ 8KiB of ROM data

src/plus4/cart/speedy.c

The CARTJACINT1MB module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE bankreg 0.1+ state of banking register
ARRAY ROM 0.1+ 1MiB of ROM data

src/plus4/cart/jacint1mb.c

The CARTMULTI module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE bankreg 0.1+ state of banking register
DWORD filesize 0.1+ size of the ROM (combined)
ARRAY ROM C1LO 0.1+ 1MiB/2MiB of ROM data
ARRAY ROM C1HI 0.1+ 1MiB/2MiB of ROM data

src/plus4/cart/multicart.c

The CARTGENERICPLUS4 module

Version numbers: Major 0, Minor 2.

Type Name Version Description
ARRAY ROM C1LO 0.1+ 16kiB of ROM data
ARRAY ROM C1HI 0.1+ 16kiB of ROM data

src/plus4/cart/plus4-generic.c

The PLUS4CART module

Type Name Description
BYTE number_of_carts number of attached carts
BYTE mem_cartridge_type main type
ARRAY cart_ids number_of_carts * DWORD cartridge IDs

src/plus4/cart/plus4cart.c

The CARTMAGIC module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE bankreg 0.1+ state of banking register
DWORD filesize 0.1+ size of the ROM
ARRAY ROM 0.1+ 512KiB/1MiB/2MiB of ROM data

src/plus4/cart/magiccart.c

The FINALEXPANSION module

Version numbers: Major 2, Minor 0.

Type Name Description
BYTE register_a
BYTE register_b
BYTE lock_bit
ARRAY cart_ram CART_RAM_SIZE
ARRAY flash_data CART_ROM_SIZE

src/vic20/cart/finalexpansion.c

The VIC20CART module

Version numbers: Major 2, Minor 1.

Type Name Description
DWORD vic20cart_type
BYTE number_of_carts number of attached carts
ARRAY cart_ids number_of_carts * DWORD cartridge IDs

src/vic20/cart/vic20cart.c

The SUPEREXPANDER module

Version numbers: Major 1, Minor 0.

Type Name Description
ARRAY cart_ram 0x400 * 3 bytes of RAM data
ARRAY cart_rom 0x400 * 4 bytes of ROM data

src/vic20/cart/superexpander.c

The ULTIMEM module

Version numbers: Major 2, Minor 0.

Type Name Description
ARRAY ultimem
ARRAY cart_ram
ARRAY cart_rom

src/vic20/cart/ultimem.c

The BEHRBONZ module

Version numbers: Major 0, Minor 2.

Type Name Description
BYTE bank_reg
BYTE reset_mode
BYTE write_once
ARRAY cart_rom 0x200000 bytes of ROM data

src/vic20/cart/behrbonz.c

The MIKROASSEMBLER module

Version numbers: Major 1, Minor 0.

Type Name Description
ARRAY cart_ram 0x400 * 3 bytes of RAM data
ARRAY cart_rom 0x400 * 8 bytes of ROM data

src/vic20/cart/mikroassembler.c

The MINIMON module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE active cartridge active flag
BYTE io rom cartridge rom in io
BYTE bios write bios writable flag
BYTE image readonly image read-only flag
BYTE bios changed bios changed flag
ARRAY BIOS 2048 bytes of BIOS data ($9800-$9FFF)

src/vic20/cart/minimon.c

The MEGACART module

Version numbers: Major 2, Minor 0.

Type Name Description
BYTE bank_low_reg
BYTE bank_high_reg
BYTE oe_flop
BYTE nvram_en_flop
ARRAY cart_ram 0x8000 bytes of RAM data
ARRAY cart_rom 0x200000 bytes of ROM data
ARRAY cart_nvram 0x2000 bytes of NVRAM data

src/vic20/cart/megacart.c

The CARTGENERICVIC20 module

Version numbers: Major 2, Minor 1.

Type Name Description
DWORD generic_ram_blocks flags for ram blocks
DWORD generic_rom_blocks flags for rom blocks
ARRAY cart_ram 0x9000 bytes of RAM data
ARRAY cart_rom 0x9000 bytes of ROM data

src/vic20/cart/vic20-generic.c

The RABBIT module

Version numbers: Major 0, Minor 1.

Type Name Description
ARRAY cart_rom 2 * 0x400 bytes of ROM data

src/vic20/cart/rabbit.c

The CARTMIDI module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE mode midi mode

src/vic20/cart/vic20-midi.c

The SIDCART module

Version numbers: Major 0, Minor 0.

Type Name Description
WORD address sidcart address
BYTE clock sidcart clock

src/vic20/cart/vic20-sidcart.c

The WRITENOW module

Version numbers: Major 0, Minor 1.

Type Name Description
ARRAY cart_rom 8 * 0x400 bytes of ROM data

src/vic20/cart/writenow.c

The VICFLASHPLUGIN module

Version numbers: Major 2, Minor 0.

Type Name Description
BYTE cart_bank_reg
BYTE cart_cfg_reg
ARRAY cart_ram CART_RAM_SIZE
ARRAY cart_rom CART_ROM_SIZE

src/vic20/cart/vic-fp.c

The IO2RAMCART module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY RAM 1024 BYTES of RAM data

src/vic20/cart/ioramcart.c

The IO3RAMCART module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY RAM 1024 BYTES of RAM data

src/vic20/cart/ioramcart.c

The VDRIVEIMAGE module

Version numbers: Major 2, Minor 0.

src/vdrive/vdrive-snapshot.c

The MAINCPU module

Version numbers: Major 1, Minor 3.

Type Name Description
CLOCK main clock
UBYTE a
UBYTE x
UBYTE y
UBYTE sp
WORD pc
UBYTE status
BYTE r3
BYTE r4
BYTE r5
BYTE r6
BYTE r7
BYTE r8
BYTE r9
BYTE r10
BYTE r11
BYTE r12
BYTE r13
BYTE r14
BYTE r15
BYTE ACM
BYTE YXM
4*BYTE burst_cache
WORD burst_addr
DWORD dtvclockneg
DWORD last_opcode_info
DWORD ane_log_level
DWORD lxa_log_level

src/maincpu.c

The FSDRIVE module

Version numbers: Major 0, Minor 0.

src/serial/fsdrive.c

The FSDRIVE module

Version numbers: Major 0, Minor 0.

src/serial/fsdrive-snapshot.c

The CARTGENERICCBM2 module

Version numbers: Major 0, Minor 2.

Type Name Version Description
ARRAY ROM C1 0.1+ 4kiB of ROM data
ARRAY ROM C2 0.1+ 8kiB of ROM data
ARRAY ROM C4 0.1+ 8kiB of ROM data
ARRAY ROM C6 0.1+ 8kiB of ROM data

src/cbm2/cart/cbm2-generic.c

The CBM2CART module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE number_of_carts number of attached carts
BYTE mem_cartridge_type main type
ARRAY cart_ids number_of_carts * DWORD cartridge IDs

src/cbm2/cart/cbm2cart.c

The UPRTCDS1307 module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE SDA SDA line state
BYTE SCL SCL line state
BYTE rtc save save rtc offset upon detacht

src/userport/userport_rtc_ds1307.c

The UPJOYV8 module

Type Name Description
BYTE select joyport select

src/userport/userport_v8_joystick.c

The UPWIC64 module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE input_state
BYTE input_length

src/userport/userport_wic64.c

The UP8BSS module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE channel channel flag

src/userport/userport_8bss.c

The USERPORT module

Type Name Description
BYTE active userport active flag
BYTE id device id

src/userport/userport.c

The UPIOSIM module

Version numbers: Major 0, Minor 2.

Type Name Description
BYTE PBX IN port b in state
BYTE PBX OUT port b out state
BYTE PAX IN port a in state
BYTE PAX OUT port a out state

src/userport/userport_io_sim.c

The UPSUPERPAD64 module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE COUNTER current count
BYTE LATCH latch line state

src/userport/userport_superpad64.c

The UPDIAGPIN module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE address current state of the diag pin

src/userport/userport_diag_pin.c

The UPDAC module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE sound data sound data
BYTE voice voice

src/userport/userport_dac.c

The UPJOYHIT module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE retval current serial port brigde value

src/userport/userport_hks_joystick.c

The UPJOYKINGSOFT module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE retval current serial port brigde value

src/userport/userport_hks_joystick.c

The UPJOYSTARBYTE module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE retval current serial port bridge value

src/userport/userport_hks_joystick.c

The UPDIGIMAX module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE address current register address
ARRAY sound 4 BYTES of sound data
BYTE voice 0 voice 0 data
BYTE voice 1 voice 1 data
BYTE voice 2 voice 2 data
BYTE voice 3 voice 3 data

src/userport/userport_digimax.c

The UPJOYSYNERGY module

Type Name Description
BYTE select joyport select

src/userport/userport_synergy_joystick.c

The UP_JOY_WOJ module

Type Name Description
BYTE select joyport select

src/userport/userport_woj_joystick.c

The UP_JOY_CGA module

Type Name Description
BYTE select joyport select

src/userport/userport_joystick.c

The UP_RTC_58321A module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE read read line active
BYTE rtcsave save rtc offset when detaching

src/userport/userport_rtc_58321a.c

The UPPETSCII module

Version numbers: Major 0, Minor 2.

Type Name Description
BYTE COUNTER current count
BYTE CLOCK clock line state
BYTE LATCH latch line state

src/userport/userport_petscii_snespad.c

The T64IMAGE module

Version numbers: Major 1, Minor 0.

src/tape/tape-snapshot.c

The TAPIMAGE module

Version numbers: Major 1, Minor 0.

Type Name Description
DWORD tap_size
ARRAY tap file data

src/tape/tape-snapshot.c

The TAPE module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE read_only
BYTE type
DWORD tap->size
BYTE tap->version
BYTE tap->system
DWORD tap->current_file_seek_position
DWORD tap->offset
DWORD tap->cycle_counter
DWORD tap->cycle_counter_total
DWORD tap->counter
DWORD tap->mode
DWORD tap->read_only
DWORD tap->has_changed

src/tape/tape-snapshot.c

The CART128GENERIC module

Version numbers: Major 0, Minor 1.

Type Name Description
ARRAY ext_function_rom 0x8000 bytes of ROM data

src/c128/cart/generic.c

The CARTGMOD2C128 module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE c128gmod2_bank
ARRAY flash_data GMOD2_FLASH_SIZE

src/c128/cart/gmod2c128.c

The PARTNER128 module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE regvalue
BYTE rambank
BYTE isdefreezing
ARRAY nmivector 2 bytes
ARRAY ext_function_rom PARTNER_ROM_SIZE
ARRAY rambanks PARTNER_RAM_SIZE

src/c128/cart/partner128.c

The COMAL80C128 module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE comal80_register bank register value
ARRAY ext_function_rom (0x8000 * 5) + 0x4000 bytes of ROM data

src/c128/cart/comal80.c

The MAGICDESK128 module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE md128reg
BYTE rombank
BYTE bankmask
ARRAY ext_function_rom 0x40*0x4000 bytes of ROM data

src/c128/cart/magicdesk128.c

The WARPSPEED128 module

Version numbers: Major 0, Minor 1.

Type Name Description
ARRAY ext_function_rom 0x4000 bytes of ROM data

src/c128/cart/warpspeed128.c

The KEYBOARD module

Version numbers: Major 1, Minor 1.

Type Name Description
WORD ARRAY keyarr
WORD ARRAY rev_keyarr

src/keyboard.c

The MIDI module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE ctrl control
BYTE status status
BYTE rxdata RX data
BYTE rxdata TX data
BYTE last read last read value
DWORD ticks midi ticks
BYTE intx intx
BYTE rx irq RX IRQ
BYTE rx irq TX IRQ
BYTE alarm active alarm active flag
BYTE IRQ IRQ
DWORD IRQ res IRQ res
BYTE mode midi mode
DWORD int num interrupt number
DWORD alarm clk alarm clock

src/midi.c

The UPPRINTER module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE value return value
BYTE strobe strobe flag

src/printerdrv/interface-userport.c

The HREMEM module

Type Name Description
WORD reg_E888

src/pet/pethre.c

The EVENT module

Version numbers: Major 0, Minor 1.

Type Name Description
DWORD type
CLOCK clock
DWORD size
ARRAY data

src/event.c

The M93C86 module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE eeprom_cs
BYTE eeprom_clock
BYTE eeprom_data_in
BYTE eeprom_data_out
BYTE input_shiftreg
BYTE input_count
BYTE output_shiftreg
BYTE output_count
BYTE command
BYTE addr
BYTE data0
BYTE data1
BYTE write_enable_status
BYTE ready_busy_status
ARRAY m93c86_data 2048 bytes of ROM data

src/core/m93c86.c

The FLASH040 module

Version numbers: Major 2, Minor 0.

Type Name Description
BYTE state
BYTE base_state
BYTE program_byte
ARRAY erase_mask FLASH040_ERASE_MASK_SIZE
BYTE last_read

src/core/flash040core.c

The SCSI module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE state state
BYTE target target
BYTE databus databus
BYTE ack ack
BYTE req req
BYTE bsyi bsyi
BYTE bsyo bsyo
BYTE sel sel
BYTE rst rst
BYTE atn atn
BYTE cd cd
bYTE io io
BYTE msg msg
BYTE link link
BYTE status status
BYTE lun lun
BYTE command command
BYTE sensekey sensekey
BYTE asc asc
BYTE msg_after_status msg_after_status
DWORD seq seq
DWORD cmd_size cmd_size
DWORD address address
DWORD blocks blocks
DWORD data_max data_max
DWORD max_imagesize max_imagesize
ARRAY cmd_buf 256 bytes of cmd_buf
ARRAY data_buf 512 bytes of data_buf

src/core/scsi.c

The FLASH800 module

Version numbers: Major 2, Minor 0.

Type Name Description
BYTE state
BYTE base_state
BYTE program_byte
ARRAY erase_mask FLASH800_ERASE_MASK_SIZE
BYTE last_read

src/core/flash800core.c

The EN25QH128A module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE eeprom_cs
BYTE eeprom_clock
BYTE eeprom_data_in
BYTE eeprom_data_out
BYTE input_shiftreg
BYTE input_count
BYTE output_shiftreg
BYTE output_count
BYTE command
BYTE addr
BYTE write_enable_status
BYTE ready_busy_status
ARRAY spi_flash_data MAX_ROM_SIZE

src/core/spi-flash.c

The RTC_PCF8583 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE clock halt clock halt flag
DWORD clock halt latch hi high DWORD of clock halt offset
DWORD clock halt latch lo low DWORD of clock halt offset
BYTE am pm AM/PM flag
DWORD read bit shift special case bit pattern shift
DWORD latch hi high DWORD of latch offset
DWORD latch lo low DWORD of latch offset
DWORD offset hi high DWORD of RTC offset
DWORD offset lo low DWORD of RTC offset
DWORD old offset hi high DWORD of old RTC offset
DWORD old offset lo low DWORD of old RTC offset
ARRAY clock regs 16 BYTES of register data
ARRAY old clock regs 16 BYTES of old register data
ARRAY clock regs for read 16 BYTES of clock read register data
ARRAY RAM 240 BYTES of RAM data
ARRAY old RAM 240 BYTES of old RAM data
BYTE state current state
BYTE reg current register
BYTE reg ptr current register pointer
BYTE bit current bit
BYTE io byte current I/O BYTE
BYTE sclk SCLK line state
BYTE data DATA line state
BYTE clock register current clock register
STRING device device name STRING

src/core/rtc/pcf8583.c

The RTC_58321A module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE stop stop flag
BYTE 24 hours 24 hours flag
BYTE address current address
DWORD latch hi high DWORD of latch offset
DWORD latch lo low DWORD of latch offset
DWORD offset hi high DWORD of RTC offset
DWORD offset lo low DWORD of RTC offset
DWORD old offset hi high DWORD of old RTC offset
DWORD old offset lo low DWORD of old RTC offset
STRING device device name STRING

src/core/rtc/rtc-58321a.c

The RTC_BQ4830Y module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE clock halt clock halt flag
DWORD clock halt latch hi high DWORD of clock halt offset
DWORD clock halt latch lo low DWORD of clock halt offset
BYTE read latch read latch flag
BYTE write latch write latch flag
DWORD latch hi high DWORD of the read/write offset
DWORD latch lo low DWORD of the read/write offset
DWORD offset hi high DWORD of the RTC offset
DWORD offset lo low DWORD of the RTC offset
DWORD old offset hi high DWORD of the old RTC offset
DWORD old offset lo low DWORD of the old RTC offset
ARRAY clock regs 8 BYTES of register data
ARRAY old clock regs 8 BYTES of old register data
ARRAY clock regs changed 8 BYTES of changed register data
ARRAY RAM 32768 BYTES of RAM data
ARRAY old RAM 32768 BYTES of old RAM data
STRING device device name STRING

src/core/rtc/bq4830y.c

The RTC_72421 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE stop stop flag
BYTE 24 hours 24 hours flag
BYTE day offset offset for day of week
BYTE day latch latch for day of week
BYTE day day of week (needed for above 2)
DWORD latch hi high DWORD of latch offset
DWORD latch lo low DWORD of latch offset
DWORD offset hi high DWORD of RTC offset
DWORD offset lo low DWORD of RTC offset
DWORD old offset hi high DWORD of old RTC offset
DWORD old offset lo low DWORD of old RTC offset
STRING device device name string

src/core/rtc/rtc-72421.c

The RTC_DS1202_1302 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE rtc type RTC type
BYTE clock halt clock halt flag
DWORD clock halt latch hi high DWORD of clock halt offset
DWORD clock halt latch lo low DWORD of clock halt offset
BYTE am pm AM/PM flag
BYTE write protect write protect flag
DWORD latch hi high DWORD of latch offset
DWORD latch lo low DWORD of latch offset
DWORD offset hi high DWORD of RTC offset
DWORD offset lo low DWORD of RTC offset
DWORD old offset hi high DWORD of old RTC offset
DWORD old offset lo low DWORD of old RTC offset
ARRAY clock regs 8 BYTES of register data
ARRAY old clock regs 8 BYTES of old register data
BYTE trickle charge trickle charge
ARRAY RAM 32 BYTES of RAM data
ARRAY old RAM 32 BYTES of old RAM data
BYTE state current RTC read/write state
BYTE reg current register
BYTE bit current bit
BYTE output bit current output bit
BYTE io byte current I/O BYTE
BYTE sclk SCLK line state
BYTE clock register clock register flag
STRING device device name STRING

src/core/rtc/ds1202_1302.c

The RTC_DS1307 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE clock halt clock halt flag
DWORD clock halt latch hi high DWORD of clock halt offset
DWORD clock halt latch lo low DWORD of clock halt offset
BYTE am pm AM/PM flag
DWORD latch hi high DWORD of latch offset
DWORD latch lo low DWORD of latch offset
DWORD offset hi high DWORD of RTC offset
DWORD offset lo low DWORD of RTC offset
DWORD old offset hi high DWORD of old RTC offset
DWORD old offset lo low DWORD of old RTC offset
ARRAY clock regs 8 BYTES of register data
ARRAY old clock regs 8 BYTES of old register data
ARRAY clock regs for read 8 BYTES of register read data
ARRAY RAM 56 BYTES of RAM data
ARRAY old RAM 56 BYTES of old RAM data
BYTE state current state
BYTE reg current register
BYTE reg ptr register pointer
BYTE bit current bit
BYTE io byte current I/O BYTE
BYTE sclk SCLK line state
BYTE data DATA line state
BYTE clock register clock register flag
STRING device device name STRING

src/core/rtc/ds1307.c

The RTC_DS1602 module

Version numbers: Major 0, Minor 0.

Type Name Description
DWORD latch hi high DWORD of latch offset
DWORD latch lo low DWORD of latch offset
DWORD offset 0 hi high DWORD of RTC offset 0
DWORD offset 0 lo low DWORD of RTC offset 0
DWORD offset hi high DWORD of RTC offset
DWORD offset lo low DWORD of RTC offset
DWORD old offset hi high DWORD of old RTC offset
DWORD old offset lo low DWORD of old RTC offset
DWORD reg current register
BYTE state current state
BYTE bit current bit
BYTE io byte current I/O BYTE
BYTE rst RST line state
BYTE clk CLK line state
BYTE data line in DATA in line state
BYTE data line out DATA out line state
STRING device device name STRING

src/core/rtc/ds1602.c

The RTC_DS1216E module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE reset reset flag
BYTE inactive inactive flag
BYTE 12hours 12 hours flag
BYTE pattern pos pattern position
BYTE pattern ignore pattern ignore flag
BYTE output current output bit
BYTE output pos current output position
BYTE day offset day of week offset
BYTE day latch day of week latch
DWORD latch hi high DWORD of the latch offset
DWORD latch lo low DWORD of the latch offset
DWORD offset hi high DWORD of the RTC offset
DWORD offset lo low DWORD of the RTC offset
DWORD old offset hi high DWORD of the old RTC offset
DWORD old offset lo low DWORD of the old RTC offset
ARRAY clock regs 8 BYTES of register data
ARRAY old clock regs 8 BYTES of old register data
ARRAY clock regs changed 8 BYTES of changed register data
STRING device device name STRING

src/core/rtc/ds1216e.c

The RTC_DS12C887 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE clock halt clock halt flag
DWORD clock halt latch hi high DWORD of the clock halt offset
DWORD clock halt latch lo low DWORD of the clock halt offset
BYTE am pm AM/PM flag
BYTE set RTC set in progress flag
DWORD set latch hi high DWORD of the set offset
DWORD set latch lo low DWORD of the set offset
DWORD offset hi high DWORD of the RTC offset
DWORD offset lo low DWORD of the RTC offset
DWORD old offset hi high DWORD of the old RTC offset
DWORD old offset lo low DWORD of the old RTC offset
BYTE bcd BCD mode flag
BYTE alarm flag alarm flag
BYTE end of update flag end of update flag
ARRAY clock regs 11 BYTES of register data
ARRAY old clock regs 11 BYTES of old register data
ARRAY clock regs changed 11 BYTES of changed register data
ARRAY ctrl regs 2 BYTES of control register data
ARRAY RAM 128 BYTES of RAM data
ARRAY old RAM 128 BYTES of old RAM data
BYTE reg current register
BYTE prev second previous second
STRING device device name STRING

src/core/rtc/ds12c887.c

The C64GLUE module

Version numbers: Major 1, Minor 1.

Type Name Description
BYTE type glue logic type
BYTE old vbank old video bank
BYTE alarm active alarm is active

src/c64/c64gluelogic.c

The C64VSIDROM module

Version numbers: Major 0, Minor 1.

Type Name Description
ARRAY KERNAL 8192 BYTES of KERNAL ROM data
ARRAY BASIC 8192 BYTES of BASIC ROM data
ARRAY CHARGEN 4096 BYTES of CHARGEN ROM data

src/c64/vsidmemsnapshot.c

The C64VSIDMEM module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE pport data 0.0+ CPU port data register
BYTE pport dir 0.0+ CPU port direction register
BYTE EXROM 0.0+ EXROM line state
BYTE GAME 0.0+ GAME line state
ARRAY RAM 0.0+ 65536 BYTES of RAM data
BYTE pport data out 0.0+ CPU port data out lines state
BYTE pport data read 0.0+ CPU port data in lines state
BYTE pport dir read 0.0+ CPU port direction in lines state

src/c64/vsidmemsnapshot.c

The C64MEMHACKS module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE hacks which memory hack is active

src/c64/c64-memory-hacks.c

The PLUS256K module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE register register
BYTE video bank current video bank
BYTE low bank current low bank
BYTE high bank current high bank
BYTE write protect write protect flag
ARRAY RAM 262144 BYTES of RAM data

src/c64/plus256k.c

The CARTEASYCALC module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY ROML 8192 BYTES of ROML data
ARRAY ROMH 16384 BYTES of ROMH data

src/c64/cart/easycalc.c

The CARTDQBB module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE enabled cartridge enabled flag
BYTE read write read/write flag
BYTE a000 map $A000 mapped flag (GAME line)
BYTE off dqbb off flag
BYTE register register
BYTE exrom state of EXROM line
BYTE size RAM size in kb
BYTE bank selected ram bank
ARRAY RAM <size> BYTES of RAM data

src/c64/cart/dqbb.c

The CARTCAPTURE module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE enabled cartridge enabled flag
BYTE freeze pressed freeze button pressed flag
BYTE register enable register enable flag
BYTE ROMH enable ROMH enable flag
ARRAY ROMH 8192 BYTES of ROMH data
ARRAY RAM 8192 BYTES of RAM data

src/c64/cart/capture.c

The CARTBLACKBOX9 module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE currmode cartridge mode
BYTE currbank selected bank
ARRAY ROML 8192 bytes of ROM data
ARRAY ROMH 8192 bytes of ROM data

src/c64/cart/blackbox9.c

The CARTRGCD module

Version numbers: Major 0, Minor 4.

Type Name Version Description
BYTE regval 0.1+ register
BYTE disabled 0.2 cartridge disabled flag
BYTE revision 0.3 hw revision
BYTE mask 0.4 bank mask
ARRAY ROML 0.1+ 65536 BYTES of ROML data

src/c64/cart/rgcd.c

The CARTMF module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE RAM page current RAM page
BYTE I/O-1 enable I/O-1 enable flag
BYTE kernal enable kernal enable flag
BYTE freeze enable freeze enable flag
BYTE export game game line state
BYTE hw version hardware version
ARRAY ROML 131072 BYTES of ROML data
ARRAY RAM 8192 BYTES of RAM data
BYTE CTRL A A control register
BYTE CTRL B B control register
BYTE DATA A A data register
BYTE DATA B B data register
BYTE DIR A A direction register
BYTE DIR B B direction register
BYTE CA2 CA2 line flag
BYTE CA2 state CA2 line state
BYTE CB2 CB2 line flag
BYTE CB2 state CB2 line state

src/c64/cart/magicformel.c

The CARTPAGEFOX module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE enabled 0.1 cartridge enabled flag
BYTE bank 0.0+ current bank
ARRAY RAM 0.0+ 32768 BYTES of RAM data
ARRAY ROML 0.0+ 32768 BYTES of ROML data
ARRAY ROMH 0.0+ 32768 BYTES of ROMH data

src/c64/cart/pagefox.c

The CARTREXEP256 module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE regval 0.1 register
ARRAY EPROM sizes 0.0+ 8 WORDS of EPROM sizes in BYTES
ARRAY ROML offsets 0.0+ 8 BYTES of EPROM ofsets
ARRAY ROML 0.0+ 270336 BYTES of ROML data

src/c64/cart/rexep256.c

The CARTISEPIC module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE enabled cartridge enabled flag
BYTE switch switch flag
BYTE page current page
ARRAY RAM 2048 BYTES of RAM data

src/c64/cart/isepic.c

The CARTFCP module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE enable cartridge enabled flag
BYTE bit7 bit 7 of the register
BYTE ROML bank ROML bank
BYTE ROMH bank ROMH bank
ARRAY ROML 16384 BYTES of ROML data
ARRAY ROMH 8192 BYTES of ROMH data

src/c64/cart/finalplus.c

The CPMCART module

Version numbers: Major 0, Minor 0.

Type Name Description
DWORD CLK main CPU clock
BYTE A A register
BYTE B B register
BYTE C C register
BYTE D D register
BYTE E E register
BYTE F F register
BYTE H H register
BYTE L L register
BYTE IXH IXH register
BYTE IXL IXL register
BYTE IYH IYH register
BYTE IYL IYL register
WORD SP stack pointer register
DWORD PC program counter register
BYTE I I register
BYTE R R register
BYTE IFF1 IFF1 register
BYTE IFF2 IFF2 register
BYTE im mode im mode flag
BYTE A2 A2 register
BYTE B2 B2 register
BYTE C2 C2 register
BYTE D2 D2 register
BYTE E2 E2 register
BYTE F2 F2 register
BYTE H2 H2 register
BYTE L2 L2 register
DWORD opcode info last opcode info
DWORD opcode address last opcode address

src/c64/cart/cpmcart.c

The REU1764 module

Version numbers: Major 0, Minor 0.

Type Name Description
DWORD size size of REU in KB
ARRAY registers 16 BYTES of register data
ARRAY RAM 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608 or 16777216 BYTES of RAM data

src/c64/cart/reu.c

The CARTEPYX module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE active 0.1 cartridge active flag
DWORD alarm 0.0+ alarm time
ARRAY ROML 0.0+ 8192 BYTES of ROML data

src/c64/cart/epyxfastload.c

The CARTDELAEP256 module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE regval 0.1 register
BYTE bank 0.0+ current bank
ARRAY ROML 0.0+ 262144 BYTES of ROML data

src/c64/cart/delaep256.c

The CARTBB8 module

Version numbers: Major 1, Minor 1.

Type Name Version Description
BYTE ROML banks 1.1 amount of ROML banks
BYTE register 1.1 register
ARRAY ROML 1.1 32768 or 65536 BYTES of ROML data
ARRAY ROMH 1.1 32768 or 65536 BYTES of ROML data

src/c64/cart/blackbox8.c

The CARTAR4 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE active cartridge active flag
ARRAY ROML 32768 BYTES of ROML data

src/c64/cart/actionreplay4.c

The CARTGMOD2 module

Version numbers: Major 0, Minor 2.

Type Name Description
BYTE gmod2_cmode
BYTE gmod2_bank
ARRAY flash_data GMOD2_FLASH_SIZE

src/c64/cart/gmod2.c

The CARTBB3 module

Version numbers: Major 1, Minor 0.

Type Name Version Description
BYTE bb3_rom_enabled 1.0 1 if ROM is enabled (informal)
ARRAY ROML 1.0 8192 of ROML data

src/c64/cart/blackbox3.c

The CARTDELAEP7X8 module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE regval 0.1 register
BYTE bank 0.0+ current bank
ARRAY ROML 0.0+ 65536 BYTES of ROML data

src/c64/cart/delaep7x8.c

The CARTROSS module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE is32k 0.1 cart is 32KB flag
BYTE bank 0.0+ current bank
ARRAY ROML 0.0+ 16384 BYTES of ROML data
ARRAY ROMH 0.0+ 16384 BYTES of ROMH data

src/c64/cart/ross.c

The CARTSNAP64 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE ROM config ROM configuration
ARRAY ROML 4096 BYTES of ROML data

src/c64/cart/snapshot64.c

The CARTFUNPLAY module

Version numbers: Major 1, Minor 1.

Type Name Version Description
BYTE regval 1.1 register
BYTE bank 0.0+ current bank
ARRAY ROML 1.0+ 131072 BYTES of ROML data

src/c64/cart/funplay.c

The CARTOCEAN module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE bank current bank
BYTE IO1 mask I/O-1 mask
BYTE register register
DWORD ROML size ROML size
ARRAY ROML 524288 BYTES of ROML data

src/c64/cart/ocean.c

The CARTSDBOX module

Version numbers: Major 1, Minor 0.

Type Name Version Description
BYTE regval 1.0 register
BYTE currbank 1.0 current bank
BYTE reg_enable 1.0 flag: is the register enabled
BYTE regs 1.0 4 bytes of "RAM"
ARRAY ROML 1.0 8*8k BYTES of ROML data
ARRAY ROMH 1.0 8*8k BYTES of ROMH data

src/c64/cart/sdbox.c

The C64CART module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE num carts number of active cartridges
DWORD mem_cartridge_type
BYTE game
BYTE exrom
DWORD romh_bank
DWORD roml_bank
BYTE export_ram
BYTE ultimax_phi1
BYTE ultimax_phi2
CLOCK cart_freeze_alarm_time
CLOCK cart_nmi_alarm_time
BYTE export_slot1.game
BYTE export_slot1.exrom
BYTE export_slot1.ultimax_phi1
BYTE export_slot1.ultimax_phi2
BYTE export_slotmain.game
BYTE export_slotmain.exrom
BYTE export_slotmain.ultimax_phi1
BYTE export_slotmain.ultimax_phi2
BYTE export_passthrough.game
BYTE export_passthrough.exrom
BYTE export_passthrough.ultimax_phi1
BYTE export_passthrough.ultimax_phi2
DWORD reserved
DWORD reserved
DWORD reserved
DWORD reserved
ARRAY cart ids <num cart> IDs of active cartridges

src/c64/cart/c64carthooks.c

The CARTMD16 module

Version numbers: Major 0, Minor 2.

Type Name Description
BYTE regval bank register value
BYTE bankmask bank mask
ARRAY roml_banks 128 * 8192 bytes of ROML data
ARRAY romh_banks 128 * 8192 bytes of ROMH data

src/c64/cart/magicdesk16.c

The CARTGMOD3 module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE gmod3_cmode
BYTE gmod3_bank
ARRAY gmod3_rom GMOD3_16MB_FLASH_SIZE

src/c64/cart/gmod3.c

The CARTTURTLEGFX module

Version numbers: Major 0, Minor 2.

Type Name Version Description
BYTE bank 0.1 current bank
BYTE active 0.1 cartridge active flag
ARRAY ROML 0.0+ 16384 BYTES of ROML data

src/c64/cart/turtlegraphics.c

The CARTIEEEFLASH64 module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY ROMH 8192 BYTES of ROMH data

src/c64/cart/ieeeflash64.c

The GEORAM module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE io swap 0.1 VIC20 I/O swap flag
DWORD size 0.0+ size in KiB
ARRAY regs 0.0+ 2 BYTES of register data
ARRAY RAM 0.0+ 65536, 131072, 262144, 524288, 1048576, 2097152 or 4194304 BYTES of RAM data

src/c64/cart/georam.c

The CARTDS12C887RTC module

Version numbers: Major 0, Minor 0.

Type Name Description
DWORD base base address of the RTC

src/c64/cart/ds12c887rtc.c

The CARTLTK module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE rom ltk_rom
BYTE raml ltk_raml
BYTE ramh ltk_ramh
BYTE ramwrite ltk_ramwrite
BYTE freeze ltk_freeze
BYTE on ltk_on
BYTE in2 ltk_in2
BYTE io ltk_io
BYTE port ltk_port
DWORD alarm_time ltk_alarm_time
ARRAY ROML 8192 BYTES of ROML data (boot rom, $8000-$9FFF)
ARRAY export_ram0 16384 BYTES of export RAM data (RAML & RAMH)
MC6821 SNAPSHOT6821 ltk_6821
SCSI SNAPSHOTSCSI ltk_scsi

src/c64/cart/ltkernal.c

The CARTMIKROASS module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY ROML 8192 BYTES of ROML data

src/c64/cart/mikroass.c

The CARTMEGABYTER module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE register 0 register 0
BYTE register 2 register 2
ARRAY ROML 1048576 BYTES of ROML data

src/c64/cart/megabyter.c

The CARTPROFIDOS module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY ROMH $4000 BYTES of ROMH data

src/c64/cart/profidos.c

The CARTDIGIMAX module

Version numbers: Major 0, Minor 0.

Type Name Description
DWORD base base address of the control registers
ARRAY sound data 4 BYTES of sound data
BYTE voice 0 voice 0 data
BYTE voice 1 voice 1 data
BYTE voice 2 voice 2 data
BYTE voice 3 voice 3 data

src/c64/cart/digimax.c

The CARTMIDI module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE mode midi mode

src/c64/cart/c64-midi.c

The CARTFINALV1 module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE active 0.1 cartridge active flag
ARRAY ROML 0.0+ 8192 BYTES of ROML data
ARRAY ROMH 0.0+ 8192 BYTES of ROMH data

src/c64/cart/final.c

The CARTGENERICC64 module

Version numbers: Major 0, Minor 1.

Type Name Description
ARRAY ROML 8192 BYTES of ROML data
ARRAY ROMH 8192 BYTES of ROMH data

src/c64/cart/c64-generic.c

The CARTUC2 module

Version numbers: Major 0, Minor 2.

Type Name Description
BYTE regA bank register value
BYTE regB mode
BYTE bankmask bank mask
ARRAY roml_banks 32 * 8192 bytes of ROML data
ARRAY romh_banks 32 * 8192 bytes of ROMH data
ARRAY cart_ram 512kiB of RAM data

src/c64/cart/uc2.c

The CARTSFXSE module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE IO swap 0.1 VIC20 I/O swap flag
DWORD chip type 0.0+ chip type
BYTE sound command 0.0+ sound command
DWORD ch 0 slot 0 ar 0.0+ channel 0, slot 0, ar
DWORD ch 0 slot 0 dr 0.0+ channel 0, slot 0, dr
DWORD ch 0 slot 0 rr 0.0+ channel 0, slot 0, rr
BYTE ch 0 slot 0 KSR 0.0+ channel 0, slot 0, KSR
BYTE ch 0 slot 0 ksl 0.0+ channel 0, slot 0, ksl
BYTE ch 0 slot 0 ksr 0.0+ channel 0, slot 0, ksr
BYTE ch 0 slot 0 mul 0.0+ channel 0, slot 0, mul
DWORD ch 0 slot 0 Cnt 0.0+ channel 0, slot 0, Cnt
DWORD ch 0 slot 0 Incr 0.0+ channel 0, slot 0, Incr
BYTE ch 0 slot 0 FB 0.0+ channel 0, slot 0, FB
DWORD ch 0 slot 0 connect1 0.0+ channel 0, slot 0, connect1
DWORD ch 0 slot 0 op1 out 0 0.0+ channel 0, slot 0, op1 out 0
DWORD ch 0 slot 0 op1 out 1 0.0+ channel 0, slot 0, op1 out 1
BYTE ch 0 slot 0 CON 0.0+ channel 0, slot 0, CON
BYTE ch 0 slot 0 eg type 0.0+ channel 0, slot 0, eg type
BYTE ch 0 slot 0 state 0.0+ channel 0, slot 0, state
DWORD ch 0 slot 0 TL 0.0+ channel 0, slot 0, TL
DWORD ch 0 slot 0 TLL 0.0+ channel 0, slot 0, TLL
DWORD ch 0 slot 0 volume 0.0+ channel 0, slot 0, volume
DWORD ch 0 slot 0 sl 0.0+ channel 0, slot 0, sl
BYTE ch 0 slot 0 eg sh ar 0.0+ channel 0, slot 0, eg sh ar
BYTE ch 0 slot 0 eg sel ar 0.0+ channel 0, slot 0, eg sel ar
BYTE ch 0 slot 0 eg sh dr 0.0+ channel 0, slot 0, eg sh dr
BYTE ch 0 slot 0 eg sel dr 0.0+ channel 0, slot 0, eg sel dr
BYTE ch 0 slot 0 eg sh rr 0.0+ channel 0, slot 0, eg sh rr
BYTE ch 0 slot 0 eg sel rr 0.0+ channel 0, slot 0, eg sel rr
DWORD ch 0 slot 0 key 0.0+ channel 0, slot 0, key
DWORD ch 0 slot 0 AMmask 0.0+ channel 0, slot 0, AMmask
BYTE ch 0 slot 0 vib 0.0+ channel 0, slot 0, vib
WORD ch 0 slot 0 wavetable 0.0+ channel 0, slot 0, wavetable
DWORD ch 0 slot 1 ar 0.0+ channel 0, slot 1, ar
DWORD ch 0 slot 1 dr 0.0+ channel 0, slot 1, dr
DWORD ch 0 slot 1 rr 0.0+ channel 0, slot 1, rr
BYTE ch 0 slot 1 KSR 0.0+ channel 0, slot 1, KSR
BYTE ch 0 slot 1 ksl 0.0+ channel 0, slot 1, ksl
BYTE ch 0 slot 1 ksr 0.0+ channel 0, slot 1, ksr
BYTE ch 0 slot 1 mul 0.0+ channel 0, slot 1, mul
DWORD ch 0 slot 1 Cnt 0.0+ channel 0, slot 1, Cnt
DWORD ch 0 slot 1 Incr 0.0+ channel 0, slot 1, Incr
BYTE ch 0 slot 1 FB 0.0+ channel 0, slot 1, FB
DWORD ch 0 slot 1 connect1 0.0+ channel 0, slot 1, connect1
DWORD ch 0 slot 1 op1 out 0 0.0+ channel 0, slot 1, op1 out 0
DWORD ch 0 slot 1 op1 out 1 0.0+ channel 0, slot 1, op1 out 1
BYTE ch 0 slot 1 CON 0.0+ channel 0, slot 1, CON

src/c64/cart/sfx_soundexpander.c

The CARTGS module

Version numbers: Major 1, Minor 1.

Type Name Description
BYTE regval bank register value
BYTE currbank current bank
ARRAY roml_banks 64 * 8192 bytes of ROM data

src/c64/cart/gs.c

The CARTSS5 module

Version numbers: Major 0, Minor 3.

Type Name Version Description
BYTE ROM bank 0.2 current ROM bank
BYTE register 0.2 register
BYTE ROM config 0.0+ ROM configuration
BYTE RAM bank 0.0+ current RAM bank
BYTE 32K enabled 0.1+ 32KB enabled flag
BYTE ROM disable 0.1+ ROM disable flag
BYTE ROM banks 0.3 number of ROM banks (4 or 8)
ARRAY ROML 0.0+ 0x8000 or 0x10000 BYTES of ROML data
ARRAY ROMH 0.0+ 0x8000 or 0x10000 BYTES of ROMH data
ARRAY RAM 0.0+ 32768 BYTES of RAM data

src/c64/cart/supersnapshot.c

The CARTMMC64 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE clockport enable clockport enable flag
WORD clockport address clockport address
BYTE bios write bios writable flag
BYTE bit 7 unlocked bit 7 unlocked flag
ARRAY unlocking 2 BYTES of unlocking data
BYTE bios changed bios changed flag
BYTE flash jumper flash jumper state
BYTE write protect write protect flag
BYTE active cartridge active flag
BYTE SPI mode SPI mode
BYTE extrom extrom flag
BYTE flash mode flash mode
BYTE cport cport
BYTE speed speed
BYTE cardsel cardsel
BYTE biossel biossel
BYTE extexrom EXROM line state
BYTE extgame GAME line state
BYTE revision MMC64 revision
BYTE SD type SD type
BYTE image readonly image read-only flag
ARRAY BIOS 8194 BYTES of BIOS data
BYTE BIOS offset BIOS offset
BYTE BIOS type BIOS type

src/c64/cart/mmc64.c

The SHORTBUSDIGIMAX module

Version numbers: Major 0, Minor 0.

Type Name Description
DWORD base base address
ARRAY sound data 4 BYTES of sound data
BYTE voice 0 voice 0 state
BYTE voice 1 voice 1 state
BYTE voice 2 voice 2 state
BYTE voice 3 voice 3 state

src/c64/cart/shortbus_digimax.c

The CARTDINAMIC module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE bank current bank
ARRAY ROML 8192 BYTES of ROML data

src/c64/cart/dinamic.c

The CARTSE5 module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE bank 0.1 current bank
ARRAY ROML 0.0+ 16384 BYTES of ROML data

src/c64/cart/superexplode5.c

The CARTCOMAL module

Version numbers: Major 0, Minor 2.

Type Name Description
BYTE register control register
BYTE extra rom image contains extra eprom
BYTE revision hardware variant
ARRAY ROML 32768 or 65536 BYTES of ROML data
ARRAY ROMH 32768 or 65536 BYTES of ROMH data

src/c64/cart/comal80.c

The CARTFC3 module

Version numbers: Major 1, Minor 2.

Type Name Version Description
BYTE ROML banks 1.2 amount of ROML banks
BYTE register 1.2 register
BYTE reg enabled 0.0+ register enabled flag
ARRAY ROML 1.1+ 32768 or 131072 BYTES of ROML data
ARRAY ROMH 1.1+ 32768 or 131072 BYTES of ROML data

src/c64/cart/final3.c

The CARTPARTNER64 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE active cartridge is active
ARRAY ROML 8192 BYTES of ROML data
ARRAY ROMH 8192 BYTES of ROMH data
ARRAY RAM 8192 BYES of RAM data

src/c64/cart/partner64.c

The CARTRRF module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE cart_enabled cartridge active flag
BYTE ram_enabled RAM enabled at $8000
BYTE ram_writeable RAM is writeable
BYTE ram_bank currently selected RAM bank
ARRAY ROML 8192 BYTES of ROML data
ARRAY RAM 256k BYTES of RAM data

src/c64/cart/rexramfloppy.c

The SHORTBUS module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE amount amount of active shortbus devices
BYTE digimax active digimax active flag
BYTE duart active duart active flag
BYTE etfe active etfe active flag
BYTE eth64 active eth64 active flag

src/c64/cart/shortbus.c

The CARTGK module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE disable cartridge disable flag
ARRAY ROMH 8192 BYTES of ROMH data

src/c64/cart/gamekiller.c

The CARTSTARDOS module

Version numbers: Major 0, Minor 1.

Type Name Description
DWORD stardos_alarm_time alarm time for cap discharge
DWORD cap_voltage cap voltage
BYTE roml_enable is roml enabled?
ARRAY roml_banks 8192 bytes of ROML data
ARRAY romh_banks 8192 bytes of ROMH data

src/c64/cart/stardos.c

The CARTMULTIMAX module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE currbank current ROM bank
BYTE reg_enabled flag, is the register enabled?
ARRAY ROML 512K of ROML data
ARRAY ROMH 512K of ROMH data
ARRAY RAM 2048 BYTES of RAM data

src/c64/cart/multimax.c

The CARTMAXBASIC module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY ROML 8192 BYTES of ROML data
ARRAY ROMH 8192 BYTES of ROMH data
ARRAY RAM 2048 BYTES of RAM data

src/c64/cart/maxbasic.c

The CARTSFXSS module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE IO swap 0.1 VIC20 I/O swap flag
BYTE sound data 0.0+ sound data

src/c64/cart/sfx_soundsampler.c

The CARTFFMK2 module

Version numbers: Major 0, Minor 0.

Type Name Version Description
BYTE ROML toggle 0.0+ ROML toggle flag
BYTE freeze mode 0.0+ flag: are we in freeze mode
ARRAY ROML 0.0+ 8192 BYTES of ROML data
ARRAY ROMH 0.0+ 8192 BYTES of ROMH data

src/c64/cart/freezeframe2.c

The CARTZAXXON module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY ROML 8192 BYTES of ROML data
ARRAY ROMH 16384 BYTES of ROMH data

src/c64/cart/zaxxon.c

The CARTBB3 module

Version numbers: Major 1, Minor 0.

Type Name Version Description
BYTE bis_rom_enabled 1.0 1 if ROM is enabled (informal)
BYTE bis_rom_kb 1.0 2/4/8 kb ROM
ARRAY ROML 1.0 8192 of ROML data

src/c64/cart/bisplus.c

The CARTF64 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE enabled cartridge enabled flag
ARRAY ROMH 32768 BYTES of ROMH data
BYTE CTRL A control register A
BYTE CTRL B control register B
BYTE DATA A data register A
BYTE DATA B data register B
BYTE DIR A direction register A
BYTE DIR B direction register B
BYTE CA2 CA2 line flag
BYTE CA2 state CA2 line state
BYTE CB2 CB2 line flag
BYTE CB2 state CB2 line state

src/c64/cart/formel64.c

The CARTAR module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE active cartridge is active
ARRAY ROML 32768 BYTES of ROML data
ARRAY ROMH 32768 BYTES of ROMH data
ARRAY RAM 8192 BYES of RAM data

src/c64/cart/actionreplay.c

The CARTUC1 module

Version numbers: Major 0 , Minor 2 .

Type Name Description
BYTE regval
BYTE bankmask
ARRAY roml_banks 0x2000 * MAXBANKS
ARRAY romh_banks 0x2000 * MAXBANKS
ARRAY cart_ram CART_RAM_SIZE

src/c64/cart/uc1.c

The CARTAP module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE active cartridge active flag
BYTE ram at a000 RAM at $A000 flag
ARRAY ROML 32768 BYTES of ROML data
ARRAY RAM 8192 BYTES of RAM data

src/c64/cart/atomicpower.c

The CARTP64 module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE bank 0.1 current bank
BYTE register 0.1 register
ARRAY ROML 0.0+ 262144 BYTES of ROML data

src/c64/cart/prophet64.c

The CARTMAGICD module

Version numbers: Major 0, Minor 2.

Type Name Description
BYTE regval bank register value
BYTE bankmask bank mask
ARRAY roml_banks 128 * 8192 bytes of ROM data

src/c64/cart/magicdesk.c

The CARTDELAEP64 module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE regval 0.1 register
BYTE bank 0.0+ current bank
ARRAY ROML 0.0+ 73728 BYTES of ROML data

src/c64/cart/delaep64.c

The CARTSTB module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE bank 0.1 current bank
BYTE active 0.1 cartridge active flag
ARRAY ROML 0.0+ 16384 BYTES of ROML data

src/c64/cart/stb.c

The CARTEXOS module

Version numbers: Major 0, Minor 0.

Type Name Description
ARRAY ROMH 8192 BYTES of ROMH data

src/c64/cart/exos.c

The CARTRR module

Version numbers: Major 0, Minor 3.

Type Name Version Description
BYTE revision 0.1+ RR revision
BYTE active 0.0+ cartridge active flag
BYTE frozen 0.2+ frozen flag
BYTE cmode 0.3 cmode
BYTE clockport enabled 0.0+ clockport enabled flag
BYTE bank 0.0+ current bank
BYTE write once 0.0+ write once flag
BYTE allow bank 0.0+ allow bank flag
BYTE no freeze 0.0+ no freeze flag
BYTE REU mapping 0.0+ REU mapping flag
BYTE RAM at a000 0.1+ RAM at $A000 flag
BYTE flash jumper 0.0+ flash jumper state
BYTE bank jumper 0.0+ bank jumper state
BYTE ROM offset 0.0+ ROM offset
ARRAY ROML 0.0+ 131072 BYTES of ROML data
ARRAY RAM 0.0+ 32768 BYTES of RAM data

src/c64/cart/retroreplay.c

The CARTRAMCART module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE enabled cartridge enabled flag
BYTE readonly read-only flag
DWORD BSIZE RAM size in BYTES
BYTE KBSIZE RAM size in KB
ARRAY registers 2 BYTES of register data
ARRAY RAM 65536 or 131072 BYTES of RAM data

src/c64/cart/ramcart.c

The CARTIDE module

Version numbers: Major 0, Minor 0.

Type Name Description
WORD version IDE64 version
ARRAY ROML 65536 (3.x) / 131072 (4.1) / 524288 (4.2) BYTES of ROML data
ARRAY RAM 32768 BYTES of RAM data
DWORD bank current bank
DWORD config current config
DWORD kill port kill port flag
DWORD idrive idrive
WORD in d030 input state of $d030 register
WORD out d030 output state of $d030 register

src/c64/cart/ide64.c

The CARTMACH5 module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE active 0.1 cartridge active flag
ARRAY ROML 0.0+ 8192 BYTES of ROML data

src/c64/cart/mach5.c

The CARTKCS module

Version numbers: Major 0, Minor 3.

Type Name Version Description
BYTE config 0.2 current configuration
ARRAY ROML 0.0+ 8192 BYTES of ROML data
ARRAY ROMH 0.0+ 8192 BYTES of ROMH data
ARRAY RAM 0.0+ 128 BYTES of RAM data

src/c64/cart/kcs.c

The CARTKINGSOFT module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE mode mode
ARRAY ROML 8192 BYTES of ROML data
ARRAY ROMH 16384 BYTES of ROMH data

src/c64/cart/kingsoft.c

The CARTREXUTIL module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE active 0.1 cartridge active flag
ARRAY ROML 0.0+ 524288 BYTES of ROML data

src/c64/cart/rexutility.c

The CARTEF module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE jumper jumper
BYTE register 0 register 0
BYTE register 2 register 2
ARRAY RAM 256 BYTES of RAM data
ARRAY ROML 524288 BYTES of ROML data
ARRAY ROMH 524288 BYTES of ROMH data

src/c64/cart/easyflash.c

The CARTEXPERT module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE mode cartridge mode
BYTE register enable register enable flag
BYTE RAM writable RAM writable flag
BYTE RAMH enable RAMH enable flag
ARRAY RAM 8192 BYTES of RAM data

src/c64/cart/expert.c

The CARTSS4 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE RAM config RAM configuration
BYTE ROM config ROM configuration
ARRAY ROML 16384 BYTES of ROML data
ARRAY ROMH 16384 BYTES of ROMH data
ARRAY RAM 8192 BYTES of RAM data

src/c64/cart/supersnapshot4.c

The CARTZIPP module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE active 0.1 cartridge active flag
DWORD alarm 0.0+ alarm time
ARRAY ROML 0.0+ 8192 BYTES of ROML data

src/c64/cart/zippcode48.c

The CARTWEST module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE ROM a000 0.1 ROM at $A000 flag
ARRAY ROML 0.0+ 8192 BYTES of ROML data
ARRAY ROMH 0.0+ 8192 BYTES of ROMH data

src/c64/cart/westermann.c

The CARTFREEZEF module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE ROM 8000 0.1 ROM $8000 active flag
BYTE ROM E000 0.1 ROM $E000 active flag
ARRAY ROML 0.0+ 8192 BYTES of ROML data

src/c64/cart/freezeframe.c

The CARTHYPERBASIC module

Version numbers: Major 0, Minor 0.

Type Name Version Description
BYTE regval 0.0 register
ARRAY ROML 0.0 65536 BYTES of ROML data

src/c64/cart/hyperbasic.c

The CARTBMPDATATURBO module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE ROM 8000 0.1 ROM at $8000 flag
ARRAY ROML 0.0+ 8192 BYTES of ROML data
ARRAY ROMH 0.0+ 8192 BYTES of ROMH data

src/c64/cart/bmpdataturbo.c

The CARTFREEZEM module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE ROM A14 0.0+ A14 line state
BYTE ROML toggle 0.0+ ROML toggle flag
BYTE allow toggle 0.1 allow toggle flag
ARRAY ROML 0.0+ 16384 BYTES of ROML data
ARRAY ROMH 0.0+ 16384 BYTES of ROMH data

src/c64/cart/freezemachine.c

The CARTSUPERGAMES module

Version numbers: Major 0, Minor 2.

Type Name Version Description
BYTE mode 0.2 current mode
BYTE regval 0.2 register
BYTE bank 0.0+ current bank
BYTE reg latched 0.1 register latched flag
ARRAY ROML 0.0+ 32768 BYTES of ROML data
ARRAY ROMH 0.0+ 32768 BYTES of ROMH data

src/c64/cart/supergames.c

The CARTRAMLINK module

Version numbers: Major 0, Minor 0.

Type Name Description
INT32 cardsizemb rl_cardsizemb
UINT32 rombase rl_rombase
UINT32 kernbase rl_kernbase
UINT32 rambase rl_rambase
UINT32 cardaddr rl_cardaddr
UINT32 io1mode rl_io1mode
UINT32 reu_trap rl_reu_trap
BYTE on rl_on
BYTE dos rl_dos
ARRAY i8255a_i 3 internal inputs for I8255A
ARRAY i8255a_o 3 internal outputs for I8255A
ARRAY rom rl_rom 64 KiB for firmware
ARRAY ram rl_ram 8 KiB for SRAM
I8255A SNAPSHOTI8255A rl_8255
ARRAY rl_card Contents of RAMCARD (cardsibemb) in MiB

src/c64/cart/ramlink.c

The CARTAR2 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE enabled cartidge enabled flag
DWORD cap enable capacitor enable counter
DWORD cap disable capacitor disable counter
ARRAY ROML 16768 BYTES of ROML data

src/c64/cart/actionreplay2.c

The CARTDREAN module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE regval bank register value
BYTE bankmask bank mask
ARRAY roml_banks 4 * 8192 bytes of ROML data

src/c64/cart/drean.c

The CARTDSM module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE active 0.1 cartridge active flag
ARRAY ROML 0.0+ 8192 BYTES of ROML data

src/c64/cart/diashowmaker.c

The CARTBB4 module

Version numbers: Major 1, Minor 0.

Type Name Version Description
BYTE bb4_rom_enabled 1.0 1 if ROM is enabled (informal)
ARRAY ROML 1.0 8192 of ROML data
ARRAY ROMH 1.0 8192 of ROMH data

src/c64/cart/blackbox4.c

The CARTAR3 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE active cartridge active flag
BYTE register cartridge register
ARRAY ROML 16768 BYTES of ROML data

src/c64/cart/actionreplay3.c

The CARTWARP module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE ROM 8000 0.1 ROM at $8000 flag
ARRAY ROML 0.0+ 8192 BYTES of ROML data
ARRAY ROMH 0.0+ 8192 BYTES of ROMH data

src/c64/cart/warpspeed.c

The CARTSIMON module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE a000 enable 0.1 ROM at $A000 flag
ARRAY ROML 0.0+ 8192 BYTES of ROML data
ARRAY ROMH 0.0+ 8192 BYTES of ROMH data

src/c64/cart/simonsbasic.c

The CARTSILVERROCK128 module

Version numbers: Major 0, Minor 1.

Type Name Version Description
BYTE regval 0.1 register
BYTE bank 0.0+ current bank
ARRAY ROML 0.0+ 262144 BYTES of ROML data

src/c64/cart/silverrock128.c

The PLUS60K module

Version numbers: Major 0, Minor 1.

Type Name Description
WORD base base address of register
BYTE register register
ARRAY RAM 61440 BYTES of RAM data

src/c64/plus60k.c

The C64_256K module

Version numbers: Major 0, Minor 0.

Type Name Description
WORD base base address of the control registers
BYTE DDA register A direction
BYTE PRA register A data
BYTE CRA register A control
BYTE DDB register B direction
BYTE PRB register B data
BYTE CRB register B control
BYTE vbank video bank
BYTE segment0 segment 0 bank
BYTE segment1 segment 1 bank
BYTE segment2 segment 2 bank
BYTE segment3 segment 3 bank
ARRAY RAM 262144 BYTES of RAM data

src/c64/c64_256k.c

The TAPEPORT module

Type Name Description
BYTE active tapeport active flag
BYTE id1 device id port 1
BYTE id2 device id port 2

src/tapeport/tapeport.c

The TP_CP_CLOCK_F83 module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE motor motor state

src/tapeport/cp-clockf83.c

The TP_DTLBASIC module

Version numbers: Major 0, Minor 1.

Type Name Description
DWORD counter counter
DWORD write write line state
DWORD sense sense line state
DWORD state device state

src/tapeport/dtl-basic-dongle.c

The SCPU64GLUE module

Version numbers: Major 1, Minor 1.

Type Name Description
BYTE glue_logic_type
BYTE old_vbank
BYTE glue_alarm_active

src/scpu64/scpu64gluelogic.c

The DATASETTE module

Type Name Description
BYTE datasette_motor
BYTE notape_mode
CLOCK last_write_clk
CLOCK motor_stop_clk
BYTE datasette_alarm_pending
CLOCK alarm_clk
CLOCK datasette_long_gap_pending
CLOCK datasette_long_gap_elapsed
BYTE datasette_last_direction
DWORD datasette_counter_offset
BYTE reset_datasette_with_maincpu
DWORD datasette_zero_gap_delay
DWORD datasette_speed_tuning
DWORD datasette_tape_wobble_frequency
DWORD datasette_tape_wobble_amplitude
DWORD datasette_tape_azimuth_error
BYTE fullwave
CLOCK fullwave_gap

src/datasette/datasette.c

The NINJASNESPAD module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE COUNTER counter value
BYTE LATCH latch line state
BYTE CLOCK clock line state

src/joyport/ninja_snespad.c

The INCEPTION module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE COUNTER counter value
BYTE CLOCK clock line state

src/joyport/inception.c

The WAASOFT module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE COUNTER counter value
BYTE RESET reset line state
BYTE CLOCK clock line state

src/joyport/waasoft_dongle.c

The PAPERCLIP64SC module

Version numbers: Major 0, Minor 1.

Type Name Description
DWORD counter counter
BYTE command command
BYTE state state

src/joyport/paperclip64sc.c

The JOYSTICK module

Type Name Description
WORD joystick value current/last value read from the joystick port

src/joyport/joystick.c

The MOUSE_DIGITAL module

Type Name Description
BYTE digital value digital pins return value
DWORD buttons buttons state
BYTE new x X
BYTE new y Y
BYTE last x last X
BYTE last y last Y
DWORD digital state state
DWORD clock_vert_move last trigger clock (Vertical)
DWORD clock_hori_move last trigger clock (Horizontal)

src/joyport/mouse_digital.c

The PADDLES module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE digital value digital pins return value
BYTE paddle 1 x-value paddle 1 x-value
BYTE paddle 1 y-value paddle 1 y-value
BYTE old paddle 1 x-value old paddle 1 x-value
BYTE old paddle 1 y-value old paddle 1 y-value

src/joyport/mouse_paddle.c

The KOALAPAD module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE digital value digital pins return value
BYTE paddle 1 x-value paddle 1 x-value
BYTE paddle 1 y-value paddle 1 y-value
BYTE old paddle 1 x-value old paddle 1 x-value
BYTE old paddle 1 y-value old paddle 1 y-value

src/joyport/mouse_paddle.c

The JPIOSIM module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE DATA OUT data out value
BYTE DATA IN data in value
BYTE POTX pot-x state
BYTE POTY pot-y state

src/joyport/joyport_io_sim.c

The POWERPAD module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE COUNTER counter value
BYTE CLEAR clear line state
BYTE CLOCK clock line state

src/joyport/powerpad.c

The PAPERCLIP64 module

Version numbers: Major 0, Minor 1.

Type Name Description
DWORD counter counter
BYTE command command
BYTE state state

src/joyport/paperclip64.c

The PAPERCLIP2 module

Version numbers: Major 0, Minor 1.

Type Name Description
DWORD counter counter
BYTE command command
BYTE state state

src/joyport/paperclip2.c

The SPACEBALLS module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE GROUNDS userport PBx state

src/joyport/spaceballs.c

The MOUSE_NEOS module

Type Name Description
BYTE digital value digital pins return value
DWORD buttons buttons state
BYTE neos x neos X
BYTE neos y neos Y
BYTE neos last x neos last X
BYTE neos last y neos last Y
DWORD neos state state
DWORD neos prev previous state
DWORD last trigger last trigger clock
DWORD neos time out cycles time out cycles

src/joyport/mouse_neos.c

The TRAPTHEMSNESPAD module

Version numbers: Major 0, Minor 2.

Type Name Description
BYTE COUNTER counter value
BYTE LATCH latch line state
BYTE CLOCK clock line state

src/joyport/trapthem_snespad.c

The LIGHTPEN module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE value lightpen return value
BYTE type lightpen type
DWORD buttons buttons state
DWORD button y button Y state
DWORD button x button X state

src/joyport/lightpen.c

The VIZAWRITE64 module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE COUNTER counter value

src/joyport/vizawrite64_dongle.c

The MULTIJOY module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE ADDRESS which joystick is active

src/joyport/multijoy.c

The JOYPORT module

Type Name Description
BYTE device id device id connected to this joystick port

src/joyport/joyport.c

The CX21 module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE PORT PORT register state

src/joyport/cx21.c

The PAPERCLIP64E module

Version numbers: Major 0, Minor 1.

Type Name Description
DWORD counter counter
BYTE command command
BYTE state state

src/joyport/paperclip64e.c

The BBRTC module

Version numbers: Major 0, Minor 1.

Type Name Description
BYTE RST reset line state
BYTE CLK clock line state
BYTE DATA data line state

src/joyport/bbrtc.c

The MOUSE_AMIGA module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE digital value digital pins return value
BYTE quadrature X quadrature X
BYTE quadrature Y quadrature Y
BYTE polled joyval polled joyval
DWORD buttons buttons state

src/joyport/mouse_quadrature.c

The MOUSE_CX22 module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE digital value digital pins return value
BYTE quadrature X quadrature X
BYTE quadrature Y quadrature Y
BYTE polled joyval polled joyval

src/joyport/mouse_quadrature.c

The MOUSE_ST module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE digital value digital pins return value
BYTE quadrature X quadrature X
BYTE quadrature Y quadrature Y
BYTE polled joyval polled joyval
DWORD buttons buttons state

src/joyport/mouse_quadrature.c

The PROTOPAD module

Version numbers: Major 0, Minor 0.

Type Name Description
BYTE COUNTER counter value
BYTE CLOCK clock line state
BYTE MODE mode line state
BYTE DPADMODE dpad up mode state
BYTE PERMRAPID permanent rapid mode state
BYTE RAPIDSPEED rapid speed selection

src/joyport/protopad.c

The MOUSE_1351 module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE digital value digital pins return value

src/joyport/mouse_1351.c

The MOUSE_MICROMYS module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE digital value digital pins return value
DWORD up down counter up down counter
DWORD up down pulse end up down pulse end

src/joyport/mouse_1351.c

The MOUSE_SMART module

Version numbers: Major 1, Minor 0.

Type Name Description
BYTE digital value digital pins return value

src/joyport/mouse_1351.c


Go to the first, previous, next, last section, table of contents.