openMSX
Namespaces | Classes | Concepts | Typedefs | Enumerations | Functions | Variables
openmsx Namespace Reference

This file implemented 3 utility functions: More...

Namespaces

namespace  AmdFlashChip
 
namespace  CacheLine
 
namespace  Date
 
namespace  detail
 
namespace  DiskImageUtils
 
namespace  FAT
 
namespace  FAT12
 
namespace  FAT16
 
namespace  FileOperations
 
namespace  GLScalerFactory
 
namespace  IDEDeviceFactory
 
namespace  InputEventFactory
 
namespace  joymega
 
namespace  MemoryOps
 
namespace  MSX_CAS
 
namespace  msxjoystick
 
namespace  PNG
 Utility functions to hide the complexity of saving to a PNG file.
 
namespace  RendererFactory
 Interface for renderer factories.
 
namespace  RomFactory
 
namespace  SCSI
 
namespace  SVI_CAS
 
namespace  Thread
 
namespace  Timer
 
namespace  VDPAccessSlots
 
namespace  YM2413Burczynski
 
namespace  YM2413NukeYKT
 
namespace  YM2413Okazaki
 
namespace  YM2413OriginalNukeYKT
 
namespace  yuv2rgb
 

Classes

class  AbstractIDEDevice
 
class  ActivateMachineCommand
 
class  AddRemoveUpdate
 
class  AdjustWindowInMainViewPort
 
class  ADVram
 Implementation of direct cpu access to VRAM. More...
 
class  AfterCmd
 
class  AfterCommand
 
struct  AfterEmuTimePred
 
class  AfterIdleCmd
 
class  AfterInputEventCmd
 
struct  AfterInputEventPred
 
class  AfterRealTimeCmd
 
class  AfterSimpleEventCmd
 
struct  AfterSimpleEventPred
 
class  AfterTimeCmd
 
class  AfterTimedCmd
 
class  AfterTimedEvent
 Send when an after-EmuTime command should be executed. More...
 
class  AlignedBuffer
 
class  AlignedByteArray
 
struct  AllowEmptyCond
 
struct  AllowEmptyCond< DebugCondition >
 
struct  AllShortcutInfo
 
class  AmdFlash
 
struct  AndOp
 
class  ArchiveBase
 
struct  ArgsInfo
 
class  ArkanoidPad
 
class  ArkanoidState
 
struct  AudioFragment
 
class  AudioInputConnector
 
class  AudioInputDevice
 
class  Autofire
 Autofire is a device that is between two other devices and outside the bus. More...
 
class  AutofireStateChange
 
class  AviRecorder
 
class  AviWriter
 
class  AVTFDC
 
class  AY8910
 This class implements the AY-3-8910 sound chip. More...
 
class  AY8910Periphery
 Models the general purpose I/O ports of the AY8910. More...
 
struct  BaseClassName
 Stores the name of a base class. More...
 
class  BaseSetting
 
class  BeerIDE
 
class  BitmapConverter
 Utility class for converting VRAM contents to host pixels. More...
 
class  BlipBuffer
 
class  BooleanJoystickAxis
 
class  BooleanJoystickButton
 
class  BooleanJoystickHat
 
class  BooleanKeyboard
 
class  BooleanMouseButton
 
class  BooleanSetting
 
class  BootBlocks
 
class  BootEvent
 Sent when the MSX resets or powers up. More...
 
struct  BpLine
 
class  BreakEvent
 
class  BreakPoint
 Base class for CPU breakpoints. More...
 
class  BreakPointBase
 Base class for CPU break and watch points. More...
 
struct  CacheLines
 
class  CanonFDC
 
class  CanonWordProcessor
 
class  Carnivore2
 
class  CartridgeSlotManager
 
class  CasImage
 Code based on "cas2wav" tool by Vincent van Dam. More...
 
class  CassetteDevice
 
class  CassetteImage
 
class  CassettePlayer
 
class  CassettePlayerCLI
 
class  CassettePlayerCommand
 
class  CassettePort
 
class  CassettePortInterface
 
class  CDImageCLI
 
class  CDXCommand
 
class  ChakkariCopy
 
class  CharacterConverter
 Utility class for converting VRAM contents to host pixels. More...
 
class  CheckedRam
 This class keeps track of which bytes in the Ram have been written to. More...
 
class  CircuitDesignerRDDongle
 
class  CircularBuffer
 
struct  ClassLoader
 
struct  ClassSaver
 
class  CliComm
 
class  CliCommandEvent
 Command received on CliComm connection. More...
 
class  CliConnection
 
class  CliExtension
 
class  CLIFileType
 
class  CliListener
 
class  CLIOption
 
class  CliServer
 
class  Clock
 Represents a clock with a fixed frequency. More...
 
class  ClockPin
 
class  ClockPinListener
 
struct  CodecVector
 
class  ColecoJoystickIO
 
class  ColecoSuperGameModule
 
struct  CollectionLoader
 
struct  CollectionLoaderHelper
 
struct  CollectionLoaderHelper< sac, false >
 
struct  CollectionLoaderHelper< sac, true >
 
struct  CollectionSaver
 
class  Command
 
class  CommandCompleter
 
class  CommandController
 
class  CommandException
 
class  CommandLineParser
 
class  Completer
 
class  CompressedFileAdapter
 
struct  CondC
 
struct  CondM
 
struct  CondNC
 
struct  CondNZ
 
struct  CondP
 
struct  CondPE
 
struct  CondPO
 
struct  CondTrue
 
struct  CondZ
 
class  ConfigException
 
class  ConfigInfo
 
class  Connector
 Represents something you can plug devices into. More...
 
class  ConsoleLine
 This class represents a single text line in the console. More...
 
class  Counter
 
class  CPUBase
 
class  CPUClock
 
class  CPUCore
 
class  CPURegs
 
class  CRC16
 This class calculates CRC numbers for the polygon x^16 + x^12 + x^5 + 1. More...
 
class  CreateMachineCommand
 
struct  Creator
 Utility to do T* t = new T(...) More...
 
struct  CT_Interval
 
struct  CurrentSlot
 
class  CursorInfo
 
class  DACSound16S
 
class  DACSound8U
 
class  DBParser
 
class  DCFilter
 
class  DebugCondition
 General debugger condition Like breakpoints, but not tied to a specific address. More...
 
class  DebugDevice
 
class  Debuggable
 
class  DebuggableEditor
 
class  Debugger
 
struct  DefaultConstructVariant
 
class  Deflicker
 
class  DeinterlacedFrame
 Produces a deinterlaced video frame based on two other FrameSources (typically two RawFrames) containing the even and odd field. More...
 
class  DeleteMachineCommand
 
class  DeltaBlock
 
class  DeltaBlockCopy
 
class  DeltaBlockDiff
 
class  DeviceConfig
 
class  DeviceFactory
 
class  DeviceInfo
 
class  DirAsDSK
 
struct  DirEntryForCluster
 
struct  DirScanner
 
class  Disk
 
class  DiskChanger
 
class  DiskCommand
 
class  DiskContainer
 
class  DiskDrive
 This (abstract) class defines the DiskDrive interface. More...
 
class  DiskFactory
 
class  DiskImageCLI
 
class  DiskIOErrorException
 
class  DiskManipulator
 
class  DiskName
 
class  DiskPartition
 
class  Display
 Represents the output window/screen of openMSX. More...
 
class  DisplayMode
 Represents a VDP display mode. More...
 
class  DivModBySame
 Helper class to divide multiple times by the same number. More...
 
class  DMKDiskImage
 DMK disk image. More...
 
struct  DmkHeader
 
struct  DoneTodo
 
class  DoubledFrame
 Produces a video frame that has every line from the input frame twice plus a possibly repeated line at the top. More...
 
class  DriveEmptyException
 
class  DriveMultiplexer
 This class connects to a FDC as a normal DiskDrive and delegates all requests to one of four other DiskDrives. More...
 
class  DSKDiskImage
 
class  DummyAudioInputDevice
 
class  DummyAY8910Periphery
 
class  DummyCassetteDevice
 
class  DummyCassettePort
 
class  DummyDevice
 
class  DummyDisk
 
class  DummyDrive
 This class implements a not connected disk drive. More...
 
class  DummyIDEDevice
 
class  DummyJoystick
 
class  DummyJoystickPort
 
class  DummyMidiInDevice
 
class  DummyMidiOutDevice
 
struct  DummyOp
 
class  DummyPrinterPortDevice
 
class  DummyRenderer
 Dummy Renderer. More...
 
class  DummyRS232Device
 
class  DummySCSIDevice
 
class  DummyVideoSystem
 
class  DummyVRAMObserver
 
class  DummyY8950KeyboardDevice
 
class  DynamicClock
 Represents a clock with a variable frequency. More...
 
struct  EdgeHQ
 
struct  EdgeHQLite
 
class  EEPROM_93C46
 
class  EmptyDiskPatch
 
class  EmptyPatch
 
class  EmuDuration
 
class  EmuDurationCompactStorage
 
class  EmuTimer
 
class  EmuTimerCallback
 
class  EndLogEvent
 
struct  enum_string
 
struct  EnumLoader
 
struct  EnumSaver
 
class  EnumSetting
 
class  EnumSettingBase
 
struct  EnumToolTip
 
struct  EqualEvent
 
struct  EqualRTSchedulable
 
struct  EqualSchedulable
 
class  ESE_RAM
 
class  ESE_SCC
 
class  EventBase
 
class  EventDelay
 This class is responsible for translating host events into MSX events. More...
 
class  EventDistributor
 
class  EventListener
 
class  ExitCommand
 
class  ExtCmd
 
class  FastForwardHelper
 
class  FatalError
 
class  File
 
class  FileBase
 
class  FileContext
 
class  FileDropEvent
 
class  FileException
 
class  Filename
 This class represents a filename. More...
 
class  FilenameSetting
 
class  FileNotFoundException
 
class  FilePool
 
class  FilePoolCore
 
class  FinishFrameEvent
 This event is send when a device (v99x8, v9990, video9000, laserdisc) reaches the end of a frame. More...
 
class  FirmwareSwitch
 
class  FixedPoint
 A fixed point number, implemented by a 32-bit signed integer. More...
 
class  FloatSetting
 A Setting with a floating point value. More...
 
class  FraelSwitchableROM
 
struct  Frame
 
class  FrameDrawnEvent
 Sent when a FINISH_FRAME caused a redraw of the screen. More...
 
class  FrameSource
 Interface for getting lines from a video frame. More...
 
class  GetClipboardCommand
 
struct  GetIfEventHelper
 
struct  GetIfEventHelper< JoystickEvent >
 
struct  GetIfEventHelper< KeyEvent >
 
struct  GetIfEventHelper< SdlEvent >
 
struct  GetSettingDescription
 
struct  GetSha1
 
struct  GetURLFromDecompressed
 
class  GLDefaultScaler
 
class  GLHQScaler
 
class  GLImage
 
class  GlobalCliComm
 
class  GlobalCommandController
 
class  GlobalCommandControllerBase
 
struct  GlobalReadClient
 
struct  GlobalRWHelper
 
class  GlobalSettings
 This class contains settings that are used by several other class (including some singletons). More...
 
struct  GlobalWriteClient
 
class  GLRGBScaler
 
class  GLScaleNxScaler
 
class  GLScaler
 Abstract base class for OpenGL scalers. More...
 
class  GLScopedClip
 
class  GLSimpleScaler
 
class  GLSnow
 Snow effect for background layer. More...
 
class  GLTVScaler
 
class  GoudaSCSI
 
struct  Graphic4Mode
 Represents V9938 Graphic 4 mode (SCREEN5). More...
 
struct  Graphic5Mode
 Represents V9938 Graphic 5 mode (SCREEN6). More...
 
struct  Graphic6Mode
 Represents V9938 Graphic 6 mode (SCREEN7). More...
 
struct  Graphic7Mode
 Represents V9938 Graphic 7 mode (SCREEN8). More...
 
class  GroupEvent
 
class  GZFileAdapter
 
class  HardwareConfig
 
struct  HasAddress
 
struct  HasAddress< DebugCondition >
 
struct  HashPair
 
class  HD
 
class  HDCommand
 
class  HDImageCLI
 
class  HotKey
 
class  I8251
 
class  I8251Interface
 
class  I8254
 
class  I8255
 
class  I8255Interface
 
class  IDECDROM
 
class  IDEDevice
 
class  IDEHD
 
struct  IDLoader
 
struct  IDSaver
 
struct  II
 
class  ImagePrinter
 
class  ImagePrinterEpson
 
class  ImagePrinterMSX
 
struct  ImGui_SDL_Key
 
class  ImGuiActiveEvent
 
class  ImGuiBitmapViewer
 
class  ImGuiBreakPoints
 
class  ImGuiCharacter
 
class  ImGuiCheatFinder
 
class  ImGuiConnector
 
class  ImGuiConsole
 
class  ImGuiDebugger
 
class  ImGuiDelayedActionEvent
 
class  ImGuiDiskManipulator
 
class  ImGuiHelp
 
class  ImGuiKeyboard
 
class  ImGuiLayer
 
class  ImGuiMachine
 
class  ImGuiManager
 
class  ImGuiMedia
 
class  ImGuiMessages
 
class  ImGuiOpenFile
 
class  ImGuiOsdIcons
 
class  ImGuiPalette
 
class  ImGuiPart
 
class  ImGuiPartInterface
 
class  ImGuiReverseBar
 
class  ImGuiSCCViewer
 
class  ImGuiSettings
 
class  ImGuiSoundChip
 
class  ImGuiSpriteViewer
 
class  ImGuiSymbols
 
class  ImGuiTools
 
class  ImGuiTrainer
 
class  ImGuiVdpRegs
 
class  ImGuiWatchExpr
 
class  ImGuiWaveViewer
 
struct  ImpOp
 
struct  IncrByteAddr4
 Incremental address calculation (byte based, no extended VRAM) More...
 
struct  IncrByteAddr5
 
struct  IncrByteAddr6
 
struct  IncrByteAddr7
 
struct  IncrMask4
 Incremental mask calculation. More...
 
struct  IncrMask5
 
struct  IncrMask7
 
struct  IncrPixelAddr4
 Incremental address calculation (pixel-based) More...
 
struct  IncrPixelAddr5
 
struct  IncrPixelAddr6
 
struct  IncrShift4
 
struct  IncrShift5
 
struct  IncrShift7
 
class  IndexLookup
 
class  InfoCommand
 
class  InfoTopic
 
class  InitException
 Thrown when a subsystem initialisation fails. More...
 
class  InputArchiveBase
 
class  InputArchiveBase2
 
class  InputBuffer
 This class is complementary to the OutputBuffer class. More...
 
class  InputEventGenerator
 
class  IntegerSetting
 A Setting with an integer value. More...
 
class  Interpreter
 
class  InterpreterOutput
 
class  IntHelper
 
class  IPSPatch
 
class  IRQSource
 Helper class for doing interrupt request (IRQ) administration. More...
 
struct  is_primitive
 
struct  is_primitive< bool >
 
struct  is_primitive< char >
 
struct  is_primitive< double >
 
struct  is_primitive< float >
 
struct  is_primitive< long double >
 
struct  is_primitive< long long >
 
struct  is_primitive< signed char >
 
struct  is_primitive< signed int >
 
struct  is_primitive< signed long >
 
struct  is_primitive< signed short >
 
struct  is_primitive< std::string >
 
struct  is_primitive< unsigned char >
 
struct  is_primitive< unsigned int >
 
struct  is_primitive< unsigned long >
 
struct  is_primitive< unsigned long long >
 
struct  is_primitive< unsigned short >
 
struct  IsDirSector
 
class  JoyMega
 
class  JoyMegaState
 
class  JoyPortDebuggable
 
class  JoystickAxisMotionEvent
 
class  JoystickButtonDownEvent
 
class  JoystickButtonEvent
 
class  JoystickButtonUpEvent
 
class  JoystickDevice
 
class  JoystickEvent
 
class  JoystickHatEvent
 
class  JoystickId
 
class  JoystickManager
 
class  JoystickPort
 
class  JoystickPortIf
 
class  JoyTap
 This device is plugged in into the joy-ports and consolidates several other joysticks plugged into it. More...
 
class  JVCMSXMIDI
 
class  Keyboard
 
class  KeyboardSettings
 
class  KeyClick
 
struct  KeyCodeMsxMapping
 
class  KeyCodeSetting
 
class  KeyDownEvent
 
class  KeyEvent
 
struct  KeyframeHeader
 
class  KeyMatrixPosition
 A position (row, column) in a keyboard matrix. More...
 
class  KeyMatrixState
 
class  KeyUpEvent
 
class  KonamiUltimateCollection
 
class  LaserdiscPlayer
 
class  LaserdiscPlayerCLI
 
class  LastDeltaBlocks
 
class  Layer
 Interface for display layers. More...
 
class  LDDummyRenderer
 
class  LDPixelRenderer
 Generic implementation of a pixel-based Renderer. More...
 
class  LDRasterizer
 
class  LDRenderer
 Abstract base class for LDRenderers. More...
 
class  LDSDLRasterizer
 Rasterizer using a frame buffer approach: it writes pixels to a single rectangular pixel buffer. More...
 
class  LedStatus
 
class  ListExtCmd
 
class  ListMachinesCommand
 
struct  Loader
 
class  LoadingIndicator
 Used by a device to indicate when it is loading. More...
 
class  LoadMachineCmd
 
class  LocalFile
 
class  LocalFileReference
 Helper class to use files in APIs other than openmsx::File. More...
 
struct  LogoImage
 
class  LSXCommand
 
class  MachineActivatedEvent
 Send when a machine is (de)activated. More...
 
class  MachineCommand
 
class  MachineDeactivatedEvent
 
class  MachineExtensionInfo
 
class  MachineLoadedEvent
 Send when a (new) machine configuration is loaded. More...
 
class  MachineMediaInfo
 
class  MachineNameInfo
 
class  MachineTypeInfo
 
class  MagicKey
 
struct  MapConstrArgsCopy
 
struct  MapConstrArgsEmpty
 
struct  MapConstructorArguments
 Define mapping between constructor arg list of base- and subclass. More...
 
class  MB89352
 
class  MC6850
 
class  MediaInfoProvider
 
class  MegaFlashRomSCCPlus
 
class  MegaFlashRomSCCPlusSD
 
class  MegaSCSI
 
class  MemBuffer
 This class manages the lifetime of a block of memory. More...
 
class  MemInputArchive
 
class  MemoryBufferFile
 
class  MemOutputArchive
 
class  MessageCommand
 
class  MicrosolFDC
 
class  MidiInALSA
 
class  MidiInALSAEvent
 
class  MidiInConnector
 
class  MidiInCoreMidiEvent
 
class  MidiInCoreMidiVirtualEvent
 
class  MidiInDevice
 
class  MidiInReader
 
class  MidiInReaderEvent
 
class  MidiInWindowsEvent
 
class  MidiOutALSA
 
class  MidiOutConnector
 
class  MidiOutDevice
 Pluggable that connects an MSX MIDI out port to a host MIDI device. More...
 
class  MidiOutLogger
 
class  MidiSessionALSA
 Lists ALSA MIDI ports we can connect to. More...
 
class  Mixer
 
class  Mouse
 
class  MouseButtonDownEvent
 
class  MouseButtonEvent
 
class  MouseButtonUpEvent
 
class  MouseMotionEvent
 
class  MouseState
 
class  MouseWheelEvent
 
class  MSXAudio
 
struct  MSXBootSector
 
class  MSXBunsetsu
 
class  MsxChar2Unicode
 
class  MSXCielTurbo
 
class  MSXCliComm
 
class  MSXCommandController
 
