From 0989f6fe05af001d8cd0788fa42ea0ac9e237311 Mon Sep 17 00:00:00 2001 From: Aaron Giles Date: Fri, 25 Mar 2011 16:02:59 +0000 Subject: [PATCH] Convert cclimber/galpani2/gticlub/namcond1/pacman/seibuspi/tetrisp2/vicdual to driver_device. [Atari Ace] --- src/mame/audio/exidy440.c | 32 +++++--- src/mame/audio/exidy440.h | 4 +- src/mame/audio/t5182.c | 14 +++- src/mame/audio/t5182.h | 3 +- src/mame/drivers/bfm_sc1.c | 33 +------- src/mame/drivers/bfm_sc2.c | 49 +++-------- src/mame/drivers/darkmist.c | 13 +-- src/mame/drivers/exidy440.c | 8 +- src/mame/drivers/gsword.c | 16 ---- src/mame/drivers/mustache.c | 13 +-- src/mame/drivers/panicr.c | 4 +- src/mame/includes/amiga.h | 2 +- src/mame/includes/konamigx.h | 2 +- src/mame/includes/m79amb.h | 4 +- src/mame/includes/model3.h | 12 +-- src/mame/includes/orbit.h | 2 +- src/mame/includes/skyraid.h | 2 +- src/mame/machine/cdi070.h | 28 +++---- src/mame/machine/decocass.h | 154 ++++++++++++++++++----------------- src/mame/machine/playch10.c | 2 +- src/mame/machine/scudsp.h | 12 +-- src/mame/machine/tait8741.c | 7 +- src/mame/machine/tait8741.h | 3 +- src/mame/machine/vertigo.c | 6 +- src/mame/video/argus.c | 12 +-- src/mame/video/awpvid.h | 4 +- src/mame/video/bfm_adr2.c | 36 ++++++-- src/mame/video/bfm_adr2.h | 11 +-- src/mame/video/jalblend.c | 26 +++++- src/mame/video/jalblend.h | 4 +- src/mame/video/mcd212.h | 12 +-- src/mame/video/ppu2c0x.c | 24 ++++-- src/mame/video/ppu2c0x.h | 3 +- src/mame/video/psychic5.c | 9 +- src/mame/video/vrender0.h | 2 +- 35 files changed, 272 insertions(+), 296 deletions(-) diff --git a/src/mame/audio/exidy440.c b/src/mame/audio/exidy440.c index e917731aa8c..a0b82ea6a9b 100644 --- a/src/mame/audio/exidy440.c +++ b/src/mame/audio/exidy440.c @@ -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; } diff --git a/src/mame/audio/exidy440.h b/src/mame/audio/exidy440.h index b7fb3d3f2f5..bee7f376d0b 100644 --- a/src/mame/audio/exidy440.h +++ b/src/mame/audio/exidy440.h @@ -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 ); diff --git a/src/mame/audio/t5182.c b/src/mame/audio/t5182.c index 2daa7bed5d6..6e3f0ed4d90 100644 --- a/src/mame/audio/t5182.c +++ b/src/mame/audio/t5182.c @@ -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; diff --git a/src/mame/audio/t5182.h b/src/mame/audio/t5182.h index b14673bc88f..bb0d3f29c08 100644 --- a/src/mame/audio/t5182.h +++ b/src/mame/audio/t5182.h @@ -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; diff --git a/src/mame/drivers/bfm_sc1.c b/src/mame/drivers/bfm_sc1.c index 81d6ce0c44d..3d2a34153eb 100644 --- a/src/mame/drivers/bfm_sc1.c +++ b/src/mame/drivers/bfm_sc1.c @@ -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 /////////////////////////////////////////////////// diff --git a/src/mame/drivers/bfm_sc2.c b/src/mame/drivers/bfm_sc2.c index ea07e20425a..bb64a2e9cb9 100644 --- a/src/mame/drivers/bfm_sc2.c +++ b/src/mame/drivers/bfm_sc2.c @@ -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(); } /////////////////////////////////////////////////////////////////////////// diff --git a/src/mame/drivers/darkmist.c b/src/mame/drivers/darkmist.c index 65335bd5cff..7e9916a2ed9 100644 --- a/src/mame/drivers/darkmist.c +++ b/src/mame/drivers/darkmist.c @@ -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) diff --git a/src/mame/drivers/exidy440.c b/src/mame/drivers/exidy440.c index 0405cb4838e..f5ea0ffbb4f 100644 --- a/src/mame/drivers/exidy440.c +++ b/src/mame/drivers/exidy440.c @@ -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); } diff --git a/src/mame/drivers/gsword.c b/src/mame/drivers/gsword.c index a2c683566cf..64fceefff64 100644 --- a/src/mame/drivers/gsword.c +++ b/src/mame/drivers/gsword.c @@ -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(); @@ -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(); diff --git a/src/mame/drivers/mustache.c b/src/mame/drivers/mustache.c index f1c99a4ef6d..fc8cbcc3645 100644 --- a/src/mame/drivers/mustache.c +++ b/src/mame/drivers/mustache.c @@ -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") diff --git a/src/mame/drivers/panicr.c b/src/mame/drivers/panicr.c index b5ce0deab63..67e296ffcca 100644 --- a/src/mame/drivers/panicr.c +++ b/src/mame/drivers/panicr.c @@ -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); } diff --git a/src/mame/includes/amiga.h b/src/mame/includes/amiga.h index 30aeb363bb4..4cc594efc67 100644 --- a/src/mame/includes/amiga.h +++ b/src/mame/includes/amiga.h @@ -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); diff --git a/src/mame/includes/konamigx.h b/src/mame/includes/konamigx.h index 7c609133233..0df00ce77d1 100644 --- a/src/mame/includes/konamigx.h +++ b/src/mame/includes/konamigx.h @@ -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; diff --git a/src/mame/includes/m79amb.h b/src/mame/includes/m79amb.h index dc57ea67936..25da1dbb77f 100644 --- a/src/mame/includes/m79amb.h +++ b/src/mame/includes/m79amb.h @@ -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 ); diff --git a/src/mame/includes/model3.h b/src/mame/includes/model3.h index a319efe6ca9..05463c2310a 100644 --- a/src/mame/includes/model3.h +++ b/src/mame/includes/model3.h @@ -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 -----------*/ diff --git a/src/mame/includes/orbit.h b/src/mame/includes/orbit.h index 4d4b017633d..a33bcd4eba1 100644 --- a/src/mame/includes/orbit.h +++ b/src/mame/includes/orbit.h @@ -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 ); diff --git a/src/mame/includes/skyraid.h b/src/mame/includes/skyraid.h index 38213c8798b..2e0b8e58e16 100644 --- a/src/mame/includes/skyraid.h +++ b/src/mame/includes/skyraid.h @@ -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 -----------*/ diff --git a/src/mame/machine/cdi070.h b/src/mame/machine/cdi070.h index d351561e211..583ce27493f 100644 --- a/src/mame/machine/cdi070.h +++ b/src/mame/machine/cdi070.h @@ -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_ diff --git a/src/mame/machine/decocass.h b/src/mame/machine/decocass.h index 5e87a925497..a79bb3472c0 100644 --- a/src/mame/machine/decocass.h +++ b/src/mame/machine/decocass.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); diff --git a/src/mame/machine/playch10.c b/src/mame/machine/playch10.c index 8daf9b05669..f0b9a4c6c15 100644 --- a/src/mame/machine/playch10.c +++ b/src/mame/machine/playch10.c @@ -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 ); diff --git a/src/mame/machine/scudsp.h b/src/mame/machine/scudsp.h index f0efe9ebee8..967392a25bc 100644 --- a/src/mame/machine/scudsp.h +++ b/src/mame/machine/scudsp.h @@ -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); diff --git a/src/mame/machine/tait8741.c b/src/mame/machine/tait8741.c index 13edc576706..014d2e32a2f 100644 --- a/src/mame/machine/tait8741.c +++ b/src/mame/machine/tait8741.c @@ -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; diff --git a/src/mame/machine/tait8741.h b/src/mame/machine/tait8741.h index f22d7d49792..0a99ea39eba 100644 --- a/src/mame/machine/tait8741.h +++ b/src/mame/machine/tait8741.h @@ -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. diff --git a/src/mame/machine/vertigo.c b/src/mame/machine/vertigo.c index e7c273cbbbe..3796de3d3b2 100644 --- a/src/mame/machine/vertigo.c +++ b/src/mame/machine/vertigo.c @@ -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; } diff --git a/src/mame/video/argus.c b/src/mame/video/argus.c index 6cb377d9755..7bc534c1e45 100644 --- a/src/mame/video/argus.c +++ b/src/mame/video/argus.c @@ -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(); 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)); } diff --git a/src/mame/video/awpvid.h b/src/mame/video/awpvid.h index 876d7ba455f..795c80bd64e 100644 --- a/src/mame/video/awpvid.h +++ b/src/mame/video/awpvid.h @@ -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 diff --git a/src/mame/video/bfm_adr2.c b/src/mame/video/bfm_adr2.c index 80158ed6b74..ffeea86049e 100644 --- a/src/mame/video/bfm_adr2.c +++ b/src/mame/video/bfm_adr2.c @@ -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 // diff --git a/src/mame/video/bfm_adr2.h b/src/mame/video/bfm_adr2.h index ff15d73c31d..9c083bbab16 100644 --- a/src/mame/video/bfm_adr2.h +++ b/src/mame/video/bfm_adr2.h @@ -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 ); diff --git a/src/mame/video/jalblend.c b/src/mame/video/jalblend.c index b6a6ff73489..f0a4ca20c61 100644 --- a/src/mame/video/jalblend.c +++ b/src/mame/video/jalblend.c @@ -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 diff --git a/src/mame/video/jalblend.h b/src/mame/video/jalblend.h index c4058fb2045..544de3a5dac 100644 --- a/src/mame/video/jalblend.h +++ b/src/mame/video/jalblend.h @@ -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, diff --git a/src/mame/video/mcd212.h b/src/mame/video/mcd212.h index d9bc80724e2..16e19db43d4 100644 --- a/src/mame/video/mcd212.h +++ b/src/mame/video/mcd212.h @@ -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_ diff --git a/src/mame/video/ppu2c0x.c b/src/mame/video/ppu2c0x.c index 5ae68a2e9a9..389796cf5df 100644 --- a/src/mame/video/ppu2c0x.c +++ b/src/mame/video/ppu2c0x.c @@ -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) diff --git a/src/mame/video/ppu2c0x.h b/src/mame/video/ppu2c0x.h index 4608406482e..667a972be70 100644 --- a/src/mame/video/ppu2c0x.h +++ b/src/mame/video/ppu2c0x.h @@ -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 ); diff --git a/src/mame/video/psychic5.c b/src/mame/video/psychic5.c index 70325d13dc7..bb48f7abeec 100644 --- a/src/mame/video/psychic5.c +++ b/src/mame/video/psychic5.c @@ -28,7 +28,7 @@ static void psychic5_change_palette(running_machine *machine, int color, int off psychic5_state *state = machine->driver_data(); 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); } diff --git a/src/mame/video/vrender0.h b/src/mame/video/vrender0.h index 0abc6fa35e7..c4873516eb6 100644 --- a/src/mame/video/vrender0.h +++ b/src/mame/video/vrender0.h @@ -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__ */