39
39
// UINT16 *save_ram; // this currently uses generic handlers
41
41
/* video-related */
43
UINT32 sprite_gfx_address_mask;
45
UINT16 *palettes[2]; /* 0x100*16 2 byte palette entries */
49
UINT16 videoram_read_buffer;
50
UINT16 videoram_modulo;
51
UINT16 videoram_offset;
53
UINT8 fixed_layer_source;
55
UINT8 auto_animation_speed;
56
UINT8 auto_animation_disabled;
57
UINT8 auto_animation_counter;
58
UINT8 auto_animation_frame_counter;
60
const UINT8 *region_zoomy;
43
UINT32 m_sprite_gfx_address_mask;
45
UINT16 *m_palettes[2]; /* 0x100*16 2 byte palette entries */
49
UINT16 m_videoram_read_buffer;
50
UINT16 m_videoram_modulo;
51
UINT16 m_videoram_offset;
53
UINT8 m_fixed_layer_source;
55
UINT8 m_auto_animation_speed;
56
UINT8 m_auto_animation_disabled;
57
UINT8 m_auto_animation_counter;
58
UINT8 m_auto_animation_frame_counter;
60
const UINT8 *m_region_zoomy;
64
double rgb_weights_normal[5];
65
double rgb_weights_normal_bit15[5];
66
double rgb_weights_dark[5];
67
double rgb_weights_dark_bit15[5];
64
double m_rgb_weights_normal[5];
65
double m_rgb_weights_normal_bit15[5];
66
double m_rgb_weights_dark[5];
67
double m_rgb_weights_dark_bit15[5];
70
emu_timer *display_position_interrupt_timer;
71
emu_timer *display_position_vblank_timer;
72
emu_timer *vblank_interrupt_timer;
73
emu_timer *auto_animation_timer;
74
emu_timer *sprite_line_timer;
75
UINT8 display_position_interrupt_control;
76
UINT32 display_counter;
77
UINT32 vblank_interrupt_pending;
78
UINT32 display_position_interrupt_pending;
70
emu_timer *m_display_position_interrupt_timer;
71
emu_timer *m_display_position_vblank_timer;
72
emu_timer *m_vblank_interrupt_timer;
73
emu_timer *m_auto_animation_timer;
74
emu_timer *m_sprite_line_timer;
75
UINT8 m_display_position_interrupt_control;
76
UINT32 m_display_counter;
77
UINT32 m_vblank_interrupt_pending;
78
UINT32 m_display_position_interrupt_pending;
79
UINT32 m_irq3_pending;
82
UINT8 controller_select;
84
UINT32 main_cpu_bank_address;
85
UINT8 main_cpu_vector_table_source;
88
UINT8 audio_cpu_banks[4];
89
UINT8 audio_cpu_rom_source;
90
UINT8 audio_cpu_rom_source_last;
92
UINT8 save_ram_unlocked;
82
UINT8 m_controller_select;
84
UINT32 m_main_cpu_bank_address;
85
UINT8 m_main_cpu_vector_table_source;
88
UINT8 m_audio_cpu_banks[4];
89
UINT8 m_audio_cpu_rom_source;
90
UINT8 m_audio_cpu_rom_source_last;
92
UINT8 m_save_ram_unlocked;
102
UINT32 fatfury2_prot_data;
104
UINT16 *pvc_cartridge_ram;
105
int fixed_layer_bank_type;
102
UINT32 m_fatfury2_prot_data;
104
UINT16 *m_pvc_cartridge_ram;
105
int m_fixed_layer_bank_type;
109
device_t *m_audiocpu;
110
device_t *m_upd4990a;
114
114
/*----------- defined in drivers/neogeo.c -----------*/
116
void neogeo_set_display_position_interrupt_control(running_machine *machine, UINT16 data);
116
void neogeo_set_display_position_interrupt_control(running_machine &machine, UINT16 data);
117
117
void neogeo_set_display_counter_msb(address_space *space, UINT16 data);
118
118
void neogeo_set_display_counter_lsb(address_space *space, UINT16 data);
119
void neogeo_acknowledge_interrupt(running_machine *machine, UINT16 data);
119
void neogeo_acknowledge_interrupt(running_machine &machine, UINT16 data);
120
120
void neogeo_set_main_cpu_bank_address(address_space *space, UINT32 bank_address);
121
121
READ16_HANDLER( neogeo_unmapped_r );
124
124
/*----------- defined in machine/neocrypt.c -----------*/
126
void kof99_neogeo_gfx_decrypt(running_machine *machine, int extra_xor);
127
void kof2000_neogeo_gfx_decrypt(running_machine *machine, int extra_xor);
128
void cmc42_neogeo_gfx_decrypt(running_machine *machine, int extra_xor);
129
void cmc50_neogeo_gfx_decrypt(running_machine *machine, int extra_xor);
130
void neogeo_cmc50_m1_decrypt(running_machine *machine);
131
void neo_pcm2_snk_1999(running_machine *machine, int value);
132
void neo_pcm2_swap(running_machine *machine, int value);
133
void neogeo_sfix_decrypt(running_machine *machine);
134
void kof99_decrypt_68k(running_machine *machine);
135
void garou_decrypt_68k(running_machine *machine);
136
void garouo_decrypt_68k(running_machine *machine);
137
void mslug3_decrypt_68k(running_machine *machine);
138
void kof2000_decrypt_68k(running_machine *machine);
139
void kof98_decrypt_68k(running_machine *machine);
140
void kof2002_decrypt_68k(running_machine *machine);
141
void matrim_decrypt_68k(running_machine *machine);
142
void mslug5_decrypt_68k(running_machine *machine);
143
void svc_px_decrypt(running_machine *machine);
144
void svcpcb_gfx_decrypt(running_machine *machine);
145
void svcpcb_s1data_decrypt(running_machine *machine);
146
void samsho5_decrypt_68k(running_machine *machine);
147
void kf2k3pcb_gfx_decrypt(running_machine *machine);
148
void kf2k3pcb_decrypt_68k(running_machine *machine);
149
void kf2k3pcb_decrypt_s1data(running_machine *machine);
150
void kof2003_decrypt_68k(running_machine *machine);
151
void kof2003h_decrypt_68k(running_machine *machine);
152
void kof2003biosdecode(running_machine *machine);
153
void samsh5sp_decrypt_68k(running_machine *machine);
126
void kof99_neogeo_gfx_decrypt(running_machine &machine, int extra_xor);
127
void kof2000_neogeo_gfx_decrypt(running_machine &machine, int extra_xor);
128
void cmc42_neogeo_gfx_decrypt(running_machine &machine, int extra_xor);
129
void cmc50_neogeo_gfx_decrypt(running_machine &machine, int extra_xor);
130
void neogeo_cmc50_m1_decrypt(running_machine &machine);
131
void neo_pcm2_snk_1999(running_machine &machine, int value);
132
void neo_pcm2_swap(running_machine &machine, int value);
133
void neogeo_sfix_decrypt(running_machine &machine);
134
void kof99_decrypt_68k(running_machine &machine);
135
void garou_decrypt_68k(running_machine &machine);
136
void garouo_decrypt_68k(running_machine &machine);
137
void mslug3_decrypt_68k(running_machine &machine);
138
void kof2000_decrypt_68k(running_machine &machine);
139
void kof98_decrypt_68k(running_machine &machine);
140
void kof2002_decrypt_68k(running_machine &machine);
141
void matrim_decrypt_68k(running_machine &machine);
142
void mslug5_decrypt_68k(running_machine &machine);
143
void svc_px_decrypt(running_machine &machine);
144
void svcpcb_gfx_decrypt(running_machine &machine);
145
void svcpcb_s1data_decrypt(running_machine &machine);
146
void samsho5_decrypt_68k(running_machine &machine);
147
void kf2k3pcb_gfx_decrypt(running_machine &machine);
148
void kf2k3pcb_decrypt_68k(running_machine &machine);
149
void kf2k3pcb_decrypt_s1data(running_machine &machine);
150
void kof2003_decrypt_68k(running_machine &machine);
151
void kof2003h_decrypt_68k(running_machine &machine);
152
void kof2003biosdecode(running_machine &machine);
153
void samsh5sp_decrypt_68k(running_machine &machine);
156
156
/*----------- defined in machine/neoprot.c -----------*/
158
void neogeo_reset_rng(running_machine *machine);
159
void fatfury2_install_protection(running_machine *machine);
160
void mslugx_install_protection(running_machine *machine);
161
void kof99_install_protection(running_machine *machine);
162
void garou_install_protection(running_machine *machine);
163
void garouo_install_protection(running_machine *machine);
164
void mslug3_install_protection(running_machine *machine);
165
void kof2000_install_protection(running_machine *machine);
166
void install_kof98_protection(running_machine *machine);
167
void install_pvc_protection(running_machine *machine);
158
void neogeo_reset_rng(running_machine &machine);
159
void fatfury2_install_protection(running_machine &machine);
160
void mslugx_install_protection(running_machine &machine);
161
void kof99_install_protection(running_machine &machine);
162
void garou_install_protection(running_machine &machine);
163
void garouo_install_protection(running_machine &machine);
164
void mslug3_install_protection(running_machine &machine);
165
void kof2000_install_protection(running_machine &machine);
166
void install_kof98_protection(running_machine &machine);
167
void install_pvc_protection(running_machine &machine);
170
170
/*----------- defined in machine/neoboot.c -----------*/
172
void kog_px_decrypt(running_machine *machine);
173
void neogeo_bootleg_cx_decrypt(running_machine *machine);
174
void install_kof10th_protection(running_machine *machine);
175
void decrypt_kof10th(running_machine *machine);
176
void decrypt_kf10thep(running_machine *machine);
177
void decrypt_kf2k5uni(running_machine *machine);
178
void neogeo_bootleg_sx_decrypt(running_machine *machine, int value);
179
void kof2002b_gfx_decrypt(running_machine *machine, UINT8 *src, int size);
180
void kf2k2mp_decrypt(running_machine *machine);
181
void kf2k2mp2_px_decrypt(running_machine *machine);
182
void decrypt_cthd2003(running_machine *machine);
183
void patch_cthd2003(running_machine *machine);
184
void decrypt_ct2k3sp(running_machine *machine);
185
void decrypt_ct2k3sa(running_machine *machine);
186
void patch_ct2k3sa(running_machine *machine);
187
void decrypt_kof2k4se_68k(running_machine *machine);
188
void lans2004_decrypt_68k(running_machine *machine);
189
void lans2004_vx_decrypt(running_machine *machine);
190
void install_ms5plus_protection(running_machine *machine);
191
void svcboot_px_decrypt(running_machine *machine);
192
void svcboot_cx_decrypt(running_machine *machine);
193
void svcplus_px_decrypt(running_machine *machine);
194
void svcplus_px_hack(running_machine *machine);
195
void svcplusa_px_decrypt(running_machine *machine);
196
void svcsplus_px_decrypt(running_machine *machine);
197
void svcsplus_px_hack(running_machine *machine);
198
void kf2k3bl_px_decrypt(running_machine *machine);
199
void kf2k3bl_install_protection(running_machine *machine);
200
void kf2k3pl_px_decrypt(running_machine *machine);
201
void kf2k3upl_px_decrypt(running_machine *machine);
202
void kf2k3upl_install_protection(running_machine *machine);
203
void kf2k3pl_install_protection(running_machine *machine);
204
void samsho5b_px_decrypt(running_machine *machine);
205
void samsho5b_vx_decrypt(running_machine *machine);
206
void matrimbl_decrypt(running_machine *machine);
172
void kog_px_decrypt(running_machine &machine);
173
void neogeo_bootleg_cx_decrypt(running_machine &machine);
174
void install_kof10th_protection(running_machine &machine);
175
void decrypt_kof10th(running_machine &machine);
176
void decrypt_kf10thep(running_machine &machine);
177
void decrypt_kf2k5uni(running_machine &machine);
178
void neogeo_bootleg_sx_decrypt(running_machine &machine, int value);
179
void kof2002b_gfx_decrypt(running_machine &machine, UINT8 *src, int size);
180
void kf2k2mp_decrypt(running_machine &machine);
181
void kf2k2mp2_px_decrypt(running_machine &machine);
182
void decrypt_cthd2003(running_machine &machine);
183
void patch_cthd2003(running_machine &machine);
184
void decrypt_ct2k3sp(running_machine &machine);
185
void decrypt_ct2k3sa(running_machine &machine);
186
void patch_ct2k3sa(running_machine &machine);
187
void decrypt_kof2k4se_68k(running_machine &machine);
188
void lans2004_decrypt_68k(running_machine &machine);
189
void lans2004_vx_decrypt(running_machine &machine);
190
void install_ms5plus_protection(running_machine &machine);
191
void svcboot_px_decrypt(running_machine &machine);
192
void svcboot_cx_decrypt(running_machine &machine);
193
void svcplus_px_decrypt(running_machine &machine);
194
void svcplus_px_hack(running_machine &machine);
195
void svcplusa_px_decrypt(running_machine &machine);
196
void svcsplus_px_decrypt(running_machine &machine);
197
void svcsplus_px_hack(running_machine &machine);
198
void kf2k3bl_px_decrypt(running_machine &machine);
199
void kf2k3bl_install_protection(running_machine &machine);
200
void kf2k3pl_px_decrypt(running_machine &machine);
201
void kf2k3upl_px_decrypt(running_machine &machine);
202
void kf2k3upl_install_protection(running_machine &machine);
203
void kf2k3pl_install_protection(running_machine &machine);
204
void samsho5b_px_decrypt(running_machine &machine);
205
void samsho5b_vx_decrypt(running_machine &machine);
206
void matrimbl_decrypt(running_machine &machine);
209
209
/*----------- defined in video/neogeo.c -----------*/
211
211
VIDEO_START( neogeo );
212
212
VIDEO_RESET( neogeo );
213
VIDEO_UPDATE( neogeo );
213
SCREEN_UPDATE( neogeo );
215
215
READ16_HANDLER( neogeo_video_register_r );
216
216
WRITE16_HANDLER( neogeo_video_register_w );
218
void neogeo_set_palette_bank(running_machine *machine, UINT8 data);
219
void neogeo_set_screen_dark(running_machine *machine, UINT8 data);
218
void neogeo_set_palette_bank(running_machine &machine, UINT8 data);
219
void neogeo_set_screen_dark(running_machine &machine, UINT8 data);
220
220
READ16_HANDLER( neogeo_paletteram_r );
221
221
WRITE16_HANDLER( neogeo_paletteram_w );
223
void neogeo_set_fixed_layer_source(running_machine *machine, UINT8 data);
223
void neogeo_set_fixed_layer_source(running_machine &machine, UINT8 data);
225
UINT8 neogeo_get_auto_animation_counter(running_machine *machine);
225
UINT8 neogeo_get_auto_animation_counter(running_machine &machine);