class  MSXCommandEvent
 This class is used to for Tcl commands that directly influence the MSX state (e.g. More...
 
class  MSXCPU
 
class  MSXCPUInterface
 
class  MSXDevice
 An MSXDevice is an emulated hardware component connected to the bus of the emulated MSX. More...
 
class  MSXDeviceSwitch
 
struct  MSXDirEntry
 
class  MSXE6Timer
 
class  MSXEventDistributor
 
class  MSXEventListener
 
class  MSXException
 
class  MSXFacMidiInterface
 
class  MSXFDC
 
class  MSXFmPac
 
class  MSXHBI55
 
class  MSXHiResTimer
 
class  MSXJoyState
 
class  MSXJoystick
 
class  MSXKanji
 
class  MSXKanji12
 
struct  MsxKeyScanMapping
 Keyboard bindings. More...
 
class  MSXMapperIO
 
class  MSXMapperIOClient
 
class  MSXMatsushita
 
class  MSXMegaRam
 
class  MSXMemoryMapper
 
class  MSXMemoryMapperBase
 
struct  MSXMemoryMapperInterface
 
class  MSXMidi
 
class  MSXMirrorDevice
 
class  MSXMixer
 
class  MSXModem
 
class  MSXMoonSound
 
class  MSXMotherBoard
 
class  MSXMultiDevice
 
class  MSXMultiIODevice
 
class  MSXMultiMemDevice
 
class  MSXMusic
 
class  MSXMusicBase
 
class  MSXMusicWX
 
class  MSXOPL3Cartridge
 
class  MSXPac
 
class  MSXPPI
 
class  MSXPrinterPort
 
class  MSXPSG
 
class  MSXRam
 
class  MSXResetStatusRegister
 
class  MSXRom
 
class  MSXRomCLI
 
class  MSXRS232
 
class  MSXRTC
 
class  MSXS1985
 
class  MSXS1990
 This class implements the MSX-engine found in a MSX Turbo-R (S1990) More...
 
class  MSXSCCPlusCart
 
class  MSXSwitchedDevice
 
class  MSXtar
 
class  MSXToshibaTcx200x
 
class  MSXTurboRPause
 This class implements the MSX Turbo-R pause key. More...
 
class  MSXTurboRPCM
 
class  MSXVictorHC9xSystemControl
 
class  MSXWatchIODevice
 
class  MSXYamahaSFG
 
class  MusicalMemoryMapper
 Memory mapper which also controls an SN76489AN sound chip. More...
 
class  MusicModuleMIDI
 
class  MusicModulePeriphery
 
class  NationalFDC
 
class  NinjaTap
 
struct  NonBitmapMode
 Represents V9958 non-bitmap command mode. More...
 
struct  NonPolymorphicPointerLoader
 
class  NoSuchSectorException
 
struct  NotOp
 
class  NowindCommand
 
class  NowindHost
 
class  NowindInterface
 
class  NowindRomDisk
 
struct  NullScanner
 
class  NullSoundDriver
 
class  Observer
 Generic Gang-of-Four Observer class, templatized edition. More...
 
class  OffScreenSurface
 This class installs a FrameBufferObject (FBO). More...
 
class  OggReader
 
struct  OldXMLElement
 
struct  OpenMSX_Icon
 
class  OptionalIRQ
 
struct  OrOp
 
class  OsdControlEvent
 OSD events are triggered by other events. More...
 
class  OsdControlPressEvent
 
class  OsdControlReleaseEvent
 
class  OSDGUI
 
class  OSDGUILayer
 
class  OSDImageBasedWidget
 
class  OSDRectangle
 
class  OSDText
 
class  OSDTopWidget
 
class  OSDWidget
 
class  OutputArchiveBase
 
class  OutputArchiveBase2
 
class  OutputBuffer
 Memory output buffer. More...
 
class  OutputSurface
 A frame buffer where pixels can be written to. More...
 
struct  P1BackgroundPolicy
 
struct  P1ForegroundPolicy
 
struct  P1Policy
 
struct  P2Policy
 
class  Paddle
 
class  PaddleState
 
class  PaletteLookup
 
class  PanasonicAudioPeriphery
 
class  PanasonicMemory
 
class  PanasonicRam
 
class  Paper
 
struct  ParseAddrResult
 
struct  ParsedSlotCond
 
struct  Partition
 
struct  PartitionTableNextor
 
struct  PartitionTableSunrise
 
class  PasswordCart
 
class  PatchInterface
 
struct  PersistentElement
 
struct  PersistentElement< C, bool >
 
struct  PersistentElement< C, float >
 
struct  PersistentElement< C, gl::ivec2 >
 
struct  PersistentElement< C, gl::vec2 >
 
struct  PersistentElement< C, gl::vec4 >
 
struct  PersistentElement< C, im::WindowStatus >
 
struct  PersistentElement< C, int >
 
struct  PersistentElement< C, std::string >
 
struct  PersistentElement< C, unsigned >
 
struct  PersistentElementBase
 
struct  PersistentElementEnum
 
struct  PersistentElementMax
 
struct  PersistentElementMinMax
 
class  PhilipsFDC
 
class  PioneerLDControl
 
class  PixelOperations
 
class  PixelRenderer
 Generic implementation of a pixel-based Renderer. More...
 
class  PlugException
 Thrown when a plug action fails. More...
 
class  Pluggable
 
class  PluggableFactory
 
class  PluggingController
 Central administration of Connectors and Pluggables. More...
 
struct  PointerLoader
 
struct  PointerLoader2
 
struct  PointerSaver
 
class  Poller
 Polls for events on a given file descriptor. More...
 
struct  PolymorphicBaseClass
 Store association between (polymorphic) sub- and base class. More...
 
struct  PolymorphicConstructorArgs
 Store association between polymorphic class (base- or subclass) and the list of constructor arguments. More...
 
class  PolymorphicInitializerRegistry
 
class  PolymorphicLoaderRegistry
 
struct  PolymorphicPointerLoader
 
class  PolymorphicSaverRegistry
 
class  PostProcessor
 A post processor builds the frame that is displayed from the MSX frame, while applying effects such as scalers, noise etc. More...
 
struct  power_of_two
 A constexpr power_of_two struct for power of two numbers, with compact storage and built-in value correctness assertion. More...
 
class  PreCacheFile
 Read the complete file once and discard result. More...
 
struct  PrimitiveLoader
 
struct  PrimitiveSaver
 
class  PrinterCore
 
class  PrinterPortDevice
 
class  PrinterPortLogger
 
class  PrinterPortSimpl
 
class  Probe
 
class  Probe< void >
 
class  ProbeBase
 
class  ProbeBreakPoint
 
class  ProxyCmd
 
class  ProxySetting
 
class  QuitEvent
 
class  R800TYPE
 
class  Ram
 
class  RamDebuggable
 
class  RamDSKDiskImage
 
class  Rasterizer
 
class  RawFrame
 A video frame as output by the VDP scanline conversion unit, before any postprocessing filters are applied. More...
 
class  RawTrack
 
class  Reactor
 Contains the main loop of openMSX. More...
 
class  ReadDir
 Simple wrapper around opendir() / readdir() / closedir() functions. More...
 
class  ReadOnlySetting
 
class  RealDrive
 This class implements a real drive, single or double sided. More...
 
class  RealTime
 
class  RealTimeInfo
 
class  RecordedCommand
 Commands that directly influence the MSX state should send and events so that they can be recorded by the event recorder. More...
 
struct  Rect
 
struct  Rectangle
 
struct  ReduceResult
 
struct  RegFunction
 
struct  RegisterDescription
 
struct  RegisterInitializerHelper
 
struct  RegisterLoaderHelper
 
struct  RegisterSaverHelper
 
class  RemoveExtCmd
 
class  Renderer
 Abstract base class for Renderers. More...
 
class  RenderSettings
 Class containing all settings for renderers. More...
 
class  RenShaTurbo
 Ren-Sha Turbo is the autofire in several MSX 2+ models and in the MSX turbo R. More...
 
struct  Replay
 
class  ReplayCLI
 
class  ReproCartridgeV1
 
class  ReproCartridgeV2
 
class  ResampleAlgo
 
class  ResampleBlip
 
class  ResampleCoeffs
 
class  ResampledSoundDevice
 
class  ResampleHQ
 
class  ResampleTrivial
 
class  ResetCmd
 
class  RestoreMachineCommand
 
class  ReverseManager
 
class  Rom
 
class  RomAlAlamiah30in1
 
class  RomArc
 
class  RomAscii16_2
 
class  RomAscii16kB
 
class  RomAscii16X
 
class  RomAscii8_8
 
class  RomAscii8kB
 
class  RomBlockDebuggable
 
class  RomBlockDebuggableBase
 
class  RomBlocks
 
class  RomColecoMegaCart
 
class  RomCrossBlaim
 
class  RomDatabase
 
class  RomDebuggable
 
class  RomDooly
 
class  RomDRAM
 
class  RomFSA1FM1
 
class  RomFSA1FM2
 
class  RomGameMaster2
 
class  RomGeneric16kB
 
class  RomGeneric8kB
 
class  RomHalnote
 
class  RomHarryFox
 
class  RomHolyQuran
 
class  RomHolyQuran2
 
class  ROMHunterMk2
 
class  RomInfo
 
class  RomInfoTopic
 
class  RomKonami
 
class  RomKonamiKeyboardMaster
 
class  RomKonamiSCC
 
class  RomMajutsushi
 
class  RomManbow2
 
class  RomMatraCompilation
 
class  RomMatraInk
 
class  RomMitsubishiMLTS2
 
class  RomMSXDOS2
 
class  RomMSXtra
 
class  RomMSXWrite
 
class  RomMultiRom
 
class  RomNational
 
class  RomNeo16
 
class  RomNeo8
 
class  RomNettouYakyuu
 
class  RomPadial16kB
 
class  RomPadial8kB
 
class  RomPageNN
 
class  RomPanasonic
 
class  RomPlain
 
class  RomPlayBall
 
class  RomRamFile
 
class  RomRetroHard31in1
 
class  RomRType
 
class  RomSuperLodeRunner
 
class  RomSuperSwangi
 
class  RomSynthesizer
 
struct  RomTypeAndName
 
struct  RomTypeNameHash
 
class  RomZemina126in1
 
class  RomZemina25in1
 
class  RomZemina80in1
 
class  RomZemina90in1
 
class  RP5C01
 
class  RS232Connector
 
class  RS232Device
 
class  RS232Net
 
class  Rs232NetEvent
 
class  RS232Tester
 
class  Rs232TesterEvent
 
class  RTSchedulable
 
class  RTScheduler
 
struct  RTSyncPoint
 
class  SamplePlayer
 
class  SanyoFDC
 
struct  Saver
 
class  SaveStateCLI
 
class  SC3000PPI
 Connects SC-3000 peripherals to the PPI (8255). More...
 
struct  ScanCodeMsxMapping
 
class  SCC
 
class  Schedulable
 Every class that wants to get scheduled at some point must inherit from this class. More...
 
class  Scheduler
 
class  SchedulerQueue
 
class  ScopedLayerHider
 
class  SCSIDevice
 
class  SCSIHD
 
class  SCSILS120
 
class  SdCard
 
class  SdlEvent
 
struct  SDLKey
 
class  SDLRasterizer
 Rasterizer using a frame buffer approach: it writes pixels to a single rectangular pixel buffer. More...
 
class  SDLSoundDriver
 
class  SDLTTF
 
class  SDLVideoSystem
 
class  SectorAccessibleDisk
 
class  SectorBasedDisk
 Abstract class for disk images that only represent the logical sector information (so not the raw track data that is sometimes needed for copy-protected disks). More...
 
union  SectorBuffer
 
class  SensorKid
 
class  SerialDataInterface
 
struct  serialize_as_collection
 
struct  serialize_as_collection< cb_queue< T > >
 
struct  serialize_as_collection< static_vector< T, N > >
 
struct  serialize_as_collection< std::array< T, N > >
 
struct  serialize_as_collection< std::deque< T > >
 
struct  serialize_as_collection< std::vector< T > >
 
struct  serialize_as_enum
 serialize_as_enum<T> More...
 
struct  serialize_as_pointer
 
struct  serialize_as_pointer< std::shared_ptr< T > >
 
struct  serialize_as_pointer< std::unique_ptr< T > >
 
struct  serialize_as_pointer< T * >
 
struct  serialize_as_pointer_impl
 
struct  serialize_as_stl_collection
 
struct  SerializeAsMemcpy
 
struct  SerializeAsMemcpy< bool >
 
struct  SerializeAsMemcpy< char >
 
struct  SerializeAsMemcpy< Clock< FREQ_NUM, FREQ_DENOM > >
 
struct  SerializeAsMemcpy< double >
 
struct  SerializeAsMemcpy< EmuDuration >
 
struct  SerializeAsMemcpy< float >
 
struct  SerializeAsMemcpy< int >
 
struct  SerializeAsMemcpy< long >
 
struct  SerializeAsMemcpy< long double >
 
struct  SerializeAsMemcpy< long long >
 
struct  SerializeAsMemcpy< short >
 
struct  SerializeAsMemcpy< signed char >
 
struct  SerializeAsMemcpy< std::array< T, N > >
 
struct  SerializeAsMemcpy< unsigned char >
 
struct  SerializeAsMemcpy< unsigned int >
 
struct  SerializeAsMemcpy< unsigned long >
 
struct  SerializeAsMemcpy< unsigned long long >
 
struct  SerializeAsMemcpy< unsigned short >
 
struct  SerializeClassVersion
 Store serialization-version number of a class. More...
 
struct  SerializeClassVersion< std::pair< T1, T2 > >
 
struct  SerializeConstructorArgs
 Serialize (local) constructor arguments. More...
 
struct  SerializeConstructorArgs< DiskChanger >
 
struct  SerializeConstructorArgs< HardwareConfig >
 
struct  Serializer
 
class  SetClipboardCommand
 
class  SETetrisDongle
 
class  Setting
 
class  SettingObserver
 
class  SettingsConfig
 
class  SettingsManager
 Manages all settings. More...
 
struct  SettingsParser
 
class  SG1000JoystickIO
 I/O port access to the joysticks for the Sega SG-1000. More...
 
class  SG1000Pause
 This button is labeled "hold" on SG-1000, "pause" on SG-1000 mk 2 and "reset" on SC-3000. More...
 
class  SHA1
 Helper class to perform a sha1 calculation. More...
 
class  Sha1Sum
 This class represents the result of a sha1 calculation (a 160-bit value). More...
 
class  Shortcuts
 
class  SimpleDebuggable
 
class  SimpleEvent
 
struct  SinTab
 
class  SN76489
 This class implements the Texas Instruments SN76489 sound chip. More...
 
class  SNPSG
 Device that puts the Texas Instruments SN76489 sound chip at a fixed I/O address. More...
 
struct  SocketActivator
 
class  SocketConnection
 
class  SoftwareInfoTopic
 
class  SoundDevice
 
class  SoundDriver
 
class  SpectravideoFDC
 
class  SpeedManager
 Manages the desired ratio between EmuTime and real time. More...
 
struct  SplitAtChar
 
class  SpriteChecker
 
class  SpriteConverter
 Utility class for converting VRAM contents to host pixels. More...
 
class  SRAM
 
class  StateChange
 Base class for all external MSX state changing events. More...
 
class  StateChangeDistributor
 
class  StateChangeListener
 
class  StdioConnection
 
class  StdioMessages
 
struct  StereoFloat
 
class  StoreMachineCommand
 
class  StringSetting
 
struct  SubFunction
 
class  Subject
 Generic Gang-of-Four Subject class of the Observer pattern, templatized edition. More...
 
class  SunriseIDE
 
class  SuperImposedFrame
 This class represents a frame that is the (per-pixel) alpha-blend of two other frames. More...
 
class  SVIFDC
 
class  SVIPPI
 
class  SVIPrinterPort
 
class  SVIPSG
 
class  SwitchRendererEvent
 
struct  Symbol
 
struct  SymbolFile
 
class  SymbolManager
 
struct  SymbolObserver
 
struct  SymbolRef
 
class  SynchronizationPoint
 
struct  SyncPointBW
 
class  SyntaxError
 
struct  Table
 
class  TakeReverseSnapshotEvent
 Used to schedule 'taking reverse snapshots' between Z80 instructions. More...
 
class  TalentTDC600
 
class  TC8566AF
 
class  TclCallback
 
class  TclCallbackMessages
 
class  TclObject
 
class  TestMachineCommand
 
class  TextEvent
 
class  ThrottleManager
 Manages the throttle state of openMSX. More...
 
struct  TigerHash
 This struct represents the result of a tiger-hash. More...
 
class  TigerTree
 Calculate a tiger-tree-hash. More...
 
class  ToshibaAudioPeriphery
 
class  ToshibaFDC
 
class  Touchpad
 
class  TouchpadState
 
class  Trackball
 
class  TrackballState
 
class  TrackedRam
 
struct  TransparentOp
 
struct  TTCacheEntry
 
class  TTData
 The TigerTree class will query the to-be-hashed data via this abstract interface. More...
 
class  TTFFont
 
class  TTFFontPool
 
class  TurboRFDC
 
class  UnicodeKeymap
 
struct  UnmapHostFiles
 
class  UserSettings
 
class  V9990
 Implementation of the Yamaha V9990 VDP as used in the GFX9000 cartridge by Sunrise. More...
 
class  V9990BitmapConverter
 Utility class to convert VRAM content to host pixels. More...
 
class  V9990CmdEngine
 Command engine. More...
 
struct  V9990DisplayPeriod
 A period, either horizontal or vertical, starts with a synchronisation pulse followed by a blank period. More...
 
class  V9990DisplayTiming
 
class  V9990DummyRenderer
 
class  V9990P1Converter
 
class  V9990P2Converter
 
class  V9990PixelRenderer
 Generic pixel based renderer for the V9990. More...
 
class  V9990Rasterizer
 If this seems awfully familiar, take a look at Rasterizer.hh It's virtually the same class, but for a different video processor. More...
 
class  V9990Renderer
 Abstract base class for V9990 renderers. More...
 
class  V9990SDLRasterizer
 Rasterizer using SDL. More...
 
class  V9990VRAM
 Video RAM for the V9990. More...
 
struct  VariantSerializer
 
class  VDP
 Unified implementation of MSX Video Display Processors (VDPs). More...
 
class  VDPCmdEngine
 VDP command engine by Alex Wulms. More...
 
class  VDPIODelay
 
class  VDPVRAM
 Manages VRAM contents and synchronizes the various users of the VRAM. More...
 
class  Version
 
struct  Vertex
 
class  VictorFDC
 
class  Video9000
 
class  VideoLayer
 
class  VideoSourceActivator
 
class  VideoSourceSetting
 
class  VideoSystem
 Video back-end system. More...
 
class  VideoSystemChangeListener
 
class  VisibleSurface
 An OutputSurface which is visible to the user, such as a window or a full screen display. More...
 
class  VLM5030
 
class  VRAMObserver
 Interface that can be registered at VRAMWindow, to be called when the contents of the VRAM inside that window change. More...
 
class  VramTable
 
class  VRAMWindow
 Specifies an address range in the VRAM. More...
 
class  WatchIO
 
class  WatchPoint
 Base class for CPU breakpoints. More...
 
class  Wav16Writer
 Writes 16-bit WAV files. More...
 
class  Wav8Writer
 Writes 8-bit WAV files. More...
 
class  WavAudioInput
 
class  WavData
 
class  WavImage
 
class  WavImageCache
 
class  WavWriter
 Base class for writing WAV files. More...
 
class  WD2793
 
class  WD2793BasedFDC
 
class  WD33C93
 
class  WindowEvent
 
class  WorkspaceBlock
 
class  WriteProtectedException
 
class  XMLAttribute
 
class  XMLDocument
 
class  XMLDocumentHandler
 
class  XMLElement
 
class  XMLException
 
class  XmlInputArchive
 
class  XmlOutputArchive
 
struct  XorOp
 
class  XSADiskImage
 
class  XSAExtractor
 
struct  XXTclHasher
 
class  Y8950
 
class  Y8950Adpcm
 
class  Y8950KeyboardConnector
 
class  Y8950KeyboardDevice
 
class  Y8950Periphery
 Models the 4 general purpose I/O pins on the Y8950 (controlled by registers r#18 and r#19) More...
 
class  Y8950PeripheryFactory
 
class  YamahaFDC
 
class  YamahaSKW01
 
class  YamahaSKW01PrinterPort
 
class  YM2148
 
class  YM2151
 
class  YM2413
 
class  YM2413Core
 Abstract interface for the YM2413 core. More...
 
class  YMF262
 
class  YMF278
 
union  z80regPair
 
struct  z80regPair_8bit
 
struct  z80regPair_8bit< std::endian::big >
 
struct  z80regPair_8bit< std::endian::little >
 
class  Z80TYPE
 
class  ZipFileAdapter
 
class  ZlibInflate
 
class  ZMBVEncoder
 

Concepts

concept  EnumSettingValue
 

Typedefs

using GroupedItems = hash_map< string_view, std::vector< string_view >, XXHasher >
 
using IRQHelper = IntHelper< IRQSource >
 
using OptionalIRQHelper = IntHelper< OptionalIRQ >
 
using EmuDuration32 = EmuDurationCompactStorage< uint32_t >
 
using EmuDuration16 = EmuDurationCompactStorage< uint16_t >
 
using EmuDuration8 = EmuDurationCompactStorage< uint8_t >
 
template<uint64_t MAX>
using EmuDurationStorageFor = std::conditional_t<(MAX > detail::max32), EmuDuration, std::conditional_t<(MAX > detail::max16), EmuDuration32, std::conditional_t<(MAX > detail::max8), EmuDuration16, EmuDuration8 > > >
 
using AllAfterCmds = std::variant< AfterTimeCmd, AfterIdleCmd, AfterSimpleEventCmd, AfterInputEventCmd, AfterRealTimeCmd >
 
using BooleanInput = std::variant< BooleanKeyboard, BooleanMouseButton, BooleanJoystickButton, BooleanJoystickHat, BooleanJoystickAxis >
 
using Event = std::variant< KeyUpEvent, KeyDownEvent, MouseMotionEvent, MouseButtonUpEvent, MouseButtonDownEvent, MouseWheelEvent, JoystickAxisMotionEvent, JoystickHatEvent, JoystickButtonUpEvent, JoystickButtonDownEvent, OsdControlReleaseEvent, OsdControlPressEvent, WindowEvent, TextEvent, FileDropEvent, QuitEvent, FinishFrameEvent, CliCommandEvent, GroupEvent, BootEvent, FrameDrawnEvent, BreakEvent, SwitchRendererEvent, TakeReverseSnapshotEvent, AfterTimedEvent, MachineLoadedEvent, MachineActivatedEvent, MachineDeactivatedEvent, MidiInReaderEvent, MidiInWindowsEvent, MidiInCoreMidiEvent, MidiInCoreMidiVirtualEvent, MidiInALSAEvent, Rs232TesterEvent, Rs232NetEvent, ImGuiDelayedActionEvent, ImGuiActiveEvent >
 
using SOCKET = int
 
using socklen_t = int
 
using Point = gl::ivec2
 
using EnumToolTips = std::span< const EnumToolTip >
 
using Bits = std::array< const char *, 8 >
 
using RD = RegisterDescription
 
using S = SubFunction
 
using R = 511.0f / 512.0f
 
using KeyInfo = UnicodeKeymap::KeyInfo
 
using ModifierArray = array_with_enum_index< UnicodeKeymap::KeyInfo::Modifier, KeyMatrixPosition >
 
using Rom4kBBlocks = RomBlocks< 0x1000 >
 
using Rom8kBBlocks = RomBlocks< 0x2000 >
 
using Rom16kBBlocks = RomBlocks< 0x4000 >
 
using UnknownTypes = hash_map< std::string, unsigned, XXHasher >
 
using nibble = uint8_t
 4 bit integer
 
using byte = uint8_t
 8 bit unsigned integer
 
using word = uint16_t
 16 bit unsigned integer
 
using MasterClock = Clock< 33868800 >
 
using FilterIndex = FixedPoint< 16 >
 
using Pixel = CharacterConverter::Pixel
 
using WorkBuffer = std::vector< MemBuffer< FrameSource::Pixel, SSE_ALIGNMENT > >
 
using EDStorage = EmuDurationStorageFor< d_(maxLength).length()>
 
using A = std::array< const EDStorage, 4 >
 
using A2 = std::array< const A, 3 >
 
using TimingTable = std::span< const A2, 4 >
 
using TImpOp = TransparentOp< ImpOp >
 
using TAndOp = TransparentOp< AndOp >
 
using TOrOp = TransparentOp< OrOp >
 
using TXorOp = TransparentOp< XorOp >
 
using TNotOp = TransparentOp< NotOp >
 

Enumerations

enum  Reg8 : int {
  F , B , C , D = 8 ,
  E = 4 , H , L , IXH ,
  IXL , IYH , IYL , REG_I ,
  REG_R , DUMMY
}
 
enum  Reg16 : int {
  AF , BC , DE , HL ,
  IX , IY , SP
}
 
enum class  ExecIRQ { NMI , IRQ , NONE }
 
enum class  CacheLineCounters {
  NonCachedRead , NonCachedWrite , GetReadCacheLine , GetWriteCacheLine ,
  SlowRead , SlowWrite , DisallowCacheRead , DisallowCacheWrite ,
  InvalidateAllSlots , InvalidateReadWrite , InvalidateRead , InvalidateWrite ,
  FillReadWrite , FillRead , FillWrite , NUM
}
 
enum class  EventType : uint8_t {
  KEY_UP = event_index<KeyUpEvent> , KEY_DOWN = event_index<KeyDownEvent> , MOUSE_MOTION = event_index<MouseMotionEvent> , MOUSE_BUTTON_UP = event_index<MouseButtonUpEvent> ,
  MOUSE_BUTTON_DOWN = event_index<MouseButtonDownEvent> , MOUSE_WHEEL = event_index<MouseWheelEvent> , JOY_AXIS_MOTION = event_index<JoystickAxisMotionEvent> , JOY_HAT = event_index<JoystickHatEvent> ,
  JOY_BUTTON_UP = event_index<JoystickButtonUpEvent> , JOY_BUTTON_DOWN = event_index<JoystickButtonDownEvent> , OSD_CONTROL_RELEASE = event_index<OsdControlReleaseEvent> , OSD_CONTROL_PRESS = event_index<OsdControlPressEvent> ,
  WINDOW = event_index<WindowEvent> , TEXT = event_index<TextEvent> , FILE_DROP = event_index<FileDropEvent> , QUIT = event_index<QuitEvent> ,
  GROUP = event_index<GroupEvent> , BOOT = event_index<BootEvent> , FINISH_FRAME = event_index<FinishFrameEvent> , FRAME_DRAWN = event_index<FrameDrawnEvent> ,
  BREAK = event_index<BreakEvent> , SWITCH_RENDERER = event_index<SwitchRendererEvent> , TAKE_REVERSE_SNAPSHOT = event_index<TakeReverseSnapshotEvent> , CLICOMMAND = event_index<CliCommandEvent> ,
  AFTER_TIMED = event_index<AfterTimedEvent> , MACHINE_LOADED = event_index<MachineLoadedEvent> , MACHINE_ACTIVATED = event_index<MachineActivatedEvent> , MACHINE_DEACTIVATED = event_index<MachineDeactivatedEvent> ,
  MIDI_IN_READER = event_index<MidiInReaderEvent> , MIDI_IN_WINDOWS = event_index<MidiInWindowsEvent> , MIDI_IN_COREMIDI = event_index<MidiInCoreMidiEvent> , MIDI_IN_COREMIDI_VIRTUAL = event_index<MidiInCoreMidiVirtualEvent> ,
  MIDI_IN_ALSA = event_index<MidiInALSAEvent> , RS232_TESTER = event_index<Rs232TesterEvent> , RS232_NET = event_index<Rs232NetEvent> , IMGUI_DELAYED_ACTION = event_index<ImGuiDelayedActionEvent> ,
  IMGUI_ACTIVE = event_index<ImGuiActiveEvent> , NUM_EVENT_TYPES
}
 
enum class  MSXBootSectorType : int { DOS1 = 0 , DOS2 = 1 , NEXTOR = 2 }
 
enum class  FileType {
  NONE = 0 , SYSTEM_ROM = 1 , ROM = 2 , DISK = 4 ,
  TAPE = 8
}
 
enum class  imColor : unsigned {
  TRANSPARENT , BLACK , WHITE , GRAY ,
  YELLOW , RED_BG , YELLOW_BG , TEXT ,
  TEXT_DISABLED , ERROR , WARNING , COMMENT ,
  VARIABLE , LITERAL , PROC , OPERATOR ,
  KEY_ACTIVE , KEY_NOT_ACTIVE , NUM_COLORS
}
 
enum class  RomType {
  ARC , ALALAMIAH30IN1 , ASCII8 , ASCII8_2 ,
  ASCII8_32 , ASCII8_8 , ASCII16 , ASCII16_2 ,
  ASCII16_8 , ASCII16X , COLECOMEGACART , CROSS_BLAIM ,
  DOOLY , DRAM , FSA1FM1 , FSA1FM2 ,
  GAME_MASTER2 , GENERIC_8KB , GENERIC_16KB , HALNOTE ,
  HAMARAJANIGHT , HARRY_FOX , HOLY_QURAN , HOLY_QURAN2 ,
  KBDMASTER , KOEI_8 , KOEI_32 , KONAMI ,
  KONAMI_SCC , REPRO_CARTRIDGE1 , REPRO_CARTRIDGE2 , KONAMI_ULTIMATE_COLLECTION ,
  MAJUTSUSHI , MANBOW2 , MANBOW2_2 , RBSC_FLASH_KONAMI_SCC ,
  MATRAINK , MATRACOMPILATION , MEGAFLASHROMSCC , MEGAFLASHROMSCCPLUS ,
  MIRRORED , MIRRORED0000 , MIRRORED4000 , MIRRORED8000 ,
  MIRROREDC000 , MITSUBISHIMLTS2 , MSXDOS2 , MSXTRA ,
  MSXWRITE , MULTIROM , NATIONAL , NEO8 ,
  NEO16 , NETTOU_YAKYUU , NORMAL , NORMAL0000 ,
  NORMAL4000 , NORMAL8000 , NORMALC000 , PADIAL8 ,
  PADIAL16 , PAGE0 , PAGE1 , PAGE01 ,
  PAGE2 , PAGE12 , PAGE012 , PAGE3 ,
  PAGE23 , PAGE123 , PAGE0123 , PANASONIC ,
  PLAYBALL , R_TYPE , RAMFILE , RETROHARD31IN1 ,
  ROMHUNTERMK2 , SUPERLODERUNNER , SUPERSWANGI , SYNTHESIZER ,
  WIZARDRY , ZEMINA25IN1 , ZEMINA80IN1 , ZEMINA90IN1 ,
  ZEMINA126IN1 , NUM , UNKNOWN = -1
}
 
enum class  Log {
  NO_T , BPP2 , BPP4 , BPP8 ,
  NUM
}
 
enum class  V9990DisplayMode {
  P1 , P2 , B0 , B1 ,
  B2 , B3 , B4 , B5 ,
  B6 , B7
}
 
enum class  V9990ColorMode {
  PP , BYUV , BYUVP , BYJK ,
  BYJKP , BD16 , BD8 , BP6 ,
  BP4 , BP2
}
 

Functions

 REGISTER_POLYMORPHIC_CLASS (StateChange, AutofireStateChange, "AutofireStateChange")
 
 SERIALIZE_ENUM (CassettePlayer::State, stateInfo)
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, CassettePlayer, "CassettePlayer")
 
 SERIALIZE_CLASS_VERSION (CassettePlayer, 2)
 
 SERIALIZE_CLASS_VERSION (CassettePort, 2)
 
 REGISTER_MSXDEVICE (ChakkariCopy, "ChakkariCopy")
 
std::vector< TclObjectparseTclArgs (Interpreter &interp, std::span< const TclObject > inArgs, std::span< const ArgsInfo > table)
 
ArgsInfo flagArg (std::string_view name, bool &flag)
 
template<typename T >
ArgsInfo valueArg (std::string_view name, T &value)
 
template<typename... Args>
TclObject makeTclList (Args &&... args)
 
template<typename... Args>
TclObject makeTclDict (Args &&... args)
 
 SERIALIZE_ENUM (HardwareConfig::Type, configTypeInfo)
 
 SERIALIZE_CLASS_VERSION (HardwareConfig, 6)
 
 SERIALIZE_CLASS_VERSION (OldXMLElement, 2)
 
 REGISTER_BASE_CLASS (Connector, "Connector")
 
 SERIALIZE_CLASS_VERSION (CPUCore< Z80TYPE >, 5)
 
 SERIALIZE_CLASS_VERSION (CPUCore< R800TYPE >, 5)
 
 SERIALIZE_CLASS_VERSION (CPURegs, 3)
 
void appendAddrAsHex (std::string &output, uint16_t addr)
 
std::optional< unsigned > instructionLength (std::span< const uint8_t > bin)
 Calculate the length of the instruction at the given address.
 
unsigned dasm (std::span< const uint8_t > opcode, uint16_t pc, std::string &dest, function_ref< void(std::string &, uint16_t)> appendAddr=&appendAddrAsHex)
 Disassemble.
 
std::span< uint8_t > fetchInstruction (const MSXCPUInterface &interface, uint16_t addr, std::span< uint8_t, 4 > buffer, EmuTime::param time)
 
unsigned dasm (const MSXCPUInterface &interface, uint16_t pc, std::span< uint8_t, 4 > buf, std::string &dest, EmuTime::param time, function_ref< void(std::string &, uint16_t)> appendAddr=&appendAddrAsHex)
 Disassemble.
 
uint16_t instructionBoundary (const MSXCPUInterface &interface, uint16_t addr, EmuTime::param time)
 This is only an heuristic to display instructions in a debugger disassembly view.
 
uint16_t nInstructionsBefore (const MSXCPUInterface &interface, uint16_t addr, EmuTime::param time, int n)
 Get the start address of the 'n'th instruction before the instruction containing the byte at the given address 'addr'.
 
 SERIALIZE_CLASS_VERSION (MSXCPU, 2)
 
std::ostream & operator<< (std::ostream &os, EnumTypeName< CacheLineCounters >)
 
std::ostream & operator<< (std::ostream &os, EnumValueName< CacheLineCounters > evn)
 
void foreach_ct_interval (std::invocable< unsigned > auto action, auto ct_interval)
 
void foreach_ct_interval (std::invocable< unsigned > auto action, auto front_interval, auto... tail_intervals)
 
 SERIALIZE_ENUM (DebugDevice::DebugMode, debugModeInfo)
 
 REGISTER_MSXDEVICE (DebugDevice, "DebugDevice")
 
 SERIALIZE_CLASS_VERSION (DynamicClock, 2)
 
std::ostream & operator<< (std::ostream &os, EmuTime::param time)
 
std::string toString (const BooleanInput &input)
 
std::optional< BooleanInputparseBooleanInput (std::string_view text)
 
std::optional< BooleanInputcaptureBooleanInput (const Event &event, function_ref< int(JoystickId)> getJoyDeadZone)
 
bool operator== (const BooleanInput &x, const BooleanInput &y)
 
std::optional< bool > match (const BooleanInput &binding, const Event &event, function_ref< int(JoystickId)> getJoyDeadZone)
 
constexpr std::string_view toString (BooleanJoystickHat::Direction dir)
 
auto toString (CliComm::LogLevel type)
 
auto toString (CliComm::UpdateType type)
 
bool operator== (const Event &x, const Event &y)
 
TclObject toTclList (const Event &event)
 Similar to toString(), but retains the structure of the event.
 
std::string toString (const Event &event)
 Get a string representation of this event.
 
bool matches (const Event &self, const Event &other)
 Does this event 'match' the given event.
 
EventType getType (const Event &event)
 
template<typename T >
const T * get_event_if (const Event &event)
 
template<typename T >
const T & get_event (const Event &event)
 
std::string sock_error ()
 
void sock_startup ()
 
void sock_cleanup ()
 
void sock_close (SOCKET sd)
 
ptrdiff_t sock_recv (SOCKET sd, char *buf, size_t count)
 
ptrdiff_t sock_send (SOCKET sd, const char *buf, size_t count)
 
 REGISTER_MSXDEVICE (AVTFDC, "AVTFDC")
 
 REGISTER_MSXDEVICE (CanonFDC, "CanonFDC")
 
 REGISTER_POLYMORPHIC_CLASS_1 (DiskContainer, DiskChanger, "DiskChanger", std::reference_wrapper< MSXMotherBoard >)
 
 SERIALIZE_CLASS_VERSION (DiskChanger, 2)
 
 REGISTER_BASE_CLASS_1 (DiskContainer, "DiskContainer", std::reference_wrapper< MSXMotherBoard >)
 
 SERIALIZE_ENUM (DriveMultiplexer::Drive, driveNumInfo)
 
 REGISTER_MSXDEVICE (MicrosolFDC, "MicrosolFDC")
 
 REGISTER_BASE_NAME_HELPER (MSXFDC, "FDC")
 
 REGISTER_MSXDEVICE (NationalFDC, "NationalFDC")
 
 SERIALIZE_ENUM (NowindHost::State, stateInfo)
 
 REGISTER_MSXDEVICE (NowindInterface, "NowindInterface")
 
 REGISTER_POLYMORPHIC_CLASS (DiskContainer, NowindRomDisk, "NowindRomDisk")
 
 REGISTER_MSXDEVICE (PhilipsFDC, "PhilipsFDC")
 
 SERIALIZE_CLASS_VERSION (RawTrack, 2)
 
 SERIALIZE_CLASS_VERSION (RealDrive, 6)
 
 REGISTER_MSXDEVICE (SanyoFDC, "SanyoFDC")
 
 REGISTER_MSXDEVICE (SpectravideoFDC, "SpectravideoFDC")
 
 REGISTER_MSXDEVICE (SVIFDC, "SVI-328 FDC")
 
 REGISTER_MSXDEVICE (TalentTDC600, "TalentTDC600")
 
 SERIALIZE_ENUM (TC8566AF::Command, commandInfo)
 
 SERIALIZE_ENUM (TC8566AF::Phase, phaseInfo)
 
 SERIALIZE_ENUM (TC8566AF::Seek, seekInfo)
 
 SERIALIZE_CLASS_VERSION (TC8566AF, 7)
 
 REGISTER_MSXDEVICE (ToshibaFDC, "ToshibaFDC")
 
 REGISTER_MSXDEVICE (TurboRFDC, "TurboRFDC")
 
 REGISTER_MSXDEVICE (VictorFDC, "VictorFDC")
 
 SERIALIZE_ENUM (WD2793::FSM, fsmStateInfo)
 
 SERIALIZE_CLASS_VERSION (WD2793, 12)
 
 REGISTER_BASE_NAME_HELPER (WD2793BasedFDC, "WD2793BasedFDC")
 
 REGISTER_MSXDEVICE (YamahaFDC, "YamahaFDC")
 
FileContext configFileContext (string_view path, string_view hwDescr, string_view userName)
 
const FileContextsystemFileContext ()
 
const FileContextpreferSystemFileContext ()
 
FileContext userFileContext (string_view savePath)
 
const FileContextuserFileContext ()
 
FileContext userDataFileContext (string_view subDir)
 
const FileContextcurrentDirFileContext ()
 
FileType operator| (FileType x, FileType y)
 
FileType operator& (FileType x, FileType y)
 
FileTypeoperator|= (FileType &x, FileType y)
 
template<typename FileAction >
bool foreach_file (std::string path, FileAction fileAction)
 
template<typename FileAction , typename DirAction >
bool foreach_file_and_directory (std::string path, FileAction fileAction, DirAction dirAction)
 
template<typename FileAction >
bool foreach_file_recursive (std::string path, FileAction fileAction)
 
 REGISTER_BASE_NAME_HELPER (AbstractIDEDevice, "IDEDevice")
 
 REGISTER_MSXDEVICE (BeerIDE, "BeerIDE")
 
 REGISTER_POLYMORPHIC_INITIALIZER (IDEDevice, DummyIDEDevice, "DummyIDEDevice")
 
 REGISTER_POLYMORPHIC_INITIALIZER (SCSIDevice, DummySCSIDevice, "DummySCSIDevice")
 
 REGISTER_MSXDEVICE (GoudaSCSI, "GoudaSCSI")
 
 REGISTER_BASE_CLASS (HD, "HD")
 
 SERIALIZE_CLASS_VERSION (HD, 2)
 
 REGISTER_POLYMORPHIC_INITIALIZER (IDEDevice, IDECDROM, "IDECDROM")
 
 REGISTER_POLYMORPHIC_INITIALIZER (IDEDevice, IDEHD, "IDEHD")
 
 SERIALIZE_ENUM (SCSI::Phase, phaseInfo)
 
 REGISTER_MSXDEVICE (MegaSCSI, "MegaSCSI")
 
 REGISTER_POLYMORPHIC_INITIALIZER (SCSIDevice, SCSIHD, "SCSIHD")
 
 REGISTER_POLYMORPHIC_INITIALIZER (SCSIDevice, SCSILS120, "SCSILS120")
 
 REGISTER_MSXDEVICE (SunriseIDE, "SunriseIDE")
 
static_vector< Rect, 2 > rectFromVdpCmd (int x, int y, int nx, int ny, bool dix, bool diy, ImGuiBitmapViewer::ScrnMode screenMode, bool byteMode)
 
DoneTodo splitRect (const Rect &r, int x, int y)
 
template<typename InfoType >
std::vector< InfoType > parseAllConfigFiles (ImGuiManager &manager, std::string_view type, std::initializer_list< std::string_view > topics)
 
template<typename C , typename T >
 PersistentElement (zstring_view, T C::*) -> PersistentElement< C, T >
 
template<typename C , typename... Elements>
void savePersistent (ImGuiTextBuffer &buf, C &c, const std::tuple< Elements... > &tup)
 
template<typename C , typename Elem >
bool checkLoad (std::string_view name, zstring_view value, C &c, Elem &elem)
 
template<typename C , typename... Elements>
bool loadOnePersistent (std::string_view name, zstring_view value, C &c, const std::tuple< Elements... > &tup)
 
void HelpMarker (std::string_view desc)
 
bool Checkbox (const HotKey &hotKey, BooleanSetting &setting)
 
bool Checkbox (const HotKey &hotKey, const char *label, BooleanSetting &setting, function_ref< std::string(const Setting &)> getTooltip)
 
bool SliderInt (IntegerSetting &setting, ImGuiSliderFlags flags)
 
bool SliderInt (const char *label, IntegerSetting &setting, ImGuiSliderFlags flags)
 
bool SliderFloat (FloatSetting &setting, const char *format, ImGuiSliderFlags flags)
 
bool SliderFloat (const char *label, FloatSetting &setting, const char *format, ImGuiSliderFlags flags)
 
bool InputText (Setting &setting)
 
bool InputText (const char *label, Setting &setting)
 
void ComboBox (const char *label, Setting &setting, function_ref< std::string(const std::string &)> displayValue, EnumToolTips toolTips)
 
void ComboBox (const char *label, Setting &setting, EnumToolTips toolTips)
 
void ComboBox (Setting &setting, EnumToolTips toolTips)
 
void ComboBox (VideoSourceSetting &setting)
 
void ComboBox (const char *label, VideoSourceSetting &setting)
 
const char * getComboString (int item, const char *itemsSeparatedByZeros)
 
std::string formatTime (std::optional< double > time)
 
float calculateFade (float current, float target, float period)
 
std::string getShortCutForCommand (const HotKey &hotkey, std::string_view command)
 
std::string getKeyChordName (ImGuiKeyChord keyChord)
 
std::optional< ImGuiKeyChord > parseKeyChord (std::string_view name)
 
void setColors (int style)
 
void simpleToolTip (std::string_view desc)
 
void simpleToolTip (std::invocable<> auto descFunc)
 
bool ButtonWithCustomRendering (const char *label, gl::vec2 size, bool pressed, std::invocable< gl::vec2, ImDrawList * > auto render)
 
bool ButtonWithCustomRendering (const char *label, gl::vec2 size, std::invocable< gl::vec2, ImDrawList * > auto render)
 
bool ButtonWithCenteredGlyph (ImWchar glyph, gl::vec2 maxGlyphSize)
 
void centerNextWindowOverCurrent ()
 
template<int HexDigits>
void comboHexSequence (const char *label, int *value, int mult, int max, int offset)
 
template<typename Range , typename Projection >
void sortUpDown_T (Range &range, const ImGuiTableSortSpecs *sortSpecs, Projection proj)
 
template<typename Range , typename Projection >
void sortUpDown_String (Range &range, const ImGuiTableSortSpecs *sortSpecs, Projection proj)
 
const std::string * getOptionalDictValue (const std::vector< std::pair< std::string, std::string > > &info, std::string_view key)
 
template<typename T >
std::vector< std::string > getAllValuesFor (std::string_view key, const std::vector< T > &items)
 
template<typename T >
void displayFilterCombo (std::string &selection, zstring_view key, const std::vector< T > &items)
 
template<typename T >
void applyComboFilter (std::string_view key, std::string_view value, const std::vector< T > &items, std::vector< size_t > &indices)
 
template<std::invocable< size_t > GetName>
void filterIndices (std::string_view filterString, GetName getName, std::vector< size_t > &indices)
 
template<typename T >
void applyDisplayNameFilter (std::string_view filterString, const std::vector< T > &items, std::vector< size_t > &indices)
 
template<typename T >
void addRecentItem (circular_buffer< T > &recentItems, const T &item)
 
ImU32 getColor (imColor col)
 
SDL_Keycode ImGuiKey2SDL (ImGuiKey imgui)
 
ImGuiKey SDLKey2ImGui (SDL_Keycode sdl)
 
 REGISTER_POLYMORPHIC_CLASS (StateChange, ArkanoidState, "ArkanoidState")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, ArkanoidPad, "ArkanoidPad")
 
 SERIALIZE_CLASS_VERSION (ArkanoidPad, 2)
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, CircuitDesignerRDDongle, "CircuitDesignerRDDongle")
 
 REGISTER_MSXDEVICE (ColecoJoystickIO, "ColecoJoystick")
 
 SERIALIZE_CLASS_VERSION (ColecoJoystickIO, 2)
 
 REGISTER_POLYMORPHIC_CLASS (StateChange, JoyMegaState, "JoyMegaState")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, JoyMega, "JoyMega")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, JoyTap, "JoyTap")
 
 REGISTER_BASE_NAME_HELPER (JoyTap, "JoyTap")
 
 REGISTER_POLYMORPHIC_CLASS (StateChange, KeyMatrixState, "KeyMatrixState")
 
 SERIALIZE_CLASS_VERSION (Keyboard, 4)
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, MagicKey, "MagicKey")
 
 SERIALIZE_CLASS_VERSION (MouseState, 2)
 
 REGISTER_POLYMORPHIC_CLASS (StateChange, MouseState, "MouseState")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, Mouse, "Mouse")
 
 SERIALIZE_CLASS_VERSION (Mouse, 4)
 
 REGISTER_POLYMORPHIC_CLASS (StateChange, MSXJoyState, "MSXJoyState")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, MSXJoystick, "MSXJoystick")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, NinjaTap, "NinjaTap")
 
 REGISTER_POLYMORPHIC_CLASS (StateChange, PaddleState, "PaddleState")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, Paddle, "Paddle")
 
 REGISTER_POLYMORPHIC_CLASS (StateChange, MSXCommandEvent, "MSXCommandEvent")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, SETetrisDongle, "SETetrisDongle")
 
 REGISTER_MSXDEVICE (SG1000JoystickIO, "SG1000Joystick")
 
 REGISTER_BASE_CLASS (StateChange, "StateChange")
 
 REGISTER_POLYMORPHIC_CLASS (StateChange, TouchpadState, "TouchpadState")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, Touchpad, "Touchpad")
 
 REGISTER_POLYMORPHIC_CLASS (StateChange, TrackballState, "TrackballState")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, Trackball, "Trackball")
 
 SERIALIZE_CLASS_VERSION (Trackball, 2)
 
 SERIALIZE_ENUM (LaserdiscPlayer::RemoteState, RemoteStateInfo)
 
 SERIALIZE_ENUM (LaserdiscPlayer::PlayerState, PlayerStateInfo)
 
 SERIALIZE_ENUM (LaserdiscPlayer::SeekState, SeekStateInfo)
 
 SERIALIZE_ENUM (LaserdiscPlayer::StereoMode, StereoModeInfo)
 
 SERIALIZE_ENUM (LaserdiscPlayer::RemoteProtocol, RemoteProtocolInfo)
 
 SERIALIZE_CLASS_VERSION (LaserdiscPlayer, 4)
 
 REGISTER_MSXDEVICE (PioneerLDControl, "PBASIC")
 
 SERIALIZE_ENUM (AmdFlash::State, stateInfo)
 
 SERIALIZE_CLASS_VERSION (AmdFlash, 3)
 
 REGISTER_MSXDEVICE (CanonWordProcessor, "CanonWordProcessor")
 
 REGISTER_MSXDEVICE (Carnivore2, "Carnivore2")
 
 SERIALIZE_CLASS_VERSION (Carnivore2, 3)
 
 REGISTER_MSXDEVICE (ColecoSuperGameModule, "ColecoSuperGameModule")
 
 SERIALIZE_ENUM (EEPROM_93C46::State, stateInfo)
 
 REGISTER_MSXDEVICE (ESE_RAM, "ESE_RAM")
 
 REGISTER_MSXDEVICE (ESE_SCC, "ESE_SCC")
 
 REGISTER_MSXDEVICE (FraelSwitchableROM, "FraelSwitchableROM")
 
 REGISTER_MSXDEVICE (KonamiUltimateCollection, "KonamiUltimateCollection")
 
 REGISTER_MSXDEVICE (MegaFlashRomSCCPlus, "MegaFlashRomSCCPlus")
 
 REGISTER_MSXDEVICE (MegaFlashRomSCCPlusSD, "MegaFlashRomSCCPlusSD")
 
 REGISTER_MSXDEVICE (MSXHBI55, "MSXHBI55")
 
 SERIALIZE_CLASS_VERSION (MSXHBI55, 2)
 
 SERIALIZE_CLASS_VERSION (MSXMapperIO, 3)
 
 REGISTER_MSXDEVICE (MSXMegaRam, "MegaRAM")
 
 REGISTER_MSXDEVICE (MSXMemoryMapper, "MemoryMapper")
 
 SERIALIZE_CLASS_VERSION (MSXMemoryMapper, 2)
 
 SERIALIZE_CLASS_VERSION (MSXMemoryMapperBase, 2)
 
 REGISTER_BASE_NAME_HELPER (MSXMemoryMapperBase, "MemoryMapper")
 
 REGISTER_MSXDEVICE (MSXMirrorDevice, "Mirror")
 
 REGISTER_MSXDEVICE (MSXPac, "PAC")
 
 REGISTER_MSXDEVICE (MSXRam, "Ram")
 
 REGISTER_MSXDEVICE (MusicalMemoryMapper, "MusicalMemoryMapper")
 
 REGISTER_MSXDEVICE (PanasonicRam, "PanasonicRam")
 
 REGISTER_MSXDEVICE (ReproCartridgeV1, "ReproCartridgeV1")
 
 REGISTER_MSXDEVICE (ReproCartridgeV2, "ReproCartridgeV2")
 
 REGISTER_MSXDEVICE (RomAlAlamiah30in1, "RomAlAlamiah30in1")
 
 REGISTER_MSXDEVICE (RomArc, "RomArc")
 
 REGISTER_MSXDEVICE (RomAscii16_2, "RomAscii16_2")
 
 REGISTER_MSXDEVICE (RomAscii16kB, "RomAscii16kB")
 
 REGISTER_BASE_CLASS (RomAscii16kB, "RomAscii16kB")
 
 REGISTER_MSXDEVICE (RomAscii16X, "RomAscii16X")
 
 REGISTER_MSXDEVICE (RomAscii8_8, "RomAscii8_8")
 
 REGISTER_MSXDEVICE (RomAscii8kB, "RomAscii8kB")
 
 REGISTER_BASE_CLASS (Rom4kBBlocks, "Rom4kBBlocks")
 
 REGISTER_BASE_CLASS (Rom8kBBlocks, "Rom8kBBlocks")
 
 REGISTER_BASE_CLASS (Rom16kBBlocks, "Rom16kBBlocks")
 
 REGISTER_MSXDEVICE (RomColecoMegaCart, "RomColecoMegaCart")
 
 REGISTER_MSXDEVICE (RomCrossBlaim, "RomCrossBlaim")
 
 REGISTER_MSXDEVICE (RomDooly, "RomDooly")
 
 REGISTER_MSXDEVICE (RomDRAM, "RomDRAM")
 
 REGISTER_MSXDEVICE (RomFSA1FM1, "RomFSA1FM1")
 
 REGISTER_MSXDEVICE (RomFSA1FM2, "RomFSA1FM2")
 
 REGISTER_MSXDEVICE (RomGameMaster2, "RomGameMaster2")
 
 REGISTER_MSXDEVICE (RomGeneric16kB, "RomGeneric16kB")
 
 REGISTER_MSXDEVICE (RomGeneric8kB, "RomGeneric8kB")
 
 REGISTER_MSXDEVICE (RomHalnote, "RomHalnote")
 
 REGISTER_MSXDEVICE (RomHarryFox, "RomHarryFox")
 
 REGISTER_MSXDEVICE (RomHolyQuran, "RomHolyQuran")
 
 REGISTER_MSXDEVICE (RomHolyQuran2, "RomHolyQuran2")
 
 REGISTER_MSXDEVICE (ROMHunterMk2, "ROMHunterMk2")
 
 REGISTER_MSXDEVICE (RomKonami, "RomKonami")
 
 REGISTER_BASE_CLASS (RomKonami, "RomKonami")
 
 REGISTER_MSXDEVICE (RomKonamiKeyboardMaster, "RomKonamiKeyboardMaster")
 
 REGISTER_MSXDEVICE (RomKonamiSCC, "RomKonamiSCC")
 
 REGISTER_MSXDEVICE (RomMajutsushi, "RomMajutsushi")
 
 REGISTER_MSXDEVICE (RomManbow2, "RomManbow2")
 
 SERIALIZE_CLASS_VERSION (RomManbow2, 3)
 
 REGISTER_MSXDEVICE (RomMatraCompilation, "RomMatraCompilation")
 
 REGISTER_MSXDEVICE (RomMatraInk, "RomMatraInk")
 
 REGISTER_MSXDEVICE (RomMitsubishiMLTS2, "RomMitsubishiMLTS2")
 
 REGISTER_MSXDEVICE (RomMSXDOS2, "RomMSXDOS2")
 
 REGISTER_MSXDEVICE (RomMSXtra, "RomMSXtra")
 
 REGISTER_MSXDEVICE (RomMSXWrite, "RomMSXWrite")
 
 REGISTER_BASE_CLASS (RomMSXWrite, "RomMSXWrite")
 
 REGISTER_MSXDEVICE (RomMultiRom, "RomMultiRom")
 
 REGISTER_MSXDEVICE (RomNational, "RomNational")
 
 REGISTER_MSXDEVICE (RomNeo16, "RomNeo16")
 
 REGISTER_MSXDEVICE (RomNeo8, "RomNeo8")
 
 REGISTER_MSXDEVICE (RomNettouYakyuu, "RomNettouYakyuu")
 
 REGISTER_MSXDEVICE (RomPadial16kB, "RomPadial16kB")
 
 REGISTER_MSXDEVICE (RomPadial8kB, "RomPadial8kB")
 
 REGISTER_MSXDEVICE (RomPageNN, "RomPageNN")
 
 REGISTER_MSXDEVICE (RomPanasonic, "RomPanasonic")
 
 REGISTER_MSXDEVICE (RomPlain, "RomPlain")
 
 REGISTER_MSXDEVICE (RomPlayBall, "RomPlayBall")
 
 REGISTER_MSXDEVICE (RomRamFile, "RomRamFile")
 
 REGISTER_MSXDEVICE (RomRetroHard31in1, "RomRetroHard31in1")
 
 REGISTER_MSXDEVICE (RomRType, "RomRType")
 
 REGISTER_MSXDEVICE (RomSuperLodeRunner, "RomSuperLodeRunner")
 
 REGISTER_MSXDEVICE (RomSuperSwangi, "RomSuperSwangi")
 
 REGISTER_MSXDEVICE (RomSynthesizer, "RomSynthesizer")
 
 REGISTER_MSXDEVICE (RomZemina126in1, "RomZemina126in1")
 
 REGISTER_MSXDEVICE (RomZemina25in1, "RomZemina25in1")
 
 REGISTER_MSXDEVICE (RomZemina80in1, "RomZemina80in1")
 
 REGISTER_MSXDEVICE (RomZemina90in1, "RomZemina90in1")
 
 SERIALIZE_ENUM (SdCard::Mode, modeInfo)
 
 REGISTER_MSXDEVICE (MSXBunsetsu, "Bunsetsu")
 
 REGISTER_MSXDEVICE (MSXCielTurbo, "CielTurbo")
 
 REGISTER_BASE_NAME_HELPER (MSXDevice, "Device")
 
 REGISTER_MSXDEVICE (MSXE6Timer, "E6Timer")
 
 REGISTER_MSXDEVICE (MSXHiResTimer, "HiResTimer")
 
 REGISTER_MSXDEVICE (MSXKanji, "Kanji")
 
 REGISTER_MSXDEVICE (MSXKanji12, "Kanji12")
 
 REGISTER_MSXDEVICE (MSXMatsushita, "Matsushita")
 
 SERIALIZE_CLASS_VERSION (MSXMatsushita, 2)
 
 SERIALIZE_CLASS_VERSION (MSXMotherBoard, 5)
 
 REGISTER_MSXDEVICE (MSXPPI, "PPI")
 
 REGISTER_MSXDEVICE (MSXPrinterPort, "PrinterPort")
 
 REGISTER_MSXDEVICE (MSXResetStatusRegister, "F4Device")
 
 REGISTER_MSXDEVICE (MSXRTC, "RTC")
 
 REGISTER_MSXDEVICE (MSXS1985, "S1985")
 
 SERIALIZE_CLASS_VERSION (MSXS1985, 2)
 
 REGISTER_MSXDEVICE (MSXS1990, "S1990")
 
 REGISTER_MSXDEVICE (MSXToshibaTcx200x, "ToshibaTcx200x")
 
 REGISTER_MSXDEVICE (MSXTurboRPause, "TurboRPause")
 
 REGISTER_MSXDEVICE (MSXVictorHC9xSystemControl, "VictorHC9xSystemControl")
 
 REGISTER_MSXDEVICE (PasswordCart, "PasswordCart")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, ImagePrinterMSX, "ImagePrinterMSX")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, ImagePrinterEpson, "ImagePrinterEpson")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, PrinterPortLogger, "PrinterPortLogger")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, PrinterPortSimpl, "PrinterPortSimpl")
 
 SERIALIZE_CLASS_VERSION (Replay, 4)
 
 REGISTER_POLYMORPHIC_CLASS (StateChange, EndLogEvent, "EndLog")
 
 REGISTER_MSXDEVICE (SC3000PPI, "SC-3000 PPI")
 
 REGISTER_BASE_CLASS (Schedulable, "Schedulable")
 
 REGISTER_MSXDEVICE (SensorKid, "SensorKid")
 
 SERIALIZE_ENUM (SerialDataInterface::DataBits, dataBitsInfo)
 
 SERIALIZE_ENUM (SerialDataInterface::StopBits, stopBitsInfo)
 
 SERIALIZE_ENUM (SerialDataInterface::Parity, parityBitInfo)
 
 SERIALIZE_ENUM (I8251::CmdPhase, cmdFazeInfo)
 
 SERIALIZE_CLASS_VERSION (I8251, 2)
 
 SERIALIZE_ENUM (Counter::ByteOrder, byteOrderInfo)
 
 REGISTER_MSXDEVICE (JVCMSXMIDI, "JVCMSXMIDI")
 
 SERIALIZE_CLASS_VERSION (MC6850, 3)
 
 REGISTER_BASE_CLASS (MidiInConnector, "inConnector")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, MidiInReader, "MidiInReader")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, MidiOutLogger, "MidiOutLogger")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, MidiOutALSA, "MidiOutALSA")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, MidiInALSA, "MidiInALSA")
 
 REGISTER_MSXDEVICE (MSXFacMidiInterface, "MSXFacMidiInterface")
 
 REGISTER_MSXDEVICE (MSXMidi, "MSX-Midi")
 
 SERIALIZE_CLASS_VERSION (MSXMidi, 2)
 
 REGISTER_MSXDEVICE (MSXModem, "MSXModem")
 
 REGISTER_MSXDEVICE (MSXRS232, "RS232")
 
 SERIALIZE_CLASS_VERSION (MSXRS232, 2)
 
 REGISTER_MSXDEVICE (MusicModuleMIDI, "MusicModuleMIDI")
 
 SERIALIZE_CLASS_VERSION (MusicModuleMIDI, 4)
 
 REGISTER_BASE_CLASS (RS232Connector, "rs232connector")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, RS232Net, "RS232Net")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, RS232Tester, "RS232Tester")
 
 SERIALIZE_CLASS_VERSION (YM2148, 2)
 
