openMSX
Classes | Namespaces | Macros | Enumerations | Variables
CPUCore.cc File Reference
#include "CPUCore.hh"
#include "MSXCPUInterface.hh"
#include "Scheduler.hh"
#include "MSXMotherBoard.hh"
#include "CliComm.hh"
#include "TclCallback.hh"
#include "Dasm.hh"
#include "Z80.hh"
#include "R800.hh"
#include "Thread.hh"
#include "endian.hh"
#include "likely.hh"
#include "inline.hh"
#include "unreachable.hh"
#include <iomanip>
#include <iostream>
#include <type_traits>
#include <cassert>
#include <cstring>
Include dependency graph for CPUCore.cc:

Go to the source code of this file.

Classes

struct  openmsx::CondC
 
struct  openmsx::CondNC
 
struct  openmsx::CondZ
 
struct  openmsx::CondNZ
 
struct  openmsx::CondM
 
struct  openmsx::CondP
 
struct  openmsx::CondPE
 
struct  openmsx::CondPO
 
struct  openmsx::CondTrue
 

Namespaces

 openmsx
 Thanks to enen for testing this on a real cartridge:
 

Macros

#define NEXT
 
#define NEXT_STOP
 
#define NEXT_EI
 
#define CASE(X)   case 0x##X:
 

Enumerations

enum  openmsx::Reg8 : int {
  openmsx::A, openmsx::F, openmsx::B, openmsx::C,
  openmsx::D, openmsx::E, openmsx::H, openmsx::L,
  openmsx::IXH, openmsx::IXL, openmsx::IYH, openmsx::IYL,
  openmsx::REG_I, openmsx::REG_R, openmsx::DUMMY
}
 
enum  openmsx::Reg16 : int {
  openmsx::AF, openmsx::BC, openmsx::DE, openmsx::HL,
  openmsx::IX, openmsx::IY, openmsx::SP
}
 

Variables

 openmsx::CPUCore< Z80TYPE >
 
 openmsx::CPUCore< R800TYPE >
 

Macro Definition Documentation

◆ CASE

#define CASE (   X)    case 0x##X:

◆ NEXT

#define NEXT
Value:
setPC(getPC() + ii.length); \
T::add(ii.cycles); \
T::R800Refresh(*this); \
if (likely(!T::limitReached())) { \
goto start; \
} \
return;
#define likely(x)
Definition: likely.hh:14

Referenced by openmsx::CPUCore< openmsx::Z80TYPE >::WR_WORD_rev().

◆ NEXT_EI

#define NEXT_EI
Value:
setPC(getPC() + ii.length); \
T::add(ii.cycles); \
/* !! NO T::R800Refresh(*this); !! */ \
assert(T::limitReached()); \
return;

Referenced by openmsx::CPUCore< openmsx::Z80TYPE >::WR_WORD_rev().

◆ NEXT_STOP

#define NEXT_STOP
Value:
setPC(getPC() + ii.length); \
T::add(ii.cycles); \
T::R800Refresh(*this); \
assert(T::limitReached()); \
return;

Referenced by openmsx::CPUCore< openmsx::Z80TYPE >::WR_WORD_rev().