VOGONS


ORPHINIT: New Init Software For The Orpheus Sound Card

Topic actions

Reply 160 of 170, by Sombrero

User metadata
Rank Oldbie
Rank
Oldbie
640K!enough wrote on 2023-07-21, 18:51:
Based on your description so far, something doesn't add up. If you want us to be able to figure out what's going on, please inc […]
Show full quote
  • If you are using an Orpheus II, you need to be sure that no resources are assigned to the InterWave MPU-401 emulation. If you've installed it the way keropi suggests, this would be in IW.INI. I don't know if UNISOUND handles this aspect of the configuration; if that's what you're using to configure the InterWave, please consult its documentation.
  • No EEPROM images have been provided to disable the Crystal MPU-401 features for Orpheus II, as far as I'm aware. What did you use?
  • Is this a strictly pure DOS environment, or are you mixing DOS/Windows? If you're under Windows, why are you still using ORPHINIT or UNISOUND?

Based on your description so far, something doesn't add up. If you want us to be able to figure out what's going on, please include your current ORPHEUS.INI, IW.INI and/or UNISOUND environment variables and command lines (for all cards), describe your complete configuration, and provide pictures of the jumpers on the Orpheus (II) card.

- The original Orpheus, not the new Orpheus II
- I used the EEPROM restore/config tool from http://pcmidi.eu/orpheus.html to disable the Crystal MPU, I don't have any use for it since I have PCMIDI on the card so I disabled it
- Pure DOS, I don't play DOS games under Windows

- I haven't changed anything else in the ORPHEUS.INI other than possibly WSSIRQ to 5 if it wasn't that by default and some of the sb-mode volume levels, that's all
- UNISOUND variables in autoexec.bat that fix the issue:

SET BLASTER=A220 I5 D1 P0
C:\DOS\DRIVERS\UNISOUND\UNISOUND.COM

- I set the jumpers on the Orpheus so that all ports are being controlled by PCMIDI and PCMIDI itself is set to port 330 IRQ 3 by jumpers. Pretty sure I had to change only PCMIDI IRQ jumper myself, everything else was like that when I got it. Had to change IRQ from 2 to 3 since my system wants 2 for itself. I can take a picture of it during the weekend if you need one for confirmation but it's just going to show those positions.

System:
Abit BX133-RAID
Intel Pentium III 866MHz/133MHz @650MHz/100MHz
3dfx Voodoo3 3000
128MB PC133 SDRAM
Creative Sound Blaster Live! 5.1
Orpheus Sound Card + WP32 McCake

Also again, this is not a huge issue. Would be just more convinient to be able to fix it with an Orpheus setting than booting the system with UNISOUND if I want to play some silly freeware game.

Edit: The requested picture added for good measure, but the jumpers are exactly where previously mentioned. Also just to be crystal clear about this I don't believe ORPHINIT is at any fault here, UNISOUND behaves exactly the same way without the P0 variable. Just asking for same kind of feature to ORPHINIT if it's not too time consuming to implement just for this reason.

Reply 161 of 170, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie
Sombrero wrote on 2023-07-21, 19:49:

Also just to be crystal clear about this I don't believe ORPHINIT is at any fault here, UNISOUND behaves exactly the same way without the P0 variable. Just asking for same kind of feature to ORPHINIT if it's not too time consuming to implement just for this reason.

Just for good measure, I went over the MPU configuration code again, twice. The implementation does not appear to have any deficiencies. When MPUBase=disabled is correctly set, the Crystal MPU functionality is not even active on the bus, much less able to cause any sort of conflict or detection error. As such, there is nothing to "fix" or add.

I suspect that this behaviour is a side-effect of the way that particular software processes the BLASTER environment variable, and the "solution" may be as simple as re-defining the environment variable to include a P component.

As an aside, as of UNISOUND v0.77a, the official way to ensure that the Crystal MPU is disabled is to use the /XOM0 option; using P0 was an older work-around before that functionality was officially supported.

Reply 162 of 170, by Sombrero

