18
18
micro3d_state(const machine_config &mconfig, device_type type, const char *tag)
19
: driver_device(mconfig, type, tag) { }
19
: driver_device(mconfig, type, tag) ,
20
m_shared_ram(*this, "shared_ram"),
21
m_mac_sram(*this, "mac_sram"),
22
m_micro3d_sprite_vram(*this, "sprite_vram"){ }
24
required_shared_ptr<UINT16> m_shared_ram;
22
25
device_t *m_duart68681;
23
26
UINT8 m_m68681_tx0;
72
75
UINT16 *m_tmp_buffer;
73
76
int m_drawing_buffer;
74
77
int m_display_buffer;
78
DECLARE_WRITE16_MEMBER(micro3d_ti_uart_w);
79
DECLARE_READ16_MEMBER(micro3d_ti_uart_r);
80
DECLARE_WRITE32_MEMBER(micro3d_scc_w);
81
DECLARE_READ32_MEMBER(micro3d_scc_r);
82
DECLARE_READ16_MEMBER(micro3d_tms_host_r);
83
DECLARE_WRITE16_MEMBER(micro3d_tms_host_w);
84
DECLARE_WRITE32_MEMBER(micro3d_mac1_w);
85
DECLARE_READ32_MEMBER(micro3d_mac2_r);
86
DECLARE_WRITE32_MEMBER(micro3d_mac2_w);
87
DECLARE_READ16_MEMBER(micro3d_encoder_h_r);
88
DECLARE_READ16_MEMBER(micro3d_encoder_l_r);
89
DECLARE_READ16_MEMBER(micro3d_adc_r);
90
DECLARE_WRITE16_MEMBER(micro3d_adc_w);
91
DECLARE_READ16_MEMBER(botssa_140000_r);
92
DECLARE_READ16_MEMBER(botssa_180000_r);
93
DECLARE_WRITE16_MEMBER(micro3d_reset_w);
94
DECLARE_WRITE16_MEMBER(host_drmath_int_w);
95
DECLARE_WRITE32_MEMBER(micro3d_shared_w);
96
DECLARE_READ32_MEMBER(micro3d_shared_r);
97
DECLARE_WRITE32_MEMBER(drmath_int_w);
98
DECLARE_WRITE32_MEMBER(drmath_intr2_ack);
99
DECLARE_WRITE16_MEMBER(micro3d_clut_w);
100
DECLARE_WRITE16_MEMBER(micro3d_creg_w);
101
DECLARE_WRITE16_MEMBER(micro3d_xfer3dk_w);
102
DECLARE_WRITE32_MEMBER(micro3d_fifo_w);
103
DECLARE_WRITE32_MEMBER(micro3d_alt_fifo_w);
104
DECLARE_READ32_MEMBER(micro3d_pipe_r);
105
DECLARE_CUSTOM_INPUT_MEMBER(botssa_hwchk_r);
106
DECLARE_WRITE8_MEMBER(micro3d_snd_dac_a);
107
DECLARE_WRITE8_MEMBER(micro3d_snd_dac_b);
108
DECLARE_WRITE8_MEMBER(micro3d_sound_io_w);
109
DECLARE_READ8_MEMBER(micro3d_sound_io_r);
77
112
typedef struct _micro3d_vtx_
83
118
/*----------- defined in machine/micro3d.c -----------*/
85
READ16_HANDLER( micro3d_ti_uart_r );
86
WRITE16_HANDLER( micro3d_ti_uart_w );
88
READ32_HANDLER( micro3d_scc_r );
89
WRITE32_HANDLER( micro3d_scc_w );
91
READ16_HANDLER( micro3d_tms_host_r );
92
WRITE16_HANDLER( micro3d_tms_host_w );
94
READ16_HANDLER( micro3d_adc_r );
95
WRITE16_HANDLER( micro3d_adc_w );
97
WRITE16_HANDLER( host_drmath_int_w );
98
WRITE16_HANDLER( micro3d_reset_w );
100
READ16_HANDLER( micro3d_encoder_l_r );
101
READ16_HANDLER( micro3d_encoder_h_r );
103
CUSTOM_INPUT( botssa_hwchk_r );
104
READ16_HANDLER( botssa_140000_r );
105
READ16_HANDLER( botssa_180000_r );
107
READ32_HANDLER( micro3d_shared_r );
108
WRITE32_HANDLER( micro3d_shared_w );
110
WRITE32_HANDLER( drmath_int_w );
111
WRITE32_HANDLER( drmath_intr2_ack );
113
WRITE32_HANDLER( micro3d_mac1_w );
114
WRITE32_HANDLER( micro3d_mac2_w );
115
READ32_HANDLER( micro3d_mac2_r );
117
void micro3d_duart_irq_handler(device_t *device, UINT8 vector);
126
void micro3d_duart_irq_handler(device_t *device, int state, UINT8 vector);
118
127
UINT8 micro3d_duart_input_r(device_t *device);
119
128
void micro3d_duart_output_w(device_t *device, UINT8 data);
120
129
void micro3d_duart_tx(device_t *device, int channel, UINT8 data);
127
136
/*----------- defined in audio/micro3d.c -----------*/
129
138
WRITE8_DEVICE_HANDLER( micro3d_upd7759_w );
130
WRITE8_HANDLER( micro3d_snd_dac_a );
131
WRITE8_HANDLER( micro3d_snd_dac_b );
132
READ8_HANDLER( micro3d_sound_io_r );
133
WRITE8_HANDLER( micro3d_sound_io_w );
135
140
void micro3d_noise_sh_w(running_machine &machine, UINT8 data);
145
150
void micro3d_tms_interrupt(device_t *device, int state);
146
151
void micro3d_scanline_update(screen_device &screen, bitmap_ind16 &bitmap, int scanline, const tms34010_display_params *params);
148
WRITE16_HANDLER( micro3d_clut_w );
149
WRITE16_HANDLER( micro3d_creg_w );
150
WRITE16_HANDLER( micro3d_xfer3dk_w );
151
READ32_HANDLER( micro3d_pipe_r );
152
WRITE32_HANDLER( micro3d_fifo_w );
153
WRITE32_HANDLER( micro3d_alt_fifo_w );
155
154
INTERRUPT_GEN( micro3d_vblank );