mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
Cleanups and version bump to 0.122u7.
This commit is contained in:
parent
97cf740a23
commit
877b75ad75
@ -1041,7 +1041,7 @@ UINT64 *_memory_install_write64_handler(int cpunum, int spacenum, offs_t start,
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
memory_install_readwriteX_handler - install
|
||||
memory_install_readwriteX_handler - install
|
||||
dynamic read and write handlers for X-bit case
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -1536,7 +1536,7 @@ static void install_mem_handler_private(addrspace_data *space, int iswrite, int
|
||||
offs_t temp_end = end;
|
||||
offs_t temp_mask = mask;
|
||||
offs_t temp_mirror = mirror;
|
||||
|
||||
|
||||
/* adjust the incoming addresses (temporarily) */
|
||||
adjust_addresses(space, ismatchmask, &temp_start, &temp_end, &temp_mask, &temp_mirror);
|
||||
|
||||
@ -1545,7 +1545,7 @@ static void install_mem_handler_private(addrspace_data *space, int iswrite, int
|
||||
if (!bank_ptr[HANDLER_TO_BANK(handler)])
|
||||
bank_ptr[HANDLER_TO_BANK(handler)] = memory_find_base(space->cpunum, space->spacenum, iswrite, temp_start);
|
||||
}
|
||||
|
||||
|
||||
/* then do a normal installation */
|
||||
install_mem_handler(space, iswrite, databits, ismatchmask, start, end, mask, mirror, handler, isfixed, handler_name);
|
||||
}
|
||||
|
@ -257,7 +257,7 @@ void dss_input_stream_step(node_description *node)
|
||||
// the context pointer is set to point to the current input stream data in discrete_stream_update
|
||||
stream_sample_t **ptr = node->context;
|
||||
stream_sample_t *data = *ptr;
|
||||
|
||||
|
||||
node->output = data ? (*data) * DSS_INPUT_STREAM__GAIN + DSS_INPUT_STREAM__OFFSET : 0;
|
||||
}
|
||||
|
||||
|
@ -500,7 +500,7 @@ static void discrete_stream_update(void *param, stream_sample_t **inputs, stream
|
||||
wav_add_data_16lr(info->disc_wav_file[outputnum], &wave_data_l, &wave_data_r, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* advance input streams */
|
||||
for (nodenum = 0; nodenum < info->discrete_input_streams; nodenum++)
|
||||
{
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
Harris HC-55516 (and related) emulator
|
||||
|
||||
Copyright Nicola Salmoria and the MAME Team
|
||||
Copyright Nicola Salmoria and the MAME Team
|
||||
|
||||
Notes:
|
||||
* The only difference between MC3417 and MC3418 is the number
|
||||
|
@ -89,7 +89,7 @@ struct tms5110
|
||||
|
||||
/* coefficient tables */
|
||||
const struct tms5100_coeffs *coeff;
|
||||
|
||||
|
||||
/* these contain data that describes the 64 bits FIFO */
|
||||
UINT8 fifo[FIFO_SIZE];
|
||||
UINT8 fifo_head;
|
||||
@ -174,16 +174,16 @@ void tms5110_set_variant(void *chip, int variant)
|
||||
|
||||
tms->variant = variant;
|
||||
}
|
||||
|
||||
|
||||
void *tms5110_create(int index, int variant)
|
||||
{
|
||||
struct tms5110 *tms;
|
||||
|
||||
tms = malloc_or_die(sizeof(*tms));
|
||||
memset(tms, 0, sizeof(*tms));
|
||||
|
||||
|
||||
tms5110_set_variant(tms, variant);
|
||||
|
||||
|
||||
state_save_register_item_array("tms5110", index, tms->fifo);
|
||||
state_save_register_item("tms5110", index, tms->fifo_head);
|
||||
state_save_register_item("tms5110", index, tms->fifo_tail);
|
||||
|
@ -80,33 +80,33 @@
|
||||
*
|
||||
****************************************************************/
|
||||
|
||||
#define MR_R6 RES_K(4.7) /* verified */
|
||||
#define MR_R7 RES_K(4.7) /* verified */
|
||||
#define MR_R17 RES_K(27) /* verified, 30K in schematics */
|
||||
#define MR_R18 RES_K(27) /* verified, 30K in schematics */
|
||||
#define MR_R19 RES_K(22) /* verified */
|
||||
#define MR_R20 RES_K(22) /* verified */
|
||||
#define MR_R40 RES_K(22) /* verified */
|
||||
#define MR_R41 RES_K(100) /* verified, hard to read */
|
||||
#define MR_R61 RES_K(47) /* verified, hard to read */
|
||||
#define MR_R64 RES_K(20) /* verified */
|
||||
#define MR_R65 RES_K(10) /* verified */
|
||||
#define MR_R6 RES_K(4.7) /* verified */
|
||||
#define MR_R7 RES_K(4.7) /* verified */
|
||||
#define MR_R17 RES_K(27) /* verified, 30K in schematics */
|
||||
#define MR_R18 RES_K(27) /* verified, 30K in schematics */
|
||||
#define MR_R19 RES_K(22) /* verified */
|
||||
#define MR_R20 RES_K(22) /* verified */
|
||||
#define MR_R40 RES_K(22) /* verified */
|
||||
#define MR_R41 RES_K(100) /* verified, hard to read */
|
||||
#define MR_R61 RES_K(47) /* verified, hard to read */
|
||||
#define MR_R64 RES_K(20) /* verified */
|
||||
#define MR_R65 RES_K(10) /* verified */
|
||||
|
||||
#define MR_C3 CAP_U(10) /* verified */
|
||||
#define MR_C4 CAP_U(47) /* illegible, 4.7 or 47 pcb/schematics */
|
||||
#define MR_C5 CAP_N(39) /* illegible on pcb */
|
||||
#define MR_C6 CAP_N(3.9) /* illegible on pcb */
|
||||
#define MR_C14 CAP_U(4.7) /* verified */
|
||||
#define MR_C15 CAP_U(4.7) /* verified */
|
||||
#define MR_C16 CAP_N(6.8) /* verified */
|
||||
#define MR_C17 CAP_N(22) /* illegible on pcb */
|
||||
#define MR_C31 CAP_U(0.022) /* not found */
|
||||
#define MR_C32 CAP_U(1) /* illegible on pcb */
|
||||
#define MR_C39 CAP_N(4.7) /* not found */
|
||||
#define MR_C40 CAP_N(22) /* verified */
|
||||
#define MR_C41 CAP_U(4.7) /* verified, hard to read */
|
||||
#define MR_C43 CAP_U(3.3) /* verified */
|
||||
#define MR_C44 CAP_U(3.3) /* verified */
|
||||
#define MR_C3 CAP_U(10) /* verified */
|
||||
#define MR_C4 CAP_U(47) /* illegible, 4.7 or 47 pcb/schematics */
|
||||
#define MR_C5 CAP_N(39) /* illegible on pcb */
|
||||
#define MR_C6 CAP_N(3.9) /* illegible on pcb */
|
||||
#define MR_C14 CAP_U(4.7) /* verified */
|
||||
#define MR_C15 CAP_U(4.7) /* verified */
|
||||
#define MR_C16 CAP_N(6.8) /* verified */
|
||||
#define MR_C17 CAP_N(22) /* illegible on pcb */
|
||||
#define MR_C31 CAP_U(0.022) /* not found */
|
||||
#define MR_C32 CAP_U(1) /* illegible on pcb */
|
||||
#define MR_C39 CAP_N(4.7) /* not found */
|
||||
#define MR_C40 CAP_N(22) /* verified */
|
||||
#define MR_C41 CAP_U(4.7) /* verified, hard to read */
|
||||
#define MR_C43 CAP_U(3.3) /* verified */
|
||||
#define MR_C44 CAP_U(3.3) /* verified */
|
||||
|
||||
|
||||
|
||||
|
@ -386,7 +386,7 @@ DISCRETE_SOUND_START(phoenix)
|
||||
DISCRETE_SOUND_END
|
||||
|
||||
WRITE8_HANDLER( phoenix_sound_control_a_w )
|
||||
{
|
||||
{
|
||||
discrete_sound_w(PHOENIX_EFFECT_2_DATA, data & 0x0f);
|
||||
discrete_sound_w(PHOENIX_EFFECT_2_FREQ, (data & 0x30) >> 4);
|
||||
// discrete_sound_w(PHOENIX_EFFECT_3_EN , data & 0x40);
|
||||
@ -401,7 +401,7 @@ SOUND_START( phoenix)
|
||||
sound_latch_a = 0;
|
||||
memset(&c24_state, 0, sizeof(c24_state));
|
||||
memset(&c25_state, 0, sizeof(c25_state));
|
||||
memset(&noise_state, 0, sizeof(noise_state));
|
||||
memset(&noise_state, 0, sizeof(noise_state));
|
||||
|
||||
state_save_register_global(sound_latch_a);
|
||||
state_save_register_global(c24_state.counter);
|
||||
@ -413,7 +413,7 @@ SOUND_START( phoenix)
|
||||
state_save_register_global(noise_state.polyoffs);
|
||||
state_save_register_global(noise_state.lowpass_counter);
|
||||
state_save_register_global(noise_state.lowpass_polybit);
|
||||
|
||||
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( phoenix_sound_control_b_w )
|
||||
|
@ -52,26 +52,26 @@
|
||||
|
||||
Todo:
|
||||
* Sprite priorities aren't verified to be 100% accurate.
|
||||
(Addendum - all known issues seem to be correct - see Sprite Priority Notes below).
|
||||
(Addendum - all known issues seem to be correct - see Sprite Priority Notes below).
|
||||
* There may be some kind of fullscreen palette effect (controlled by bit 3 in priority
|
||||
word - used at end of each level, and on final boss).
|
||||
* A shadow effect (used in level 1) is not implemented.
|
||||
|
||||
Sprite Priority Notes:
|
||||
* On the Imperial Science Museum level at the beginning, you fly behind a wall, but your
|
||||
shots go in front of it. This is verified to be correct behavior by Guru.
|
||||
* There's a level where the player passes through several columns in a building and the
|
||||
player goes behind every 2nd one. That is correct as well.
|
||||
* There is a fire hydrant with an odd-looking spray of water on various levels.
|
||||
If you drop the hydrant in front of an enemy (a tank, for example), the priorities are
|
||||
wrong. This is actual PCB behavior. Also, the strange-looking water spray is correct.
|
||||
Sprite Priority Notes:
|
||||
* On the Imperial Science Museum level at the beginning, you fly behind a wall, but your
|
||||
shots go in front of it. This is verified to be correct behavior by Guru.
|
||||
* There's a level where the player passes through several columns in a building and the
|
||||
player goes behind every 2nd one. That is correct as well.
|
||||
* There is a fire hydrant with an odd-looking spray of water on various levels.
|
||||
If you drop the hydrant in front of an enemy (a tank, for example), the priorities are
|
||||
wrong. This is actual PCB behavior. Also, the strange-looking water spray is correct.
|
||||
|
||||
Alpha Blend Note:
|
||||
* There are semi-transparent round spots around your plane while fighting the final boss.
|
||||
These are correct.
|
||||
* The final boss shoots a blue beam downwards during the battle. This should have alpha.
|
||||
It fades in to blue, then fades out to nothing again after a few seconds (Guru).
|
||||
(Potentially related to note above about bit 3 in priority word)
|
||||
Alpha Blend Note:
|
||||
* There are semi-transparent round spots around your plane while fighting the final boss.
|
||||
These are correct.
|
||||
* The final boss shoots a blue beam downwards during the battle. This should have alpha.
|
||||
It fades in to blue, then fades out to nothing again after a few seconds (Guru).
|
||||
(Potentially related to note above about bit 3 in priority word)
|
||||
*/
|
||||
|
||||
#include "driver.h"
|
||||
|
@ -113,18 +113,18 @@ static UINT8 *rambase;
|
||||
*************************************/
|
||||
|
||||
/*
|
||||
Based on the Solar Warrior schematics, vertical timing counts as follows:
|
||||
Based on the Solar Warrior schematics, vertical timing counts as follows:
|
||||
|
||||
08,09,0A,0B,...,FC,FD,FE,FF,E8,E9,EA,EB,...,FC,FD,FE,FF,
|
||||
08,09,....
|
||||
08,09,0A,0B,...,FC,FD,FE,FF,E8,E9,EA,EB,...,FC,FD,FE,FF,
|
||||
08,09,....
|
||||
|
||||
Thus, it counts from 08 to FF, then resets to E8 and counts to FF again.
|
||||
This gives (256 - 8) + (256 - 232) = 248 + 24 = 272 total scanlines.
|
||||
Thus, it counts from 08 to FF, then resets to E8 and counts to FF again.
|
||||
This gives (256 - 8) + (256 - 232) = 248 + 24 = 272 total scanlines.
|
||||
|
||||
VBLK is signalled starting when the counter hits F8, and continues through
|
||||
the reset to E8 and through until the next reset to 08 again.
|
||||
VBLK is signalled starting when the counter hits F8, and continues through
|
||||
the reset to E8 and through until the next reset to 08 again.
|
||||
|
||||
Since MAME's video timing is 0-based, we need to convert this.
|
||||
Since MAME's video timing is 0-based, we need to convert this.
|
||||
*/
|
||||
|
||||
INLINE int scanline_to_vcount(int scanline)
|
||||
|
@ -191,7 +191,7 @@ static INPUT_PORTS_START( mpatrol )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
|
||||
|
||||
|
||||
/* Fake port to support the two different coin modes */
|
||||
PORT_START_TAG("FAKE")
|
||||
PORT_DIPNAME( 0x0f, 0x0f, "Coinage Mode 1" ) /* mapped on coin mode 1 */
|
||||
|
@ -943,26 +943,26 @@ INPUT_PORTS_END
|
||||
|
||||
static MACHINE_RESET( peplus )
|
||||
{
|
||||
/*
|
||||
/*
|
||||
AutoHold Feature Currently Disabled
|
||||
|
||||
// pepp0158
|
||||
program_ram[0xa19f] = 0x22; // RET - Disable Memory Test
|
||||
program_ram[0xddea] = 0x22; // RET - Disable Program Checksum
|
||||
autohold_addr = 0x5ffe; // AutoHold Address
|
||||
program_ram[0xa19f] = 0x22; // RET - Disable Memory Test
|
||||
program_ram[0xddea] = 0x22; // RET - Disable Program Checksum
|
||||
autohold_addr = 0x5ffe; // AutoHold Address
|
||||
|
||||
// pepp0188
|
||||
program_ram[0x9a8d] = 0x22; // RET - Disable Memory Test
|
||||
program_ram[0xf429] = 0x22; // RET - Disable Program Checksum
|
||||
autohold_addr = 0x742f; // AutoHold Address
|
||||
program_ram[0x9a8d] = 0x22; // RET - Disable Memory Test
|
||||
program_ram[0xf429] = 0x22; // RET - Disable Program Checksum
|
||||
autohold_addr = 0x742f; // AutoHold Address
|
||||
|
||||
// pepp0516
|
||||
program_ram[0x9a24] = 0x22; // RET - Disable Memory Test
|
||||
program_ram[0xd61d] = 0x22; // RET - Disable Program Checksum
|
||||
autohold_addr = 0x5e7e; // AutoHold Address
|
||||
program_ram[0x9a24] = 0x22; // RET - Disable Memory Test
|
||||
program_ram[0xd61d] = 0x22; // RET - Disable Program Checksum
|
||||
autohold_addr = 0x5e7e; // AutoHold Address
|
||||
|
||||
if (autohold_addr)
|
||||
program_ram[autohold_addr] = readinputportbytag_safe("AUTOHOLD",0x00) & 0x01;
|
||||
if (autohold_addr)
|
||||
program_ram[autohold_addr] = readinputportbytag_safe("AUTOHOLD",0x00) & 0x01;
|
||||
*/
|
||||
}
|
||||
|
||||
|
@ -297,7 +297,7 @@ INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( capitol )
|
||||
PORT_INCLUDE( phoenix )
|
||||
|
||||
|
||||
PORT_MODIFY("DSW0")
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION( "SW1:7" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
@ -488,24 +488,24 @@ static MACHINE_DRIVER_START( survival )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD_TAG("main", 8085A, CPU_CLOCK) /* 5.50 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(survival_memory_map, 0)
|
||||
|
||||
|
||||
/* schematics fairly identical to phoenix, however the interesting
|
||||
* page is missing
|
||||
*/
|
||||
* page is missing
|
||||
*/
|
||||
MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
|
||||
|
||||
|
||||
MDRV_MACHINE_RESET(phoenix)
|
||||
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_GFXDECODE(phoenix)
|
||||
MDRV_PALETTE_LENGTH(256)
|
||||
|
||||
|
||||
MDRV_PALETTE_INIT(survival)
|
||||
MDRV_VIDEO_START(phoenix)
|
||||
MDRV_VIDEO_UPDATE(phoenix)
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
|
@ -371,16 +371,16 @@ static INPUT_PORTS_START( pkgnsh )
|
||||
PORT_DIPSETTING( 0x4000, "15 Balls" )
|
||||
PORT_DIPSETTING( 0x3000, "20 Balls" )
|
||||
PORT_DIPSETTING( 0x0000, "30 Balls" )
|
||||
// PORT_DIPSETTING( 0x1000, "30 Balls" ) /* Duplicate Setting for 30 balls */
|
||||
// PORT_DIPSETTING( 0x2000, "30 Balls" ) /* Duplicate Setting for 30 balls */
|
||||
// PORT_DIPSETTING( 0x1000, "30 Balls" ) /* Duplicate Setting for 30 balls */
|
||||
// PORT_DIPSETTING( 0x2000, "30 Balls" ) /* Duplicate Setting for 30 balls */
|
||||
PORT_DIPSETTING( 0xf000, "40 Balls" )
|
||||
PORT_DIPSETTING( 0xe000, "50 Balls" )
|
||||
PORT_DIPSETTING( 0xd000, "60 Balls" )
|
||||
PORT_DIPSETTING( 0xc000, "80 Balls" )
|
||||
PORT_DIPSETTING( 0x8000, "100 Balls" )
|
||||
// PORT_DIPSETTING( 0x9000, "100 Balls" ) /* Duplicate Setting for 100 balls */
|
||||
// PORT_DIPSETTING( 0xa000, "100 Balls" ) /* Duplicate Setting for 100 balls */
|
||||
// PORT_DIPSETTING( 0xb000, "100 Balls" ) /* Duplicate Setting for 100 balls */
|
||||
// PORT_DIPSETTING( 0x9000, "100 Balls" ) /* Duplicate Setting for 100 balls */
|
||||
// PORT_DIPSETTING( 0xa000, "100 Balls" ) /* Duplicate Setting for 100 balls */
|
||||
// PORT_DIPSETTING( 0xb000, "100 Balls" ) /* Duplicate Setting for 100 balls */
|
||||
|
||||
PORT_START
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -455,16 +455,16 @@ static INPUT_PORTS_START( pkgnshdx )
|
||||
PORT_DIPSETTING( 0x0040, "15 Balls" )
|
||||
PORT_DIPSETTING( 0x0030, "20 Balls" )
|
||||
PORT_DIPSETTING( 0x0000, "30 Balls" )
|
||||
// PORT_DIPSETTING( 0x0010, "30 Balls" ) /* Duplicate Setting for 30 balls */
|
||||
// PORT_DIPSETTING( 0x0020, "30 Balls" ) /* Duplicate Setting for 30 balls */
|
||||
// PORT_DIPSETTING( 0x0010, "30 Balls" ) /* Duplicate Setting for 30 balls */
|
||||
// PORT_DIPSETTING( 0x0020, "30 Balls" ) /* Duplicate Setting for 30 balls */
|
||||
PORT_DIPSETTING( 0x00f0, "40 Balls" )
|
||||
PORT_DIPSETTING( 0x00e0, "50 Balls" )
|
||||
PORT_DIPSETTING( 0x00d0, "60 Balls" )
|
||||
PORT_DIPSETTING( 0x00c0, "80 Balls" )
|
||||
PORT_DIPSETTING( 0x0080, "100 Balls" )
|
||||
// PORT_DIPSETTING( 0x0090, "100 Balls" ) /* Duplicate Setting for 100 balls */
|
||||
// PORT_DIPSETTING( 0x00a0, "100 Balls" ) /* Duplicate Setting for 100 balls */
|
||||
// PORT_DIPSETTING( 0x00b0, "100 Balls" ) /* Duplicate Setting for 100 balls */
|
||||
// PORT_DIPSETTING( 0x0090, "100 Balls" ) /* Duplicate Setting for 100 balls */
|
||||
// PORT_DIPSETTING( 0x00a0, "100 Balls" ) /* Duplicate Setting for 100 balls */
|
||||
// PORT_DIPSETTING( 0x00b0, "100 Balls" ) /* Duplicate Setting for 100 balls */
|
||||
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
|
@ -1240,14 +1240,14 @@ static INPUT_PORTS_START( pzlbowl )
|
||||
PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) )
|
||||
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) )
|
||||
PORT_DIPSETTING( 0x0004, DEF_STR( 3C_2C ) )
|
||||
// PORT_DIPSETTING( 0x0002, DEF_STR( 1C_1C ) ) /* This setting is not defined in the manual */
|
||||
// PORT_DIPSETTING( 0x0002, DEF_STR( 1C_1C ) ) /* This setting is not defined in the manual */
|
||||
PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) )
|
||||
PORT_DIPSETTING( 0x0003, DEF_STR( 3C_4C ) )
|
||||
PORT_DIPSETTING( 0x0007, DEF_STR( 2C_3C ) )
|
||||
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_2C ) )
|
||||
PORT_DIPSETTING( 0x0006, DEF_STR( 2C_5C ) )
|
||||
PORT_DIPSETTING( 0x000d, DEF_STR( 1C_3C ) )
|
||||
// PORT_DIPSETTING( 0x0001, DEF_STR( 1C_3C ) ) /* This setting is not defined in the manual */
|
||||
// PORT_DIPSETTING( 0x0001, DEF_STR( 1C_3C ) ) /* This setting is not defined in the manual */
|
||||
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) )
|
||||
PORT_DIPSETTING( 0x000b, DEF_STR( 1C_5C ) )
|
||||
PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) )
|
||||
|
@ -48,7 +48,7 @@ struct _mario_state
|
||||
UINT8 flip;
|
||||
|
||||
/* driver general */
|
||||
|
||||
|
||||
UINT8 *spriteram;
|
||||
UINT8 *videoram;
|
||||
size_t spriteram_size;
|
||||
|
@ -301,37 +301,37 @@ const UINT8 inthunt_decryption_table[256] = {
|
||||
|
||||
const UINT8 gussun_decryption_table[256] = {
|
||||
0xcd,xxxx,xxxx,0x36,xxxx,0x52,0xb1,0x5b, 0x68,0xcd,xxxx,xxxx,xxxx,0x20,xxxx,xxxx, /* 00 */
|
||||
// !!!! ^^^^ !!!! !!!!
|
||||
// !!!! ^^^^ !!!! !!!!
|
||||
xxxx,xxxx,0x75,0x24,0x08,0x83,0x32,0xe9, xxxx,0x79,xxxx,0x8f,0x22,xxxx,0xac,xxxx, /* 10 */
|
||||
// !!!! ???? ^^^^ pppp gggg !!!! ^^^^
|
||||
// !!!! ???? ^^^^ pppp gggg !!!! ^^^^
|
||||
0x5d,0xa5,0x11,0x51,0x0a,xxxx,0x19,xxxx ,0xf8,0x98,0x91,0x40,0x28,0x10,0x03,0x5f, /* 20 */
|
||||
// pppp !!!! ???? ^^^^ pppp ^^^^ gggg gggg pppp
|
||||
// pppp !!!! ???? ^^^^ pppp ^^^^ gggg gggg pppp
|
||||
0x26,xxxx,xxxx,0x8b,xxxx,0x02,xxxx,xxxx, 0x8e,0xab,xxxx,xxxx,0xbc,0xf1,0xb3,xxxx, /* 30 */
|
||||
//
|
||||
xxxx,0x01,0xc6,xxxx,xxxx,0x3a,0x29,xxxx, xxxx,0x74,0x61,xxxx,0x33,xxxx,0x29,xxxx, /* 40 */
|
||||
// ???? ???? !!!! ????
|
||||
// ???? ???? !!!! ????
|
||||
xxxx,0x53,0xa0,0xc0,0xc3,0x41,0xfc,0xe7, xxxx,0x2c,0x76,0x2b,xxxx,xxxx,0xba,0x2a, /* 50 */
|
||||
// !!!! ^^^^ ^^^^ gggg ???? !!!! !!!!
|
||||
// !!!! ^^^^ ^^^^ gggg ???? !!!! !!!!
|
||||
0xb0,xxxx,0x28,0x7d,xxxx,xxxx,0xb5,0x07, 0xb9,xxxx,0x27,0x46,0xf9,xxxx,xxxx,xxxx, /* 60 */
|
||||
// ???? gggg !!!! ^^^^
|
||||
// ???? gggg !!!! ^^^^
|
||||
xxxx,0xea,0x72,0x73,0xad,0xd1,0x3b,0x5e, 0xe5,0x57,xxxx,0x0d,xxxx,xxxx,xxxx,0x3c, /* 70 */
|
||||
// ^^^^
|
||||
// ^^^^
|
||||
xxxx,0x86,xxxx,0xb5,0x30,0x25,0x2d,xxxx, 0x9a,0xeb,0x04,0x0b,0xa2,0xb8,0xf6,xxxx, /* 80 */
|
||||
// ???? ???? ^^^^ !!!! !!!!
|
||||
// ???? ???? ^^^^ !!!! !!!!
|
||||
xxxx,xxxx,0x9d,xxxx,0xbb,xxxx,xxxx,0xcb, 0xa9,0xcf,xxxx,0x60,0x43,0x56,xxxx,0x01, /* 90 */
|
||||
// !!!! ^^^^ !!!! ^^^^ !!!! ????
|
||||
// !!!! ^^^^ !!!! ^^^^ !!!! ????
|
||||
xxxx,0xa3,xxxx,xxxx,xxxx,xxxx,0xfa,0xb4, xxxx,0x81,0xe6,0x41,0x80,0x8c,0xd4,xxxx, /* a0 */
|
||||
// gggg ???? gggg !!!!
|
||||
// gggg ???? gggg !!!!
|
||||
xxxx,0x19,0x20,0x19,0x77,0x3d,0x3e,xxxx, xxxx,xxxx,0x4b,xxxx,xxxx,xxxx,xxxx,xxxx, /* b0 */
|
||||
// ???? ???? ???? gggg pppp
|
||||
// ???? ???? ???? gggg pppp
|
||||
xxxx,0xff,0x47,xxxx,0x55,0x1e,xxxx,0x59, 0x93,xxxx,xxxx,xxxx,0x88,0xc1,0x01,0xb2, /* c0 */
|
||||
// ^^^^ ^^^^ ^^^^ ????
|
||||
// ^^^^ ^^^^ ^^^^ ????
|
||||
xxxx,0x2e,0x06,0xc7,0x05,xxxx,0x8a,0x5a, 0x58,0xbe,xxxx,xxxx,xxxx,0x1f,0x23,xxxx, /* d0 */
|
||||
// ^^^^ ????
|
||||
// ^^^^ ????
|
||||
0xe8,xxxx,0x89,0xa1,0xd0,xxxx,0x19,0xe2, 0x38,0xfe,0x50,0x9c,xxxx,xxxx,xxxx,0x49, /* e0 */
|
||||
// ???? !!!! !!!!
|
||||
// ???? !!!! !!!!
|
||||
0xfb,xxxx,0xf3,xxxx,xxxx,0x0f,xxxx,xxxx, xxxx,0x7c,0xf7,0xbd,0x39,0x7f,0xbf,xxxx, /* f0 */
|
||||
// !!!! ???? !!!! gggg
|
||||
// !!!! ???? !!!! gggg
|
||||
};
|
||||
|
||||
|
||||
@ -354,7 +354,7 @@ Y//5a -> 76? (195eb - (222fc - routine from 222ed to ) (7x j...) no 70,71,77,79,
|
||||
///b3 -> 19? (216b6 - 216cf
|
||||
01+ce -> 01? (10236 - routine from 1017e to 10254) (01, 09, 19, 21, 29, 31) -> probably 01
|
||||
///db -> (16992
|
||||
///eb ->
|
||||
///eb ->
|
||||
///f9 -> 7c? (16598 - 165a1 - 18de7 - routine from 18dc4 to ) no 71,72,76,78 ok 70,73,77,79,7a
|
||||
|
||||
rz probably:
|
||||
@ -781,7 +781,7 @@ void irem_cpu_decrypt(int cpu,const UINT8 *decryption_table)
|
||||
for (A = 0;A < size; A++)
|
||||
irem_cpu_decrypted[A] = decryption_table[rom[A]];
|
||||
|
||||
// Roberto Zandonà note:
|
||||
// Roberto Zandon? note:
|
||||
// for "gussun" and "riskchal" is necessary an hack to not decrypt not encrypted routines
|
||||
// we need a real nec v25+/35+ core to support 0x63 (brkn for "break native") instruction
|
||||
// for now we use "cd" (int) instruction + hack
|
||||
|
@ -87,7 +87,7 @@ VIDEO_UPDATE( asterix )
|
||||
K056832_set_LayerOffset(2, 89, 0);
|
||||
K056832_set_LayerOffset(3, 95, 0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
tilebanks[0] = (K056832_get_lookup(0) << 10);
|
||||
tilebanks[1] = (K056832_get_lookup(1) << 10);
|
||||
|
@ -113,7 +113,7 @@ VIDEO_START( ddragon )
|
||||
tilemap_set_scrolldx(bg_tilemap, 0, 384 - 256);
|
||||
tilemap_set_scrolldy(fg_tilemap, -8, -8);
|
||||
tilemap_set_scrolldy(bg_tilemap, -8, -8);
|
||||
|
||||
|
||||
state_save_register_global(ddragon_scrollx_hi);
|
||||
state_save_register_global(ddragon_scrolly_hi);
|
||||
}
|
||||
@ -124,7 +124,7 @@ VIDEO_START( chinagat )
|
||||
fg_tilemap = tilemap_create(get_fg_16color_tile_info,tilemap_scan_rows,TILEMAP_TYPE_PEN, 8, 8,32,32);
|
||||
|
||||
tilemap_set_transparent_pen(fg_tilemap,0);
|
||||
|
||||
|
||||
state_save_register_global(ddragon_scrollx_hi);
|
||||
state_save_register_global(ddragon_scrolly_hi);
|
||||
}
|
||||
|
@ -218,12 +218,12 @@ VIDEO_UPDATE( mario )
|
||||
state->monitor = t;
|
||||
tilemap_mark_all_tiles_dirty(ALL_TILEMAPS);
|
||||
}
|
||||
|
||||
|
||||
tilemap_set_scrollx(state->bg_tilemap, 0, state->flip ? (HTOTAL-HBSTART) : 0);
|
||||
tilemap_set_scrolly(state->bg_tilemap, 0, state->gfx_scroll - (state->flip ? 8 : 0));
|
||||
|
||||
tilemap_draw(bitmap, cliprect, state->bg_tilemap, 0, 0);
|
||||
draw_sprites(machine, bitmap, cliprect);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -204,7 +204,7 @@ VIDEO_START( mpatrol )
|
||||
tilemap_set_scrolldx(bg_tilemap, 128 - 1, -1);
|
||||
tilemap_set_scrolldy(bg_tilemap, 16, 16);
|
||||
tilemap_set_scroll_rows(bg_tilemap, 4); /* only lines 192-256 scroll */
|
||||
|
||||
|
||||
state_save_register_global(bg1xpos);
|
||||
state_save_register_global(bg1ypos);
|
||||
state_save_register_global(bg2xpos);
|
||||
@ -254,7 +254,7 @@ READ8_HANDLER( mpatrol_protection_r )
|
||||
{
|
||||
int popcount = 0;
|
||||
int temp;
|
||||
|
||||
|
||||
for (temp = bg1xpos & 0x7f; temp != 0; temp >>= 1)
|
||||
popcount += temp & 1;
|
||||
return popcount ^ (bg1xpos >> 7);
|
||||
@ -299,7 +299,7 @@ WRITE8_HANDLER( mpatrol_flipscreen_w )
|
||||
static void draw_background(running_machine *machine, mame_bitmap *bitmap, const rectangle *cliprect, int xpos, int ypos, int image)
|
||||
{
|
||||
rectangle rect;
|
||||
|
||||
|
||||
if (flip_screen)
|
||||
{
|
||||
xpos = 255 - xpos;
|
||||
@ -377,7 +377,7 @@ VIDEO_UPDATE( mpatrol )
|
||||
int code = spriteram[offs + 2];
|
||||
int sx = spriteram[offs + 3];
|
||||
rectangle clip;
|
||||
|
||||
|
||||
/* sprites from offsets $00-$7F are processed in the upper half of the frame */
|
||||
/* sprites from offsets $80-$FF are processed in the lower half of the frame */
|
||||
clip = *cliprect;
|
||||
@ -397,9 +397,9 @@ VIDEO_UPDATE( mpatrol )
|
||||
sx = 240 - sx;
|
||||
sy = 257 + 11 - sy;
|
||||
}
|
||||
|
||||
|
||||
sx += 128;
|
||||
|
||||
|
||||
/* in theory anyways; in practice, some of the molecule-looking guys get clipped */
|
||||
#ifdef SPLIT_SPRITES
|
||||
sect_rect(&clip, cliprect);
|
||||
|
@ -68,7 +68,7 @@ static const res_net_info pleiades_net_info =
|
||||
{
|
||||
{ RES_NET_AMP_NONE, 150, 270, 2, { 270, 1 } },
|
||||
{ RES_NET_AMP_NONE, 150, 270, 2, { 270, 1 } },
|
||||
{ RES_NET_AMP_NONE, 150, 270, 2, { 270, 1 } }
|
||||
{ RES_NET_AMP_NONE, 150, 270, 2, { 270, 1 } }
|
||||
}
|
||||
};
|
||||
|
||||
@ -78,7 +78,7 @@ static const res_net_info survival_net_info =
|
||||
{
|
||||
{ RES_NET_AMP_NONE, 270, 270, 2, { 180, 1 } },
|
||||
{ RES_NET_AMP_NONE, 270, 270, 2, { 180, 1 } },
|
||||
{ RES_NET_AMP_NONE, 270, 270, 2, { 180, 1 } }
|
||||
{ RES_NET_AMP_NONE, 270, 270, 2, { 180, 1 } }
|
||||
}
|
||||
};
|
||||
|
||||
@ -128,7 +128,7 @@ PALETTE_INIT( pleiads )
|
||||
int col;
|
||||
col = ((i << 3 ) & 0x18) | ((i>>2) & 0x07) | (i & 0xE0);
|
||||
palette_set_color(machine,i,rgb[col]);
|
||||
}
|
||||
}
|
||||
palette_normalize_range(machine->palette, 0, 255, 0, 255);
|
||||
free(rgb);
|
||||
}
|
||||
|
@ -9,4 +9,4 @@
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
const char build_version[] = "0.122u6 ("__DATE__")";
|
||||
const char build_version[] = "0.122u7 ("__DATE__")";
|
||||
|
Loading…
Reference in New Issue
Block a user