Skip to content
Snippets Groups Projects
  • Geo Ster's avatar
    1cce9b6f
    Groundwork for IOP DMA implementation · 1cce9b6f
    Geo Ster authored
    * The DMA routine on the IOP works similarly to the PSX version with a
    few additions. There are 7 channels from the PSX and an additional 6 new
    PS2 exclusive ones. One the PSX, each channel has 3 registers used
    to configure and use it and 3 global registers.
    
    * The PS2 contains all the older DMA registers, but it add 6 more channels
    and duplicates the global registers (DPCR now has a counterpart called DPCR2)
    This is done because each global register can control up to 7 channels.
    An additional register on each channel (tadr) and 2 additional
    global registers have been added as well. For now we don't really
    care to implement them, only read/write to them.
    
    * For reading and writing to the registers structs are used to prevent
    the usage of switch and if statements.
    1cce9b6f
    History
    Groundwork for IOP DMA implementation
    Geo Ster authored
    * The DMA routine on the IOP works similarly to the PSX version with a
    few additions. There are 7 channels from the PSX and an additional 6 new
    PS2 exclusive ones. One the PSX, each channel has 3 registers used
    to configure and use it and 3 global registers.
    
    * The PS2 contains all the older DMA registers, but it add 6 more channels
    and duplicates the global registers (DPCR now has a counterpart called DPCR2)
    This is done because each global register can control up to 7 channels.
    An additional register on each channel (tadr) and 2 additional
    global registers have been added as well. For now we don't really
    care to implement them, only read/write to them.
    
    * For reading and writing to the registers structs are used to prevent
    the usage of switch and if statements.