void enumError (std::string_view str)
 
void pointerError (unsigned id)
 
unsigned loadVersionHelper (MemInputArchive &, const char *, unsigned)
 
unsigned loadVersionHelper (XmlInputArchive &ar, const char *className, unsigned latestVersion)
 
template<typename Archive , typename T >
void serialize (Archive &ar, T &t, unsigned version)
 
template<typename Archive , typename T1 , typename T2 >
void serialize (Archive &ar, std::pair< T1, T2 > &p, unsigned)
 
template<typename T >
std::string toString (std::initializer_list< enum_string< T > > list, T t_)
 
template<typename T >
fromString (std::initializer_list< enum_string< T > > list, std::string_view str_)
 
template<typename Archive , typename T , typename SaveAction >
void saveEnum (std::initializer_list< enum_string< T > > list, T t, SaveAction save)
 
template<typename Archive , typename T , typename LoadAction >
void loadEnum (std::initializer_list< enum_string< T > > list, T &t, LoadAction load)
 
template<typename Variant >
Variant defaultConstructVariant (size_t index)
 
template<typename T , typename Archive >
unsigned loadVersion (Archive &ar)
 
void polyInitError (const char *expected, const char *actual)
 
 REGISTER_MSXDEVICE (SG1000Pause, "SG1000Pause")
 
 SERIALIZE_CLASS_VERSION (AY8910::Generator, 2)
 
 SERIALIZE_CLASS_VERSION (AY8910::ToneGenerator, 2)
 
 SERIALIZE_CLASS_VERSION (AY8910::NoiseGenerator, 2)
 
 REGISTER_MSXDEVICE (MSXAudio, "MSX-Audio")
 
 REGISTER_MSXDEVICE (MSXFmPac, "FM-PAC")
 
 SERIALIZE_CLASS_VERSION (MSXFmPac, 3)
 
 REGISTER_MSXDEVICE (MSXMoonSound, "MoonSound")
 
 SERIALIZE_CLASS_VERSION (MSXMoonSound, 3)
 
 REGISTER_MSXDEVICE (MSXMusic, "MSX-Music")
 
 REGISTER_MSXDEVICE (MSXMusicWX, "MSX-Music-WX")
 
 SERIALIZE_CLASS_VERSION (MSXMusicBase, 3)
 
 SERIALIZE_CLASS_VERSION (MSXMusic, 3)
 
 SERIALIZE_CLASS_VERSION (MSXMusicWX, 3)
 
 REGISTER_MSXDEVICE (MSXOPL3Cartridge, "OPL3Cartridge")
 
 REGISTER_MSXDEVICE (MSXPSG, "PSG")
 
 SERIALIZE_CLASS_VERSION (MSXPSG, 2)
 
 REGISTER_MSXDEVICE (MSXSCCPlusCart, "SCCPlus")
 
 REGISTER_MSXDEVICE (MSXTurboRPCM, "TurboR-PCM")
 
 REGISTER_MSXDEVICE (MSXYamahaSFG, "YamahaSFG")
 
 SERIALIZE_CLASS_VERSION (MSXYamahaSFG, 2)
 
 SERIALIZE_ENUM (SCC::Mode, chipModeInfo)
 
 REGISTER_MSXDEVICE (SNPSG, "SN76489 PSG")
 
 REGISTER_MSXDEVICE (SVIPSG, "SVI-328 PSG")
 
 SERIALIZE_ENUM (VLM5030::Phase, phaseInfo)
 
 SERIALIZE_CLASS_VERSION (VLM5030, 2)
 
 REGISTER_POLYMORPHIC_INITIALIZER (Pluggable, WavAudioInput, "WavAudioInput")
 
 SERIALIZE_ENUM (Y8950::EnvelopeState, envelopeStateInfo)
 
 SERIALIZE_CLASS_VERSION (Y8950::Slot, 3)
 
 SERIALIZE_CLASS_VERSION (Y8950Adpcm, 2)
 
 REGISTER_POLYMORPHIC_INITIALIZER (Y8950Periphery, MusicModulePeriphery, "MusicModule")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Y8950Periphery, PanasonicAudioPeriphery, "Panasonic")
 
 REGISTER_POLYMORPHIC_INITIALIZER (Y8950Periphery, ToshibaAudioPeriphery, "Toshiba")
 
 SERIALIZE_ENUM (YM2413Burczynski::Slot::EnvelopeState, envelopeStateInfo)
 
 REGISTER_POLYMORPHIC_INITIALIZER (YM2413Core, YM2413, "YM2413-Jarek-Burczynski")
 
 SERIALIZE_CLASS_VERSION (YM2413Burczynski::YM2413, 4)
 
 SERIALIZE_CLASS_VERSION (YM2413Burczynski::Channel, 3)
 
 SERIALIZE_CLASS_VERSION (YM2413Burczynski::Slot, 2)
 
 SERIALIZE_ENUM (YM2413NukeYKT::YM2413::EgState, egStateInfo)
 
 REGISTER_POLYMORPHIC_INITIALIZER (YM2413Core, YM2413, "YM2413-NukeYKT")
 
 SERIALIZE_ENUM (YM2413Okazaki::Slot::EnvelopeState, envelopeStateInfo)
 
 REGISTER_POLYMORPHIC_INITIALIZER (YM2413Core, YM2413, "YM2413-Okazaki")
 
 SERIALIZE_CLASS_VERSION (YM2413Okazaki::Slot, 4)
 
 SERIALIZE_CLASS_VERSION (YM2413Okazaki::Channel, 2)
 
 SERIALIZE_CLASS_VERSION (YM2413Okazaki::YM2413, 4)
 
 REGISTER_POLYMORPHIC_INITIALIZER (YM2413Core, YM2413, "YM2413-Original-NukeYKT")
 
 SERIALIZE_ENUM (YMF262::EnvelopeState, envelopeStateInfo)
 
 SERIALIZE_CLASS_VERSION (YMF262, 2)
 
 SERIALIZE_CLASS_VERSION (YMF278::Slot, 6)
 
 SERIALIZE_CLASS_VERSION (YMF278, 4)
 
 REGISTER_MSXDEVICE (SVIPPI, "SVI-328 PPI")
 
 REGISTER_MSXDEVICE (SVIPrinterPort, "SVI-328 PrinterPort")
 
