Skip to content
Snippets Groups Projects
  • Geo Ster's avatar
    0e09c3a1
    Implement first instructions mfc0/sw/bne/sll · 0e09c3a1
    Geo Ster authored
    * The instruction decoding was based on the handy table in ps2tek [1]
    while the instructions themselves were written based on the document
    added.
    
    * The implementation makes heavy use of bitfields and unions in C++ to
    make accessing different bits/sections of registers easier and more
    intuitive. You may also notice the frequent casting (uint32_t)(int16_t)
    which might seem useless but is there to force the compiler to generate
    instructions to sign extend the offsets.
    
    [1] https://psi-rockin.github.io/ps2tek/#eeinstructiondecoding
    0e09c3a1
    History
    Implement first instructions mfc0/sw/bne/sll
    Geo Ster authored
    * The instruction decoding was based on the handy table in ps2tek [1]
    while the instructions themselves were written based on the document
    added.
    
    * The implementation makes heavy use of bitfields and unions in C++ to
    make accessing different bits/sections of registers easier and more
    intuitive. You may also notice the frequent casting (uint32_t)(int16_t)
    which might seem useless but is there to force the compiler to generate
    instructions to sign extend the offsets.
    
    [1] https://psi-rockin.github.io/ps2tek/#eeinstructiondecoding