Lay the foundation for the DMAC
* The BIOS now continues by initializing the DMA Controller. This is one of the most important hardware components of the PS2, as it assists the EE with transfering data where it needs to be. I've even read that at times it can do more work than the EE itself. * Since the DMAC isn't used at this stage, we only really have to implement its registers and reads/writes to them, which is pretty easy. However one register D_CTRL is a bit quirky in a sense that writes to it clear/reverse its bits, not overwrite them. * To emulate this, an additional struct is added to the register unions and bitwise operators are used to write to the upper and lower parts of the register appropriately. You can look into the source code for more details. * This allows the EE to start initializing the VU1 which is quite exciting!
Showing
- CMakeLists.txt 1 addition, 0 deletionsCMakeLists.txt
- src/common/emulator.cc 2 additions, 0 deletionssrc/common/emulator.cc
- src/common/emulator.h 2 additions, 0 deletionssrc/common/emulator.h
- src/cpu/ee/dmac.cc 126 additions, 0 deletionssrc/cpu/ee/dmac.cc
- src/cpu/ee/dmac.h 89 additions, 0 deletionssrc/cpu/ee/dmac.h
- src/cpu/iop/iop.cc 1 addition, 1 deletionsrc/cpu/iop/iop.cc
Loading
Please register or sign in to comment