VOGONS


Reply 100 of 118, by Scali

User metadata
Rank l33t
Rank
l33t
jaZz_KCS wrote:

This just sounds too good to be true.

It should be possible to make a native MIDI driver for Win3.x... the driver itself is probably not very difficult: you get MIDI bytes from the Windows MIDI mapper interface, and you output them to the printer port.
But I have no idea what tools would be required, or what such a MIDI driver has to look like for Windows 3.x. I wonder if it's still possible to find documentation on that, perhaps even a sample.
I have a copy of Visual C++ 1.52, I could check if it has the required documentation. But it might require some Windows DDK that I don't have.
Edit: Perhaps these are useful: https://winworldpc.com/product/windows-sdk-ddk/windows-31

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 101 of 118, by root42

User metadata
Rank Oldbie
Rank
Oldbie

You might want to ask the Wine people. They probably know the APIs in and out.

YouTube and Bonus
80386DX@25 MHz, 8 MiB RAM, Tseng ET4000 1 MiB, SnarkBarker & BlasterBoard, PC MIDI Card + SC55 + MT32, XT CF Lite, OSSC

Reply 102 of 118, by matze79

User metadata
Rank Oldbie
Rank
Oldbie

Maybe it helps

Here is a Driver with Sourcecode that plays MIDI on the PC-Speaker.

Filename
SMIDIDR3.7z
File size
83.46 KiB
Downloads
13 downloads
File license
Fair use/fair dealing exception

Its written in DELPHI 1.0.

Here is some Discussion:
http://www.vcfed.org/forum/archive/index.php/t-50867.html

I also own S2P and its cool.
Doom runs with Patcher 😉

https://dosreloaded.de - The German Retro DOS PC Community
https://www.retroianer.de - under constructing since ever

Co2 - for a endless Summer

Reply 103 of 118, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

Wohooo!
Scali wrote a great blog article on S2P : https://scalibq.wordpress.com/2019/03/09/dreamblaster-s2p/

Visit http://www.serdashop.com for retro sound cards, video converters, ...
OPL2LPT, OPL3LPT, X2, S2, S2P, MCE2VGA, ... many projects !
Special vogons LPT bundle : https://www.serdashop.com/Parallel-port-retro-sound-bundle
Thanks for your support !

Reply 104 of 118, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

S2P demo of midi playback and DOS games with softmpu mt32 mode , by Ki-Hyun Cho : https://youtu.be/VasXlFR-FKQ
- monkey island : https://youtu.be/VasXlFR-FKQ?t=494
- police quest 2 : https://youtu.be/VasXlFR-FKQ?t=645
- zeliard : https://youtu.be/VasXlFR-FKQ?t=813

Visit http://www.serdashop.com for retro sound cards, video converters, ...
OPL2LPT, OPL3LPT, X2, S2, S2P, MCE2VGA, ... many projects !
Special vogons LPT bundle : https://www.serdashop.com/Parallel-port-retro-sound-bundle
Thanks for your support !

Reply 106 of 118, by pdw

User metadata
Rank Newbie
Rank
Newbie

Unfortunately, patching games for S2P support turned out to be a bit too difficult. s2ppatch only supports two audio engines:
- the DMX engine, used by Doom / Heretic / Raptor: Call of the Shadows
- some versions of the Miles Sound System.
If your games come with a 'mt32mpu.adv' file you're in luck. If not, I'm afraid it won't work.
The recommended way to use the S2P is with softmpu, but that of course requires a 386.

I see some discussion of a Windows 3.1 driver. I believe Microsoft in fact published the source code of some of the basic Windows 3.1 sound drivers as part of the Multimedia SDK. Modifying them should be 'doable' for somebody with Windows 3.1 C+asm programming experience...

Reply 107 of 118, by Scali

User metadata
Rank l33t
Rank
l33t
pdw wrote:

Unfortunately, patching games for S2P support turned out to be a bit too difficult.

Perhaps the good ole FPU emulators could give us a hand?
The MPU-401 interface basically only has two ports: 330h and 331h.
Each port can be read and written to. So you have a total of 4 different entry points into the MPU-401 state machine.
Now, let's say you create 4 int handlers:
int 30h: read port 330h
int 31h: read port 331h
int 32h: write port 330h
int 33h: write port 331h

Now you could create a TSR that implements the MPU-401, that can be loaded before the patched game.
Patching itself is reasonably simple: just find all reads and writes to port 330h and 331h, and patch them in-place with the proper int-call.
For UART mode, the TSR should be quite trivial.
For intelligent mode, I suppose the biggest problem is handling the timing. If any game reprograms the timer, you can't use it. Not too many games do, it seems, but still.
That makes me wonder... would a DreamBlaster S2P 2.0 be possible? One that has some kind of timer built-in, which can be read back by the TSR? Perhaps even generating interrupts on the LPT at a given interval, so it would be relatively easy to implement the timing required for intelligent mode?
Then you'd be able to get around the 386+ requirement for SoftMPU.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 108 of 118, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote on 2018-02-05, 11:01:

I've never written a driver for Win3.x, but I have written a MIDI driver for Windows 10, based on MUNT.
So based on that code, it should be possible to make it output to a DreamBlaster S2P.

If someone has some example code for a MIDI driver for Win3.1, then perhaps we can get that working as well.

Hi
Andri made an updated win 3.11 midi driver for opl3lpt...
https://github.com/andreiw/adlib21
maybe it can inspire ?

Visit http://www.serdashop.com for retro sound cards, video converters, ...
OPL2LPT, OPL3LPT, X2, S2, S2P, MCE2VGA, ... many projects !
Special vogons LPT bundle : https://www.serdashop.com/Parallel-port-retro-sound-bundle
Thanks for your support !

Reply 109 of 118, by matze79

User metadata
Rank Oldbie
Rank
Oldbie

not really, as driver was already existing, he just changed the io part to lpt 😀

This is Microsoft Adlib Driver 😀

https://dosreloaded.de - The German Retro DOS PC Community
https://www.retroianer.de - under constructing since ever

Co2 - for a endless Summer

Reply 110 of 118, by matze79

User metadata
Rank Oldbie
Rank
Oldbie

Is the MPU driver also opensource ? it would be very similar to modify it..

https://dosreloaded.de - The German Retro DOS PC Community
https://www.retroianer.de - under constructing since ever

Co2 - for a endless Summer

Reply 111 of 118, by jaZz_KCS

User metadata
Rank Oldbie
Rank
Oldbie
matze79 wrote on 2020-02-12, 18:40:

Is the MPU driver also opensource ? it would be very similar to modify it..

Please make this happen, if possible. As the Win3.1/3.11 driver opens up a whole new world of opportunities for the OPLxLPT, so would a driver in the same veins for the Dreamblaster S2P. Imagine giving 386 luggables without a sound card the luxury of midi within Windows 3.1/3.11 paired with the PC speaker sound driver..

Reply 112 of 118, by derSammler

User metadata
Rank l33t
Rank
l33t

The S2P is an external device that also requires power. I don't see why on a "386 luggable" you could not just connect a GM module over the serial port instead. This will work in Win3.1 just fine.

Apart from that, with SoftMPU, the S2P should work in Win3.1 already.

http://retro-net.de/blog.html

Reply 113 of 118, by jaZz_KCS

User metadata
Rank Oldbie
Rank
Oldbie
derSammler wrote on 2020-02-13, 09:37:

Apart from that, with SoftMPU, the S2P should work in Win3.1 already.

Could you please elaborate on that? Last time I checked, SoftMPU does not support Windows 3.1/3.11... at all. Something to do with with EMM386 making this impossible, iirc.

So how would I be able to use the S2P under Windows 3.11?

Reply 114 of 118, by matze79

User metadata
Rank Oldbie
Rank
Oldbie

Hm win /s will not work with emm386 in protect mode ?

https://dosreloaded.de - The German Retro DOS PC Community
https://www.retroianer.de - under constructing since ever

Co2 - for a endless Summer

Reply 115 of 118, by derSammler

User metadata
Rank l33t
Rank
l33t

Could you please elaborate on that? Last time I checked, SoftMPU does not support Windows 3.1/3.11... at all. Something to do with with EMM386 making this impossible, iirc.

Not sure what you mean. SoftMPU needs EMM386 and Windows 3.1 even comes with it. I don't see where it should conflict. The readme file of SoftMPU doesn't state any incompatibilities with Win3.1 either. The only thing you should not do is installing the MPU-401 driver that comes with Windows, as that is for the actual Roland interface card.

http://retro-net.de/blog.html

Reply 116 of 118, by matze79

User metadata
Rank Oldbie
Rank
Oldbie

the adlipt tsr also does not work with windows 3.x, and it also uses port trapping etc.
so i guess softmpu will also not work with windows midi.

https://dosreloaded.de - The German Retro DOS PC Community
https://www.retroianer.de - under constructing since ever

Co2 - for a endless Summer

Reply 117 of 118, by matze79

User metadata
Rank Oldbie
Rank
Oldbie

Here is some Info about it:
Re: SoftMPU build for Windows support?

so indeed a windows driver is needed to achieve s2p midi in 3.x

https://dosreloaded.de - The German Retro DOS PC Community
https://www.retroianer.de - under constructing since ever

Co2 - for a endless Summer

Reply 118 of 118, by jaZz_KCS

User metadata
Rank Oldbie
Rank
Oldbie
matze79 wrote on 2020-02-13, 14:27:

Here is some Info about it:
Re: SoftMPU build for Windows support?

so indeed a windows driver is needed to achieve s2p midi in 3.x

That's what I remembered. I also remember trying it before reading that and never got it to work.