Giter Club home page Giter Club logo

Comments (13)

basic2004 avatar basic2004 commented on June 8, 2024

I used SoftMPU from MPU-401 UART mode in PCem and 86Box before porting,
softmpu.exe /mpu:330 /sb:220 /irq:5 (I didn't use /sbmidi for MPU-401 output)

It didn't work in current version of 86Box, too.
Intelligent mode doesn't need SoftMPU :)

from 86box.

OBattler avatar OBattler commented on June 8, 2024

Right now, you can't have two MPU-401's at the same time because there is only a single interface to host MIDI device.
For UART mode, you need to specifically set the MPU-401 into UART mode in settings.

Standalone MPU-401 checkbox save problem
Will look into this.

Standalone MPU-401 can execute with another soundcard
That's the whole point. It's for using MPU-401 with sound cards that don't already provide their own.

from 86box.

OBattler avatar OBattler commented on June 8, 2024

Also, I'll try SoftMPU and see what happens.

I suspect it might also be broken in DOSBox, since the MPU-401 code is ported from there now and that broke it.

from 86box.

OBattler avatar OBattler commented on June 8, 2024

MEGAMID can't detect MPU-401 with DOSBox and current 86Box, but PCem did.
Now MEGAMID works on 86Box again, after I made the MPU-401's RESET command send an ACK even when in UART mode.
SoftMPU now detects the MPU-401 fine, but when I run Princess Maker 2 (English version), I hear nothing, but then again I don't know the exact parameters I need to run SoftMPU with for that game or what I need to set Princess Maker 2 to, so it might be a misconfiguration on my end.

from 86box.

basic2004 avatar basic2004 commented on June 8, 2024

Oh, thanks! This worked both, Intelligent, UART mode in current rev(#797).
UART mode didn't play Princess Maker 2 with SoftMPU, it was PCem's spec.
Same with PCem, maybe real SB16 same too. don't worry.

But SoftMPU and MEGAMID turned back to enable.
also Intelligen mode works all.

I tested

  • MEGAMID, DOSMID
  • SoftMPU
  • Princess Maker 2, Hardball 3, The Lost Vikings

so UART issues solved now.
But I found some issues.

  1. MIDI stopped accidently when playing long time.
    I played 'The Lost Vikings' with MuntVsti, and SB16's MPU-401 Intelligent mode.
    (MuntVsti Loaded with VSTHost, wave out : ASIO4ALL, 48000Hz, 1000samples)
    but the music stops accidently... sometimes this plays too delayed (about 10sec?)
    what's this issue? overflow? or delayed and stacked signal?

  2. MIDI Out list selection was grayed yet when standalone MPU-401 checked.
    (MIDI Out to be selectable when went other settings and back to Sound settings)
    This should selectable with selected SB series or checking standalone MPU-401.
    and MIDI Out going gray out when selected non SB card and uncheck standalone MPU-401.

from 86box.

OBattler avatar OBattler commented on June 8, 2024

MIDI stopped accidently when playing long time.
I suspect these kind of issues are due to the emulation not always being at 100%, and that's unfortunately a CPU emulation issue that only Sarah can fix.

MIDI Out list selection was grayed yet when standalone MPU-401 checked.
I'll fix that.

from 86box.

OBattler avatar OBattler commented on June 8, 2024

I just fixed that. Now checking the standalone MPU-401 check box will also enable the MIDI OUT device selection box.

from 86box.

basic2004 avatar basic2004 commented on June 8, 2024

I tested again, same MIDI environment.
It didn't happen again with Intelligent mode, UART+SoftMPU, SBMIDI+SoftMPU...

I changing MIDI playback environment now.
I guess this VSTHost's setting problem, ASIO4ALL...

If this issue appear again, I'll report here.

from 86box.

basic2004 avatar basic2004 commented on June 8, 2024

MIDI signal delayed again, I tested with 'The Lost Vikings'.
Delaying about 2-3 seconds when I set SB16, Intelligent MPU-401 mode.
Changed UART mode and reboot, this problem didn't appear.

(edit) I reboot to Intelligent mode, delaying didn't appear...
This delaying appear 'sometimes'... I'll try more.
If this problem with UART mode too, maybe this was my MIDI Out device's problem.

from 86box.

basic2004 avatar basic2004 commented on June 8, 2024

Finally, I found delaying problem.
This was VSTi problem, I using Munt MT-32 emulator VSTi 2.1.
Munt VSTi is here http://falcosoft.hu/softwares.html#munt_vsti

MIDI delaying appeared on 86Box Intelligent MIDI, UART MIDI too. and PCem's UART MIDI too.
Delaying appeared when I testing with 'The Lost Vikings'.

I found bit's wxWidgets+mt32emu branch, it ported 86Box's Intelligent MIDI.
Compiled it and tested Intelligent MIDI, I listen over 1 hour, MIDI never delaying now.

from 86box.

basic2004 avatar basic2004 commented on June 8, 2024

Thanks to support Munt MT-32 emulation.
Downloaded last version and tested 2 hours more, I felt no more delaying issue from 86Box.

But Munt emulation isn't latest version.
If you port current version of mt32emu branch, MT-32 Message and Instruments information appear from Status window.

All right, I'll close this issue.

from 86box.

OBattler avatar OBattler commented on June 8, 2024

I'm going to look into that but it's going to take a while since the status window as it is right now needs to be redone first.

from 86box.

OBattler avatar OBattler commented on June 8, 2024

Looking at the Sound Blaster 16 code in the Windows NT 3.5 DDK, it seems that the Sound Blaster 16's MPU-401 starts out in intelligent mode, with IRQ wired to the Sound Blaster 16 IRQ, with the CT mixer's IRQ source register reflecting the IRQ pending status in bit 2.
NT 3.5 actually relies on this - it sends command 3F (set UART mode) and then waits for the IRQ and on recept of the IRQ, it reads the IRQ source register to make sure the IRQ comes from the MPU-401.
It would be actually interesting to try something that relies on intelligent mode (Princess Maker 2?) on the real Sound Blaster 16 with MPU-401 IRQ set to the same IRQ as the sound card, maybe it would work. A Vogons thread implies the CT-1750's MPU-401 could work in intelligent mode, so maybe so can CT-1745.
MEGAMID's behavior sheds further light on this - if it's true that the RESET command does not ACK in UART mode, then MEGAMID expecting the ACK would mean it actually expects the MPU-401 to start in intelligent mode, but I'm not sure. It does seem like there's more to the Sound Blaster 16's MPU-401 than is officially documented, but I guess probing the real card would be needed to understand everything.

from 86box.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.