Yet Another Gamecube Documentation - missing stuff/todo list
------------------------------------------------------------------------------

just incase you feel like you could provide any additional
information, have a look at this list for what is still
missing. (and ofcourse, its by itself incomplete aswell, so
its still a good idea to check the documentation :))

groepaz@gmx.net

------------------------------------------------------------------------------
2 Gamecube_Hardware_Introduction
2.4_Hardware_Parts_List
2.4.2_Semi-Conductors
2.4.2.1 IPL
- incomplete

------------------------------------------------------------------------------
3.  Gekko_CPU_Overview
3.1_Registers
- incomplete (-> ppc manual, dolwin source)
3.3_PPC_Instructions
- incomplete (-> ppc manual)
3.4_additional_Gekko_Instructions
- incomplete (-> dolwin source)
3.5 Programming_Tips_and_additional_information
- incomplete (-> ppc manual)
3.5.1  Machine State Register
- description missing (-> ppc manual)
3.5.2  Caches
- description missing (-> ppc manual)

------------------------------------------------------------------------------
4. Memory Map
4.2_RAM_usage
4.2.1_Dolphin-OS_globals
4.2.1.2 Debugger Info
- info incomplete
4.2.1.3 Debugger Hook
- info incomplete
4.2.1.4 Dolphin OS globals
- incomplete description for 0x800000e4-0x800000f7
4.2.3 Dolphin-OS_globals
- incomplete description for 0x800030e0-0x800030ff

------------------------------------------------------------------------------
5.    Hardware_Registers
5.1   CP_-_Command_Processor

*** register unknown ***
    0xcc000006
    0xcc000008
    0xcc00000a
    0xcc00000c
    0xcc000018
    0xcc00001a
    0xcc00001c

5.1.1 Token Register
- inaccurate description, maybe also move this to GX ?
5.2_PE_-_Pixel_Engine

-any info about regs > 0x10 missing

*** bit details incomplete ***
    0xcc001000 Z-Configuration
    0xcc001002 Alpha-Configuration
    0xcc001004 Destination ALpha
    0xcc001006 ALpha mode

*** bit names incomplete ***
    0xcc001008 ALpha Read
    0xcc00100a Interrupt Status register

5.3_VI_-_Video_Interface

*** bit names missing ***
    0xcc002068 (4) (AA stuff)

*** register unknown ***
    0xcc002076 (2) (unused?)
    0xcc002078 (4) (unused?)
    0xcc00207c (4) (unused?)
    - everything > 0x76 unused ?

these two are mentioned in the patents:

Picture Configuration Register (R/W)
This register specifies the picture configuration.
STD 7:0 Stride per line in words. -
WPL 14:8 Number of reads per line in words. -

Output Polarity Register (R/W)
This register sets up the polarity of the out going control signals
I_POL 0 Inverts Interlace Flag 0
N_POL 1 Inverts NTSC Flag 0
K_POL 2 Inverts Burst Blank Flag 0
B_POL 3 Inverts Burst Flag 0
H_POL 4 Inverts HSyncb Flag 0
V_POL 5 Inverts VSyncb Flag 0
F_POL 6 Inverts Field Flag 0
C_POL 7 Inverts CSyncb Flag 0

5.4 PI_-_Processor_Interface

*** bit names incomplete ***
    0xCC003000 (4) INTSR - interrupt cause
    0xCC003004 (4) INTMR - interrupt mask
*** bit names missing ***
    0xCC00300c (4) FIFO Base Start
    0xCC003010 (4) FIFO Base End?
    0xCC003014 (4) PI (cpu) FIFO current Write Pointer?
    0xCC003024 (4) Reset?
    0xCC00302c (4) console type?
*** register unknown ***
    0xCC003018 (4)
    0xCC00301c (4)
    0xCC003020 (4)
    0xCC003028 (4) (unused?)
    0xCC00302c (4)
    0xCC003030 (4)

- everything > 0x30 unused ?

5.5 MI_-_Memory_Interface

-more info on the timers needed

*** bit names incomplete ***
    0xCC004020 (2) ?
    0xCC00405a     ?

*** register unknown ***
    0xCC004012 (2)
    0xCC004014 (2)
    0xCC004016 (2)
    0xCC004018 (2)
    0xCC00401a (2)
    0xCC004026 (2)
    0xCC004028 (2)
    0xCC00402a (2)
    0xCC00402c (2)
    0xCC00402e (2)
    0xCC004030 (2)
    0xCC00405c-0xCC00407c unused?

5.6 DSP_-_Digital_Signal_Processor_Interface

*** bit details incomplete ***
    0xCC00500a (2) AI DSP CSR - Control Status Register (DSP Status)
    0xCC005012 (2) AR_SIZE
    0xCC005016 (2) AR_MODE
    0xCC00501a (2) AR_REFRESH

*** register unknown ***
    0xCC005008 (2)
    0xCC00500c (4)
    0xCC005010 (2)
    0xCC005014 (2)
    0xCC005018 (2)
    0xCC00501c (4)
    0xCC00502c (4)
    0xCC005034 (2)
    0xCC005038 (2)
    0xCC00503c (4)

- everything > 0x3c unused ?

5.7 DI_-_DVD_Interface

*** bit names missing ***
    0xCC00600c (4) DICMDBUF1 - DI Command Buffer 1 (offset in 32 bit words)
    0xCC006010 (4) DICMDBUF2 - DI Command Buffer 2 (source length)

5.8 SI_-_Serial_Interface

*** bit details incomplete ***
    0xCC006434 (4) SICOMCSR - SI Communication Control Status Register (command)
    0xCC006438 (4) SISR - SI Status Register (channel select & status2)

5.9 EXI_-_External_Interface

5.10 AI_-_Audio_Streaming_Interface

5.11  GX FIFO (Graphic display lists)
5.11.1  internal BP registers

*** bit details incomplete ***

    0x00 GEN MODE
    0x06 IND MTXA0
    0x07 IND MTXB0
    0x08 IND MTXC0
    0x09 IND MTXA1
    0x0a IND MTXB1
    0x0b IND MTXC1
    0x0c IND MTXA2
    0x0d IND MTXB2
    0x0e IND MTXC2
    0x0f IND IMASK
    0x10-0x1f IND CMD0 - tev indirect 0-15
    0x25 RAS1 SS0 - ind tex coord scale 0
    0x26 RAS1 SS1 - ind tex coord scale 1
    0x27 RAS1 IREF
    0x28-0x2f RAS1 TREF0 - tev order 0-7
    0x40 PE ZMODE set z mode
    0x41 PE CMODE0
    0x42 PE CMODE1
    0x43 PE CONTROL
    0x64 TX LOADTLUT0
    0x65 TX LOADTLUT1
    0xc0-0xde TEV COLOR ENV 0 - F
    0xc1-0xdf TEV ALPHA ENV 0 - F
    0xf3 TEV ALPHAFUNC - alpha compare
    0xf4 TEV Z ENV 0 - z texture 0
    0xf5 TEV Z ENV 1 - z texture 1
    0xf6-0xfd TEV KSEL 0 - Tev Swap Mode Table 0-7

*** bit names incomplete ***

    0x45 PE DONE - draw done
    0xe0 TEV REGISTERL 0
    0xe1 TEV REGISTERH 0
    0xe2 TEV REGISTERL 1
    0xe3 TEV REGISTERH 1
    0xe4 TEV REGISTERL 2
    0xe5 TEV REGISTERH 2
    0xe6 TEV REGISTERL 3
    0xe7 TEV REGISTERH 3

*** bit names missing ***

    0x01 display copy filter
    0x02 display copy filter
    0x03 display copy filter
    0x04 display copy filter
    0x23 SU Counter (?)
    0x24 RAS Counter (?)
    0x44 field mask
    0x46 some clock ?
    0x4d stride ?
    0x52 pe copy execute?
    0x53 copy filter
    0x54 copy filter
    0x55 bounding box
    0x56 bounding box
    0x67 metric ?
    0x68 field mode
    0x69 some clock ?
    0xe8 Fog Range

*** register unknown ***

    0x05 ?
    0x4c ?
    0x57-0x58 ?
    0x5a-0x63 ?
    0x66 ?
    0x6a-0x7f ?
    0x9c-0x9f ?
    0xbc-0xbf ?
    0xe9 ?
    0xea-0xeb ?
    0xff ?

5.11.2  internal CP Registers

*** register unknown ***

    0x20    ?

5.11.3  internal XF Registers

*** bit details incomplete ***

        0x1007 Perf1-Xform target performance register

*** bit names missing ***

        0x1000 Error
        0x1001 Diagnostics
        0x1002 State0-Internal State Register 0
        0x1003 State1-Internal State Register 1
        0x1006 Perf0-Performance monitor selects

*** register unknown ***

        0x1013-0x1017 ?
        0x1027-0x103e ?
        0x1048-0x104f ?

------------------------------------------------------------------------------
6 Exception_and_Interrupt_Processing
- somewhat incomplete

------------------------------------------------------------------------------
7 Video_Processing
- very incomplete

------------------------------------------------------------------------------
8 3d Graphics_Processing
- very incomplete

------------------------------------------------------------------------------
9    Joy-Bus_Devices
- may be inaccurate, needs more testing
9.1 ID and device list
- bits are wrong, needs more testing
9.4  GBA
- description missing
9.5  Wavebird
- description missing
9.6  steering wheel
- description missing

------------------------------------------------------------------------------
10    EXI_Devices
10.6 AD16
- more info needed
10.7  Memory Cards
10.7.2  Operation
10.7.2.1  unlocking
- description of dsp program missing
10.8 Ethernet adapter
- very incomplete (-> datasheet)
10.9  UART
- description missing
- wtf is it with "uart" at all?! do we really have this?! who came up with it? :)
10.10 SD Cards
- description missing

------------------------------------------------------------------------------
11  HSP Devices
- general description missing
11.1  GB Player
- description missing

------------------------------------------------------------------------------
12_Memory_Card_Structure
- info on formatting a card and/or generating the unique id needed

------------------------------------------------------------------------------
13_DVD_Structure
13.1  Disk header
- incomplete
13.2  Disk header Information
- incomplete

------------------------------------------------------------------------------
14_File_Formats
14.1  BNR (Banner file format)
- description of texture data format missing
14.8 H4M
- details missing

------------------------------------------------------------------------------
15  Graphic Formats
- lots of trivial info missing (-> common knowledge :))
15.10 S3TC
- very inaccurate (-> docs from s3)
15.11  Yay0
- description of packing algo incomplete (-> org has documented it)

------------------------------------------------------------------------------
16  Appendix
16.1  GCC Quick How To
16.1.9  Linker Script
- missing
16.1.10  Startup Code
- missing
16.4 Maxcronix Chip IDs
- table is incomplete