File memory_buffer_file (std::span< const uint8_t > buffer)
 
template<int N>
bool comp (const uint8_t *p, const uint8_t *q)
 
template<>
bool comp< 4 > (const uint8_t *p, const uint8_t *q)
 
template<>
bool comp< 8 > (const uint8_t *p, const uint8_t *q)
 
void tiger (std::span< const uint8_t > input, TigerHash &result)
 Generic function to calculate a tiger-hash.
 
void tiger_int (const TigerHash &h0, const TigerHash &h1, TigerHash &result)
 Use for tiger-tree internal node hash calculations.
 
void tiger_leaf (std::span< uint8_t > data, TigerHash &result)
 Use for tiger-tree leaf node hash calculations.
 
 REGISTER_MSXDEVICE (ADVram, "ADVRAM")
 
gl::Texture loadTexture (const std::string &filename, ivec2 &size)
 
template<typename EdgeOp >
void calcEdgesGL (std::span< const uint32_t > curr, std::span< const uint32_t > next, std::span< Endian::L32 > edges2, EdgeOp edgeOp)
 
void scale_1on3 (std::span< const Pixel > in, std::span< Pixel > out)
 Scale_XonY functions Transforms an input line of pixel to an output line (possibly) with a different width.
 
void scale_1on4 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_1on6 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_1on2 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_2on1 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_6on1 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_4on1 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_3on1 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_3on2 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_3on4 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_3on8 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_2on3 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_4on3 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_8on3 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_2on9 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_4on9 (std::span< const Pixel > in, std::span< Pixel > out)
 
