Skip to content
Snippets Groups Projects
  • Geo Ster's avatar
    8653f76f
    Implement read/write operations and KUSEG regions · 8653f76f
    Geo Ster authored
    * Now that the BIOS is loaded we can start executing it!
    The starting address the EE uses is 0xbfc00000 which maps
    to KUSEG1. Since all KUSEG regions except KUSEG2 are mirrors
    of each other we only need to translate the address to the
    KUSEG appropriate.
    
    * The functional differences between KUSEG0/1 are minimal and
    very niche so I won't bother emulating them now. Address wise
    we can notice that the only difference between addresses is the
    most significant half byte. By using that byte as an index in
    a mask table we can define an appropriate mask for each KUSEG
    address. Idea taken from a very handy PSX document I discovered
    last year [1]
    
    [1] https://svkt.org/~simias/guide.pdf (43)
    8653f76f
    History
    Implement read/write operations and KUSEG regions
    Geo Ster authored
    * Now that the BIOS is loaded we can start executing it!
    The starting address the EE uses is 0xbfc00000 which maps
    to KUSEG1. Since all KUSEG regions except KUSEG2 are mirrors
    of each other we only need to translate the address to the
    KUSEG appropriate.
    
    * The functional differences between KUSEG0/1 are minimal and
    very niche so I won't bother emulating them now. Address wise
    we can notice that the only difference between addresses is the
    most significant half byte. By using that byte as an index in
    a mask table we can define an appropriate mask for each KUSEG
    address. Idea taken from a very handy PSX document I discovered
    last year [1]
    
    [1] https://svkt.org/~simias/guide.pdf (43)