Reply 20 of 71, by PhilsComputerLab
- Rank
- l33t++
never saw before a 1320C without the volume potentiometer, the upper one just has a fixed resistance, there are single resistors instead of arrays... must be a late model or something where they just used cheaper options
wrote:never saw before a 1320C without the volume potentiometer, the upper one just has a fixed resistance, there are single resistors instead of arrays... must be a late model or something where they just used cheaper options
🤣 no that was another mod of mine 😀
The pot was faulty and I found it too hard to find a replacement. So I just put in resistors to set it permanently to 50% volume. Works great 😀
heh! fooled me 😁
I'll test with my real CMS tonight with POP 1.0 as a point of comparison.
wrote:I'll test with my real CMS tonight with POP 1.0 as a point of comparison.
Thank you that would help a lot! If you could record it as well that would be awesome.
Ok so something must be off. So I thought what could it be that could cause a timing issue. Tried BIOS options but no luck. Then I removed the HDD and just bootet from the Floppy with the game on it. It seems to work fine. There are bits were the music seems to hang but here the game loads from the floppy. Attached another recording for comparison.
Later this afternoon I might test this in my time machine and a 486 board with onboard IDE. Very strange. Could be the IDE controller or maybe the micro drive, but the game doesn't load at that point anymore. Very odd.
wrote:Thank you that would help a lot! If you could record it as well that would be awesome.
Turns out, it sounds like crap on a real CMS board on a real 386-16, with and without a memory manager loaded. I think the support in the game is buggy. It sounds like misfired timer interrupts.
So, Phil's hardware is not to blame for this one.
For the record, this is what I recorded from:
wrote:Turns out, it sounds like crap on a real CMS board on a real 386-16, with and without a memory manager loaded. I think the support in the game is buggy. It sounds like misfired timer interrupts.
So, Phil's hardware is not to blame for this one.
YES! It's not just me 🤣
I found a possible fix: Removing the hard drive and booting and loading the game from a floppy drive. Very odd indeed. I will try a 486 and a Pentium system this afternoon to see if it makes a difference.
maybe that's why the CMS support was canned in later versions of the game, it was buggy
Not having much luck with the 486 and Pentium. Maybe it's somewhat speed related?
I will try a 25 MHz 386 DX.
EDIT: No luck
On 386 machines loading from Floppy with no hard drive seems to get it working but it still doesn't sound 100% right. Some weird timing issue. The music sounds as if it doesn't have a timer to play to.
I give up. I failed 😒 😢
If it helps I tried my SB 2.0 with CMS chips on the 286 12 & 8mhz (turbo off) with and without memory managers [run from floppy disk] and still sounds exactly like yours from the floppy.
Interestingly at the 37second mark where you have a hanging note (from POP patched EXE from Floppy.ogg), mine plays the final note for about 3 seconds and then reads from the floppy and loads the cut scene. Yours hangs for a while 17 seconds or so. Not sure if thats just the recording
I'm assuming you have turned off turbo on the 386 to see if it helps (although judging by the 286 results, it won't do much better).
I could swap the chips into my 1.5 but I don't think it'll make much difference. I'm wondering if there's someone that wants to try this on an XT 8mhz and probably 4.77 as well?
wrote:I give up. I failed 😒 😢
You didn't fail if the CMS support doesn't work on every system! It's clearly broken in the program itself. Windwalker is the same way with Adlib -- the developers were an early Adlib adopter and published the game before the Adlib people clarified you had to wait a certain amount of time between every command/data send. As a result, the Adlib music plays fine on slow systems but bugs out on faster systems.
Play Times of Lore with CMS enabled, it is mono but some of the nicest layered music I've heard from a CMS. You'll feel better.
I can reproduce the messed up CMS music in DOSBox by booting real DOS, depending on cycles. It sounds mostly OK at 1000 cycles, breaks up a bit at the default 3000 cycles, and gets progressively worse as cycles increase.
A major influence on the uneven music playing appears to be polling for keystrokes with the DOS direct console input function, which has a fair amount of code overhead associated with it (several hundred instructions executed just to report no keystroke is available). DOSBox's emulation of DOS is mostly unaffected because there is very little code overhead with the function being handled internally.
I made a workaround program that replaces the DOS function call with BIOS functions. In DOSBox with booted MS-DOS 5 the workaround keeps the music playing smooth as cycles increase, but some notes still get iffy when cycles are pushed too high. Run the program instead of PRINCE.EXE to start the game (e.g. "popkb gblast"). It hasn't been tested on real systems yet, so no guarantees.
wrote:I can reproduce the messed up CMS music in DOSBox by booting real DOS, depending on cycles. It sounds mostly OK at 1000 cycles, breaks up a bit at the default 3000 cycles, and gets progressively worse as cycles increase.
A major influence on the uneven music playing appears to be polling for keystrokes with the DOS direct console input function, which has a fair amount of code overhead associated with it (several hundred instructions executed just to report no keystroke is available). DOSBox's emulation of DOS is mostly unaffected because there is very little code overhead with the function being handled internally.
I made a workaround program that replaces the DOS function call with BIOS functions. In DOSBox with booted MS-DOS 5 the workaround keeps the music playing smooth as cycles increase, but some notes still get iffy when cycles are pushed too high. Run the program instead of PRINCE.EXE to start the game (e.g. "popkb gblast"). It hasn't been tested on real systems yet, so no guarantees.
I had a similar experience with my SB1.5 and my Tandy 1000 TX and MS-DOS 6.22. I think the TX would probably come in just under 1,000 DOSBox cycles. The music would struggle a little but it would be mostly OK. However, I would think that the slower systems would have more trouble with a more wasteful keyboard polling function than a faster system.
On my Tandy TX, your program skips the introduction scenes entirely. It shows Loading and then jumps straight to level 1. It also plays the Adlib music tunes even with the gblast argument and keyboard input seems completely disabled, only joystick movement and buttons work.
http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog
wrote:The bootdisk I used has a different DOS (Candela I believe) on it.
Caldera?
wrote:On my Tandy TX, your program skips the introduction scenes entirely. It shows Loading and then jumps straight to level 1. It also plays the Adlib music tunes even with the gblast argument and keyboard input seems completely disabled, only joystick movement and buttons work.
FYI, the program uses BIOS functions for enhanced keyboards, which your TX may lack, and the program is intended for helping with the issue on faster systems in any case. You still have to directly patch the executable to disable OPL detection, as the program does not do anything about that.
wrote:I think the TX would probably come in just under 1,000 DOSBox cycles.
According to TOPBENCH, it's more like 700.
wrote:wrote:I think the TX would probably come in just under 1,000 DOSBox cycles.
According to TOPBENCH, it's more like 700.
The fact that I don't see more use of TOPBENCH in DOSBox circles is dismaying. 🙁
"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen
Stiletto
wrote:wrote:On my Tandy TX, your program skips the introduction scenes entirely. It shows Loading and then jumps straight to level 1. It also plays the Adlib music tunes even with the gblast argument and keyboard input seems completely disabled, only joystick movement and buttons work.
FYI, the program uses BIOS functions for enhanced keyboards, which your TX may lack, and the program is intended for helping with the issue on faster systems in any case. You still have to directly patch the executable to disable OPL detection, as the program does not do anything about that.
The TX lacks the BIOS functions for Enhanced Keyboards, but the TL has most of them.I forgot to patch the program to remove the OPL detection.
http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog