diff --git a/src/main/ezusb-iidx-emu/msg.c b/src/main/ezusb-iidx-emu/msg.c index c7dafcb..c651042 100644 --- a/src/main/ezusb-iidx-emu/msg.c +++ b/src/main/ezusb-iidx-emu/msg.c @@ -160,6 +160,10 @@ static HRESULT ezusb_iidx_emu_msg_interrupt_read(struct iobuf *read) otherwise the game's fpga check will fail */ msg_resp->fpga2_check_flag_unkn = 2; +#ifdef EZUSB_IIDX_EMU_D01_BOARD + msg_resp->inverted_pad &= ~(1 << 4); +#endif + read->pos = sizeof(*msg_resp); return S_OK; diff --git a/src/main/ezusb-iidx/msg.h b/src/main/ezusb-iidx/msg.h index 718f149..5f81f8d 100644 --- a/src/main/ezusb-iidx/msg.h +++ b/src/main/ezusb-iidx/msg.h @@ -59,7 +59,9 @@ struct ezusb_iidx_msg_interrupt_read_packet { 1: Not used 2: Not used 3: Not used - 4: Not used + 4: C02/D01 board identifier, 1 = C02, 0 = D01 (on active low). This defines how the game has + to flash the FPGA board since D01 needs a different firmware (see result of FPGA CHECK on + game bootup) 5: Not used 6: usb mute? 7: Not used