void scale_8on9 (std::span< const Pixel > in, std::span< Pixel > out)
 
template<unsigned w1 = 1, unsigned w2 = 1>
void blendLines (std::span< const Pixel > in1, std::span< const Pixel > in2, std::span< Pixel > out)
 BlendLines functor Generate an output line that is an interpolation of two input lines.
 
void alphaBlendLines (std::span< const Pixel > in1, std::span< const Pixel > in2, std::span< Pixel > out)
 AlphaBlendLines functor Generate an output line that is a per-pixel-alpha-blend of the two input lines.
 
void alphaBlendLines (Pixel in1, std::span< const Pixel > in2, std::span< Pixel > out)
 
 SERIALIZE_CLASS_VERSION (SpriteChecker, 2)
 
 SERIALIZE_ENUM (V9990DisplayMode, displayModeInfo)
 
 REGISTER_MSXDEVICE (V9990, "V9990")
 
 SERIALIZE_CLASS_VERSION (V9990, 5)
 
template<>
void V9990CmdEngine::executeLMMC< V9990CmdEngine::V9990Bpp16 > (EmuTime::param limit)
 
template<>
void V9990CmdEngine::executeBMXL< V9990CmdEngine::V9990Bpp16 > (EmuTime::param limit)
 
template<>
void V9990CmdEngine::executeBMLX< V9990CmdEngine::V9990Bpp16 > (EmuTime::param limit)
 
template<>
void V9990CmdEngine::executeBMLL< V9990CmdEngine::V9990Bpp16 > (EmuTime::param limit)
 
 SERIALIZE_CLASS_VERSION (V9990CmdEngine, 2)
 
 REGISTER_MSXDEVICE (Video9000, "Video9000")
 
 REGISTER_MSXDEVICE (VDP, "VDP")
 
 SERIALIZE_CLASS_VERSION (VDP, 10)
 
 SERIALIZE_CLASS_VERSION (VDPCmdEngine, 4)
 
 REGISTER_MSXDEVICE (YamahaSKW01, "YamahaSKW01")
 

Variables

 CassettePlayer
 
 CassettePort
 
 ChakkariCopy
 
 HardwareConfig
 
 OldXMLElement
 
 Connector
 
 CPUClock
 
 CPUCore< Z80TYPE >
 
 CPUCore< R800TYPE >
 
 CPURegs
 
 MSXCPU
 
 MSXCPUInterface
 
constexpr bool PROFILE_CACHELINES = false
 
 VDPIODelay
 
 DebugDevice
 
const std::array< const char *, 256 > mnemonic_xx_cb
 
const std::array< const char *, 256 > mnemonic_cb
 
const std::array< const char *, 256 > mnemonic_ed
 
const std::array< const char *, 256 > mnemonic_xx
 
const std::array< const char *, 256 > mnemonic_main
 
const std::array< uint8_t, std::size_t(3) *256 > instr_len_tab
 
 DynamicClock
 
constexpr uint64_t MAIN_FREQ = 3579545ULL * 960
 
constexpr unsigned MAIN_FREQ32 = MAIN_FREQ
 
constexpr double RECIP_MAIN_FREQ = 1.0 / MAIN_FREQ
 
template<typename T >
constexpr uint8_t event_index = get_index<T, Event>::value
 
constexpr int OPENMSX_INVALID_SOCKET = -1
 
constexpr int SOCKET_ERROR = -1
 
 AVTFDC
 
 CanonFDC
 
 DiskChanger
 
 DiskName
 
 DriveMultiplexer
 
 MicrosolFDC
 
 MSXFDC
 
 NationalFDC
 
 NowindHost
 
 NowindInterface
 
 NowindRomDisk
 
 PhilipsFDC
 
 RawTrack
 
 RealDrive
 
 SanyoFDC
 
 SpectravideoFDC
 
 SVIFDC
 
 TalentTDC600
 
 TC8566AF
 
 ToshibaFDC
 
 TurboRFDC
 
 VictorFDC
 
 WD2793
 
 WD2793BasedFDC
 
 YamahaFDC
 
const string USER_DIRS = "{{USER_DIRS}}"
 
const string USER_OPENMSX = "{{USER_OPENMSX}}"
 
const string USER_DATA = "{{USER_DATA}}"
 
const string SYSTEM_DATA = "{{SYSTEM_DATA}}"
 
 FileContext
 
 Filename
 
const int MODE_A = 0x60
 
const int MODEA_0 = 0x00
 
const int MODEA_1 = 0x20
 
const int MODEA_2 = 0x40
 
const int MODEA_2_ = 0x60
 
const int MODE_B = 0x04
 
const int MODEB_0 = 0x00
 
const int MODEB_1 = 0x04
 
const int DIRECTION_A = 0x10
 
const int DIRECTION_B = 0x02
 
const int DIRECTION_C0 = 0x01
 
const int DIRECTION_C1 = 0x08
 
const int SET_MODE = 0x80
 
const int BIT_NR = 0x0E
 
const int SET_RESET = 0x01
 
 I8255
 
 AbstractIDEDevice
 
 BeerIDE
 
 DummyIDEDevice
 
 DummySCSIDevice
 
 GoudaSCSI
 
 HD
 
 IDECDROM
 
 IDEHD
 
 MB89352
 
 MegaSCSI
 
 SCSIHD
 
 SCSILS120
 
 SunriseIDE
 
 WD33C93
 
std::array< ImU32, size_t(imColor::NUM_COLORS)> imColors
 
constexpr auto unsortedKeys
 
 ArkanoidPad
 
 CircuitDesignerRDDongle
 
 ColecoJoystickIO
 
 JoyMega
 
 JoystickPort
 
 JoyTap
 
 Keyboard
 
 MagicKey
 
 Mouse
 
 MSXJoystick
 
 NinjaTap
 
 Paddle
 
 SETetrisDongle
 
 SG1000JoystickIO
 
 Touchpad
 
 Trackball
 
 LaserdiscPlayer
 
 PioneerLDControl
 
 AmdFlash
 
 CanonWordProcessor
 
 Carnivore2
 
 ColecoSuperGameModule
 
 EEPROM_93C46
 
 ESE_RAM
 
 ESE_SCC
 
 FraelSwitchableROM
 
 KonamiUltimateCollection
 
 MegaFlashRomSCCPlus
 
 MegaFlashRomSCCPlusSD
 
 MSXHBI55
 
 MSXMapperIO
 
 MSXMegaRam
 
 MSXMemoryMapper
 
 MSXMemoryMapperBase
 
 MSXMirrorDevice
 
 MSXPac
 
 MSXRam
 
 MusicalMemoryMapper
 
 PanasonicRam
 
 Ram
 
 ReproCartridgeV1
 
 ReproCartridgeV2
 
 RomAlAlamiah30in1
 
 RomArc
 
 RomAscii16_2
 
 RomAscii16X
 
 RomAscii8_8
 
 RomDooly
 
 RomFSA1FM1
 
 RomFSA1FM2
 
 RomGameMaster2
 
 RomHalnote
 
 RomHolyQuran2
 
 ROMHunterMk2
 
 RomKonami
 
 RomKonamiKeyboardMaster
 
 RomKonamiSCC
 
 RomMajutsushi
 
 RomManbow2
 
 RomMatraCompilation
 
 RomMatraInk
 
 RomMitsubishiMLTS2
 
 RomMSXtra
 
 RomMultiRom
 
 RomNational
 
 RomNeo8
 
 RomNettouYakyuu
 
const unsigned SRAM_BASE = 0x80
 
const unsigned RAM_BASE = 0x180
 
 RomPanasonic
 
 RomPlayBall
 
 RomRamFile
 
 RomSynthesizer
 
 SdCard
 
 SRAM
 
 TrackedRam
 
 MSXBunsetsu
 
 MSXCielTurbo
 
 MSXDevice
 
 MSXDeviceSwitch
 
 MSXE6Timer
 
 MSXHiResTimer
 
 MSXKanji
 
 MSXKanji12
 
 MSXMatsushita
 
 MSXPPI
 
 MSXPrinterPort
 
 MSXResetStatusRegister
 
 MSXRTC
 
 MSXS1985
 
 MSXS1990
 
 MSXToshibaTcx200x
 
 MSXTurboRPause
 
 MSXVictorHC9xSystemControl
 
 PasswordCart
 
 ImagePrinterMSX
 
 ImagePrinterEpson
 
 PrinterPortLogger
 
 PrinterPortSimpl
 
int exitCode = 0
 
const double SYNC_INTERVAL = 0.08
 
const int64_t MAX_LAG = 200000
 
const uint64_t ALLOWED_LAG = 20000
 
 RP5C01
 
 SC3000PPI
 
 Schedulable
 
 SynchronizationPoint
 
 Scheduler
 
 SensorKid
 
 ClockPin
 
 I8251
 
 I8254
 
 JVCMSXMIDI
 
 MC6850
 
 MidiInConnector
 
 MidiInReader
 
 MidiOutConnector
 
 MidiOutLogger
 
 MidiOutALSA
 
 MidiInALSA
 
 MSXFacMidiInterface
 
 MSXMidi
 
 MSXModem
 
const unsigned RAM_OFFSET = 0x2000
 
const unsigned RAM_SIZE = 0x800
 
 MSXRS232
 
 MusicModuleMIDI
 
 RS232Connector
 
 RS232Net
 
 RS232Tester
 
 YM2148
 
 SG1000Pause
 
 AudioInputConnector
 
 AY8910
 
 DACSound16S
 
 EmuTimer
 
 MSXAudio
 
 MSXFmPac
 
 MSXMoonSound
 
 MSXMusicBase
 
 MSXMusic
 
 MSXMusicWX
 
 MSXOPL3Cartridge
 
 MSXPSG
 
 MSXSCCPlusCart
 
 MSXTurboRPCM
 
 MSXYamahaSFG
 
 SamplePlayer
 
 SCC
 
 SN76489
 
 SNPSG
 
 SVIPSG
 
 VLM5030
 
 WavAudioInput
 
 Y8950
 
 Y8950Adpcm
 
 Y8950KeyboardConnector
 
 YM2151
 
 YM2413
 
 YMF262
 
 YMF278
 
 SVIPPI
 
 SVIPrinterPort
 
 ADVram
 
const OpenMSX_Icon openMSX_icon
 
 SpriteChecker
 
 V9990
 
 V9990CmdEngine
 
 V9990VRAM
 
 Video9000
 
 VDP
 
 VDPCmdEngine
 
 VDPVRAM
 
 YamahaSKW01
 

Detailed Description

This file implemented 3 utility functions:

Incremental Tiger-tree-hash (tth) calculation.

The implementation of the tiger() function is based on the corresponding function in the tigertree project: https://sourceforge.net/projects/tigertree/ Which in turn states that the code is almost a literal copy from the original Tiger authors code.

Namespace of the openMSX emulation core.

Tecall MSX RAMFile TM220.

Thanks to enen for testing this on a real cartridge:

These traverse all files/directories in a directory and invoke some action for respectively:

The action(s) must accept the following parameters:

The actions' return type must either be:

The result of the foreach_xxx() function is

Writing to 0x6xxx, 0 or 1, will switch bank 0 or 2 into 0x4000-0x7fff Writing to 0x7xxx, 0 or 1, will switch bank 1 or 3 into 0x8000-0xbfff 0x0000-0x3fff and 0xc000-0xffff are unmapped (read as 0xff)

This is a cartridge with 16kB ROM and 16kB RAM (powered by a battery). It offers BASIC commands to load/save files to this RAM. See manual for more details: http://www.msxarchive.nl/pub/msx/graphics/jpg/hardware/manuals/

The ROM is visible in region 0x4000-0x8000. The RAM is visible in region 0x8000-0xC000. Reading ROM/RAM works as expected, but writing to RAM is special.

The /WE signal of the RAM chip (actually implemented as 2x8kB RAM chips) is calculated from the /WE signal on the MSX cartridge slot plus 3 output bits from a 74LS164 shift-register. The input of this shift-register is 'D2 & D6' of the cartridge slot. The clock input of the shift-register is a combination of the /CS1 and /M1 cartridge signals. This means that on each (first byte of an) instruction fetch from the ROM, 2 bits of the fetched opcode are combined and shifted in an 8-bit value. 3 of those shifted bits need to have a specific value to allow write. See implementation below for more details.

So in summary, the TM220 monitors which instructions are fetched from ROM and only allows to write to RAM after certain sequences of instructions.

openMSX: the MSX emulator that aims for perfection

Copyrights: see AUTHORS file. License: GPL.

It can be found at: http://www.cs.technion.ac.il/~biham/Reports/Tiger

The functions tiger_int() and tiger_leaf() are implemented by me. These are built on top of the (internal) tiger_compress() function. These 2 functions are faster than the generic tiger() function for the specific case of tiger-tree calculations.

This code is based on code from the tigertree project https://sourceforge.net/projects/tigertree/

The main difference is that the original code can only perform a one-shot tth calculation while this code (also) allows incremental tth calculations. When the input data changes, incremental calculation allows to only redo part of the full calculation, so it can be much faster.

Here's the copyright notice of the original code (even though the code is almost completely rewritten):

Copyright (C) 2001 Bitzi (aka Bitcollider) Inc. and Gordon Mohr
Released into the public domain by same; permission is explicitly
granted to copy, modify, and use freely.

THE WORK IS PROVIDED "AS IS," AND COMES WITH ABSOLUTELY NO WARRANTY,
EXPRESS OR IMPLIED, TO THE EXTENT PERMITTED BY APPLICABLE LAW,
INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY
OR FITNESS FOR A PARTICULAR PURPOSE.

(PD) 2001 The Bitzi Corporation
Please see file COPYING or http://bitzi.com/publicdomain
for more info.

Typedef Documentation

◆ A

Definition at line 35 of file V9990CmdEngine.cc.

◆ A2

using openmsx::A2 = typedef std::array<const A, 3>

Definition at line 36 of file V9990CmdEngine.cc.

◆ AllAfterCmds

Definition at line 114 of file AfterCommand.cc.

◆ Bits

using openmsx::Bits = typedef std::array<const char*, 8>

Definition at line 78 of file ImGuiVdpRegs.cc.

◆ BooleanInput

Definition at line 130 of file BooleanInput.hh.

◆ byte

using openmsx::byte = typedef uint8_t

8 bit unsigned integer

Definition at line 26 of file openmsx.hh.

◆ EDStorage

using openmsx::EDStorage = typedef EmuDurationStorageFor<d_(maxLength).length()>

Definition at line 33 of file V9990CmdEngine.cc.

◆ EmuDuration16

Definition at line 153 of file EmuDuration.hh.

◆ EmuDuration32

Definition at line 152 of file EmuDuration.hh.

◆ EmuDuration8

Definition at line 154 of file EmuDuration.hh.

◆ EmuDurationStorageFor

template<uint64_t MAX>
using openmsx::EmuDurationStorageFor = typedef std::conditional_t<(MAX > detail::max32), EmuDuration, std::conditional_t<(MAX > detail::max16), EmuDuration32, std::conditional_t<(MAX > detail::max8 ), EmuDuration16, EmuDuration8> >>

Definition at line 163 of file EmuDuration.hh.

◆ EnumToolTips

using openmsx::EnumToolTips = typedef std::span<const EnumToolTip>

Definition at line 77 of file ImGuiUtils.hh.

◆ Event

Definition at line 407 of file Event.hh.

◆ FilterIndex

using openmsx::FilterIndex = typedef FixedPoint<16>

Definition at line 49 of file ResampleHQ.cc.

◆ GroupedItems

using openmsx::GroupedItems = typedef hash_map<string_view, std::vector<string_view>, XXHasher>

Definition at line 420 of file CommandLineParser.cc.

◆ IRQHelper

Definition at line 124 of file IRQHelper.hh.

◆ KeyInfo

Definition at line 64 of file Keyboard.cc.

◆ MasterClock

using openmsx::MasterClock = typedef Clock<33868800>

Definition at line 18 of file MSXMoonSound.cc.

◆ ModifierArray

Definition at line 105 of file Keyboard.cc.

◆ nibble

using openmsx::nibble = typedef uint8_t

4 bit integer

Definition at line 23 of file openmsx.hh.

◆ OptionalIRQHelper

Definition at line 125 of file IRQHelper.hh.

◆ Pixel

Definition at line 27 of file CharacterConverter.cc.

◆ Point

using openmsx::Point = typedef gl::ivec2

Definition at line 88 of file ImGuiBitmapViewer.hh.

◆ R

static constexpr auto openmsx::R = 511.0f / 512.0f
constexpr

Definition at line 184 of file ImGuiVdpRegs.cc.

◆ RD

Definition at line 83 of file ImGuiVdpRegs.cc.

◆ Rom16kBBlocks

Definition at line 97 of file RomBlocks.hh.

◆ Rom4kBBlocks

Definition at line 95 of file RomBlocks.hh.

◆ Rom8kBBlocks

Definition at line 96 of file RomBlocks.hh.

◆ S

using openmsx::S = typedef SubFunction

Definition at line 183 of file ImGuiVdpRegs.cc.

◆ SOCKET

using openmsx::SOCKET = typedef int

