trunk/src/mess/machine/upd765.c
| r18475 | r18476 | |
| 971 | 971 | case 0x0d: |
| 972 | 972 | return command_pos == 6 ? C_FORMAT_TRACK : C_INCOMPLETE; |
| 973 | 973 | |
| 974 | case 0x0e: |
| 975 | return command_pos == 2 ? C_DUMP_REG : C_INCOMPLETE; |
| 976 | |
| 974 | 977 | case 0x0f: |
| 975 | 978 | return command_pos == 3 ? C_SEEK : C_INCOMPLETE; |
| 976 | 979 | |
| r18475 | r18476 | |
| 1001 | 1004 | command[1], command[2], command[3]); |
| 1002 | 1005 | // byte 1 is ignored, byte 3 is precompensation-related |
| 1003 | 1006 | fifocfg = command[2]; |
| 1007 | precomp = command[3]; |
| 1004 | 1008 | main_phase = PHASE_CMD; |
| 1005 | 1009 | break; |
| 1006 | 1010 | |
| 1011 | case C_DUMP_REG: |
| 1012 | main_phase = PHASE_RESULT; |
| 1013 | result[0] = flopi[0].pcn; |
| 1014 | result[1] = flopi[1].pcn; |
| 1015 | result[2] = flopi[2].pcn; |
| 1016 | result[3] = flopi[3].pcn; |
| 1017 | result[4] = (spec & 0xff00) >> 8; |
| 1018 | result[5] = (spec & 0x00ff); |
| 1019 | result[6] = sector_size; |
| 1020 | result[7] = locked ? 0x80 : 0x00; |
| 1021 | result[7] |= (perpmode & 0x30); |
| 1022 | result[8] = fifocfg; |
| 1023 | result[9] = precomp; |
| 1024 | result_pos = 10; |
| 1025 | break; |
| 1026 | |
| 1007 | 1027 | case C_FORMAT_TRACK: |
| 1008 | 1028 | format_track_start(flopi[command[1] & 3]); |
| 1009 | 1029 | break; |
| r18475 | r18476 | |
| 1018 | 1038 | |
| 1019 | 1039 | case C_PERPENDICULAR: |
| 1020 | 1040 | logerror("%s: command perpendicular\n", tag()); |
| 1041 | perpmode = command[1]; |
| 1021 | 1042 | main_phase = PHASE_CMD; |
| 1022 | 1043 | break; |
| 1023 | 1044 | |