Reset followed by switch to UART mode should take some time; fixes MPU detection in F29 Retaliator and Hover Force. Also minimize reset delay, which helps with MPU detection at higher cycles in games that prefer less delay, such as Bureau 13.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4190
This commit is contained in:
parent
4d35f0ef27
commit
88bc1944e8
1 changed files with 2 additions and 2 deletions
|
@ -38,7 +38,7 @@ static void MPU401_EOIHandlerDispatch(void);
|
|||
#define MPU401_REVISION 0x01
|
||||
#define MPU401_QUEUE 32
|
||||
#define MPU401_TIMECONSTANT (60000000/1000.0f)
|
||||
#define MPU401_RESETBUSY 27.0f
|
||||
#define MPU401_RESETBUSY 14.0f
|
||||
|
||||
enum MpuMode { M_UART,M_INTELLIGENT };
|
||||
enum MpuDataType {T_OVERFLOW,T_MARK,T_MIDI_SYS,T_MIDI_NORM,T_COMMAND};
|
||||
|
@ -124,7 +124,7 @@ static Bitu MPU401_ReadStatus(Bitu port,Bitu iolen) {
|
|||
static void MPU401_WriteCommand(Bitu port,Bitu val,Bitu iolen) {
|
||||
if (mpu.mode==M_UART && val!=0xff) return;
|
||||
if (mpu.state.reset) {
|
||||
if (mpu.state.cmd_pending || (val!=0x3f && val!=0xff)) {
|
||||
if (mpu.state.cmd_pending || val!=0xff) {
|
||||
mpu.state.cmd_pending=val+1;
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue