VOGONS


First post, by Serastros

User metadata
Rank Newbie
Rank
Newbie

Hallo,

this is a guide, in cooperation with Leo, one of the creators of the Orpheus ISA soundcard with the optional PCMIDI module and X2GS Wavetablecard, which is a serdaco product. I did run into some issues, some because I have forgotten important thing back from the ISA era, and some to the special setup.
Orpheus ISA, with X2GS Wavetable, MT32-Pi on Raspberry 4, the Pi head MP32L and PCMIDI MPU interface.
Goal was to create a retroPC DOS/WIN98se setup where all three soundpossibilities are present on the fly. Sound blaster, GM/GS and MT32.
So first a little prelude, you can skip if you want.

Prelude:

I was building my first retroPC, for DOS and early to middle Win9x Era. I did posses a build close to this one back then, and back then I was a very proud owner of an Orchid Soundwave 32. And now I know that it is not a very good card, compared.
It was still MIDI and Soundblaster on one Card! And ISA, which worked on my early 486 already! MIDI Music! Oh boy!! My friends and me were quiet impressed with this kind of music, and it did cost me 350DM back then. A fortune for a schoolboy back in 1993. It took me a year to save up, I saw early advertising for this card in a PC magazine.
Anyway, later on came the AWE32, GravisUltrasound etc. But I still used this card till there were no ISA legacy slots.

So I decided I would like to have all three, sound blaster, GM and MT32 for this PC.
I powered on Ebay, looked up MT32 and SC55, and oh boy again! Look th those pricetags!
And as an extra the differences between the SC550, no logo, GM, GM/GS, ROM version….
Thats where I out about the Orpheus ISA Soundcard and the X2. So I ordered it, and forgott about this. My retroPC project lay dormant, and I forgott about all of this.

Then two weeks ago Leo wrote me an email, that if I still want the Orpheus, PCMIDI and X2, it is time to get activ. And that the X2 ist exchanged with X2GS with originaly licensed Roland Soundbank.
That did wake up my dormant project!

So the Card arrived, but I did have some trouble getting it rinning in the Setup, Leo was most helpful and got it all cleared.

I would like to sum it all up, as a possible help for others. Some parts I did just copy out of the Emails. Leo did read this before I posted it.
All credit to Leo.

SETUP:

So the goal is Orpheus ISA on DOS/WIN98SE with MT32 emulation via MT32-pi and GM/GS via X2GS. Switching on the fly, achieved at setupmenue of the game itself. I was suggested the MP32-L for the Pi-part.

The MP32-L needs a raspberry Pi to work. It is a board that allows the Pi to have midi connection and a screen so it displays all messages a MT-32 would display on it's screen.

So on Orpheus the X2GS would connect to the wavetable header and you would hear sound coming from the Orpheus output jack.

Of course there are many different Pi-hats out there, that´s just what I did choose.

The MP32-L + Pi would be an external combo that will connect to the Orpheus with a midi cable. Connection-wise it is the same as if you would have a real MT-32.
you can see a diagram of the ports and headers on Orpheus here: http://orpheus-soundcard.eu
with each card you get a midi adapter cable so you will use the ORANGE or BLACK, midi-out jack can be both colors, on orpheus: you will connect the midi adapter cable to the MIDI jack and then a normal midi cable that will connect the the MP32-L
basically this:

sjqkx5ml.png

The above is also true if you use other wavetable or external midi devices.

Now I have a recommendation since you want to use both X2GS and external MT-32.
On the Orpheus there are actually 2 MPU interfaces.
No1 is the PCMIDI that does all the Intelligent Roland mode things and is required for the majority of games that support the MT-32
No2 is the simpler uart mpu interface inside the Crystal CS4237 chip. It is enough for newer games that support GM/GS and will work correct with them

Now here comes the problem: what happens if you play Monkey Island for example and you want the music to come from your nice MP32-L?
PCMIDI will handle this mpu work BUT on the same time it will send data to the X2GS.
So you will have 2 devices playing, X2GS and the MP32-L. It will not be good result...
This is why I recommend to do this change:

