diff --git a/src/main/java/li/cil/oc2/common/vm/ManagedInterruptAllocator.java b/src/main/java/li/cil/oc2/common/vm/ManagedInterruptAllocator.java index b2de8723..27292b47 100644 --- a/src/main/java/li/cil/oc2/common/vm/ManagedInterruptAllocator.java +++ b/src/main/java/li/cil/oc2/common/vm/ManagedInterruptAllocator.java @@ -44,7 +44,7 @@ public final class ManagedInterruptAllocator implements InterruptAllocator { throw new IllegalStateException(); } - if (interrupt < 0 || interrupt >= R5PlatformLevelInterruptController.INTERRUPT_COUNT) { + if (interrupt < 1 || interrupt >= R5PlatformLevelInterruptController.INTERRUPT_COUNT) { throw new IllegalArgumentException(); } diff --git a/src/main/java/li/cil/oc2/common/vm/VirtualMachineDeviceBusAdapter.java b/src/main/java/li/cil/oc2/common/vm/VirtualMachineDeviceBusAdapter.java index 8934312a..4308c073 100644 --- a/src/main/java/li/cil/oc2/common/vm/VirtualMachineDeviceBusAdapter.java +++ b/src/main/java/li/cil/oc2/common/vm/VirtualMachineDeviceBusAdapter.java @@ -31,6 +31,7 @@ public final class VirtualMachineDeviceBusAdapter { public VirtualMachineDeviceBusAdapter(final Board board) { this.board = board; + this.claimedInterrupts.set(0); } public int claimInterrupt() { @@ -38,7 +39,7 @@ public final class VirtualMachineDeviceBusAdapter { } public int claimInterrupt(final int interrupt) { - if (interrupt < 0 || interrupt >= R5PlatformLevelInterruptController.INTERRUPT_COUNT) { + if (interrupt < 1 || interrupt >= R5PlatformLevelInterruptController.INTERRUPT_COUNT) { throw new IllegalArgumentException(); }