class GBA::Bus
- GBA::Bus
- Reference
- Object
Defined in:
crab/gba/bus.crConstant Summary
-
ACCESS_TIMING_TABLE =
Slice[[1, 1, 3, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2], [1, 1, 6, 1, 1, 2, 2, 1, 4, 4, 4, 4, 4, 4, 4, 4]]
-
Timings for rom are estimated for game compatibility.
Constructors
Instance Method Summary
- #[](address : UInt32) : UInt8
- #[]=(address : UInt32, value : UInt8) : Nil
- #[]=(address : UInt32, value : UInt16) : Nil
- #[]=(address : UInt32, value : UInt32) : Nil
- #bios : Slice(UInt8)
- #cycles : Int32
- #cycles=(cycles : Int32)
- #read_half(address : UInt32) : UInt16
- #read_half_internal(address : UInt32) : UInt16
- #read_half_rotate(address : UInt32) : UInt32
-
#read_half_signed(address : UInt32) : UInt32
On ARM7 aka ARMv4 aka NDS7/GBA: LDRH Rd,[odd] --> LDRH Rd,[odd-1] ROR 8 ;read to bit0-7 and bit24-31 LDRSH Rd,[odd] --> LDRSB Rd,[odd] ;sign-expand BYTE value
- #read_open_bus_value(address : UInt32, _file = __FILE__) : UInt8
- #read_word(address : UInt32) : UInt32
- #read_word_rotate(address : UInt32) : UInt32
- #wram_board : Slice(UInt8)
- #wram_chip : Slice(UInt8)
Constructor Detail
Instance Method Detail
def read_half_signed(address : UInt32) : UInt32
#
On ARM7 aka ARMv4 aka NDS7/GBA: LDRH Rd,[odd] --> LDRH Rd,[odd-1] ROR 8 ;read to bit0-7 and bit24-31 LDRSH Rd,[odd] --> LDRSB Rd,[odd] ;sign-expand BYTE value