barotto / IBMulator

The IBM PS/1 emulator.
https://barotto.github.io/IBMulator
GNU General Public License v3.0
112 stars 4 forks source link

The Incredible Machine game PS/1 audiocard sound bug #60

Open Fenix770 opened 3 years ago

Fenix770 commented 3 years ago

Hello! I recently tested the DOS games The Incredible Machine and Even More The Incredible machine. The first was released by Dynamix. The setup utility only shows the compatible sound options, the PS/1 option does not appaer The Even More TIM is a re-release of the game, made by Sierra, with more levels and a different setup program.

The Dynamix version seems not to detect the PS/1 audio card. The Sierra version detects the sound card correctly at setup for music and sound.

But after starting the game the first demo screen only reproduces music and no sound.

The are two possibilities at this point:

  1. If enter key is pressed on the uncracked version it goes to the code screen and has music, but there is no sound/music during the game after entering the game code.
  2. If no key is pressed the second demo screen appears and the are is no music or sound.

I tested the game on PS/1 2121, because the 286 CPU is too slow Here is the hard disk image: HDD2121.zip

The C:\TEMIM folder has the cracked Sierra version, no code is required. The C:\dynamix folder cointains the first version uncracked. The C:\sierra folder containes the Sierra version uncracked.

Other games such as Prince of Persia and Carmen San Diego Deluxe works fine with the PS/1 audio card for music and sound.

barotto commented 3 years ago

Hi, thank you for testing the program and giving feedback.

Did you test TIM and EMTIM on other emulators with the PS/1 audio card support as well? Does music work on them?

There are games with official PS/1 audio support that in reality have various level of support (or lack of). I've tested almost all of them (here's the list) and found out that:

  1. some have only sound salmples or only PSG music
  2. some use the PSG for sound effects (aces over europe) while others use samples for music (disney titles)
  3. in some music works only on the 2011 but not on the 2121 (Prince of Persia and Joe Montana Football)
  4. sometimes support was added later and/or depends on a very specific version (a-10 tank killer and silpheed, probably others)

I know point 3 is not an emulator bug because I tested those 2 games on real hardware to confirm.

I didn't test TIM1 nor EMTIM, but I tested TIM2 (sierra) and confirmed that music in not present (but never tested on other emulators nor on real hardware.)

Thanks for the disk image, I'll see what I can find and report back.

barotto commented 3 years ago

Oh, if you know any other games that have PS/1 audio card support please suggest, I would like to complete my list of games :)

Fenix770 commented 3 years ago
  1. I tested the game with PCEM,86box and Dosbox Daum too. It has the same issue with all of them, but I found strange the behavior of the PS/1 music/sound, being the game has drivers for both sound and music.

  2. Several DOS Sierra games from the years 1991,92 and 93 has drivers for the PS/1 audio card. Sierra used very similar sound and video drivers for these games.

Some games to add to the list

  1. This game (EMTIM) has released in 1993. Sierra games of this period requires a 286/16 CPU as minimum and recommends a 386/25. So I don't think it will work properly on the 2011 model.

  2. Other interesting think about TIM 2 is the game was released in 1994. I tested the game on 86box emulator with a 386 SX/33, and it's too slow, to play the game at the proper speed at least a 486 SX/25 is required. This game supports PS/1 only as sound device. (I tested TIM 2 on DosBox Daum with PS/1 emulation an does not reproduce any sound either)

A. So I wonder if latter PS/1 models supported the PS/1 audio card (to my knowledge, only 2011 and 2121 supports the card). B. Or maybe the 2121 model was sold latter with a Cyrix 486 SLC or an IBM 486 SLC CPU. The Cyrix 486 SLC CPU is an upgrade for 386 SX motherboards. It is an enhanced 386 SX with 1kb of L1 cache memory and supports 486 instruction sets. The IBM is similar but less common, has 8kb of cache but was sold only for new IBM machines or as upgrades.

In that case TIM 2 can run properly on that configuration.

barotto commented 3 years ago

I checked on my 2121 (real hw) and I can confirm that:

(*) I didn't play that much though, maybe there are some music or sound fx later in the game?

So I wonder if latter PS/1 models supported the PS/1 audio card (to my knowledge, only 2011 and 2121 supports the card).

No, the only PS/1 models with the audio card connector were the 2011 and the 2121.

Or maybe the 2121 model was sold latter with a Cyrix 486 SLC or an IBM 486 SLC CPU.

AFAIK the 2121 came out only with the i386/16 (early models with a ROMDrive and no ISA slots) and the i386/20 (later models with no ROMDrive and 2 ISA slots).

Back in the early 90s we were much more forgiving about games performace, especially kids. What we consider now unplayable would have been normal back then. I finished Wing Commander and F-15 Strike Eagle II on my dad's 2011 286/10 playing at 2-3 FPS and had great fun with both.

Also consider that PS/1 audio card support by game publishers was inconsistent: some had great support, some just the bare minimum. My idea is that IBM had commercial contracts with Sierra and Disney to add support for the audio card, but then developers didn't test their games that well... or the bad commercial results of the PS/1 convinced the publishers to cut development efforts. For example SQ4 was released in 1991 by Sierra and had nice music and sound fx, while Aces Over Europe was released in 1993, again by Sierra, and had no music and the sound fx consisted in the 3 PSG channels used for guns and engine noises like they were 3 pc-speakers (horrific, the worst support ever).

The reason why some games play audio on the 2011 and not on the 2121 is that the game checks the machine model byte reported by the BIOS and if they find the 0xFC value then they use the PS/1 audio card. Unfortunately the 2121's BIOS reports 0xF8 and so those games won't work on that machine. Emulators usually report 0xFC when the PS/1 audio emulation is enabled and so games usually work regardless the CPU model emulated. IBMulator works with the original BIOS and so audio support can depend on the loaded BIOS.

Fenix770 commented 3 years ago

Hello!

So, it is a bug in the implementation of these games after all. Thanks for checking them!