mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
Cleanups and version bump.
This commit is contained in:
parent
78c12f1b82
commit
4a5001927c
@ -128,14 +128,14 @@ static const char *const Formats[] = {
|
||||
FMT("1101_0111 I", "LD (R7:$%02X),LP0"), // D7 : hvoltage; not sure if R7 or R77
|
||||
FMT("1101_1000 I", "LD A,($%02X)"), // D8 : equites
|
||||
FMT("1101_1001 I", "LD ($%02X),A"), // D9 : equites
|
||||
FMT("1101_1010 I", "CMP A,$%02X"), // DA :
|
||||
FMT("1101_1010 I", "CMP A,$%02X"), // DA :
|
||||
FMT("1101_1011 I", "XOR A,$%02X"), // DB : equites splndrbt
|
||||
FMT("1101_1100 I", "unk $%02X"), // DC : not found (LD A,R($%02X) ?)
|
||||
FMT("1101_1101 I", "LD R($%02X),A"), // DD : equites, splndrbt
|
||||
FMT("1101_1110 I", "unk $%02X"), // DE : not found
|
||||
FMT("1101_1111 I", "CALL $%02X"), // DF :
|
||||
FMT("1101_1111 I", "CALL $%02X"), // DF :
|
||||
|
||||
FMT("1110_0000", "DEC IX0"), // E0 :
|
||||
FMT("1110_0000", "DEC IX0"), // E0 :
|
||||
FMT("1110_0001", "unknown"), // E1 : not found (DEC IX1?)
|
||||
FMT("1110_0010", "unknown"), // E2 : not found (DEC IX2?)
|
||||
FMT("1110_0011", "ld a,unk ?"), // E3 : exctsccr in pair with EB
|
||||
@ -143,9 +143,9 @@ static const char *const Formats[] = {
|
||||
FMT("1110_0101", "LD A,B"), // E5 : splndrbt
|
||||
FMT("1110_0110", "EXG A,LP0"), // E6 : splndrbt, bullfgtr, kouyakyu. EXG, not LD: see splndrbt $3ba to $3d3
|
||||
FMT("1110_0111", "unknown"), // E7 : not found
|
||||
FMT("1110_1000", "LD IX0,A"), // E8 :
|
||||
FMT("1110_1000", "LD IX0,A"), // E8 :
|
||||
FMT("1110_1001", "ld ix1,a ?"), // E9 : not found
|
||||
FMT("1110_1010", "LD IX2,A"), // EA :
|
||||
FMT("1110_1010", "LD IX2,A"), // EA :
|
||||
FMT("1110_1011", "ld unk,a ?"), // EB : exctsccr in pair with E3. unk is not LP0, IX0, IX2
|
||||
FMT("1110_1100", "unknown"), // EC : not found
|
||||
FMT("1110_1101", "LD B,A"), // ED : splndrbt
|
||||
@ -161,12 +161,12 @@ static const char *const Formats[] = {
|
||||
FMT("1111_0111", "unknown"), // F7 : not found
|
||||
FMT("1111_1000", "sub/cmp a,(rxb) ?"), // F8 : exctsccr : ZF check could be CMP instead? see DA/DB
|
||||
FMT("1111_1001", "XOR A,(RXB)"), // F9 : exctsccr
|
||||
FMT("1111_1010", "ADD A,CF"), // FA :
|
||||
FMT("1111_1010", "ADD A,CF"), // FA :
|
||||
FMT("1111_1011", "unknown"), // FB : not found (SUB A,CF ?)
|
||||
FMT("1111_1100", "TST A"), // FC : ZF = (A==0) ?
|
||||
FMT("1111_1101", "CLR A"), // FD :
|
||||
FMT("1111_1110", "LD A,(IX0+A)"), // FE :
|
||||
FMT("1111_1111", "RET"), // FF :
|
||||
FMT("1111_1101", "CLR A"), // FD :
|
||||
FMT("1111_1110", "LD A,(IX0+A)"), // FE :
|
||||
FMT("1111_1111", "RET"), // FF :
|
||||
NULL
|
||||
};
|
||||
|
||||
|
@ -268,7 +268,7 @@ INLINE void M_XOR(UINT8 dat)
|
||||
{
|
||||
R.A ^= dat;
|
||||
ZF = (R.A==0);
|
||||
// CF = 0; unknown whether it's affected or not
|
||||
// CF = 0; unknown whether it's affected or not
|
||||
}
|
||||
|
||||
INLINE void M_JMP(UINT8 dat)
|
||||
|
@ -460,7 +460,7 @@ void device_list_start(running_machine *machine)
|
||||
for (device = (device_config *)machine->config->devicelist; device != NULL; device = device->next)
|
||||
{
|
||||
UINT32 tokenlen;
|
||||
|
||||
|
||||
assert(device->token == NULL);
|
||||
assert(device->type != NULL);
|
||||
assert(device->start != NULL);
|
||||
@ -501,7 +501,7 @@ static void device_list_stop(running_machine *machine)
|
||||
/* if we have a stop function, call it */
|
||||
if (device->stop != NULL)
|
||||
(*device->stop)(device);
|
||||
|
||||
|
||||
/* free allocated memory for the token */
|
||||
if (device->token != NULL)
|
||||
free(device->token);
|
||||
|
@ -1456,7 +1456,7 @@ void render_target_get_minimum_size(render_target *target, INT32 *minwidth, INT3
|
||||
screens_considered++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* if there were no screens considered, pick a nominal default */
|
||||
if (screens_considered == 0)
|
||||
{
|
||||
|
@ -1136,7 +1136,7 @@ void video_screen_register_vblank_callback(const device_config *screen, vblank_s
|
||||
***************************************************************************/
|
||||
|
||||
/*-------------------------------------------------
|
||||
device_start_video_screen - device start
|
||||
device_start_video_screen - device start
|
||||
callback for a video screen
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -1216,7 +1216,7 @@ static DEVICE_START( video_screen )
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
device_stop_video_screen - device stop
|
||||
device_stop_video_screen - device stop
|
||||
callback for a video screen
|
||||
-------------------------------------------------*/
|
||||
|
||||
|
@ -973,8 +973,8 @@ static INPUT_PORTS_START( lupin3 )
|
||||
PORT_INCLUDE( invrvnge )
|
||||
|
||||
PORT_MODIFY("IN0")
|
||||
//PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* selects color mode (dynamic vs. static) */
|
||||
//PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* something has to do with sound */
|
||||
//PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* selects color mode (dynamic vs. static) */
|
||||
//PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* something has to do with sound */
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_TILT )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_COCKTAIL
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
@ -1005,7 +1005,7 @@ static INPUT_PORTS_START( lupin3 )
|
||||
PORT_DIPNAME(0x80, 0x00, "Invulnerability (Cheat)") PORT_DIPLOCATION("SW1:8")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
|
||||
|
||||
/* Dummy port for cocktail mode (not used) */
|
||||
PORT_MODIFY(CABINET_PORT_TAG)
|
||||
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
|
@ -459,18 +459,18 @@ static INPUT_PORTS_START( bbusters )
|
||||
PORT_DIPSETTING( 0x02, "9 / 4" )
|
||||
PORT_DIPSETTING( 0x00, "12 / 5" )
|
||||
/* Manual (from a different revision/region?) says:
|
||||
SW1:4 SW1:5 SW1:6
|
||||
1C_1C 1 To continue OFF OFF OFF
|
||||
2C_1C 1 To continue ON OFF OFF
|
||||
1C_2C 1 To continue OFF ON OFF
|
||||
2C_1C 2 To continue ON ON OFF
|
||||
3C_1C 1 To continue OFF OFF ON
|
||||
3C_1C 2 To continue ON OFF ON
|
||||
4C_3C 1 To continue OFF ON ON
|
||||
Free Play Mode OFF OFF OFF
|
||||
SW1:4 SW1:5 SW1:6
|
||||
1C_1C 1 To continue OFF OFF OFF
|
||||
2C_1C 1 To continue ON OFF OFF
|
||||
1C_2C 1 To continue OFF ON OFF
|
||||
2C_1C 2 To continue ON ON OFF
|
||||
3C_1C 1 To continue OFF OFF ON
|
||||
3C_1C 2 To continue ON OFF ON
|
||||
4C_3C 1 To continue OFF ON ON
|
||||
Free Play Mode OFF OFF OFF
|
||||
|
||||
SW1:7 Unused
|
||||
SW1:8 Blood color: ON=green OFF=red */
|
||||
SW1:7 Unused
|
||||
SW1:8 Blood color: ON=green OFF=red */
|
||||
PORT_DIPNAME( 0x18, 0x18, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:4,5")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
|
||||
|
@ -2065,7 +2065,7 @@ static INPUT_PORTS_START( sltblgpo )
|
||||
|
||||
PORT_MODIFY("STROBE3")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Collect") PORT_CODE(KEYCODE_C)
|
||||
|
||||
|
||||
PORT_MODIFY("STROBE9")
|
||||
PORT_SERVICE_NO_TOGGLE(0x01,IP_ACTIVE_HIGH)
|
||||
PORT_DIPNAME( 0x02, 0x00, "Hopper Limit" )PORT_DIPLOCATION("DIL:!02")
|
||||
|
@ -435,9 +435,9 @@ static WRITE8_HANDLER(equites_c0f8_w)
|
||||
|
||||
case 4: // c0fc: increment PROM address (written by NMI handler)
|
||||
equites_sound_prom_address = (equites_sound_prom_address + 1) & 0x1f;
|
||||
// FIXME: at this point, the 5-bit value
|
||||
// memory_region(REGION_SOUND1)[equites_sound_prom_address] & 0x1f
|
||||
// should be used for something...
|
||||
// FIXME: at this point, the 5-bit value
|
||||
// memory_region(REGION_SOUND1)[equites_sound_prom_address] & 0x1f
|
||||
// should be used for something...
|
||||
break;
|
||||
|
||||
case 5: // c0fd: n.c.
|
||||
|
@ -101,7 +101,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x8800, 0x8bff) AM_RAM AM_BASE(&spriteram_2) /* ??? */
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0xa000, 0xa000) AM_WRITENOP /* ??? toggled twice at end of irq handler */
|
||||
// AM_RANGE(0xa001, 0xa001) AM_WRITENOP /* ??? */
|
||||
// AM_RANGE(0xa001, 0xa001) AM_WRITENOP /* ??? */
|
||||
AM_RANGE(0xa002, 0xa002) AM_WRITE(exctsccr_gfx_bank_w)
|
||||
AM_RANGE(0xa003, 0xa003) AM_WRITE(exctsccr_flipscreen_w)
|
||||
AM_RANGE(0xa006, 0xa006) AM_WRITE(exctsccr_mcu_halt_w)
|
||||
@ -121,7 +121,7 @@ static ADDRESS_MAP_START( sub_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xc008, 0xc009) AM_WRITE(exctsccr_DAC_data_w)
|
||||
AM_RANGE(0xc00c, 0xc00c) AM_WRITE(soundlatch_clear_w)
|
||||
AM_RANGE(0xc00d, 0xc00d) AM_READ(soundlatch_r)
|
||||
// AM_RANGE(0xc00f, 0xc00f) AM_WRITE(MWA8_NOP) /* ??? */
|
||||
// AM_RANGE(0xc00f, 0xc00f) AM_WRITE(MWA8_NOP) /* ??? */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_writeport, ADDRESS_SPACE_IO, 8 )
|
||||
@ -171,7 +171,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( bl_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x5fff) AM_ROM
|
||||
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
|
||||
// AM_RANGE(0x8000, 0x8000) AM_WRITENOP /* 0 = DAC sound off, 1 = DAC sound on */
|
||||
// AM_RANGE(0x8000, 0x8000) AM_WRITENOP /* 0 = DAC sound off, 1 = DAC sound on */
|
||||
AM_RANGE(0xa000, 0xa000) AM_WRITE(soundlatch_clear_w)
|
||||
AM_RANGE(0xc000, 0xc000) AM_WRITE(exctsccr_DAC_data_w)
|
||||
AM_RANGE(0xe000, 0xe3ff) AM_RAM
|
||||
|
@ -37,11 +37,11 @@
|
||||
- PLDs 1x PAL16R4A (read protected)
|
||||
|
||||
- 1x TDA 2002 (8W. car radio audio amplifier)
|
||||
- 3x OUAZ SS-112D (relay 1 pole 12v)
|
||||
- 3x OUAZ SS-112D (relay 1 pole 12v)
|
||||
- 1x 4 DIP switches
|
||||
- 1x 30x2 edge connector
|
||||
- 1x 10 pins male connector
|
||||
- 2x trimmer (audio?)
|
||||
- 2x trimmer (audio?)
|
||||
|
||||
|
||||
PCB Layout:
|
||||
|
@ -133,7 +133,7 @@ TODO:
|
||||
|
||||
// PCM playback is controlled by a 555 timer
|
||||
#define NE555_FREQUENCY 16300 // measured on PCB
|
||||
//#define NE555_FREQUENCY (1.0f / (0.693 * (560 + 2*51) * 0.1e-6)) // theoretical: this gives 21.8kHz which is too high
|
||||
//#define NE555_FREQUENCY (1.0f / (0.693 * (560 + 2*51) * 0.1e-6)) // theoretical: this gives 21.8kHz which is too high
|
||||
|
||||
|
||||
static const INT16* ninjakd2_sampledata;
|
||||
|
@ -398,8 +398,8 @@ static INPUT_PORTS_START( wilytowr )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:!2")
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Upright ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
/* "For cabinets with a single coin selector or 2 coin selectors of the same value, set to Mode 1.
|
||||
For cabinets with coin selectors of two different values, set to Mode 2." */
|
||||
/* "For cabinets with a single coin selector or 2 coin selectors of the same value, set to Mode 1.
|
||||
For cabinets with coin selectors of two different values, set to Mode 2." */
|
||||
PORT_DIPNAME( 0x04, 0x00, "Coin Mode" ) PORT_DIPLOCATION("SW2:!3")
|
||||
PORT_DIPSETTING( 0x00, "Mode 1" )
|
||||
PORT_DIPSETTING( 0x04, "Mode 2" )
|
||||
|
@ -970,7 +970,7 @@ void atarigen_scanline_timer_reset(const device_config *screen, atarigen_scanlin
|
||||
emu_timer *timer = get_scanline_timer_for_screen(screen);
|
||||
timer_adjust_oneshot(timer, video_screen_get_time_until_pos(screen, 0, 0), 0);
|
||||
}
|
||||
|
||||
|
||||
/* implicitly allocate a scanline interrupt timer */
|
||||
get_scanline_interrupt_timer_for_screen(screen);
|
||||
|
||||
|
@ -140,7 +140,7 @@ PALETTE_INIT( cave )
|
||||
{
|
||||
int maxpen = cave_paletteram_size / 2;
|
||||
int pen;
|
||||
|
||||
|
||||
/* create a 1:1 palette map covering everything */
|
||||
palette_map = auto_malloc(machine->config->total_colors * sizeof(palette_map[0]));
|
||||
for (pen = 0; pen < machine->config->total_colors; pen++)
|
||||
@ -157,7 +157,7 @@ PALETTE_INIT( dfeveron )
|
||||
That's why we need this function. */
|
||||
|
||||
PALETTE_INIT_CALL(cave);
|
||||
|
||||
|
||||
for (color = 0; color < 0x40; color++)
|
||||
for (pen = 0; pen < 0x10; pen++)
|
||||
palette_map[(color << 8) | pen] = (color << 4) | pen;
|
||||
@ -173,7 +173,7 @@ PALETTE_INIT( ddonpach )
|
||||
any given color code. */
|
||||
|
||||
PALETTE_INIT_CALL(cave);
|
||||
|
||||
|
||||
for (color = 0; color < 0x40; color++)
|
||||
for (pen = 0; pen < 0x10; pen++)
|
||||
palette_map[0x8000 | (color << 4) | pen] = 0x4000 | (color << 8) | pen;
|
||||
|
@ -349,7 +349,7 @@ static void splndrbt_draw_sprites(running_machine *machine, bitmap_t *bitmap, co
|
||||
int scalex = spriteram16_2[offs+1] & 0x000f;
|
||||
int transmask = colortable_get_transpen_mask(machine->colortable, gfx, color, 0);
|
||||
|
||||
// const UINT8 * const xromline = xrom + (scalex << 4);
|
||||
// const UINT8 * const xromline = xrom + (scalex << 4);
|
||||
const UINT8 * const yromline = yrom + (scaley << 4) + (15 - scaley);
|
||||
const UINT8* const srcgfx = gfx->gfxdata + tile * gfx->char_modulo;
|
||||
const pen_t *paldata = &machine->pens[gfx->color_base + gfx->color_granularity * color];
|
||||
@ -367,12 +367,12 @@ static void splndrbt_draw_sprites(running_machine *machine, bitmap_t *bitmap, co
|
||||
{
|
||||
sy = 256 - sy;
|
||||
}
|
||||
|
||||
|
||||
for (yy = 0; yy <= scaley; ++yy)
|
||||
{
|
||||
int const line = yromline[yy];
|
||||
int yhalf;
|
||||
|
||||
|
||||
for (yhalf = 0; yhalf < 2; ++yhalf) // top or bottom half
|
||||
{
|
||||
int const y = yhalf ? sy + 1 + yy : sy - yy;
|
||||
@ -476,7 +476,7 @@ VIDEO_UPDATE( splndrbt )
|
||||
|
||||
if (fg_char_bank)
|
||||
tilemap_draw(bitmap, cliprect, fg_tilemap, 0, 0);
|
||||
|
||||
|
||||
splndrbt_draw_sprites(screen->machine, bitmap, cliprect);
|
||||
|
||||
if (!fg_char_bank)
|
||||
|
@ -9,4 +9,4 @@
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
const char build_version[] = "0.123u5 ("__DATE__")";
|
||||
const char build_version[] = "0.123u6 ("__DATE__")";
|
||||
|
Loading…
Reference in New Issue
Block a user