Moved cpu_getiloops() and cpu_scalebyfcount() to deprecat.h.

Added #include "deprecat.h" where necessary to make this happen.
Cleaned up cpuexec.c/.h to latest core style.
Cleaned up implementation of extended INP header in inptport.c.
Removed external access to cycles_currently_ran().
Replaced use of cycles_currently_ran() in v9938 code with mame_rand(), since that is effectively the same thing. :)
This commit is contained in:
Aaron Giles 2008-01-29 23:27:24 +00:00
parent ef7452b852
commit 19dc5dba41
48 changed files with 729 additions and 885 deletions

File diff suppressed because it is too large Load Diff

View File

@ -18,7 +18,32 @@
#include "timer.h"
/* Enum listing all the CPUs */
/***************************************************************************
CONSTANTS
***************************************************************************/
/* flags for MDRV_CPU_FLAGS */
enum
{
/* set this flag to disable execution of a CPU (if one is there for documentation */
/* purposes only, for example */
CPU_DISABLE = 0x0001
};
/* suspension reasons for cpunum_suspend */
enum
{
SUSPEND_REASON_HALT = 0x0001,
SUSPEND_REASON_RESET = 0x0002,
SUSPEND_REASON_SPIN = 0x0004,
SUSPEND_REASON_TRIGGER = 0x0008,
SUSPEND_REASON_DISABLE = 0x0010,
SUSPEND_ANY_REASON = ~0
};
/* list of all possible CPUs we might be compiled with */
enum _cpu_type
{
CPU_DUMMY,
@ -214,162 +239,102 @@ enum _cpu_type
typedef enum _cpu_type cpu_type;
/*************************************
*
* CPU description for drivers
*
*************************************/
/***************************************************************************
TYPE DEFINITIONS
***************************************************************************/
/* CPU description for drivers */
typedef struct _cpu_config cpu_config;
struct _cpu_config
{
cpu_type type; /* index for the CPU type */
int flags; /* flags; see #defines below */
int clock; /* in Hertz */
cpu_type type; /* index for the CPU type */
int flags; /* flags; see #defines below */
int clock; /* in Hertz */
construct_map_t construct_map[ADDRESS_SPACES][2]; /* 2 memory maps per address space */
void (*vblank_interrupt)(running_machine *machine, int cpunum); /* for interrupts tied to VBLANK */
int vblank_interrupts_per_frame;/* usually 1 */
void (*timed_interrupt)(running_machine *machine, int cpunum); /* for interrupts not tied to VBLANK */
attoseconds_t timed_interrupt_period; /* period for periodic interrupts */
const void *reset_param; /* parameter for cpu_reset */
const char *tag;
void (*vblank_interrupt)(running_machine *machine, int cpunum); /* for interrupts tied to VBLANK */
int vblank_interrupts_per_frame;/* usually 1 */
void (*timed_interrupt)(running_machine *machine, int cpunum); /* for interrupts not tied to VBLANK */
attoseconds_t timed_interrupt_period; /* period for periodic interrupts */
const void * reset_param; /* parameter for cpu_reset */
const char * tag;
};
/*************************************
*
* CPU flag constants
*
*************************************/
enum
{
/* set this flag to disable execution of a CPU (if one is there for documentation */
/* purposes only, for example */
CPU_DISABLE = 0x0001
};
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
/* ----- core CPU execution ----- */
/*************************************
*
* Core CPU execution
*
*************************************/
/* Prepare CPUs for execution */
/* prepare CPUs for execution */
void cpuexec_init(running_machine *machine);
/* Execute for a single timeslice */
/* execute for a single timeslice */
void cpuexec_timeslice(running_machine *machine);
/*************************************
*
* Optional watchdog
*
*************************************/
/* ----- CPU scheduling----- */
/* bang on the watchdog */
void watchdog_reset(running_machine *machine);
/* watchdog enabled when TRUE */
/* timer is set to reset state when going from disable to enable */
void watchdog_enable(running_machine *machine, int enable);
/*************************************
*
* CPU scheduling
*
*************************************/
/* Suspension reasons */
enum
{
SUSPEND_REASON_HALT = 0x0001,
SUSPEND_REASON_RESET = 0x0002,
SUSPEND_REASON_SPIN = 0x0004,
SUSPEND_REASON_TRIGGER = 0x0008,
SUSPEND_REASON_DISABLE = 0x0010,
SUSPEND_ANY_REASON = ~0
};
/* Suspend the given CPU for a specific reason */
void cpunum_suspend(int cpunum, int reason, int eatcycles);
/* Suspend the given CPU for a specific reason */
void cpunum_resume(int cpunum, int reason);
/* Returns true if the given CPU is suspended for any of the given reasons */
int cpunum_is_suspended(int cpunum, int reason);
/* Aborts the timeslice for the active CPU */
void activecpu_abort_timeslice(void);
/* Returns the current local time for a CPU */
attotime cpunum_get_localtime(int cpunum);
/* Returns the current CPU's unscaled running clock speed */
/* If you want to know the current effective running clock
* after scaling it is just the double sec_to_cycles[cpunum] */
int cpunum_get_clock(int cpunum);
/* Sets the current CPU's clock speed and then adjusts for scaling */
void cpunum_set_clock(running_machine *machine, int cpunum, int clock);
void cpunum_set_clock_period(running_machine *machine, int cpunum, attoseconds_t clock_period);
/* Returns the current scaling factor for a CPU's clock speed */
double cpunum_get_clockscale(int cpunum);
/* Sets the current scaling factor for a CPU's clock speed */
void cpunum_set_clockscale(running_machine *machine, int cpunum, double clockscale);
/* Temporarily boosts the interleave factor */
/* temporarily boosts the interleave factor */
void cpu_boost_interleave(attotime timeslice_time, attotime boost_duration);
/* aborts the timeslice for the active CPU */
void activecpu_abort_timeslice(void);
/* suspend the given CPU for a specific reason */
void cpunum_suspend(int cpunum, int reason, int eatcycles);
/* resume the given CPU for a specific reason */
void cpunum_resume(int cpunum, int reason);
/* returns true if the given CPU is suspended for any of the given reasons */
int cpunum_is_suspended(int cpunum, int reason);
/*************************************
*
* Timing helpers
*
*************************************/
/* Returns the number of cycles run so far this timeslice */
int cycles_currently_ran(void);
/* ----- CPU clock management ----- */
/* Returns the total number of CPU cycles */
/* returns the current CPU's unscaled running clock speed */
int cpunum_get_clock(int cpunum);
/* sets the current CPU's clock speed and then adjusts for scaling */
void cpunum_set_clock(running_machine *machine, int cpunum, int clock);
/* returns the current scaling factor for a CPU's clock speed */
double cpunum_get_clockscale(int cpunum);
/* sets the current scaling factor for a CPU's clock speed */
void cpunum_set_clockscale(running_machine *machine, int cpunum, double clockscale);
/* ----- CPU timing ----- */
/* returns the current local time for a CPU */
attotime cpunum_get_localtime(int cpunum);
/* returns the total number of CPU cycles */
UINT64 activecpu_gettotalcycles(void);
/* Returns the total number of CPU cycles for a given CPU */
/* returns the total number of CPU cycles for a given CPU */
UINT64 cpunum_gettotalcycles(int cpunum);
/* Safely eats cycles so we don't cross a timeslice boundary */
/* safely eats cycles so we don't cross a timeslice boundary */
void activecpu_eat_cycles(int cycles);
/* Scales a given value by the ratio of fcount / fperiod */
int cpu_scalebyfcount(int value);
/* ----- synchronization helpers ----- */
/*************************************
*
* Synchronization
*
*************************************/
/* yield our current timeslice */
void cpu_yield(void);
/* generate a trigger now */
void cpu_trigger(running_machine *machine, int trigger);
/* generate a trigger after a specific period of time */
void cpu_triggertime(attotime duration, int trigger);
/* generate a trigger corresponding to an interrupt on the given CPU */
void cpu_triggerint(running_machine *machine, int cpunum);
/* burn CPU cycles until our timeslice is up */
void cpu_spin(void);
/* burn CPU cycles until a timer trigger */
void cpu_spinuntil_trigger(int trigger);
@ -380,29 +345,32 @@ void cpunum_spinuntil_trigger(int cpunum, int trigger);
/* burn CPU cycles until the next interrupt */
void cpu_spinuntil_int(void);
/* burn CPU cycles until our timeslice is up */
void cpu_spin(void);
/* yield our current timeslice */
void cpu_yield(void);
/* burn CPU cycles for a specific period of time */
void cpu_spinuntil_time(attotime duration);
/*************************************
*
* Core timing
*
*************************************/
/* ----- triggers ----- */
/* generate a trigger now */
void cpu_trigger(running_machine *machine, int trigger);
/* generate a trigger after a specific period of time */
void cpu_triggertime(attotime duration, int trigger);
/* generate a trigger corresponding to an interrupt on the given CPU */
void cpu_triggerint(running_machine *machine, int cpunum);
/* ----- watchdog timers ----- */
/* reset the watchdog */
void watchdog_reset(running_machine *machine);
/* enable/disable the watchdog */
void watchdog_enable(running_machine *machine, int enable);
/* Returns the number of times the interrupt handler will be called before
the end of the current video frame. This is can be useful to interrupt
handlers to synchronize their operation. If you call this from outside
an interrupt handler, add 1 to the result, i.e. if it returns 0, it means
that the interrupt handler will be called once. */
int cpu_getiloops(void);
#endif /* __CPUEXEC_H__ */

View File

@ -43,10 +43,26 @@ extern running_machine *Machine;
*
*************************************/
/* Recomputes the VBLANK timing after, e.g., a visible area change */
void cpu_compute_vblank_timing(running_machine *machine);
/* Returns the number of the video frame we are currently playing */
int cpu_getcurrentframe(void);
/*************************************
*
* Core timing
*
*************************************/
/* Returns the number of times the interrupt handler will be called before
the end of the current video frame. This is can be useful to interrupt
handlers to synchronize their operation. If you call this from outside
an interrupt handler, add 1 to the result, i.e. if it returns 0, it means
that the interrupt handler will be called once. */
int cpu_getiloops(void);
/* Scales a given value by the ratio of fcount / fperiod */
int cpu_scalebyfcount(int value);
#endif /* __DEPRECAT_H__ */

View File

@ -225,15 +225,6 @@ struct _input_port_init_params
int current_port;/* current port index */
};
/* Support for eXtended INP format */
struct ext_header
{
char header[7]; // must be "XINP" followed by NULLs
char shortname[9]; // game shortname
char version[32]; // MAME version string
UINT32 starttime; // approximate INP start time
char dummy[32]; // for possible future expansion
};
/***************************************************************************
@ -272,14 +263,15 @@ static input_port_entry *input_ports_default;
/* recorded speed read from an INP file */
static double rec_speed;
/* set to 1 if INP file being played is a standard MAME INP file */
static int no_extended_inp;
/* set to TRUE if INP file being played is an extended INP file */
static int extended_inp;
/* for average speed calculations */
static int framecount;
static double totalspeed;
/***************************************************************************
PORT HANDLER TABLES
***************************************************************************/
@ -1155,10 +1147,10 @@ void input_port_init(running_machine *machine, const input_port_token *ipt)
static void setup_playback(running_machine *machine)
{
const char *filename = options_get_string(mame_options(), OPTION_PLAYBACK);
ext_inp_header extinpheader;
inp_header inpheader;
file_error filerr;
time_t started_time;
struct ext_header xheader;
char check[7];
/* if no file, nothing to do */
@ -1169,16 +1161,14 @@ static void setup_playback(running_machine *machine)
filerr = mame_fopen(SEARCHPATH_INPUTLOG, filename, OPEN_FLAG_READ, &machine->playback_file);
assert_always(filerr == FILERR_NONE, "Failed to open file for playback");
// read first four bytes to check INP type
mame_fread(Machine->playback_file, check, 7);
mame_fseek(Machine->playback_file, 0, SEEK_SET);
/* read first four bytes to check INP type */
mame_fread(machine->playback_file, check, 7);
mame_fseek(machine->playback_file, 0, SEEK_SET);
/* Check if input file is an eXtended INP file */
if (strncmp(check,"XINP\0\0\0",7) != 0)
extended_inp = (memcmp(check, "XINP\0\0\0", 7) == 0);
if (extended_inp)
{
no_extended_inp = 1;
mame_printf_info("This INP file is not an extended INP file, extra info not available\n");
/* read playback header */
mame_fread(machine->playback_file, &inpheader, sizeof(inpheader));
@ -1196,24 +1186,21 @@ static void setup_playback(running_machine *machine)
}
else
{
no_extended_inp = 0;
/* read playback header */
mame_fread(machine->playback_file, &extinpheader, sizeof(extinpheader));
/* output info to console */
mame_printf_info("Extended INP file info:\n");
// read header
mame_fread(Machine->playback_file, &xheader, sizeof(struct ext_header));
// output info to console
mame_printf_info("Version string: %s\n",xheader.version);
started_time = (time_t)xheader.starttime;
mame_printf_info("Version string: %s\n", extinpheader.version);
started_time = (time_t)extinpheader.starttime;
mame_printf_info("Start time: %s\n", ctime(&started_time));
// verify header against current game
if (strcmp(machine->gamedrv->name, xheader.shortname) != 0)
fatalerror("Input file is for " GAMENOUN " '%s', not for current " GAMENOUN " '%s'\n", xheader.shortname, machine->gamedrv->name);
/* verify header against current game */
if (strcmp(machine->gamedrv->name, extinpheader.shortname) != 0)
fatalerror("Input file is for " GAMENOUN " '%s', not for current " GAMENOUN " '%s'\n", extinpheader.shortname, machine->gamedrv->name);
else
mame_printf_info("Playing back previously recorded " GAMENOUN " %s\n", machine->gamedrv->name);
}
}
@ -2790,12 +2777,12 @@ static void update_playback_record(int portnum, UINT32 portvalue)
{
mame_fclose(Machine->playback_file);
Machine->playback_file = NULL;
if(no_extended_inp)
if (!extended_inp)
popmessage("End of playback");
else
{
popmessage("End of playback - %i frames - Average speed %f%%",framecount,(double)totalspeed/framecount);
printf("End of playback - %i frames - Average speed %f%%\n",framecount,(double)totalspeed/framecount);
popmessage("End of playback - %i frames - Average speed %f%%", framecount, (double)totalspeed/framecount);
printf("End of playback - %i frames - Average speed %f%%\n", framecount, (double)totalspeed/framecount);
}
}
}
@ -3008,7 +2995,7 @@ profiler_mark(PROFILER_INPUT);
}
/* store speed read from INP file, if extended INP */
if (Machine->playback_file != NULL && !no_extended_inp)
if (Machine->playback_file != NULL && extended_inp)
{
UINT32 dummy;
mame_fread(Machine->playback_file, &rec_speed, sizeof(rec_speed));

View File

@ -597,7 +597,7 @@ struct _input_port_entry
#ifdef MESS
struct
{
unicode_char chars[3];/* (MESS-specific) unicode key data */
unicode_char chars[3]; /* (MESS-specific) unicode key data */
} keyboard;
#endif /* MESS */
};
@ -606,9 +606,20 @@ struct _input_port_entry
typedef struct _inp_header inp_header;
struct _inp_header
{
char name[9]; /* 8 bytes for game->name + NUL */
char version[3]; /* byte[0] = 0, byte[1] = version byte[2] = beta_version */
char reserved[20]; /* for future use, possible store game options? */
char name[9]; /* 8 bytes for game->name + NUL */
char version[3]; /* byte[0] = 0, byte[1] = version byte[2] = beta_version */
char reserved[20]; /* for future use, possible store game options? */
};
typedef struct _ext_inp_header ext_inp_header;
struct _ext_inp_header
{
char header[7]; /* must be "XINP" followed by NULLs */
char shortname[9]; /* game shortname */
char version[32]; /* MAME version string */
UINT32 starttime; /* approximate INP start time */
char dummy[32]; /* for possible future expansion */
};

