Previous 15994 Revisions Next

r9258 Tuesday 28th September, 2010 at 10:09:59 UTC by Angelo Salese
[32x]: Implemented frame buffer approval flag, fixes booting in Metal Head
[src/mame/drivers]megadriv.c

src/mame/drivers/megadriv.c
r9257r9258
24462446{
24472447   dreq_src_addr[offset] = (offset == 0) ? (data & 0xff) : (data & 0xfffe);
24482448
2449   printf("DREQ set SRC = %08x\n",dreq_src_addr[0]<<16|dreq_src_addr[1]);
2449   if((dreq_src_addr[0]<<16)|dreq_src_addr[1])
2450      printf("DREQ set SRC = %08x\n",(dreq_src_addr[0]<<16)|dreq_src_addr[1]);
24502451}
24512452
24522453static READ16_HANDLER( _32x_68k_a1510c_r )
r9257r9258
24582459{
24592460   dreq_dst_addr[offset] = (offset == 0) ? (data & 0xff) : (data & 0xffff);
24602461
2461   printf("DREQ set DST = %08x\n",(dreq_dst_addr[0]<<16)|dreq_dst_addr[1]);
2462   if((dreq_dst_addr[0]<<16)|dreq_dst_addr[1])
2463      printf("DREQ set DST = %08x\n",(dreq_dst_addr[0]<<16)|dreq_dst_addr[1]);
24622464}
24632465
24642466static READ16_HANDLER( _32x_68k_a15110_r )
r9257r9258
24702472{
24712473   dreq_size = data & 0xfffc;
24722474
2473   printf("DREQ set SIZE = %04x\n",dreq_size);
2475//   if(dreq_size)
2476//      printf("DREQ set SIZE = %04x\n",dreq_size);
24742477}
24752478
24762479/*
r9257r9258
29182921
29192922   if (megadrive_hblank_flag) retdata |= 0x4000;
29202923
2924   if (megadrive_vblank_flag && _32x_access_auth) { retdata |= 2; } // framebuffer approval (TODO: condition is unknown at current time)
2925
29212926   if (megadrive_hblank_flag && megadrive_vblank_flag) { retdata |= 0x2000; } // palette approval (TODO: active high or low?)
29222927
29232928   return retdata;
r9257r9258
34893494
34903495   AM_RANGE(0x00004010, 0x00004013) AM_READ( _32x_sh2_common_4010_common_4012_r )
34913496
3492   AM_RANGE(0x00004014, 0x00004017) AM_WRITE( _32x_sh2_master_4014_master_4016_w ) // IRQ clear
3493   AM_RANGE(0x00004018, 0x0000401b) AM_WRITE( _32x_sh2_master_4018_master_401a_w ) // IRQ clear
3494   AM_RANGE(0x0000401c, 0x0000401f) AM_WRITE( _32x_sh2_master_401c_master_401e_w ) // IRQ clear
3497   AM_RANGE(0x00004014, 0x00004017) AM_READNOP AM_WRITE( _32x_sh2_master_4014_master_4016_w ) // IRQ clear
3498   AM_RANGE(0x00004018, 0x0000401b) AM_READNOP AM_WRITE( _32x_sh2_master_4018_master_401a_w ) // IRQ clear
3499   AM_RANGE(0x0000401c, 0x0000401f) AM_READNOP AM_WRITE( _32x_sh2_master_401c_master_401e_w ) // IRQ clear
34953500
34963501   AM_RANGE(0x00004020, 0x0000402f) AM_READWRITE( _32x_sh2_commsram_r, _32x_sh2_commsram_w )
34973502   AM_RANGE(0x00004030, 0x00004033) AM_READWRITE( _32x_sh2_pwm_control_reg_pwm_cycle_reg_r, _32x_sh2_pwm_control_reg_pwm_cycle_reg_w )

Previous 15994 Revisions Next


© 1998-2018 The MESS Team