Previous 199869 Revisions Next

r18679 Tuesday 23rd October, 2012 at 18:35:30 UTC by O. Galibert
(mess) upd765: Fix the dump regs command, don't exit on unknown commands and add dsr reset [O. Galibert]
[src/mess/machine]upd765.c

trunk/src/mess/machine/upd765.c
r18678r18679
308308
309309WRITE8_MEMBER(upd765_family_device::dsr_w)
310310{
311   dsr = data;
311   logerror("%s: dsr_w %02x\n", tag(), data);
312   if(data & 0x80)
313      soft_reset();
314   dsr = data & 0x7f;
312315   cur_rate = rates[dsr & 3];
313316}
314317
r18678r18679
352355         break;
353356      if(cmd == C_INVALID) {
354357         logerror("%s: Invalid on %02x\n", tag(), command[0]);
355         exit(1);
356         command_pos = 0;
358         main_phase = PHASE_RESULT;
359         result[0] = 0x80;
360         result_pos = 1;
357361         return;
358362      }
359363      start_command(cmd);
r18678r18679
928932   // ...01100 read deleted data
929933   // 0.001101 format track
930934   // 00001110 dumpreg
935   // 00101110 save
936   // 01001110 restore
937   // 10001110 drive specification command
931938   // 00001111 seek
939   // 1.001111 relative seek
932940   // 00010000 version
933941   // ...10001 scan equal
934942   // 00010010 perpendicular mode
935943   // 00010011 configure
944   // 00110011 option
936945   // .0010100 lock
937946   // ...10110 verify
947   // 00010111 powerdown mode
948   // 00011000 part id
938949   // ...11001 scan low or equal
939950   // ...11101 scan high or equal
940   // 1.001111 relative seek
941951
942952   // MSDOS 6.22 format uses 0xcd to format a track, which makes one
943953   // think only the bottom 5 bits are decoded.
r18678r18679
973983      return command_pos == 6 ? C_FORMAT_TRACK       : C_INCOMPLETE;
974984
975985   case 0x0e:
976      return command_pos == 2 ? C_DUMP_REG           : C_INCOMPLETE;
986      return C_DUMP_REG;
977987
978988   case 0x0f:
979989      return command_pos == 3 ? C_SEEK               : C_INCOMPLETE;
r18678r18679
10101020      break;
10111021
10121022   case C_DUMP_REG:
1023      logerror("%s: command dump regs\n", tag());
10131024      main_phase = PHASE_RESULT;
10141025      result[0] = flopi[0].pcn;
10151026      result[1] = flopi[1].pcn;

Previous 199869 Revisions Next


© 1997-2024 The MAME Team