Previous 199869 Revisions Next

r32188 Thursday 18th September, 2014 at 21:40:10 UTC by David Haywood
placeholders (nw)
[src/mame/drivers]r2dx_v33.c

trunk/src/mame/drivers/r2dx_v33.c
r32187r32188
3333
3434   optional_device<eeprom_serial_93cxx_device> m_eeprom;
3535
36   DECLARE_WRITE16_MEMBER(r2dx_angle_w);
37   DECLARE_WRITE16_MEMBER(r2dx_dx_w);
38   DECLARE_WRITE16_MEMBER(r2dx_dy_w);
3639
40   DECLARE_WRITE16_MEMBER(r2dx_unk1_w);
41   DECLARE_WRITE16_MEMBER(r2dx_unk2_w);
42
43   DECLARE_READ16_MEMBER(rdx_angle_r);
44   DECLARE_READ16_MEMBER(rdx_dist_r);
45   DECLARE_READ16_MEMBER(r2dx_sin_r);
46   DECLARE_READ16_MEMBER(r2dx_cos_r);
47
3748   DECLARE_WRITE16_MEMBER(tile_bank_w);
3849   DECLARE_WRITE16_MEMBER(rdx_bg_vram_w);
3950   DECLARE_WRITE16_MEMBER(rdx_md_vram_w);
r32187r32188
212223
213224}
214225
226//Olivier Galibert: ok, write angle at 428, get sin/cos results at 434/436
227//Olivier Galibert: 16-bits signed
228//Olivier Galibert: write dx/dy at 424/426, get dist and angle at 432/430
215229
230WRITE16_MEMBER(r2dx_v33_state::r2dx_angle_w)
231{
232
233}
234
235WRITE16_MEMBER(r2dx_v33_state::r2dx_dx_w)
236{
237
238}
239
240WRITE16_MEMBER(r2dx_v33_state::r2dx_dy_w)
241{
242
243}
244
245READ16_MEMBER(r2dx_v33_state::rdx_angle_r)
246{
247   return 0x0000;
248}
249
250READ16_MEMBER(r2dx_v33_state::rdx_dist_r)
251{
252   return 0x0000;
253}
254
255READ16_MEMBER(r2dx_v33_state::r2dx_sin_r)
256{
257   return 0x0000;
258}
259
260READ16_MEMBER(r2dx_v33_state::r2dx_cos_r)
261{
262   return 0x0000;
263}
264
265WRITE16_MEMBER(r2dx_v33_state::r2dx_unk1_w)
266{
267
268}
269
270WRITE16_MEMBER(r2dx_v33_state::r2dx_unk2_w)
271{
272
273}
274
275
216276static ADDRESS_MAP_START( rdx_v33_map, AS_PROGRAM, 16, r2dx_v33_state )
217277   AM_RANGE(0x00000, 0x003ff) AM_RAM // vectors copied here
218278
r32187r32188
223283   AM_RANGE(0x00404, 0x00405) AM_WRITE(r2dx_rom_bank_w)
224284   AM_RANGE(0x00406, 0x00407) AM_WRITE(tile_bank_w)
225285
226//   AM_RANGE(0x00400, 0x00407) AM_WRITE(mcu_table_w)
227   AM_RANGE(0x00420, 0x00429) AM_WRITE(mcu_table2_w)
286   AM_RANGE(0x00420, 0x00421) AM_WRITE(r2dx_unk1_w) // frequent
287   AM_RANGE(0x00422, 0x00423) AM_WRITE(r2dx_unk2_w) // frequent
228288
229   /* results from cop? */
230   AM_RANGE(0x00430, 0x00431) AM_READ(rdx_v33_unknown_r)
231   AM_RANGE(0x00432, 0x00433) AM_READ(rdx_v33_unknown_r)
232   AM_RANGE(0x00434, 0x00435) AM_READ(rdx_v33_unknown_r)
233   AM_RANGE(0x00436, 0x00437) AM_READ(rdx_v33_unknown_r)
289   AM_RANGE(0x00424, 0x00425) AM_WRITE(r2dx_dx_w)
290   AM_RANGE(0x00426, 0x00427) AM_WRITE(r2dx_dy_w)
291   AM_RANGE(0x00428, 0x00429) AM_WRITE(r2dx_angle_w)
234292
293   AM_RANGE(0x00430, 0x00431) AM_READ(rdx_angle_r)
294   AM_RANGE(0x00432, 0x00433) AM_READ(rdx_dist_r)
295   AM_RANGE(0x00434, 0x00435) AM_READ(r2dx_sin_r)
296   AM_RANGE(0x00436, 0x00437) AM_READ(r2dx_cos_r)
297
235298   AM_RANGE(0x00600, 0x0064f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
236299//   AM_RANGE(0x00650, 0x0068f) AM_RAM //???
237300
238//   AM_RANGE(0x0068e, 0x0068f) AM_WRITENOP // synch for the MCU?
239//   AM_RANGE(0x006b0, 0x006b1) AM_WRITE(mcu_prog_w)
240//   AM_RANGE(0x006b2, 0x006b3) AM_WRITE(mcu_prog_w2)
301   AM_RANGE(0x0068e, 0x0068f) AM_WRITENOP // maybe a watchdog?
302   AM_RANGE(0x006b0, 0x006b1) AM_WRITE(mcu_prog_w) // could be encryption key uploads just like raiden2.c ?
303   AM_RANGE(0x006b2, 0x006b3) AM_WRITE(mcu_prog_w2)
241304//  AM_RANGE(0x006b4, 0x006b5) AM_WRITENOP
242305//  AM_RANGE(0x006b6, 0x006b7) AM_WRITENOP
243//   AM_RANGE(0x006bc, 0x006bd) AM_WRITE(mcu_prog_offs_w)
244//   AM_RANGE(0x006be, 0x006bf) AM_WRITENOP // MCU program related
306   AM_RANGE(0x006bc, 0x006bd) AM_WRITE(mcu_prog_offs_w)
307//   AM_RANGE(0x006be, 0x006bf) AM_WRITENOP
245308
246309   // sprite protection not 100% verified as the same
247310   AM_RANGE(0x006c0, 0x006c1) AM_READWRITE(sprite_prot_off_r, sprite_prot_off_w)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team