1bqFZLIl.png

Moving the WTC jumper to the CS position will make the Wavetable header ( = X2GS) to be controlled by the Crystal MPU (CSMPU).
Because you do not want any resource conflicts you will assign the CSMPU to port 300.
So any game you want to use the X2GS for General Midi or GS music you will tell it that your board is on port 300.

You must leave PCMIDI at port330 as this is what old Roland games expect and most of them do not have a way to tell them to use another port.

It is recommended to run the EEPROM flasher *BEFORE* you start win9x for the first time with Orpheus installed , so that windows will also install the CSMPU driver. It is a DOS programm.
The flasher can be found on the Orpheus website, Download https://mega.nz/file/cIFTzAzD#P8cgJCV3N292XkL … 7soYNIu4RAqVh6Y, and you must choose option 2:

cZhOt0El.png

This needs to be done only ONCE , when it flashes the eeprom turn off your system, power it on again. I also did change the IRQ vor PCMIDI part to IRQ3. IRQ2 can interfere with power managment, depending on the Mainboard of course. I left the IRQ 5 and 7 for Soundblasterpart, just in case.

R7cX16ql.jpg

DOS:

Under DOS use ORPHINIT, Grab the latest 0.53ß final version https://mega.nz/file/5R8ylZqZ#ZwfTA1SLIahruXG … yzef1nAF9QzmtkQ.
Since some adjustements need to be done in the ini file, I will just attach my orpheus.ini file. Basicly I did set the Sound blaster to IRQ5, port 220 and DMA1, activated the FMMode to OPL3 and removed the semiclon in front of the command, so it starts for sure and did set up MPUBase to 300 and IRQ to 9. THIS is the MPUdevice inside of the Crystalchip! DO not mix up with the second CrystalMPUdevice at port 330 IRQ9, PCMIDI at port 330 and IRQ3!

; FMMode can be OPL3, CrystalFM or off
FMMode=OPL3
.
.
.
; This controls the on-chip Crystal MPU-401-compatible UART.
; This tool has NO control over the PCMIDI device, which is configured
; with on-board jumpers.
MPUBase=300
MPUIRQ=9
.
.
.

Now each time you run oprheus.bat to activate the card it will also activate CSMPU at port300.

End result will be you will have 2 seperate mpus for games so you don't get mixed sounds , port300 for new GM/GS games and port330 for MT-32 games.

All the above might sound too much but it's actually an old problem and not specific to orpheus/pcmidi.
In the past we had to do the same: either install 2 soundcards or 1 soundcard+mpu because we did not want wavetable+external midi to play at the same time
OR people would move to all external devices so you power them on demand.…

You can use the orpheus.bat in your autoexec.bat, but but need to use the CALL command to call orpheus.bat so when it finishes it will return to autoexec.bat , for example: CALL C:\ORPHEUS\ORHEUS.BAT)

2nd Solution is:
Initiliase the Orphus via the command orphinit.exe /v, thus not ending the autoexec.bat. With this command you can also reinitilise the Orpheus under DOS on the fly.
If you only use orphinit.exe /v then you need to manually set the BLASTER variable – orpheus.bat does that for you but you can just add SET BLASTER=A220 I5 D1 T4 P300 on autoexec.bat to do it manually.

WIN98SE:

Since I do only have acces to german version of Win98SE, the screens will be in german.

Windows 9x driver only has this limitation: crystalFM is used instead of discrete OPL3 under win9x - windows driver does not obey the card's eeprom configuration and just configures the chip to it's own hardcoded values for now until someone makes a hack/patch...
download latest version PV2860 https://mega.nz/file/tBcB3KxZ#4LdL3VCJl8xykck … GqsPbBGFW_lvzCo (or previous version 272 https://mega.nz/file/UZ1CgQ4J#svW1sidELg_E2wz … VAQRAeRV5zLxFsk , it can help if the target system is a 486)