User metadata
Rank Oldbie
Rank
Oldbie
640K!enough wrote on 2023-07-23, 21:20:

I suspect that this behaviour is a side-effect of the way that particular software processes the BLASTER environment variable, and the "solution" may be as simple as re-defining the environment variable to include a P component.

I went ahead and did some more testing based on that and turns out the P variable actually had nothing to do with it...

UNISOUND 0.80a:
- WP32 McCake installed, SET BLASTER NOT added to autoexec.bat so it uses the default values = the games in question do NOT have sound but everything else works just fine
- WP32 McCake installed, SET BLASTER=A220 I5 D1 added to autoexec.bat = everything works just fine, including the games in question. Note that P variable is not included

ORPHINIT 0.57ß:
- WP32 McCake NOT installed, SET BLASTER NOT added to autoexec.bat = everything works just fine, including the games in question
- WP32 McCake installed, SET BLASTER NOT added to autoexec.bat = the games in question do NOT have sound but everything else works just fine
- WP32 McCake installed, SET BLASTER=A220 I5 D1 added to autoexec.bat = everything works just fine, including the games in question

So apparently those games just need SET BLASTER to exist in autoexec.bat but only when WP32 McCake is installed on the card, which I find mighty puzzling. Case closed I guess, the way those games handle sound cards just seem to be really odd.

Does having SET BLASTER=A220 I5 D1 in autoexec.bat have any potential to cause trouble with ORPHINIT? I tried Tyrian with those Blaster variables but with a ORPHINIT config that has DMA=0 and it worked just fine, so ORPHINIT settings take precedence?

Reply 163 of 170, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie
Sombrero wrote on 2023-07-24, 07:27:

Does having SET BLASTER=A220 I5 D1 in autoexec.bat have any potential to cause trouble with ORPHINIT? I tried Tyrian with those Blaster variables but with a ORPHINIT config that has DMA=0 and it worked just fine, so ORPHINIT settings take precedence?

The BLASTER environment variable has absolutely no effect on its own. Originally, it was used to inform software of the configuration of an installed Sound Blaster card. The resources used by the card were set exclusively via on-board jumpers on early Creative cards. The environment variable was meant to help software find the card, with the correct resources, but had no influence on the actual configuration of the hardware, and software didn't have to use it.

