Opened 11 years ago

Last modified 7 years ago

#3494 new defect

ZAK: PCJR/Tandy emulation differs from actual Tandy 1000

Reported by: SF/cowclops Owned by:
Priority: low Component: Engine: SCUMM
Keywords: Cc:
Game: Zak McKracken

Description

In games that support Tandy sound, certain notes (particularly the low bass line in Zak McKracken and the plinky opening in Maniac Mansion) have different timbre than they sound like on the real hardware. For example, on the real Tandy, the climbing bass line is clearly the same synth note, it just increases in pitch. In ScummVM, the initial, lowest note sounds strange and then as it hits the next pitch it changes back to sounding the same as the real Tandy.

Since a picture is worth a thousand words, I'd say a sound file should be worth just as many, so I'll just post the comparison recordings. In the recording, it goes scummvm->tandy so the first recording is the weird sound, and the second of each recording is the original hardware. You'll see what I mean.

Ticket imported from: #1847518. Ticket imported from: bugs/3494.

Attachments (2)

zakscumm.mp3 (216.0 KB) - added by SF/cowclops 11 years ago.
1. Zak on scummvm 2. Zak on Tandy 1000
maniacscumm.mp3 (105.5 KB) - added by SF/cowclops 11 years ago.
1. Maniac Mansion on ScummVM 2. Maniac Mansion on Tandy 1000

Download all attachments as: .zip

Change History (8)

Changed 11 years ago by SF/cowclops

Attachment: zakscumm.mp3 added
  1. Zak on scummvm 2. Zak on Tandy 1000

Changed 11 years ago by SF/cowclops

Attachment: maniacscumm.mp3 added
  1. Maniac Mansion on ScummVM 2. Maniac Mansion on Tandy 1000

comment:1 Changed 11 years ago by SF/cowclops

File Added: maniacscumm.mp3

comment:2 Changed 11 years ago by Kirben

Could this be related to the added filter for PCjr emulation? see the discussion at earlier feature request at http://sourceforge.net/tracker/index.php?func=detail&aid=1158455&group_id=37116&atid=418823

comment:3 Changed 11 years ago by SF/cowclops

No. A low pass filter would decrease high frequency output (relative to wide band operation) and thus make it muffled, but this is involving only the lowest notes of a certain wave form. I've noticed the problem since back when there was too much of a low pass filter, and decreasing it didn't fix it. (Just made it less muffled sounding, which affects ALL of the notes).

I have no idea what would cause the synthesis to go wacky on certain notes though, since if you can produce the correct wave form at frequency F, you should be able to produce the correct waveform at, say, F / 2 or anything you want.

comment:4 Changed 11 years ago by fingolfin

Priority: normallow
Summary: ScummVM PCJR/Tandy audio differs from actual Tandy 1000AUDIO: PCJR/Tandy emulation differs from actual Tandy 1000

comment:5 Changed 7 years ago by lordhoto

I touched this code in disasm a few weeks ago and noticed that at least my MI 1 EGA version uses some other tables for (PC Speaker/)PCjr related things than we have in our code. I don't know whether this might be related to this, but someone with Zak might want to check into its PCJr sound driver implementation and compare it against ours to see whether they are any differences.

comment:6 Changed 7 years ago by lordhoto

Summary: AUDIO: PCJR/Tandy emulation differs from actual Tandy 1000ZAK: PCJR/Tandy emulation differs from actual Tandy 1000
Note: See TracTickets for help on using tickets.