openMSX
Classes | Namespaces | Enumerations | Functions | Variables
VDPAccessSlots.hh File Reference
#include "VDP.hh"
#include "narrow.hh"
#include <cassert>
#include <cstdint>
#include <span>
Include dependency graph for VDPAccessSlots.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openmsx::VDPAccessSlots::Calculator
 VDP-VRAM access slot calculator, meant to be used in the inner loops of the VDPCmdEngine commands. More...
 

Namespaces

namespace  openmsx
 This file implemented 3 utility functions:
 
namespace  openmsx::VDPAccessSlots
 

Enumerations

enum  openmsx::VDPAccessSlots::Delta : int {
  openmsx::VDPAccessSlots::DELTA_0 = 0 * TICKS , openmsx::VDPAccessSlots::DELTA_1 = 1 * TICKS , openmsx::VDPAccessSlots::DELTA_16 = 2 * TICKS , openmsx::VDPAccessSlots::DELTA_24 = 3 * TICKS ,
  openmsx::VDPAccessSlots::DELTA_28 = 4 * TICKS , openmsx::VDPAccessSlots::DELTA_32 = 5 * TICKS , openmsx::VDPAccessSlots::DELTA_40 = 6 * TICKS , openmsx::VDPAccessSlots::DELTA_48 = 7 * TICKS ,
  openmsx::VDPAccessSlots::DELTA_64 = 8 * TICKS , openmsx::VDPAccessSlots::DELTA_72 = 9 * TICKS , openmsx::VDPAccessSlots::DELTA_88 = 10 * TICKS , openmsx::VDPAccessSlots::DELTA_104 = 11 * TICKS ,
  openmsx::VDPAccessSlots::DELTA_120 = 12 * TICKS , openmsx::VDPAccessSlots::DELTA_128 = 13 * TICKS , openmsx::VDPAccessSlots::DELTA_136 = 14 * TICKS , openmsx::VDPAccessSlots::NUM_DELTAS = 15
}
 

Functions

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'.
 
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.
 

Variables

constexpr int openmsx::VDPAccessSlots::TICKS = VDP::TICKS_PER_LINE