openMSX
|
Classes | |
struct | AccessTable |
struct | CycleTable |
struct | ZeroTable |
class | Calculator |
VDP-VRAM access slot calculator, meant to be used in the inner loops of the VDPCmdEngine commands. More... | |
Enumerations | |
enum | Delta : int { DELTA_0 = 0 * TICKS , DELTA_1 = 1 * TICKS , DELTA_16 = 2 * TICKS , DELTA_24 = 3 * TICKS , DELTA_28 = 4 * TICKS , DELTA_32 = 5 * TICKS , DELTA_40 = 6 * TICKS , DELTA_48 = 7 * TICKS , DELTA_64 = 8 * TICKS , DELTA_72 = 9 * TICKS , DELTA_88 = 10 * TICKS , DELTA_104 = 11 * TICKS , DELTA_120 = 12 * TICKS , DELTA_128 = 13 * TICKS , DELTA_136 = 14 * TICKS , NUM_DELTAS = 15 } |
Functions | |
constexpr CycleTable | tabSpritesOn (false, slotsSpritesOn) |
constexpr CycleTable | tabSpritesOff (false, slotsSpritesOff) |
constexpr CycleTable | tabCharSpritesOn (false, slotsCharSpritesOn) |
constexpr CycleTable | tabCharSpritesOff (false, slotsCharSpritesOff) |
constexpr CycleTable | tabText (false, slotsText) |
constexpr CycleTable | tabScreenOff (false, slotsScreenOff) |
constexpr CycleTable | tabMsx1Gfx12 (true, slotsMsx1Gfx12) |
constexpr CycleTable | tabMsx1Gfx3 (true, slotsMsx1Gfx3) |
constexpr CycleTable | tabMsx1Text (true, slotsMsx1Text) |
constexpr CycleTable | tabMsx1ScreenOff (true, slotsMsx1ScreenOff) |
EmuTime | getAccessSlot (EmuTime::param frame, EmuTime::param time, Delta delta, const VDP &vdp) |
Return the time of the next available access slot that is at least 'delta' cycles later than 'time'. More... | |
Calculator | getCalculator (EmuTime::param frame, EmuTime::param time, EmuTime::param limit, const VDP &vdp) |
When many calls to getAccessSlot() are needed, it's more efficient to instead use this function. More... | |
Variables | |
constexpr int16_t | slotsScreenOff [154+17] |
constexpr int16_t | slotsSpritesOff [88+16] |
constexpr int16_t | slotsCharSpritesOff [88+17] |
constexpr int16_t | slotsSpritesOn [31+3] |
constexpr int16_t | slotsCharSpritesOn [31+3] |
constexpr int16_t | slotsText [47+10] |
constexpr int16_t | slotsMsx1ScreenOff [107+18] |
constexpr int16_t | slotsMsx1Gfx12 [19+8] |
constexpr int16_t | slotsMsx1Gfx3 [51+8] |
constexpr int16_t | slotsMsx1Text [91+18] |
constexpr ZeroTable | tabBroken |
constexpr int | TICKS = VDP::TICKS_PER_LINE |
enum openmsx::VDPAccessSlots::Delta : int |
Enumerator | |
---|---|
DELTA_0 | |
DELTA_1 | |
DELTA_16 | |
DELTA_24 | |
DELTA_28 | |
DELTA_32 | |
DELTA_40 | |
DELTA_48 | |
DELTA_64 | |
DELTA_72 | |
DELTA_88 | |
DELTA_104 | |
DELTA_120 | |
DELTA_128 | |
DELTA_136 | |
NUM_DELTAS |
Definition at line 12 of file VDPAccessSlots.hh.
EmuTime openmsx::VDPAccessSlots::getAccessSlot | ( | EmuTime::param | frame, |
EmuTime::param | time, | ||
Delta | delta, | ||
const VDP & | vdp | ||
) |
Return the time of the next available access slot that is at least 'delta' cycles later than 'time'.
The start of the current 'frame' is needed for reference.
Definition at line 243 of file VDPAccessSlots.cc.
References openmsx::Clock< TICKS_PER_SECOND >::duration(), openmsx::Clock< FREQ_NUM, FREQ_DENOM >::getTicksTill_fast(), and TICKS.
Referenced by openmsx::VDP::getAccessSlot().
Calculator openmsx::VDPAccessSlots::getCalculator | ( | EmuTime::param | frame, |
EmuTime::param | time, | ||
EmuTime::param | limit, | ||
const VDP & | vdp | ||
) |
When many calls to getAccessSlot() are needed, it's more efficient to instead use this function.
Definition at line 253 of file VDPAccessSlots.cc.
Referenced by openmsx::VDP::getAccessSlotCalculator().
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
Definition at line 56 of file VDPAccessSlots.cc.
|
constexpr |
Definition at line 82 of file VDPAccessSlots.cc.
|
constexpr |
Definition at line 123 of file VDPAccessSlots.cc.
|
constexpr |
Definition at line 131 of file VDPAccessSlots.cc.
|
constexpr |
Definition at line 104 of file VDPAccessSlots.cc.
|
constexpr |
Definition at line 144 of file VDPAccessSlots.cc.
|
constexpr |
Definition at line 11 of file VDPAccessSlots.cc.
|
constexpr |
Definition at line 35 of file VDPAccessSlots.cc.
|
constexpr |
Definition at line 73 of file VDPAccessSlots.cc.
|
constexpr |
Definition at line 91 of file VDPAccessSlots.cc.
|
constexpr |
Definition at line 214 of file VDPAccessSlots.cc.
|
constexpr |
Definition at line 10 of file VDPAccessSlots.hh.
Referenced by openmsx::VDPAccessSlots::Calculator::Calculator(), openmsx::VDPAccessSlots::CycleTable::CycleTable(), getAccessSlot(), and openmsx::VDPAccessSlots::Calculator::next().