mirror of
https://github.com/holub/mame
synced 2025-05-16 19:00:43 +03:00
Convert cclimber/galpani2/gticlub/namcond1/pacman/seibuspi/tetrisp2/vicdual
to driver_device. [Atari Ace]
This commit is contained in:
parent
a1ed6067d0
commit
0989f6fe05
@ -71,11 +71,9 @@ typedef struct sound_cache_entry
|
||||
|
||||
|
||||
|
||||
/* globals */
|
||||
UINT8 exidy440_sound_command;
|
||||
UINT8 exidy440_sound_command_ack;
|
||||
|
||||
/* local allocated storage */
|
||||
static UINT8 sound_command;
|
||||
static UINT8 sound_command_ack;
|
||||
static UINT8 *sound_banks;
|
||||
static UINT8 *m6844_data;
|
||||
static UINT8 *sound_volume;
|
||||
@ -136,10 +134,10 @@ static DEVICE_START( exidy440_sound )
|
||||
int i, length;
|
||||
|
||||
/* reset the system */
|
||||
exidy440_sound_command = 0;
|
||||
exidy440_sound_command_ack = 1;
|
||||
state_save_register_global(machine, exidy440_sound_command);
|
||||
state_save_register_global(machine, exidy440_sound_command_ack);
|
||||
sound_command = 0;
|
||||
sound_command_ack = 1;
|
||||
state_save_register_global(machine, sound_command);
|
||||
state_save_register_global(machine, sound_command_ack);
|
||||
|
||||
/* reset the 6844 */
|
||||
for (i = 0; i < 4; i++)
|
||||
@ -339,9 +337,23 @@ static READ8_HANDLER( sound_command_r )
|
||||
{
|
||||
/* clear the FIRQ that got us here and acknowledge the read to the main CPU */
|
||||
cputag_set_input_line(space->machine, "audiocpu", 1, CLEAR_LINE);
|
||||
exidy440_sound_command_ack = 1;
|
||||
sound_command_ack = 1;
|
||||
|
||||
return exidy440_sound_command;
|
||||
return sound_command;
|
||||
}
|
||||
|
||||
|
||||
void exidy440_sound_command(running_machine *machine, UINT8 param)
|
||||
{
|
||||
sound_command = param;
|
||||
sound_command_ack = 0;
|
||||
cputag_set_input_line(machine, "audiocpu", INPUT_LINE_IRQ1, ASSERT_LINE);
|
||||
}
|
||||
|
||||
|
||||
UINT8 exidy440_sound_command_ack(void)
|
||||
{
|
||||
return sound_command_ack;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
extern UINT8 exidy440_sound_command;
|
||||
extern UINT8 exidy440_sound_command_ack;
|
||||
void exidy440_sound_command(running_machine *machine, UINT8 param);
|
||||
UINT8 exidy440_sound_command_ack(void);
|
||||
|
||||
MACHINE_CONFIG_EXTERN( exidy440_audio );
|
||||
|
@ -149,9 +149,6 @@ rom.
|
||||
#include "sound/2151intf.h"
|
||||
|
||||
|
||||
UINT8 *t5182_sharedram;
|
||||
|
||||
|
||||
enum
|
||||
{
|
||||
VECTOR_INIT,
|
||||
@ -162,8 +159,19 @@ enum
|
||||
CPU_CLEAR
|
||||
};
|
||||
|
||||
static UINT8 *t5182_sharedram;
|
||||
static int irqstate;
|
||||
|
||||
READ8_HANDLER(t5182_sharedram_r)
|
||||
{
|
||||
return t5182_sharedram[offset];
|
||||
}
|
||||
|
||||
WRITE8_HANDLER(t5182_sharedram_w)
|
||||
{
|
||||
t5182_sharedram[offset] = data;
|
||||
}
|
||||
|
||||
static TIMER_CALLBACK( setirq_callback )
|
||||
{
|
||||
device_t *cpu;
|
||||
|
@ -13,6 +13,7 @@ READ8_HANDLER(t5182_sharedram_semaphore_snd_r);
|
||||
WRITE8_HANDLER(t5182_sharedram_semaphore_main_acquire_w);
|
||||
WRITE8_HANDLER(t5182_sharedram_semaphore_main_release_w);
|
||||
|
||||
extern UINT8 *t5182_sharedram;
|
||||
READ8_HANDLER( t5182_sharedram_r );
|
||||
WRITE8_HANDLER( t5182_sharedram_w );
|
||||
|
||||
extern const ym2151_interface t5182_ym2151_interface;
|
||||
|
@ -376,25 +376,6 @@ static const UINT8 BFM_strcnv[] =
|
||||
|
||||
//ACIA helper functions
|
||||
|
||||
static void send_to_adder(running_machine *machine, int data)
|
||||
{
|
||||
adder2_data_from_sc2 = 1; // set flag, data from scorpion2 board available
|
||||
adder2_sc2data = data; // store data
|
||||
|
||||
adder2_acia_triggered = 1; // set flag, acia IRQ triggered
|
||||
cputag_set_input_line(machine, "adder2", M6809_IRQ_LINE, ASSERT_LINE );//HOLD_LINE);// trigger IRQ
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static int receive_from_adder(void)
|
||||
{
|
||||
int data = adder2_data;
|
||||
adder2_data_to_sc2 = 0; // clr flag, data from adder available
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static READ8_HANDLER( mux1latch_r )
|
||||
@ -629,7 +610,8 @@ static WRITE8_DEVICE_HANDLER( nec_latch_w )
|
||||
|
||||
static WRITE8_HANDLER( vid_uart_tx_w )
|
||||
{
|
||||
send_to_adder(space->machine,data);
|
||||
adder2_send(data);
|
||||
cputag_set_input_line(space->machine, "adder2", M6809_IRQ_LINE, ASSERT_LINE );//HOLD_LINE);// trigger IRQ
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@ -642,21 +624,14 @@ static WRITE8_HANDLER( vid_uart_ctrl_w )
|
||||
|
||||
static READ8_HANDLER( vid_uart_rx_r )
|
||||
{
|
||||
int data = receive_from_adder();
|
||||
|
||||
return data;
|
||||
return adder2_receive();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static READ8_HANDLER( vid_uart_ctrl_r )
|
||||
{
|
||||
int status = 0;
|
||||
|
||||
if ( adder2_data_to_sc2 ) status |= 0x01; // receive buffer full
|
||||
if ( !adder2_data_from_sc2) status |= 0x02; // transmit buffer empty
|
||||
|
||||
return status;
|
||||
return adder2_status();
|
||||
}
|
||||
|
||||
// scorpion1 board init ///////////////////////////////////////////////////
|
||||
|
@ -257,42 +257,6 @@ static void e2ram_reset(running_machine *machine);
|
||||
0 1 1 0 0 0
|
||||
|
||||
*/
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static void send_to_adder(running_machine *machine, int data)
|
||||
{
|
||||
adder2_data_from_sc2 = 1;
|
||||
adder2_sc2data = data;
|
||||
|
||||
adder2_acia_triggered = 1;
|
||||
cputag_set_input_line(machine, "adder2", M6809_IRQ_LINE, HOLD_LINE );
|
||||
|
||||
LOG_SERIAL(("sadder %02X (%c)\n",data, data ));
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static int receive_from_adder(void)
|
||||
{
|
||||
int data = adder2_data;
|
||||
adder2_data_to_sc2 = 0;
|
||||
|
||||
LOG_SERIAL(("radder: %02X(%c)\n",data, data ));
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static int get_scorpion2_uart_status(running_machine *machine)
|
||||
{
|
||||
int status = 0;
|
||||
|
||||
if ( adder2_data_to_sc2 ) status |= 0x01; // receive buffer full
|
||||
if ( !adder2_data_from_sc2) status |= 0x02; // transmit buffer empty
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// called if board is reset ///////////////////////////////////////////////
|
||||
@ -1062,7 +1026,10 @@ static WRITE8_HANDLER( uart2data_w )
|
||||
|
||||
static WRITE8_HANDLER( vid_uart_tx_w )
|
||||
{
|
||||
send_to_adder(space->machine, data);
|
||||
adder2_send(data);
|
||||
cputag_set_input_line(space->machine, "adder2", M6809_IRQ_LINE, HOLD_LINE );
|
||||
|
||||
LOG_SERIAL(("sadder %02X (%c)\n",data, data ));
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@ -1075,14 +1042,18 @@ static WRITE8_HANDLER( vid_uart_ctrl_w )
|
||||
|
||||
static READ8_HANDLER( vid_uart_rx_r )
|
||||
{
|
||||
return receive_from_adder();
|
||||
int data = adder2_receive();
|
||||
|
||||
LOG_SERIAL(("radder: %02X(%c)\n",data, data ));
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static READ8_HANDLER( vid_uart_ctrl_r )
|
||||
{
|
||||
return get_scorpion2_uart_status(space->machine);
|
||||
return adder2_status();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
@ -37,17 +37,6 @@ static WRITE8_HANDLER(darkmist_hw_w)
|
||||
memory_set_bankptr(space->machine, "bank1",&space->machine->region("maincpu")->base()[0x010000+((data&0x80)?0x4000:0)]);
|
||||
}
|
||||
|
||||
static READ8_HANDLER(t5182shared_r)
|
||||
{
|
||||
return t5182_sharedram[offset];
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(t5182shared_w)
|
||||
{
|
||||
t5182_sharedram[offset] = data;
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
|
||||
@ -61,7 +50,7 @@ static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xc808, 0xc808) AM_READ_PORT("UNK")
|
||||
AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xd400, 0xd41f) AM_RAM AM_BASE_MEMBER(darkmist_state, scroll)
|
||||
AM_RANGE(0xd600, 0xd67f) AM_READWRITE(t5182shared_r, t5182shared_w)
|
||||
AM_RANGE(0xd600, 0xd67f) AM_READWRITE(t5182_sharedram_r, t5182_sharedram_w)
|
||||
AM_RANGE(0xd680, 0xd680) AM_WRITE(t5182_sound_irq_w)
|
||||
AM_RANGE(0xd681, 0xd681) AM_READ(t5182_sharedram_semaphore_snd_r)
|
||||
AM_RANGE(0xd682, 0xd682) AM_WRITE(t5182_sharedram_semaphore_main_acquire_w)
|
||||
|
@ -346,7 +346,7 @@ static READ8_HANDLER( exidy440_input_port_3_r )
|
||||
static READ8_HANDLER( sound_command_ack_r )
|
||||
{
|
||||
/* sound command acknowledgements come on bit 3 here */
|
||||
return exidy440_sound_command_ack ? 0xf7 : 0xff;
|
||||
return exidy440_sound_command_ack() ? 0xf7 : 0xff;
|
||||
}
|
||||
|
||||
|
||||
@ -359,11 +359,7 @@ static READ8_HANDLER( sound_command_ack_r )
|
||||
|
||||
static TIMER_CALLBACK( delayed_sound_command_w )
|
||||
{
|
||||
exidy440_sound_command = param;
|
||||
exidy440_sound_command_ack = 0;
|
||||
|
||||
/* cause an FIRQ on the sound CPU */
|
||||
cputag_set_input_line(machine, "audiocpu", 1, ASSERT_LINE);
|
||||
exidy440_sound_command(machine, param);
|
||||
}
|
||||
|
||||
|
||||
|
@ -250,17 +250,6 @@ static MACHINE_RESET( josvolly )
|
||||
josvolly_8741_reset();
|
||||
}
|
||||
|
||||
#if 0
|
||||
static INTERRUPT_GEN( josvolly_snd_interrupt )
|
||||
{
|
||||
if(josvolly_nmi_enable)
|
||||
{
|
||||
cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
|
||||
josvolly_nmi_enable = 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static INTERRUPT_GEN( gsword_snd_interrupt )
|
||||
{
|
||||
gsword_state *state = device->machine->driver_data<gsword_state>();
|
||||
@ -306,11 +295,6 @@ static WRITE8_DEVICE_HANDLER( gsword_nmi_set_w )
|
||||
#endif
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( josvolly_nmi_enable_w )
|
||||
{
|
||||
josvolly_nmi_enable = 1;
|
||||
}
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( gsword_AY8910_control_port_0_w )
|
||||
{
|
||||
gsword_state *state = device->machine->driver_data<gsword_state>();
|
||||
|
@ -42,17 +42,6 @@ YM2151:
|
||||
#define YM_CLOCK (XTAL1/4)
|
||||
|
||||
|
||||
static READ8_HANDLER(t5182shared_r)
|
||||
{
|
||||
return t5182_sharedram[offset];
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(t5182shared_w)
|
||||
{
|
||||
t5182_sharedram[offset] = data;
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xbfff) AM_ROM
|
||||
@ -61,7 +50,7 @@ static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xd001, 0xd001) AM_READ(t5182_sharedram_semaphore_snd_r)
|
||||
AM_RANGE(0xd002, 0xd002) AM_WRITE(t5182_sharedram_semaphore_main_acquire_w)
|
||||
AM_RANGE(0xd003, 0xd003) AM_WRITE(t5182_sharedram_semaphore_main_release_w)
|
||||
AM_RANGE(0xd400, 0xd4ff) AM_READWRITE(t5182shared_r, t5182shared_w)
|
||||
AM_RANGE(0xd400, 0xd4ff) AM_READWRITE(t5182_sharedram_r, t5182_sharedram_w)
|
||||
AM_RANGE(0xd800, 0xd800) AM_READ_PORT("P1")
|
||||
AM_RANGE(0xd801, 0xd801) AM_READ_PORT("P2")
|
||||
AM_RANGE(0xd802, 0xd802) AM_READ_PORT("START")
|
||||
|
@ -175,7 +175,7 @@ static TILE_GET_INFO( get_txttile_info )
|
||||
static READ8_HANDLER(t5182shared_r)
|
||||
{
|
||||
if ((offset & 1) == 0)
|
||||
return t5182_sharedram[offset/2];
|
||||
return t5182_sharedram_r(space, offset/2);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
@ -183,7 +183,7 @@ static READ8_HANDLER(t5182shared_r)
|
||||
static WRITE8_HANDLER(t5182shared_w)
|
||||
{
|
||||
if ((offset & 1) == 0)
|
||||
t5182_sharedram[offset/2] = data;
|
||||
t5182_sharedram_w(space, offset/2, data);
|
||||
}
|
||||
|
||||
|
||||
|
@ -436,7 +436,7 @@ public:
|
||||
|
||||
extern const char *const amiga_custom_names[0x100];
|
||||
|
||||
extern void amiga_chip_ram_w8(amiga_state *state, offs_t offset, UINT8 data);
|
||||
void amiga_chip_ram_w8(amiga_state *state, offs_t offset, UINT8 data);
|
||||
|
||||
void amiga_machine_config(running_machine *machine, const amiga_machine_interface *intf);
|
||||
|
||||
|
@ -98,7 +98,7 @@ WRITE32_HANDLER( konamigx_t1_psacmap_w );
|
||||
WRITE32_HANDLER( konamigx_t4_psacmap_w );
|
||||
|
||||
extern int konamigx_current_frame;
|
||||
extern WRITE32_HANDLER( konamigx_type3_psac2_bank_w );
|
||||
WRITE32_HANDLER( konamigx_type3_psac2_bank_w );
|
||||
extern UINT32* konamigx_type3_psac2_bank;
|
||||
|
||||
|
||||
|
@ -5,5 +5,5 @@
|
||||
|
||||
DISCRETE_SOUND_EXTERN( m79amb );
|
||||
|
||||
extern WRITE8_DEVICE_HANDLER( m79amb_8000_w );
|
||||
extern WRITE8_DEVICE_HANDLER( m79amb_8003_w );
|
||||
WRITE8_DEVICE_HANDLER( m79amb_8000_w );
|
||||
WRITE8_DEVICE_HANDLER( m79amb_8003_w );
|
||||
|
@ -108,12 +108,12 @@ void model3_set_irq_line(running_machine *machine, UINT8 bit, int state);
|
||||
|
||||
/*----------- defined in machine/model3.c -----------*/
|
||||
|
||||
extern void model3_machine_init(running_machine *machine, int step);
|
||||
extern int model3_tap_read(running_machine *machine);
|
||||
extern void model3_tap_write(running_machine *machine, int tck, int tms, int tdi, int trst);
|
||||
extern void model3_tap_reset(running_machine *machine);
|
||||
extern READ32_HANDLER(rtc72421_r);
|
||||
extern WRITE32_HANDLER(rtc72421_w);
|
||||
void model3_machine_init(running_machine *machine, int step);
|
||||
int model3_tap_read(running_machine *machine);
|
||||
void model3_tap_write(running_machine *machine, int tck, int tms, int tdi, int trst);
|
||||
void model3_tap_reset(running_machine *machine);
|
||||
READ32_HANDLER(rtc72421_r);
|
||||
WRITE32_HANDLER(rtc72421_w);
|
||||
|
||||
|
||||
/*----------- defined in video/model3.c -----------*/
|
||||
|
@ -52,4 +52,4 @@ DISCRETE_SOUND_EXTERN( orbit );
|
||||
VIDEO_START( orbit );
|
||||
SCREEN_UPDATE( orbit );
|
||||
|
||||
extern WRITE8_HANDLER( orbit_playfield_w );
|
||||
WRITE8_HANDLER( orbit_playfield_w );
|
||||
|
@ -23,7 +23,7 @@ public:
|
||||
|
||||
DISCRETE_SOUND_EXTERN( skyraid );
|
||||
|
||||
extern WRITE8_DEVICE_HANDLER( skyraid_sound_w );
|
||||
WRITE8_DEVICE_HANDLER( skyraid_sound_w );
|
||||
|
||||
|
||||
/*----------- defined in video/skyraid.c -----------*/
|
||||
|
@ -231,23 +231,23 @@ typedef struct
|
||||
} scc68070_regs_t;
|
||||
|
||||
// Member functions
|
||||
extern TIMER_CALLBACK( scc68070_timer0_callback );
|
||||
extern TIMER_CALLBACK( scc68070_rx_callback );
|
||||
extern TIMER_CALLBACK( scc68070_tx_callback );
|
||||
extern READ16_HANDLER( scc68070_periphs_r );
|
||||
extern WRITE16_HANDLER( scc68070_periphs_w );
|
||||
//extern READ16_HANDLER( uart_loopback_enable );
|
||||
TIMER_CALLBACK( scc68070_timer0_callback );
|
||||
TIMER_CALLBACK( scc68070_rx_callback );
|
||||
TIMER_CALLBACK( scc68070_tx_callback );
|
||||
READ16_HANDLER( scc68070_periphs_r );
|
||||
WRITE16_HANDLER( scc68070_periphs_w );
|
||||
//READ16_HANDLER( uart_loopback_enable );
|
||||
|
||||
extern void scc68070_init(running_machine *machine, scc68070_regs_t *scc68070);
|
||||
extern void scc68070_uart_rx(running_machine *machine, scc68070_regs_t *scc68070, UINT8 data);
|
||||
extern void scc68070_uart_tx(running_machine *machine, scc68070_regs_t *scc68070, UINT8 data);
|
||||
extern void scc68070_register_globals(running_machine *machine, scc68070_regs_t *scc68070);
|
||||
void scc68070_init(running_machine *machine, scc68070_regs_t *scc68070);
|
||||
void scc68070_uart_rx(running_machine *machine, scc68070_regs_t *scc68070, UINT8 data);
|
||||
void scc68070_uart_tx(running_machine *machine, scc68070_regs_t *scc68070, UINT8 data);
|
||||
void scc68070_register_globals(running_machine *machine, scc68070_regs_t *scc68070);
|
||||
|
||||
// UART Access for Quizard
|
||||
extern void scc68070_set_quizard_mcu_value(running_machine *machine, UINT16 value);
|
||||
extern void scc68070_set_quizard_mcu_ack(running_machine *machine, UINT8 ack);
|
||||
extern void scc68070_quizard_rx(running_machine *machine, scc68070_regs_t *scc68070, UINT8 data);
|
||||
void scc68070_set_quizard_mcu_value(running_machine *machine, UINT16 value);
|
||||
void scc68070_set_quizard_mcu_ack(running_machine *machine, UINT8 ack);
|
||||
void scc68070_quizard_rx(running_machine *machine, scc68070_regs_t *scc68070, UINT8 data);
|
||||
|
||||
extern INTERRUPT_GEN( scc68070_mcu_frame );
|
||||
INTERRUPT_GEN( scc68070_mcu_frame );
|
||||
|
||||
#endif // _MACHINE_CDI070_H_
|
||||
|
@ -110,91 +110,93 @@ public:
|
||||
|
||||
|
||||
|
||||
extern WRITE8_HANDLER( decocass_coin_counter_w );
|
||||
extern WRITE8_HANDLER( decocass_sound_command_w );
|
||||
extern READ8_HANDLER( decocass_sound_data_r );
|
||||
extern READ8_HANDLER( decocass_sound_ack_r );
|
||||
extern WRITE8_HANDLER( decocass_sound_data_w );
|
||||
extern READ8_HANDLER( decocass_sound_command_r );
|
||||
extern TIMER_DEVICE_CALLBACK( decocass_audio_nmi_gen );
|
||||
extern WRITE8_HANDLER( decocass_sound_nmi_enable_w );
|
||||
extern READ8_HANDLER( decocass_sound_nmi_enable_r );
|
||||
extern READ8_HANDLER( decocass_sound_data_ack_reset_r );
|
||||
extern WRITE8_HANDLER( decocass_sound_data_ack_reset_w );
|
||||
extern WRITE8_HANDLER( decocass_nmi_reset_w );
|
||||
extern WRITE8_HANDLER( decocass_quadrature_decoder_reset_w );
|
||||
extern WRITE8_HANDLER( decocass_adc_w );
|
||||
extern READ8_HANDLER( decocass_input_r );
|
||||
WRITE8_HANDLER( decocass_coin_counter_w );
|
||||
WRITE8_HANDLER( decocass_sound_command_w );
|
||||
READ8_HANDLER( decocass_sound_data_r );
|
||||
READ8_HANDLER( decocass_sound_ack_r );
|
||||
WRITE8_HANDLER( decocass_sound_data_w );
|
||||
READ8_HANDLER( decocass_sound_command_r );
|
||||
TIMER_DEVICE_CALLBACK( decocass_audio_nmi_gen );
|
||||
WRITE8_HANDLER( decocass_sound_nmi_enable_w );
|
||||
READ8_HANDLER( decocass_sound_nmi_enable_r );
|
||||
READ8_HANDLER( decocass_sound_data_ack_reset_r );
|
||||
WRITE8_HANDLER( decocass_sound_data_ack_reset_w );
|
||||
WRITE8_HANDLER( decocass_nmi_reset_w );
|
||||
WRITE8_HANDLER( decocass_quadrature_decoder_reset_w );
|
||||
WRITE8_HANDLER( decocass_adc_w );
|
||||
READ8_HANDLER( decocass_input_r );
|
||||
|
||||
extern WRITE8_HANDLER( decocass_reset_w );
|
||||
WRITE8_HANDLER( decocass_reset_w );
|
||||
|
||||
extern READ8_HANDLER( decocass_e5xx_r );
|
||||
extern WRITE8_HANDLER( decocass_e5xx_w );
|
||||
extern WRITE8_HANDLER( decocass_de0091_w );
|
||||
extern WRITE8_HANDLER( decocass_e900_w );
|
||||
READ8_HANDLER( decocass_e5xx_r );
|
||||
WRITE8_HANDLER( decocass_e5xx_w );
|
||||
WRITE8_HANDLER( decocass_de0091_w );
|
||||
WRITE8_HANDLER( decocass_e900_w );
|
||||
|
||||
extern MACHINE_START( decocass );
|
||||
extern MACHINE_RESET( decocass );
|
||||
extern MACHINE_RESET( ctsttape );
|
||||
extern MACHINE_RESET( chwy );
|
||||
extern MACHINE_RESET( clocknch );
|
||||
extern MACHINE_RESET( ctisland );
|
||||
extern MACHINE_RESET( csuperas );
|
||||
extern MACHINE_RESET( castfant );
|
||||
extern MACHINE_RESET( cluckypo );
|
||||
extern MACHINE_RESET( cterrani );
|
||||
extern MACHINE_RESET( cexplore );
|
||||
extern MACHINE_RESET( cprogolf );
|
||||
extern MACHINE_RESET( cmissnx );
|
||||
extern MACHINE_RESET( cdiscon1 );
|
||||
extern MACHINE_RESET( cptennis );
|
||||
extern MACHINE_RESET( ctornado );
|
||||
extern MACHINE_RESET( cbnj );
|
||||
extern MACHINE_RESET( cburnrub );
|
||||
extern MACHINE_RESET( cbtime );
|
||||
extern MACHINE_RESET( cgraplop );
|
||||
extern MACHINE_RESET( cgraplop2 );
|
||||
extern MACHINE_RESET( clapapa );
|
||||
extern MACHINE_RESET( cfghtice );
|
||||
extern MACHINE_RESET( cprobowl );
|
||||
extern MACHINE_RESET( cnightst );
|
||||
extern MACHINE_RESET( cprosocc );
|
||||
extern MACHINE_RESET( cppicf );
|
||||
extern MACHINE_RESET( cscrtry );
|
||||
extern MACHINE_RESET( cflyball );
|
||||
extern MACHINE_RESET( cbdash );
|
||||
extern MACHINE_RESET( czeroize );
|
||||
MACHINE_START( decocass );
|
||||
MACHINE_RESET( decocass );
|
||||
MACHINE_RESET( ctsttape );
|
||||
MACHINE_RESET( chwy );
|
||||
MACHINE_RESET( clocknch );
|
||||
MACHINE_RESET( ctisland );
|
||||
MACHINE_RESET( csuperas );
|
||||
MACHINE_RESET( castfant );
|
||||
MACHINE_RESET( cluckypo );
|
||||
MACHINE_RESET( cterrani );
|
||||
MACHINE_RESET( cexplore );
|
||||
MACHINE_RESET( cprogolf );
|
||||
MACHINE_RESET( cmissnx );
|
||||
MACHINE_RESET( cdiscon1 );
|
||||
MACHINE_RESET( cptennis );
|
||||
MACHINE_RESET( ctornado );
|
||||
MACHINE_RESET( cbnj );
|
||||
MACHINE_RESET( cburnrub );
|
||||
MACHINE_RESET( cbtime );
|
||||
MACHINE_RESET( cgraplop );
|
||||
MACHINE_RESET( cgraplop2 );
|
||||
MACHINE_RESET( clapapa );
|
||||
MACHINE_RESET( cfghtice );
|
||||
MACHINE_RESET( cprobowl );
|
||||
MACHINE_RESET( cnightst );
|
||||
MACHINE_RESET( cprosocc );
|
||||
MACHINE_RESET( cppicf );
|
||||
MACHINE_RESET( cscrtry );
|
||||
MACHINE_RESET( cflyball );
|
||||
MACHINE_RESET( cbdash );
|
||||
MACHINE_RESET( czeroize );
|
||||
|
||||
extern WRITE8_HANDLER( i8041_p1_w );
|
||||
extern READ8_HANDLER( i8041_p1_r );
|
||||
extern WRITE8_HANDLER( i8041_p2_w );
|
||||
extern READ8_HANDLER( i8041_p2_r );
|
||||
WRITE8_HANDLER( i8041_p1_w );
|
||||
READ8_HANDLER( i8041_p1_r );
|
||||
WRITE8_HANDLER( i8041_p2_w );
|
||||
READ8_HANDLER( i8041_p2_r );
|
||||
|
||||
void decocass_machine_state_save_init(running_machine *machine);
|
||||
|
||||
|
||||
/*----------- defined in video/decocass.c -----------*/
|
||||
extern WRITE8_HANDLER( decocass_paletteram_w );
|
||||
extern WRITE8_HANDLER( decocass_charram_w );
|
||||
extern WRITE8_HANDLER( decocass_fgvideoram_w );
|
||||
extern WRITE8_HANDLER( decocass_colorram_w );
|
||||
extern WRITE8_HANDLER( decocass_bgvideoram_w );
|
||||
extern WRITE8_HANDLER( decocass_tileram_w );
|
||||
extern WRITE8_HANDLER( decocass_objectram_w );
|
||||
|
||||
extern WRITE8_HANDLER( decocass_watchdog_count_w );
|
||||
extern WRITE8_HANDLER( decocass_watchdog_flip_w );
|
||||
extern WRITE8_HANDLER( decocass_color_missiles_w );
|
||||
extern WRITE8_HANDLER( decocass_mode_set_w );
|
||||
extern WRITE8_HANDLER( decocass_color_center_bot_w );
|
||||
extern WRITE8_HANDLER( decocass_back_h_shift_w );
|
||||
extern WRITE8_HANDLER( decocass_back_vl_shift_w );
|
||||
extern WRITE8_HANDLER( decocass_back_vr_shift_w );
|
||||
extern WRITE8_HANDLER( decocass_part_h_shift_w );
|
||||
extern WRITE8_HANDLER( decocass_part_v_shift_w );
|
||||
extern WRITE8_HANDLER( decocass_center_h_shift_space_w );
|
||||
extern WRITE8_HANDLER( decocass_center_v_shift_w );
|
||||
WRITE8_HANDLER( decocass_paletteram_w );
|
||||
WRITE8_HANDLER( decocass_charram_w );
|
||||
WRITE8_HANDLER( decocass_fgvideoram_w );
|
||||
WRITE8_HANDLER( decocass_colorram_w );
|
||||
WRITE8_HANDLER( decocass_bgvideoram_w );
|
||||
WRITE8_HANDLER( decocass_tileram_w );
|
||||
WRITE8_HANDLER( decocass_objectram_w );
|
||||
|
||||
extern VIDEO_START( decocass );
|
||||
extern SCREEN_UPDATE( decocass );
|
||||
WRITE8_HANDLER( decocass_watchdog_count_w );
|
||||
WRITE8_HANDLER( decocass_watchdog_flip_w );
|
||||
WRITE8_HANDLER( decocass_color_missiles_w );
|
||||
WRITE8_HANDLER( decocass_mode_set_w );
|
||||
WRITE8_HANDLER( decocass_color_center_bot_w );
|
||||
WRITE8_HANDLER( decocass_back_h_shift_w );
|
||||
WRITE8_HANDLER( decocass_back_vl_shift_w );
|
||||
WRITE8_HANDLER( decocass_back_vr_shift_w );
|
||||
WRITE8_HANDLER( decocass_part_h_shift_w );
|
||||
WRITE8_HANDLER( decocass_part_v_shift_w );
|
||||
WRITE8_HANDLER( decocass_center_h_shift_space_w );
|
||||
WRITE8_HANDLER( decocass_center_v_shift_w );
|
||||
|
||||
VIDEO_START( decocass );
|
||||
SCREEN_UPDATE( decocass );
|
||||
|
||||
void decocass_video_state_save_init(running_machine *machine);
|
||||
|
@ -812,7 +812,7 @@ DRIVER_INIT( pceboard )
|
||||
memory_install_write8_handler(cputag_get_address_space(machine, "cart", ADDRESS_SPACE_PROGRAM), 0x8000, 0xffff, 0, 0, eboard_rom_switch_w );
|
||||
|
||||
/* ppu_latch callback */
|
||||
ppu_latch = mapper9_latch;
|
||||
ppu2c0x_set_latch(machine->device("ppu"), mapper9_latch);
|
||||
|
||||
/* nvram at $6000-$6fff */
|
||||
memory_install_ram(cputag_get_address_space(machine, "cart", ADDRESS_SPACE_PROGRAM), 0x6000, 0x6fff, 0, 0, NULL );
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*SCU DSP stuff*/
|
||||
|
||||
extern void dsp_prg_ctrl(address_space *space, UINT32 data);
|
||||
extern void dsp_prg_data(UINT32 data);
|
||||
extern void dsp_ram_addr_ctrl(UINT32 data);
|
||||
extern void dsp_ram_addr_w(UINT32 data);
|
||||
extern UINT32 dsp_ram_addr_r(void);
|
||||
extern void dsp_execute_program(address_space *dmaspace);
|
||||
void dsp_prg_ctrl(address_space *space, UINT32 data);
|
||||
void dsp_prg_data(UINT32 data);
|
||||
void dsp_ram_addr_ctrl(UINT32 data);
|
||||
void dsp_ram_addr_w(UINT32 data);
|
||||
UINT32 dsp_ram_addr_r(void);
|
||||
void dsp_execute_program(address_space *dmaspace);
|
||||
|
||||
|
@ -378,7 +378,7 @@ joshi Vollyball set.
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
int josvolly_nmi_enable;
|
||||
static int josvolly_nmi_enable;
|
||||
|
||||
typedef struct josvolly_8741_struct {
|
||||
UINT8 cmd;
|
||||
@ -535,6 +535,11 @@ READ8_HANDLER( josvolly_8741_0_r ) { return josvolly_8741_r(space,0,offset); }
|
||||
WRITE8_HANDLER( josvolly_8741_1_w ) { josvolly_8741_w(space,1,offset,data); }
|
||||
READ8_HANDLER( josvolly_8741_1_r ) { return josvolly_8741_r(space,1,offset); }
|
||||
|
||||
WRITE8_HANDLER( josvolly_nmi_enable_w )
|
||||
{
|
||||
josvolly_nmi_enable = 1;
|
||||
}
|
||||
|
||||
static struct
|
||||
{
|
||||
UINT8 rxd;
|
||||
|
@ -42,13 +42,12 @@ READ8_HANDLER( TAITO8741_3_r );
|
||||
joshi Volleyball set.
|
||||
****************************************************************************/
|
||||
|
||||
extern int josvolly_nmi_enable;
|
||||
|
||||
void josvolly_8741_reset(void);
|
||||
WRITE8_HANDLER( josvolly_8741_0_w );
|
||||
WRITE8_HANDLER( josvolly_8741_1_w );
|
||||
READ8_HANDLER( josvolly_8741_0_r );
|
||||
READ8_HANDLER( josvolly_8741_1_r );
|
||||
WRITE8_HANDLER( josvolly_nmi_enable_w );
|
||||
|
||||
/****************************************************************************
|
||||
Cycle Mahbou set.
|
||||
|
@ -169,9 +169,7 @@ WRITE16_HANDLER( vertigo_wsot_w )
|
||||
|
||||
static TIMER_CALLBACK( sound_command_w )
|
||||
{
|
||||
exidy440_sound_command = param;
|
||||
exidy440_sound_command_ack = 0;
|
||||
cputag_set_input_line(machine, "audiocpu", INPUT_LINE_IRQ1, ASSERT_LINE);
|
||||
exidy440_sound_command(machine, param);
|
||||
|
||||
/* It is important that the sound cpu ACKs the sound command
|
||||
quickly. Otherwise the main CPU gives up with sound. Boosting
|
||||
@ -190,7 +188,7 @@ WRITE16_HANDLER( vertigo_audio_w )
|
||||
|
||||
READ16_HANDLER( vertigo_sio_r )
|
||||
{
|
||||
return exidy440_sound_command_ack ? 0xfc : 0xfd;
|
||||
return exidy440_sound_command_ack() ? 0xfc : 0xfd;
|
||||
}
|
||||
|
||||
|
||||
|
@ -273,9 +273,6 @@ static void reset_common(running_machine *machine)
|
||||
state->bg_status = 0x01;
|
||||
state->flipscreen = 0;
|
||||
state->palette_intensity = 0;
|
||||
|
||||
if (jal_blend_table != NULL)
|
||||
memset(jal_blend_table, 0, 0xc00);
|
||||
}
|
||||
|
||||
VIDEO_START( argus )
|
||||
@ -292,7 +289,7 @@ VIDEO_START( argus )
|
||||
/* dummy RAM for back ground */
|
||||
state->dummy_bg0ram = auto_alloc_array(machine, UINT8, 0x800);
|
||||
|
||||
jal_blend_table = auto_alloc_array(machine, UINT8, 0xc00);
|
||||
jal_blend_init(machine, 1);
|
||||
}
|
||||
|
||||
VIDEO_RESET( argus )
|
||||
@ -317,7 +314,7 @@ VIDEO_START( valtric )
|
||||
|
||||
state->mosaicbitmap = machine->primary_screen->alloc_compatible_bitmap();
|
||||
|
||||
jal_blend_table = auto_alloc_array(machine, UINT8, 0xc00);
|
||||
jal_blend_init(machine, 1);
|
||||
}
|
||||
|
||||
VIDEO_RESET( valtric )
|
||||
@ -346,8 +343,7 @@ VIDEO_START( butasan )
|
||||
state->butasan_txram = &state->butasan_pagedram[1][0x000];
|
||||
state->butasan_txbackram = &state->butasan_pagedram[1][0x800];
|
||||
|
||||
jal_blend_table = auto_alloc_array(machine, UINT8, 0xc00);
|
||||
//jal_blend_table = NULL;
|
||||
jal_blend_init(machine, 1);
|
||||
}
|
||||
|
||||
VIDEO_RESET( butasan )
|
||||
@ -396,7 +392,7 @@ static void argus_change_palette(running_machine *machine, int color, int lo_off
|
||||
argus_state *state = machine->driver_data<argus_state>();
|
||||
UINT8 lo = state->paletteram[lo_offs];
|
||||
UINT8 hi = state->paletteram[hi_offs];
|
||||
if (jal_blend_table != NULL) jal_blend_table[color] = hi & 0x0f;
|
||||
jal_blend_set(color, hi & 0x0f);
|
||||
palette_set_color_rgb(machine, color, pal4bit(lo >> 4), pal4bit(lo), pal4bit(hi >> 4));
|
||||
}
|
||||
|
||||
|
@ -8,8 +8,8 @@
|
||||
|
||||
extern const char layout_awpvid14[]; /* main layout positioning 6 reels, a lamp matrix and a 14seg VFD */
|
||||
extern const char layout_awpvid16[]; /* main layout positioning 6 reels, a lamp matrix and a 16seg VFD */
|
||||
extern void awp_draw_reel(int rno);
|
||||
void awp_draw_reel(int rno);
|
||||
|
||||
extern void awp_reel_setup(void);
|
||||
void awp_reel_setup(void);
|
||||
|
||||
#endif
|
||||
|
@ -113,7 +113,7 @@ static int adder2_screen_page_reg; // access/display select
|
||||
static int adder2_c101;
|
||||
static int adder2_rx;
|
||||
static int adder_vbl_triggered; // flag <>0, VBL IRQ triggered
|
||||
int adder2_acia_triggered; // flag <>0, ACIA receive IRQ
|
||||
static int adder2_acia_triggered; // flag <>0, ACIA receive IRQ
|
||||
|
||||
static UINT8 adder_ram[0xE80]; // normal RAM
|
||||
static UINT8 adder_screen_ram[2][0x1180]; // paged display RAM
|
||||
@ -121,11 +121,11 @@ static UINT8 adder_screen_ram[2][0x1180]; // paged display RAM
|
||||
static tilemap_t *tilemap0; // tilemap screen0
|
||||
static tilemap_t *tilemap1; // timemap screen1
|
||||
|
||||
UINT8 adder2_data_from_sc2;
|
||||
UINT8 adder2_data_to_sc2;
|
||||
static UINT8 adder2_data_from_sc2;
|
||||
static UINT8 adder2_data_to_sc2;
|
||||
|
||||
UINT8 adder2_data;
|
||||
UINT8 adder2_sc2data;
|
||||
static UINT8 adder2_data;
|
||||
static UINT8 adder2_sc2data;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -416,6 +416,32 @@ static READ8_HANDLER( adder2_irq_r )
|
||||
return status;
|
||||
}
|
||||
|
||||
void adder2_send(int data)
|
||||
{
|
||||
adder2_data_from_sc2 = 1; // set flag, data from scorpion2 board available
|
||||
adder2_sc2data = data; // store data
|
||||
|
||||
adder2_acia_triggered = 1; // set flag, acia IRQ triggered
|
||||
}
|
||||
|
||||
int adder2_receive(void)
|
||||
{
|
||||
UINT8 data = adder2_data;
|
||||
adder2_data_to_sc2 = 0; // clr flag, data from adder available
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
int adder2_status()
|
||||
{
|
||||
int status = 0;
|
||||
|
||||
if ( adder2_data_to_sc2 ) status |= 0x01; // receive buffer full
|
||||
if ( !adder2_data_from_sc2) status |= 0x02; // transmit buffer empty
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// decode character data to a format which can be decoded by MAME //
|
||||
|
@ -1,15 +1,12 @@
|
||||
#ifndef INC_BFMADDER2
|
||||
#define INC_BFMADDER2
|
||||
|
||||
extern UINT8 adder2_data_from_sc2; // data available for adder from sc2
|
||||
extern UINT8 adder2_sc2data; // data
|
||||
extern UINT8 adder2_data_to_sc2; // data available for sc2 from adder
|
||||
extern UINT8 adder2_data; // data
|
||||
|
||||
extern int adder2_acia_triggered; // flag <>0, ACIA receive IRQ
|
||||
int adder2_receive(void);
|
||||
void adder2_send(int data);
|
||||
int adder2_status(void);
|
||||
|
||||
GFXDECODE_EXTERN( adder2 );
|
||||
extern void adder2_decode_char_roms(running_machine *machine);
|
||||
void adder2_decode_char_roms(running_machine *machine);
|
||||
|
||||
MACHINE_RESET( adder2 );
|
||||
INTERRUPT_GEN( adder2_vbl );
|
||||
|
@ -16,7 +16,31 @@
|
||||
|
||||
|
||||
/* each palette entry contains a fourth 'alpha' value */
|
||||
UINT8 *jal_blend_table;
|
||||
static UINT8 *jal_blend_table;
|
||||
|
||||
|
||||
static void jal_blend_reset(running_machine &machine)
|
||||
{
|
||||
memset(jal_blend_table, 0, 0xc00);
|
||||
}
|
||||
|
||||
void jal_blend_init(running_machine *machine, int enable)
|
||||
{
|
||||
if (enable)
|
||||
{
|
||||
jal_blend_table = auto_alloc_array_clear(machine, UINT8, 0xc00);
|
||||
machine->add_notifier(MACHINE_NOTIFY_RESET, jal_blend_reset);
|
||||
}
|
||||
else
|
||||
{
|
||||
jal_blend_table = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void jal_blend_set(int color, UINT8 val)
|
||||
{
|
||||
if (jal_blend_table) jal_blend_table[color] = val;
|
||||
}
|
||||
|
||||
/*
|
||||
* 'Alpha' Format
|
||||
|
@ -1,4 +1,6 @@
|
||||
extern UINT8 *jal_blend_table;
|
||||
void jal_blend_init(running_machine *machine, int enable);
|
||||
void jal_blend_set(int color, UINT8 val);
|
||||
|
||||
rgb_t jal_blend_func(rgb_t dest, rgb_t addMe, UINT8 alpha);
|
||||
void jal_blend_drawgfx(bitmap_t *dest_bmp,const rectangle *clip,const gfx_element *gfx,
|
||||
UINT32 code,UINT32 color,int flipx,int flipy,int offsx,int offsy,
|
||||
|
@ -183,11 +183,11 @@ struct _mcd212_ab_t
|
||||
};
|
||||
|
||||
// Member functions
|
||||
extern READ16_HANDLER( mcd212_r );
|
||||
extern WRITE16_HANDLER( mcd212_w );
|
||||
extern TIMER_CALLBACK( mcd212_perform_scan );
|
||||
extern VIDEO_START( cdimono1 );
|
||||
extern SCREEN_UPDATE( cdimono1 );
|
||||
extern SCREEN_UPDATE( cdimono1_lcd );
|
||||
READ16_HANDLER( mcd212_r );
|
||||
WRITE16_HANDLER( mcd212_w );
|
||||
TIMER_CALLBACK( mcd212_perform_scan );
|
||||
VIDEO_START( cdimono1 );
|
||||
SCREEN_UPDATE( cdimono1 );
|
||||
SCREEN_UPDATE( cdimono1_lcd );
|
||||
|
||||
#endif // _VIDEO_MCD212_H_
|
||||
|
@ -108,6 +108,7 @@ struct _ppu2c0x_state
|
||||
int scanlines_per_frame; /* number of scanlines per frame */
|
||||
rgb_t palette[64*4]; /* palette for this chip */
|
||||
int security_value; /* 2C05 protection */
|
||||
void (*latch)( device_t *device, offs_t offset );
|
||||
};
|
||||
|
||||
|
||||
@ -121,7 +122,6 @@ static TIMER_CALLBACK( scanline_callback );
|
||||
static TIMER_CALLBACK( hblank_callback );
|
||||
static TIMER_CALLBACK( nmi_callback );
|
||||
|
||||
void (*ppu_latch)( device_t *device, offs_t offset );
|
||||
|
||||
/* palette handlers */
|
||||
static WRITE8_HANDLER( ppu2c0x_palette_write );
|
||||
@ -327,6 +327,12 @@ static const gfx_layout ppu_charlayout =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void ppu2c0x_set_latch( device_t *device, void (*latch)(device_t *device, offs_t offset))
|
||||
{
|
||||
ppu2c0x_state *ppu2c0x = get_token(device);
|
||||
ppu2c0x->latch = latch;
|
||||
}
|
||||
|
||||
static TIMER_CALLBACK( hblank_callback )
|
||||
{
|
||||
device_t *device = (device_t *)ptr;
|
||||
@ -436,9 +442,9 @@ static void draw_background( device_t *device, UINT8 *line_priority )
|
||||
page2 = ppu2c0x->space->read_byte(index1);
|
||||
|
||||
// 27/12/2002
|
||||
if (ppu_latch)
|
||||
if (ppu2c0x->latch)
|
||||
{
|
||||
(*ppu_latch)(device, (tile_page << 10) | (page2 << 4));
|
||||
(*ppu2c0x->latch)(device, (tile_page << 10) | (page2 << 4));
|
||||
}
|
||||
|
||||
if (start_x < VISIBLE_SCREEN_WIDTH)
|
||||
@ -577,8 +583,8 @@ static void draw_sprites( device_t *device, UINT8 *line_priority )
|
||||
}
|
||||
}
|
||||
|
||||
if (ppu_latch)
|
||||
(*ppu_latch)(device, (sprite_page << 10) | ((tile & 0xff) << 4));
|
||||
if (ppu2c0x->latch)
|
||||
(*ppu2c0x->latch)(device, (sprite_page << 10) | ((tile & 0xff) << 4));
|
||||
|
||||
/* compute the character's line to draw */
|
||||
sprite_line = scanline - sprite_ypos;
|
||||
@ -991,8 +997,8 @@ READ8_DEVICE_HANDLER( ppu2c0x_r )
|
||||
break;
|
||||
|
||||
case PPU_DATA: /* 7 */
|
||||
if (ppu_latch)
|
||||
(*ppu_latch)(device, ppu2c0x->videomem_addr & 0x3fff);
|
||||
if (ppu2c0x->latch)
|
||||
(*ppu2c0x->latch)(device, ppu2c0x->videomem_addr & 0x3fff);
|
||||
|
||||
if (ppu2c0x->videomem_addr >= 0x3f00)
|
||||
{
|
||||
@ -1142,8 +1148,8 @@ WRITE8_DEVICE_HANDLER( ppu2c0x_w )
|
||||
{
|
||||
int tempAddr = ppu2c0x->videomem_addr & 0x3fff;
|
||||
|
||||
if (ppu_latch)
|
||||
(*ppu_latch)(device, tempAddr);
|
||||
if (ppu2c0x->latch)
|
||||
(*ppu2c0x->latch)(device, tempAddr);
|
||||
|
||||
/* if there's a callback, call it now */
|
||||
if (ppu2c0x->vidaccess_callback_proc)
|
||||
|
@ -120,8 +120,7 @@ void ppu2c0x_set_vidaccess_callback( device_t *device, ppu2c0x_vidaccess_cb cb )
|
||||
void ppu2c0x_set_scanlines_per_frame( device_t *device, int scanlines ) ATTR_NONNULL(1);
|
||||
|
||||
//27/12/2002 (HACK!)
|
||||
extern void (*ppu_latch)( device_t *device, offs_t offset );
|
||||
|
||||
void ppu2c0x_set_latch( device_t *device, void (*ppu_latch_t)( device_t *device, offs_t offset ));
|
||||
WRITE8_DEVICE_HANDLER( ppu2c0x_w );
|
||||
READ8_DEVICE_HANDLER( ppu2c0x_r );
|
||||
|
||||
|
@ -28,7 +28,7 @@ static void psychic5_change_palette(running_machine *machine, int color, int off
|
||||
psychic5_state *state = machine->driver_data<psychic5_state>();
|
||||
UINT8 lo = state->ps5_palette_ram[offset & ~1];
|
||||
UINT8 hi = state->ps5_palette_ram[offset | 1];
|
||||
if (jal_blend_table != NULL) jal_blend_table[color] = hi & 0x0f;
|
||||
jal_blend_set(color, hi & 0x0f);
|
||||
palette_set_color_rgb(machine, color, pal4bit(lo >> 4), pal4bit(lo), pal4bit(hi >> 4));
|
||||
}
|
||||
|
||||
@ -252,7 +252,7 @@ VIDEO_START( psychic5 )
|
||||
state->ps5_palette_ram = &state->ps5_pagedram[1][0x0400];
|
||||
state->fg_videoram = &state->ps5_pagedram[1][0x1000];
|
||||
|
||||
jal_blend_table = auto_alloc_array(machine, UINT8, 0xc00);
|
||||
jal_blend_init(machine, 1);
|
||||
|
||||
state->bg_palette_ram_base = 0x400;
|
||||
state->bg_palette_base = 0x100;
|
||||
@ -276,8 +276,7 @@ VIDEO_START( bombsa )
|
||||
state->fg_videoram = &state->ps5_pagedram[1][0x0800];
|
||||
state->ps5_palette_ram = &state->ps5_pagedram[1][0x1000];
|
||||
|
||||
//jal_blend_table = auto_alloc_array(machine, UINT8, 0xc00);
|
||||
jal_blend_table = NULL;
|
||||
jal_blend_init(machine, 0);
|
||||
|
||||
state->bg_palette_ram_base = 0x000;
|
||||
state->bg_palette_base = 0x000;
|
||||
@ -292,7 +291,6 @@ VIDEO_RESET( psychic5 )
|
||||
memset(state->ps5_pagedram[0],0,0x2000);
|
||||
memset(state->ps5_pagedram[1],0,0x2000);
|
||||
state->palette_intensity = 0;
|
||||
if (jal_blend_table != NULL) memset(jal_blend_table,0,0xc00);
|
||||
}
|
||||
|
||||
VIDEO_RESET( bombsa )
|
||||
@ -304,7 +302,6 @@ VIDEO_RESET( bombsa )
|
||||
memset(state->ps5_pagedram[0],0,0x2000);
|
||||
memset(state->ps5_pagedram[1],0,0x2000);
|
||||
state->palette_intensity = 0;
|
||||
if (jal_blend_table != NULL) memset(jal_blend_table,0,0xc00);
|
||||
}
|
||||
|
||||
|
||||
|
@ -28,6 +28,6 @@ MCFG_DEVICE_CONFIG(_interface)
|
||||
DEVICE I/O FUNCTIONS
|
||||
***************************************************************************/
|
||||
|
||||
extern int vrender0_ProcessPacket(device_t *device, UINT32 PacketPtr, UINT16 *Dest, UINT8 *TEXTURE);
|
||||
int vrender0_ProcessPacket(device_t *device, UINT32 PacketPtr, UINT16 *Dest, UINT8 *TEXTURE);
|
||||
|
||||
#endif /* __VR0VIDEO_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user