Some titles rely exclusively on the BLASTER variable to find the card. If it does not exist or is incorrect, you either get no sound, or the software will "crash". Other software ignores the environment altogether, preferring its own detection routines. Some others will try a little bit of each approach until they find a working Sound Blaster-compatible device (or don't find one at all, or "crash" while trying).

For any installation with a compatible card, the best approach is usually to ensure that the environment variable is defined and correct. By design, ORPHINIT makes this really easy. There is no need to define this yourself, nor to make sure that it matches the actual hardware configuration. Rather, you simply invoke ORPHINIT from AUTOEXEC.BAT using the batch file included in the package. For instance, if you have ORPHINIT installed in C:\ORPHEUS, you would add the following line to your AUTOEXEC.BAT:

CALL C:\ORPHEUS\ORPHEUS.BAT

This batch file will collect any command-line arguments, invoke ORPHINIT, then, if there were no initialisation errors, it will run the created script to set the relevant environment variables to match your hardware configuration exactly.

Reply 164 of 170, by moon

User metadata
Rank Newbie
Rank
Newbie

Just got an Orpheus II LT and put it directly into a brand new 2023-manufactured motherboard as people have documented in this thread: "ISA855" - An interesting and peculiar motherboard from ali a Chinese industrial board called the ISA855.I have not changed any jumpers on the card. Used the latest orphinit 0.57b. Using FreeDOS 1.3. I fiddled a bit with the card volumes in orpheus.ini.

Orphinit finds the card and configures it. DOOM has music but no sound effects and AdLib Tracker 2 plays beeps, boops and loud screeches instead of music. Wolfenstein 3D has music and sound effects so that seems to work 100%. I have tried changing the sb address, IRQ number and DMA number, and changing PnP to legacy ISA for corresponding IRQ and DMA numbers in the BIOS, putting card in second ISA slot, same result every time. Disabled a bunch of onboard stuff like lpt, serial, modem, onboard sound in case of conflict, no difference.

I have attached configuration output. Would appreciate any advice.

EDIT: everything now works after throttling cpu, except adlib tracker 2. I guess this is probably an AT2 problem or an incompatibility between AT2 and Orpheus2.

Reply 165 of 170, by moon

User metadata
Rank Newbie
Rank
Newbie
moon wrote on 2024-01-03, 09:56:

Just got an Orpheus II LT and put it directly into a brand new 2023-manufactured motherboard as people have documented in this thread: "ISA855" - An interesting and peculiar motherboard from ali a Chinese industrial board called the ISA855.I have not changed any jumpers on the card. Used the latest orphinit 0.57b. Using FreeDOS 1.3. I fiddled a bit with the card volumes in orpheus.ini.

Orphinit finds the card and configures it. DOOM has music but no sound effects and AdLib Tracker 2 plays beeps, boops and loud screeches instead of music. Wolfenstein 3D has music and sound effects so that seems to work 100%. I have tried changing the sb address, IRQ number and DMA number, and changing PnP to legacy ISA for corresponding IRQ and DMA numbers in the BIOS, putting card in second ISA slot, same result every time. Disabled a bunch of onboard stuff like lpt, serial, modem, onboard sound in case of conflict, no difference.

I have attached configuration output. Would appreciate any advice.

EDIT: everything now works after throttling cpu, except adlib tracker 2. I guess this is probably an AT2 problem or an incompatibility between AT2 and Orpheus2. AT2 works, updated my post in main orpheus2 thread explaining how, disregard everything works GREAT

Reply 166 of 170, by pcsintheup

User metadata
Rank Newbie
Rank
Newbie

Hello! Im playing with my Orpheus version 1 (not the new 2 model). Everything is working fine including the X2 wavetable card (very nice). The one thing that Im having issues with is the PCM volume is WAY too high vs the X2 wavetable card.

I edited the orpheus.ini file so that the wavetable port is at volume 8. The card is in sb mode so I flip down and modified the PCM volume but had no effect. I even set it to zero and when I run rise of the triad the PCM volume is blaring loud. wavetable audio is at about 15% of PCM volume. I'll post my orpheus.ini and a debug.txt output of orphinit based on my settings.

Can you let me know what might be happening?

Do I need to use unisound instead? I felt that orphinit can be used in place of unisound.

Oh... the machine I am using is a 386DX AMD cpu at 40mhz with 8megs of ram. OPTi chipset motherboard. Trident 8900D vga with 1meg ram. IDE CF flash card on a multi-IO 16bit board and XT-IDE rom from 2019 so clearly this is NOT a plug and play system heheh. OH Im running DOS 6.22 also. Im not fussing with windows (in conjunction with this card) at the moment so no windows loaded.

(honestly it seems as if rise of the triad is somehow not working properly with the Orpheus I. Other games dont exhibit this issue to the extreme of ROTT. I cant control PCM audio in ROTT at all. Its always max volume ha. So if I turn the sound FX slider down to zero ROTT still plays digital fx at max volume.

Reply 167 of 170, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie

The problem with PCM volume is well-known. Please see my old response with details here.

Also, it is important to keep in mind that, in Sound Blaster mode, most volume levels range from 0 (mute) to 7 (maximum volume); 8 is not a valid value. All entries are in a separate SB mixer section, and all settings begin with "SB-". Wavetable volume is governed by SB-FMVol.

If you need any other details, please feel free to ask.

Reply 168 of 170, by pcsintheup

User metadata
Rank Newbie
Rank
Newbie

Ok perfect I missed that response in the thread (long thread). I appreciate! I will just shut off OPL3 when I use the wavetable/X2 and most other games allow adjustment of PCM in-game which works (except for ROTT and I use X2 in rott anyways and will disable opl3 for that game). Im glad there is a workaround. Most other games I play use only adlib/opl3 primarily.
Is the same bug present in the Orpheus II or does it use an alternate crystal chip without the bug? Just curious.

Reply 169 of 170, by 640K!enough

User metadata
Rank Oldbie
Rank
Oldbie
pcsintheup wrote on 2024-04-10, 15:16:

Is the same bug present in the Orpheus II or does it use an alternate crystal chip without the bug? Just curious.

No, the Orpheus II line incorporates fairly extensive hardware-level changes, as well as specific software support, to get around the problem. The design is still based on the same CS4237B; its features are just used and abused in a clever way that allows it to avoid that and related problems.

Reply 170 of 170, by Kordanor

User metadata
Rank Member
Rank
Member

Hey there. Just installed the Orpheus 2 into my machine, downloaded this software and I think I got most of it up and running. Here is my experience. Maybe you can confirm/explain some stuff, and maybe this also acts as constructive feedback to further improve the software/process. So here, we go:

First was a bit confused first on what to do here, as it doesnt "install" itself and there aren't like step for step instructions.
Also I was confused with the term WSS in the ini which I never saw before.

For now I just want to use the Orpheus as Soundblaster /Adlib, later on I want to use the MT32-Pi as well, but that I didnt buy yet.

So the first thing I noticed is that in the ini, it makes a difference between WSS and SB, declares them as different modes, but then you set IRQ for WSS, which is then also used for SB mode (I guess).
I usually use IRQ7, so I changed the WSSIRQ. Maybe is a better way to name it, if its not just for WSS but also for SB mode.
I also found it weird, that the PC speaker is muted as standard. Why would you want to do that? Because the headers are usually not used and to avoid potential noise? There is also no comment about a range there (so whether a number like "9" is high, or you need to enter like "150".
Then I tested around but the values for PC Speaker were all over the place. 10 was silent. 20 was a bit to loud. 18 was louder than 20, and 15 was more silent than 10. I then set it to 22 which was perfect for me. But I didnt follow the logic at all (why is 22 more silent than 20 and 18). As some games only provide Speaker Sound (Keen 1, Wizardry 6), it's very welcome that it's now passed through the card and adjustable. Just the adjustment is...weird.
I also found the sorting a bit weird.
Like there is CDvol but also SB-CDVol, and I guess CDvol is overwritten by SB-CDVOL, but next to CDVol there is also PCSpeakerVol and that one is not overwritten. Overall the naming and sorting in the ini looks extremely confusing.
Also more granular controls would be nice, but from the ini it sounds like this isn't possible for SB settings. I often found myself wishing "between 3 and 4 would be perfect" or something similar.

Also I didnt quite get the use of the .bat files. I mean ideally you load the drivers on startup with autoexec.bat, I guess? But I also saw that the environment variable sin the .bat dont set P300 or P330, neither have I found anything which seemed related in the ini.
So I added the orphinit.exe to the autoexec.bat without parameters (should take the .ini, right?) and kept the environment variables I had from my previous soundcard (A220 I7 D1 T4 D330)
But for the config.sys I am not so sure. My ESS had an /A:168 /I:A, not sure if the Orpheus needs anything similar. Tried to add Device=C:\Drivers\Orpheus\orphinit.exe (without parameters), but that just breaks the boot, so put nothing orpheus related into the config sys.

Lastly, because all games require different configurations, I usually create a "mystart.bat" file for each game and in that one I set the CPU frequency and cache for the game, but also the volume settings for that game, which previously I did via ESSVOL.exe and the parameters. Now the orpheus doesnt seem to have this, and you also cant seem to give volume paramters to the orphinit.exe. But from how I understand it, I can just create a custom ini for each game, and then write the custom .ini as parameter for the orphinit.exe in the "mystart.bat" I create for the game.

Like:

setmul 6 l1dx
C:\drivers\oprheus\orphinit.exe /f:C:\drivers\oprheus\KRONDOR.INI
kron.exe

It's a bit tedious but it does work. But if there is a simpler way, let me know.

What I did not try yet is Windows and locking sound mixers for games like Lands of Lore who like to screw with the mixer themselves.