There's a very interesting difference: track #8, when the game requests its length in MSF format, returns 0x2004 from DxWnd emulation or 0xc2004 from MagicDisk. Now, the 0xc0000 difference in MSF format could be (if I'm not wrong) a difference of 0xC frames at the end of a track of 0x4 minutes and 0x20 seconds, and could be the difference that triggers the copy protection or, better, the CD check that decides if the game can play a genuine track of its own.
I'm going to modify the mcihack.txt file format to add the possibility to set custom values for MSF formats (DxWnd always ignores the frame number, it rounds all track lengths to an integer number of seconds) and see.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This game drives me crazy. When I think I found a clue, the hacked event no longer happens!
Anyway, if @huh can replicate its test with DxWnd and the different track length, here in attach there is the DxWnd release and mcihack.txt files that should fix the problem.
Please, let me know if worked. Here on my Win10 I'm about to put the game on fire!!
@Huh: I would need more details about what you got on your HD. The site you mentioned has both a CD image and a very compact RIP. The differences are substantial: while the full CD is supposed to require the launch of PITSTART.EXE and the hacking of PITFALL.EXE in the temporary folder with the complication of where to put the Music folder, the RIP is much simpler, it runs PITFALL.EXE without any copy operation (at least, so it seems) and the Music folder can be placed aside, but I'm not sure that this way the game could use the CD audio tracks.
Also, it could be interesting to get a registry dump of the key [HKEY_LOCAL_MACHINE\Software\Activision\Pitfall] in the MagicDisk configuration that plays CD tracks.
P.s. one important note: I got PITSTART.EXE to use CD track02, but this doesn't mean that the CD audio is enabled in the game. Did you get the player running also during the gameplay?
Before I answer the questions, I also have a question.
Speaking of mcihack.txt, I tried one mcitool experiment with the Music subfolder. mcihack.txt is in this Music folder.
The content of the file is
[msec]
track01=120401
track02=27227
track03=44867
etc.
mcitool is hooked on DxWnd and I have Virtual CD audio and Hack track frames turned on. Yet when I write a command:
open cdaudio
set cdaudio time format milliseconds
status cdaudio length track 2
I still get the same value as if mcihack.txt was not used at all.
Why? I'm doing something wrong?
I would need more details
I didn't mention any page in this thread, but if we both mean the same thing, I used the CD Image version. I have 2 profiles in DxWnd, one for PITSTART.EXE and the other for PITFALL.EXE, I can run PITFALL.EXE separately. However, this is probably not important. because I can run PITFALL.EXE separately also without DxWnd.
Did you get the player running also during the gameplay?
If I understand the question correctly, the music played in a game with a CD Image.
Here are the registry keys.
Now I'll try your package and let you know.
Update:
I forgot to mention that I copied the contents of the CD to a disc.
Your hack works, perfect. But I also had to add track 7.
track07=2164484
(210704)
Here is the picture.
I forgot to mention that sound effects don't work for me.
But I haven't replaced wail32.dll yet.
About mcihack and all things in general, I'm trying to revise the whole stuff.
The problem is that the Music folder is searched by dxwnd.dll (for mcihack.txt only) and the mciplayer (for the audio tracks) but each could be rooted to a different folder in case of multiple CD volumes, shared hook or changes of the working folder.
In a game like this, honestly it's impossible to follow all the intricacies.
I'm trying to add a flag that could fix the Music folder to a specific, chosen location so that you could be sure of what's going on.
I'll say more after I make my mind and write the coding ...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Following my previous post, the sound works after replacing wail32.dll (I don't know if it's necessary), but it's important to turn on the Compat.-Fake Version-Windows 95 flag.
My profile for those interested.
And guys i got pitfall working with PCEM...and mot using analog cable..all emualation on windows 98 worked....all enabled using digital audio ..but the problem is th gameport i couldnt get it to work....game running and no controller..thats not cool...ill try to figure that
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Great! I couldn't make it working at the moment on my Win10, but my files are such a mess!
Revising Huh's information, I have some doubts:
the game should be installed or simply copied from CD?
the double DxWnd entry for PITSTART and PITFALL is necessary?
Where the Music folder should be placed?
Is the CD audio working on Win7 or Win10 (or both)?
Maybe a resumed how-to could help. Also the output from the DIR /S shell command issued from the game folder. Of course, assuming that this game is not about to give us some other surprise ...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sorry dissapoint u..guys...but it only worked for Huh...not for me...cd music and cd ambient is still disabled....and how Huh can run this game playing cd music from a cd image...for me to fo that i need PCEM with windows 98..not windows 7 ..surely his pc motherboard has a feature my motherboard dont have..so it can do digital playback...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@gho
Okay, I'll try to revise everything I've done.
1) On o..-ga..s.r. there is a CD image. I mounted the image via DiskMagic in Win7.
2) There is no installer on this CD. I extracted the audio CD and converted it to ogg.
3) I copied the contents of the CD to my hard drive.
Here in Win7 you can run ASSETS\PITFALL.EXE separately.
4) The Music folder with ogg files is located in the Gamepath\ASSETS\
I used the experimental version of DxWnd dxwnd.2.05.72.pithack.rar. I have a mcihack.txt file in the Music folder.
The content of the file is this
5) Because the sound didn't work for me, I replaced wail32.dll with the file that dippy dipper mentioned from here https://www.vogons.org/download/file.php?id=10692
I had to set the Compat.-Fake Version-Windows 95 flag to make it work, but everything is listed in my profile that I posted. I have the CD Image unmounted.
I hope I didn't forget anything, it worked in Win7. There may be problems with Win10, but I can't try it now (Tuesday at the earliest).
Here is a list of folders and files.
Thank you, directions are now very clear.
I tried to follow them on Win10, with my files that, apart the mp3 audio format instead of .ogg, should be identical.
Unfortunately, something on Win10 goes wrong. the CD configuration flags and volume slider are still locked and the game makes no attempts to issue the mciSendCommand calls that should enable/disable the CD music.
This fact puzzles me a lot, also because these CD checks sometimes happen and sometimes don't, but I could not understand why.
Also I noticed some strange log events: the Windows version check is performed 3 times, as if my answer wouldn't please it. May you post here a log file with a short gaming session with CD audio playing during the adventure?
Finally, I noticed a flaw in the configuration (my fault, I suppose): the fake registry key should not include the "Wow6432Node" folder, but changing this value leads to a game termination because "The game should be run from the CD".... ach!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sure, here's the protocol. It occurred to me that here in Win7, the game doesn't use an MS shim database, and it should be the same in Win10 (but my database from Win10 is old, I need to get a newer). I don't understand why it doesn't work for you, maybe is flag
Compat.-Fake Version-Windows 95 ignored in W10?
OMG! I made it!!!
I used a somehow quite different way, and I still have to recap my path that also involves an extra DxWnd flag to keep the audio files in a known path, and in addition this post https://www.gog.com/forum/earthworm_jim_series/earthworm_jim_windows_95_special_edition_fixes_for_modern_windows where there's a link to the missing dispdib.dll (maybe necessary, I still don't know ...) plus a few things that I still don't understand .... but it works (or, at least, I suppose it works and I'll know for sure when my wife will stop using the vacuum cleaner!!!).
Some recap and new stuff in a while.
Great, congratulations!
In my opinion, dispdib.dll is not vital to this game. It is a 16bit library, so it does not matter whether it is present or not on a 64bit system. It works for me with or without it.
I see one difference. In my case I can't have the "CD Music" and "Ambient Sounds CD" enabled together as seen on your picture. I can have one or the other. When I enable the CD Music , track 5 is played. When I enable the Ambient Sounds CD, track 4 is played.
you cant enable those together at all not even on Win95
its explained ...cd music has thr music..
cd ambient ate the sounds of the forest ...and sound of nature only ..noy music ..those are 3 tracks that do nature sounds
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
one more thing guys how u make the cd music work on ogg ..i got the files in the musix folder and it dont play nothing does dxwind need another extra files to make music play...ehen i see the thr virtual audio screen it only shows me a Stop only and it dont play nothing...how u configure to play music?
Last edit: gho 2021-06-27
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Regarding this game, ogg files must be in the Music subfolder. This subfolder is located in the folder that contains the PITFALL.EXE file. ogg files must be named as in the DxWnd help (Tutorials: Virtual CD Audio - Preparing DxWnd cd audio emulator environment).
Music subfolder must also contain mcihack.txt with the content I posted. It is also necessary to enable flags Virtual CD audio + Hack track frames and use the published version of DxWnd dxwnd.2.05.72.pithack.rar. Due to the differences between Win7 and Win10, I recommend waiting until the gho complete its work and announce the exact procedure for W10.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
the winmm.dll proxy is an alternative way to play CD audio when you're not interested in other features offered by DxWnd. In this case it may work, but who knows?
The instructions for Win10 could be identical to these for win7, but the fake registry should not have the Wow6432node folder in the key path because that is added automatically by Win10, the game is not setting it.
But I'm not posting instructions right now because I want to finish (and release) the final v2.05.72 with the added flag for "Set CD audio path", a flag that tells the program that the Music files are in a specific folder rather than in the hooked program folder as it is now.
Reasons for this flag are many (though maybe Pitfall doesn't need it):
1) targets on a non writable device like a CD
2) shared hook with many targets on different folders but all sharing the same CD music
3) target created on the fly on a temporary and random folder whose name is unknown.
The work is almost done, what needs more time is some testing and documentation on the help pages (just in case anybody inadvertently reads them ...). Please, be patient.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just before going to bed, here a preview of the next release. It was rebuilt from clean and tested with the Pitfall configuration included. It is important to update ALL three files over the last v2.05.71 because some change requires also the new dxwplay.dll
If anyone wants to make experiments with the new "I/O / Set CD audio path" flag, this flag tells that the Music folder (with all its content, audio tracks and mcihack.txt file) is located under the folder of the fake CD, so when the flag is set the fake CD path must not be void. Note: it is not necessary that the fake CD is enabled and associated to a drive letter: the CD audio path is used also when the fake CD is not used. Well, I know it sounds a little confusing, maybe I'll make some examples later.
Beware: the solution could be temporary, because it has a little problem: you can't use the ? wildcard in the CD path when setting the CD audio tracks. Sooner or later I'll fix also this, maybe.
Goodnight.
My bad thebonewho got the tracks wromg is me...u got it right guys..ingot those mp3 from some brazilian guys and they mess it up yhe order of songs. the only way to fix it ..is extracting songs from The Cd ..imcon that now with the app u show on ur help files..
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There's a very interesting difference: track #8, when the game requests its length in MSF format, returns 0x2004 from DxWnd emulation or 0xc2004 from MagicDisk. Now, the 0xc0000 difference in MSF format could be (if I'm not wrong) a difference of 0xC frames at the end of a track of 0x4 minutes and 0x20 seconds, and could be the difference that triggers the copy protection or, better, the CD check that decides if the game can play a genuine track of its own.
I'm going to modify the mcihack.txt file format to add the possibility to set custom values for MSF formats (DxWnd always ignores the frame number, it rounds all track lengths to an integer number of seconds) and see.
This game drives me crazy. When I think I found a clue, the hacked event no longer happens!
Anyway, if @huh can replicate its test with DxWnd and the different track length, here in attach there is the DxWnd release and mcihack.txt files that should fix the problem.
Please, let me know if worked. Here on my Win10 I'm about to put the game on fire!!
@Huh: I would need more details about what you got on your HD. The site you mentioned has both a CD image and a very compact RIP. The differences are substantial: while the full CD is supposed to require the launch of PITSTART.EXE and the hacking of PITFALL.EXE in the temporary folder with the complication of where to put the Music folder, the RIP is much simpler, it runs PITFALL.EXE without any copy operation (at least, so it seems) and the Music folder can be placed aside, but I'm not sure that this way the game could use the CD audio tracks.
Also, it could be interesting to get a registry dump of the key [HKEY_LOCAL_MACHINE\Software\Activision\Pitfall] in the MagicDisk configuration that plays CD tracks.
P.s. one important note: I got PITSTART.EXE to use CD track02, but this doesn't mean that the CD audio is enabled in the game. Did you get the player running also during the gameplay?
Before I answer the questions, I also have a question.
Speaking of mcihack.txt, I tried one mcitool experiment with the Music subfolder. mcihack.txt is in this Music folder.
The content of the file is
[msec]
track01=120401
track02=27227
track03=44867
etc.
mcitool is hooked on DxWnd and I have Virtual CD audio and Hack track frames turned on. Yet when I write a command:
open cdaudio
set cdaudio time format milliseconds
status cdaudio length track 2
I still get the same value as if mcihack.txt was not used at all.
Why? I'm doing something wrong?
I didn't mention any page in this thread, but if we both mean the same thing, I used the CD Image version. I have 2 profiles in DxWnd, one for PITSTART.EXE and the other for PITFALL.EXE, I can run PITFALL.EXE separately. However, this is probably not important. because I can run PITFALL.EXE separately also without DxWnd.
If I understand the question correctly, the music played in a game with a CD Image.
Here are the registry keys.
Now I'll try your package and let you know.
Update:
I forgot to mention that I copied the contents of the CD to a disc.
Your hack works, perfect. But I also had to add track 7.
track07=2164484
(210704)
Here is the picture.
I forgot to mention that sound effects don't work for me.
But I haven't replaced wail32.dll yet.
Last edit: huh 2021-06-26
About mcihack and all things in general, I'm trying to revise the whole stuff.
The problem is that the Music folder is searched by dxwnd.dll (for mcihack.txt only) and the mciplayer (for the audio tracks) but each could be rooted to a different folder in case of multiple CD volumes, shared hook or changes of the working folder.
In a game like this, honestly it's impossible to follow all the intricacies.
I'm trying to add a flag that could fix the Music folder to a specific, chosen location so that you could be sure of what's going on.
I'll say more after I make my mind and write the coding ...
Following my previous post, the sound works after replacing wail32.dll (I don't know if it's necessary), but it's important to turn on the Compat.-Fake Version-Windows 95 flag.
My profile for those interested.
Last edit: huh 2021-06-26
And guys i got pitfall working with PCEM...and mot using analog cable..all emualation on windows 98 worked....all enabled using digital audio ..but the problem is th gameport i couldnt get it to work....game running and no controller..thats not cool...ill try to figure that
damn u got it working i see...great work ...so i dont have to use win98 no more
Great! I couldn't make it working at the moment on my Win10, but my files are such a mess!
Revising Huh's information, I have some doubts:
Maybe a resumed how-to could help. Also the output from the
DIR /S
shell command issued from the game folder. Of course, assuming that this game is not about to give us some other surprise ...Sorry dissapoint u..guys...but it only worked for Huh...not for me...cd music and cd ambient is still disabled....and how Huh can run this game playing cd music from a cd image...for me to fo that i need PCEM with windows 98..not windows 7 ..surely his pc motherboard has a feature my motherboard dont have..so it can do digital playback...
@gho
Okay, I'll try to revise everything I've done.
1) On o..-ga..s.r. there is a CD image. I mounted the image via DiskMagic in Win7.
2) There is no installer on this CD. I extracted the audio CD and converted it to ogg.
3) I copied the contents of the CD to my hard drive.
Here in Win7 you can run ASSETS\PITFALL.EXE separately.
4) The Music folder with ogg files is located in the Gamepath\ASSETS\
I used the experimental version of DxWnd dxwnd.2.05.72.pithack.rar. I have a mcihack.txt file in the Music folder.
The content of the file is this
[msf]
track07=2164484
track08=794628
; 0xc2004 = 794628
5) Because the sound didn't work for me, I replaced wail32.dll with the file that dippy dipper mentioned from here https://www.vogons.org/download/file.php?id=10692
I had to set the Compat.-Fake Version-Windows 95 flag to make it work, but everything is listed in my profile that I posted. I have the CD Image unmounted.
I hope I didn't forget anything, it worked in Win7. There may be problems with Win10, but I can't try it now (Tuesday at the earliest).
Here is a list of folders and files.
Thank you, directions are now very clear.
I tried to follow them on Win10, with my files that, apart the mp3 audio format instead of .ogg, should be identical.
Unfortunately, something on Win10 goes wrong. the CD configuration flags and volume slider are still locked and the game makes no attempts to issue the mciSendCommand calls that should enable/disable the CD music.
This fact puzzles me a lot, also because these CD checks sometimes happen and sometimes don't, but I could not understand why.
Also I noticed some strange log events: the Windows version check is performed 3 times, as if my answer wouldn't please it. May you post here a log file with a short gaming session with CD audio playing during the adventure?
Finally, I noticed a flaw in the configuration (my fault, I suppose): the fake registry key should not include the "Wow6432Node" folder, but changing this value leads to a game termination because "The game should be run from the CD".... ach!
Sure, here's the protocol. It occurred to me that here in Win7, the game doesn't use an MS shim database, and it should be the same in Win10 (but my database from Win10 is old, I need to get a newer). I don't understand why it doesn't work for you, maybe is flag
Compat.-Fake Version-Windows 95 ignored in W10?
Last edit: huh 2021-06-27
OMG! I made it!!!
I used a somehow quite different way, and I still have to recap my path that also involves an extra DxWnd flag to keep the audio files in a known path, and in addition this post https://www.gog.com/forum/earthworm_jim_series/earthworm_jim_windows_95_special_edition_fixes_for_modern_windows where there's a link to the missing dispdib.dll (maybe necessary, I still don't know ...) plus a few things that I still don't understand .... but it works (or, at least, I suppose it works and I'll know for sure when my wife will stop using the vacuum cleaner!!!).
Some recap and new stuff in a while.
Great, congratulations!
In my opinion, dispdib.dll is not vital to this game. It is a 16bit library, so it does not matter whether it is present or not on a 64bit system. It works for me with or without it.
I see one difference. In my case I can't have the "CD Music" and "Ambient Sounds CD" enabled together as seen on your picture. I can have one or the other. When I enable the CD Music , track 5 is played. When I enable the Ambient Sounds CD, track 4 is played.
Last edit: huh 2021-06-27
you cant enable those together at all not even on Win95
its explained ...cd music has thr music..
cd ambient ate the sounds of the forest ...and sound of nature only ..noy music ..those are 3 tracks that do nature sounds
one more thing guys how u make the cd music work on ogg ..i got the files in the musix folder and it dont play nothing does dxwind need another extra files to make music play...ehen i see the thr virtual audio screen it only shows me a Stop only and it dont play nothing...how u configure to play music?
Last edit: gho 2021-06-27
Regarding this game, ogg files must be in the Music subfolder. This subfolder is located in the folder that contains the PITFALL.EXE file. ogg files must be named as in the DxWnd help (Tutorials: Virtual CD Audio - Preparing DxWnd cd audio emulator environment).
Music subfolder must also contain mcihack.txt with the content I posted. It is also necessary to enable flags Virtual CD audio + Hack track frames and use the published version of DxWnd dxwnd.2.05.72.pithack.rar. Due to the differences between Win7 and Win10, I recommend waiting until the gho complete its work and announce the exact procedure for W10.
i guesd i wait for him..how about wimm.dll is not needed for playing ogg to cd?
the winmm.dll proxy is an alternative way to play CD audio when you're not interested in other features offered by DxWnd. In this case it may work, but who knows?
The instructions for Win10 could be identical to these for win7, but the fake registry should not have the Wow6432node folder in the key path because that is added automatically by Win10, the game is not setting it.
But I'm not posting instructions right now because I want to finish (and release) the final v2.05.72 with the added flag for "Set CD audio path", a flag that tells the program that the Music files are in a specific folder rather than in the hooked program folder as it is now.
Reasons for this flag are many (though maybe Pitfall doesn't need it):
1) targets on a non writable device like a CD
2) shared hook with many targets on different folders but all sharing the same CD music
3) target created on the fly on a temporary and random folder whose name is unknown.
The work is almost done, what needs more time is some testing and documentation on the help pages (just in case anybody inadvertently reads them ...). Please, be patient.
Great work boss .I wait for ur release
Just before going to bed, here a preview of the next release. It was rebuilt from clean and tested with the Pitfall configuration included. It is important to update ALL three files over the last v2.05.71 because some change requires also the new dxwplay.dll
If anyone wants to make experiments with the new "I/O / Set CD audio path" flag, this flag tells that the Music folder (with all its content, audio tracks and mcihack.txt file) is located under the folder of the fake CD, so when the flag is set the fake CD path must not be void. Note: it is not necessary that the fake CD is enabled and associated to a drive letter: the CD audio path is used also when the fake CD is not used. Well, I know it sounds a little confusing, maybe I'll make some examples later.
Beware: the solution could be temporary, because it has a little problem: you can't use the ? wildcard in the CD path when setting the CD audio tracks. Sooner or later I'll fix also this, maybe.
Goodnight.
Good Night Gho..i appreciate ur work!!
Damn.....Omg.....i got i working hahaha
Ur Amazing guys it really works but one thing..tracks are wrong
My bad thebonewho got the tracks wromg is me...u got it right guys..ingot those mp3 from some brazilian guys and they mess it up yhe order of songs. the only way to fix it ..is extracting songs from The Cd ..imcon that now with the app u show on ur help files..
Here proof that i got it working