CDL - move docs to wiki
This commit is contained in:
parent
7cf79aae8c
commit
e7d62296e8
|
@ -1,72 +0,0 @@
|
|||
====Type definitions==============
|
||||
|
||||
A "string" is an LEB128 encoded number which is the number of bytes
|
||||
in the string, followed by that many bytes of UTF-8 character data.
|
||||
|
||||
A "number" is a little endian 32 bit integer.
|
||||
|
||||
|
||||
|
||||
====File format is as follows:====
|
||||
|
||||
string id: file identifier, always "BIZHAWK-CDL-1"
|
||||
number NumberOfBlocks: number of memory areas represented in this file
|
||||
|
||||
For each block:
|
||||
|
||||
string BlockName: identifying name of the block.
|
||||
number bytelength: length of the block in bytes.
|
||||
byte data[bytelength]: one byte of information for each byte in the original block.
|
||||
|
||||
|
||||
====Other definitions:============
|
||||
|
||||
The BlockNames are:
|
||||
|
||||
ROM
|
||||
HUCard ROM, or syscard bios ROm
|
||||
|
||||
Cart Battery RAM
|
||||
32K of battery backed ram in the Populous cart
|
||||
|
||||
Super System Card RAM
|
||||
192K of ram in the super system card
|
||||
|
||||
TurboCD RAM
|
||||
64K of ram in the turboCD
|
||||
|
||||
BRAM
|
||||
8K of TurboCD backup RAM. The actual RAM is smaller, but the CDL will record all
|
||||
activity in that 8K region.
|
||||
|
||||
Main Memory
|
||||
8K or 32K (SGX) of main memory
|
||||
|
||||
MMIO
|
||||
8K of space in block ff, containing system IO ports.
|
||||
|
||||
UNKNOWN
|
||||
8K long area which any unknown block maps to.
|
||||
|
||||
|
||||
Each byte has 8 bits of flags on what the byte has been observed to do:
|
||||
|
||||
// was fetched as an opcode
|
||||
Code = 0x01,
|
||||
// was read or written as data
|
||||
Data = 0x02,
|
||||
// was read and used as a pointer to data via indirect addressing
|
||||
DataPtr = 0x04,
|
||||
// was read or written as stack
|
||||
Stack = 0x08,
|
||||
// was read or written as data via indirect addressing
|
||||
IndirectData = 0x10,
|
||||
// was read and used as function pointer
|
||||
// NB: there is no "IndirectCode"; all code is marked simply as code regardless of how it is reached
|
||||
FcnPtr = 0x20,
|
||||
// was used as a source or destination (either initial or during the loop) of a block xfer
|
||||
BlockXFer = 0x40,
|
||||
// was fetched as an operand byte to an opcode
|
||||
CodeOperand = 0x80
|
||||
|
||||
|
Loading…
Reference in New Issue