VOGONS


OPL2LPT

Topic actions

Reply 320 of 566, by Scali

User metadata
Rank l33t
Rank
l33t

You could also use two OPL2LPTs on a single LPT, by using an additional address line, I suppose. Using OPL3 on an LPT will be no different in that respect.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 321 of 566, by jaZz_KCS

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:

You could also use two OPL2LPTs on a single LPT, by using an additional address line, I suppose. Using OPL3 on an LPT will be no different in that respect.

True that, but I rather wait and see what dreamblaster is cooking up (maybe even right now as we post) in regards to OPL3LPT 😉

Reply 322 of 566, by noop

User metadata
Rank Member
Rank
Member
Scali wrote:
noop wrote:

Games will be able to measure port read latency properly and the rest will work the same.

Not really.
The first time you still pass through the virtualization layer, with extra overhead for the patching.

First time is not really important because a typical benchmark loop does not measure the latency of a single iteration. What is important is that the total latency for all iterations will be close to results for unpatched code.

Scali wrote:

Besides, how many games, if any, do even measure port latency at all?
It doesn't make sense.

It was said in this thread that some games appear to do DO EXACTLY THAT, possibly only measuring reads, not writes, and break when reads become tens or hundreds times faster compared to writes. This is why I initially said you are not paying attention.

pdw wrote:

What this experimental version does is to check which instruction caused the fault. If it's a read, it's patched out. This way we need to pay the cost of the fault only for the writes. We still need to ensure that we don't access the OPL2 chip too fast, so a delay is added to the write handling in the TSR.

I guess that programs with sample playback (IPLAY/GLX212/Pinball Dreams) try to measure the I/O timings (to calculate what sampling rate is feasible etc) and get completely confused by my shenanigans.

Reply 323 of 566, by Scali

User metadata
Rank l33t
Rank
l33t
noop wrote:

First time is not really important because a typical benchmark loop does not measure the latency of a single iteration. What is important is that the total latency for all iterations will be close to results for unpatched code.

Which depends on two things:
1) The additional overhead of the first patch (which is in the many thousands of cycles)
2) The number of iterations the code measures

So I'm not sure if your proposal makes much of a difference in practice. It is going to be very inaccurate in any case (the writes are still not going to be as fast as the code assumes they will).

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 324 of 566, by noop

User metadata
Rank Member
Rank
Member
Scali wrote:

So I'm not sure if your proposal makes much of a difference in practice. It is going to be very inaccurate in any case (the writes are still not going to be as fast as the code assumes they will).

I believe 1.5-2 x difference may actually be good enough to resolve the problem. Vs >10 x difference.

Reply 325 of 566, by Paralel

User metadata
Rank Member
Rank
Member
SteveC wrote:

Ooh I'll have to see if I can resurrect my 3d printer (not had a successful print in months - does filament 'go off'?) and print this case out!

Yeah, due to the chemistry of common filament material, it does indeed have a so-called "shelf life". In order to be usable as a filament material it has to have certain properties. Those same properties can cause it to go "weird" over time

Reply 326 of 566, by GrizzlyAdams

User metadata
Rank Newbie
Rank
Newbie

Hey folks, sorry for chipping in so late to the game.

The dual OPL2 support I added to Adlib Tracker II is a dirty hack (and very incomplete). It abuses the fact that most of the registers between OPL3 and OPL2 are the same. The registers that are different aren't handled specially by anything I did, so it is very possible for either/both OPL2s to get very confused. Think of it as a precursor to when there is an OPL3LPT 😉

With regard to not having more than one LPT port, my modestly beastly 486 (AMD 5x86) gaming / 3D design rig has three LPT ports. The real treat is being able to use the OPL2LPT or CVX4 with my HP thinclient which would otherwise have no sound driver in DOS (well, PC speaker works...) due to the crap codec it has.

On the 3D Printed case front, I've made several revisions to both the OPL2LPT and CVX4 cases. The CVX4 case could be made thinner, but only by sacrificing ease of fitment & how much protection it offers.
The latest revision of the OPL2LPT case now uses clamps on one edge, and two screws on the opposite.

Reply 327 of 566, by chartreuse

User metadata
Rank Newbie
Rank
Newbie
Malvineous wrote:

The parallel port always supported full duplex 8-bit output and 4-bit input from the start. Bi-directional mode and the later enhancements allowed data to come in on the original 8-bit output pins for increased performance, but even the basic port allowed 4-bit input and 8-bit output at the same time.

Yes, but I was referring specifically to the 'adapter' that he linked. That one puts the 4 button inputs directly onto D4-D7 with no pull-up/pull-downs. It's kind of an ugly hack adapter designed for a specific purpose, which IIRC was for a mag-stripe reader.

Also in regards to multiple parallel ports, it's quite easy to have a system with up to 3 parallel ports. Infact I just installed an extra Bi-dir parallel port card in my XT to bring it up to three adapters. Don't think I'll be buying an extra OPL2LPT to play around with that.

Reply 328 of 566, by jaZz_KCS

User metadata
Rank Oldbie
Rank
Oldbie

I was more thinking about vintage laptops when writing this, which seems to me the main target audience, not being able to do anything else if no soundcard is present. And with PCMCIA soundcards being pretty much not an option anymore for ppl who do not have one, as well as the fact that many 386s do not have PCMCIA at all, these products do cater first and foremost to vintage laptop owners. These machines, however, most certainly only have one parallel port.

Reply 330 of 566, by jaZz_KCS

User metadata
Rank Oldbie
Rank
Oldbie
derSammler wrote:
dreamblaster wrote:

Also he designed a 3d printable case for OPL2LPT : https://www.thingiverse.com/thing:2740939

