summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/leland.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/leland.h')
-rw-r--r--src/mame/includes/leland.h150
1 files changed, 150 insertions, 0 deletions
diff --git a/src/mame/includes/leland.h b/src/mame/includes/leland.h
new file mode 100644
index 00000000000..d639481a4dc
--- /dev/null
+++ b/src/mame/includes/leland.h
@@ -0,0 +1,150 @@
+/*************************************************************************
+
+ Cinemat/Leland driver
+
+*************************************************************************/
+
+#include "sound/custom.h"
+
+#define LELAND_BATTERY_RAM_SIZE 0x4000
+#define ATAXX_EXTRA_TRAM_SIZE 0x800
+
+
+/*----------- defined in machine/leland.c -----------*/
+
+#define SERIAL_TYPE_NONE 0
+#define SERIAL_TYPE_ADD 1
+#define SERIAL_TYPE_ADD_XOR 2
+#define SERIAL_TYPE_ENCRYPT 3
+#define SERIAL_TYPE_ENCRYPT_XOR 4
+
+extern UINT8 leland_dac_control;
+extern void (*leland_update_master_bank)(void);
+
+READ8_HANDLER( cerberus_dial_1_r );
+READ8_HANDLER( cerberus_dial_2_r );
+
+extern UINT8 *alleymas_kludge_mem;
+WRITE8_HANDLER( alleymas_joystick_kludge );
+
+READ8_HANDLER( dangerz_input_y_r );
+READ8_HANDLER( dangerz_input_x_r );
+READ8_HANDLER( dangerz_input_upper_r );
+
+READ8_HANDLER( redline_pedal_1_r );
+READ8_HANDLER( redline_pedal_2_r );
+READ8_HANDLER( redline_wheel_1_r );
+READ8_HANDLER( redline_wheel_2_r );
+
+READ8_HANDLER( offroad_wheel_1_r );
+READ8_HANDLER( offroad_wheel_2_r );
+READ8_HANDLER( offroad_wheel_3_r );
+
+READ8_HANDLER( ataxx_trackball_r );
+
+READ8_HANDLER( indyheat_wheel_r );
+READ8_HANDLER( indyheat_analog_r );
+WRITE8_HANDLER( indyheat_analog_w );
+
+MACHINE_START( leland );
+MACHINE_RESET( leland );
+MACHINE_START( ataxx );
+MACHINE_RESET( ataxx );
+
+INTERRUPT_GEN( leland_master_interrupt );
+
+WRITE8_HANDLER( leland_master_alt_bankswitch_w );
+void cerberus_bankswitch(void);
+void mayhem_bankswitch(void);
+void dangerz_bankswitch(void);
+void basebal2_bankswitch(void);
+void redline_bankswitch(void);
+void viper_bankswitch(void);
+void offroad_bankswitch(void);
+void ataxx_bankswitch(void);
+
+void leland_init_eeprom(UINT8 default_val, const UINT16 *data, UINT8 serial_offset, UINT8 serial_type);
+void ataxx_init_eeprom(UINT8 default_val, const UINT16 *data, UINT8 serial_offset);
+
+READ8_HANDLER( ataxx_eeprom_r );
+WRITE8_HANDLER( ataxx_eeprom_w );
+
+WRITE8_HANDLER( leland_battery_ram_w );
+WRITE8_HANDLER( ataxx_battery_ram_w );
+NVRAM_HANDLER( leland );
+NVRAM_HANDLER( ataxx );
+
+READ8_HANDLER( leland_master_analog_key_r );
+WRITE8_HANDLER( leland_master_analog_key_w );
+
+READ8_HANDLER( leland_master_input_r );
+WRITE8_HANDLER( leland_master_output_w );
+READ8_HANDLER( ataxx_master_input_r );
+WRITE8_HANDLER( ataxx_master_output_w );
+
+WRITE8_HANDLER( leland_gated_paletteram_w );
+READ8_HANDLER( leland_gated_paletteram_r );
+WRITE8_HANDLER( ataxx_paletteram_and_misc_w );
+READ8_HANDLER( ataxx_paletteram_and_misc_r );
+
+READ8_HANDLER( leland_sound_port_r );
+WRITE8_HANDLER( leland_sound_port_w );
+
+WRITE8_HANDLER( leland_slave_small_banksw_w );
+WRITE8_HANDLER( leland_slave_large_banksw_w );
+WRITE8_HANDLER( ataxx_slave_banksw_w );
+
+READ8_HANDLER( leland_raster_r );
+
+void leland_rotate_memory(int cpunum);
+
+
+/*----------- defined in audio/leland.c -----------*/
+
+void *leland_sh_start(int clock, const struct CustomSound_interface *config);
+
+void *leland_80186_sh_start(int clock, const struct CustomSound_interface *config);
+void *redline_80186_sh_start(int clock, const struct CustomSound_interface *config);
+void leland_dac_update(int dacnum, UINT8 sample);
+
+void leland_80186_sound_init(void);
+
+READ8_HANDLER( leland_80186_response_r );
+
+WRITE8_HANDLER( leland_80186_control_w );
+WRITE8_HANDLER( leland_80186_command_lo_w );
+WRITE8_HANDLER( leland_80186_command_hi_w );
+WRITE8_HANDLER( ataxx_80186_control_w );
+
+ADDRESS_MAP_EXTERN(leland_80186_map_program);
+ADDRESS_MAP_EXTERN(leland_80186_map_io);
+ADDRESS_MAP_EXTERN(redline_80186_map_io);
+ADDRESS_MAP_EXTERN(ataxx_80186_map_io);
+
+
+/*----------- defined in video/leland.c -----------*/
+
+extern UINT8 *ataxx_qram;
+extern UINT8 leland_last_scanline_int;
+
+VIDEO_START( leland );
+VIDEO_START( ataxx );
+
+WRITE8_HANDLER( leland_gfx_port_w );
+
+WRITE8_HANDLER( leland_master_video_addr_w );
+WRITE8_HANDLER( leland_mvram_port_w );
+READ8_HANDLER( leland_mvram_port_r );
+
+WRITE8_HANDLER( leland_slave_video_addr_w );
+WRITE8_HANDLER( leland_svram_port_w );
+READ8_HANDLER( leland_svram_port_r );
+
+WRITE8_HANDLER( ataxx_mvram_port_w );
+WRITE8_HANDLER( ataxx_svram_port_w );
+READ8_HANDLER( ataxx_mvram_port_r );
+READ8_HANDLER( ataxx_svram_port_r );
+
+VIDEO_EOF( leland );
+VIDEO_UPDATE( leland );
+VIDEO_UPDATE( ataxx );