In hardware manager (right click MyPCicon/properties/hardwaremanager) you will see the crystal MPUdevice at port300 and IRQ9.

ElBdSwEl.jpg

e3ft1tTl.png

Now to the second MIDI device, the PCMIDI at port 330 and IRQ3:

PCMIDI is not a pnp device you must install it with the "add new hardware" wizard under windows/settings/hardware.
Only if you do a fresh windows install with Orpheus installed and the computer spends some minutes to detect hardware it will be installed automatically, just use the drivers from the WinCD when asked for driverlocation.
Otherwise choose the manually instalation option, either chose MPU-401 or Music Quest MPU both are the same, and use the WinCD drivers. Do not override the existing CrystalMIDI device.

wDTN4dEl.jpg

Q12gc6Bl.jpg

RKtXOO4l.jpg

JjJELMDl.jpg

A word of advice on 98SE since I have been wasting my time in the past when a huge change happens in the system, it's better just to install from scratch.
In the long run it will save time...

Also keep in mind that everything on the pcmidi site applies to Orpheus as well: http://pcmidi.eu/.

Remember to change the MIDI device under WIN98SE in Properties/Musik/MIDI and to activate the line in and CD in. Rightclick on the Soundsymbol on the taskbar/choose loudness/change to properties/input/activate line in and CD in; unmute them.

ct7lGbRl.jpg

6x41Auyl.jpg

XiWb7tZl.jpg

JOHKRnYl.jpg

LOUDNES:

This is again another old issue with pc gaming and midi devices, everything has it's own volume, games reset the mixer, games put their own values...one good thing about windows is that it made all that a thing of the past, you set volumes and the driver does not let anything touch them unless you want to.
The old "elite" way is to get an external sound mixer so you can adjust on the fly. it makes sense if you have multiple audio devices like a main soundcard, a gravis, several midi modules... so you connect all to mixer and adjust your self taking the pc out of the equation.
DOS is great but damnit everyone did what they wanted back then, no standards at all!
For me MT32 was a lot quieter than Soundblaster or GM, and I did cramp input values etc. all up.

The mt32-pi.cfg file there are volume gain settings for both mt32 and fluidsynth , look at the section for mt32 for example:

# -----------------------------------------------------------------------------
# MT-32 emulator options
# -----------------------------------------------------------------------------
[mt32emu]

# Set gain factor applied to synthesizer output channels.
#
# This is independent of the master volume that can be set via MIDI SysEx or
# the volume knob.
#
# Values: 0.0-256.0 (1.0*)
gain = 1.0

I did set it up to:

gain = 1.5

And now it is a lot better.
So it's better to raise the mt32 volume and call it a day 😀

Last thoughts:

Also connect the MP32L output to line in Orpheus, and use working cables. I forgot to connect at first, 😳, and then used old, defective cables, resulting in bad crackeling….

Do not use any DOS utilities for the soundcard with WIN98SE, the windows driver works with the CS4237 in it's native mode and no dos driver or mixer will do anything worthwhile. I am using different CF cards for DOS6.22 and WIN98SE, just to not mix stuff up.

RESULT:

At DOS6.22 and WIN98SE you can just choose which Soundcard you want to use the Game you are installing. MIDI with port 300, MT32 with port 320. For Midiplayer on Win98SE need to change MIDIdevice in properties/music/MIDI.
All this above should work on any Win9x.

Known issues:

Duke Nukem II : CS4237 chip does not support all ADPCM sample compression modes the game uses. Please use
AdLib sound effects for the game OR the ADPCM FIX from K1n9_Duk3 posted on VOGONS forum HERE.

Tyrian and Tyrian 2000 : On most systems the game only works with WSS and DMA0 selected. You can easily change
resources on the fly by modifying the BLASTER variable and running UniSound to re-init the card or use ORPHINIT with an
INI file that specifies DMA0 to be used. This just seems to be the game's sound driver incompatibility with the CS4237.