View File

@ -756,7 +756,10 @@ void video_screen_configure(int scrnum, int width, int height, const rectangle *
}
/* recompute the VBLANK timing */
cpu_compute_vblank_timing(Machine);
{
extern void cpu_compute_vblank_timing(running_machine *machine);
cpu_compute_vblank_timing(Machine);
}
/* if we are on scanline 0 already, reset the update timer immediately */
/* otherwise, defer until the next scanline 0 */

View File

@ -601,7 +601,7 @@ static void v9938_register_write (int reg, int data)
READ8_HANDLER (v9938_status_r)
{
int reg, n;
int reg;
UINT8 ret;
vdp.cmd_write_first = 0;
@ -625,9 +625,15 @@ static void v9938_register_write (int reg, int data)
break;
case 2:
/*v9938_update_command ();*/
/*
WTF is this? Whatever this was intended to do, it is nonsensical.
Might as well pick a random number....
n = cycles_currently_ran ();
if ( (n < 28) || (n > 199) ) vdp.statReg[2] |= 0x20;
else vdp.statReg[2] &= ~0x20;
*/
if (mame_rand(Machine) & 1) vdp.statReg[2] |= 0x20;
else vdp.statReg[2] &= ~0x20;
ret = vdp.statReg[2];
break;
case 3:

View File

@ -73,6 +73,7 @@ There are no static local variables.
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "sound/ay8910.h"

View File

@ -53,6 +53,7 @@ JALCF1 BIN 1,048,576 02-07-99 1:11a JALCF1.BIN
*******************************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "sound/okim6295.h"
static tilemap *tx_tilemap,*bg_tilemap;

View File

@ -54,6 +54,7 @@ ToDo:
********************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "sound/2151intf.h"

View File

@ -1,4 +1,5 @@
#include "driver.h"
#include "deprecat.h"
#include "cpu/cdp1802/cdp1802.h"
#include "cpu/cop400/cop400.h"
#include "video/cdp1869.h"

View File

@ -30,6 +30,7 @@
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "video/vector.h"
#include "cpu/ccpu/ccpu.h"
#include "cinemat.h"

View File

@ -68,8 +68,8 @@ SEGA CUSTOM IC :
*/
#include <stdio.h>
#include "driver.h"
#include "deprecat.h"
#include "sound/scsp.h"
/* video */

View File

@ -12,6 +12,7 @@ Devil Zone - 8022
#include "driver.h"
#include "deprecat.h"
#include "cpu/z80/z80.h"
#include "sound/samples.h"
#include "sound/dac.h"

View File

@ -55,6 +55,7 @@ To do:
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "machine/eeprom.h"
#include "sound/okim6295.h"

View File

@ -24,6 +24,7 @@ TODO:
*/
#include "driver.h"
#include "deprecat.h"
#include "audio/t5182.h"

View File

@ -35,6 +35,7 @@ HSync 15.37kHz
*/
#include "driver.h"
#include "deprecat.h"
#include "audio/seibu.h"
#include "sound/2203intf.h"
#include "sound/msm5205.h"

View File

@ -81,6 +81,7 @@ A ||| |______| |
*/
#include "driver.h"
#include "deprecat.h"
#include "cpu/i8085/i8085.h"
#include "sound/ay8910.h"

View File

@ -9,6 +9,7 @@
*/
#include "driver.h"
#include "deprecat.h"
#include "includes/eolithsp.h"
static int eolith_speedup_address;

View File

@ -130,6 +130,7 @@ SNK/Eastern 1985 (ACT) Gekisoh ????
// Directives
#include "driver.h"
#include "deprecat.h"
#define HVOLTAGE_HACK 0
#define EASY_TEST_MODE 1

View File

@ -10,6 +10,7 @@ Notes:
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "sound/ay8910.h"
#include "sound/sn76496.h"

View File

@ -12,6 +12,7 @@ TODO:
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "cpu/hd6309/hd6309.h"
#include "video/konamiic.h"
#include "sound/k007232.h"

View File

@ -22,6 +22,7 @@ To Do:
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "machine/eeprom.h"
#include "kaneko16.h"
#include "sound/okim6295.h"

View File

@ -64,6 +64,7 @@ Dumped by Uki
*/
#include "driver.h"
#include "deprecat.h"
#include "sound/ymz280b.h"
extern UINT32* skns_spc_regs;

View File

@ -66,6 +66,7 @@
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "sound/sn76496.h"

View File

@ -52,6 +52,7 @@ Notes:
*******************************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "audio/seibu.h"
#include "sound/3812intf.h"

View File

@ -47,6 +47,7 @@ Runs in interrupt mode 0, the interrupt vectors are 0xcf (RST 08h) and
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "sound/2203intf.h"

View File

@ -79,6 +79,7 @@ Notes:
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "sound/okim6295.h"
#include "sound/k051649.h"

View File

@ -7,6 +7,7 @@ driver by Mirko Buffoni
****************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "sound/ay8910.h"

View File

@ -2,6 +2,7 @@
/* also see iqblock.c and tarzan.c */
#include "driver.h"
#include "deprecat.h"
#include "cpu/z180/z180.h"
#include "sound/2413intf.h"
#include "sound/okim6295.h"

View File

@ -9,6 +9,7 @@ Ikki (c) 1985 Sun Electronics
*****************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "sound/sn76496.h"
PALETTE_INIT( ikki );

View File

@ -9,6 +9,7 @@ Copyright (C) 1992 HI-TECH Software..Brisbane, QLD Australia
*/
#include "driver.h"
#include "deprecat.h"
#include "sound/okim6295.h"

View File

@ -9,6 +9,7 @@ Driver by Nicola Salmoria
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "cpu/hd6309/hd6309.h"
#include "video/konamiic.h"
#include "sound/2203intf.h"

View File

@ -59,6 +59,7 @@ SOFT PSG & VOICE BY M.C & S.H
*/
#include "driver.h"
#include "deprecat.h"
#include "video/resnet.h"
#include "sound/ay8910.h"

View File

@ -11,6 +11,7 @@ TODO:
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "sound/ay8910.h"
static tilemap *bg_tilemap;

View File

@ -60,6 +60,7 @@ D.9B [f99cac4b] /
*/
#include "driver.h"
#include "deprecat.h"
#include "audio/t5182.h"
static tilemap *bgtilemap, *txttilemap;

View File

@ -1,4 +1,5 @@
#include "driver.h"
#include "deprecat.h"
#include "sound/sn76496.h"
extern WRITE8_HANDLER( pingpong_videoram_w );

View File

@ -41,6 +41,7 @@ To Do:
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "machine/tmp68301.h"
#include "realbrk.h"
#include "sound/2413intf.h"

View File

@ -85,6 +85,7 @@ Stephh's notes (based on the games Z80 code and some tests) :
****************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "cpu/tlcs90/tlcs90.h"
#include "machine/msm6242.h"
#include "sound/ay8910.h"

View File

@ -7,6 +7,7 @@ driver by Allard Van Der Bas
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "sound/sn76496.h"

View File

@ -55,6 +55,7 @@ Notes:
*/
#include "driver.h"
#include "deprecat.h"
#include "sound/sn76496.h"
extern UINT8 *sprcros2_fgvideoram, *sprcros2_spriteram, *sprcros2_bgvideoram;

View File

@ -56,6 +56,7 @@ Note:
#include "driver.h"
#include "deprecat.h"
#include "sound/ay8910.h"
#include "sound/msm5205.h"

View File

@ -9,6 +9,7 @@
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "cpu/m6809/m6809.h"
#include "sound/2203intf.h"

View File

@ -8,6 +8,7 @@ Todo:
*/
#include "driver.h"
#include "deprecat.h"
#include "cpu/z80/z80.h"
#include "sound/st0016.h"
#include "st0016.h"

View File

@ -40,6 +40,7 @@ c001 YM2203 #2 write
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
#include "sound/ay8910.h"

View File

@ -7,6 +7,7 @@
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
static UINT8 flipscreen;

View File

@ -1,4 +1,5 @@
#include "driver.h"
#include "deprecat.h"
#include "cpu/m6502/m6502.h"

View File

@ -7,6 +7,7 @@
***************************************************************************/
#include "driver.h"
#include "deprecat.h"
UINT8 *tp84_videoram2, *tp84_colorram2;