Hi, guys! I've soldered OPL2LPT device for using with my P4 (which has an LPT port, but doesn't have any ISA slots). I'm trying to play the Monkey Island and LOOM with it, but it fails. Actually it works, but the melodies it plays in these games are terrible. The test goes fine. I'm using QEMM. EMM386 doesn't works properly on this MB (or with my RAM amount). Has anybody started this device with the games I'm talking about?

Hi! I also ordered an OPL2LPT and soldered it together. The board is connected to the printer port of my old Pentium box (an Asus TX97 motherboard and AMD-K6 233Mhz) running MS-DOS 7.1 with EMM386. The test program opl2test.exe works, a melody is played. Adlipt.exe also reports a successful installation, but running Doom setup and setting music to Adlib does not work, the board stays silent when starting the game. What could be the cause for this? I have not tested patching Doom, as I like to maintain compatibility with other sound sources.

@norduk I tried Loom (EGA version) and it works for me on a 233MHz Pentium, but I checked the code and the Adlib timing looks like it might be dodgy on sufficiently fast computers. You'd probably have the same problems with a real Adlib card.If you could get EMM386 working, that might help. With EMM386 the TSR uses a different emulation strategy that's more resilient against this kind of thing.

derSammler wrote:DOOM runs in protected mode. Protected mode games must be patched to work with OPL2LPT.

Ok, thanks! I tried patching DOOM but did not get any sound from the device apart from occasional scrathing noise. Anyway, using Adlipt TSR I managed to get sound out of Lemmings, so the device seems to work. The sound quality remains a bit noisy, but I have to do some more testing. Could be some interference from fans or PSU. Anyway, a fun device and a fun project to build.

I think Epic Pinball is kinda like Pinball Fantasies with the adlib support in that it has digital sound instead of FM synth.Does any of these game work with the OPL2LPT driver currently?If so which of them?

I think Epic Pinball is kinda like Pinball Fantasies with the adlib support in that it has digital sound instead of FM synth.Does any of these game work with the OPL2LPT driver currently?If so which of them?

Epic Pinball does not support Adlib, it supports Sound Blaster, Pro Audio Spectrum and Gravis Ultrasound, all of which have real digital processing hardware. It also supports PC Speaker, but the sounds output from that are basic "beeps and boops."

Anything on that list that requires some kind of 32-bit DOS Extender will not work. I wouldn't bet on Raptor working, it is extremely picky about the DOS environment it expects.

Almost all real-mode games work well. The only exceptions are the rare games which try to use the AdLib to play sampled audio: these seem to work on some computers and not on others. YMMV. Pinball Fantasies is one of these. Flashback might be as well -- I'm not sure if the sound effects are samples or just clever AdLib effects.

Protected mode games don't work with the TSR. A few can be patched using ADPATCH. Currently these are Doom & other games using the Doom egine, Raptor and some 32-bit Sierra adventures. I will try to expand this list. I've done some initial work on the Miles Sound System, when that's working a lot of popular mid-90s games should be patchable.

The list is mostly of games I have tested the last year on my 486 laptop without a soundcard that I have not seen confirmed working with opl2lpt until now.The list may be a little strange, but my computer is very limited: only 25mhz and 4mb of ram. Raptor runs really well on it for example, but of course only limited to pc speaker sound.

Interesting info on Flashback. I don't know about how the Adlib works in that game, but I do know that it supports digital sound effects with the PC Speaker option. Wouldn't the Adlib music in Flashback conflict with digital sounds coming from Adlib at the same time? Granted now that I think about it Flashback does not have much music in gameplay and definately not constant music.

Artigkar wrote:Wouldn't the Adlib music in Flashback conflict with digital sounds coming from Adlib at the same time?

Not necessarily. You only need 1 channel to play back samples, so that leaves 8 channels for music.So you just need to compose your music in a way that one channel is never used, so it is reserved for samples. And your replay routine needs to be designed in a way that you always have a steady replay rate for the sample channel, and update the other channels in between, so the two do not interfere.Similar techniques are also used on C64 often, with the SID playing samples and music at the same time, or the Tandy music from Rob Hubbard for Kings of the Beach, Ski or Die, 668 Attack Sub and One on One.

Megadisk: In case your system does have a 386:You'll get best performance with EMM386, but you'll need one of the last releases. Maybe try taking the EMM386.EXE from MS-DOS 6.2 and see if that works on your system. (Did DOS 3.30 already include HIMEM.SYS?)If that doesn't work, try JemmEx (http://www.ibiblio.org/pub/micro/pc-stu ... /jemm.html) or QEMM. These will be much slower, though.

pdw wrote:@norduk I tried Loom (EGA version) and it works for me on a 233MHz Pentium, but I checked the code and the Adlib timing looks like it might be dodgy on sufficiently fast computers. You'd probably have the same problems with a real Adlib card.If you could get EMM386 working, that might help. With EMM386 the TSR uses a different emulation strategy that's more resilient against this kind of thing.

Your great adlipt utility only uses its own delay code when emm386 mode with patching is used.I encountered same problem on Athlon-based thin client PC with Ultima 6 and with this intro http://www.pouet.net/prod.php?which=5487If you add a command-line option to force delay subroutines in non-emm386 implementations, (possibly if another write attempt is made without sufficient number of status reads,) those games will work even without patching enabled.BTW, I discovered that to cheat crappy Adlib detection in a vast majority of games, it is enough to return any small non-zero constant (< 0x20 or < 0x80?) when status is read without doing anything else, such as timer emulation.Update. I was wrong about this working with _many_ games. Not so many after all.

- The "patching" optimization/hack now also works with QEMM and JEMM. Previously it only worked with EMM386.(@noop: this should solve your problem without new command line switches )

- ADPATCH can now patch games that use the Miles Audio Interface Library. I've also added patches for a bunch of 8086/80286 games. See the list of tested games here I've also written an article that describes how I create ADPATCH patches.

- The "patching" optimization/hack now also works with QEMM and JEMM. Previously it only worked with EMM386.(@noop: this should solve your problem without new command line switches )

- ADPATCH can now patch games that use the Miles Audio Interface Library. I've also added patches for a bunch of 8086/80286 games. See the list of tested games here I've also written an article that describes how I create ADPATCH patches.