Next: CBM-II memory module, Previous: VIC20 memory module, Up: Module formats [Contents][Index]
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 PETMEM module
Version numbers: Major 1, Minor 3
Type | Name | Description |
BYTE | CONFIG | Configuration value. 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***. |
BYTE | KEYBOARD | Keyboard type. 0= UK business; 1= Graphics; 2= German business |
BYTE | MEMSIZE | memory size of low 32KiB in k (possible values 4, 8, 16, 32) |
BYTE | CONF8X96 | Value of the 8x96 configuration register |
BYTE | SUPERPET | SuperPET config. Bit 0: 1= $9*** RAM enabled. Bit 1: 1= RAM write protected. Bit 2: 1= CTRL register write protected. Bit 3: 0= DIAG pin active. Bits 4-7: RAM block in use. |
ARRAY | RAM | 4-32KiB RAM (not 8296, size depends on MEMSIZE) |
ARRAY | VRAM | 2/4KiB RAM (not 8296, size depends on CONFIG) |
ARRAY | EXTRAM | 64KiB expansion RAM (SuperPET and 8096 only) |
ARRAY | RAM | 128KiB RAM (8296 only) |
– | – | The following item has been added in V1.1 |
BYTE | POSITIONAL | bit 0=0 = symbolic keyboard mapping, bit 0=1 = positional mapping. |
– | – | The following item has been added in V1.2 |
BYTE | EOIBLANK | bit 0=0 = EOI does not blank screen, bit 0=1 = EOI blanks screen. |
– | – | The following items have been added in V1.3 |
WORD | CPU_SWITCH | 6502 / 6809 / PROG |
BYTE | VAL, PREVODD, WANTODD | 6702 dongle state information |
WORD[8] | SHIFT | |
BYTE | SuperPET config 2 | Extra bits due to the Super-OS-9 MMU. Bit 5: FIRQ disabled. Bit 6: expansion memory in OS-9 flat mode. |
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 PETROM module
Version numbers: Major 1, Minor 1
Type | Name | Description |
BYTE | CONFIG | Bit 0: 1= $9*** ROM included. Bit 1: 1= $A*** ROM included. Bit 2: 1= $B*** ROM included. Bit 3: 1= $e900-$efff ROM included. Bit 4: 1= SuperPET ROMs included. |
ARRAY | KERNAL | 4KiB KERNAL ROM image $f000-$ffff |
ARRAY | EDITOR | 2KiB EDITOR ROM image $e000-$e7ff |
ARRAY | CHARGEN | 2KiB CHARGEN ROM image |
ARRAY | ROM9 | 4KiB $9*** ROM image (if CONFIG & 1) |
ARRAY | ROMA | 4KiB $A*** ROM image (if CONFIG & 2) |
ARRAY | ROMB | 4KiB $B*** ROM image (if CONFIG & 4) |
ARRAY | ROMC | 4KiB $C*** ROM image |
ARRAY | ROMD | 4KiB $D*** ROM image |
ARRAY | ROME9 | 7 blocks $e900-$efff ROM image (if CONFIG & 8) |
– | – | The following items have been added in V1.1 |
ROM6809 | ROM6809 | 24KiB $A000-$FFFF ROM (if CONFIG & 16) |
ARRAY | CHARGEN(2) | upper half of CHARGEN (if CONFIG & 16) |
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.
Type | Name | Description |
WORD | SIZE | The size of the memory dump that follows, or 0 if DWW disabled. |
ARRAY | MEM | The memory in the DWW card, SIZE bytes. |
Next: CBM-II memory module, Previous: VIC20 memory module, Up: Module formats [Contents][Index]