trunk/src/emu/machine/stvcd.c
| r21248 | r21249 | |
| 109 | 109 | } |
| 110 | 110 | else |
| 111 | 111 | { |
| 112 | /* |
| 113 | TODO: |
| 114 | - Whizz: wpset 0x608f030,4,w,wpdata==0x100&&pc!=0x6040006 |
| 115 | */ |
| 112 | 116 | cr1 = cur_status | (playtype << 7) | 0x00 | (cdda_repeat_count & 0xf); //options << 4 | repeat & 0xf |
| 113 | 117 | cr2 = (cur_track == 0xff) ? 0xffff : (cdrom_get_adr_control(cdrom, cur_track)<<8 | cur_track); // TODO: fix current track |
| 114 | 118 | cr3 = (get_track_index(cd_curfad)<<8) | (cd_curfad>>16); //index & 0xff00 |
| r21248 | r21249 | |
| 858 | 862 | |
| 859 | 863 | case 0x53: // get actual block size |
| 860 | 864 | CDROM_LOG(("%s:CD: Get actual block size\n", machine().describe_context())) |
| 861 | | hirqreg |= (CMOK|ESEL); |
| 862 | 865 | cr1 = cd_stat | ((calcsize>>16)&0xff); |
| 863 | 866 | cr2 = (calcsize & 0xffff); |
| 864 | 867 | cr3 = 0; |
| 865 | 868 | cr4 = 0; |
| 869 | hirqreg |= (CMOK|ESEL); |
| 866 | 870 | break; |
| 867 | 871 | |
| 868 | 872 | case 0x54: // get sector info |
| r21248 | r21249 | |
| 1454 | 1458 | if (freeblocks <= 0) |
| 1455 | 1459 | { |
| 1456 | 1460 | buffull = 1; |
| 1461 | printf("buffull in cd_alloc_block\n"); |
| 1457 | 1462 | } |
| 1458 | 1463 | |
| 1459 | 1464 | blocks[i].size = sectlenin; |
| r21248 | r21249 | |
| 2444 | 2449 | { |
| 2445 | 2450 | if ((cd_stat & 0x0f00) == CD_STAT_SEEK) |
| 2446 | 2451 | { |
| 2447 | | //UINT8 seek_track = cdrom_get_track(cdrom, cd_fad_seek-150); |
| 2448 | | |
| 2449 | 2452 | /* Zero Divide wants this TODO: timings. */ |
| 2450 | 2453 | if((cd_fad_seek - cd_curfad) > (750*cd_speed)) |
| 2451 | 2454 | cd_curfad += (750*cd_speed); |
| r21248 | r21249 | |
| 2457 | 2460 | cd_stat = CD_STAT_PLAY; |
| 2458 | 2461 | } |
| 2459 | 2462 | |
| 2460 | | #if 0 |
| 2461 | | cr1 = cd_stat | 0x00; //options << 4 | repeat & 0xf |
| 2462 | | cr2 = (cdrom_get_adr_control(cdrom, seek_track)<<8 | seek_track); |
| 2463 | | cr3 = (get_track_index(cd_fad_seek)<<8) | (cd_fad_seek>>16); //index & 0xff00 |
| 2464 | | cr4 = cd_fad_seek; |
| 2465 | | #endif |
| 2466 | 2463 | return; |
| 2467 | 2464 | } |
| 2468 | 2465 | |