mirror of
https://github.com/holub/mame
synced 2025-04-21 07:52:35 +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 multiplier = 1;
|
||||
UINT64 result = 0;
|
||||
|
||||
|
||||
while (value != 0)
|
||||
{
|
||||
result += (value & 0x0f) * multiplier;
|
||||
@ -1665,7 +1665,7 @@ static UINT64 execute_tobcd(void *ref, UINT32 params, const UINT64 *param)
|
||||
UINT64 value = param[0];
|
||||
UINT64 result = 0;
|
||||
UINT8 shift = 0;
|
||||
|
||||
|
||||
while (value != 0)
|
||||
{
|
||||
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)
|
||||
|
||||
|
||||
ifneq ($(filter CUBEQCPU,$(CPUS)),)
|
||||
OBJDIRS += $(CPUOBJ)/cubeqcpu
|
||||
CPUOBJS += $(CPUOBJ)/cubeqcpu/cubeqcpu.o
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
Implementation of the Cube Quest AM2901-based CPUs
|
||||
|
||||
TODO:
|
||||
TODO:
|
||||
|
||||
* Tidy up diassembly (split into different files?)
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
/* Am2901 Instruction Fields */
|
||||
static const char* ins[] =
|
||||
static const char* ins[] =
|
||||
{
|
||||
"ADD ",
|
||||
"SUBR ",
|
||||
@ -43,7 +43,7 @@ static const char* src[] =
|
||||
"D,0",
|
||||
};
|
||||
|
||||
static const char* dst[] =
|
||||
static const char* dst[] =
|
||||
{
|
||||
"QREG ",
|
||||
"NOP ",
|
||||
@ -409,7 +409,7 @@ static void cquestrot_init(int index, int clock, const void *_config, int (*irqc
|
||||
cquestrot_state_register(index, "cquestrot");
|
||||
|
||||
/* 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 */
|
||||
}
|
||||
|
||||
@ -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 const char* jmps[] =
|
||||
static const char* jmps[] =
|
||||
{
|
||||
"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 ",
|
||||
"DAC ",
|
||||
@ -880,7 +880,7 @@ static int cquestrot_execute(int cycles)
|
||||
|
||||
/* Core execution loop */
|
||||
do
|
||||
{
|
||||
{
|
||||
/* Decode the instruction */
|
||||
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;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
cquestrot.ram[b] = r15 | (cquestrot.f >> 1);
|
||||
cquestrot.y = cquestrot.f;
|
||||
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 const char* jmps[] =
|
||||
static const char* jmps[] =
|
||||
{
|
||||
" ",
|
||||
"JSEQ ",
|
||||
@ -1234,7 +1234,7 @@ static offs_t cquestrot_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const
|
||||
"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 jmp = (inshig >> 16) & 0xf;
|
||||
int spf = (inshig >> 12) & 0xf;
|
||||
// int rsrc = (inshig >> 11) & 0x1;
|
||||
// int rsrc = (inshig >> 11) & 0x1;
|
||||
int yout = (inshig >> 8) & 0x7;
|
||||
int sel = (inshig >> 6) & 0x3;
|
||||
// int dsrc = (inshig >> 4) & 0x3;
|
||||
// int dsrc = (inshig >> 4) & 0x3;
|
||||
int b = (inshig >> 0) & 0xf;
|
||||
int a = (inslow >> 28) & 0xf;
|
||||
int i8_6 = (inslow >> 24) & 0x7;
|
||||
int ci = (inslow >> 23) & 0x1;
|
||||
int i5_3 = (inslow >> 20) & 0x7;
|
||||
// int _sex = (inslow >> 19) & 0x1;
|
||||
// int _sex = (inslow >> 19) & 0x1;
|
||||
int i2_0 = (inslow >> 16) & 0x7;
|
||||
|
||||
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;
|
||||
|
||||
if (prog == BACKGROUND)
|
||||
cquestlin.pc[prog] |= 0x80;
|
||||
cquestlin.pc[prog] |= 0x80;
|
||||
else
|
||||
{
|
||||
/* Handle events that happen during FG execution */
|
||||
@ -1643,7 +1643,7 @@ static int cquestlin_execute(int cycles)
|
||||
{
|
||||
int _ycet;
|
||||
int mux_sel = (BIT(cquestlin.sreg, SREG_DX_DY) << 1) | (BIT(cquestlin.sreg, SREG_DX) ^ BIT(cquestlin.sreg, SREG_DY));
|
||||
|
||||
|
||||
if (mux_sel == 0)
|
||||
_ycet = !(cquestlin.gt0reg && (spf == LSPF_BRES));
|
||||
else if (mux_sel == 1)
|
||||
@ -1712,7 +1712,7 @@ static int cquestlin_execute(int cycles)
|
||||
{
|
||||
int _lpwrt = BIT(cquestlin.bglatch, 5);
|
||||
|
||||
cquestlin.bglatch =
|
||||
cquestlin.bglatch =
|
||||
(!(spf == LSPF_PWRT) << 5)
|
||||
| (_lpwrt << 4)
|
||||
| ((!_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 const char* jmps[] =
|
||||
static const char* jmps[] =
|
||||
{
|
||||
" ",
|
||||
"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",
|
||||
@ -1792,7 +1792,7 @@ static offs_t cquestlin_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const
|
||||
"ZLTCH ",
|
||||
};
|
||||
|
||||
static const char* spfs[] =
|
||||
static const char* spfs[] =
|
||||
{
|
||||
" ",
|
||||
"FSTOP ",
|
||||
|
@ -293,7 +293,7 @@ static void cfunc_checkirqs(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_JMP(block, skip+1); // and then go take it (evec is already set)
|
||||
|
||||
|
||||
UML_LABEL(block, skip+2); // skip+2:
|
||||
UML_MOV(block, MEM(&sh2->evec), IMM(0xffffffff)); // mov evec, -1
|
||||
UML_MOV(block, IREG(0), IMM(0xffffffff)); // mov r0, -1 (r0 = irq)
|
||||
|
@ -383,15 +383,15 @@ READ8_DEVICE_HANDLER(duart68681_r)
|
||||
{
|
||||
r = 0xff;
|
||||
/*
|
||||
if (input_code_pressed(KEYCODE_1)) r ^= 0x0001;
|
||||
if (input_code_pressed(KEYCODE_2)) r ^= 0x0002;
|
||||
if (input_code_pressed(KEYCODE_3)) r ^= 0x0004;
|
||||
if (input_code_pressed(KEYCODE_4)) r ^= 0x0008;
|
||||
if (input_code_pressed(KEYCODE_5)) r ^= 0x0010;
|
||||
if (input_code_pressed(KEYCODE_6)) r ^= 0x0020;
|
||||
if (input_code_pressed(KEYCODE_7)) r ^= 0x0040;
|
||||
if (input_code_pressed(KEYCODE_8)) r ^= 0x0080;
|
||||
*/
|
||||
if (input_code_pressed(KEYCODE_1)) r ^= 0x0001;
|
||||
if (input_code_pressed(KEYCODE_2)) r ^= 0x0002;
|
||||
if (input_code_pressed(KEYCODE_3)) r ^= 0x0004;
|
||||
if (input_code_pressed(KEYCODE_4)) r ^= 0x0008;
|
||||
if (input_code_pressed(KEYCODE_5)) r ^= 0x0010;
|
||||
if (input_code_pressed(KEYCODE_6)) r ^= 0x0020;
|
||||
if (input_code_pressed(KEYCODE_7)) r ^= 0x0040;
|
||||
if (input_code_pressed(KEYCODE_8)) r ^= 0x0080;
|
||||
*/
|
||||
}
|
||||
break;
|
||||
case 0x0e: /* Start counter command */
|
||||
|
@ -226,7 +226,7 @@ struct _laserdisc_state
|
||||
{
|
||||
/* general config */
|
||||
laserdisc_config config; /* copy of the inline config */
|
||||
|
||||
|
||||
/* disc parameters */
|
||||
chd_file * disc; /* handle to the disc itself */
|
||||
av_codec_decompress_config avconfig; /* decompression configuration */
|
||||
@ -286,7 +286,7 @@ struct _laserdisc_state
|
||||
INT32 curfracspeed; /* current speed the head is moving */
|
||||
INT32 curfractrack; /* current track */
|
||||
INT32 targetframe; /* target frame (0 means no target) */
|
||||
|
||||
|
||||
/* video updating */
|
||||
UINT8 videoenable; /* is video enabled? */
|
||||
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
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -1637,7 +1637,7 @@ static void configuration_load(running_machine *machine, int config_type, xml_da
|
||||
if (device != NULL)
|
||||
{
|
||||
laserdisc_state *ld = get_safe_token(device);
|
||||
|
||||
|
||||
/* handle the overlay node */
|
||||
overnode = xml_get_sibling(ldnode->child, "overlay");
|
||||
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
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -1679,7 +1679,7 @@ static void configuration_save(running_machine *machine, int config_type, xml_da
|
||||
if (ldnode != NULL)
|
||||
{
|
||||
int changed = FALSE;
|
||||
|
||||
|
||||
/* output the basics */
|
||||
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
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -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
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -1762,28 +1762,28 @@ VIDEO_UPDATE( laserdisc )
|
||||
laserdisc_state *ld = laserdisc->token;
|
||||
bitmap_t *overbitmap = ld->overbitmap[ld->overindex];
|
||||
bitmap_t *vidbitmap = NULL;
|
||||
|
||||
|
||||
/* handle the overlay if present */
|
||||
if (overbitmap != NULL)
|
||||
{
|
||||
rectangle clip = *cliprect;
|
||||
|
||||
|
||||
/* scale the cliprect to the overlay size */
|
||||
clip.min_x = 0;
|
||||
clip.max_x = ld->config.overwidth - 1;
|
||||
clip.min_y = cliprect->min_y * overbitmap->height / bitmap->height;
|
||||
clip.max_y = (cliprect->max_y + 1) * overbitmap->height / bitmap->height - 1;
|
||||
|
||||
|
||||
/* call the callback */
|
||||
if (ld->config.overupdate != NULL)
|
||||
(*ld->config.overupdate)(screen, overbitmap, &clip);
|
||||
}
|
||||
|
||||
|
||||
/* if this is the last update, do the rendering */
|
||||
if (cliprect->max_y == video_screen_get_visible_area(screen)->max_y)
|
||||
{
|
||||
float x0, y0, x1, y1;
|
||||
|
||||
|
||||
/* update the texture with the overlay contents */
|
||||
if (overbitmap != NULL)
|
||||
{
|
||||
@ -1792,15 +1792,15 @@ VIDEO_UPDATE( laserdisc )
|
||||
else if (overbitmap->format == BITMAP_FORMAT_RGB32)
|
||||
render_texture_set_bitmap(ld->overtex, overbitmap, &ld->config.overclip, 0, TEXFORMAT_ARGB32);
|
||||
}
|
||||
|
||||
|
||||
/* get the laserdisc video */
|
||||
laserdisc_get_video(laserdisc, &vidbitmap);
|
||||
if (vidbitmap != NULL)
|
||||
render_texture_set_bitmap(ld->videotex, vidbitmap, NULL, 0, TEXFORMAT_YUY16);
|
||||
|
||||
|
||||
/* reset the screen contents */
|
||||
render_container_empty(render_container_get_screen(screen));
|
||||
|
||||
|
||||
/* add the video texture */
|
||||
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));
|
||||
@ -1814,12 +1814,12 @@ VIDEO_UPDATE( laserdisc )
|
||||
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));
|
||||
}
|
||||
|
||||
|
||||
/* swap to the next bitmap */
|
||||
ld->overindex = (ld->overindex + 1) % ARRAY_LENGTH(ld->overbitmap);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -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
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -1943,13 +1943,13 @@ static DEVICE_START( laserdisc )
|
||||
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->samplerate = rate;
|
||||
|
||||
|
||||
/* allocate texture for rendering */
|
||||
ld->videoenable = TRUE;
|
||||
ld->videotex = render_texture_alloc(NULL, NULL);
|
||||
if (ld->videotex == NULL)
|
||||
fatalerror("Out of memory allocating video texture");
|
||||
|
||||
|
||||
/* allocate overlay */
|
||||
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 */
|
||||
if (ld->disc != NULL)
|
||||
chd_async_complete(ld->disc);
|
||||
|
||||
|
||||
/* free any textures */
|
||||
if (ld->videotex != NULL)
|
||||
render_texture_free(ld->videotex);
|
||||
@ -2089,7 +2089,7 @@ static DEVICE_SET_INFO( laserdisc )
|
||||
DEVICE_GET_INFO( laserdisc )
|
||||
{
|
||||
const laserdisc_config *config = NULL;
|
||||
|
||||
|
||||
if (device != NULL)
|
||||
{
|
||||
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
|
||||
01-19 : Skip forward 1-19 frames
|
||||
99-81 : Skip back 1-19 frames
|
||||
5a : Toggle frame display
|
||||
FX XX XX : Seek to frame XXXXX
|
||||
01-19 : Skip forward 1-19 frames
|
||||
99-81 : Skip back 1-19 frames
|
||||
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));
|
||||
simutrek->cmdbytes[simutrek->cmdcnt++] = data;
|
||||
|
||||
|
||||
if (simutrek->cmdcnt == 3)
|
||||
{
|
||||
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);
|
||||
|
||||
if (state == ASSERT_LINE)
|
||||
ld->audio |= AUDIO_SQUELCH_OVERRIDE;
|
||||
ld->audio |= AUDIO_SQUELCH_OVERRIDE;
|
||||
else
|
||||
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
|
||||
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))
|
||||
|
@ -71,10 +71,10 @@ struct _laserdisc_config
|
||||
{
|
||||
UINT32 type;
|
||||
laserdisc_audio_func audio;
|
||||
|
||||
|
||||
/* rendering information */
|
||||
const char * screen;
|
||||
|
||||
|
||||
/* overlay information */
|
||||
video_update_func overupdate;
|
||||
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 defyoffset = floor(config->overposy * 1000.0f + 0.5f);
|
||||
void *param = (void *)device;
|
||||
|
||||
|
||||
/* 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, 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);
|
||||
error = TRUE;
|
||||
}
|
||||
|
||||
|
||||
/* make sure ports exist */
|
||||
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 */
|
||||
strindex = get_defstr_index(field->name, driver, &error);
|
||||
}
|
||||
|
||||
|
||||
/* verify conditions on the field */
|
||||
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)
|
||||
if (scanport->tag != NULL && strcmp(field->condition.tag, scanport->tag) == 0)
|
||||
break;
|
||||
|
||||
|
||||
/* if none, error */
|
||||
if (scanport == NULL)
|
||||
{
|
||||
@ -1398,7 +1398,7 @@ static int validate_inputs(int drivnum, const machine_config *config, const inpu
|
||||
error = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* verify conditions on the settings */
|
||||
for (setting = field->settinglist; setting != NULL; setting = setting->next)
|
||||
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)
|
||||
if (scanport->tag != NULL && strcmp(setting->condition.tag, scanport->tag) == 0)
|
||||
break;
|
||||
|
||||
|
||||
/* if none, error */
|
||||
if (scanport == NULL)
|
||||
{
|
||||
|
@ -633,7 +633,7 @@ static avcomp_error encode_video_lossless(avcomp_state *state, int width, int he
|
||||
huffman_error hufferr;
|
||||
UINT32 outbytes;
|
||||
UINT8 *output;
|
||||
|
||||
|
||||
/* set up the output; first byte is 0x80 to indicate lossless encoding */
|
||||
output = dest;
|
||||
*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 (source[0] & 0x80)
|
||||
return decode_video_lossless(state, width, height, source, complength, dest, dstride, dxor);
|
||||
else
|
||||
else
|
||||
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.
|
||||
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 F is a 74138 1 to 8 decoder/demultiplexer with active low outputs
|
||||
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.
|
||||
|
||||
|
||||
@ -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
|
||||
together by Toshiba on the *production* seibu t5182 means a huge
|
||||
security hole is opened:
|
||||
|
||||
|
||||
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
|
||||
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.
|
||||
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:
|
||||
CPU: ROM:
|
||||
D0 D0
|
||||
|
@ -119,7 +119,7 @@ static INPUT_PORTS_START( sicv )
|
||||
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( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
||||
|
||||
PORT_START("IN2") /* referenced by invaders_io_map, used in several drivers; this is fairly hacky */
|
||||
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( 0x02, IP_ACTIVE_HIGH, IPT_START2) /* This is not 2 Player ??? */
|
||||
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_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
|
@ -197,44 +197,44 @@ static const duart68681_config skattv_duart68681_config =
|
||||
/*
|
||||
static PALETTE_INIT( adp )
|
||||
{
|
||||
int i;
|
||||
int i;
|
||||
|
||||
|
||||
for (i = 0;i < machine->config->total_colors;i++)
|
||||
{
|
||||
int bit0,bit1,bit2,r,g,b;
|
||||
for (i = 0;i < machine->config->total_colors;i++)
|
||||
{
|
||||
int bit0,bit1,bit2,r,g,b;
|
||||
|
||||
|
||||
// red component
|
||||
bit0 = (i >> 2) & 0x01;
|
||||
bit1 = (i >> 3) & 0x01;
|
||||
bit2 = (i >> 4) & 0x01;
|
||||
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
||||
// green component
|
||||
bit0 = (i >> 5) & 0x01;
|
||||
bit1 = (i >> 6) & 0x01;
|
||||
bit2 = (i >> 7) & 0x01;
|
||||
g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
||||
// blue component
|
||||
bit0 = 0;
|
||||
bit1 = (i >> 0) & 0x01;
|
||||
bit2 = (i >> 1) & 0x01;
|
||||
b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
||||
// red component
|
||||
bit0 = (i >> 2) & 0x01;
|
||||
bit1 = (i >> 3) & 0x01;
|
||||
bit2 = (i >> 4) & 0x01;
|
||||
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
||||
// green component
|
||||
bit0 = (i >> 5) & 0x01;
|
||||
bit1 = (i >> 6) & 0x01;
|
||||
bit2 = (i >> 7) & 0x01;
|
||||
g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
||||
// blue component
|
||||
bit0 = 0;
|
||||
bit1 = (i >> 0) & 0x01;
|
||||
bit2 = (i >> 1) & 0x01;
|
||||
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)
|
||||
{
|
||||
// UINT32 i;
|
||||
// UINT16 *prgrom = (UINT16*)memory_region(machine, "main");
|
||||
// UINT32 i;
|
||||
// UINT16 *prgrom = (UINT16*)memory_region(machine, "main");
|
||||
|
||||
HD63484_start();
|
||||
|
||||
// for (i = 0; i < 0x70000; i++)
|
||||
// HD63484_ram[0x90000 + i] = prgrom[i];
|
||||
// for (i = 0; i < 0x70000; 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(0x800080, 0x800081) AM_READWRITE(HD63484_status_r, HD63484_address_w)
|
||||
AM_RANGE(0x800082, 0x800083) AM_READWRITE(HD63484_data_r, HD63484_data_w)
|
||||
// AM_RANGE(0x8000a0, 0x8000a1) AM_READ(handler2_r)
|
||||
// AM_RANGE(0x8000a2, 0x8000a3) AM_READ(handler2_r)
|
||||
// AM_RANGE(0x800100, 0x80017f) AM_READ(test_r) //18b too
|
||||
// AM_RANGE(0x8000a0, 0x8000a1) 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, 0x800101) AM_READ(test_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(0xffd246, 0xffd247) AM_READ(handler3_r)
|
||||
// AM_RANGE(0xffd248, 0xffd249) AM_READ(handler3_r)
|
||||
// AM_RANGE(0xffd246, 0xffd247) AM_READ(handler3_r)
|
||||
// AM_RANGE(0xffd248, 0xffd249) AM_READ(handler3_r)
|
||||
AM_RANGE(0xffc000, 0xffffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -409,14 +409,14 @@ INPUT_PORTS_END
|
||||
/*
|
||||
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 )
|
||||
MDRV_CPU_ADD("main", M68000, 8000000)
|
||||
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_RESET(skattv)
|
||||
@ -432,7 +432,7 @@ static MACHINE_DRIVER_START( quickjac )
|
||||
MDRV_SCREEN_VISIBLE_AREA(0, 384-1, 0, 280-1)
|
||||
MDRV_PALETTE_LENGTH(0x100)
|
||||
|
||||
// MDRV_PALETTE_INIT(adp)
|
||||
// MDRV_PALETTE_INIT(adp)
|
||||
MDRV_VIDEO_START(adp)
|
||||
MDRV_VIDEO_UPDATE(adp)
|
||||
|
||||
@ -445,7 +445,7 @@ MACHINE_DRIVER_END
|
||||
static MACHINE_DRIVER_START( skattv )
|
||||
MDRV_CPU_ADD("main", M68000, 8000000)
|
||||
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_RESET(skattv)
|
||||
@ -461,7 +461,7 @@ static MACHINE_DRIVER_START( skattv )
|
||||
MDRV_SCREEN_VISIBLE_AREA(0, 384-1, 0, 280-1)
|
||||
MDRV_PALETTE_LENGTH(0x100)
|
||||
|
||||
// MDRV_PALETTE_INIT(adp)
|
||||
// MDRV_PALETTE_INIT(adp)
|
||||
MDRV_VIDEO_START(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_PALETTE_LENGTH(0x100)
|
||||
|
||||
// MDRV_PALETTE_INIT(adp)
|
||||
// MDRV_PALETTE_INIT(adp)
|
||||
MDRV_VIDEO_START(adp)
|
||||
MDRV_VIDEO_UPDATE(adp)
|
||||
|
||||
|
@ -284,7 +284,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( weststry )
|
||||
PORT_INCLUDE( weststry_base )
|
||||
|
||||
|
||||
PORT_START("COIN") /* referenced by seibu sound board */
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
@ -5,11 +5,11 @@
|
||||
driver by Phil Bennett
|
||||
|
||||
TODO:
|
||||
* Emulate D8478 laserdisc interface MCU
|
||||
* Emulate D8478 laserdisc interface MCU
|
||||
* Accurate video timings
|
||||
- Derive from PROMs
|
||||
- Derive from PROMs
|
||||
* More accurate line fill circuitry emulation
|
||||
- Use PROMs
|
||||
- Use PROMs
|
||||
|
||||
Known bugs:
|
||||
* 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];
|
||||
|
||||
/*
|
||||
* Clear the display with palette RAM entry 0xff
|
||||
* This will be either transparent or an actual colour
|
||||
*/
|
||||
* Clear the display with palette RAM entry 0xff
|
||||
* This will be either transparent or an actual colour
|
||||
*/
|
||||
|
||||
/* Bit 3 selects LD/#GRAPHICS */
|
||||
if ((palentry & (1 << 3)) && disk_on)
|
||||
@ -234,8 +234,8 @@ void ldp_ack_callback(void)
|
||||
}
|
||||
|
||||
/*
|
||||
D0: Command acknowledge
|
||||
D1: Seek status (0 = searching, 1 = ready)
|
||||
D0: Command acknowledge
|
||||
D1: Seek status (0 = searching, 1 = ready)
|
||||
*/
|
||||
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)
|
||||
D1: /Sound
|
||||
D2: /Disk
|
||||
D0: /Display (includes rotate and line processors)
|
||||
D1: /Sound
|
||||
D2: /Disk
|
||||
*/
|
||||
static WRITE16_HANDLER( reset_w )
|
||||
{
|
||||
@ -326,24 +326,24 @@ static WRITE16_HANDLER( reset_w )
|
||||
static WRITE16_HANDLER( io_w )
|
||||
{
|
||||
/*
|
||||
0: Spare lamp
|
||||
1: Spare driver
|
||||
2: Coin counter
|
||||
3: Left-front lamp
|
||||
4: Right-front lamp
|
||||
5: Righ back lamp
|
||||
6: Spare lamp
|
||||
7: LED latch clock
|
||||
*/
|
||||
0: Spare lamp
|
||||
1: Spare driver
|
||||
2: Coin counter
|
||||
3: Left-front lamp
|
||||
4: Right-front lamp
|
||||
5: Righ back lamp
|
||||
6: Spare lamp
|
||||
7: LED latch clock
|
||||
*/
|
||||
|
||||
/* TODO: On rising edge of Q7, status LED latch is written */
|
||||
if ( !BIT(io_latch, 7) && BIT(data, 7) )
|
||||
{
|
||||
/*
|
||||
0: Battery failure
|
||||
1: Bad coin
|
||||
2: No laser unit
|
||||
*/
|
||||
0: Battery failure
|
||||
1: Bad coin
|
||||
2: No laser unit
|
||||
*/
|
||||
}
|
||||
|
||||
io_latch = data;
|
||||
@ -356,11 +356,11 @@ static READ16_HANDLER( io_r )
|
||||
/*
|
||||
Certain bits depend on Q7 of the IO latch:
|
||||
|
||||
5: Cube / Trackball H clock
|
||||
6: R-Fire / Trackball H data
|
||||
7: L-Fire / Trackball V clock
|
||||
5: Cube / Trackball H clock
|
||||
6: R-Fire / Trackball H data
|
||||
7: L-Fire / Trackball V clock
|
||||
10: Spare / Trackball V data
|
||||
*/
|
||||
*/
|
||||
|
||||
if ( !BIT(io_latch, 7) )
|
||||
return port_data;
|
||||
@ -428,11 +428,11 @@ ADDRESS_MAP_END
|
||||
|
||||
/* For the bit-sliced CPUs */
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
|
||||
@ -471,8 +471,8 @@ static MACHINE_RESET( cubeqst )
|
||||
static sound_stream *cquest_stream;
|
||||
|
||||
/*
|
||||
* The sound CPU outputs to a 12-bit 7521 DAC
|
||||
* The DAC output is multiplexed between
|
||||
* The sound CPU outputs to a 12-bit 7521 DAC
|
||||
* The DAC output is multiplexed between
|
||||
* 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_CLIP(0, 320-1, 0, 256-8)
|
||||
MDRV_LASERDISC_OVERLAY_POSITION(0.002, -0.018)
|
||||
|
||||
|
||||
MDRV_SPEAKER_STANDARD_STEREO("left", "right")
|
||||
|
||||
MDRV_SOUND_ADD("laserdisc", CUSTOM, 0)
|
||||
|
@ -2291,7 +2291,7 @@ ROM_START( dkong3 )
|
||||
|
||||
ROM_REGION( 0x0020, "adrdecode", 0 )
|
||||
/* 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_START( dkong3j )
|
||||
@ -2324,7 +2324,7 @@ ROM_START( dkong3j )
|
||||
|
||||
ROM_REGION( 0x0020, "adrdecode", 0 )
|
||||
/* 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_START( dkong3b )
|
||||
|
@ -1893,7 +1893,7 @@ static MACHINE_DRIVER_START( g2laser )
|
||||
MDRV_LASERDISC_AUDIO(laserdisc_audio_process)
|
||||
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_SCREEN_REMOVE("main")
|
||||
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 )
|
||||
{
|
||||
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 )
|
||||
|
@ -99,16 +99,16 @@ Notes (couriersud)
|
||||
|
||||
M10-Board: Has SN76477
|
||||
|
||||
ipminva1
|
||||
========
|
||||
|
||||
This is from an incomplete dump without documentation.
|
||||
The filename contained m10 and with a hack to work
|
||||
around the missing rom you get some action.
|
||||
|
||||
The files are all different from ipminvad. Either this has
|
||||
been a prototype or eventually the famous "capsule invader".
|
||||
|
||||
ipminva1
|
||||
========
|
||||
|
||||
This is from an incomplete dump without documentation.
|
||||
The filename contained m10 and with a hack to work
|
||||
around the missing rom you get some action.
|
||||
|
||||
The files are all different from ipminvad. Either this has
|
||||
been a prototype or eventually the famous "capsule invader".
|
||||
|
||||
***************************************************************************/
|
||||
#include "driver.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
|
||||
*/
|
||||
static DRIVER_INIT( andromed )
|
||||
@ -921,7 +921,7 @@ ROM_START( ipminva1 )
|
||||
ROM_LOAD( "b5f", 0x2000, 0x0400, CRC(192361c7) SHA1(b13e80429a9183ce78c4df52a32070416d4ec988) )
|
||||
ROM_LOAD( "b6f", 0x2400, 0x0400, NO_DUMP )
|
||||
ROM_LOAD( "b7f", 0x2800, 0x0400, CRC(0f5115ab) SHA1(3bdd3fc1cfe6bfacb5820ee12c15f2909d2f58d1) )
|
||||
|
||||
|
||||
ROM_REGION( 0x0800, "gfx1", ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "b9", 0x0000, 0x0400, CRC(f6cfa53c) SHA1(ec1076982edee95efb24a1bb08e733bcccacb922) )
|
||||
ROM_LOAD( "b10", 0x0400, 0x0400, CRC(63672cd2) SHA1(3d9fa15509a363e1a32e58a2242b266b1162e9a6) )
|
||||
|
@ -632,7 +632,7 @@ ROM_END
|
||||
|
||||
/*
|
||||
|
||||
Hot Slot
|
||||
Hot Slot
|
||||
|
||||
CPU:
|
||||
1x HD6473308CP10 (u24)(main)
|
||||
@ -703,7 +703,7 @@ ROM_END
|
||||
|
||||
/*
|
||||
|
||||
Magic Colors
|
||||
Magic Colors
|
||||
|
||||
CPU:
|
||||
1x HD6473308CP10 (u24)(main)
|
||||
@ -777,7 +777,7 @@ static DRIVER_INIT( suprpool )
|
||||
|
||||
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.
|
||||
*/
|
||||
layer2_offset[0] = -56; // X offset.
|
||||
|
@ -145,9 +145,9 @@
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* This document covers all the known Namco Super System 22 games, including....
|
||||
* Air Combat 22 (C) Namco, 1995
|
||||
* Alpine Racer 1 (C) Namco, 1995
|
||||
@ -160,15 +160,15 @@
|
||||
* Prop Cycle (C) Namco, 1996
|
||||
* Time Crisis (C) Namco, 1995
|
||||
* !Tokyo Wars (C) Namco, 1996
|
||||
*
|
||||
*
|
||||
* ! - denotes secured but not dumped yet.
|
||||
* * - denotes not dumped yet. If you can help with the remaining undumped SS22 games,
|
||||
* 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
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* 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.
|
||||
* 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
|
||||
* any game as long as the required connectors for that game are present on the PCB. (all dumped games tested
|
||||
* 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
|
||||
* 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.
|
||||
@ -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
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* CPU PCB
|
||||
* -------
|
||||
* 1st Revision
|
||||
* SYSTEM SUPER22 CPU PCB 8646960102 (8646970102)
|
||||
*
|
||||
*
|
||||
* 2nd Revision
|
||||
* SYSTEM SUPER22 CPU(B) PCB 8646962600 (8646972600)
|
||||
*
|
||||
*
|
||||
* 3rd Revision
|
||||
* SYSTEM SUPER22 CPU(B) PCB 8646962600 (8646972601) <-- very minor?
|
||||
*
|
||||
*
|
||||
* 4th Revision
|
||||
* SYSTEM SUPER22 CPU(B) PCB 8646962601 (8646972601) <-- very minor?
|
||||
* |--------------------------------------------------------------|
|
||||
@ -242,7 +242,7 @@
|
||||
* | WAVEB.1L LC78815M LC78815M |
|
||||
* |--------------------------------------------------------------|
|
||||
* (logic chips omitted from the PCB layout)
|
||||
*
|
||||
*
|
||||
* Notes:
|
||||
* 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)
|
||||
@ -290,7 +290,7 @@
|
||||
* Prop Cycle = C428
|
||||
* Time Crisis = C419
|
||||
* Tokyo Wars = C424
|
||||
*
|
||||
*
|
||||
* *1 : Unpopulated position for PAL16V8 (PLCC20)
|
||||
* *2 : Unpopulated position for Fujitsu MB86601 (QFP100)
|
||||
* *3 : Unpopulated position for 32MHz OSC
|
||||
@ -308,7 +308,7 @@
|
||||
* Prop Cycle 'PR1 DATA'
|
||||
* Time Crisis 'TS1 DATA'
|
||||
* Tokyo Wars 'TW1 DATA'
|
||||
*
|
||||
*
|
||||
* WAVEA.2L \
|
||||
* WAVEB.1L / : 16M/32M WAVE MASKROMs. If 32MBit DIP42, they're programmed in BYTE mode (DIP42/SOP44)
|
||||
* Game Wave A Wave B Type
|
||||
@ -324,8 +324,8 @@
|
||||
* 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
|
||||
* Tokyo Wars 'TW1 WAVE A', , DIP42 32M MASKROM
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* 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.
|
||||
@ -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.
|
||||
* 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".
|
||||
*
|
||||
*
|
||||
* Type 1
|
||||
* SYSTEM SUPER22 MPM(F) PCB 8646961600 (8646971600)
|
||||
* |-------------------------|
|
||||
@ -347,7 +347,7 @@
|
||||
* |-------------------------|
|
||||
* Notes:
|
||||
* ROMx: Intel E28F008SA 8MBit FlashROM (x4, TSOP40)
|
||||
*
|
||||
*
|
||||
* This PCB is used on:
|
||||
* Game Software revision
|
||||
* -------------------------------
|
||||
@ -359,7 +359,7 @@
|
||||
* Prop Cycle 'PR2 Ver.A'
|
||||
* Time Crisis 'TS2 Ver.B'
|
||||
* Tokyo Wars 'TW2 Ver.A'
|
||||
*
|
||||
*
|
||||
* Type 2
|
||||
* SYSTEM SUPER22 MPM(F16) PCB 8646962500 (8646972500)
|
||||
* |-------------------------|
|
||||
@ -374,12 +374,12 @@
|
||||
* |-------------------------|
|
||||
* Notes:
|
||||
* ROMx: Intel E28F016SA 16MBit FlashROMs (x2, TSOP56)
|
||||
*
|
||||
*
|
||||
* This PCB is used on:
|
||||
* Game Software revision
|
||||
* -------------------------------
|
||||
* Time Crisis 'TS2 Ver.A'
|
||||
*
|
||||
*
|
||||
* Type 3
|
||||
* SYSTEM SUPER22 MPM(F16X4) PCB 8646962901 (8646972901)
|
||||
* |-------------------------|
|
||||
@ -397,12 +397,12 @@
|
||||
* Notes:
|
||||
* ICx* : Intel E28F016SA 16MBit FlashROMs (x4, TSOP56)
|
||||
* SS22P1B: PALCE16V8H (PLCC20, labelled 'SS22P1B')
|
||||
*
|
||||
*
|
||||
* This PCB is used on:
|
||||
* Game Software revision
|
||||
* -------------------------------
|
||||
* Alpine Racer 2 'ARS2 Ver.B'
|
||||
*
|
||||
*
|
||||
* Type 4
|
||||
* 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
|
||||
* 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)
|
||||
*
|
||||
*
|
||||
* This PCB is used on:
|
||||
* Game Software revision
|
||||
* -------------------------------
|
||||
* Alpine Surfer 'AF2 Ver.A'
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* Auxillary PCB (connector JC410 on the CPU PCB is used only for Time Crisis)
|
||||
* -------------
|
||||
* 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
|
||||
* cab which supplies 24V for the soleniod in the guns)
|
||||
* J2 : Connector joining to the CPU PCB (to JC410)
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* DSP PCB
|
||||
* -------
|
||||
* SYSTEM SUPER22 DSP PCB 8646960302 (8646970302)
|
||||
@ -496,7 +496,7 @@
|
||||
* | |-----| |---------| |
|
||||
* |--------------------------------------------------------------|
|
||||
* (logic chips omitted from the PCB layout)
|
||||
*
|
||||
*
|
||||
* Notes:
|
||||
* JD3 : Custom Namco connector joining this PCB to the MROM PCB with a special flat cable known as a
|
||||
* 'DHD harness'
|
||||
@ -518,8 +518,8 @@
|
||||
* SS22D4B : PALCE 16V8H (PLCC20, labelled 'SS22D4B')
|
||||
* SS22D5 : PALCE 16V8H (PLCC20, labelled 'SS22D5')
|
||||
* LEDS : 8 red LEDs flash (in various pretty patterns) when the DSP PCB is active.
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* ROM PCB (type 1)
|
||||
* -------
|
||||
* SYSTEM SUPER22 MROM PCB 8646960400 (8646970400)
|
||||
@ -554,11 +554,11 @@
|
||||
* | SCG6.1L SCG6.1F |
|
||||
* |--------------------------------------------------------------|
|
||||
* (logic chips omitted from the PCB layout)
|
||||
*
|
||||
*
|
||||
* Notes:
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* JR3, JR4 : Custom Namco connector joining this PCB to the VIDEO & DSP PCBs with a special flat cable known
|
||||
* as a 'DHD harness'
|
||||
* 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'
|
||||
* 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'
|
||||
*
|
||||
*
|
||||
* Game ROMs populated
|
||||
* ---------------------------------------------------------
|
||||
* Air Combat 22 ACS1CCRH.5B, ACS1CCRH.1D 4M SOP32
|
||||
@ -597,7 +597,7 @@
|
||||
* ACS1PTRL1.16K "
|
||||
* ACS1PTRL2.15K "
|
||||
* ACS1PTRL3.14K "
|
||||
*
|
||||
*
|
||||
* Alpine Racer 1 AR1CCRH.5B, AR1CCRH.1D 4M SOP32
|
||||
* AR1CCRL.7B, AR1CCRL.3D 16M SOP44
|
||||
* AR1CG0.12B, AR1CG0.8D "
|
||||
@ -622,7 +622,7 @@
|
||||
* AR1PTRL1.16K "
|
||||
* AR1PTRL2.15K "
|
||||
* AR1PTRL3.14K "
|
||||
*
|
||||
*
|
||||
* Alpine Racer 2 ARS1CCRH.5B, ARS1CCRH.1D 4M SOP32
|
||||
* ARS1CCRL.7B, ARS1CCRL.3D 16M SOP44
|
||||
* ARS1CG0.12B, ARS1CG0.8D "
|
||||
@ -644,7 +644,7 @@
|
||||
* ARS1PTRL1.16K "
|
||||
* ARS1PTRL2.15K "
|
||||
* ARS1PTRL3.14K "
|
||||
*
|
||||
*
|
||||
* Alpine Surfer AF1CCRH.5B, AF1CCRH.1D 4M SOP32
|
||||
* AF1CCRL.7B, AF1CCRL.3D 16M SOP44
|
||||
* AF1CG0.12B, AF1CG0.8D "
|
||||
@ -659,7 +659,7 @@
|
||||
* AF1PTRM1.16J "
|
||||
* AF1PTRL0.18K "
|
||||
* AF1PTRL1.16K "
|
||||
*
|
||||
*
|
||||
* Aqua Jet AJ1CCRH.5B, AJ1CCRH.1D 4M SOP32
|
||||
* AJ1CCRL.7B, AJ1CCRL.3D 16M SOP44
|
||||
* AJ1CG0.12B, AJ1CG0.8D "
|
||||
@ -685,7 +685,7 @@
|
||||
* AJ1PTRL1.16K "
|
||||
* AJ1PTRL2.15K "
|
||||
* AJ1PTRL3.14K "
|
||||
*
|
||||
*
|
||||
* Cyber Cycles CB1CCRH.5B, CB1CCRH.1D 4M SOP32
|
||||
* CB1CCRL.7B, CB1CCRL.3D 16M SOP44
|
||||
* CB1CG0.12B, CB1CG0.8D "
|
||||
@ -709,9 +709,9 @@
|
||||
* CB1PTRL1.16K "
|
||||
* CB1PTRL2.15K "
|
||||
* CB1PTRL3.14K "
|
||||
*
|
||||
*
|
||||
* Dirt Dash N/A
|
||||
*
|
||||
*
|
||||
* Prop Cycle PR1CCRH.5B, PR1CCRH.1D 4M SOP32
|
||||
* PR1CCRL.7B, PR1CCRL.3D 16M SOP44
|
||||
* PR1CG0.12B, PR1CG0.8D "
|
||||
@ -733,7 +733,7 @@
|
||||
* PR1PTRL0.18K "
|
||||
* PR1PTRL1.16K "
|
||||
* PR1PTRL2.15K "
|
||||
*
|
||||
*
|
||||
* Time Crisis TS1CCRH.5B, TS1CCRH.1D 4M SOP32
|
||||
* TS1CCRL.7B, TS1CCRL.3D 16M SOP44
|
||||
* TS1CG0.12B, TS1CG0.8D "
|
||||
@ -759,7 +759,7 @@
|
||||
* TS1PTRL0.18K "
|
||||
* TS1PTRL1.16K "
|
||||
* TS1PTRL2.15K "
|
||||
*
|
||||
*
|
||||
* Tokyo Wars TW1CCRH.5B, TW1CCRH.1D 4M SOP32
|
||||
* TW1CCRL.7B, TW1CCRL.3D 16M SOP44
|
||||
* TW1CG0.12B, TW1CG0.8D "
|
||||
@ -786,8 +786,8 @@
|
||||
* TW1PTRL1.16K "
|
||||
* TW1PTRL2.15K "
|
||||
* TW1PTRL3.14K "
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* ROM PCB (type 2)
|
||||
* -------
|
||||
* SS22DS FLASH PCB 8650961300 (8650971300)
|
||||
@ -822,10 +822,10 @@
|
||||
* | SS22DSF2 F1L F1M F1J F1E |
|
||||
* |--------------------------------------------------------------|
|
||||
* (logic chips omitted from the PCB layout)
|
||||
*
|
||||
*
|
||||
* Notes:
|
||||
* 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
|
||||
* as a 'DHD harness'
|
||||
* 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')
|
||||
* SS22DSF2 : EPM7032 (x2, PLCC44, labelled 'SS22DSF2')
|
||||
* HM628128 : Hitachi HM628128 128k x8 SRAM (TSOP32)
|
||||
*
|
||||
*
|
||||
* Game ROMs populated (All Intel E28F016SA TSOP56 16M FlashROMs)
|
||||
* -----------------------------------------------------------------
|
||||
* Armidillo Racing F1E, F1J, F2E, F2J - CCRL/CCRH ROMs
|
||||
*
|
||||
*
|
||||
* F4E, F4J, F5E, F5J, F6E, F6J, \
|
||||
* F7E, F7J, F8E, F8J, F9E, F9J, \ CGx ROMs
|
||||
* F11E, F11J, F12E, F12J /
|
||||
*
|
||||
*
|
||||
* F1L, F1M, F3L, F3M, F5L, F5M, \
|
||||
* F7L, F7M / SCGx ROMs
|
||||
*
|
||||
*
|
||||
* F9L, F11L, F12L, F13L, \
|
||||
* F12M, F13M / PTR ROMs
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* VIDEO PCB
|
||||
* ---------
|
||||
* 1st Revision
|
||||
* SYSTEM SUPER22 VIDEO 8646960204 (8646970204)
|
||||
*
|
||||
*
|
||||
* 2nd Revision
|
||||
* SYSTEM SUPER22 VIDEO(B) 8646961200 (8646971200)
|
||||
*
|
||||
*
|
||||
* 3rd Revision (PCB layout shown below)
|
||||
* SYSTEM SUPER22 VIDEO(C) 8646962700 (8646972700)
|
||||
* |--------------------------------------------------------------|
|
||||
@ -891,7 +891,7 @@
|
||||
* | |---------| |---------| N341256 CXD1178Q |
|
||||
* |--------------------------------------------------------------|
|
||||
* (logic chips omitted from the PCB layout)
|
||||
*
|
||||
*
|
||||
* Notes:
|
||||
* JV3 : Custom Namco connector joining this PCB to the MROM PCB with a special flat cable known
|
||||
* as a 'DHD harness'
|
||||
@ -920,16 +920,16 @@
|
||||
* video faults on Namco Super System 22 PCBs.
|
||||
* (Second reason for video faults is generally attributed
|
||||
* to failure of RAM on this PCB and/or the DSP PCB)
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* Motherboard PCB
|
||||
* ---------------
|
||||
* 1st Revision
|
||||
* SYSTEM SUPER22 MOTHER PCB 8646960602 (8646970602)
|
||||
*
|
||||
*
|
||||
* 2nd Revision
|
||||
* SYSTEM SUPER22 MOTHER(B) PCB (number not known)
|
||||
*
|
||||
*
|
||||
* 3rd Revision
|
||||
* SYSTEM SUPER22 MOTHER(C) PCB 8646960602 (8646970602)
|
||||
* |------------------------------------------------------------------|
|
||||
@ -952,12 +952,12 @@
|
||||
* Notes:
|
||||
* IC1 : LB1233 (DIP8)
|
||||
* IC2, IC3: LB1235 (DIP8)
|
||||
*
|
||||
*
|
||||
* JC1, JC2: Connectors to plug in CPU PCB
|
||||
* JD1, JD2: Connectors to plug in DSP PCB
|
||||
* JR1 : Connector to plug in MROM PCB
|
||||
* JV1, JV2: Connectors to plug in VIDEO PCB
|
||||
*
|
||||
*
|
||||
* J1 : 9 pin power input socket Pin Use
|
||||
* -----------
|
||||
* 1 +5V
|
||||
@ -969,7 +969,7 @@
|
||||
* 7 Ground
|
||||
* 8 NC
|
||||
* 9 +12V
|
||||
*
|
||||
*
|
||||
* J2 : 9 pin link connector Pin Use
|
||||
* --------------
|
||||
* 1 Ring In+
|
||||
@ -981,7 +981,7 @@
|
||||
* 7 /TXD (NC)
|
||||
* 8 GND (NC)
|
||||
* 9 +5V (NC)
|
||||
*
|
||||
*
|
||||
* J3 : 9 pin socket Pin Use
|
||||
* -------------------
|
||||
* 1 Service Credit
|
||||
@ -993,7 +993,7 @@
|
||||
* 7 Ground
|
||||
* 8 Coin Sw
|
||||
* 9 NC
|
||||
*
|
||||
*
|
||||
* J4 : 8 pin connector Pin Use
|
||||
* -------------------------------------
|
||||
* 1 Start
|
||||
@ -1004,7 +1004,7 @@
|
||||
* 6 NC
|
||||
* 7 Ground
|
||||
* 8 Ground
|
||||
*
|
||||
*
|
||||
* J5 : 15 pin socket Pin Use
|
||||
* ---------------
|
||||
* 1 Relay1
|
||||
@ -1022,7 +1022,7 @@
|
||||
* 13 +12V
|
||||
* 14 +5V
|
||||
* 15 NC
|
||||
*
|
||||
*
|
||||
* J6 : 12 pin audio output connector Pin Use
|
||||
* ----------
|
||||
* 1 SPKL+
|
||||
@ -1037,7 +1037,7 @@
|
||||
* 10 NC
|
||||
* 11 NC
|
||||
* 12 NC
|
||||
*
|
||||
*
|
||||
* J7 : 12 pin analog controls socket Pin Use
|
||||
* ---------------------------
|
||||
* 1 +5V
|
||||
@ -1052,9 +1052,9 @@
|
||||
* 10 NC
|
||||
* 11 NC
|
||||
* 12 NC
|
||||
*
|
||||
*
|
||||
* J8 : 10 pin connector (not used?)
|
||||
*
|
||||
*
|
||||
* J9 : 6 pin video output socket Pin Use
|
||||
* ---------
|
||||
* 1 Red
|
||||
@ -1063,10 +1063,10 @@
|
||||
* 4 Composite Sync (VSync 15kHz interlaced)
|
||||
* 5 Ground
|
||||
* 6 NC
|
||||
*
|
||||
*
|
||||
* J10: 16 pin flat cable connector (only populated on Mother(C) PCB, use not known)
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
* AMP PCB
|
||||
* -------
|
||||
* SYSTEM SUPER22 AMP(4) PCB 8647960100 (8647970100) (sticker 'AMP(2) PCB 8647961100')
|
||||
@ -1081,14 +1081,14 @@
|
||||
* 1 +12V
|
||||
* 2 Ground
|
||||
* 3 NC
|
||||
*
|
||||
*
|
||||
* J2 : 4 pin dual speaker output socket Pin Use
|
||||
* ---------
|
||||
* 1 SP1+
|
||||
* 2 SP1-
|
||||
* 3 SP2+
|
||||
* 4 SP2-
|
||||
*
|
||||
*
|
||||
* J3 : 8 pin sound data input connector from Mother PCB J6 Pin Use
|
||||
* ----------
|
||||
* 1 SPKL+
|
||||
@ -1099,7 +1099,7 @@
|
||||
* 6 NC
|
||||
* 7 NC
|
||||
* 8 NC
|
||||
*
|
||||
*
|
||||
* *1 : Unpopulated position for a 2nd LA4705 Power Amp
|
||||
* *2 : J4 - Unpopulated position for another 4 pin dual speaker output socket
|
||||
* 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( 0x8000, "4" )
|
||||
PORT_DIPSETTING( 0x0000, "5" )
|
||||
|
||||
|
||||
PORT_START("COIN") /* referenced by seibu sound board */
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
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_DIPSETTING( 0x0080, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
|
||||
|
||||
PORT_START("COIN") /* referenced by seibu sound board */
|
||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
@ -67,24 +67,24 @@
|
||||
|
||||
********************************************************************
|
||||
IREM 'WW III' 1981
|
||||
|
||||
|
||||
From readme (Stefan Lindberg)
|
||||
|
||||
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
|
||||
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?
|
||||
it's hard to see because the sticker has been damaged.
|
||||
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
|
||||
like that type.
|
||||
|
||||
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
|
||||
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?
|
||||
it's hard to see because the sticker has been damaged.
|
||||
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
|
||||
like that type.
|
||||
|
||||
Board set consists of:
|
||||
M-27MB (Main board)
|
||||
M-27SC
|
||||
M-37B (Sound board)
|
||||
M-33 SUB-1
|
||||
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
@ -363,7 +363,7 @@ ROM_START( ww3 )
|
||||
ROM_LOAD( "w3i9.3e", 0x9000, 0x1000, CRC(8c5884a4) )
|
||||
ROM_LOAD( "w3ia.3c", 0xa000, 0x1000, CRC(dccb8605) )
|
||||
ROM_LOAD( "w3ib.3a", 0xb000, 0x1000, CRC(3658e465) )
|
||||
|
||||
|
||||
ROM_REGION( 0x10000, "audio", 0 )
|
||||
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
|
||||
*/
|
||||
|
||||
// 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( "wb03.bin", 0x00000, 0x10000, CRC(df56e168) SHA1(20dbabdd97e6f3d4bf6500bf9e8476942cb48ae3) )
|
||||
// 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( "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( bakubrkr ) /* (c) 1992 Kaneko */
|
||||
DRIVER( shogwarr ) /* (c) 1992 Kaneko */
|
||||
DRIVER( shogware ) /* (c) 1992 Kaneko */
|
||||
DRIVER( fjbuster ) /* (c) 1992 Kaneko */
|
||||
DRIVER( brapboys ) /* (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;
|
||||
int offs;
|
||||
|
||||
|
||||
/* this is a temporary guess until the sprite hardware is better understood */
|
||||
/* there is some additional clipping, but this may not be it */
|
||||
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)
|
||||
{
|
||||
|
||||
|
||||
INT16 ax,ay;
|
||||
|
||||
|
||||
int cpx_t=sx;
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void HD63484_command_w(UINT16 cmd)
|
||||
@ -1014,17 +1014,17 @@ logerror("unsupported register\n");
|
||||
cpx = (INT16)fifo[1];
|
||||
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+(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,cpy+(INT16)fifo[2],cpx,cpy,fifo[0]&7);
|
||||
|
||||
|
||||
cpx += (INT16)fifo[1];
|
||||
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;
|
||||
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+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,cpy+fifo[2],cpx,cpy,fifo[0]&7);
|
||||
|
||||
|
||||
cpx=cpx+(INT16)fifo[1];
|
||||
cpy=cpy+(INT16)fifo[2];
|
||||
}
|
||||
|
@ -141,7 +141,7 @@ static VIDEO_START( redalert )
|
||||
redalert_bitmap_colorram = auto_malloc(0x0400);
|
||||
|
||||
state_save_register_global_pointer(redalert_bitmap_colorram, 0x0400);
|
||||
|
||||
|
||||
redalert_control_xor = 0x00;
|
||||
}
|
||||
|
||||
@ -324,14 +324,14 @@ MACHINE_DRIVER_START( redalert_video )
|
||||
|
||||
MDRV_VIDEO_START(redalert)
|
||||
MDRV_IMPORT_FROM( redalert_video_common )
|
||||
|
||||
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
MACHINE_DRIVER_START( ww3_video )
|
||||
|
||||
MDRV_VIDEO_START( ww3 )
|
||||
MDRV_IMPORT_FROM( redalert_video_common )
|
||||
|
||||
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
|
@ -141,7 +141,7 @@ chd_error chdcd_parse_gdi(const char *tocfname, cdrom_toc *outtoc, chdcd_track_i
|
||||
numtracks=atoi(linebuffer);
|
||||
|
||||
for(i=0;i<numtracks;++i)
|
||||
{
|
||||
{
|
||||
char *tok;
|
||||
int trknum;
|
||||
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);
|
||||
|
||||
|
||||
tok=strtok(linebuffer," ");
|
||||
|
||||
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," ");
|
||||
outtoc->tracks[trknum].physframeofs=atoi(tok);
|
||||
|
||||
|
||||
tok=strtok(NULL," ");
|
||||
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].datasize=2352;
|
||||
}
|
||||
|
||||
|
||||
tok=strtok(NULL," ");
|
||||
strcpy(&(outinfo->fname[trknum][0]),tok);
|
||||
sz=get_file_size(outinfo->fname[trknum]);
|
||||
|
||||
outtoc->tracks[trknum].frames=sz/trksize;
|
||||
outtoc->tracks[trknum].extraframes=0;
|
||||
|
||||
|
||||
if(trknum!=0)
|
||||
{
|
||||
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)
|
||||
{
|
||||
outtoc->tracks[trknum-1].extraframes=outtoc->tracks[trknum].physframeofs-(outtoc->tracks[trknum-1].frames+outtoc->tracks[trknum-1].physframeofs);
|
||||
}
|
||||
if(trknum!=0)
|
||||
{
|
||||
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;
|
||||
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)
|
||||
{
|
||||
printf("%s %d %d %d\n",outinfo->fname[i],outtoc->tracks[i].frames,outtoc->tracks[i].extraframes,outtoc->tracks[i].physframeofs);
|
||||
}
|
||||
*/
|
||||
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);
|
||||
}
|
||||
*/
|
||||
/* close the input TOC */
|
||||
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