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.
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.
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.
In this section we use certain abbreviations to define the types of the data saved in the snapshot.
BYTE
WORD
DWORD
ARRAY
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.
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 |
This section lists the modules that are contained in each of the emulators snapshot files.
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.
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.
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 |
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 |
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 |
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 |
| * | * | * |
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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 |
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
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
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
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
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
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
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
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
The SPACEBALLS module
Version numbers: Major 0, Minor 1.
| Type | Name | Description |
| BYTE | GROUNDS | userport PBx state |
src/joyport/spaceballs.c
The VIZAWRITE64 module
Version numbers: Major 0, Minor 1.
| Type | Name | Description |
| BYTE | COUNTER | counter value |
src/joyport/vizawrite64_dongle.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 MULTIJOY module
Version numbers: Major 0, Minor 1.
| Type | Name | Description |
| BYTE | ADDRESS | which joystick is active |
src/joyport/multijoy.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 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 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 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 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 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 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 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 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 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 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 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 JOYSTICK module
| Type | Name | Description |
| WORD | joystick value | current/last value read from the joystick port |
src/joyport/joystick.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 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 VDC module
Version numbers: Major 0, Minor 0.
src/vdc/vdc-snapshot.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 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 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 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 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 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 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 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 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 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 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 HREMEM module
| Type | Name | Description |
| WORD | reg_E888 |
src/pet/pethre.c
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 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 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 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 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 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 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 CARTMIDI module
Version numbers: Major 0, Minor 0.
| Type | Name | Description |
| BYTE | mode | midi mode |
src/vic20/cart/vic20-midi.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 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 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 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 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 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 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 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 UP_JOY_CGA module
| Type | Name | Description |
| BYTE | select | joyport select |
src/userport/userport_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 USERPORT module
| Type | Name | Description |
| BYTE | active | userport active flag |
| BYTE | id | device id |
src/userport/userport.c
The UPJOYSYNERGY module
| Type | Name | Description |
| BYTE | select | joyport select |
src/userport/userport_synergy_joystick.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 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 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 UPJOYV8 module
| Type | Name | Description |
| BYTE | select | joyport select |
src/userport/userport_v8_joystick.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 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 UP_JOY_WOJ module
| Type | Name | Description |
| BYTE | select | joyport select |
src/userport/userport_woj_joystick.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 UP8BSS module
Version numbers: Major 0, Minor 1.
| Type | Name | Description |
| BYTE | channel | channel flag |
src/userport/userport_8bss.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 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 VDRIVEIMAGE module
Version numbers: Major 2, Minor 0.
src/vdrive/vdrive-snapshot.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 TP_CP_CLOCK_F83 module
Version numbers: Major 0, Minor 1.
| Type | Name | Description |
| BYTE | motor | motor state |
src/tapeport/cp-clockf83.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 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 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 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 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 DRIVEROM module
Version numbers: Major 1, Minor 0.
| Type | Name | Description |
| ARRAY | drive ROM | size depends on drive |
src/drive/driverom.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 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 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 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 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 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 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_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 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_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_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_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_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_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_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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 CARTIEEEFLASH64 module
Version numbers: Major 0, Minor 0.
| Type | Name | Description |
| ARRAY | ROMH | 8192 BYTES of ROMH data |
src/c64/cart/ieeeflash64.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 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 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 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 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 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 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 CARTMIKROASS module
Version numbers: Major 0, Minor 0.
| Type | Name | Description |
| ARRAY | ROML | 8192 BYTES of ROML data |
src/c64/cart/mikroass.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 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 CARTPROFIDOS module
Version numbers: Major 0, Minor 0.
| Type | Name | Description |
| ARRAY | ROMH | $4000 BYTES of ROMH data |
src/c64/cart/profidos.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 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 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 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 CARTMIDI module
Version numbers: Major 0, Minor 0.
| Type | Name | Description |
| BYTE | mode | midi mode |
src/c64/cart/c64-midi.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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 CARTDS12C887RTC module
Version numbers: Major 0, Minor 0.
| Type | Name | Description |
| DWORD | base | base address of the RTC |
src/c64/cart/ds12c887rtc.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 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 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 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 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 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 CARTEXOS module
Version numbers: Major 0, Minor 0.
| Type | Name | Description |
| ARRAY | ROMH | 8192 BYTES of ROMH data |
src/c64/cart/exos.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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 KEYBOARD module
Version numbers: Major 1, Minor 1.
| Type | Name | Description |
| WORD ARRAY | keyarr | |
| WORD ARRAY | rev_keyarr |
src/keyboard.c
The EVENT module
Version numbers: Major 0, Minor 1.
| Type | Name | Description |
| DWORD | type | |
| CLOCK | clock | |
| DWORD | size | |
| ARRAY | data |
src/event.c
Go to the first, previous, next, last section, table of contents.