Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs.

Making changes to a header file should no longer force the entire project to recompile.
This commit is contained in:
Matthew Daniels 2021-11-22 17:15:06 +00:00
parent 50465f9a5a
commit 9ffce8b92a
77 changed files with 1024 additions and 915 deletions

View file

@ -26,6 +26,8 @@
* class.
*/
#include "BlockFile.h"
#include <cstdio>
#include <cstring>
#include <cstdint>

View file

@ -33,9 +33,11 @@
* accesses (interrupts pending, halted status, etc.)
*/
#include "68K.h"
#include "Supermodel.h"
#include "Musashi/m68k.h" // Musashi 68K core
#include "Debugger/CPU/Musashi68KDebug.h"
/******************************************************************************
Internal Context

View file

@ -37,6 +37,7 @@
#include "Musashi/m68k.h"
#include "Musashi/m68kctx.h"
#include "CPU/Bus.h"
#include "BlockFile.h"
// This doesn't work for now (needs to be added to the prototypes in m68k.h for m68k_read_memory*)
//#ifndef FASTCALL

View file

@ -28,6 +28,7 @@
#ifndef INCLUDED_BUS_H
#define INCLUDED_BUS_H
#include "Types.h"
/*
* IBus:

View file

@ -28,16 +28,15 @@
/* IBM/Motorola PowerPC 4xx/6xx Emulator */
#include "ppc.h"
#include <cstring> // memset()
#include "Supermodel.h"
#include "ppc.h"
#include "CPU/Bus.h"
// Typedefs that Supermodel no longer provides
typedef unsigned int UINT;
// C++ should allow this...
#define INLINE inline
// Model 3 context provides read/write handlers
static class IBus *Bus = NULL; // pointer to Model 3 bus object (for access handlers)
@ -318,42 +317,42 @@ static void ppc_change_pc(UINT32 newpc)
ppc.fatalError = true;
}
INLINE UINT8 READ8(UINT32 address)
inline UINT8 READ8(UINT32 address)
{
return Bus->Read8(address);
}
INLINE UINT16 READ16(UINT32 address)
inline UINT16 READ16(UINT32 address)
{
return Bus->Read16(address);
}
INLINE UINT32 READ32(UINT32 address)
inline UINT32 READ32(UINT32 address)
{
return Bus->Read32(address);
}
INLINE UINT64 READ64(UINT32 address)
inline UINT64 READ64(UINT32 address)
{
return Bus->Read64(address);
}
INLINE void WRITE8(UINT32 address, UINT8 data)
inline void WRITE8(UINT32 address, UINT8 data)
{
Bus->Write8(address,data);
}
INLINE void WRITE16(UINT32 address, UINT16 data)
inline void WRITE16(UINT32 address, UINT16 data)
{
Bus->Write16(address,data);
}
INLINE void WRITE32(UINT32 address, UINT32 data)
inline void WRITE32(UINT32 address, UINT32 data)
{
Bus->Write32(address,data);
}
INLINE void WRITE64(UINT32 address, UINT64 data)
inline void WRITE64(UINT32 address, UINT64 data)
{
Bus->Write64(address,data);
}
@ -362,7 +361,7 @@ INLINE void WRITE64(UINT32 address, UINT64 data)
/*********************************************************************/
INLINE void SET_CR0(INT32 rd)
inline void SET_CR0(INT32 rd)
{
if( rd < 0 ) {
CR(0) = 0x8;
@ -376,12 +375,12 @@ INLINE void SET_CR0(INT32 rd)
CR(0) |= 0x1;
}
INLINE void SET_CR1(void)
inline void SET_CR1(void)
{
CR(1) = (ppc.fpscr >> 28) & 0xf;
}
INLINE void SET_ADD_OV(UINT32 rd, UINT32 ra, UINT32 rb)
inline void SET_ADD_OV(UINT32 rd, UINT32 ra, UINT32 rb)
{
if( ADD_OV(rd, ra, rb) )
XER |= XER_SO | XER_OV;
@ -389,7 +388,7 @@ INLINE void SET_ADD_OV(UINT32 rd, UINT32 ra, UINT32 rb)
XER &= ~XER_OV;
}
INLINE void SET_SUB_OV(UINT32 rd, UINT32 ra, UINT32 rb)
inline void SET_SUB_OV(UINT32 rd, UINT32 ra, UINT32 rb)
{
if( SUB_OV(rd, ra, rb) )
XER |= XER_SO | XER_OV;
@ -397,7 +396,7 @@ INLINE void SET_SUB_OV(UINT32 rd, UINT32 ra, UINT32 rb)
XER &= ~XER_OV;
}
INLINE void SET_ADD_CA(UINT32 rd, UINT32 ra, UINT32 rb)
inline void SET_ADD_CA(UINT32 rd, UINT32 ra, UINT32 rb)
{
if( ADD_CA(rd, ra, rb) )
XER |= XER_CA;
@ -405,7 +404,7 @@ INLINE void SET_ADD_CA(UINT32 rd, UINT32 ra, UINT32 rb)
XER &= ~XER_CA;
}
INLINE void SET_SUB_CA(UINT32 rd, UINT32 ra, UINT32 rb)
inline void SET_SUB_CA(UINT32 rd, UINT32 ra, UINT32 rb)
{
if( SUB_CA(rd, ra, rb) )
XER |= XER_CA;
@ -413,7 +412,7 @@ INLINE void SET_SUB_CA(UINT32 rd, UINT32 ra, UINT32 rb)
XER &= ~XER_CA;
}
INLINE UINT32 check_condition_code(UINT32 bo, UINT32 bi)
inline UINT32 check_condition_code(UINT32 bo, UINT32 bi)
{
UINT32 ctr_ok;
UINT32 condition_ok;
@ -431,7 +430,7 @@ INLINE UINT32 check_condition_code(UINT32 bo, UINT32 bi)
return ctr_ok && condition_ok;
}
INLINE UINT64 ppc_read_timebase(void)
inline UINT64 ppc_read_timebase(void)
{
int cycles = ppc.tb_base_icount - ppc.icount;
@ -439,7 +438,7 @@ INLINE UINT64 ppc_read_timebase(void)
return ppc.tb + (cycles / ppc.timer_ratio);
}
INLINE void ppc_write_timebase_l(UINT32 tbl)
inline void ppc_write_timebase_l(UINT32 tbl)
{
UINT64 tb = ppc_read_timebase();
@ -448,7 +447,7 @@ INLINE void ppc_write_timebase_l(UINT32 tbl)
ppc.tb = (tb&~0xffffffff)|tbl;
}
INLINE void ppc_write_timebase_h(UINT32 tbh)
inline void ppc_write_timebase_h(UINT32 tbh)
{
UINT64 tb = ppc_read_timebase();
@ -457,7 +456,7 @@ INLINE void ppc_write_timebase_h(UINT32 tbh)
ppc.tb = (tb&0xffffffff)|((UINT64)(tbh) << 32);
}
INLINE UINT32 read_decrementer(void)
inline UINT32 read_decrementer(void)
{
int cycles = ppc.dec_base_icount - ppc.icount;
@ -465,7 +464,7 @@ INLINE UINT32 read_decrementer(void)
return DEC - (cycles / ppc.timer_ratio);
}
INLINE void write_decrementer(UINT32 value)
inline void write_decrementer(UINT32 value)
{
if (((value&0x80000000) && !(read_decrementer()&0x80000000)))
{
@ -488,7 +487,7 @@ INLINE void write_decrementer(UINT32 value)
/*********************************************************************/
INLINE void ppc_set_spr(int spr, UINT32 value)
inline void ppc_set_spr(int spr, UINT32 value)
{
switch (spr)
{
@ -561,7 +560,7 @@ INLINE void ppc_set_spr(int spr, UINT32 value)
ppc.fatalError = true;
}
INLINE UINT32 ppc_get_spr(int spr)
inline UINT32 ppc_get_spr(int spr)
{
switch(spr)
{
@ -624,7 +623,7 @@ INLINE UINT32 ppc_get_spr(int spr)
return 0;
}
INLINE void ppc_set_msr(UINT32 value)
inline void ppc_set_msr(UINT32 value)
{
if( value & (MSR_ILE | MSR_LE) )
{
@ -638,12 +637,12 @@ INLINE void ppc_set_msr(UINT32 value)
ppc603_check_interrupts();
}
INLINE UINT32 ppc_get_msr(void)
inline UINT32 ppc_get_msr(void)
{
return MSR;
}
INLINE void ppc_set_cr(UINT32 value)
inline void ppc_set_cr(UINT32 value)
{
CR(0) = (value >> 28) & 0xf;
CR(1) = (value >> 24) & 0xf;
@ -655,7 +654,7 @@ INLINE void ppc_set_cr(UINT32 value)
CR(7) = (value >> 0) & 0xf;
}
INLINE UINT32 ppc_get_cr(void)
inline UINT32 ppc_get_cr(void)
{
return CR(0) << 28 | CR(1) << 24 | CR(2) << 20 | CR(3) << 16 | CR(4) << 12 | CR(5) << 8 | CR(6) << 4 | CR(7);
}

View file

@ -28,6 +28,9 @@
#ifndef INCLUDED_PPC_H
#define INCLUDED_PPC_H
#include "BlockFile.h"
#include "Types.h"
#include "Debugger/CPU/PPCDebug.h"
/******************************************************************************
Definitions

View file

@ -1568,33 +1568,33 @@ static void ppc_invalid(UINT32 op)
*/
/*************************OLD
INLINE int is_nan_double(FPR x)
inline int is_nan_double(FPR x)
{
return( ((x.id & DOUBLE_EXP) == DOUBLE_EXP) &&
((x.id & DOUBLE_FRAC) != DOUBLE_ZERO) );
}
INLINE int is_qnan_double(FPR x)
inline int is_qnan_double(FPR x)
{
return( ((x.id & DOUBLE_EXP) == DOUBLE_EXP) &&
((x.id & 0x0007fffffffffff) == 0x000000000000000) &&
((x.id & 0x000800000000000) == 0x000800000000000) );
}
INLINE int is_snan_double(FPR x)
inline int is_snan_double(FPR x)
{
return( ((x.id & DOUBLE_EXP) == DOUBLE_EXP) &&
((x.id & DOUBLE_FRAC) != DOUBLE_ZERO) &&
((x.id & 0x0008000000000000) == DOUBLE_ZERO) );
}
INLINE int is_infinity_double(FPR x)
inline int is_infinity_double(FPR x)
{
return( ((x.id & DOUBLE_EXP) == DOUBLE_EXP) &&
((x.id & DOUBLE_FRAC) == DOUBLE_ZERO) );
}
INLINE int is_normalized_double(FPR x)
inline int is_normalized_double(FPR x)
{
UINT64 exp;
@ -1603,18 +1603,18 @@ INLINE int is_normalized_double(FPR x)
return (exp >= 1) && (exp <= 2046);
}
INLINE int is_denormalized_double(FPR x)
inline int is_denormalized_double(FPR x)
{
return( ((x.id & DOUBLE_EXP) == 0) &&
((x.id & DOUBLE_FRAC) != DOUBLE_ZERO) );
}
INLINE int sign_double(FPR x)
inline int sign_double(FPR x)
{
return ((x.id & DOUBLE_SIGN) != 0);
}
INLINE INT64 round_to_nearest(FPR f)
inline INT64 round_to_nearest(FPR f)
{
//return (INT64)(f.fd + 0.5);
if (f.fd >= 0)
@ -1627,18 +1627,18 @@ INLINE INT64 round_to_nearest(FPR f)
}
}
INLINE INT64 round_toward_zero(FPR f)
inline INT64 round_toward_zero(FPR f)
{
return (INT64)(f.fd);
}
INLINE INT64 round_toward_positive_infinity(FPR f)
inline INT64 round_toward_positive_infinity(FPR f)
{
double r = ceil(f.fd);
return (INT64)(r);
}
INLINE INT64 round_toward_negative_infinity(FPR f)
inline INT64 round_toward_negative_infinity(FPR f)
{
double r = floor(f.fd);
return (INT64)(r);
@ -1647,33 +1647,33 @@ INLINE INT64 round_toward_negative_infinity(FPR f)
// New below, based on changes in MAME
INLINE int is_nan_double(FPR x)
inline int is_nan_double(FPR x)
{
return( ((x.id & DOUBLE_EXP) == DOUBLE_EXP) &&
((x.id & DOUBLE_FRAC) != DOUBLE_ZERO) );
}
INLINE int is_qnan_double(FPR x)
inline int is_qnan_double(FPR x)
{
return( ((x.id & DOUBLE_EXP) == DOUBLE_EXP) &&
((x.id & 0x0007fffffffffffULL) == 0x000000000000000ULL) &&
((x.id & 0x000800000000000ULL) == 0x000800000000000ULL) );
}
INLINE int is_snan_double(FPR x)
inline int is_snan_double(FPR x)
{
return( ((x.id & DOUBLE_EXP) == DOUBLE_EXP) &&
((x.id & DOUBLE_FRAC) != DOUBLE_ZERO) &&
((x.id & (0x0008000000000000ULL)) == DOUBLE_ZERO) );
}
INLINE int is_infinity_double(FPR x)
inline int is_infinity_double(FPR x)
{
return( ((x.id & DOUBLE_EXP) == DOUBLE_EXP) &&
((x.id & DOUBLE_FRAC) == DOUBLE_ZERO) );
}
INLINE int is_normalized_double(FPR x)
inline int is_normalized_double(FPR x)
{
UINT64 exp;
@ -1682,18 +1682,18 @@ INLINE int is_normalized_double(FPR x)
return (exp >= 1) && (exp <= 2046);
}
INLINE int is_denormalized_double(FPR x)
inline int is_denormalized_double(FPR x)
{
return( ((x.id & DOUBLE_EXP) == 0) &&
((x.id & DOUBLE_FRAC) != DOUBLE_ZERO) );
}
INLINE int sign_double(FPR x)
inline int sign_double(FPR x)
{
return ((x.id & DOUBLE_SIGN) != 0);
}
INLINE INT64 smround_to_nearest(FPR f)
inline INT64 smround_to_nearest(FPR f)
{
if (f.fd >= 0)
{
@ -1705,18 +1705,18 @@ INLINE INT64 smround_to_nearest(FPR f)
}
}
INLINE INT64 smround_toward_zero(FPR f)
inline INT64 smround_toward_zero(FPR f)
{
return (INT64)(f.fd);
}
INLINE INT64 round_toward_positive_infinity(FPR f)
inline INT64 round_toward_positive_infinity(FPR f)
{
double r = ceil(f.fd);
return (INT64)(r);
}
INLINE INT64 round_toward_negative_infinity(FPR f)
inline INT64 round_toward_negative_infinity(FPR f)
{
double r = floor(f.fd);
return (INT64)(r);
@ -1725,7 +1725,7 @@ INLINE INT64 round_toward_negative_infinity(FPR f)
#define SET_VXSNAN(a, b) if (is_snan_double(a) || is_snan_double(b)) ppc.fpscr |= 0x80000000
#define SET_VXSNAN_1(c) if (is_snan_double(c)) ppc.fpscr |= 0x80000000
INLINE void set_fprf(FPR f)
inline void set_fprf(FPR f)
{
UINT32 fprf;

View file

@ -29,10 +29,12 @@
* Please see Z80.h for a discussion of known inaccuracies.
*/
#include <cstdio> // for NULL
#include "Supermodel.h"
#include "Z80.h" // must include this first to define CZ80
#include <cstdio> // for NULL
#include "Supermodel.h"
#include "Debugger/CPU/Z80Debug.h"
/******************************************************************************
Internal Helper Macros

View file

@ -25,14 +25,23 @@
#ifdef SUPERMODEL_DEBUGGER
#include "Supermodel.h"
#include "SupermodelDebugger.h"
#include "Supermodel.h"
#include "BlockFile.h"
#include "ConsoleDebugger.h"
#include "CPUDebug.h"
#include "Label.h"
#ifdef NET_BOARD
#include "Network/NetBoard.h"
#endif // NET_BOARD
#include "CPU/Musashi68KDebug.h"
#include "CPU/PPCDebug.h"
#include "CPU/Z80Debug.h"
#include "Inputs/Input.h"
#include "Inputs/InputSystem.h"
#include "Model3/SoundBoard.h"
#include "OSD/Audio.h"
#include <cstdio>
#include <string>

View file

@ -28,12 +28,12 @@
#define INCLUDED_SUPERMODELDEBUGGER_H
#include "ConsoleDebugger.h"
#include "Model3/Model3.h"
#include <stdarg.h>
#define MODEL3_STATEFILE_VERSION 0
class CModel3;
class CInputs;
class CInput;

View file

@ -32,6 +32,7 @@
*/
#include "Supermodel.h"
#include "Legacy3D.h"
namespace Legacy3D {

View file

@ -156,8 +156,12 @@
* - Can some of the floating point flag attribs be replaced with ints?
*/
#include "Legacy3D.h"
#include "Supermodel.h"
#include "Graphics/Legacy3D/Shaders3D.h" // fragment and vertex shaders
#include "Shaders3D.h" // fragment and vertex shaders
#include "Graphics/Shader.h"
#include <algorithm>
#include <cmath>
#include <cstdint>

View file

@ -29,9 +29,11 @@
#ifndef INCLUDED_LEGACY3D_H
#define INCLUDED_LEGACY3D_H
#include "TextureRefs.h"
#include "Graphics/IRender3D.h"
#include <GL/glew.h>
#include "Util/NewConfig.h"
#include "Types.h"
namespace Legacy3D {

View file

@ -106,6 +106,7 @@
#include <cmath>
#include <cstring>
#include "Supermodel.h"
#include "Legacy3D.h"
#ifdef DEBUG
extern int g_testPolyHeaderIdx;

View file

@ -30,7 +30,10 @@
* to using a hashset to store the texture references, but this requires extra memory allocation.
*/
#include "TextureRefs.h"
#include "Supermodel.h"
#include "Legacy3D.h"
namespace Legacy3D {

View file

@ -28,6 +28,8 @@
#ifndef INCLUDED_TEXTUREREFS_H
#define INCLUDED_TEXTUREREFS_H
namespace Legacy3D {
#define TEXREFS_ARRAY_SIZE 12
@ -38,7 +40,7 @@ struct HashEntry
const unsigned texRef; // Texture reference as a bitfield
HashEntry *nextEntry; // Next entry with the same hash
HashEntry(unsigned theTexRef) : texRef(theTexRef), nextEntry(NULL) { }
HashEntry(unsigned theTexRef) : texRef(theTexRef), nextEntry(nullptr) { }
};
class CLegacy3D;

View file

@ -5,7 +5,7 @@ namespace New3D {
PolyHeader::PolyHeader()
{
header = NULL;
header = nullptr;
}
PolyHeader::PolyHeader(UINT32* h)

View file

@ -1,6 +1,8 @@
#ifndef _POLY_HEADER_H_
#define _POLY_HEADER_H_
#include "Types.h"
namespace New3D {
/*

View file

@ -274,10 +274,14 @@
* -- one for A/A' and another for B/B'. These are passed to the renderer.
*/
#include "Render2D.h"
#include "Supermodel.h"
#include "Shader.h"
#include "Shaders2D.h" // fragment and vertex shaders
#include <cstring>
#include <GL/glew.h>
#include "Supermodel.h"
#include "Graphics/Shaders2D.h" // fragment and vertex shaders
/******************************************************************************

View file

@ -26,7 +26,10 @@
* from this.
*/
#include "Input.h"
#include "Supermodel.h"
#include "InputSystem.h"
CInput::CInput(const char *inputId, const char *inputLabel, unsigned inputFlags, unsigned inputGameFlags, const char *defaultMapping, UINT16 initValue) :
id(inputId), label(inputLabel), flags(inputFlags), gameFlags(inputGameFlags), m_defaultMapping(defaultMapping), value(initValue), prevValue(initValue),

View file

@ -29,11 +29,11 @@
#ifndef INCLUDED_INPUT_H
#define INCLUDED_INPUT_H
#include "InputSource.h"
#include "Types.h"
#include "Game.h"
#include "Util/NewConfig.h"
class CInputSource;
class CInputSystem;
// Flags for inputs

View file

@ -27,7 +27,10 @@
* values for analog inputs.
*/
#include "InputSource.h"
#include "Supermodel.h"
#include "Input.h"
#include <vector>
using namespace std;

View file

@ -32,7 +32,11 @@
// - open up API to allow direct access to keyboard, mouse and joystick values
// - add GetKey method that is easier to use than reading keyboard with ReadMapping
#include "InputSystem.h"
#include "Supermodel.h"
#include "Input.h"
#include "OSD/Thread.h"
#include <cmath>
#include <string>

View file

@ -26,6 +26,8 @@
* all very simple classes.
*/
#include "InputTypes.h"
#include "Supermodel.h"
/*

View file

@ -27,7 +27,11 @@
* maintains all individual inputs.
*/
#include "Inputs.h"
#include "Supermodel.h"
#include "InputSystem.h"
#include "InputTypes.h"
#include "Game.h"
#include <stdarg.h>
#include <vector>

View file

@ -28,17 +28,13 @@
#ifndef INCLUDED_INPUTS_H
#define INCLUDED_INPUTS_H
#include "InputTypes.h"
#include "Types.h"
#include "Util/NewConfig.h"
#include <vector>
class CInputSystem;
class CInput;
class CAnalogInput;
class CAxisInput;
class CSwitchInput;
class CGearShift4Input;
class CTriggerInput;
struct Game;
/*

View file

@ -25,7 +25,10 @@
* Implementation of CMultiInputSource.
*/
#include "MultiInputSource.h"
#include "Supermodel.h"
#include "Input.h"
#include <vector>
using namespace std;

View file

@ -43,9 +43,11 @@
*
*/
#include "53C810.h"
#include <cstring>
#include "Supermodel.h"
#include "CPU/PowerPC/ppc.h"
/******************************************************************************
Save States

View file

@ -28,6 +28,10 @@
#ifndef INCLUDED_53C810_H
#define INCLUDED_53C810_H
#include "IRQ.h"
#include "PCI.h"
#include "BlockFile.h"
#include "CPU/Bus.h"
/*
* struct NCR53C810Context:

View file

@ -31,6 +31,8 @@
* should just be set to 0?
*/
#include "93C46.h"
#include <string.h>
#include "Supermodel.h"

View file

@ -28,6 +28,8 @@
#ifndef INCLUDED_93C46_H
#define INCLUDED_93C46_H
#include "BlockFile.h"
#include "Types.h"
/*
* C93C46:

View file

@ -37,6 +37,8 @@
* - Should we do some bounds checking on the MPEG start/end points?
*/
#include "DSB.h"
#include "Supermodel.h"
#include "Sound/MPEG/MpegAudio.h"
#include <algorithm>

View file

@ -34,6 +34,8 @@
#include "Types.h"
#include "CPU/Bus.h"
#include "CPU/68K/68K.h"
#include "CPU/Z80/Z80.h"
#include "Util/NewConfig.h"

View file

@ -57,6 +57,8 @@
**
**/
#include "BillBoard.h"
#include "Supermodel.h"
#include <cstdio>

View file

@ -29,6 +29,7 @@
#ifndef INCLUDED_BILLBOARD_H
#define INCLUDED_BILLBOARD_H
#include "DriveBoard.h"
#include "Util/NewConfig.h"
/*

View file

@ -52,6 +52,8 @@
* CDriveBoard::Disable() to update the disabled flag.
*/
#include "DriveBoard.h"
#include "Supermodel.h"
#include <cstdio>

View file

@ -30,6 +30,10 @@
#ifndef INCLUDED_DRIVEBOARD_H
#define INCLUDED_DRIVEBOARD_H
#include "CPU/Bus.h"
#include "CPU/Z80/Z80.h"
#include "Inputs/Inputs.h"
#include "OSD/Outputs.h"
#include "Util/NewConfig.h"
#include "Game.h"

View file

@ -33,6 +33,8 @@
* NOTE: Simulation does not yet work. Drive board ROMs are required.
*/
#include "JoystickBoard.h"
#include "Supermodel.h"
#include <cstdio>

View file

@ -29,6 +29,7 @@
#ifndef INCLUDED_JOYBOARD_H
#define INCLUDED_JOYBOARD_H
#include "DriveBoard.h"
#include "Util/NewConfig.h"
#include "Game.h"

View file

@ -29,7 +29,10 @@
* NOTE: Simulation does not yet work. Drive board ROMs are required.
*/
#include "SkiBoard.h"
#include "Supermodel.h"
#include "Inputs/Input.h"
#include <cstdio>
#include <cmath>

View file

@ -29,6 +29,7 @@
#ifndef INCLUDED_SKIBOARD_H
#define INCLUDED_SKIBOARD_H
#include "DriveBoard.h"
#include "Util/NewConfig.h"
#include "Game.h"

View file

@ -29,8 +29,9 @@
* NOTE: Simulation does not yet work. Drive board ROMs are required.
*/
#include "Supermodel.h"
#include "WheelBoard.h"
#include "Supermodel.h"
#include <cstdio>
#include <cmath>
#include <algorithm>

View file

@ -29,6 +29,7 @@
#ifndef INCLUDED_WHEELBOARD_H
#define INCLUDED_WHEELBOARD_H
#include "DriveBoard.h"
#include "Util/NewConfig.h"
#include "Game.h"

View file

@ -31,7 +31,10 @@
* call the PPC core directly, which should not happen in proper OO code.
*/
#include "IRQ.h"
#include "Supermodel.h"
#include "CPU/PowerPC/ppc.h"
/******************************************************************************

View file

@ -28,6 +28,8 @@
#ifndef INCLUDED_IRQ_H
#define INCLUDED_IRQ_H
#include "BlockFile.h"
#include "Types.h"
/*
* CIRQ:

View file

@ -30,8 +30,11 @@
* probably doesn't matter), so we assume IEEE 1149.1-1990 here.
*/
#include "JTAG.h"
#include "Supermodel.h"
#include "Model3/JTAG.h"
#include "Real3D.h"
#include <iostream>
// Finite state machine. Each state has two possible next states.

View file

@ -28,6 +28,7 @@
#ifndef INCLUDED_JTAG_H
#define INCLUDED_JTAG_H
#include "BlockFile.h"
#include "Util/BitRegister.h"
class CReal3D;

View file

@ -66,6 +66,8 @@
* endian, pushing the responsibility onto the caller.
*/
#include "MPC10x.h"
#include <cstring>
#include "Supermodel.h"

View file

@ -28,6 +28,8 @@
#ifndef INCLUDED_MPC10X_H
#define INCLUDED_MPC10X_H
#include "PCI.h"
#include "BlockFile.h"
/*
* CMPC10x:

View file

@ -210,17 +210,25 @@
*
*/
#include "Model3.h"
#include <new>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include "Supermodel.h"
#include "DriveBoard/BillBoard.h"
#include "DriveBoard/JoystickBoard.h"
#include "DriveBoard/SkiBoard.h"
#include "DriveBoard/WheelBoard.h"
#include "Game.h"
#include "ROMSet.h"
#ifdef NET_BOARD
#include "Network/NetBoard.h"
#include "Network/SimNetBoard.h"
#endif // NET_BOARD
#include "OSD/Audio.h"
#include "OSD/Video.h"
#include "Util/Format.h"
#include "Util/ByteSwap.h"
#include <functional>

View file

@ -29,9 +29,18 @@
#ifndef INCLUDED_MODEL3_H
#define INCLUDED_MODEL3_H
#include "Model3/IEmulator.h"
#include "Model3/JTAG.h"
#include "Model3/Crypto.h"
#include "53C810.h"
#include "93C46.h"
#include "Crypto.h"
#include "IEmulator.h"
#include "JTAG.h"
#include "MPC10x.h"
#include "Real3D.h"
#include "RTC72421.h"
#include "SoundBoard.h"
#include "TileGen.h"
#include "DriveBoard/DriveBoard.h"
#include "CPU/PowerPC/ppc.h"
#ifdef NET_BOARD
#include "Network/INetBoard.h"
#endif // NET_BOARD

View file

@ -33,6 +33,8 @@
* the vectors do not run out of memory because so few PCI devices exist.
*/
#include "PCI.h"
#include "Supermodel.h"

View file

@ -35,6 +35,8 @@
#ifndef INCLUDED_PCI_H
#define INCLUDED_PCI_H
#include "Types.h"
#include <vector>
/*

View file

@ -31,6 +31,8 @@
* - Writes do nothing yet.
*/
#include "RTC72421.h"
#include <time.h>
#include "Supermodel.h"

View file

@ -28,6 +28,7 @@
#ifndef INCLUDED_RTC72421_H
#define INCLUDED_RTC72421_H
#include "Types.h"
/*
* CRTC72421:

View file

@ -41,8 +41,11 @@
* The render currently cannot cope with this.
*/
#include "Real3D.h"
#include "Supermodel.h"
#include "Model3/JTAG.h"
#include "JTAG.h"
#include "CPU/PowerPC/ppc.h"
#include "Util/BMPFile.h"
#include <cstring>
#include <algorithm>

View file

@ -29,6 +29,12 @@
#ifndef INCLUDED_REAL3D_H
#define INCLUDED_REAL3D_H
#include "IRQ.h"
#include "PCI.h"
#include "CPU/Bus.h"
#include "Graphics/IRender3D.h"
#include "Util/NewConfig.h"
#include <cstdint>
#include <map>

View file

@ -54,7 +54,11 @@
* ROM 600000-7FFFFF -> E00000-FFFFFF
*/
#include "SoundBoard.h"
#include "Supermodel.h"
#include "OSD/Audio.h"
#include "Sound/SCSP.h"
// DEBUG
//#define SUPERMODEL_LOG_AUDIO // define this to log all audio to sound.bin

View file

@ -50,6 +50,8 @@
* manually reverse the data. This keeps with the convention for VRAM.
*/
#include "TileGen.h"
#include <cstring>
#include "Supermodel.h"

View file

@ -28,6 +28,8 @@
#ifndef INCLUDED_TILEGEN_H
#define INCLUDED_TILEGEN_H
#include "IRQ.h"
#include "Graphics/Render2D.h"
/*
* CTileGen:

View file

@ -25,6 +25,7 @@
#include "Types.h"
#include "CPU/Bus.h"
#include "CPU/68K/68K.h"
#include "OSD/Thread.h"
#include <memory>
#include "INetBoard.h"

View file

@ -28,6 +28,8 @@
#ifndef INCLUDED_AUDIO_H
#define INCLUDED_AUDIO_H
#include "Types.h"
typedef void (*AudioCallbackFPtr)(void *data);
extern void SetAudioCallback(AudioCallbackFPtr callback, void *data);

View file

@ -23,6 +23,8 @@
* Outputs.cpp
*/
#include "Outputs.h"
#include "Supermodel.h"
const char *COutputs::s_outputNames[] =

View file

@ -29,6 +29,7 @@
#define INCLUDED_OUTPUTS_H
#include "Game.h"
#include "Types.h"
/*
* EOutputs enumeration of all available outputs.

View file

@ -30,6 +30,8 @@
* initial set up of the buffer is correct.
*/
#include "Audio.h"
#include "Supermodel.h"
#include "SDLIncludes.h"

View file

@ -69,6 +69,12 @@
#include "WinOutputs.h"
#endif
#include "SDLIncludes.h"
#include "Debugger/SupermodelDebugger.h"
#include "Graphics/Legacy3D/Legacy3D.h"
#include "Graphics/New3D/New3D.h"
#include "Model3/IEmulator.h"
#include "Model3/Model3.h"
#include "OSD/Audio.h"
#include <iostream>
#include "Util/BMPFile.h"

View file

@ -29,9 +29,11 @@
* - Implement multiple keyboard and mouse support.
*/
#include "Supermodel.h"
#include "SDLInputSystem.h"
#include "Supermodel.h"
#include "Inputs/Input.h"
#include <vector>
using namespace std;

View file

@ -25,6 +25,8 @@
* SDL-based implementation of threading primitives.
*/
#include "Thread.h"
#include "Supermodel.h"
#include "SDLIncludes.h"

View file

@ -28,6 +28,8 @@
#ifndef INCLUDED_THREADS_H
#define INCLUDED_THREADS_H
#include "Types.h"
#include <string>
class CSemaphore;

View file

@ -63,13 +63,18 @@ It doesn't sound good at all.
Anyways credit to R. Belmont and ElSemi for the code, and for being awesome emulation Gods.
*/
#include "SCSP.h"
#include "Supermodel.h"
#include "Sound/SCSP.h"
#include "SCSPDSP.h"
#include "OSD/Thread.h"
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include "Sound/SCSPDSP.h"
static const Util::Config::Node *s_config = 0;
static bool s_multiThreaded = false;

View file

@ -28,6 +28,9 @@
#ifndef INCLUDED_SCSP_H
#define INCLUDED_SCSP_H
#include "BlockFile.h"
#include "Types.h"
#include "Util/NewConfig.h"
void SCSP_w8(UINT32 addr,UINT8 val);
void SCSP_w16(UINT32 addr,UINT16 val);

View file

@ -29,6 +29,8 @@
#ifndef INCLUDED_SCSPDSP_H
#define INCLUDED_SCSPDSP_H
#include "Types.h"
//#define DYNDSP
#define DYNOPT 1 //set to 1 to enable optimization of recompiler

View file

@ -125,7 +125,7 @@ void LFO_Init(void)
}
}
signed int INLINE PLFO_Step(struct _LFO *LFO)
signed int inline PLFO_Step(struct _LFO *LFO)
{
int p;
LFO->phase += LFO->phase_step;
@ -137,7 +137,7 @@ signed int INLINE PLFO_Step(struct _LFO *LFO)
return p << (SHIFT - LFO_SHIFT);
}
signed int INLINE ALFO_Step(struct _LFO *LFO)
signed int inline ALFO_Step(struct _LFO *LFO)
{
int p;
LFO->phase += LFO->phase_step;

View file

@ -27,9 +27,7 @@
#ifndef INCLUDED_SUPERMODEL_H
#define INCLUDED_SUPERMODEL_H
#if (defined NET_BOARD && defined _WIN32)
#include "Winsock2.h" // force include winsock2 before windows.h because conflict with winsock1
#endif
// Used throughout Supermodel
#include <cstdio>
#include <cstdlib>
@ -92,68 +90,10 @@
*/
#include "Types.h" // located in OSD/<port>/ directory
/*
* OSD Header Files
*/
// Error logging interface
#include "OSD/Logger.h"
// OSD Interfaces
#include "OSD/Thread.h"
#include "OSD/Audio.h"
#include "OSD/Video.h"
#include "OSD/Outputs.h"
/******************************************************************************
Header Files
All primary header files for modules used throughout Supermodel are included
here, except for external packages and APIs.
******************************************************************************/
#include "BlockFile.h"
#include "Graphics/New3D/New3D.h"
#include "Graphics/Render2D.h"
#include "Graphics/Legacy3D/TextureRefs.h"
#include "Graphics/Legacy3D/Legacy3D.h"
#include "Graphics/Shader.h"
#ifdef SUPERMODEL_DEBUGGER
#include "Debugger/SupermodelDebugger.h"
#include "Debugger/CPU/PPCDebug.h"
#include "Debugger/CPU/Musashi68KDebug.h"
#include "Debugger/CPU/Z80Debug.h"
#endif // SUPERMODEL_DEBUGGER
#include "CPU/Bus.h"
#include "CPU/PowerPC/PPCDisasm.h"
#include "CPU/PowerPC/ppc.h"
#include "CPU/68K/68K.h"
#include "CPU/Z80/Z80.h"
#include "Inputs/Input.h"
#include "Inputs/Inputs.h"
#include "Inputs/InputSource.h"
#include "Inputs/InputSystem.h"
#include "Inputs/InputTypes.h"
#include "Inputs/MultiInputSource.h"
#include "Model3/IRQ.h"
#include "Model3/PCI.h"
#include "Model3/53C810.h"
#include "Model3/MPC10x.h"
#include "Model3/RTC72421.h"
#include "Model3/93C46.h"
#include "Model3/TileGen.h"
#include "Model3/Real3D.h"
#include "Sound/SCSP.h"
#include "Model3/SoundBoard.h"
#include "Model3/DSB.h"
#include "Model3/DriveBoard/DriveBoard.h"
#include "Model3/DriveBoard/WheelBoard.h"
#include "Model3/DriveBoard/JoystickBoard.h"
#include "Model3/DriveBoard/SkiBoard.h"
#include "Model3/DriveBoard/BillBoard.h"
#include "Model3/Model3.h"
/******************************************************************************
Helpful Macros and Inlines