mirror of
https://github.com/aaru-dps/docs.git
synced 2025-12-16 11:14:37 +00:00
63 lines
2.9 KiB
Plaintext
63 lines
2.9 KiB
Plaintext
|
|
*** Power 64 RAM Snapshot File (C64 emulator on Apple Power Macintosh)
|
|
*** Document revision: 1.2
|
|
*** Last updated: March 11, 2004
|
|
*** Compiler/Editor: Peter Schepers
|
|
*** Contributors/sources: Peter Weighill
|
|
|
|
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
|
|
bytes.
|
|
|
|
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)
|
|
or "CBM",$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
|
|
Kbytes)
|
|
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
|
|
1: Z80
|
|
2: REC
|
|
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
|
|
|