*** Power 64 RAM Snapshot File (C64 emulator on Apple Power Macintosh)
** Document revision 1.1
These files, similar in nature to PC64's .C64 files, are a complete
memory dump of the 64K RAM, color RAM, and all I/O ports and CPU registers.
Presently, this format is supported by the Power64 emulator and may be
added to future versions of the VICE emulator. The file size is 69888
The format for RAM Snapshots was adapted from a suggestion by Jouko Valta
for the Vice Emulator on Unix systems.
* Note: All multi-byte values are stored in big-endian format (high/low)
rather than in the little-endian format (low/high) used by the C64, since
the Macintosh stores values this way.
No sample memory dump is available.
Byte: $00000-00005: Magic Header (at present $43, $42, $4D, $64, $00, $00)
00006-00007: Reserved (should be $00, $00)
00008-00009: Version major and minor ($01, $00, or 1.0)
0000A: Emulator snapshot ID (Power64 is $2F)
0000B: Snapshot type (presently $00)
0000C-0000D: Offset in bytes (high/low), to RAM image in snapshot.
The header size is presently 256 bytes, so the values
are $01, $00.
0000E-0000F: RAM image size (in Kbytes, presently $00, $40, or 64
00010-00011: REU RAM image size (in Kbytes, presently $00, $00)
00012-0001F: Reserved (should be $00, $00)
00020-00025: Configuration bit masks (presently all $00)
00026: I/O RAM size (Power64 value $01)
Bit 0: I/O data available (0 = no)
1 and 2: Video Display Controller RAM
00 = none
01 = 16 Kb
10 = 64 Kb
11 = 32 Kb)
00027: CPU's available (Power64 value $01)
Bit 0: 6502
00028-00029: 6502 program counter (high/low)
0002A-0002C: A, X and Y CPU registers
0002D: 6502 flags register
0002E: 6502 stack pointer (SP)
0002F: 6502 I/O port
00030-0003F: Z80 registers (not used yet, should be $00)
00040-0004F: REC registers (not used yet, should be $00)
00050: C64 kernal ID byte (not used yet)
00051: Kernal patch ID for fastloaders, etc. (not used yet)
00052-00053: Kernal patch version ID (not used)
00054-0007F: Kernal version information (not used yet)
00080-000FF: Miscellaneous info on peripherals (not used yet)
00100-100FF: 64Kb RAM area (size depends on value in 0000E-0000F)
10100-110FF: Contents of the C64 I/O area