exoscoriae / eXoDOS

eXoDOS
71 stars 3 forks source link

Prince of Persia (1990) #5390

Closed Python-Exoproject closed 1 month ago

Python-Exoproject commented 2 months ago

Ive given Prince of Persia a bit of love and added:

Hercules graphics choice IBM Music Feature Card choice Tandy choice

Please switch to Staging, use these files (Prince.zip) and add to any relevant Launchbox playlists

exoscoriae commented 1 month ago

omg... for a second I thought you re-opened that old ticket!

exoscoriae commented 1 month ago

added. looks great

parricc commented 1 month ago

Haven't tested this in Windows yet, but the IBM feature card option is not working in Linux.

interloper98 commented 1 month ago

Haven't tested this in Windows yet, but the IBM feature card option is not working in Linux.

Even though some online sources mention PoP supports 'IBM Music Feature Card', like here, I tested all the version (1.0, 1.1, 1.3, and 1.4) and those without SETUP.EXE don't play, and those with SETUP.EXE don't have IMFC drivers in the list.

Nerdly Pleasures also shows that PoP doesn't support the IMFC here: https://nerdlypleasures.blogspot.com/2012/04/

My guess is the 'IBM' and 'ibmg' setting in the driver list refers to the IBM PS/1 (game/audio) Option Card. Try this with PoP 1.3:

  1. Set your conf with sbtype = none and ps1audio = on.
  2. Run SETUP.EXE and select IBM PS/1 Audio for both sound and music.
  3. Launch the game, and it should sound similar to the Tandy audio.
parricc commented 1 month ago

Thanks, @interloper98. This is with a dosbox Staging 0.81.2 flatpak built using the org.freedesktop.Platform 24.08 runtime, and a filesystem=host finish-arg. Requested details are as follows:

options_linux.conf file, which gets called by most games:

[sdl]
usescancodes=false
fullscreen=false
fulldouble=false
windowresolution=2560x1920
[render]
aspect=true
[midi]
fluid.gain            = .2

Game conf file: dosbox_linux.conf.txt

Output from Staging: dosboxoutputlog.txt

Relevant run.bat section:

:IBM
CONFIG -set "mididevice=default"
CONFIG -set "sbtype=none"
cd prince11
cls
if %cheats%==no prince1 ibmg
if %cheats%==yes prince1 ibmg MEGAHIT
cd ..
goto quit
interloper98 commented 1 month ago

You're right @parricc - PoP doesn't seem to support IMFC at all :smile: I added some notes above. I think by 'ibmg', they actually mean IBM's audio/game Option Card on the PS/1. The 'g' in 'ibmg' mean the game card.

Python-Exoproject commented 1 month ago

damn, looks like I got the wrong IBM sound device and the default windows win32 midid driver gave a result and threw me. Glad once again Linux doenst do that and fails.

Sites like https://www.dosdays.co.uk/topics/Games/game_prince.php saying its Music Feature Card dont help either. Nerdly Pleasures confirms PS/1 though

Next question is how to get the PS/1 audio running, time to tinker again. Unless youve already had luck with that @interloper98 ?

interloper98 commented 1 month ago

Next question is how to get the PS/1 audio running, time to tinker again. Unless youve already had luck with that @interloper98 ?

Yup.

First, be sure you've got PoP version 1.3. This is the one with SETUP.EXE and lots of audio drivers available in the list.

Run SETUP.EXE and select the "IBM audio/game PS/1 Option Card" for both music and effects.

Then for this choice in run.bat, disable SB completely (sbtype none) and turn on the PS/1 audio device (ps1audio on) before launching.

At least I can confirm this works with PoP 1.3 (It'll sound very similar to Tandy audio).

It's worth a try with the 1.0 or 1.1 versions (where you pass ibmg on the command line); maybe it'll work there too.

interloper98 commented 1 month ago

After chatting with @Python-Exoproject , he discovered I was getting PC Speaker sound! Sorry for the false positive.

But now some better news - 1.1 is working with PS/1 audio (and using the SB for sound effects). I'm positive it's the PS/1 because I've disabled OPL and the PC Speaker:

https://github.com/user-attachments/assets/74d9ea37-e563-4616-af0b-5603fc871910

Conf:

[dosbox]
memsize = 1

[cpu]
cycles = 1500

[midi]
mpu401 = off
mididevice = none

[sblaster]
sbtype = sb1
oplmode = none

[speaker]
pcspeaker = off
tandy = off
ps1audio = on

[ipx]
ipx = off

[ethernet]
ne2000 = off

[voodoo]
voodoo = off

[mouse]
mouse_capture = nomouse
dos_mouse_driver = none
ps2_mouse_model = none

[autoexec]
mount c .
c:
prince ibmg
interloper98 commented 1 month ago

Edit - sadly, this is yet another false positive that @Python-Exoproject flagged. Turns out the game is using CMS, which I hadn't muted/tested (argh!). So at this point, I think I've tried every version and every possible way to test the PS/1 Audio Card, and I can't get it working. Would be very interesting to see if people on real hardware can get this working. Thanks again @Python-Exoproject , and also, sorry for the false positives :man_facepalming:

Python-Exoproject commented 1 month ago

Ok, with all this information ive now disabled the option for IBM and reuploaded a fixed zip and conf to the WIP. My sync decided it needs to verify the whole collection so eventually it should send upstream.

When ive confirmed with @parricc its synced ill close the ticket

parricc commented 1 month ago

Not sure how long the sync takes, but no new files have appeared for me on the Synology yet.

Python-Exoproject commented 1 month ago

As Boohyaka is away and I dont know when the synology access will be sorted here is the fix files for @exoscoriae to implement: Prince fix.zip

exoscoriae commented 1 month ago

i am so motherfucking sick of this game.