mirror of
https://github.com/holub/mame
synced 2025-07-03 17:08:39 +03:00
Cleanups and version bump.
This commit is contained in:
parent
e959018aa8
commit
0523e9feb7
@ -1645,7 +1645,7 @@ static UINT64 execute_frombcd(void *ref, UINT32 params, const UINT64 *param)
|
|||||||
UINT64 value = param[0];
|
UINT64 value = param[0];
|
||||||
UINT64 multiplier = 1;
|
UINT64 multiplier = 1;
|
||||||
UINT64 result = 0;
|
UINT64 result = 0;
|
||||||
|
|
||||||
while (value != 0)
|
while (value != 0)
|
||||||
{
|
{
|
||||||
result += (value & 0x0f) * multiplier;
|
result += (value & 0x0f) * multiplier;
|
||||||
@ -1665,7 +1665,7 @@ static UINT64 execute_tobcd(void *ref, UINT32 params, const UINT64 *param)
|
|||||||
UINT64 value = param[0];
|
UINT64 value = param[0];
|
||||||
UINT64 result = 0;
|
UINT64 result = 0;
|
||||||
UINT8 shift = 0;
|
UINT8 shift = 0;
|
||||||
|
|
||||||
while (value != 0)
|
while (value != 0)
|
||||||
{
|
{
|
||||||
result += (value % 10) << shift;
|
result += (value % 10) << shift;
|
||||||
|
@ -258,7 +258,7 @@ $(CPUOBJ)/jaguar/jaguar.o: $(CPUSRC)/jaguar/jaguar.c \
|
|||||||
#-------------------------------------------------
|
#-------------------------------------------------
|
||||||
|
|
||||||
CPUDEFS += -DHAS_CUBEQCPU=$(if $(filter CUBEQCPU,$(CPUS)),1,0)
|
CPUDEFS += -DHAS_CUBEQCPU=$(if $(filter CUBEQCPU,$(CPUS)),1,0)
|
||||||
|
|
||||||
ifneq ($(filter CUBEQCPU,$(CPUS)),)
|
ifneq ($(filter CUBEQCPU,$(CPUS)),)
|
||||||
OBJDIRS += $(CPUOBJ)/cubeqcpu
|
OBJDIRS += $(CPUOBJ)/cubeqcpu
|
||||||
CPUOBJS += $(CPUOBJ)/cubeqcpu/cubeqcpu.o
|
CPUOBJS += $(CPUOBJ)/cubeqcpu/cubeqcpu.o
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
Implementation of the Cube Quest AM2901-based CPUs
|
Implementation of the Cube Quest AM2901-based CPUs
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
|
|
||||||
* Tidy up diassembly (split into different files?)
|
* Tidy up diassembly (split into different files?)
|
||||||
|
|
||||||
@ -19,7 +19,7 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
/* Am2901 Instruction Fields */
|
/* Am2901 Instruction Fields */
|
||||||
static const char* ins[] =
|
static const char* ins[] =
|
||||||
{
|
{
|
||||||
"ADD ",
|
"ADD ",
|
||||||
"SUBR ",
|
"SUBR ",
|
||||||
@ -43,7 +43,7 @@ static const char* src[] =
|
|||||||
"D,0",
|
"D,0",
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char* dst[] =
|
static const char* dst[] =
|
||||||
{
|
{
|
||||||
"QREG ",
|
"QREG ",
|
||||||
"NOP ",
|
"NOP ",
|
||||||
@ -409,7 +409,7 @@ static void cquestrot_init(int index, int clock, const void *_config, int (*irqc
|
|||||||
cquestrot_state_register(index, "cquestrot");
|
cquestrot_state_register(index, "cquestrot");
|
||||||
|
|
||||||
/* Allocate RAM */
|
/* Allocate RAM */
|
||||||
cquestrot.dram = malloc(16384 * sizeof(UINT16)); /* Shared with 68000 */
|
cquestrot.dram = malloc(16384 * sizeof(UINT16)); /* Shared with 68000 */
|
||||||
cquestrot.sram = malloc(2048 * sizeof(UINT16)); /* Private */
|
cquestrot.sram = malloc(2048 * sizeof(UINT16)); /* Private */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -748,7 +748,7 @@ static int cquestsnd_execute(int cycles)
|
|||||||
|
|
||||||
static offs_t cquestsnd_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram)
|
static offs_t cquestsnd_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram)
|
||||||
{
|
{
|
||||||
static const char* jmps[] =
|
static const char* jmps[] =
|
||||||
{
|
{
|
||||||
"JUMP ",
|
"JUMP ",
|
||||||
" ",
|
" ",
|
||||||
@ -761,7 +761,7 @@ static offs_t cquestsnd_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static const char* latches[] =
|
static const char* latches[] =
|
||||||
{
|
{
|
||||||
"PLTCH ",
|
"PLTCH ",
|
||||||
"DAC ",
|
"DAC ",
|
||||||
@ -880,7 +880,7 @@ static int cquestrot_execute(int cycles)
|
|||||||
|
|
||||||
/* Core execution loop */
|
/* Core execution loop */
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
/* Decode the instruction */
|
/* Decode the instruction */
|
||||||
UINT64 inst = cpu_readop64(ROT_PC << 3);
|
UINT64 inst = cpu_readop64(ROT_PC << 3);
|
||||||
|
|
||||||
@ -1084,7 +1084,7 @@ static int cquestrot_execute(int cycles)
|
|||||||
r15 = (cquestrot.vflag ^ BIT(cquestrot.f, 15)) << 15;
|
r15 = (cquestrot.vflag ^ BIT(cquestrot.f, 15)) << 15;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
cquestrot.ram[b] = r15 | (cquestrot.f >> 1);
|
cquestrot.ram[b] = r15 | (cquestrot.f >> 1);
|
||||||
cquestrot.y = cquestrot.f;
|
cquestrot.y = cquestrot.f;
|
||||||
break;
|
break;
|
||||||
@ -1201,7 +1201,7 @@ static int cquestrot_execute(int cycles)
|
|||||||
|
|
||||||
static offs_t cquestrot_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram)
|
static offs_t cquestrot_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram)
|
||||||
{
|
{
|
||||||
static const char* jmps[] =
|
static const char* jmps[] =
|
||||||
{
|
{
|
||||||
" ",
|
" ",
|
||||||
"JSEQ ",
|
"JSEQ ",
|
||||||
@ -1234,7 +1234,7 @@ static offs_t cquestrot_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const
|
|||||||
"Y2D ",
|
"Y2D ",
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char* spfs[] =
|
static const char* spfs[] =
|
||||||
{
|
{
|
||||||
" ",
|
" ",
|
||||||
" ",
|
" ",
|
||||||
@ -1262,16 +1262,16 @@ static offs_t cquestrot_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const
|
|||||||
int t = (inshig >> 20) & 0xfff;
|
int t = (inshig >> 20) & 0xfff;
|
||||||
int jmp = (inshig >> 16) & 0xf;
|
int jmp = (inshig >> 16) & 0xf;
|
||||||
int spf = (inshig >> 12) & 0xf;
|
int spf = (inshig >> 12) & 0xf;
|
||||||
// int rsrc = (inshig >> 11) & 0x1;
|
// int rsrc = (inshig >> 11) & 0x1;
|
||||||
int yout = (inshig >> 8) & 0x7;
|
int yout = (inshig >> 8) & 0x7;
|
||||||
int sel = (inshig >> 6) & 0x3;
|
int sel = (inshig >> 6) & 0x3;
|
||||||
// int dsrc = (inshig >> 4) & 0x3;
|
// int dsrc = (inshig >> 4) & 0x3;
|
||||||
int b = (inshig >> 0) & 0xf;
|
int b = (inshig >> 0) & 0xf;
|
||||||
int a = (inslow >> 28) & 0xf;
|
int a = (inslow >> 28) & 0xf;
|
||||||
int i8_6 = (inslow >> 24) & 0x7;
|
int i8_6 = (inslow >> 24) & 0x7;
|
||||||
int ci = (inslow >> 23) & 0x1;
|
int ci = (inslow >> 23) & 0x1;
|
||||||
int i5_3 = (inslow >> 20) & 0x7;
|
int i5_3 = (inslow >> 20) & 0x7;
|
||||||
// int _sex = (inslow >> 19) & 0x1;
|
// int _sex = (inslow >> 19) & 0x1;
|
||||||
int i2_0 = (inslow >> 16) & 0x7;
|
int i2_0 = (inslow >> 16) & 0x7;
|
||||||
|
|
||||||
sprintf(buffer, "%s %s,%s %x,%x,%c %d %s %s %s %.2x\n",
|
sprintf(buffer, "%s %s,%s %x,%x,%c %d %s %s %s %.2x\n",
|
||||||
@ -1613,7 +1613,7 @@ static int cquestlin_execute(int cycles)
|
|||||||
cquestlin.pc[prog] = (cquestlin.pc[prog] + 1) & 0x7f;
|
cquestlin.pc[prog] = (cquestlin.pc[prog] + 1) & 0x7f;
|
||||||
|
|
||||||
if (prog == BACKGROUND)
|
if (prog == BACKGROUND)
|
||||||
cquestlin.pc[prog] |= 0x80;
|
cquestlin.pc[prog] |= 0x80;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Handle events that happen during FG execution */
|
/* Handle events that happen during FG execution */
|
||||||
@ -1643,7 +1643,7 @@ static int cquestlin_execute(int cycles)
|
|||||||
{
|
{
|
||||||
int _ycet;
|
int _ycet;
|
||||||
int mux_sel = (BIT(cquestlin.sreg, SREG_DX_DY) << 1) | (BIT(cquestlin.sreg, SREG_DX) ^ BIT(cquestlin.sreg, SREG_DY));
|
int mux_sel = (BIT(cquestlin.sreg, SREG_DX_DY) << 1) | (BIT(cquestlin.sreg, SREG_DX) ^ BIT(cquestlin.sreg, SREG_DY));
|
||||||
|
|
||||||
if (mux_sel == 0)
|
if (mux_sel == 0)
|
||||||
_ycet = !(cquestlin.gt0reg && (spf == LSPF_BRES));
|
_ycet = !(cquestlin.gt0reg && (spf == LSPF_BRES));
|
||||||
else if (mux_sel == 1)
|
else if (mux_sel == 1)
|
||||||
@ -1712,7 +1712,7 @@ static int cquestlin_execute(int cycles)
|
|||||||
{
|
{
|
||||||
int _lpwrt = BIT(cquestlin.bglatch, 5);
|
int _lpwrt = BIT(cquestlin.bglatch, 5);
|
||||||
|
|
||||||
cquestlin.bglatch =
|
cquestlin.bglatch =
|
||||||
(!(spf == LSPF_PWRT) << 5)
|
(!(spf == LSPF_PWRT) << 5)
|
||||||
| (_lpwrt << 4)
|
| (_lpwrt << 4)
|
||||||
| ((!_lpwrt || (!(spf == LSPF_PWRT) && (latch == LLATCH_BADLATCH))) << 2);
|
| ((!_lpwrt || (!(spf == LSPF_PWRT) && (latch == LLATCH_BADLATCH))) << 2);
|
||||||
@ -1759,7 +1759,7 @@ static int cquestlin_execute(int cycles)
|
|||||||
|
|
||||||
static offs_t cquestlin_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram)
|
static offs_t cquestlin_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram)
|
||||||
{
|
{
|
||||||
static const char* jmps[] =
|
static const char* jmps[] =
|
||||||
{
|
{
|
||||||
" ",
|
" ",
|
||||||
"JMSB ",
|
"JMSB ",
|
||||||
@ -1780,7 +1780,7 @@ static offs_t cquestlin_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const
|
|||||||
"?????",
|
"?????",
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char* latches[] =
|
static const char* latches[] =
|
||||||
{
|
{
|
||||||
" ",
|
" ",
|
||||||
"SEQLTCH",
|
"SEQLTCH",
|
||||||
@ -1792,7 +1792,7 @@ static offs_t cquestlin_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const
|
|||||||
"ZLTCH ",
|
"ZLTCH ",
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char* spfs[] =
|
static const char* spfs[] =
|
||||||
{
|
{
|
||||||
" ",
|
" ",
|
||||||
"FSTOP ",
|
"FSTOP ",
|
||||||
|
@ -293,7 +293,7 @@ static void cfunc_checkirqs(void *param)
|
|||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
static void cfunc_fastirq(void *param)
|
static void cfunc_fastirq(void *param)
|
||||||
{
|
{
|
||||||
sh2_exception("fastirq",sh2->irqline);
|
sh2_exception("fastirq",sh2->irqline);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
@ -1422,7 +1422,7 @@ static void generate_update_cycles(drcuml_block *block, compiler_state *compiler
|
|||||||
|
|
||||||
UML_MOV(block, MEM(&sh2->pending_nmi), IMM(0)); // zap pending_nmi
|
UML_MOV(block, MEM(&sh2->pending_nmi), IMM(0)); // zap pending_nmi
|
||||||
UML_JMP(block, skip+1); // and then go take it (evec is already set)
|
UML_JMP(block, skip+1); // and then go take it (evec is already set)
|
||||||
|
|
||||||
UML_LABEL(block, skip+2); // skip+2:
|
UML_LABEL(block, skip+2); // skip+2:
|
||||||
UML_MOV(block, MEM(&sh2->evec), IMM(0xffffffff)); // mov evec, -1
|
UML_MOV(block, MEM(&sh2->evec), IMM(0xffffffff)); // mov evec, -1
|
||||||
UML_MOV(block, IREG(0), IMM(0xffffffff)); // mov r0, -1 (r0 = irq)
|
UML_MOV(block, IREG(0), IMM(0xffffffff)); // mov r0, -1 (r0 = irq)
|
||||||
|
@ -383,15 +383,15 @@ READ8_DEVICE_HANDLER(duart68681_r)
|
|||||||
{
|
{
|
||||||
r = 0xff;
|
r = 0xff;
|
||||||
/*
|
/*
|
||||||
if (input_code_pressed(KEYCODE_1)) r ^= 0x0001;
|
if (input_code_pressed(KEYCODE_1)) r ^= 0x0001;
|
||||||
if (input_code_pressed(KEYCODE_2)) r ^= 0x0002;
|
if (input_code_pressed(KEYCODE_2)) r ^= 0x0002;
|
||||||
if (input_code_pressed(KEYCODE_3)) r ^= 0x0004;
|
if (input_code_pressed(KEYCODE_3)) r ^= 0x0004;
|
||||||
if (input_code_pressed(KEYCODE_4)) r ^= 0x0008;
|
if (input_code_pressed(KEYCODE_4)) r ^= 0x0008;
|
||||||
if (input_code_pressed(KEYCODE_5)) r ^= 0x0010;
|
if (input_code_pressed(KEYCODE_5)) r ^= 0x0010;
|
||||||
if (input_code_pressed(KEYCODE_6)) r ^= 0x0020;
|
if (input_code_pressed(KEYCODE_6)) r ^= 0x0020;
|
||||||
if (input_code_pressed(KEYCODE_7)) r ^= 0x0040;
|
if (input_code_pressed(KEYCODE_7)) r ^= 0x0040;
|
||||||
if (input_code_pressed(KEYCODE_8)) r ^= 0x0080;
|
if (input_code_pressed(KEYCODE_8)) r ^= 0x0080;
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x0e: /* Start counter command */
|
case 0x0e: /* Start counter command */
|
||||||
|
@ -226,7 +226,7 @@ struct _laserdisc_state
|
|||||||
{
|
{
|
||||||
/* general config */
|
/* general config */
|
||||||
laserdisc_config config; /* copy of the inline config */
|
laserdisc_config config; /* copy of the inline config */
|
||||||
|
|
||||||
/* disc parameters */
|
/* disc parameters */
|
||||||
chd_file * disc; /* handle to the disc itself */
|
chd_file * disc; /* handle to the disc itself */
|
||||||
av_codec_decompress_config avconfig; /* decompression configuration */
|
av_codec_decompress_config avconfig; /* decompression configuration */
|
||||||
@ -286,7 +286,7 @@ struct _laserdisc_state
|
|||||||
INT32 curfracspeed; /* current speed the head is moving */
|
INT32 curfracspeed; /* current speed the head is moving */
|
||||||
INT32 curfractrack; /* current track */
|
INT32 curfractrack; /* current track */
|
||||||
INT32 targetframe; /* target frame (0 means no target) */
|
INT32 targetframe; /* target frame (0 means no target) */
|
||||||
|
|
||||||
/* video updating */
|
/* video updating */
|
||||||
UINT8 videoenable; /* is video enabled? */
|
UINT8 videoenable; /* is video enabled? */
|
||||||
render_texture * videotex; /* texture for the video */
|
render_texture * videotex; /* texture for the video */
|
||||||
@ -1612,7 +1612,7 @@ static void custom_stream_callback(void *param, stream_sample_t **inputs, stream
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
configuration_load - read and apply data from
|
configuration_load - read and apply data from
|
||||||
the configuration file
|
the configuration file
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
@ -1637,7 +1637,7 @@ static void configuration_load(running_machine *machine, int config_type, xml_da
|
|||||||
if (device != NULL)
|
if (device != NULL)
|
||||||
{
|
{
|
||||||
laserdisc_state *ld = get_safe_token(device);
|
laserdisc_state *ld = get_safe_token(device);
|
||||||
|
|
||||||
/* handle the overlay node */
|
/* handle the overlay node */
|
||||||
overnode = xml_get_sibling(ldnode->child, "overlay");
|
overnode = xml_get_sibling(ldnode->child, "overlay");
|
||||||
if (overnode != NULL)
|
if (overnode != NULL)
|
||||||
@ -1654,7 +1654,7 @@ static void configuration_load(running_machine *machine, int config_type, xml_da
|
|||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
configuration_save - save data to the
|
configuration_save - save data to the
|
||||||
configuration file
|
configuration file
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
@ -1679,7 +1679,7 @@ static void configuration_save(running_machine *machine, int config_type, xml_da
|
|||||||
if (ldnode != NULL)
|
if (ldnode != NULL)
|
||||||
{
|
{
|
||||||
int changed = FALSE;
|
int changed = FALSE;
|
||||||
|
|
||||||
/* output the basics */
|
/* output the basics */
|
||||||
xml_set_attribute(ldnode, "tag", device->tag);
|
xml_set_attribute(ldnode, "tag", device->tag);
|
||||||
|
|
||||||
@ -1727,7 +1727,7 @@ static void configuration_save(running_machine *machine, int config_type, xml_da
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
laserdisc_video_enable - enable/disable the
|
laserdisc_video_enable - enable/disable the
|
||||||
video
|
video
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
@ -1739,7 +1739,7 @@ void laserdisc_video_enable(const device_config *device, int enable)
|
|||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
laserdisc_video_enable - enable/disable the
|
laserdisc_video_enable - enable/disable the
|
||||||
video
|
video
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
@ -1762,28 +1762,28 @@ VIDEO_UPDATE( laserdisc )
|
|||||||
laserdisc_state *ld = laserdisc->token;
|
laserdisc_state *ld = laserdisc->token;
|
||||||
bitmap_t *overbitmap = ld->overbitmap[ld->overindex];
|
bitmap_t *overbitmap = ld->overbitmap[ld->overindex];
|
||||||
bitmap_t *vidbitmap = NULL;
|
bitmap_t *vidbitmap = NULL;
|
||||||
|
|
||||||
/* handle the overlay if present */
|
/* handle the overlay if present */
|
||||||
if (overbitmap != NULL)
|
if (overbitmap != NULL)
|
||||||
{
|
{
|
||||||
rectangle clip = *cliprect;
|
rectangle clip = *cliprect;
|
||||||
|
|
||||||
/* scale the cliprect to the overlay size */
|
/* scale the cliprect to the overlay size */
|
||||||
clip.min_x = 0;
|
clip.min_x = 0;
|
||||||
clip.max_x = ld->config.overwidth - 1;
|
clip.max_x = ld->config.overwidth - 1;
|
||||||
clip.min_y = cliprect->min_y * overbitmap->height / bitmap->height;
|
clip.min_y = cliprect->min_y * overbitmap->height / bitmap->height;
|
||||||
clip.max_y = (cliprect->max_y + 1) * overbitmap->height / bitmap->height - 1;
|
clip.max_y = (cliprect->max_y + 1) * overbitmap->height / bitmap->height - 1;
|
||||||
|
|
||||||
/* call the callback */
|
/* call the callback */
|
||||||
if (ld->config.overupdate != NULL)
|
if (ld->config.overupdate != NULL)
|
||||||
(*ld->config.overupdate)(screen, overbitmap, &clip);
|
(*ld->config.overupdate)(screen, overbitmap, &clip);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if this is the last update, do the rendering */
|
/* if this is the last update, do the rendering */
|
||||||
if (cliprect->max_y == video_screen_get_visible_area(screen)->max_y)
|
if (cliprect->max_y == video_screen_get_visible_area(screen)->max_y)
|
||||||
{
|
{
|
||||||
float x0, y0, x1, y1;
|
float x0, y0, x1, y1;
|
||||||
|
|
||||||
/* update the texture with the overlay contents */
|
/* update the texture with the overlay contents */
|
||||||
if (overbitmap != NULL)
|
if (overbitmap != NULL)
|
||||||
{
|
{
|
||||||
@ -1792,15 +1792,15 @@ VIDEO_UPDATE( laserdisc )
|
|||||||
else if (overbitmap->format == BITMAP_FORMAT_RGB32)
|
else if (overbitmap->format == BITMAP_FORMAT_RGB32)
|
||||||
render_texture_set_bitmap(ld->overtex, overbitmap, &ld->config.overclip, 0, TEXFORMAT_ARGB32);
|
render_texture_set_bitmap(ld->overtex, overbitmap, &ld->config.overclip, 0, TEXFORMAT_ARGB32);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get the laserdisc video */
|
/* get the laserdisc video */
|
||||||
laserdisc_get_video(laserdisc, &vidbitmap);
|
laserdisc_get_video(laserdisc, &vidbitmap);
|
||||||
if (vidbitmap != NULL)
|
if (vidbitmap != NULL)
|
||||||
render_texture_set_bitmap(ld->videotex, vidbitmap, NULL, 0, TEXFORMAT_YUY16);
|
render_texture_set_bitmap(ld->videotex, vidbitmap, NULL, 0, TEXFORMAT_YUY16);
|
||||||
|
|
||||||
/* reset the screen contents */
|
/* reset the screen contents */
|
||||||
render_container_empty(render_container_get_screen(screen));
|
render_container_empty(render_container_get_screen(screen));
|
||||||
|
|
||||||
/* add the video texture */
|
/* add the video texture */
|
||||||
if (ld->videoenable)
|
if (ld->videoenable)
|
||||||
render_screen_add_quad(screen, 0.0f, 0.0f, 1.0f, 1.0f, MAKE_ARGB(0xff,0xff,0xff,0xff), ld->videotex, PRIMFLAG_BLENDMODE(BLENDMODE_NONE) | PRIMFLAG_SCREENTEX(1));
|
render_screen_add_quad(screen, 0.0f, 0.0f, 1.0f, 1.0f, MAKE_ARGB(0xff,0xff,0xff,0xff), ld->videotex, PRIMFLAG_BLENDMODE(BLENDMODE_NONE) | PRIMFLAG_SCREENTEX(1));
|
||||||
@ -1814,12 +1814,12 @@ VIDEO_UPDATE( laserdisc )
|
|||||||
y1 = y0 + ld->config.overscaley;
|
y1 = y0 + ld->config.overscaley;
|
||||||
render_screen_add_quad(screen, x0, y0, x1, y1, MAKE_ARGB(0xff,0xff,0xff,0xff), ld->overtex, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA) | PRIMFLAG_SCREENTEX(1));
|
render_screen_add_quad(screen, x0, y0, x1, y1, MAKE_ARGB(0xff,0xff,0xff,0xff), ld->overtex, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA) | PRIMFLAG_SCREENTEX(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* swap to the next bitmap */
|
/* swap to the next bitmap */
|
||||||
ld->overindex = (ld->overindex + 1) % ARRAY_LENGTH(ld->overbitmap);
|
ld->overindex = (ld->overindex + 1) % ARRAY_LENGTH(ld->overbitmap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1830,7 +1830,7 @@ VIDEO_UPDATE( laserdisc )
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
laserdisc_get_config - return a copy of the
|
laserdisc_get_config - return a copy of the
|
||||||
current live configuration settings
|
current live configuration settings
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
@ -1842,7 +1842,7 @@ void laserdisc_get_config(const device_config *device, laserdisc_config *config)
|
|||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
laserdisc_get_config - change the current live
|
laserdisc_get_config - change the current live
|
||||||
configuration settings
|
configuration settings
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
@ -1943,13 +1943,13 @@ static DEVICE_START( laserdisc )
|
|||||||
ld->audiobuffer[0] = auto_malloc(ld->audiobufsize * sizeof(ld->audiobuffer[0][0]));
|
ld->audiobuffer[0] = auto_malloc(ld->audiobufsize * sizeof(ld->audiobuffer[0][0]));
|
||||||
ld->audiobuffer[1] = auto_malloc(ld->audiobufsize * sizeof(ld->audiobuffer[1][0]));
|
ld->audiobuffer[1] = auto_malloc(ld->audiobufsize * sizeof(ld->audiobuffer[1][0]));
|
||||||
ld->samplerate = rate;
|
ld->samplerate = rate;
|
||||||
|
|
||||||
/* allocate texture for rendering */
|
/* allocate texture for rendering */
|
||||||
ld->videoenable = TRUE;
|
ld->videoenable = TRUE;
|
||||||
ld->videotex = render_texture_alloc(NULL, NULL);
|
ld->videotex = render_texture_alloc(NULL, NULL);
|
||||||
if (ld->videotex == NULL)
|
if (ld->videotex == NULL)
|
||||||
fatalerror("Out of memory allocating video texture");
|
fatalerror("Out of memory allocating video texture");
|
||||||
|
|
||||||
/* allocate overlay */
|
/* allocate overlay */
|
||||||
if (ld->config.overwidth > 0 && ld->config.overheight > 0 && ld->config.overupdate != NULL)
|
if (ld->config.overwidth > 0 && ld->config.overheight > 0 && ld->config.overupdate != NULL)
|
||||||
{
|
{
|
||||||
@ -1977,7 +1977,7 @@ static DEVICE_STOP( laserdisc )
|
|||||||
/* make sure all async operations have completed */
|
/* make sure all async operations have completed */
|
||||||
if (ld->disc != NULL)
|
if (ld->disc != NULL)
|
||||||
chd_async_complete(ld->disc);
|
chd_async_complete(ld->disc);
|
||||||
|
|
||||||
/* free any textures */
|
/* free any textures */
|
||||||
if (ld->videotex != NULL)
|
if (ld->videotex != NULL)
|
||||||
render_texture_free(ld->videotex);
|
render_texture_free(ld->videotex);
|
||||||
@ -2089,7 +2089,7 @@ static DEVICE_SET_INFO( laserdisc )
|
|||||||
DEVICE_GET_INFO( laserdisc )
|
DEVICE_GET_INFO( laserdisc )
|
||||||
{
|
{
|
||||||
const laserdisc_config *config = NULL;
|
const laserdisc_config *config = NULL;
|
||||||
|
|
||||||
if (device != NULL)
|
if (device != NULL)
|
||||||
{
|
{
|
||||||
laserdisc_state *ld = device->token;
|
laserdisc_state *ld = device->token;
|
||||||
@ -2798,12 +2798,12 @@ static void pr8210_control_w(laserdisc_state *ld, UINT8 data)
|
|||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
|
|
||||||
Command Set:
|
Command Set:
|
||||||
|
|
||||||
FX XX XX : Seek to frame XXXXX
|
FX XX XX : Seek to frame XXXXX
|
||||||
01-19 : Skip forward 1-19 frames
|
01-19 : Skip forward 1-19 frames
|
||||||
99-81 : Skip back 1-19 frames
|
99-81 : Skip back 1-19 frames
|
||||||
5a : Toggle frame display
|
5a : Toggle frame display
|
||||||
|
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
@ -2876,7 +2876,7 @@ static void simutrek_data_w(laserdisc_state *ld, UINT8 prev, UINT8 data)
|
|||||||
{
|
{
|
||||||
CMDPRINTF(("Simutrek: Seek to frame byte %d of 3\n", simutrek->cmdcnt + 1));
|
CMDPRINTF(("Simutrek: Seek to frame byte %d of 3\n", simutrek->cmdcnt + 1));
|
||||||
simutrek->cmdbytes[simutrek->cmdcnt++] = data;
|
simutrek->cmdbytes[simutrek->cmdcnt++] = data;
|
||||||
|
|
||||||
if (simutrek->cmdcnt == 3)
|
if (simutrek->cmdcnt == 3)
|
||||||
{
|
{
|
||||||
int frame = ((simutrek->cmdbytes[0] & 0xf) * 10000) +
|
int frame = ((simutrek->cmdbytes[0] & 0xf) * 10000) +
|
||||||
@ -2946,7 +2946,7 @@ void simutrek_set_audio_squelch(const device_config *device, int state)
|
|||||||
laserdisc_state *ld = get_safe_token(device);
|
laserdisc_state *ld = get_safe_token(device);
|
||||||
|
|
||||||
if (state == ASSERT_LINE)
|
if (state == ASSERT_LINE)
|
||||||
ld->audio |= AUDIO_SQUELCH_OVERRIDE;
|
ld->audio |= AUDIO_SQUELCH_OVERRIDE;
|
||||||
else
|
else
|
||||||
ld->audio &= ~AUDIO_SQUELCH_OVERRIDE;
|
ld->audio &= ~AUDIO_SQUELCH_OVERRIDE;
|
||||||
}
|
}
|
||||||
@ -2955,7 +2955,7 @@ void simutrek_set_audio_squelch(const device_config *device, int state)
|
|||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
simutrek_set_audio_squelch - Simutrek-specific
|
simutrek_set_audio_squelch - Simutrek-specific
|
||||||
command to set callback function for
|
command to set callback function for
|
||||||
player/interface command acknowledge
|
player/interface command acknowledge
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
void simutrek_set_cmd_ack_callback(const device_config *device, void (*callback)(void))
|
void simutrek_set_cmd_ack_callback(const device_config *device, void (*callback)(void))
|
||||||
|
@ -71,10 +71,10 @@ struct _laserdisc_config
|
|||||||
{
|
{
|
||||||
UINT32 type;
|
UINT32 type;
|
||||||
laserdisc_audio_func audio;
|
laserdisc_audio_func audio;
|
||||||
|
|
||||||
/* rendering information */
|
/* rendering information */
|
||||||
const char * screen;
|
const char * screen;
|
||||||
|
|
||||||
/* overlay information */
|
/* overlay information */
|
||||||
video_update_func overupdate;
|
video_update_func overupdate;
|
||||||
UINT32 overwidth, overheight, overformat;
|
UINT32 overwidth, overheight, overformat;
|
||||||
|
@ -1611,7 +1611,7 @@ static void slider_init(running_machine *machine)
|
|||||||
int defxoffset = floor(config->overposx * 1000.0f + 0.5f);
|
int defxoffset = floor(config->overposx * 1000.0f + 0.5f);
|
||||||
int defyoffset = floor(config->overposy * 1000.0f + 0.5f);
|
int defyoffset = floor(config->overposy * 1000.0f + 0.5f);
|
||||||
void *param = (void *)device;
|
void *param = (void *)device;
|
||||||
|
|
||||||
/* add scale and offset controls per-overlay */
|
/* add scale and offset controls per-overlay */
|
||||||
slider_config(&slider_list[slider_count++], 500, (defxscale == 0) ? 1000 : defxscale, 1500, 2, slider_overxscale, param);
|
slider_config(&slider_list[slider_count++], 500, (defxscale == 0) ? 1000 : defxscale, 1500, 2, slider_overxscale, param);
|
||||||
slider_config(&slider_list[slider_count++], -500, defxoffset, 500, 2, slider_overxoffset, param);
|
slider_config(&slider_list[slider_count++], -500, defxoffset, 500, 2, slider_overxoffset, param);
|
||||||
|
@ -812,7 +812,7 @@ static int validate_cpu(int drivnum, const machine_config *config, const input_p
|
|||||||
mame_printf_error("%s: %s CPU %d space %d memory map entry references nonexistant device type %s, tag %s\n", driver->source_file, driver->name, cpunum, spacenum, devtype_name(entry->write_devtype), entry->write_devtag);
|
mame_printf_error("%s: %s CPU %d space %d memory map entry references nonexistant device type %s, tag %s\n", driver->source_file, driver->name, cpunum, spacenum, devtype_name(entry->write_devtype), entry->write_devtag);
|
||||||
error = TRUE;
|
error = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* make sure ports exist */
|
/* make sure ports exist */
|
||||||
if (entry->read_porttag != NULL && input_port_by_tag(portlist, entry->read_porttag) == NULL)
|
if (entry->read_porttag != NULL && input_port_by_tag(portlist, entry->read_porttag) == NULL)
|
||||||
{
|
{
|
||||||
@ -1382,7 +1382,7 @@ static int validate_inputs(int drivnum, const machine_config *config, const inpu
|
|||||||
/* look up the string and print an error if default strings are not used */
|
/* look up the string and print an error if default strings are not used */
|
||||||
strindex = get_defstr_index(field->name, driver, &error);
|
strindex = get_defstr_index(field->name, driver, &error);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* verify conditions on the field */
|
/* verify conditions on the field */
|
||||||
if (field->condition.tag != NULL)
|
if (field->condition.tag != NULL)
|
||||||
{
|
{
|
||||||
@ -1390,7 +1390,7 @@ static int validate_inputs(int drivnum, const machine_config *config, const inpu
|
|||||||
for (scanport = *portlistptr; scanport != NULL; scanport = scanport->next)
|
for (scanport = *portlistptr; scanport != NULL; scanport = scanport->next)
|
||||||
if (scanport->tag != NULL && strcmp(field->condition.tag, scanport->tag) == 0)
|
if (scanport->tag != NULL && strcmp(field->condition.tag, scanport->tag) == 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* if none, error */
|
/* if none, error */
|
||||||
if (scanport == NULL)
|
if (scanport == NULL)
|
||||||
{
|
{
|
||||||
@ -1398,7 +1398,7 @@ static int validate_inputs(int drivnum, const machine_config *config, const inpu
|
|||||||
error = TRUE;
|
error = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* verify conditions on the settings */
|
/* verify conditions on the settings */
|
||||||
for (setting = field->settinglist; setting != NULL; setting = setting->next)
|
for (setting = field->settinglist; setting != NULL; setting = setting->next)
|
||||||
if (setting->condition.tag != NULL)
|
if (setting->condition.tag != NULL)
|
||||||
@ -1407,7 +1407,7 @@ static int validate_inputs(int drivnum, const machine_config *config, const inpu
|
|||||||
for (scanport = *portlistptr; scanport != NULL; scanport = scanport->next)
|
for (scanport = *portlistptr; scanport != NULL; scanport = scanport->next)
|
||||||
if (scanport->tag != NULL && strcmp(setting->condition.tag, scanport->tag) == 0)
|
if (scanport->tag != NULL && strcmp(setting->condition.tag, scanport->tag) == 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* if none, error */
|
/* if none, error */
|
||||||
if (scanport == NULL)
|
if (scanport == NULL)
|
||||||
{
|
{
|
||||||
|
@ -633,7 +633,7 @@ static avcomp_error encode_video_lossless(avcomp_state *state, int width, int he
|
|||||||
huffman_error hufferr;
|
huffman_error hufferr;
|
||||||
UINT32 outbytes;
|
UINT32 outbytes;
|
||||||
UINT8 *output;
|
UINT8 *output;
|
||||||
|
|
||||||
/* set up the output; first byte is 0x80 to indicate lossless encoding */
|
/* set up the output; first byte is 0x80 to indicate lossless encoding */
|
||||||
output = dest;
|
output = dest;
|
||||||
*output++ = 0x80;
|
*output++ = 0x80;
|
||||||
@ -800,7 +800,7 @@ static avcomp_error decode_video(avcomp_state *state, int width, int height, con
|
|||||||
/* if the high bit of the first byte is set, we decode losslessly */
|
/* if the high bit of the first byte is set, we decode losslessly */
|
||||||
if (source[0] & 0x80)
|
if (source[0] & 0x80)
|
||||||
return decode_video_lossless(state, width, height, source, complength, dest, dstride, dxor);
|
return decode_video_lossless(state, width, height, source, complength, dest, dstride, dxor);
|
||||||
else
|
else
|
||||||
return AVCERR_INVALID_DATA;
|
return AVCERR_INVALID_DATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
|
||||||
Toshiba T5182 die map, by Jonathan Gevaryahu AKA Lord Nightmare,
|
Toshiba T5182 die map, by Jonathan Gevaryahu AKA Lord Nightmare,
|
||||||
with assistance from Kevin Horton.
|
with assistance from Kevin Horton.
|
||||||
T5182 supplied by Tomasz 'Dox' Slanina
|
T5182 supplied by Tomasz 'Dox' Slanina
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ Subdie D is a 74245 bidirectional bus transciever
|
|||||||
Subdie E is a 74138 1 to 8 decoder/demultiplexer with active low outputs
|
Subdie E is a 74138 1 to 8 decoder/demultiplexer with active low outputs
|
||||||
Subdie F is a 74138 1 to 8 decoder/demultiplexer with active low outputs
|
Subdie F is a 74138 1 to 8 decoder/demultiplexer with active low outputs
|
||||||
Subdie G is a 7408 quad AND gate
|
Subdie G is a 7408 quad AND gate
|
||||||
Thanks to Kevin Horton for working out most of the logic gate types
|
Thanks to Kevin Horton for working out most of the logic gate types
|
||||||
from the diagram.
|
from the diagram.
|
||||||
|
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ Note: pins 21 and 22 are both shorted together on the pcb, and go active (low)
|
|||||||
However, the fact that pins 21 and 22 were NOT internally connected
|
However, the fact that pins 21 and 22 were NOT internally connected
|
||||||
together by Toshiba on the *production* seibu t5182 means a huge
|
together by Toshiba on the *production* seibu t5182 means a huge
|
||||||
security hole is opened:
|
security hole is opened:
|
||||||
|
|
||||||
It is trivial, through external connections, without EVER opening the
|
It is trivial, through external connections, without EVER opening the
|
||||||
chip, to connect pin 22 to a trojan rom /CE and hence have a user trojan
|
chip, to connect pin 22 to a trojan rom /CE and hence have a user trojan
|
||||||
program run at 0x0000-0x1fff. Then, connect pin 21 to pin 34 to map the
|
program run at 0x0000-0x1fff. Then, connect pin 21 to pin 34 to map the
|
||||||
@ -127,7 +127,7 @@ xxxxxxxxx101xxxx i/o /EN 5 goes low
|
|||||||
xxxxxxxxx110xxxx i/o /EN 6\__ these two are unbonded pins, so are useless.
|
xxxxxxxxx110xxxx i/o /EN 6\__ these two are unbonded pins, so are useless.
|
||||||
xxxxxxxxx111xxxx i/o /EN 7/
|
xxxxxxxxx111xxxx i/o /EN 7/
|
||||||
|
|
||||||
IMPORTANT: the data lines for the external rom on darkmist are scrambled on the
|
IMPORTANT: the data lines for the external rom on darkmist are scrambled on the
|
||||||
SEI8608B board as such:
|
SEI8608B board as such:
|
||||||
CPU: ROM:
|
CPU: ROM:
|
||||||
D0 D0
|
D0 D0
|
||||||
|
@ -119,7 +119,7 @@ static INPUT_PORTS_START( sicv )
|
|||||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(invaders_in1_control_r, NULL)
|
PORT_BIT( 0x70, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(invaders_in1_control_r, NULL)
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||||
|
|
||||||
PORT_START("IN2") /* referenced by invaders_io_map, used in several drivers; this is fairly hacky */
|
PORT_START("IN2") /* referenced by invaders_io_map, used in several drivers; this is fairly hacky */
|
||||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||||
|
|
||||||
@ -481,7 +481,7 @@ static INPUT_PORTS_START( spclaser )
|
|||||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||||
//PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2) /* This is not 2 Player ??? */
|
//PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2) /* This is not 2 Player ??? */
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||||
|
|
||||||
PORT_START("IN2") /* referenced by invaders_io_map, used in several drivers; this is fairly hacky */
|
PORT_START("IN2") /* referenced by invaders_io_map, used in several drivers; this is fairly hacky */
|
||||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||||
|
|
||||||
|
@ -197,44 +197,44 @@ static const duart68681_config skattv_duart68681_config =
|
|||||||
/*
|
/*
|
||||||
static PALETTE_INIT( adp )
|
static PALETTE_INIT( adp )
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
|
||||||
for (i = 0;i < machine->config->total_colors;i++)
|
for (i = 0;i < machine->config->total_colors;i++)
|
||||||
{
|
{
|
||||||
int bit0,bit1,bit2,r,g,b;
|
int bit0,bit1,bit2,r,g,b;
|
||||||
|
|
||||||
|
|
||||||
// red component
|
// red component
|
||||||
bit0 = (i >> 2) & 0x01;
|
bit0 = (i >> 2) & 0x01;
|
||||||
bit1 = (i >> 3) & 0x01;
|
bit1 = (i >> 3) & 0x01;
|
||||||
bit2 = (i >> 4) & 0x01;
|
bit2 = (i >> 4) & 0x01;
|
||||||
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
||||||
// green component
|
// green component
|
||||||
bit0 = (i >> 5) & 0x01;
|
bit0 = (i >> 5) & 0x01;
|
||||||
bit1 = (i >> 6) & 0x01;
|
bit1 = (i >> 6) & 0x01;
|
||||||
bit2 = (i >> 7) & 0x01;
|
bit2 = (i >> 7) & 0x01;
|
||||||
g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
||||||
// blue component
|
// blue component
|
||||||
bit0 = 0;
|
bit0 = 0;
|
||||||
bit1 = (i >> 0) & 0x01;
|
bit1 = (i >> 0) & 0x01;
|
||||||
bit2 = (i >> 1) & 0x01;
|
bit2 = (i >> 1) & 0x01;
|
||||||
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
||||||
|
|
||||||
palette_set_color(machine,i,MAKE_RGB(r,g,b));
|
palette_set_color(machine,i,MAKE_RGB(r,g,b));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static VIDEO_START(adp)
|
static VIDEO_START(adp)
|
||||||
{
|
{
|
||||||
// UINT32 i;
|
// UINT32 i;
|
||||||
// UINT16 *prgrom = (UINT16*)memory_region(machine, "main");
|
// UINT16 *prgrom = (UINT16*)memory_region(machine, "main");
|
||||||
|
|
||||||
HD63484_start();
|
HD63484_start();
|
||||||
|
|
||||||
// for (i = 0; i < 0x70000; i++)
|
// for (i = 0; i < 0x70000; i++)
|
||||||
// HD63484_ram[0x90000 + i] = prgrom[i];
|
// HD63484_ram[0x90000 + i] = prgrom[i];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -359,14 +359,14 @@ static ADDRESS_MAP_START( skattv_mem, ADDRESS_SPACE_PROGRAM, 16 )
|
|||||||
AM_RANGE(0x400000, 0x4000ff) AM_READ(test_r) //18b too
|
AM_RANGE(0x400000, 0x4000ff) AM_READ(test_r) //18b too
|
||||||
AM_RANGE(0x800080, 0x800081) AM_READWRITE(HD63484_status_r, HD63484_address_w)
|
AM_RANGE(0x800080, 0x800081) AM_READWRITE(HD63484_status_r, HD63484_address_w)
|
||||||
AM_RANGE(0x800082, 0x800083) AM_READWRITE(HD63484_data_r, HD63484_data_w)
|
AM_RANGE(0x800082, 0x800083) AM_READWRITE(HD63484_data_r, HD63484_data_w)
|
||||||
// AM_RANGE(0x8000a0, 0x8000a1) AM_READ(handler2_r)
|
// AM_RANGE(0x8000a0, 0x8000a1) AM_READ(handler2_r)
|
||||||
// AM_RANGE(0x8000a2, 0x8000a3) AM_READ(handler2_r)
|
// AM_RANGE(0x8000a2, 0x8000a3) AM_READ(handler2_r)
|
||||||
// AM_RANGE(0x800100, 0x80017f) AM_READ(test_r) //18b too
|
// AM_RANGE(0x800100, 0x80017f) AM_READ(test_r) //18b too
|
||||||
AM_RANGE(0x800100, 0x800101) AM_READ(test_r) //18b too
|
AM_RANGE(0x800100, 0x800101) AM_READ(test_r) //18b too
|
||||||
AM_RANGE(0x800140, 0x800141) AM_READ(test1_r) //18b too
|
AM_RANGE(0x800140, 0x800141) AM_READ(test1_r) //18b too
|
||||||
AM_RANGE(0x800180, 0x80019f) AM_DEVREADWRITE8( DUART68681, "duart68681", duart68681_r, duart68681_w, 0xff )
|
AM_RANGE(0x800180, 0x80019f) AM_DEVREADWRITE8( DUART68681, "duart68681", duart68681_r, duart68681_w, 0xff )
|
||||||
// AM_RANGE(0xffd246, 0xffd247) AM_READ(handler3_r)
|
// AM_RANGE(0xffd246, 0xffd247) AM_READ(handler3_r)
|
||||||
// AM_RANGE(0xffd248, 0xffd249) AM_READ(handler3_r)
|
// AM_RANGE(0xffd248, 0xffd249) AM_READ(handler3_r)
|
||||||
AM_RANGE(0xffc000, 0xffffff) AM_RAM
|
AM_RANGE(0xffc000, 0xffffff) AM_RAM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
@ -409,14 +409,14 @@ INPUT_PORTS_END
|
|||||||
/*
|
/*
|
||||||
static INTERRUPT_GEN( adp_int )
|
static INTERRUPT_GEN( adp_int )
|
||||||
{
|
{
|
||||||
cpunum_set_input_line(machine, 0, 1, HOLD_LINE); // ??? All irqs have the same vector, and the mask used is 0 or 7
|
cpunum_set_input_line(machine, 0, 1, HOLD_LINE); // ??? All irqs have the same vector, and the mask used is 0 or 7
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static MACHINE_DRIVER_START( quickjac )
|
static MACHINE_DRIVER_START( quickjac )
|
||||||
MDRV_CPU_ADD("main", M68000, 8000000)
|
MDRV_CPU_ADD("main", M68000, 8000000)
|
||||||
MDRV_CPU_PROGRAM_MAP(quickjac_mem, 0)
|
MDRV_CPU_PROGRAM_MAP(quickjac_mem, 0)
|
||||||
// MDRV_CPU_VBLANK_INT("main", adp_int)
|
// MDRV_CPU_VBLANK_INT("main", adp_int)
|
||||||
|
|
||||||
MDRV_MACHINE_START(skattv)
|
MDRV_MACHINE_START(skattv)
|
||||||
MDRV_MACHINE_RESET(skattv)
|
MDRV_MACHINE_RESET(skattv)
|
||||||
@ -432,7 +432,7 @@ static MACHINE_DRIVER_START( quickjac )
|
|||||||
MDRV_SCREEN_VISIBLE_AREA(0, 384-1, 0, 280-1)
|
MDRV_SCREEN_VISIBLE_AREA(0, 384-1, 0, 280-1)
|
||||||
MDRV_PALETTE_LENGTH(0x100)
|
MDRV_PALETTE_LENGTH(0x100)
|
||||||
|
|
||||||
// MDRV_PALETTE_INIT(adp)
|
// MDRV_PALETTE_INIT(adp)
|
||||||
MDRV_VIDEO_START(adp)
|
MDRV_VIDEO_START(adp)
|
||||||
MDRV_VIDEO_UPDATE(adp)
|
MDRV_VIDEO_UPDATE(adp)
|
||||||
|
|
||||||
@ -445,7 +445,7 @@ MACHINE_DRIVER_END
|
|||||||
static MACHINE_DRIVER_START( skattv )
|
static MACHINE_DRIVER_START( skattv )
|
||||||
MDRV_CPU_ADD("main", M68000, 8000000)
|
MDRV_CPU_ADD("main", M68000, 8000000)
|
||||||
MDRV_CPU_PROGRAM_MAP(skattv_mem, 0)
|
MDRV_CPU_PROGRAM_MAP(skattv_mem, 0)
|
||||||
// MDRV_CPU_VBLANK_INT("main", adp_int)
|
// MDRV_CPU_VBLANK_INT("main", adp_int)
|
||||||
|
|
||||||
MDRV_MACHINE_START(skattv)
|
MDRV_MACHINE_START(skattv)
|
||||||
MDRV_MACHINE_RESET(skattv)
|
MDRV_MACHINE_RESET(skattv)
|
||||||
@ -461,7 +461,7 @@ static MACHINE_DRIVER_START( skattv )
|
|||||||
MDRV_SCREEN_VISIBLE_AREA(0, 384-1, 0, 280-1)
|
MDRV_SCREEN_VISIBLE_AREA(0, 384-1, 0, 280-1)
|
||||||
MDRV_PALETTE_LENGTH(0x100)
|
MDRV_PALETTE_LENGTH(0x100)
|
||||||
|
|
||||||
// MDRV_PALETTE_INIT(adp)
|
// MDRV_PALETTE_INIT(adp)
|
||||||
MDRV_VIDEO_START(adp)
|
MDRV_VIDEO_START(adp)
|
||||||
MDRV_VIDEO_UPDATE(adp)
|
MDRV_VIDEO_UPDATE(adp)
|
||||||
|
|
||||||
@ -483,7 +483,7 @@ static MACHINE_DRIVER_START( backgamn )
|
|||||||
MDRV_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
|
MDRV_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
|
||||||
MDRV_PALETTE_LENGTH(0x100)
|
MDRV_PALETTE_LENGTH(0x100)
|
||||||
|
|
||||||
// MDRV_PALETTE_INIT(adp)
|
// MDRV_PALETTE_INIT(adp)
|
||||||
MDRV_VIDEO_START(adp)
|
MDRV_VIDEO_START(adp)
|
||||||
MDRV_VIDEO_UPDATE(adp)
|
MDRV_VIDEO_UPDATE(adp)
|
||||||
|
|
||||||
|
@ -284,7 +284,7 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
static INPUT_PORTS_START( weststry )
|
static INPUT_PORTS_START( weststry )
|
||||||
PORT_INCLUDE( weststry_base )
|
PORT_INCLUDE( weststry_base )
|
||||||
|
|
||||||
PORT_START("COIN") /* referenced by seibu sound board */
|
PORT_START("COIN") /* referenced by seibu sound board */
|
||||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
driver by Phil Bennett
|
driver by Phil Bennett
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
* Emulate D8478 laserdisc interface MCU
|
* Emulate D8478 laserdisc interface MCU
|
||||||
* Accurate video timings
|
* Accurate video timings
|
||||||
- Derive from PROMs
|
- Derive from PROMs
|
||||||
* More accurate line fill circuitry emulation
|
* More accurate line fill circuitry emulation
|
||||||
- Use PROMs
|
- Use PROMs
|
||||||
|
|
||||||
Known bugs:
|
Known bugs:
|
||||||
* The graphics tend go screwy when you add the first credit on the
|
* The graphics tend go screwy when you add the first credit on the
|
||||||
@ -113,9 +113,9 @@ static VIDEO_UPDATE( cubeqst )
|
|||||||
int palentry = palette_ram[255];
|
int palentry = palette_ram[255];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Clear the display with palette RAM entry 0xff
|
* Clear the display with palette RAM entry 0xff
|
||||||
* This will be either transparent or an actual colour
|
* This will be either transparent or an actual colour
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Bit 3 selects LD/#GRAPHICS */
|
/* Bit 3 selects LD/#GRAPHICS */
|
||||||
if ((palentry & (1 << 3)) && disk_on)
|
if ((palentry & (1 << 3)) && disk_on)
|
||||||
@ -234,8 +234,8 @@ void ldp_ack_callback(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
D0: Command acknowledge
|
D0: Command acknowledge
|
||||||
D1: Seek status (0 = searching, 1 = ready)
|
D1: Seek status (0 = searching, 1 = ready)
|
||||||
*/
|
*/
|
||||||
static READ16_HANDLER( laserdisc_r )
|
static READ16_HANDLER( laserdisc_r )
|
||||||
{
|
{
|
||||||
@ -293,12 +293,12 @@ static void swap_linecpu_banks(void)
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Reset Control
|
Reset Control
|
||||||
=============
|
=============
|
||||||
|
|
||||||
D0: /Display (includes rotate and line processors)
|
D0: /Display (includes rotate and line processors)
|
||||||
D1: /Sound
|
D1: /Sound
|
||||||
D2: /Disk
|
D2: /Disk
|
||||||
*/
|
*/
|
||||||
static WRITE16_HANDLER( reset_w )
|
static WRITE16_HANDLER( reset_w )
|
||||||
{
|
{
|
||||||
@ -326,24 +326,24 @@ static WRITE16_HANDLER( reset_w )
|
|||||||
static WRITE16_HANDLER( io_w )
|
static WRITE16_HANDLER( io_w )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
0: Spare lamp
|
0: Spare lamp
|
||||||
1: Spare driver
|
1: Spare driver
|
||||||
2: Coin counter
|
2: Coin counter
|
||||||
3: Left-front lamp
|
3: Left-front lamp
|
||||||
4: Right-front lamp
|
4: Right-front lamp
|
||||||
5: Righ back lamp
|
5: Righ back lamp
|
||||||
6: Spare lamp
|
6: Spare lamp
|
||||||
7: LED latch clock
|
7: LED latch clock
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* TODO: On rising edge of Q7, status LED latch is written */
|
/* TODO: On rising edge of Q7, status LED latch is written */
|
||||||
if ( !BIT(io_latch, 7) && BIT(data, 7) )
|
if ( !BIT(io_latch, 7) && BIT(data, 7) )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
0: Battery failure
|
0: Battery failure
|
||||||
1: Bad coin
|
1: Bad coin
|
||||||
2: No laser unit
|
2: No laser unit
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
io_latch = data;
|
io_latch = data;
|
||||||
@ -356,11 +356,11 @@ static READ16_HANDLER( io_r )
|
|||||||
/*
|
/*
|
||||||
Certain bits depend on Q7 of the IO latch:
|
Certain bits depend on Q7 of the IO latch:
|
||||||
|
|
||||||
5: Cube / Trackball H clock
|
5: Cube / Trackball H clock
|
||||||
6: R-Fire / Trackball H data
|
6: R-Fire / Trackball H data
|
||||||
7: L-Fire / Trackball V clock
|
7: L-Fire / Trackball V clock
|
||||||
10: Spare / Trackball V data
|
10: Spare / Trackball V data
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !BIT(io_latch, 7) )
|
if ( !BIT(io_latch, 7) )
|
||||||
return port_data;
|
return port_data;
|
||||||
@ -428,11 +428,11 @@ ADDRESS_MAP_END
|
|||||||
|
|
||||||
/* For the bit-sliced CPUs */
|
/* For the bit-sliced CPUs */
|
||||||
static ADDRESS_MAP_START( rotate_map, ADDRESS_SPACE_PROGRAM, 64 )
|
static ADDRESS_MAP_START( rotate_map, ADDRESS_SPACE_PROGRAM, 64 )
|
||||||
AM_RANGE(0x000, 0x1ff) AM_ROM
|
AM_RANGE(0x000, 0x1ff) AM_ROM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static ADDRESS_MAP_START( line_sound_map, ADDRESS_SPACE_PROGRAM, 64 )
|
static ADDRESS_MAP_START( line_sound_map, ADDRESS_SPACE_PROGRAM, 64 )
|
||||||
AM_RANGE(0x000, 0x0ff) AM_ROM
|
AM_RANGE(0x000, 0x0ff) AM_ROM
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
|
|
||||||
@ -471,8 +471,8 @@ static MACHINE_RESET( cubeqst )
|
|||||||
static sound_stream *cquest_stream;
|
static sound_stream *cquest_stream;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The sound CPU outputs to a 12-bit 7521 DAC
|
* The sound CPU outputs to a 12-bit 7521 DAC
|
||||||
* The DAC output is multiplexed between
|
* The DAC output is multiplexed between
|
||||||
* 16 channels (8 per side).
|
* 16 channels (8 per side).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -581,7 +581,7 @@ static MACHINE_DRIVER_START( cubeqst )
|
|||||||
MDRV_LASERDISC_OVERLAY(cubeqst, CUBEQST_HBLANK, CUBEQST_VCOUNT, BITMAP_FORMAT_INDEXED16)
|
MDRV_LASERDISC_OVERLAY(cubeqst, CUBEQST_HBLANK, CUBEQST_VCOUNT, BITMAP_FORMAT_INDEXED16)
|
||||||
MDRV_LASERDISC_OVERLAY_CLIP(0, 320-1, 0, 256-8)
|
MDRV_LASERDISC_OVERLAY_CLIP(0, 320-1, 0, 256-8)
|
||||||
MDRV_LASERDISC_OVERLAY_POSITION(0.002, -0.018)
|
MDRV_LASERDISC_OVERLAY_POSITION(0.002, -0.018)
|
||||||
|
|
||||||
MDRV_SPEAKER_STANDARD_STEREO("left", "right")
|
MDRV_SPEAKER_STANDARD_STEREO("left", "right")
|
||||||
|
|
||||||
MDRV_SOUND_ADD("laserdisc", CUSTOM, 0)
|
MDRV_SOUND_ADD("laserdisc", CUSTOM, 0)
|
||||||
|
@ -2291,7 +2291,7 @@ ROM_START( dkong3 )
|
|||||||
|
|
||||||
ROM_REGION( 0x0020, "adrdecode", 0 )
|
ROM_REGION( 0x0020, "adrdecode", 0 )
|
||||||
/* address decode prom 18s030 - this has inverted outputs. The dump does not reflect this. */
|
/* address decode prom 18s030 - this has inverted outputs. The dump does not reflect this. */
|
||||||
ROM_LOAD( "dkc1-v.5e", 0x0000, 0x0020, CRC(d3e2eaf8) SHA1(87bb298137c26570dafb4ac495c87e82441e70e5) )
|
ROM_LOAD( "dkc1-v.5e", 0x0000, 0x0020, CRC(d3e2eaf8) SHA1(87bb298137c26570dafb4ac495c87e82441e70e5) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( dkong3j )
|
ROM_START( dkong3j )
|
||||||
@ -2324,7 +2324,7 @@ ROM_START( dkong3j )
|
|||||||
|
|
||||||
ROM_REGION( 0x0020, "adrdecode", 0 )
|
ROM_REGION( 0x0020, "adrdecode", 0 )
|
||||||
/* address decode prom 18s030 - this has inverted outputs. The dump does not reflect this. */
|
/* address decode prom 18s030 - this has inverted outputs. The dump does not reflect this. */
|
||||||
ROM_LOAD( "dkc1-v.5e", 0x0000, 0x0020, CRC(d3e2eaf8) SHA1(87bb298137c26570dafb4ac495c87e82441e70e5) )
|
ROM_LOAD( "dkc1-v.5e", 0x0000, 0x0020, CRC(d3e2eaf8) SHA1(87bb298137c26570dafb4ac495c87e82441e70e5) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( dkong3b )
|
ROM_START( dkong3b )
|
||||||
|
@ -1893,7 +1893,7 @@ static MACHINE_DRIVER_START( g2laser )
|
|||||||
MDRV_LASERDISC_AUDIO(laserdisc_audio_process)
|
MDRV_LASERDISC_AUDIO(laserdisc_audio_process)
|
||||||
MDRV_LASERDISC_OVERLAY(gottlieb, GOTTLIEB_VIDEO_HCOUNT, GOTTLIEB_VIDEO_VCOUNT, BITMAP_FORMAT_INDEXED16)
|
MDRV_LASERDISC_OVERLAY(gottlieb, GOTTLIEB_VIDEO_HCOUNT, GOTTLIEB_VIDEO_VCOUNT, BITMAP_FORMAT_INDEXED16)
|
||||||
MDRV_LASERDISC_OVERLAY_CLIP(0, GOTTLIEB_VIDEO_HBLANK-1, 0, GOTTLIEB_VIDEO_VBLANK-8)
|
MDRV_LASERDISC_OVERLAY_CLIP(0, GOTTLIEB_VIDEO_HBLANK-1, 0, GOTTLIEB_VIDEO_VBLANK-8)
|
||||||
|
|
||||||
MDRV_SCREEN_REMOVE("main")
|
MDRV_SCREEN_REMOVE("main")
|
||||||
MDRV_LASERDISC_SCREEN_ADD_NTSC("main", BITMAP_FORMAT_INDEXED16)
|
MDRV_LASERDISC_SCREEN_ADD_NTSC("main", BITMAP_FORMAT_INDEXED16)
|
||||||
|
|
||||||
|
@ -765,7 +765,7 @@ static WRITE32_HANDLER( int1_ack32_w )
|
|||||||
|
|
||||||
static WRITE32_HANDLER( timekeeper_0_32be_w )
|
static WRITE32_HANDLER( timekeeper_0_32be_w )
|
||||||
{
|
{
|
||||||
write32be_with_write8_handler( timekeeper_0_w, machine, offset, data, mem_mask );
|
write32be_with_write8_handler( timekeeper_0_w, machine, offset, data, mem_mask );
|
||||||
}
|
}
|
||||||
|
|
||||||
static READ32_HANDLER( timekeeper_0_32be_r )
|
static READ32_HANDLER( timekeeper_0_32be_r )
|
||||||
|
@ -99,16 +99,16 @@ Notes (couriersud)
|
|||||||
|
|
||||||
M10-Board: Has SN76477
|
M10-Board: Has SN76477
|
||||||
|
|
||||||
ipminva1
|
ipminva1
|
||||||
========
|
========
|
||||||
|
|
||||||
This is from an incomplete dump without documentation.
|
This is from an incomplete dump without documentation.
|
||||||
The filename contained m10 and with a hack to work
|
The filename contained m10 and with a hack to work
|
||||||
around the missing rom you get some action.
|
around the missing rom you get some action.
|
||||||
|
|
||||||
The files are all different from ipminvad. Either this has
|
The files are all different from ipminvad. Either this has
|
||||||
been a prototype or eventually the famous "capsule invader".
|
been a prototype or eventually the famous "capsule invader".
|
||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
#include "driver.h"
|
#include "driver.h"
|
||||||
#include "sound/samples.h"
|
#include "sound/samples.h"
|
||||||
@ -851,7 +851,7 @@ MACHINE_DRIVER_END
|
|||||||
*************************************/
|
*************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Hacks to work around missing roms to get at least some
|
* Hacks to work around missing roms to get at least some
|
||||||
* video output
|
* video output
|
||||||
*/
|
*/
|
||||||
static DRIVER_INIT( andromed )
|
static DRIVER_INIT( andromed )
|
||||||
@ -921,7 +921,7 @@ ROM_START( ipminva1 )
|
|||||||
ROM_LOAD( "b5f", 0x2000, 0x0400, CRC(192361c7) SHA1(b13e80429a9183ce78c4df52a32070416d4ec988) )
|
ROM_LOAD( "b5f", 0x2000, 0x0400, CRC(192361c7) SHA1(b13e80429a9183ce78c4df52a32070416d4ec988) )
|
||||||
ROM_LOAD( "b6f", 0x2400, 0x0400, NO_DUMP )
|
ROM_LOAD( "b6f", 0x2400, 0x0400, NO_DUMP )
|
||||||
ROM_LOAD( "b7f", 0x2800, 0x0400, CRC(0f5115ab) SHA1(3bdd3fc1cfe6bfacb5820ee12c15f2909d2f58d1) )
|
ROM_LOAD( "b7f", 0x2800, 0x0400, CRC(0f5115ab) SHA1(3bdd3fc1cfe6bfacb5820ee12c15f2909d2f58d1) )
|
||||||
|
|
||||||
ROM_REGION( 0x0800, "gfx1", ROMREGION_DISPOSE )
|
ROM_REGION( 0x0800, "gfx1", ROMREGION_DISPOSE )
|
||||||
ROM_LOAD( "b9", 0x0000, 0x0400, CRC(f6cfa53c) SHA1(ec1076982edee95efb24a1bb08e733bcccacb922) )
|
ROM_LOAD( "b9", 0x0000, 0x0400, CRC(f6cfa53c) SHA1(ec1076982edee95efb24a1bb08e733bcccacb922) )
|
||||||
ROM_LOAD( "b10", 0x0400, 0x0400, CRC(63672cd2) SHA1(3d9fa15509a363e1a32e58a2242b266b1162e9a6) )
|
ROM_LOAD( "b10", 0x0400, 0x0400, CRC(63672cd2) SHA1(3d9fa15509a363e1a32e58a2242b266b1162e9a6) )
|
||||||
|
@ -632,7 +632,7 @@ ROM_END
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
Hot Slot
|
Hot Slot
|
||||||
|
|
||||||
CPU:
|
CPU:
|
||||||
1x HD6473308CP10 (u24)(main)
|
1x HD6473308CP10 (u24)(main)
|
||||||
@ -703,7 +703,7 @@ ROM_END
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
Magic Colors
|
Magic Colors
|
||||||
|
|
||||||
CPU:
|
CPU:
|
||||||
1x HD6473308CP10 (u24)(main)
|
1x HD6473308CP10 (u24)(main)
|
||||||
@ -777,7 +777,7 @@ static DRIVER_INIT( suprpool )
|
|||||||
|
|
||||||
static DRIVER_INIT( hotslot )
|
static DRIVER_INIT( hotslot )
|
||||||
{
|
{
|
||||||
/* a value of -56 center the playfield, but displace the intro and initial screen.
|
/* a value of -56 center the playfield, but displace the intro and initial screen.
|
||||||
a value of -64 center the intro and initial screen, but displace the playfield.
|
a value of -64 center the intro and initial screen, but displace the playfield.
|
||||||
*/
|
*/
|
||||||
layer2_offset[0] = -56; // X offset.
|
layer2_offset[0] = -56; // X offset.
|
||||||
|
@ -145,9 +145,9 @@
|
|||||||
*
|
*
|
||||||
* Namco Super System 22 Hardware Overview (last updated 3rd July 2008 at 11:40pm)
|
* Namco Super System 22 Hardware Overview (last updated 3rd July 2008 at 11:40pm)
|
||||||
* ---------------------------------------
|
* ---------------------------------------
|
||||||
*
|
*
|
||||||
* Note! This document will be updated from time to time when more dumps are available.
|
* Note! This document will be updated from time to time when more dumps are available.
|
||||||
*
|
*
|
||||||
* This document covers all the known Namco Super System 22 games, including....
|
* This document covers all the known Namco Super System 22 games, including....
|
||||||
* Air Combat 22 (C) Namco, 1995
|
* Air Combat 22 (C) Namco, 1995
|
||||||
* Alpine Racer 1 (C) Namco, 1995
|
* Alpine Racer 1 (C) Namco, 1995
|
||||||
@ -160,15 +160,15 @@
|
|||||||
* Prop Cycle (C) Namco, 1996
|
* Prop Cycle (C) Namco, 1996
|
||||||
* Time Crisis (C) Namco, 1995
|
* Time Crisis (C) Namco, 1995
|
||||||
* !Tokyo Wars (C) Namco, 1996
|
* !Tokyo Wars (C) Namco, 1996
|
||||||
*
|
*
|
||||||
* ! - denotes secured but not dumped yet.
|
* ! - denotes secured but not dumped yet.
|
||||||
* * - denotes not dumped yet. If you can help with the remaining undumped SS22 games,
|
* * - denotes not dumped yet. If you can help with the remaining undumped SS22 games,
|
||||||
* please contact http://www.mameworld.net/gurudumps/
|
* please contact http://www.mameworld.net/gurudumps/
|
||||||
*
|
*
|
||||||
* The Namco Super System 22 System comprises 4 PCB's plugged into a motherboard. The motherboard contains only
|
* The Namco Super System 22 System comprises 4 PCB's plugged into a motherboard. The motherboard contains only
|
||||||
* some slots and connectors. The 4 PCB's are housed in a metal box with a large fan on the side. The fan mostly cools
|
* some slots and connectors. The 4 PCB's are housed in a metal box with a large fan on the side. The fan mostly cools
|
||||||
* the video board as these are known to run hot and commonly fail, especially now the system is 10 years+ old.
|
* the video board as these are known to run hot and commonly fail, especially now the system is 10 years+ old.
|
||||||
*
|
*
|
||||||
* CPU PCB - There are four known revisions of this PCB. Three of them have an extra connector for an
|
* CPU PCB - There are four known revisions of this PCB. Three of them have an extra connector for an
|
||||||
* auxillary PCB. One of the others doesn't have that connector but is are otherwise identical.
|
* auxillary PCB. One of the others doesn't have that connector but is are otherwise identical.
|
||||||
* All PCBs can be swapped to any game and it will work. However, ALL required IC's must be swapped.
|
* All PCBs can be swapped to any game and it will work. However, ALL required IC's must be swapped.
|
||||||
@ -189,7 +189,7 @@
|
|||||||
* The differences are very minor, just the amount of connectors on the PCB. The Mother PCB is swappable to
|
* The differences are very minor, just the amount of connectors on the PCB. The Mother PCB is swappable to
|
||||||
* any game as long as the required connectors for that game are present on the PCB. (all dumped games tested
|
* any game as long as the required connectors for that game are present on the PCB. (all dumped games tested
|
||||||
* and worked fine)
|
* and worked fine)
|
||||||
*
|
*
|
||||||
* Each game has a 2 or 3 digit letter code assigned to it. Then a number 1 or 2, Then a Rev. A/B/C/D which denotes the
|
* Each game has a 2 or 3 digit letter code assigned to it. Then a number 1 or 2, Then a Rev. A/B/C/D which denotes the
|
||||||
* software revision.
|
* software revision.
|
||||||
* The 1 denotes a Japanese version. 2 denotes a World version. So far there are no other numbers used other than 1 or 2.
|
* The 1 denotes a Japanese version. 2 denotes a World version. So far there are no other numbers used other than 1 or 2.
|
||||||
@ -197,18 +197,18 @@
|
|||||||
* There is one exception so far. The World version of Alpine Racer 2, which uses a World version DATA ROM, and also one
|
* There is one exception so far. The World version of Alpine Racer 2, which uses a World version DATA ROM, and also one
|
||||||
* of the WAVE ROMs is a World version, but one Japanese WAVE ROM is also used.
|
* of the WAVE ROMs is a World version, but one Japanese WAVE ROM is also used.
|
||||||
* See the CPU PCB, Program ROM Daughterboard and MROM PCB texts below for more details on ROM usage.
|
* See the CPU PCB, Program ROM Daughterboard and MROM PCB texts below for more details on ROM usage.
|
||||||
*
|
*
|
||||||
* CPU PCB
|
* CPU PCB
|
||||||
* -------
|
* -------
|
||||||
* 1st Revision
|
* 1st Revision
|
||||||
* SYSTEM SUPER22 CPU PCB 8646960102 (8646970102)
|
* SYSTEM SUPER22 CPU PCB 8646960102 (8646970102)
|
||||||
*
|
*
|
||||||
* 2nd Revision
|
* 2nd Revision
|
||||||
* SYSTEM SUPER22 CPU(B) PCB 8646962600 (8646972600)
|
* SYSTEM SUPER22 CPU(B) PCB 8646962600 (8646972600)
|
||||||
*
|
*
|
||||||
* 3rd Revision
|
* 3rd Revision
|
||||||
* SYSTEM SUPER22 CPU(B) PCB 8646962600 (8646972601) <-- very minor?
|
* SYSTEM SUPER22 CPU(B) PCB 8646962600 (8646972601) <-- very minor?
|
||||||
*
|
*
|
||||||
* 4th Revision
|
* 4th Revision
|
||||||
* SYSTEM SUPER22 CPU(B) PCB 8646962601 (8646972601) <-- very minor?
|
* SYSTEM SUPER22 CPU(B) PCB 8646962601 (8646972601) <-- very minor?
|
||||||
* |--------------------------------------------------------------|
|
* |--------------------------------------------------------------|
|
||||||
@ -242,7 +242,7 @@
|
|||||||
* | WAVEB.1L LC78815M LC78815M |
|
* | WAVEB.1L LC78815M LC78815M |
|
||||||
* |--------------------------------------------------------------|
|
* |--------------------------------------------------------------|
|
||||||
* (logic chips omitted from the PCB layout)
|
* (logic chips omitted from the PCB layout)
|
||||||
*
|
*
|
||||||
* Notes:
|
* Notes:
|
||||||
* J6 : Custom Namco connector for plug-in program ROM PCB
|
* J6 : Custom Namco connector for plug-in program ROM PCB
|
||||||
* J11 : Custom Namco connector for optional plug-in WAVE ROM PCB (holds some SOP44 MASKROMs)
|
* J11 : Custom Namco connector for optional plug-in WAVE ROM PCB (holds some SOP44 MASKROMs)
|
||||||
@ -290,7 +290,7 @@
|
|||||||
* Prop Cycle = C428
|
* Prop Cycle = C428
|
||||||
* Time Crisis = C419
|
* Time Crisis = C419
|
||||||
* Tokyo Wars = C424
|
* Tokyo Wars = C424
|
||||||
*
|
*
|
||||||
* *1 : Unpopulated position for PAL16V8 (PLCC20)
|
* *1 : Unpopulated position for PAL16V8 (PLCC20)
|
||||||
* *2 : Unpopulated position for Fujitsu MB86601 (QFP100)
|
* *2 : Unpopulated position for Fujitsu MB86601 (QFP100)
|
||||||
* *3 : Unpopulated position for 32MHz OSC
|
* *3 : Unpopulated position for 32MHz OSC
|
||||||
@ -308,7 +308,7 @@
|
|||||||
* Prop Cycle 'PR1 DATA'
|
* Prop Cycle 'PR1 DATA'
|
||||||
* Time Crisis 'TS1 DATA'
|
* Time Crisis 'TS1 DATA'
|
||||||
* Tokyo Wars 'TW1 DATA'
|
* Tokyo Wars 'TW1 DATA'
|
||||||
*
|
*
|
||||||
* WAVEA.2L \
|
* WAVEA.2L \
|
||||||
* WAVEB.1L / : 16M/32M WAVE MASKROMs. If 32MBit DIP42, they're programmed in BYTE mode (DIP42/SOP44)
|
* WAVEB.1L / : 16M/32M WAVE MASKROMs. If 32MBit DIP42, they're programmed in BYTE mode (DIP42/SOP44)
|
||||||
* Game Wave A Wave B Type
|
* Game Wave A Wave B Type
|
||||||
@ -324,8 +324,8 @@
|
|||||||
* Prop Cycle 'PR1 WAVE A', 'PR1 WAVE B' , both DIP42 32M MASKROM
|
* Prop Cycle 'PR1 WAVE A', 'PR1 WAVE B' , both DIP42 32M MASKROM
|
||||||
* Time Crisis 'TS1 WAVE A', 'TS1 WAVE B' , WAVE A DIP42 32M MASKROM, WAVE B DIP42 16M MASKROM
|
* Time Crisis 'TS1 WAVE A', 'TS1 WAVE B' , WAVE A DIP42 32M MASKROM, WAVE B DIP42 16M MASKROM
|
||||||
* Tokyo Wars 'TW1 WAVE A', , DIP42 32M MASKROM
|
* Tokyo Wars 'TW1 WAVE A', , DIP42 32M MASKROM
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* PROGRAM ROM Daughterboard PCB
|
* PROGRAM ROM Daughterboard PCB
|
||||||
* -----------------------------
|
* -----------------------------
|
||||||
* This PCB holds the main program ROMs. There is a small sticker on each PCB stating the game code and software revision.
|
* This PCB holds the main program ROMs. There is a small sticker on each PCB stating the game code and software revision.
|
||||||
@ -333,7 +333,7 @@
|
|||||||
* There are 4 known types of program daughterboards used on SS22 games (so far). The most common is the first type.
|
* There are 4 known types of program daughterboards used on SS22 games (so far). The most common is the first type.
|
||||||
* The PCB is very small (approx 2" x 3") containing one custom connector and some FlashROMs, and a PAL (in some cases).
|
* The PCB is very small (approx 2" x 3") containing one custom connector and some FlashROMs, and a PAL (in some cases).
|
||||||
* The ones that contain a PAL are approx 3" x 3".
|
* The ones that contain a PAL are approx 3" x 3".
|
||||||
*
|
*
|
||||||
* Type 1
|
* Type 1
|
||||||
* SYSTEM SUPER22 MPM(F) PCB 8646961600 (8646971600)
|
* SYSTEM SUPER22 MPM(F) PCB 8646961600 (8646971600)
|
||||||
* |-------------------------|
|
* |-------------------------|
|
||||||
@ -347,7 +347,7 @@
|
|||||||
* |-------------------------|
|
* |-------------------------|
|
||||||
* Notes:
|
* Notes:
|
||||||
* ROMx: Intel E28F008SA 8MBit FlashROM (x4, TSOP40)
|
* ROMx: Intel E28F008SA 8MBit FlashROM (x4, TSOP40)
|
||||||
*
|
*
|
||||||
* This PCB is used on:
|
* This PCB is used on:
|
||||||
* Game Software revision
|
* Game Software revision
|
||||||
* -------------------------------
|
* -------------------------------
|
||||||
@ -359,7 +359,7 @@
|
|||||||
* Prop Cycle 'PR2 Ver.A'
|
* Prop Cycle 'PR2 Ver.A'
|
||||||
* Time Crisis 'TS2 Ver.B'
|
* Time Crisis 'TS2 Ver.B'
|
||||||
* Tokyo Wars 'TW2 Ver.A'
|
* Tokyo Wars 'TW2 Ver.A'
|
||||||
*
|
*
|
||||||
* Type 2
|
* Type 2
|
||||||
* SYSTEM SUPER22 MPM(F16) PCB 8646962500 (8646972500)
|
* SYSTEM SUPER22 MPM(F16) PCB 8646962500 (8646972500)
|
||||||
* |-------------------------|
|
* |-------------------------|
|
||||||
@ -374,12 +374,12 @@
|
|||||||
* |-------------------------|
|
* |-------------------------|
|
||||||
* Notes:
|
* Notes:
|
||||||
* ROMx: Intel E28F016SA 16MBit FlashROMs (x2, TSOP56)
|
* ROMx: Intel E28F016SA 16MBit FlashROMs (x2, TSOP56)
|
||||||
*
|
*
|
||||||
* This PCB is used on:
|
* This PCB is used on:
|
||||||
* Game Software revision
|
* Game Software revision
|
||||||
* -------------------------------
|
* -------------------------------
|
||||||
* Time Crisis 'TS2 Ver.A'
|
* Time Crisis 'TS2 Ver.A'
|
||||||
*
|
*
|
||||||
* Type 3
|
* Type 3
|
||||||
* SYSTEM SUPER22 MPM(F16X4) PCB 8646962901 (8646972901)
|
* SYSTEM SUPER22 MPM(F16X4) PCB 8646962901 (8646972901)
|
||||||
* |-------------------------|
|
* |-------------------------|
|
||||||
@ -397,12 +397,12 @@
|
|||||||
* Notes:
|
* Notes:
|
||||||
* ICx* : Intel E28F016SA 16MBit FlashROMs (x4, TSOP56)
|
* ICx* : Intel E28F016SA 16MBit FlashROMs (x4, TSOP56)
|
||||||
* SS22P1B: PALCE16V8H (PLCC20, labelled 'SS22P1B')
|
* SS22P1B: PALCE16V8H (PLCC20, labelled 'SS22P1B')
|
||||||
*
|
*
|
||||||
* This PCB is used on:
|
* This PCB is used on:
|
||||||
* Game Software revision
|
* Game Software revision
|
||||||
* -------------------------------
|
* -------------------------------
|
||||||
* Alpine Racer 2 'ARS2 Ver.B'
|
* Alpine Racer 2 'ARS2 Ver.B'
|
||||||
*
|
*
|
||||||
* Type 4
|
* Type 4
|
||||||
* SYSTEM SUPER22 MPM(F16X4F) PCB 8646963500 (8646973500)
|
* SYSTEM SUPER22 MPM(F16X4F) PCB 8646963500 (8646973500)
|
||||||
* |-------------------------|
|
* |-------------------------|
|
||||||
@ -427,13 +427,13 @@
|
|||||||
* That pin traces to pin 6 (OUTPUT Y) of a 74F08 at 15F on the CPU board
|
* That pin traces to pin 6 (OUTPUT Y) of a 74F08 at 15F on the CPU board
|
||||||
* Pins 4 (INPUT A) & 5 (INPUT B) of the 74F08 at 15F trace to Namco custom
|
* Pins 4 (INPUT A) & 5 (INPUT B) of the 74F08 at 15F trace to Namco custom
|
||||||
* IC C383 pins 53 (A INPUT) & 52 (B INPUT)
|
* IC C383 pins 53 (A INPUT) & 52 (B INPUT)
|
||||||
*
|
*
|
||||||
* This PCB is used on:
|
* This PCB is used on:
|
||||||
* Game Software revision
|
* Game Software revision
|
||||||
* -------------------------------
|
* -------------------------------
|
||||||
* Alpine Surfer 'AF2 Ver.A'
|
* Alpine Surfer 'AF2 Ver.A'
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Auxillary PCB (connector JC410 on the CPU PCB is used only for Time Crisis)
|
* Auxillary PCB (connector JC410 on the CPU PCB is used only for Time Crisis)
|
||||||
* -------------
|
* -------------
|
||||||
* V159 GUN POINT PCB 244790102 (2447970102)
|
* V159 GUN POINT PCB 244790102 (2447970102)
|
||||||
@ -460,8 +460,8 @@
|
|||||||
* J1 : Connector joining Gun PCB to a connector on the metal box (which joins to the gun interface PCB in the
|
* J1 : Connector joining Gun PCB to a connector on the metal box (which joins to the gun interface PCB in the
|
||||||
* cab which supplies 24V for the soleniod in the guns)
|
* cab which supplies 24V for the soleniod in the guns)
|
||||||
* J2 : Connector joining to the CPU PCB (to JC410)
|
* J2 : Connector joining to the CPU PCB (to JC410)
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* DSP PCB
|
* DSP PCB
|
||||||
* -------
|
* -------
|
||||||
* SYSTEM SUPER22 DSP PCB 8646960302 (8646970302)
|
* SYSTEM SUPER22 DSP PCB 8646960302 (8646970302)
|
||||||
@ -496,7 +496,7 @@
|
|||||||
* | |-----| |---------| |
|
* | |-----| |---------| |
|
||||||
* |--------------------------------------------------------------|
|
* |--------------------------------------------------------------|
|
||||||
* (logic chips omitted from the PCB layout)
|
* (logic chips omitted from the PCB layout)
|
||||||
*
|
*
|
||||||
* Notes:
|
* Notes:
|
||||||
* JD3 : Custom Namco connector joining this PCB to the MROM PCB with a special flat cable known as a
|
* JD3 : Custom Namco connector joining this PCB to the MROM PCB with a special flat cable known as a
|
||||||
* 'DHD harness'
|
* 'DHD harness'
|
||||||
@ -518,8 +518,8 @@
|
|||||||
* SS22D4B : PALCE 16V8H (PLCC20, labelled 'SS22D4B')
|
* SS22D4B : PALCE 16V8H (PLCC20, labelled 'SS22D4B')
|
||||||
* SS22D5 : PALCE 16V8H (PLCC20, labelled 'SS22D5')
|
* SS22D5 : PALCE 16V8H (PLCC20, labelled 'SS22D5')
|
||||||
* LEDS : 8 red LEDs flash (in various pretty patterns) when the DSP PCB is active.
|
* LEDS : 8 red LEDs flash (in various pretty patterns) when the DSP PCB is active.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* ROM PCB (type 1)
|
* ROM PCB (type 1)
|
||||||
* -------
|
* -------
|
||||||
* SYSTEM SUPER22 MROM PCB 8646960400 (8646970400)
|
* SYSTEM SUPER22 MROM PCB 8646960400 (8646970400)
|
||||||
@ -554,11 +554,11 @@
|
|||||||
* | SCG6.1L SCG6.1F |
|
* | SCG6.1L SCG6.1F |
|
||||||
* |--------------------------------------------------------------|
|
* |--------------------------------------------------------------|
|
||||||
* (logic chips omitted from the PCB layout)
|
* (logic chips omitted from the PCB layout)
|
||||||
*
|
*
|
||||||
* Notes:
|
* Notes:
|
||||||
* Namco SS22 MROM PCBs have 2 identical sets of CG*, SCG* and CCR-L/CCR-H ROMs on the PCB.
|
* Namco SS22 MROM PCBs have 2 identical sets of CG*, SCG* and CCR-L/CCR-H ROMs on the PCB.
|
||||||
* The Japanese region code '1' is appended to all game codes on all MROMs.
|
* The Japanese region code '1' is appended to all game codes on all MROMs.
|
||||||
*
|
*
|
||||||
* JR3, JR4 : Custom Namco connector joining this PCB to the VIDEO & DSP PCBs with a special flat cable known
|
* JR3, JR4 : Custom Namco connector joining this PCB to the VIDEO & DSP PCBs with a special flat cable known
|
||||||
* as a 'DHD harness'
|
* as a 'DHD harness'
|
||||||
* SS22M1 : PALCE 16V8H (PLCC20, labelled 'SS22M1')
|
* SS22M1 : PALCE 16V8H (PLCC20, labelled 'SS22M1')
|
||||||
@ -570,7 +570,7 @@
|
|||||||
* JP7, JP8, JP9: Jumpers to configure SCG* ROMs. Hardwired to '16M' on the PCB. Alt. setting '32M'
|
* JP7, JP8, JP9: Jumpers to configure SCG* ROMs. Hardwired to '16M' on the PCB. Alt. setting '32M'
|
||||||
* JP10, JP11, JP12: Jumpers to configure SCG* ROMs. Hardwired to '16M' on the PCB. Alt. setting '32M'
|
* JP10, JP11, JP12: Jumpers to configure SCG* ROMs. Hardwired to '16M' on the PCB. Alt. setting '32M'
|
||||||
* JP13 : Jumper to configure PTR* ROMs. Hardwired to '4M' on the PCB. Alt. setting '8M'
|
* JP13 : Jumper to configure PTR* ROMs. Hardwired to '4M' on the PCB. Alt. setting '8M'
|
||||||
*
|
*
|
||||||
* Game ROMs populated
|
* Game ROMs populated
|
||||||
* ---------------------------------------------------------
|
* ---------------------------------------------------------
|
||||||
* Air Combat 22 ACS1CCRH.5B, ACS1CCRH.1D 4M SOP32
|
* Air Combat 22 ACS1CCRH.5B, ACS1CCRH.1D 4M SOP32
|
||||||
@ -597,7 +597,7 @@
|
|||||||
* ACS1PTRL1.16K "
|
* ACS1PTRL1.16K "
|
||||||
* ACS1PTRL2.15K "
|
* ACS1PTRL2.15K "
|
||||||
* ACS1PTRL3.14K "
|
* ACS1PTRL3.14K "
|
||||||
*
|
*
|
||||||
* Alpine Racer 1 AR1CCRH.5B, AR1CCRH.1D 4M SOP32
|
* Alpine Racer 1 AR1CCRH.5B, AR1CCRH.1D 4M SOP32
|
||||||
* AR1CCRL.7B, AR1CCRL.3D 16M SOP44
|
* AR1CCRL.7B, AR1CCRL.3D 16M SOP44
|
||||||
* AR1CG0.12B, AR1CG0.8D "
|
* AR1CG0.12B, AR1CG0.8D "
|
||||||
@ -622,7 +622,7 @@
|
|||||||
* AR1PTRL1.16K "
|
* AR1PTRL1.16K "
|
||||||
* AR1PTRL2.15K "
|
* AR1PTRL2.15K "
|
||||||
* AR1PTRL3.14K "
|
* AR1PTRL3.14K "
|
||||||
*
|
*
|
||||||
* Alpine Racer 2 ARS1CCRH.5B, ARS1CCRH.1D 4M SOP32
|
* Alpine Racer 2 ARS1CCRH.5B, ARS1CCRH.1D 4M SOP32
|
||||||
* ARS1CCRL.7B, ARS1CCRL.3D 16M SOP44
|
* ARS1CCRL.7B, ARS1CCRL.3D 16M SOP44
|
||||||
* ARS1CG0.12B, ARS1CG0.8D "
|
* ARS1CG0.12B, ARS1CG0.8D "
|
||||||
@ -644,7 +644,7 @@
|
|||||||
* ARS1PTRL1.16K "
|
* ARS1PTRL1.16K "
|
||||||
* ARS1PTRL2.15K "
|
* ARS1PTRL2.15K "
|
||||||
* ARS1PTRL3.14K "
|
* ARS1PTRL3.14K "
|
||||||
*
|
*
|
||||||
* Alpine Surfer AF1CCRH.5B, AF1CCRH.1D 4M SOP32
|
* Alpine Surfer AF1CCRH.5B, AF1CCRH.1D 4M SOP32
|
||||||
* AF1CCRL.7B, AF1CCRL.3D 16M SOP44
|
* AF1CCRL.7B, AF1CCRL.3D 16M SOP44
|
||||||
* AF1CG0.12B, AF1CG0.8D "
|
* AF1CG0.12B, AF1CG0.8D "
|
||||||
@ -659,7 +659,7 @@
|
|||||||
* AF1PTRM1.16J "
|
* AF1PTRM1.16J "
|
||||||
* AF1PTRL0.18K "
|
* AF1PTRL0.18K "
|
||||||
* AF1PTRL1.16K "
|
* AF1PTRL1.16K "
|
||||||
*
|
*
|
||||||
* Aqua Jet AJ1CCRH.5B, AJ1CCRH.1D 4M SOP32
|
* Aqua Jet AJ1CCRH.5B, AJ1CCRH.1D 4M SOP32
|
||||||
* AJ1CCRL.7B, AJ1CCRL.3D 16M SOP44
|
* AJ1CCRL.7B, AJ1CCRL.3D 16M SOP44
|
||||||
* AJ1CG0.12B, AJ1CG0.8D "
|
* AJ1CG0.12B, AJ1CG0.8D "
|
||||||
@ -685,7 +685,7 @@
|
|||||||
* AJ1PTRL1.16K "
|
* AJ1PTRL1.16K "
|
||||||
* AJ1PTRL2.15K "
|
* AJ1PTRL2.15K "
|
||||||
* AJ1PTRL3.14K "
|
* AJ1PTRL3.14K "
|
||||||
*
|
*
|
||||||
* Cyber Cycles CB1CCRH.5B, CB1CCRH.1D 4M SOP32
|
* Cyber Cycles CB1CCRH.5B, CB1CCRH.1D 4M SOP32
|
||||||
* CB1CCRL.7B, CB1CCRL.3D 16M SOP44
|
* CB1CCRL.7B, CB1CCRL.3D 16M SOP44
|
||||||
* CB1CG0.12B, CB1CG0.8D "
|
* CB1CG0.12B, CB1CG0.8D "
|
||||||
@ -709,9 +709,9 @@
|
|||||||
* CB1PTRL1.16K "
|
* CB1PTRL1.16K "
|
||||||
* CB1PTRL2.15K "
|
* CB1PTRL2.15K "
|
||||||
* CB1PTRL3.14K "
|
* CB1PTRL3.14K "
|
||||||
*
|
*
|
||||||
* Dirt Dash N/A
|
* Dirt Dash N/A
|
||||||
*
|
*
|
||||||
* Prop Cycle PR1CCRH.5B, PR1CCRH.1D 4M SOP32
|
* Prop Cycle PR1CCRH.5B, PR1CCRH.1D 4M SOP32
|
||||||
* PR1CCRL.7B, PR1CCRL.3D 16M SOP44
|
* PR1CCRL.7B, PR1CCRL.3D 16M SOP44
|
||||||
* PR1CG0.12B, PR1CG0.8D "
|
* PR1CG0.12B, PR1CG0.8D "
|
||||||
@ -733,7 +733,7 @@
|
|||||||
* PR1PTRL0.18K "
|
* PR1PTRL0.18K "
|
||||||
* PR1PTRL1.16K "
|
* PR1PTRL1.16K "
|
||||||
* PR1PTRL2.15K "
|
* PR1PTRL2.15K "
|
||||||
*
|
*
|
||||||
* Time Crisis TS1CCRH.5B, TS1CCRH.1D 4M SOP32
|
* Time Crisis TS1CCRH.5B, TS1CCRH.1D 4M SOP32
|
||||||
* TS1CCRL.7B, TS1CCRL.3D 16M SOP44
|
* TS1CCRL.7B, TS1CCRL.3D 16M SOP44
|
||||||
* TS1CG0.12B, TS1CG0.8D "
|
* TS1CG0.12B, TS1CG0.8D "
|
||||||
@ -759,7 +759,7 @@
|
|||||||
* TS1PTRL0.18K "
|
* TS1PTRL0.18K "
|
||||||
* TS1PTRL1.16K "
|
* TS1PTRL1.16K "
|
||||||
* TS1PTRL2.15K "
|
* TS1PTRL2.15K "
|
||||||
*
|
*
|
||||||
* Tokyo Wars TW1CCRH.5B, TW1CCRH.1D 4M SOP32
|
* Tokyo Wars TW1CCRH.5B, TW1CCRH.1D 4M SOP32
|
||||||
* TW1CCRL.7B, TW1CCRL.3D 16M SOP44
|
* TW1CCRL.7B, TW1CCRL.3D 16M SOP44
|
||||||
* TW1CG0.12B, TW1CG0.8D "
|
* TW1CG0.12B, TW1CG0.8D "
|
||||||
@ -786,8 +786,8 @@
|
|||||||
* TW1PTRL1.16K "
|
* TW1PTRL1.16K "
|
||||||
* TW1PTRL2.15K "
|
* TW1PTRL2.15K "
|
||||||
* TW1PTRL3.14K "
|
* TW1PTRL3.14K "
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* ROM PCB (type 2)
|
* ROM PCB (type 2)
|
||||||
* -------
|
* -------
|
||||||
* SS22DS FLASH PCB 8650961300 (8650971300)
|
* SS22DS FLASH PCB 8650961300 (8650971300)
|
||||||
@ -822,10 +822,10 @@
|
|||||||
* | SS22DSF2 F1L F1M F1J F1E |
|
* | SS22DSF2 F1L F1M F1J F1E |
|
||||||
* |--------------------------------------------------------------|
|
* |--------------------------------------------------------------|
|
||||||
* (logic chips omitted from the PCB layout)
|
* (logic chips omitted from the PCB layout)
|
||||||
*
|
*
|
||||||
* Notes:
|
* Notes:
|
||||||
* Namco SS22 FLASH PCBs have 2 identical sets of CG*, SCG* and CCR-L/CCR-H ROMs on the PCB.
|
* Namco SS22 FLASH PCBs have 2 identical sets of CG*, SCG* and CCR-L/CCR-H ROMs on the PCB.
|
||||||
*
|
*
|
||||||
* JR3, JR4 : Custom Namco connector joining this PCB to the VIDEO & DSP PCBs with a special flat cable known
|
* JR3, JR4 : Custom Namco connector joining this PCB to the VIDEO & DSP PCBs with a special flat cable known
|
||||||
* as a 'DHD harness'
|
* as a 'DHD harness'
|
||||||
* EPMXXXX : Altera EPM??? (PLCC84, unknown chip model, possibly EPM7064, sticker on top of it blocking ID markings)
|
* EPMXXXX : Altera EPM??? (PLCC84, unknown chip model, possibly EPM7064, sticker on top of it blocking ID markings)
|
||||||
@ -834,30 +834,30 @@
|
|||||||
* SS22DSF3 : EPM7032 (x2, PLCC44, labelled 'SS22DSF3')
|
* SS22DSF3 : EPM7032 (x2, PLCC44, labelled 'SS22DSF3')
|
||||||
* SS22DSF2 : EPM7032 (x2, PLCC44, labelled 'SS22DSF2')
|
* SS22DSF2 : EPM7032 (x2, PLCC44, labelled 'SS22DSF2')
|
||||||
* HM628128 : Hitachi HM628128 128k x8 SRAM (TSOP32)
|
* HM628128 : Hitachi HM628128 128k x8 SRAM (TSOP32)
|
||||||
*
|
*
|
||||||
* Game ROMs populated (All Intel E28F016SA TSOP56 16M FlashROMs)
|
* Game ROMs populated (All Intel E28F016SA TSOP56 16M FlashROMs)
|
||||||
* -----------------------------------------------------------------
|
* -----------------------------------------------------------------
|
||||||
* Armidillo Racing F1E, F1J, F2E, F2J - CCRL/CCRH ROMs
|
* Armidillo Racing F1E, F1J, F2E, F2J - CCRL/CCRH ROMs
|
||||||
*
|
*
|
||||||
* F4E, F4J, F5E, F5J, F6E, F6J, \
|
* F4E, F4J, F5E, F5J, F6E, F6J, \
|
||||||
* F7E, F7J, F8E, F8J, F9E, F9J, \ CGx ROMs
|
* F7E, F7J, F8E, F8J, F9E, F9J, \ CGx ROMs
|
||||||
* F11E, F11J, F12E, F12J /
|
* F11E, F11J, F12E, F12J /
|
||||||
*
|
*
|
||||||
* F1L, F1M, F3L, F3M, F5L, F5M, \
|
* F1L, F1M, F3L, F3M, F5L, F5M, \
|
||||||
* F7L, F7M / SCGx ROMs
|
* F7L, F7M / SCGx ROMs
|
||||||
*
|
*
|
||||||
* F9L, F11L, F12L, F13L, \
|
* F9L, F11L, F12L, F13L, \
|
||||||
* F12M, F13M / PTR ROMs
|
* F12M, F13M / PTR ROMs
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* VIDEO PCB
|
* VIDEO PCB
|
||||||
* ---------
|
* ---------
|
||||||
* 1st Revision
|
* 1st Revision
|
||||||
* SYSTEM SUPER22 VIDEO 8646960204 (8646970204)
|
* SYSTEM SUPER22 VIDEO 8646960204 (8646970204)
|
||||||
*
|
*
|
||||||
* 2nd Revision
|
* 2nd Revision
|
||||||
* SYSTEM SUPER22 VIDEO(B) 8646961200 (8646971200)
|
* SYSTEM SUPER22 VIDEO(B) 8646961200 (8646971200)
|
||||||
*
|
*
|
||||||
* 3rd Revision (PCB layout shown below)
|
* 3rd Revision (PCB layout shown below)
|
||||||
* SYSTEM SUPER22 VIDEO(C) 8646962700 (8646972700)
|
* SYSTEM SUPER22 VIDEO(C) 8646962700 (8646972700)
|
||||||
* |--------------------------------------------------------------|
|
* |--------------------------------------------------------------|
|
||||||
@ -891,7 +891,7 @@
|
|||||||
* | |---------| |---------| N341256 CXD1178Q |
|
* | |---------| |---------| N341256 CXD1178Q |
|
||||||
* |--------------------------------------------------------------|
|
* |--------------------------------------------------------------|
|
||||||
* (logic chips omitted from the PCB layout)
|
* (logic chips omitted from the PCB layout)
|
||||||
*
|
*
|
||||||
* Notes:
|
* Notes:
|
||||||
* JV3 : Custom Namco connector joining this PCB to the MROM PCB with a special flat cable known
|
* JV3 : Custom Namco connector joining this PCB to the MROM PCB with a special flat cable known
|
||||||
* as a 'DHD harness'
|
* as a 'DHD harness'
|
||||||
@ -920,16 +920,16 @@
|
|||||||
* video faults on Namco Super System 22 PCBs.
|
* video faults on Namco Super System 22 PCBs.
|
||||||
* (Second reason for video faults is generally attributed
|
* (Second reason for video faults is generally attributed
|
||||||
* to failure of RAM on this PCB and/or the DSP PCB)
|
* to failure of RAM on this PCB and/or the DSP PCB)
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Motherboard PCB
|
* Motherboard PCB
|
||||||
* ---------------
|
* ---------------
|
||||||
* 1st Revision
|
* 1st Revision
|
||||||
* SYSTEM SUPER22 MOTHER PCB 8646960602 (8646970602)
|
* SYSTEM SUPER22 MOTHER PCB 8646960602 (8646970602)
|
||||||
*
|
*
|
||||||
* 2nd Revision
|
* 2nd Revision
|
||||||
* SYSTEM SUPER22 MOTHER(B) PCB (number not known)
|
* SYSTEM SUPER22 MOTHER(B) PCB (number not known)
|
||||||
*
|
*
|
||||||
* 3rd Revision
|
* 3rd Revision
|
||||||
* SYSTEM SUPER22 MOTHER(C) PCB 8646960602 (8646970602)
|
* SYSTEM SUPER22 MOTHER(C) PCB 8646960602 (8646970602)
|
||||||
* |------------------------------------------------------------------|
|
* |------------------------------------------------------------------|
|
||||||
@ -952,12 +952,12 @@
|
|||||||
* Notes:
|
* Notes:
|
||||||
* IC1 : LB1233 (DIP8)
|
* IC1 : LB1233 (DIP8)
|
||||||
* IC2, IC3: LB1235 (DIP8)
|
* IC2, IC3: LB1235 (DIP8)
|
||||||
*
|
*
|
||||||
* JC1, JC2: Connectors to plug in CPU PCB
|
* JC1, JC2: Connectors to plug in CPU PCB
|
||||||
* JD1, JD2: Connectors to plug in DSP PCB
|
* JD1, JD2: Connectors to plug in DSP PCB
|
||||||
* JR1 : Connector to plug in MROM PCB
|
* JR1 : Connector to plug in MROM PCB
|
||||||
* JV1, JV2: Connectors to plug in VIDEO PCB
|
* JV1, JV2: Connectors to plug in VIDEO PCB
|
||||||
*
|
*
|
||||||
* J1 : 9 pin power input socket Pin Use
|
* J1 : 9 pin power input socket Pin Use
|
||||||
* -----------
|
* -----------
|
||||||
* 1 +5V
|
* 1 +5V
|
||||||
@ -969,7 +969,7 @@
|
|||||||
* 7 Ground
|
* 7 Ground
|
||||||
* 8 NC
|
* 8 NC
|
||||||
* 9 +12V
|
* 9 +12V
|
||||||
*
|
*
|
||||||
* J2 : 9 pin link connector Pin Use
|
* J2 : 9 pin link connector Pin Use
|
||||||
* --------------
|
* --------------
|
||||||
* 1 Ring In+
|
* 1 Ring In+
|
||||||
@ -981,7 +981,7 @@
|
|||||||
* 7 /TXD (NC)
|
* 7 /TXD (NC)
|
||||||
* 8 GND (NC)
|
* 8 GND (NC)
|
||||||
* 9 +5V (NC)
|
* 9 +5V (NC)
|
||||||
*
|
*
|
||||||
* J3 : 9 pin socket Pin Use
|
* J3 : 9 pin socket Pin Use
|
||||||
* -------------------
|
* -------------------
|
||||||
* 1 Service Credit
|
* 1 Service Credit
|
||||||
@ -993,7 +993,7 @@
|
|||||||
* 7 Ground
|
* 7 Ground
|
||||||
* 8 Coin Sw
|
* 8 Coin Sw
|
||||||
* 9 NC
|
* 9 NC
|
||||||
*
|
*
|
||||||
* J4 : 8 pin connector Pin Use
|
* J4 : 8 pin connector Pin Use
|
||||||
* -------------------------------------
|
* -------------------------------------
|
||||||
* 1 Start
|
* 1 Start
|
||||||
@ -1004,7 +1004,7 @@
|
|||||||
* 6 NC
|
* 6 NC
|
||||||
* 7 Ground
|
* 7 Ground
|
||||||
* 8 Ground
|
* 8 Ground
|
||||||
*
|
*
|
||||||
* J5 : 15 pin socket Pin Use
|
* J5 : 15 pin socket Pin Use
|
||||||
* ---------------
|
* ---------------
|
||||||
* 1 Relay1
|
* 1 Relay1
|
||||||
@ -1022,7 +1022,7 @@
|
|||||||
* 13 +12V
|
* 13 +12V
|
||||||
* 14 +5V
|
* 14 +5V
|
||||||
* 15 NC
|
* 15 NC
|
||||||
*
|
*
|
||||||
* J6 : 12 pin audio output connector Pin Use
|
* J6 : 12 pin audio output connector Pin Use
|
||||||
* ----------
|
* ----------
|
||||||
* 1 SPKL+
|
* 1 SPKL+
|
||||||
@ -1037,7 +1037,7 @@
|
|||||||
* 10 NC
|
* 10 NC
|
||||||
* 11 NC
|
* 11 NC
|
||||||
* 12 NC
|
* 12 NC
|
||||||
*
|
*
|
||||||
* J7 : 12 pin analog controls socket Pin Use
|
* J7 : 12 pin analog controls socket Pin Use
|
||||||
* ---------------------------
|
* ---------------------------
|
||||||
* 1 +5V
|
* 1 +5V
|
||||||
@ -1052,9 +1052,9 @@
|
|||||||
* 10 NC
|
* 10 NC
|
||||||
* 11 NC
|
* 11 NC
|
||||||
* 12 NC
|
* 12 NC
|
||||||
*
|
*
|
||||||
* J8 : 10 pin connector (not used?)
|
* J8 : 10 pin connector (not used?)
|
||||||
*
|
*
|
||||||
* J9 : 6 pin video output socket Pin Use
|
* J9 : 6 pin video output socket Pin Use
|
||||||
* ---------
|
* ---------
|
||||||
* 1 Red
|
* 1 Red
|
||||||
@ -1063,10 +1063,10 @@
|
|||||||
* 4 Composite Sync (VSync 15kHz interlaced)
|
* 4 Composite Sync (VSync 15kHz interlaced)
|
||||||
* 5 Ground
|
* 5 Ground
|
||||||
* 6 NC
|
* 6 NC
|
||||||
*
|
*
|
||||||
* J10: 16 pin flat cable connector (only populated on Mother(C) PCB, use not known)
|
* J10: 16 pin flat cable connector (only populated on Mother(C) PCB, use not known)
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* AMP PCB
|
* AMP PCB
|
||||||
* -------
|
* -------
|
||||||
* SYSTEM SUPER22 AMP(4) PCB 8647960100 (8647970100) (sticker 'AMP(2) PCB 8647961100')
|
* SYSTEM SUPER22 AMP(4) PCB 8647960100 (8647970100) (sticker 'AMP(2) PCB 8647961100')
|
||||||
@ -1081,14 +1081,14 @@
|
|||||||
* 1 +12V
|
* 1 +12V
|
||||||
* 2 Ground
|
* 2 Ground
|
||||||
* 3 NC
|
* 3 NC
|
||||||
*
|
*
|
||||||
* J2 : 4 pin dual speaker output socket Pin Use
|
* J2 : 4 pin dual speaker output socket Pin Use
|
||||||
* ---------
|
* ---------
|
||||||
* 1 SP1+
|
* 1 SP1+
|
||||||
* 2 SP1-
|
* 2 SP1-
|
||||||
* 3 SP2+
|
* 3 SP2+
|
||||||
* 4 SP2-
|
* 4 SP2-
|
||||||
*
|
*
|
||||||
* J3 : 8 pin sound data input connector from Mother PCB J6 Pin Use
|
* J3 : 8 pin sound data input connector from Mother PCB J6 Pin Use
|
||||||
* ----------
|
* ----------
|
||||||
* 1 SPKL+
|
* 1 SPKL+
|
||||||
@ -1099,7 +1099,7 @@
|
|||||||
* 6 NC
|
* 6 NC
|
||||||
* 7 NC
|
* 7 NC
|
||||||
* 8 NC
|
* 8 NC
|
||||||
*
|
*
|
||||||
* *1 : Unpopulated position for a 2nd LA4705 Power Amp
|
* *1 : Unpopulated position for a 2nd LA4705 Power Amp
|
||||||
* *2 : J4 - Unpopulated position for another 4 pin dual speaker output socket
|
* *2 : J4 - Unpopulated position for another 4 pin dual speaker output socket
|
||||||
* J5 : 2 pin connector used for sound mute Pin Use
|
* J5 : 2 pin connector used for sound mute Pin Use
|
||||||
|
@ -1548,7 +1548,7 @@ static INPUT_PORTS_START( mustang )
|
|||||||
PORT_DIPSETTING( 0xc000, "3" )
|
PORT_DIPSETTING( 0xc000, "3" )
|
||||||
PORT_DIPSETTING( 0x8000, "4" )
|
PORT_DIPSETTING( 0x8000, "4" )
|
||||||
PORT_DIPSETTING( 0x0000, "5" )
|
PORT_DIPSETTING( 0x0000, "5" )
|
||||||
|
|
||||||
PORT_START("COIN") /* referenced by seibu sound board */
|
PORT_START("COIN") /* referenced by seibu sound board */
|
||||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
@ -2022,7 +2022,7 @@ static INPUT_PORTS_START( tdragonb )
|
|||||||
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) ) /* The manual states this dip is "Unused" */
|
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) ) /* The manual states this dip is "Unused" */
|
||||||
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||||
|
|
||||||
PORT_START("COIN") /* referenced by seibu sound board */
|
PORT_START("COIN") /* referenced by seibu sound board */
|
||||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
@ -67,24 +67,24 @@
|
|||||||
|
|
||||||
********************************************************************
|
********************************************************************
|
||||||
IREM 'WW III' 1981
|
IREM 'WW III' 1981
|
||||||
|
|
||||||
From readme (Stefan Lindberg)
|
From readme (Stefan Lindberg)
|
||||||
|
|
||||||
The PCB is not working so I don't know if the roms are fine, the sound rom
|
The PCB is not working so I don't know if the roms are fine, the sound rom
|
||||||
was for sure bad it gave different checksums but most of the reads matched
|
was for sure bad it gave different checksums but most of the reads matched
|
||||||
the MAME soundrom (red alert) it is marked exactly the same "w3s1"(IC5).
|
the MAME soundrom (red alert) it is marked exactly the same "w3s1"(IC5).
|
||||||
The Bprom matched the Red Alert set also... marked "W3" i think?
|
The Bprom matched the Red Alert set also... marked "W3" i think?
|
||||||
it's hard to see because the sticker has been damaged.
|
it's hard to see because the sticker has been damaged.
|
||||||
The other eproms exept one did not match anything in MAME,
|
The other eproms exept one did not match anything in MAME,
|
||||||
and only one of those had the eprom type markings on it... I read all
|
and only one of those had the eprom type markings on it... I read all
|
||||||
like that type.
|
like that type.
|
||||||
|
|
||||||
Board set consists of:
|
Board set consists of:
|
||||||
M-27MB (Main board)
|
M-27MB (Main board)
|
||||||
M-27SC
|
M-27SC
|
||||||
M-37B (Sound board)
|
M-37B (Sound board)
|
||||||
M-33 SUB-1
|
M-33 SUB-1
|
||||||
|
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include "driver.h"
|
#include "driver.h"
|
||||||
@ -363,7 +363,7 @@ ROM_START( ww3 )
|
|||||||
ROM_LOAD( "w3i9.3e", 0x9000, 0x1000, CRC(8c5884a4) )
|
ROM_LOAD( "w3i9.3e", 0x9000, 0x1000, CRC(8c5884a4) )
|
||||||
ROM_LOAD( "w3ia.3c", 0xa000, 0x1000, CRC(dccb8605) )
|
ROM_LOAD( "w3ia.3c", 0xa000, 0x1000, CRC(dccb8605) )
|
||||||
ROM_LOAD( "w3ib.3a", 0xb000, 0x1000, CRC(3658e465) )
|
ROM_LOAD( "w3ib.3a", 0xb000, 0x1000, CRC(3658e465) )
|
||||||
|
|
||||||
ROM_REGION( 0x10000, "audio", 0 )
|
ROM_REGION( 0x10000, "audio", 0 )
|
||||||
ROM_LOAD( "w3s1", 0x7000, 0x0800, CRC(4af956a5) SHA1(25368a40d7ebc60316fd2d78ec4c686e701b96dc) )
|
ROM_LOAD( "w3s1", 0x7000, 0x0800, CRC(4af956a5) SHA1(25368a40d7ebc60316fd2d78ec4c686e701b96dc) )
|
||||||
|
|
||||||
|
@ -1888,8 +1888,8 @@ ROM_START( wintbob )
|
|||||||
in all cases bit 0x20 is incorrectly set in the bad rom
|
in all cases bit 0x20 is incorrectly set in the bad rom
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// ROM_LOAD16_BYTE( "wb03.bin", 0x00000, 0x10000, CRC(df56e168) SHA1(20dbabdd97e6f3d4bf6500bf9e8476942cb48ae3) )
|
// ROM_LOAD16_BYTE( "wb03.bin", 0x00000, 0x10000, CRC(df56e168) SHA1(20dbabdd97e6f3d4bf6500bf9e8476942cb48ae3) )
|
||||||
// ROM_LOAD16_BYTE( "wb01.bin", 0x00001, 0x10000, CRC(05722f17) SHA1(9356e2488ea35e0a2978689f2ca6dfa0d57fd2ed) )
|
// ROM_LOAD16_BYTE( "wb01.bin", 0x00001, 0x10000, CRC(05722f17) SHA1(9356e2488ea35e0a2978689f2ca6dfa0d57fd2ed) )
|
||||||
|
|
||||||
ROM_LOAD16_BYTE( "wb04.bin", 0x20000, 0x10000, CRC(53be758d) SHA1(56cf85ba23fe699031d73e8f367a1b8ac837d5f8) )
|
ROM_LOAD16_BYTE( "wb04.bin", 0x20000, 0x10000, CRC(53be758d) SHA1(56cf85ba23fe699031d73e8f367a1b8ac837d5f8) )
|
||||||
ROM_LOAD16_BYTE( "wb02.bin", 0x20001, 0x10000, CRC(fc8e292e) SHA1(857cfeb0be121e64e6117120514ae1f2ffeae4d6) )
|
ROM_LOAD16_BYTE( "wb02.bin", 0x20001, 0x10000, CRC(fc8e292e) SHA1(857cfeb0be121e64e6117120514ae1f2ffeae4d6) )
|
||||||
|
@ -6713,6 +6713,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11
|
|||||||
DRIVER( explbrkr ) /* (c) 1992 Kaneko */
|
DRIVER( explbrkr ) /* (c) 1992 Kaneko */
|
||||||
DRIVER( bakubrkr ) /* (c) 1992 Kaneko */
|
DRIVER( bakubrkr ) /* (c) 1992 Kaneko */
|
||||||
DRIVER( shogwarr ) /* (c) 1992 Kaneko */
|
DRIVER( shogwarr ) /* (c) 1992 Kaneko */
|
||||||
|
DRIVER( shogware ) /* (c) 1992 Kaneko */
|
||||||
DRIVER( fjbuster ) /* (c) 1992 Kaneko */
|
DRIVER( fjbuster ) /* (c) 1992 Kaneko */
|
||||||
DRIVER( brapboys ) /* (c) 1992 Kaneko */
|
DRIVER( brapboys ) /* (c) 1992 Kaneko */
|
||||||
DRIVER( brapboyj ) /* (c) 1992 Kaneko */
|
DRIVER( brapboyj ) /* (c) 1992 Kaneko */
|
||||||
|
@ -174,7 +174,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
|
|||||||
{
|
{
|
||||||
rectangle clip = *cliprect;
|
rectangle clip = *cliprect;
|
||||||
int offs;
|
int offs;
|
||||||
|
|
||||||
/* this is a temporary guess until the sprite hardware is better understood */
|
/* this is a temporary guess until the sprite hardware is better understood */
|
||||||
/* there is some additional clipping, but this may not be it */
|
/* there is some additional clipping, but this may not be it */
|
||||||
clip.min_x = 8;
|
clip.min_x = 8;
|
||||||
|
@ -782,9 +782,9 @@ static void ptn(int opcode,int src_x,int src_y,INT16 _ax,INT16 _ay)
|
|||||||
|
|
||||||
void line(INT16 sx, INT16 sy, INT16 ex, INT16 ey, INT16 col)
|
void line(INT16 sx, INT16 sy, INT16 ex, INT16 ey, INT16 col)
|
||||||
{
|
{
|
||||||
|
|
||||||
INT16 ax,ay;
|
INT16 ax,ay;
|
||||||
|
|
||||||
int cpx_t=sx;
|
int cpx_t=sx;
|
||||||
int cpy_t=sy;
|
int cpy_t=sy;
|
||||||
|
|
||||||
@ -828,8 +828,8 @@ void line(INT16 sx, INT16 sy, INT16 ex, INT16 ey, INT16 col)
|
|||||||
}
|
}
|
||||||
cpx_t = sx + ax * (cpy_t - sy) / (ey - sy);
|
cpx_t = sx + ax * (cpy_t - sy) / (ey - sy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void HD63484_command_w(UINT16 cmd)
|
static void HD63484_command_w(UINT16 cmd)
|
||||||
@ -1014,17 +1014,17 @@ logerror("unsupported register\n");
|
|||||||
cpx = (INT16)fifo[1];
|
cpx = (INT16)fifo[1];
|
||||||
cpy = (INT16)fifo[2];
|
cpy = (INT16)fifo[2];
|
||||||
}
|
}
|
||||||
else if ((fifo[0] & 0xfff8) == 0x9400) /* RRCT added*/
|
else if ((fifo[0] & 0xfff8) == 0x9400) /* RRCT added*/
|
||||||
{
|
{
|
||||||
line(cpx,cpy,cpx+(INT16)fifo[1],cpy,fifo[0]&7);
|
line(cpx,cpy,cpx+(INT16)fifo[1],cpy,fifo[0]&7);
|
||||||
line(cpx+(INT16)fifo[1],cpy,cpx+(INT16)fifo[1],cpy+(INT16)fifo[2],fifo[0]&7);
|
line(cpx+(INT16)fifo[1],cpy,cpx+(INT16)fifo[1],cpy+(INT16)fifo[2],fifo[0]&7);
|
||||||
line(cpx+(INT16)fifo[1],cpy+(INT16)fifo[2],cpx,cpy+(INT16)fifo[2],fifo[0]&7);
|
line(cpx+(INT16)fifo[1],cpy+(INT16)fifo[2],cpx,cpy+(INT16)fifo[2],fifo[0]&7);
|
||||||
line(cpx,cpy+(INT16)fifo[2],cpx,cpy,fifo[0]&7);
|
line(cpx,cpy+(INT16)fifo[2],cpx,cpy,fifo[0]&7);
|
||||||
|
|
||||||
cpx += (INT16)fifo[1];
|
cpx += (INT16)fifo[1];
|
||||||
cpy += (INT16)fifo[2];
|
cpy += (INT16)fifo[2];
|
||||||
}
|
}
|
||||||
else if ((fifo[0] & 0xfff8) == 0xa400) /* RPLG added*/
|
else if ((fifo[0] & 0xfff8) == 0xa400) /* RPLG added*/
|
||||||
{
|
{
|
||||||
int nseg,sx,sy,ex,ey;
|
int nseg,sx,sy,ex,ey;
|
||||||
sx = cpx;
|
sx = cpx;
|
||||||
@ -1088,13 +1088,13 @@ logerror("unsupported register\n");
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((fifo[0] & 0xfff8) == 0xc400) /* RFRCT added TODO*/
|
else if ((fifo[0] & 0xfff8) == 0xc400) /* RFRCT added TODO*/
|
||||||
{
|
{
|
||||||
line(cpx,cpy,cpx+(INT16)fifo[1],cpy,fifo[0]&7);
|
line(cpx,cpy,cpx+(INT16)fifo[1],cpy,fifo[0]&7);
|
||||||
line(cpx+fifo[1],cpy,cpx+fifo[1],cpy+fifo[2],fifo[0]&7);
|
line(cpx+fifo[1],cpy,cpx+fifo[1],cpy+fifo[2],fifo[0]&7);
|
||||||
line(cpx+fifo[1],cpy+fifo[2],cpx,cpy+fifo[2],fifo[0]&7);
|
line(cpx+fifo[1],cpy+fifo[2],cpx,cpy+fifo[2],fifo[0]&7);
|
||||||
line(cpx,cpy+fifo[2],cpx,cpy,fifo[0]&7);
|
line(cpx,cpy+fifo[2],cpx,cpy,fifo[0]&7);
|
||||||
|
|
||||||
cpx=cpx+(INT16)fifo[1];
|
cpx=cpx+(INT16)fifo[1];
|
||||||
cpy=cpy+(INT16)fifo[2];
|
cpy=cpy+(INT16)fifo[2];
|
||||||
}
|
}
|
||||||
|
@ -141,7 +141,7 @@ static VIDEO_START( redalert )
|
|||||||
redalert_bitmap_colorram = auto_malloc(0x0400);
|
redalert_bitmap_colorram = auto_malloc(0x0400);
|
||||||
|
|
||||||
state_save_register_global_pointer(redalert_bitmap_colorram, 0x0400);
|
state_save_register_global_pointer(redalert_bitmap_colorram, 0x0400);
|
||||||
|
|
||||||
redalert_control_xor = 0x00;
|
redalert_control_xor = 0x00;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -324,14 +324,14 @@ MACHINE_DRIVER_START( redalert_video )
|
|||||||
|
|
||||||
MDRV_VIDEO_START(redalert)
|
MDRV_VIDEO_START(redalert)
|
||||||
MDRV_IMPORT_FROM( redalert_video_common )
|
MDRV_IMPORT_FROM( redalert_video_common )
|
||||||
|
|
||||||
MACHINE_DRIVER_END
|
MACHINE_DRIVER_END
|
||||||
|
|
||||||
MACHINE_DRIVER_START( ww3_video )
|
MACHINE_DRIVER_START( ww3_video )
|
||||||
|
|
||||||
MDRV_VIDEO_START( ww3 )
|
MDRV_VIDEO_START( ww3 )
|
||||||
MDRV_IMPORT_FROM( redalert_video_common )
|
MDRV_IMPORT_FROM( redalert_video_common )
|
||||||
|
|
||||||
MACHINE_DRIVER_END
|
MACHINE_DRIVER_END
|
||||||
|
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ chd_error chdcd_parse_gdi(const char *tocfname, cdrom_toc *outtoc, chdcd_track_i
|
|||||||
numtracks=atoi(linebuffer);
|
numtracks=atoi(linebuffer);
|
||||||
|
|
||||||
for(i=0;i<numtracks;++i)
|
for(i=0;i<numtracks;++i)
|
||||||
{
|
{
|
||||||
char *tok;
|
char *tok;
|
||||||
int trknum;
|
int trknum;
|
||||||
int trksize,trktype;
|
int trksize,trktype;
|
||||||
@ -150,7 +150,7 @@ chd_error chdcd_parse_gdi(const char *tocfname, cdrom_toc *outtoc, chdcd_track_i
|
|||||||
|
|
||||||
|
|
||||||
fgets(linebuffer,511,infile);
|
fgets(linebuffer,511,infile);
|
||||||
|
|
||||||
tok=strtok(linebuffer," ");
|
tok=strtok(linebuffer," ");
|
||||||
|
|
||||||
trknum=atoi(tok)-1;
|
trknum=atoi(tok)-1;
|
||||||
@ -165,7 +165,7 @@ chd_error chdcd_parse_gdi(const char *tocfname, cdrom_toc *outtoc, chdcd_track_i
|
|||||||
|
|
||||||
tok=strtok(NULL," ");
|
tok=strtok(NULL," ");
|
||||||
outtoc->tracks[trknum].physframeofs=atoi(tok);
|
outtoc->tracks[trknum].physframeofs=atoi(tok);
|
||||||
|
|
||||||
tok=strtok(NULL," ");
|
tok=strtok(NULL," ");
|
||||||
trktype=atoi(tok);
|
trktype=atoi(tok);
|
||||||
|
|
||||||
@ -188,14 +188,14 @@ chd_error chdcd_parse_gdi(const char *tocfname, cdrom_toc *outtoc, chdcd_track_i
|
|||||||
outtoc->tracks[trknum].trktype=CD_TRACK_AUDIO;
|
outtoc->tracks[trknum].trktype=CD_TRACK_AUDIO;
|
||||||
outtoc->tracks[trknum].datasize=2352;
|
outtoc->tracks[trknum].datasize=2352;
|
||||||
}
|
}
|
||||||
|
|
||||||
tok=strtok(NULL," ");
|
tok=strtok(NULL," ");
|
||||||
strcpy(&(outinfo->fname[trknum][0]),tok);
|
strcpy(&(outinfo->fname[trknum][0]),tok);
|
||||||
sz=get_file_size(outinfo->fname[trknum]);
|
sz=get_file_size(outinfo->fname[trknum]);
|
||||||
|
|
||||||
outtoc->tracks[trknum].frames=sz/trksize;
|
outtoc->tracks[trknum].frames=sz/trksize;
|
||||||
outtoc->tracks[trknum].extraframes=0;
|
outtoc->tracks[trknum].extraframes=0;
|
||||||
|
|
||||||
if(trknum!=0)
|
if(trknum!=0)
|
||||||
{
|
{
|
||||||
int dif=outtoc->tracks[trknum].physframeofs-(outtoc->tracks[trknum-1].frames+outtoc->tracks[trknum-1].physframeofs);
|
int dif=outtoc->tracks[trknum].physframeofs-(outtoc->tracks[trknum-1].frames+outtoc->tracks[trknum-1].physframeofs);
|
||||||
@ -203,10 +203,10 @@ chd_error chdcd_parse_gdi(const char *tocfname, cdrom_toc *outtoc, chdcd_track_i
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if(trknum!=0)
|
if(trknum!=0)
|
||||||
{
|
{
|
||||||
outtoc->tracks[trknum-1].extraframes=outtoc->tracks[trknum].physframeofs-(outtoc->tracks[trknum-1].frames+outtoc->tracks[trknum-1].physframeofs);
|
outtoc->tracks[trknum-1].extraframes=outtoc->tracks[trknum].physframeofs-(outtoc->tracks[trknum-1].frames+outtoc->tracks[trknum-1].physframeofs);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
hunks = (outtoc->tracks[trknum].frames+CD_FRAMES_PER_HUNK - 1) / CD_FRAMES_PER_HUNK;
|
hunks = (outtoc->tracks[trknum].frames+CD_FRAMES_PER_HUNK - 1) / CD_FRAMES_PER_HUNK;
|
||||||
outtoc->tracks[trknum].extraframes = hunks * CD_FRAMES_PER_HUNK - outtoc->tracks[trknum].frames;
|
outtoc->tracks[trknum].extraframes = hunks * CD_FRAMES_PER_HUNK - outtoc->tracks[trknum].frames;
|
||||||
@ -215,11 +215,11 @@ chd_error chdcd_parse_gdi(const char *tocfname, cdrom_toc *outtoc, chdcd_track_i
|
|||||||
|
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
for(i=0;i<numtracks;++i)
|
for(i=0;i<numtracks;++i)
|
||||||
{
|
{
|
||||||
printf("%s %d %d %d\n",outinfo->fname[i],outtoc->tracks[i].frames,outtoc->tracks[i].extraframes,outtoc->tracks[i].physframeofs);
|
printf("%s %d %d %d\n",outinfo->fname[i],outtoc->tracks[i].frames,outtoc->tracks[i].extraframes,outtoc->tracks[i].physframeofs);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
/* close the input TOC */
|
/* close the input TOC */
|
||||||
fclose(infile);
|
fclose(infile);
|
||||||
|
|
||||||
|
@ -9,4 +9,4 @@
|
|||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
const char build_version[] = "0.126u5 ("__DATE__")";
|
const char build_version[] = "0.127 ("__DATE__")";
|
||||||
|
Loading…
Reference in New Issue
Block a user