Next: CBM-II memory module, Previous: VIC20 memory module, Up: Module formats [Contents][Index]

#### 9.2.2.18 PET memory module

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

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

The 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]