Definition at line 25 of file Socket.hh.

◆ socklen_t

using openmsx::socklen_t = typedef int

Definition at line 26 of file Socket.hh.

◆ TAndOp

Definition at line 717 of file VDPCmdEngine.cc.

◆ TimingTable

using openmsx::TimingTable = typedef std::span<const A2, 4>

Definition at line 37 of file V9990CmdEngine.cc.

◆ TImpOp

Definition at line 716 of file VDPCmdEngine.cc.

◆ TNotOp

Definition at line 720 of file VDPCmdEngine.cc.

◆ TOrOp

using openmsx::TOrOp = typedef TransparentOp<OrOp>

Definition at line 718 of file VDPCmdEngine.cc.

◆ TXorOp

Definition at line 719 of file VDPCmdEngine.cc.

◆ UnknownTypes

using openmsx::UnknownTypes = typedef hash_map<std::string, unsigned, XXHasher>

Definition at line 27 of file RomDatabase.cc.

◆ word

using openmsx::word = typedef uint16_t

16 bit unsigned integer

Definition at line 29 of file openmsx.hh.

◆ WorkBuffer

Definition at line 135 of file PostProcessor.cc.

Enumeration Type Documentation

◆ CacheLineCounters

enum class openmsx::CacheLineCounters
strong
Enumerator
NonCachedRead 
NonCachedWrite 
GetReadCacheLine 
GetWriteCacheLine 
SlowRead 
SlowWrite 
DisallowCacheRead 
DisallowCacheWrite 
InvalidateAllSlots 
InvalidateReadWrite 
InvalidateRead 
InvalidateWrite 
FillReadWrite 
FillRead 
FillWrite 
NUM 

Definition at line 35 of file MSXCPUInterface.hh.

◆ EventType

enum class openmsx::EventType : uint8_t
strong
Enumerator
KEY_UP 
KEY_DOWN 
MOUSE_MOTION 
MOUSE_BUTTON_UP 
MOUSE_BUTTON_DOWN 
MOUSE_WHEEL 
JOY_AXIS_MOTION 
JOY_HAT 
JOY_BUTTON_UP 
JOY_BUTTON_DOWN 
OSD_CONTROL_RELEASE 
OSD_CONTROL_PRESS 
WINDOW 
TEXT 
FILE_DROP 
QUIT 
GROUP 
BOOT 
FINISH_FRAME 
FRAME_DRAWN 
BREAK 
SWITCH_RENDERER 
TAKE_REVERSE_SNAPSHOT 
CLICOMMAND 
AFTER_TIMED 
MACHINE_LOADED 
MACHINE_ACTIVATED 
MACHINE_DEACTIVATED 
MIDI_IN_READER 
MIDI_IN_WINDOWS 
MIDI_IN_COREMIDI 
MIDI_IN_COREMIDI_VIRTUAL 
MIDI_IN_ALSA 
RS232_TESTER 
RS232_NET 
IMGUI_DELAYED_ACTION 
IMGUI_ACTIVE 
NUM_EVENT_TYPES 

Definition at line 453 of file Event.hh.

◆ ExecIRQ

enum class openmsx::ExecIRQ
strong
Enumerator
NMI 
IRQ 
NONE 

Definition at line 42 of file CPUCore.hh.

◆ FileType

enum class openmsx::FileType
strong
Enumerator
NONE 
SYSTEM_ROM 
ROM 
DISK 
TAPE 

Definition at line 22 of file FilePoolCore.hh.

◆ imColor

enum class openmsx::imColor : unsigned
strong
Enumerator
TRANSPARENT 
BLACK 
WHITE 
GRAY 
YELLOW 
RED_BG 
YELLOW_BG 
TEXT 
TEXT_DISABLED 
ERROR 
WARNING 
COMMENT 
VARIABLE 
LITERAL 
PROC 
OPERATOR 
KEY_ACTIVE 
KEY_NOT_ACTIVE 
NUM_COLORS 

Definition at line 343 of file ImGuiUtils.hh.

◆ Log

enum class openmsx::Log
strong
Enumerator
NO_T 
BPP2 
BPP4 
BPP8 
NUM 

Definition at line 117 of file V9990CmdEngine.cc.

◆ MSXBootSectorType

enum class openmsx::MSXBootSectorType : int
strong
Enumerator
DOS1 
DOS2 
NEXTOR 

Definition at line 17 of file DiskImageUtils.hh.

◆ Reg16

enum openmsx::Reg16 : int
Enumerator
AF 
BC 
DE 
HL 
IX 
IY 
SP 

Definition at line 218 of file CPUCore.cc.

◆ Reg8

enum openmsx::Reg8 : int
Enumerator
IXH 
IXL 
IYH 
IYL 
REG_I 
REG_R 
DUMMY 

Definition at line 217 of file CPUCore.cc.

◆ RomType

enum class openmsx::RomType
strong
Enumerator
ARC 
ALALAMIAH30IN1 
ASCII8 
ASCII8_2 
ASCII8_32 
ASCII8_8 
ASCII16 
ASCII16_2 
ASCII16_8 
ASCII16X 
COLECOMEGACART 
CROSS_BLAIM 
DOOLY 
DRAM 
FSA1FM1 
FSA1FM2 
GAME_MASTER2 
GENERIC_8KB 
GENERIC_16KB 
HALNOTE 
HAMARAJANIGHT 
HARRY_FOX 
HOLY_QURAN 
HOLY_QURAN2 
KBDMASTER 
KOEI_8 
KOEI_32 
KONAMI 
KONAMI_SCC 
REPRO_CARTRIDGE1 
REPRO_CARTRIDGE2 
KONAMI_ULTIMATE_COLLECTION 
MAJUTSUSHI 
MANBOW2 
MANBOW2_2 
RBSC_FLASH_KONAMI_SCC 
MATRAINK 
MATRACOMPILATION 
MEGAFLASHROMSCC 
MEGAFLASHROMSCCPLUS 
MIRRORED 
MIRRORED0000 
MIRRORED4000 
MIRRORED8000 
MIRROREDC000 
MITSUBISHIMLTS2 
MSXDOS2 
MSXTRA 
MSXWRITE 
MULTIROM 
NATIONAL 
NEO8 
NEO16 
NETTOU_YAKYUU 
NORMAL 
NORMAL0000 
NORMAL4000 
NORMAL8000 
NORMALC000 
PADIAL8 
PADIAL16 
PAGE0 
PAGE1 
PAGE01 
PAGE2 
PAGE12 
PAGE012 
PAGE3 
PAGE23 
PAGE123 
PAGE0123 
PANASONIC 
PLAYBALL 
R_TYPE 
RAMFILE 
RETROHARD31IN1 
ROMHUNTERMK2 
SUPERLODERUNNER 
SUPERSWANGI 
SYNTHESIZER 
WIZARDRY 
ZEMINA25IN1 
ZEMINA80IN1 
ZEMINA90IN1 
ZEMINA126IN1 
NUM 
UNKNOWN 

Definition at line 6 of file RomTypes.hh.

◆ V9990ColorMode

enum class openmsx::V9990ColorMode
strong
Enumerator
PP 
BYUV 
BYUVP 
BYJK 
BYJKP 
BD16 
BD8 
BP6 
BP4 
BP2 

Definition at line 10 of file V9990ModeEnum.hh.

◆ V9990DisplayMode

enum class openmsx::V9990DisplayMode
strong
Enumerator
P1 
P2 
B0 
B1 
B2 
B3 
B4 
B5 
B6 
B7 

Definition at line 6 of file V9990ModeEnum.hh.

Function Documentation

◆ addRecentItem()

template<typename T >
void openmsx::addRecentItem ( circular_buffer< T > &  recentItems,
const T &  item 
)

◆ alphaBlendLines() [1/2]

void openmsx::alphaBlendLines ( Pixel  in1,
std::span< const Pixel in2,
std::span< Pixel out 
)
inline

◆ alphaBlendLines() [2/2]

void openmsx::alphaBlendLines ( std::span< const Pixel in1,
std::span< const Pixel in2,
std::span< Pixel out 
)
inline

AlphaBlendLines functor Generate an output line that is a per-pixel-alpha-blend of the two input lines.

The first input line contains the alpha-value per pixel.

Parameters
in1First input line
in2Second input line
outOutput line

Definition at line 474 of file LineScalers.hh.

References openmsx::PixelOperations::alphaBlend(), and view::zip_equal().

Referenced by openmsx::SuperImposedFrame::getUnscaledLine().

◆ appendAddrAsHex()

void openmsx::appendAddrAsHex ( std::string &  output,
uint16_t  addr 
)

Definition at line 21 of file Dasm.cc.

References strAppend().

◆ applyComboFilter()

template<typename T >
void openmsx::applyComboFilter ( std::string_view  key,
std::string_view  value,
const std::vector< T > &  items,
std::vector< size_t > &  indices 
)

Definition at line 250 of file ImGuiUtils.hh.

References applyComboFilter(), and getOptionalDictValue().

Referenced by applyComboFilter(), and openmsx::ImGuiMedia::showMenu().

◆ applyDisplayNameFilter()

template<typename T >
void openmsx::applyDisplayNameFilter ( std::string_view  filterString,
const std::vector< T > &  items,
std::vector< size_t > &  indices 
)

◆ blendLines()

template<unsigned w1 = 1, unsigned w2 = 1>
void openmsx::blendLines ( std::span< const Pixel in1,
std::span< const Pixel in2,
std::span< Pixel out 
)

BlendLines functor Generate an output line that is an interpolation of two input lines.

Parameters
in1First input line
in2Second input line
outOutput line
widthWidth of the lines in pixels

Definition at line 461 of file LineScalers.hh.

References view::zip_equal().

Referenced by openmsx::FrameSource::getLinePtr320_240(), and openmsx::FrameSource::getLinePtr960_720().

◆ ButtonWithCenteredGlyph()

bool openmsx::ButtonWithCenteredGlyph ( ImWchar  glyph,
gl::vec2  maxGlyphSize 
)
inline

Definition at line 124 of file ImGuiUtils.hh.

References ButtonWithCustomRendering(), g, and ImTextCharToUtf8().

◆ ButtonWithCustomRendering() [1/2]

bool openmsx::ButtonWithCustomRendering ( const char *  label,
gl::vec2  size,
bool  pressed,
std::invocable< gl::vec2, ImDrawList * > auto  render 
)
inline

Definition at line 103 of file ImGuiUtils.hh.

References im::StyleColor().

Referenced by ButtonWithCenteredGlyph(), and ButtonWithCustomRendering().

◆ ButtonWithCustomRendering() [2/2]

bool openmsx::ButtonWithCustomRendering ( const char *  label,
gl::vec2  size,
std::invocable< gl::vec2, ImDrawList * > auto  render 
)
inline

Definition at line 117 of file ImGuiUtils.hh.

References ButtonWithCustomRendering().

◆ calcEdgesGL()

template<typename EdgeOp >
void openmsx::calcEdgesGL ( std::span< const uint32_t >  curr,
std::span< const uint32_t >  next,
std::span< Endian::L32 edges2,
EdgeOp  edgeOp 
)

Definition at line 53 of file HQCommon.hh.

References xrange().

Referenced by openmsx::GLHQScaler::uploadBlock().

◆ calculateFade()

float openmsx::calculateFade ( float  current,
float  target,
float  period 
)

◆ captureBooleanInput()

std::optional< BooleanInput > openmsx::captureBooleanInput ( const Event event,
function_ref< int(JoystickId)>  getJoyDeadZone 
)

Definition at line 110 of file BooleanInput.cc.

References openmsx::BooleanJoystickAxis::NEG, and openmsx::BooleanJoystickAxis::POS.

Referenced by TEST_CASE().

◆ centerNextWindowOverCurrent()

void openmsx::centerNextWindowOverCurrent ( )
inline

Definition at line 141 of file ImGuiUtils.hh.

References centerNextWindowOverCurrent().

Referenced by centerNextWindowOverCurrent().

◆ Checkbox() [1/2]

bool openmsx::Checkbox ( const HotKey hotKey,
BooleanSetting setting 
)

◆ Checkbox() [2/2]

bool openmsx::Checkbox ( const HotKey hotKey,
const char *  label,
BooleanSetting setting,
function_ref< std::string(const Setting &)>  getTooltip 
)

◆ checkLoad()

template<typename C , typename Elem >
bool openmsx::checkLoad ( std::string_view  name,
zstring_view  value,
C c,
Elem &  elem 
)

Definition at line 216 of file ImGuiPartInterface.hh.

Referenced by loadOnePersistent().

◆ ComboBox() [1/5]

void openmsx::ComboBox ( const char *  label,
Setting setting,
EnumToolTips  toolTips 
)

Definition at line 165 of file ImGuiUtils.cc.

References ComboBox(), and setting.

◆ ComboBox() [2/5]

void openmsx::ComboBox ( const char *  label,
Setting setting,
function_ref< std::string(const std::string &)>  displayValue,
EnumToolTips  toolTips 
)

◆ ComboBox() [3/5]

void openmsx::ComboBox ( const char *  label,
VideoSourceSetting setting 
)

Definition at line 180 of file ImGuiUtils.cc.

References im::Combo(), ComboBox(), and setting.

◆ ComboBox() [4/5]

void openmsx::ComboBox ( Setting setting,
EnumToolTips  toolTips 
)

Definition at line 169 of file ImGuiUtils.cc.

References ComboBox(), and setting.

◆ ComboBox() [5/5]

void openmsx::ComboBox ( VideoSourceSetting setting)

Definition at line 175 of file ImGuiUtils.cc.

References ComboBox(), and setting.

◆ comboHexSequence()

template<int HexDigits>
void openmsx::comboHexSequence ( const char *  label,
int *  value,
int  mult,
int  max,
int  offset 
)

Definition at line 174 of file ImGuiUtils.hh.

References im::Combo(), comboHexSequence(), and tmpStrCat().

Referenced by comboHexSequence().

◆ comp()

template<int N>
bool openmsx::comp ( const uint8_t *  p,
const uint8_t *  q 
)

◆ comp< 4 >()

template<>
bool openmsx::comp< 4 > ( const uint8_t *  p,
const uint8_t *  q 
)

Definition at line 52 of file DeltaBlock.cc.

◆ comp< 8 >()

template<>
bool openmsx::comp< 8 > ( const uint8_t *  p,
const uint8_t *  q 
)

Definition at line 58 of file DeltaBlock.cc.

◆ configFileContext()

FileContext openmsx::configFileContext ( string_view  path,
string_view  hwDescr,
string_view  userName 
)

Definition at line 149 of file FileContext.cc.

References strCat(), and USER_OPENMSX.

◆ currentDirFileContext()

const FileContext & openmsx::currentDirFileContext ( )

Definition at line 189 of file FileContext.cc.

◆ dasm() [1/2]

unsigned openmsx::dasm ( const MSXCPUInterface interface,
uint16_t  pc,
std::span< uint8_t, 4 >  buf,
std::string &  dest,
EmuTime::param  time,
function_ref< void(std::string &, uint16_t)>  appendAddr = &appendAddrAsHex 
)

Disassemble.

Parameters
interfaceThe CPU interface, used to peek bytes from memory
pcThe position (program counter) where to start disassembling
bufThe bytes that form this opcode (max 4). The buffer is only filled with the min required bytes (see return value)
destString representation of the disassembled opcode
timeTODO
Returns
Length of the disassembled opcode in bytes

Definition at line 126 of file Dasm.cc.

References dasm(), and fetchInstruction().

◆ dasm() [2/2]

unsigned openmsx::dasm ( std::span< const uint8_t >  opcode,
uint16_t  pc,
std::string &  dest,
function_ref< void(std::string &, uint16_t)>  appendAddr = &appendAddrAsHex 
)

Disassemble.

Parameters
opcodeBuffer containing the machine language instruction The length of this buffer must be exact. So typically calculated via instructionLength() or fetchInstruction().
pcProgram Counter used for disassembling relative addresses
destString [output] representation of the disassembled opcode
Returns
Length of the disassembled opcode in bytes. Should always be the same as 'opcode.size()', so only useful in unittest.

Definition at line 38 of file Dasm.cc.

References mnemonic_cb, mnemonic_ed, mnemonic_main, mnemonic_xx, mnemonic_xx_cb, strAppend(), and xrange().

Referenced by dasm(), and TEST_CASE().

◆ defaultConstructVariant()

template<typename Variant >
Variant openmsx::defaultConstructVariant ( size_t  index)

Definition at line 180 of file serialize_core.hh.

◆ displayFilterCombo()

template<typename T >
void openmsx::displayFilterCombo ( std::string &  selection,
zstring_view  key,
const std::vector< T > &  items 
)

Definition at line 235 of file ImGuiUtils.hh.

References zstring_view::c_str(), im::Combo(), displayFilterCombo(), and getAllValuesFor().

Referenced by displayFilterCombo().

◆ enumError()

void openmsx::enumError ( std::string_view  str)

Definition at line 7 of file serialize_core.cc.

Referenced by fromString().

◆ fetchInstruction()

std::span< uint8_t > openmsx::fetchInstruction ( const MSXCPUInterface interface,
uint16_t  addr,
std::span< uint8_t, 4 >  buffer,
EmuTime::param  time 
)

Definition at line 109 of file Dasm.cc.

References instr_len_tab, and openmsx::MSXCPUInterface::peekMem().

Referenced by dasm().

◆ filterIndices()

template<std::invocable< size_t > GetName>
void openmsx::filterIndices ( std::string_view  filterString,
GetName  getName,
std::vector< size_t > &  indices 
)

◆ flagArg()

ArgsInfo openmsx::flagArg ( std::string_view  name,
bool &  flag 
)
inline

Definition at line 72 of file TclArgParser.hh.

Referenced by TEST_CASE().

