From 84714d17a4f4e78d0c2422bea05dcb966c9fbf32 Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 30 Mar 2021 21:22:30 -0500 Subject: [PATCH] Don't fail on atapi command 0xBE --- src/ide.js | 8 ++++++++ tests/nasm/run.js | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ide.js b/src/ide.js index ffb7803d..8d83dbe8 100644 --- a/src/ide.js +++ b/src/ide.js @@ -1107,6 +1107,14 @@ IDEInterface.prototype.atapi_handle = function() dbg_log("Unimplemented ATAPI command: " + h(this.data[0]), LOG_DISK); break; + case 0xBE: + // Hiren's boot CD + dbg_log("Unimplemented ATAPI command: " + h(this.data[0]), LOG_DISK); + this.data_allocate(0); + this.data_end = this.data_length; + this.status = 0x50; + break; + default: this.status = 0x51; this.data_length = 0; diff --git a/tests/nasm/run.js b/tests/nasm/run.js index 3bc7bc6f..67f8b8bd 100755 --- a/tests/nasm/run.js +++ b/tests/nasm/run.js @@ -340,7 +340,7 @@ else { } const eip = emulator.v86.cpu.instruction_pointer[0]; - emulator.v86.cpu.write32(cpu.translate_address_system_read(eip), 0xF4F4F4F4); // hlt + emulator.v86.cpu.write32(emulator.v86.cpu.translate_address_system_read(eip), 0xF4F4F4F4); // hlt // XXX: On gdb execution is stopped at this point. On v86 we // currently don't have this ability, so we record the exception