Sierra games with 32bit engines like Police Quest IV, Quest for Glory IV, Gabriel Knight, etc that have WSS as an option
in their setup will have to be played with Sound Blaster option since the Sierra WSS driver is incompatible with the CS-4237 chip.
There are WSS driver updates for 16bit game engine HERE and 32bit game engine https://mega.nz/file/sc90HAhZ#qTZs2nm-dszsmCV … TUBrU1lVvyOqFx0 but they are hardcoded to IRQ7/DMA1
and have the potential/ability to mess with mixer settings and s/pdif output registers.
 There are now some fixed 16bit and 32bit Sierra WSS drivers Re: Orpheus Soundcard: a new DOS soundcard with SPDIF/OPL3/MPU support and Re: Orpheus Soundcard: a new DOS soundcard with SPDIF/OPL3/MPU support thanks to 640k!enough , this is still a WIP
but they have the advantage of adding WSS support in Sierra games that never supported tha standard initially. Please refer to the
discussion in the thread for further info. These drivers will help all 423x cards not just Orpheus.

DELL Optiplex socket5 4xxx / 5xxx systems: using Orpheus with those systems cause them to freeze on boot.
There is a chance if left in this state for several minutes the system will record the Orpheus PnP data and subsequent boots will
be fine and normal. But there is a chance the system will never recover and will stay in this halted state.
It is not known at the moment what causes this, the prevailing theory is that the PnP portion of these specific era Optiplex systems
have issues with the CS4237 chip's PnP initiliazation. A BIOS update *might* help but not quaranteed:
go to https://www.dell.com/support/home/en-us/produ … products&lwp=rt
click "Browse All Products"
select "Desktops & All-in-ones"
select "Retired Models"
select "Older Models"
and if you are lucky you might see your system listed and gain access to downloads.
Again, no guarantees this will help... if we find such a system we will investigate further.

Disclaimer:

All of the components used, I did buy myself. There is no sponsoring or payment involved.

Attachments

  • Filename
    ORPHEUS.INI
    File size
    3.2 KiB
    Downloads
    82 downloads
    File comment
    as descrobed above
    File license
    Fair use/fair dealing exception
  • Filename
    mt32-pi.cfg
    File size
    14.55 KiB
    Downloads
    73 downloads
    File comment
    as described above
    File license
    Fair use/fair dealing exception

Reply 1 of 13, by keropi

User metadata
Rank l33t++
Rank
l33t++

great work! thanks for posting this guide Serastros!!!!

edit:

a warning, the EEPROM FLASH TOOL is *only* meant for Orpheus I boards and is not compatible with OrpheusII and OrpheusII LT boards. Flashing this firmware will result in functionality loss of the II boards.

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 2 of 13, by EriolGaurhoth

User metadata
Rank Newbie
Rank
Newbie

Are there DOS games that automatically (and only) check 330 for General MIDI/GS that this method would break? I know the intention here is for older DOS games who only check 330 for MT-32, but I know there's a handful of DOS games that don't ask for the port that are General MIDI/GS compatible. Doom and Doom II come to mind, and I'm not sure if they automatically would know if I select General MIDI to play the wavetable instread of the MT-32.

Reply 3 of 13, by arg

User metadata
Rank Newbie
Rank
Newbie

Thanks for the awesome guide! My Orpheus 2 LT + Roland MT-32 combo seems to be working well together. I did a quick test: Monkey Island 1 and 2, Duke Nukem 3D and they all output to the correct MIDI port. Haven't tested in Doom/Doom 2 yet though due to lack of time.

Reply 4 of 13, by ubertrout

User metadata
Rank Newbie
Rank
Newbie

Looking at this thread because I want to do something somewhat similar - PC is a 486 DX2/50 on a non-PnP board. I randomly scored a working MT-100 at an estate sale for almost nothing, so I have a proper MT-32. And I have a Orpheus II LT and a X2GS on the wavetable header. This all looks pretty straightforward, but do I lose anything using the Crystal with the X2GS? Going to take a shot at making this work.

I'm running this through a mixer anyway, but I'd still want to be able to use Sound Blaster with MT-32.