◆ foreach_ct_interval() [1/2]

void openmsx::foreach_ct_interval ( std::invocable< unsigned > auto  action,
auto  ct_interval 
)
inline

◆ foreach_ct_interval() [2/2]

void openmsx::foreach_ct_interval ( std::invocable< unsigned > auto  action,
auto  front_interval,
auto...  tail_intervals 
)
inline

Definition at line 458 of file MSXCPUInterface.hh.

References foreach_ct_interval().

◆ foreach_file()

template<typename FileAction >
bool openmsx::foreach_file ( std::string  path,
FileAction  fileAction 
)

◆ foreach_file_and_directory()

template<typename FileAction , typename DirAction >
bool openmsx::foreach_file_and_directory ( std::string  path,
FileAction  fileAction,
DirAction  dirAction 
)

Definition at line 157 of file foreach_file.hh.

References openmsx::detail::foreach_dirent().

Referenced by openmsx::Reactor::getHwConfigs().

◆ foreach_file_recursive()

template<typename FileAction >
bool openmsx::foreach_file_recursive ( std::string  path,
FileAction  fileAction 
)

Definition at line 163 of file foreach_file.hh.

References openmsx::detail::foreach_dirent().

◆ formatTime()

std::string openmsx::formatTime ( std::optional< double >  time)

Definition at line 210 of file ImGuiUtils.cc.

References formatTime().

Referenced by formatTime(), and openmsx::ImGuiReverseBar::paint().

◆ fromString()

template<typename T >
T openmsx::fromString ( std::initializer_list< enum_string< T > >  list,
std::string_view  str_ 
)

Definition at line 126 of file serialize_core.hh.

References enumError(), and t.

Referenced by loadEnum().

◆ get_event()

template<typename T >
const T & openmsx::get_event ( const Event event)

Definition at line 584 of file Event.hh.

References t.

◆ get_event_if()

template<typename T >
const T * openmsx::get_event_if ( const Event event)

Definition at line 578 of file Event.hh.

◆ getAllValuesFor()

template<typename T >
std::vector< std::string > openmsx::getAllValuesFor ( std::string_view  key,
const std::vector< T > &  items 
)

◆ getColor()

ImU32 openmsx::getColor ( imColor  col)
inline

◆ getComboString()

const char * openmsx::getComboString ( int  item,
const char *  itemsSeparatedByZeros 
)

◆ getKeyChordName()

std::string openmsx::getKeyChordName ( ImGuiKeyChord  keyChord)

Definition at line 270 of file ImGuiUtils.cc.

References getKeyChordName(), ImGuiKey2SDL(), and strCat().

Referenced by getKeyChordName(), and openmsx::Shortcuts::saveShortcuts().

◆ getOptionalDictValue()

const std::string * openmsx::getOptionalDictValue ( const std::vector< std::pair< std::string, std::string > > &  info,
std::string_view  key 
)
inline

◆ getShortCutForCommand()

std::string openmsx::getShortCutForCommand ( const HotKey hotkey,
std::string_view  command 
)

◆ getType()

EventType openmsx::getType ( const Event event)
inline

◆ HelpMarker()

void openmsx::HelpMarker ( std::string_view  desc)

◆ ImGuiKey2SDL()

SDL_Keycode openmsx::ImGuiKey2SDL ( ImGuiKey  imgui)
inline

◆ InputText() [1/2]

bool openmsx::InputText ( const char *  label,
Setting setting 
)

◆ InputText() [2/2]

bool openmsx::InputText ( Setting setting)

◆ instructionBoundary()

uint16_t openmsx::instructionBoundary ( const MSXCPUInterface interface,
uint16_t  addr,
EmuTime::param  time 
)

This is only an heuristic to display instructions in a debugger disassembly view.

(In reality Z80 instruction can really start at any address).

Z80 instruction have a variable length between 1 and 4 bytes inclusive (we ignore illegal instructions). If you were to start disassembling the full address space from address 0, some addresses are at the start of an instructions, others are not. To be able to show a 'stable' disassembly view when scrolling up/down in the debugger, it's useful to know at which addresses instructions start.

This function can calculate such start addresses (on average) in a more efficient way than just starting to disassemble from the top.

More in detail: this function calculates the largest address smaller or equal to a given address where an instruction starts. In other words: it calculates the start address of the instruction that contains the given address.

Definition at line 196 of file Dasm.cc.

◆ instructionLength()

std::optional< unsigned > openmsx::instructionLength ( std::span< const uint8_t >  bin)

Calculate the length of the instruction at the given address.

This is exactly the same value as calculated by the dasm() function above, though this function executes much faster. Note that this function (and also dasm()) ignores illegal instructions with repeated prefixes (e.g. an instruction like 'DD DD DD DD DD 00'). Because of this, the instruction length is always between 1 and 4 (inclusive).

Definition at line 26 of file Dasm.cc.

References instr_len_tab, openmsx::TclObject::size(), and t.

Referenced by nInstructionsBefore(), and TEST_CASE().

◆ loadEnum()

template<typename Archive , typename T , typename LoadAction >
void openmsx::loadEnum ( std::initializer_list< enum_string< T > >  list,
T &  t,
LoadAction  load 
)

Definition at line 152 of file serialize_core.hh.

References fromString(), and t.

◆ loadOnePersistent()

template<typename C , typename... Elements>
bool openmsx::loadOnePersistent ( std::string_view  name,
zstring_view  value,
C c,
const std::tuple< Elements... > &  tup 
)

◆ loadTexture()

gl::Texture openmsx::loadTexture ( const std::string &  filename,
ivec2 size 
)

Definition at line 63 of file GLImage.cc.

References openmsx::PNG::load().

◆ loadVersion()

template<typename T , typename Archive >
unsigned openmsx::loadVersion ( Archive &  ar)

Definition at line 574 of file serialize_core.hh.

References loadVersionHelper().

◆ loadVersionHelper() [1/2]

unsigned openmsx::loadVersionHelper ( MemInputArchive ,
const char *  ,
unsigned   
)

Definition at line 29 of file serialize_core.cc.

References UNREACHABLE.

Referenced by loadVersion().

◆ loadVersionHelper() [2/2]

unsigned openmsx::loadVersionHelper ( XmlInputArchive ar,
const char *  className,
unsigned  latestVersion 
)

◆ makeTclDict()

template<typename... Args>
TclObject openmsx::makeTclDict ( Args &&...  args)

Definition at line 299 of file TclObject.hh.

Referenced by TEST_CASE().

◆ makeTclList()

template<typename... Args>
TclObject openmsx::makeTclList ( Args &&...  args)

◆ match()

std::optional< bool > openmsx::match ( const BooleanInput binding,
const Event event,
function_ref< int(JoystickId)>  getJoyDeadZone 
)

◆ matches()

bool openmsx::matches ( const Event self,
const Event other 
)

Does this event 'match' the given event.

Normally an event only matches itself (as defined by operator==). But e.g. MouseMotionGroupEvent matches any MouseMotionEvent.

Definition at line 211 of file Event.cc.

References contains(), and getType().

Referenced by openmsx::AfterInputEventPred::operator()().

◆ memory_buffer_file()

File openmsx::memory_buffer_file ( std::span< const uint8_t >  buffer)

Definition at line 60 of file MemoryBufferFile.cc.

Referenced by TEST_CASE(), TEST_CASE(), and TEST_CASE().

◆ nInstructionsBefore()

uint16_t openmsx::nInstructionsBefore ( const MSXCPUInterface interface,
uint16_t  addr,
EmuTime::param  time,
int  n 
)

Get the start address of the 'n'th instruction before the instruction containing the byte at the given address 'addr'.

In other words, stepping 'n' instructions forwards from the resulting address lands at the address that would be returned from 'instuctionBoundary()'. Unless there aren't enough instructions in front. In that case address 0 is returned.

Definition at line 203 of file Dasm.cc.

References instructionLength().

◆ operator&()

FileType openmsx::operator& ( FileType  x,
FileType  y 
)
inline

Definition at line 29 of file FilePoolCore.hh.

◆ operator<<() [1/3]

std::ostream & openmsx::operator<< ( std::ostream &  os,
EmuTime::param  time 
)

Definition at line 6 of file EmuTime.cc.

◆ operator<<() [2/3]

std::ostream & openmsx::operator<< ( std::ostream &  os,
EnumTypeName< CacheLineCounters  
)

Definition at line 54 of file MSXCPUInterface.cc.

◆ operator<<() [3/3]

std::ostream & openmsx::operator<< ( std::ostream &  os,
EnumValueName< CacheLineCounters evn 
)

Definition at line 58 of file MSXCPUInterface.cc.

References EnumValueName< E >::e, and NUM.

◆ operator==() [1/2]

bool openmsx::operator== ( const BooleanInput x,
const BooleanInput y 
)

◆ operator==() [2/2]

bool openmsx::operator== ( const Event x,
const Event y 
)

◆ operator|()

FileType openmsx::operator| ( FileType  x,
FileType  y 
)
inline

Definition at line 26 of file FilePoolCore.hh.

◆ operator|=()

FileType & openmsx::operator|= ( FileType x,
FileType  y 
)
inline

Definition at line 32 of file FilePoolCore.hh.

◆ parseAllConfigFiles()

template<typename InfoType >
std::vector< InfoType > openmsx::parseAllConfigFiles ( ImGuiManager manager,
std::string_view  type,
std::initializer_list< std::string_view >  topics 
)

◆ parseBooleanInput()

std::optional< BooleanInput > openmsx::parseBooleanInput ( std::string_view  text)

◆ parseKeyChord()

std::optional< ImGuiKeyChord > openmsx::parseKeyChord ( std::string_view  name)

Definition at line 283 of file ImGuiUtils.cc.

References contains(), parseKeyChord(), and SDLKey2ImGui().

Referenced by openmsx::SettingsParser::attribute(), and parseKeyChord().

◆ parseTclArgs()

std::vector< TclObject > openmsx::parseTclArgs ( Interpreter interp,
std::span< const TclObject inArgs,
std::span< const ArgsInfo table 
)

◆ PersistentElement()

template<typename C , typename T >
openmsx::PersistentElement ( zstring_view  ,
T C::*   
) -> PersistentElement< C, T >

◆ pointerError()

void openmsx::pointerError ( unsigned  id)

Definition at line 12 of file serialize_core.cc.

Referenced by openmsx::IDLoader< TP >::operator()().

◆ polyInitError()

void openmsx::polyInitError ( const char *  expected,
const char *  actual 
)

◆ preferSystemFileContext()

const FileContext & openmsx::preferSystemFileContext ( )

Definition at line 163 of file FileContext.cc.

References SYSTEM_DATA, and USER_DATA.

Referenced by openmsx::Reactor::runStartupScripts().

◆ rectFromVdpCmd()

static_vector< Rect, 2 > openmsx::rectFromVdpCmd ( int  x,
int  y,
int  nx,
int  ny,
bool  dix,
bool  diy,
ImGuiBitmapViewer::ScrnMode  screenMode,
bool  byteMode 
)

Definition at line 33 of file ImGuiBitmapViewer.cc.

Referenced by openmsx::ImGuiBitmapViewer::paint().

◆ REGISTER_BASE_CLASS() [1/12]

openmsx::REGISTER_BASE_CLASS ( Connector  ,
"Connector"   
)

◆ REGISTER_BASE_CLASS() [2/12]

openmsx::REGISTER_BASE_CLASS ( HD  ,
"HD"   
)

◆ REGISTER_BASE_CLASS() [3/12]

openmsx::REGISTER_BASE_CLASS ( MidiInConnector  ,
"inConnector"   
)

◆ REGISTER_BASE_CLASS() [4/12]

openmsx::REGISTER_BASE_CLASS ( Rom16kBBlocks  ,
"Rom16kBBlocks"   
)

◆ REGISTER_BASE_CLASS() [5/12]

openmsx::REGISTER_BASE_CLASS ( Rom4kBBlocks  ,
"Rom4kBBlocks"   
)

◆ REGISTER_BASE_CLASS() [6/12]

openmsx::REGISTER_BASE_CLASS ( Rom8kBBlocks  ,
"Rom8kBBlocks"   
)

◆ REGISTER_BASE_CLASS() [7/12]

openmsx::REGISTER_BASE_CLASS ( RomAscii16kB  ,
"RomAscii16kB"   
)

◆ REGISTER_BASE_CLASS() [8/12]

openmsx::REGISTER_BASE_CLASS ( RomKonami  ,
"RomKonami"   
)

◆ REGISTER_BASE_CLASS() [9/12]

openmsx::REGISTER_BASE_CLASS ( RomMSXWrite  ,
"RomMSXWrite"   
)

◆ REGISTER_BASE_CLASS() [10/12]

openmsx::REGISTER_BASE_CLASS ( RS232Connector  ,
"rs232connector"   
)

◆ REGISTER_BASE_CLASS() [11/12]

openmsx::REGISTER_BASE_CLASS ( Schedulable  ,
"Schedulable"   
)

◆ REGISTER_BASE_CLASS() [12/12]

openmsx::REGISTER_BASE_CLASS ( StateChange  ,
"StateChange"   
)

◆ REGISTER_BASE_CLASS_1()

openmsx::REGISTER_BASE_CLASS_1 ( DiskContainer  ,
"DiskContainer"  ,
std::reference_wrapper< MSXMotherBoard  
)

◆ REGISTER_BASE_NAME_HELPER() [1/6]

openmsx::REGISTER_BASE_NAME_HELPER ( AbstractIDEDevice  ,
"IDEDevice"   
)

◆ REGISTER_BASE_NAME_HELPER() [2/6]

openmsx::REGISTER_BASE_NAME_HELPER ( JoyTap  ,
"JoyTap"   
)

◆ REGISTER_BASE_NAME_HELPER() [3/6]

openmsx::REGISTER_BASE_NAME_HELPER ( MSXDevice  ,
"Device"   
)

◆ REGISTER_BASE_NAME_HELPER() [4/6]

openmsx::REGISTER_BASE_NAME_HELPER ( MSXFDC  ,
"FDC"   
)

◆ REGISTER_BASE_NAME_HELPER() [5/6]

openmsx::REGISTER_BASE_NAME_HELPER ( MSXMemoryMapperBase  ,
"MemoryMapper"   
)

◆ REGISTER_BASE_NAME_HELPER() [6/6]

openmsx::REGISTER_BASE_NAME_HELPER ( WD2793BasedFDC  ,
"WD2793BasedFDC"   
)

◆ REGISTER_MSXDEVICE() [1/140]

openmsx::REGISTER_MSXDEVICE ( ADVram  ,
"ADVRAM"   
)

◆ REGISTER_MSXDEVICE() [2/140]

openmsx::REGISTER_MSXDEVICE ( AVTFDC  ,
"AVTFDC"   
)

◆ REGISTER_MSXDEVICE() [3/140]

openmsx::REGISTER_MSXDEVICE ( BeerIDE  ,
"BeerIDE"   
)

◆ REGISTER_MSXDEVICE() [4/140]

openmsx::REGISTER_MSXDEVICE ( CanonFDC  ,
"CanonFDC"   
)

◆ REGISTER_MSXDEVICE() [5/140]

openmsx::REGISTER_MSXDEVICE ( CanonWordProcessor  ,
"CanonWordProcessor"   
)

◆ REGISTER_MSXDEVICE() [6/140]

openmsx::REGISTER_MSXDEVICE ( Carnivore2  ,
"Carnivore2"   
)

◆ REGISTER_MSXDEVICE() [7/140]

openmsx::REGISTER_MSXDEVICE ( ChakkariCopy  ,
"ChakkariCopy"   
)

◆ REGISTER_MSXDEVICE() [8/140]

openmsx::REGISTER_MSXDEVICE ( ColecoJoystickIO  ,
"ColecoJoystick"   
)

◆ REGISTER_MSXDEVICE() [9/140]

openmsx::REGISTER_MSXDEVICE ( ColecoSuperGameModule  ,
"ColecoSuperGameModule"   
)

◆ REGISTER_MSXDEVICE() [10/140]

openmsx::REGISTER_MSXDEVICE ( DebugDevice  ,
"DebugDevice"   
)

◆ REGISTER_MSXDEVICE() [11/140]

openmsx::REGISTER_MSXDEVICE ( ESE_RAM  ,
"ESE_RAM"   
)

◆ REGISTER_MSXDEVICE() [12/140]

openmsx::REGISTER_MSXDEVICE ( ESE_SCC  ,
"ESE_SCC"   
)

◆ REGISTER_MSXDEVICE() [13/140]

openmsx::REGISTER_MSXDEVICE ( FraelSwitchableROM  ,
"FraelSwitchableROM"   
)

◆ REGISTER_MSXDEVICE() [14/140]

openmsx::REGISTER_MSXDEVICE ( GoudaSCSI  ,
"GoudaSCSI"   
)

◆ REGISTER_MSXDEVICE() [15/140]

openmsx::REGISTER_MSXDEVICE ( JVCMSXMIDI  ,
"JVCMSXMIDI"   
)

◆ REGISTER_MSXDEVICE() [16/140]

openmsx::REGISTER_MSXDEVICE ( KonamiUltimateCollection  ,
"KonamiUltimateCollection"   
)

◆ REGISTER_MSXDEVICE() [17/140]

openmsx::REGISTER_MSXDEVICE ( MegaFlashRomSCCPlus  ,
"MegaFlashRomSCCPlus"   
)

◆ REGISTER_MSXDEVICE() [18/140]

openmsx::REGISTER_MSXDEVICE ( MegaFlashRomSCCPlusSD  ,
"MegaFlashRomSCCPlusSD"   
)

◆ REGISTER_MSXDEVICE() [19/140]

openmsx::REGISTER_MSXDEVICE ( MegaSCSI  ,
"MegaSCSI"   
)