case.jpg

Anyone here from Germany who can print me one?

Not gonna lie, I would also be extremely happy to get cases for both, the CVX4 and the OPL2LPT. Also residing in Germany.

Reply 331 of 566, by Solarstorm

User metadata
Rank Member
Rank
Member
dreamblaster wrote:
Some news from dkgrizzly : […]
Show full quote

Some news from dkgrizzly :

He patched adlib tracker to support OPL2LPT and 2xOPL2LPT ! :
https://github.com/dkgrizzly/at2lpt/releases/ … at2lpt-beta-001
AT2LPT Beta Build 001
Patched Adlib Tracker II to support OPL2LPT.
To specify a second OPL2LPT use config option adlib_dual instead of adlib_port.
For adt2play, you can specify which lpt port(s) to use with /lpt1 /lpt2 and/or /lpt3.
The first port mentioned will be the primary, and last port mentioned will be the secondary.

Also he designed a 3d printable case for OPL2LPT : https://www.thingiverse.com/thing:2740939

case.jpg

And he also started to work on a case for CVX4 : https://www.thingiverse.com/thing:2743947

Thanks dkgrizzly !

The OPL case might have some overhang problems on the USB port and usually clips prone to break when they're printed that thin.

My YouTube Channel

Reply 332 of 566, by GrizzlyAdams

User metadata
Rank Newbie
Rank
Newbie

The latest revision of the case on thingiverse has a cutout around the USB port which should accommodate most cables. I additionally switched to a clip + screws & nuts design so the clips never have high levels of stress on them during assembly.

The CVX4 case could probably use a tiny bit more tweaking, but even with just one clip holding on it still stays put quite well.

Reply 333 of 566, by Solarstorm

User metadata
Rank Member
Rank
Member

I mean overhang in the means of 3D printing.
To proper print that hole you have to print with support or try bridge printing which is, at least on cheap printers, not that nice.

My YouTube Channel

Reply 334 of 566, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

Hey
I uploaded the design on jan. 3rd on 3dhubs,
and now it is printed and being shipped to me.
Huge thanks to Grizzly !

greenOPL2LPTcase.jpg
Filename
greenOPL2LPTcase.jpg
File size
191.62 KiB
Views
1003 views
File license
Fair use/fair dealing exception
Clipboard02.jpg
Filename
Clipboard02.jpg
File size
165.09 KiB
Views
1003 views
File license
Fair use/fair dealing exception
Clipboard04.jpg
Filename
Clipboard04.jpg
File size
92.86 KiB
Views
1003 views
File license
Fair use/fair dealing exception
Clipboard06.jpg
Filename
Clipboard06.jpg
File size
185.18 KiB
Views
1003 views
File license
Fair use/fair dealing exception
Last edited by dreamblaster on 2018-01-07, 19:53. Edited 1 time in total.

Visit http://www.serdashop.com for retro sound cards, video converters, ...
DreamBlaster X2, S2, S2P, HDD Clicker, ... many projects !
New X2GS SE & X16GS sound card : https://www.serdashop.com/X2GS-SE ,
Thanks for your support !

Reply 336 of 566, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie
derSammler wrote:

Looks awesome. How can I order one? 😉

😉
this green one is reserved for a good friend.
If it fits well, I will have more printed, it may save on the shipping.

If you have a 3d printer, or a 3d printing facility nearby, you can download the file and have these printed too : https://www.thingiverse.com/thing:2740939
Maybe best wait until I tried these, I will post the result once I receive it.

Visit http://www.serdashop.com for retro sound cards, video converters, ...
DreamBlaster X2, S2, S2P, HDD Clicker, ... many projects !
New X2GS SE & X16GS sound card : https://www.serdashop.com/X2GS-SE ,
Thanks for your support !

Reply 337 of 566, by gatesbillou

User metadata
Rank Newbie
Rank
Newbie

Hello ,
Yesterday I tryed my opl2lpt card , it work very well.
I tryed from a bootable usb stick under pc-dos with emm386 v4.46 and adlilptx.
Tryed with samnmax / day of the tentacle / blues brothers and pinball fantasy.
For pinball fantasy I have to stay at "medium quality audio" , at extrem high quality the game is unplayable.
Very good sound very good card, I am very happy with it.
I will try some ohters games and report if there is any problem.Thanks.

Reply 338 of 566, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

the 3d printed enclosure arrived... it fits like a glove !!! 😀 😀 😀 😀 😀
Big thanks, Grizzly !!!!

The smallest nuts I have are M3, which seem still too big, i guess I should get me some M2.5
to bolt this together. So take this into account when you print it.

Have a look at this beauty :

3dprint101.jpg
Filename
3dprint101.jpg
File size
540.96 KiB
Views
924 views
File license
Fair use/fair dealing exception
3dprint103.jpg
Filename
3dprint103.jpg
File size
539.4 KiB
Views
924 views
File license
Fair use/fair dealing exception
3dprint104.jpg
Filename
3dprint104.jpg
File size
535.21 KiB
Views
924 views
File license
Fair use/fair dealing exception
3dprint107.jpg
Filename
3dprint107.jpg
File size
614.3 KiB
Views
924 views
File license
Fair use/fair dealing exception
3dprint108.jpg
Filename
3dprint108.jpg
File size
740.55 KiB
Views
924 views
File license
Fair use/fair dealing exception

Visit http://www.serdashop.com for retro sound cards, video converters, ...
DreamBlaster X2, S2, S2P, HDD Clicker, ... many projects !
New X2GS SE & X16GS sound card : https://www.serdashop.com/X2GS-SE ,
Thanks for your support !