Edit to add: I've followed this guide and the x2gs works flawlessly at 300. The MT-100 isn't producing any sound at all at 330. Obviously there's a lot of points of failure possible here but I don't see an obvious solution.

I also noticed something weird - The EGA Monkey Island I downloaded REMOVED wreaks havoc on the Orpheus, making random noises even after the game exits, until the system is shut down (it's fine afterwards). It works fine in ScummVM but it just isn't right with the Orpheus. What's extra weird is that it worked acceptably with my previous card. The VGA version I installed from my original discs works fine in adlib mode - but if I force Roland mode it's silent.

Last edited by DosFreak on 2024-04-02, 15:45. Edited 2 times in total.

Reply 5 of 13, by keropi

User metadata
Rank l33t++
Rank
l33t++

you do not loose anything by using X2GS with the Crystal MPU - General Midi games do not need intelligent mpu mode functions so the x2gs+crystal combo is perfect
to use your mt-100 make sure that the midi-out jack is jumpered to be controlled by pcmidi and that you connect the midi cable from the LT to the MIDI-IN port of the MT-100
(obviously the mt-100 is assumed to work fine)
Monkey Island EGA version is speed sensitive - try a program like ICD to disable L1 cache prior to launching it and the bad opl sounds will not happen
since you also get no mt-100 activity with the vga version it looks like there is some connection issue (jumper and/or mt-1oo port)

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 6 of 13, by ubertrout

User metadata
Rank Newbie
Rank
Newbie

Yeah, I think the problem is that the jack for the MIDI port is really low on the card and the lip of the case is contacting it. Bummer. I guess I'll have to order an adapter for the game/MIDI port with a passthru for the game port. Alternately, would a right-angle minijack extension cable work? I tested the MT-100 with a USB MIDI adapter and SCUMMVM and it ran perfectly.

Monkey Island EGA crashes the PC if I try to run it with Turbo off. But if I hit Turbo and it downclocks to 25 mhz it ran fine on the previous card. I guess it's just gremlins of the Orpheus and 25 mhz still being a bit fast for it.

Reply 7 of 13, by keropi

User metadata
Rank l33t++
Rank
l33t++

give it a go with ICD/ICE -> http://vogonsdrivers.com/getfile.php?fileid=74 , it might work better
you can get something like a DB15MIDI adapter if your case obstructs the midi-out jack: https://www.serdashop.com/DB15MIDI

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 8 of 13, by ubertrout

User metadata
Rank Newbie
Rank
Newbie

Yeah, but shipping for Serdashop is expensive to the USA (which is fair), and I still want to use the game port for a joystick.

Conceptually, would something like this work? https://www.amazon.com/gp/product/B01DCBJ51I/

Reply 9 of 13, by keropi

User metadata
Rank l33t++
Rank
l33t++

I don't see a reason why this extension won't work - as long as it does not swap around the signal ordering (which would be weird if it did)

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 11 of 13, by ubertrout

User metadata
Rank Newbie
Rank
Newbie

Using the extension works perfectly. Even weirder, Monkey Island EGA freaks out and messes with the Orpheus if I run it as "monkey.exe" normally, but "monkey.exe r" loads perfectly and properly uses the MT-100. No need to use a speed limiter program (turbo is engaged to lower the clock speed to 25 in both cases). I don't think this is just an issue of the game's well-documented speed issues?

Reply 12 of 13, by perhenden

User metadata
Rank Member
Rank
Member
keropi wrote on 2021-07-14, 08:30:

edit:

a warning, the EEPROM FLASH TOOL is *only* meant for Orpheus I boards and is not compatible with OrpheusII and OrpheusII LT boards. Flashing this firmware will result in functionality loss of the II boards.

A clarification - for Orpheus II you must fully skip the 'flash' step. I got confused first, and was looking for *another* flash tool suitable for Orpheus II.
Moving the jumper and editing orpheus.ini was enough to get separate sound for both Waveblaster and external midi 😀