Previous 199869 Revisions Next

r40026 Tuesday 28th July, 2015 at 22:13:54 UTC by Angelo Salese
Attempting to change transfer active mechanism, doesn't change anything, to be better investigated ...
[/branches/saturn_cdblock/src/emu/machine]segacdblock.c

branches/saturn_cdblock/src/emu/machine/segacdblock.c
r248537r248538
700700
701701void segacdblock_device::cd_standard_return(bool isPeri)
702702{
703   m_dr[0] = (isPeri == true ? CD_STAT_PERI : 0) | m_cd_state | ((m_playtype == true) ? 0x80 : 0);
703   m_dr[0] = (isPeri == true ? CD_STAT_PERI : 0);
704   m_dr[0]|= (m_TransferActive == true) ? CD_STAT_TRANS : 0;
705   m_dr[0]|= ((m_playtype == true) ? 0x80 : 0);
706   m_dr[0]|= m_cd_state;
704707   m_dr[1] = (m_CurrentTrack == 0xff) ? 0xffff : ((sega_cdrom_get_adr_control(cdrom, m_CurrentTrack)<<8) | (cdrom_get_track(cdrom, m_FAD-150)+1));
705708   m_dr[2] = 0x0100 | ((m_FAD >> 16) & 0xff);
706709   m_dr[3] = m_FAD & 0xffff;
r248537r248538
792795      m_dr[1] = (m_dma_size>>1) & 0xffff;
793796
794797      m_TransferActive = false;
795      m_cd_state &= ~CD_STAT_TRANS;
796798   }
797799   else
798800   {
r248537r248538
12811283   transpart = &partitions[bufnum];
12821284
12831285   m_TransferActive = true;
1284   cd_standard_return(false); // cheap hack
1286   cd_standard_return(false);
12851287   
1286   m_dr[0] = CD_STAT_TRANS | m_cd_state;
12871288   xferoffs = 0;
12881289   xfersect = 0;
12891290   m_dma_size = 0;
r248537r248538
13141315   }   
13151316   // @todo reject states
13161317   m_TransferActive = false;
1317   cd_standard_return(false); // cheap hack
1318   cd_standard_return(false);
13181319   
1319   m_dr[0] = m_cd_state;
1320   
13211320   cd_getsectoroffsetnum(bufnum, &sectofs, &sectnum);
13221321   for (INT32 i = xfersectpos; i < xfersectpos+xfersectnum; i++)
13231322   {
r248537r248538
13891388   if (fileid == 0xffffff)   // special
13901389      return; // @todo intentional
13911390   
1392   m_dr[0] = m_cd_state;
1391   cd_standard_return(false);  // cheap hack
13931392   m_dr[1] = 6;
13941393   m_dr[2] = 0;
13951394   m_dr[3] = 0;
r248537r248538
18511850      //   m_cd_state = CD_STAT_PAUSE;
18521851      //else
18531852
1854      if(m_TransferActive == true)
1855         m_cd_state|= CD_STAT_TRANS;
1856
18571853      cd_standard_return(true);
18581854      set_flag(SCDQ);
18591855   }


Previous 199869 Revisions Next


© 1997-2024 The MAME Team