- byte writes to the first register of an ATA channel are ignored now (BX_PANIC

replaced by BX_ERROR)
This commit is contained in:
Volker Ruppert 2003-07-29 16:08:54 +00:00
parent 50c023e1b4
commit 99a7d850b3

View File

@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
// $Id: harddrv.cc,v 1.103 2003-07-28 18:52:14 vruppert Exp $ // $Id: harddrv.cc,v 1.104 2003-07-29 16:08:54 vruppert Exp $
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
// //
// Copyright (C) 2002 MandrakeSoft S.A. // Copyright (C) 2002 MandrakeSoft S.A.
@ -159,7 +159,7 @@ bx_hard_drive_c::init(void)
Bit8u channel; Bit8u channel;
char string[5]; char string[5];
BX_DEBUG(("Init $Id: harddrv.cc,v 1.103 2003-07-28 18:52:14 vruppert Exp $")); BX_DEBUG(("Init $Id: harddrv.cc,v 1.104 2003-07-29 16:08:54 vruppert Exp $"));
for (channel=0; channel<BX_MAX_ATA_CHANNEL; channel++) { for (channel=0; channel<BX_MAX_ATA_CHANNEL; channel++) {
if (bx_options.ata[channel].Opresent->get() == 1) { if (bx_options.ata[channel].Opresent->get() == 1) {
@ -1245,7 +1245,8 @@ BX_DEBUG(("IO write to %04x = %02x", (unsigned) address, (unsigned) value));
switch (port) { switch (port) {
case 0x00: // 0x1f0 case 0x00: // 0x1f0
if (io_len == 1) { if (io_len == 1) {
BX_PANIC(("byte IO write to 0x%04x", address)); BX_ERROR(("byte IO write to 0x%04x ignored", address));
return;
} }
switch (BX_SELECTED_CONTROLLER(channel).current_command) { switch (BX_SELECTED_CONTROLLER(channel).current_command) {
case 0x30: // WRITE SECTORS case 0x30: // WRITE SECTORS