VOGONS


OPL3LPT : OPL3 FM Synthesis on parallel port

Topic actions

First post, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

Hi
in this thread I will post progress and answer question regarding
the OPL3LPT project :
OPL3 synth on parallel port

The first version prototype is ready and looks like this :

opl3lpt.jpg
Filename
opl3lpt.jpg
File size
141.08 KiB
Views
9596 views
File license
Fair use/fair dealing exception

A 2nd revision (blank) proto pcb arrived yesterday, this has the potmeter pointing to the back instead of to the side.

Last edited by dreamblaster on 2018-01-13, 16:10. 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 2 of 264, by SpeedySPCFan

User metadata
Rank Member
Rank
Member

This could be invaluable for people who use AdLib Tracker II. Looking forward to it!

Musician & music gear/game reviewer.

MIDI hardware: JD-990, SC-55, SC-880, SD-90, VL70-m, Motif ES, Trinity, TS-10, Proteus 2000, XK-6, E6400U

Reply 3 of 264, by jaZz_KCS

User metadata
Rank Oldbie
Rank
Oldbie

I would keep the potentiometer to the side, looks in like with the opl2lpt and makes the case design easier (I guess). And yes, with that I am hoping someone will eventually also make cas designs for TND- CMS and OPL3-LPT 😁

Reply 4 of 264, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

also here, pointing to the back is to avoid obstruction with other cables, connectors

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 5 of 264, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie
SpeedySPCFan wrote:

This could be invaluable for people who use AdLib Tracker II. Looking forward to it!

Which music files would you recommend to use when testing OPL3LPT ?
--> preferably songs that make good use of OPL3 features, stereo and maybe also 4 operator sounds ?

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 6 of 264, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie

Apart from Adlib Tracker II you should also check out Note FM Tracker, both come bundled with some great tunes.

Some nice tunes on Adlib Tracker II, all are bundled:
https://youtu.be/oNhazT5HG0E
https://youtu.be/xFpf00BVXPk
https://youtu.be/EtYOZRarQDs

Edit: Added some tunes.

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 7 of 264, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

thanks
are these recorded straight from a real chip, without processing ?

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 8 of 264, by Beegle

User metadata
Rank Member
Rank
Member

someday, AdlibGoldLPT?
/sarcasm

Really, these LPT projects are just amazing 😀

The more sound cards, the better.
AdLib documentary : Official Thread
Youtube Channel : The Sound Card Database

Reply 9 of 264, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie
dreamblaster wrote:

thanks
are these recorded straight from a real chip, without processing ?

Diode Milliampere used a Toshiba Libretto CT70 with Yamaha OPL3 SA3 and don't think he used any processing as it very identical playing them from Adlib Tracker II.

Quote from the Rainbow Factory video:

The recording in this video is made and played on a Sound Blaster 16 CT2290. The synthesizer chip is a CT1747 OPL3 chip. No post processing, maximizer or EQ was added - this is exactly how it sounded on my Sound Blaster. The reverb, warping and everything else was done manually in the tracker (You can see instruments named "Echo" playing throughout).

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 11 of 264, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

here's the pinout

OPL3LPTPINOUT.png
Filename
OPL3LPTPINOUT.png
File size
12.08 KiB
Views
9288 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 !

Reply 12 of 264, by SpeedySPCFan

User metadata
Rank Member
Rank
Member
dreamblaster wrote:
SpeedySPCFan wrote:

This could be invaluable for people who use AdLib Tracker II. Looking forward to it!

Which music files would you recommend to use when testing OPL3LPT ?
--> preferably songs that make good use of OPL3 features, stereo and maybe also 4 operator sounds ?

In addition to Kamerat posted, I have a few tracks I made myself that might be worth trying out. They all make pretty good use of the hardware.
https://youtu.be/fXJLmdpn7d8 (stereo)
https://youtu.be/7Beo__ByKZg (4-op)
https://youtu.be/nymEGnvSYE0 (stereo & 4-op)

Musician & music gear/game reviewer.

MIDI hardware: JD-990, SC-55, SC-880, SD-90, VL70-m, Motif ES, Trinity, TS-10, Proteus 2000, XK-6, E6400U

Reply 13 of 264, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

Okay
I recorded a part of 'Aquarius' on a modified Adlib Tracker II with OPL3LPT prototype.
This is still work in progress, at this moment I am testing filter caps 270pF.
How does it sound ? Is it ok ? Should it sound brighter ? Less bright ?
I think the brightness is in between sb16 and sb pro sound now ??
I'm tuning this by changing the capacitor value in the amplifier feedback loop.

original diode millampere recording : https://youtu.be/EtYOZRarQDs
opl3lpt playing the same track, with 270pF caps, PS2 supply : https://youtu.be/Z9Js7nHJVNw
opl3lpt playing the same track, with 270pF caps, external supply + 100uF decoupling : https://youtu.be/63ATgrIqfkI

I will make more recordings later.

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 14 of 264, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

Alloyrun tests :

OPL3LPT (270pF, with ps2 supply and 100uF decoupling cap) : https://youtu.be/sWgh_ah-F88
compare to other opl3 cards playing alloyrun : https://youtu.be/_ibdIm-ZBB4

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 15 of 264, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

Very promising. Was any progress made with getting the OPL2LPT working with a USB to Parallel Port adapter or patching DOSBox to direct its output to the LPT port?

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 16 of 264, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie
Great Hierophant wrote:

Was any progress made with getting the OPL2LPT working with a USB to Parallel Port adapter or patching DOSBox to direct its output to the LPT port?

OPL2LPT in Virtualbox works with a pci express parallel port
but I could not yet get it to work with my USBLPT board.

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 17 of 264, by Dr.Yak

User metadata
Rank Newbie
Rank
Newbie
dreamblaster wrote:

Hi
OPL3 synth on parallel port

The first version prototype is ready and looks like this :

So, for the OPL3, you're not going for socketed chips like on the OPL2 ?
(SMD IC Socket Adapter ? What's the correct terminology for these ?)

Do you think I would be possible to leave contact point on the PCB to tap into the digital stream if somebody wants to record the output of the OPL3 before the analog conversion ?

dreamblaster wrote:
Great Hierophant wrote:

Was any progress made with getting the OPL2LPT working with a USB to Parallel Port adapter or patching DOSBox to direct its output to the LPT port?

{...}
but I could not yet get it to work with my USBLPT board.

Technically, it should not be possible to get a OPLxLPT-like device to work with an USBLPT port:

  • ISA/PCI parallel port are bit-banging interfaces: you can (also) precisely control the state of any single line (the 8 data bits, the status lines, etc.).
    (Though most later standards like IEEE 1284 relieve you from doing such low-level work and define modes (ECP) to automate everything with DMA to transfer data to/from peripherals such as LPT-attached diskdrives, etc., you still have access to the DUMB mode where you control every pin manually)
    That's what enables dreamblaster, raph and pdewacht to simulate an ISA bus by precisely playing with the output of each pin of the parallel port (using the LPT's INIT signal to simluate an ISA "read" signal, the LPT STROBE and SELECT to handle the address, AUTOFEED to write, etc.)
  • Whereas USB-Printer ports are usually implemented in a way which isn't dissimilar to how USB-Serial works : you send a flux of data packets, and the chip takes care to output it to the printer, with a couple of IOCTL thrown to handle extra status. You don't control directly the pins, the chips handles them for you.
    This makes impossible to successfully use such adapters
    (though it could be possible to use the "STROBE" pin that is automatically cycled on data output as an ISA read, hope that the timings are close enough for the OPLx to react, find if the timing of some status line is good enough to be used for the address, etc. : still it's a completely different reconfiguration of the parallel port (so new PC or a huge pin remmaper in the middle) and still hoping hat the timings of the USB chips are close enough to be workable)

There is an USB attached bit-banging device, though : It's called an Arduino 😜
Arduinos got a ton of freely controllable I/O Pins.

And as a bonus, it's a full blown micro-controller on which can upload small bits of code. So you can let the Arduino handle all the address selection, ISA Read/Write Cycling, slow timings of the OPL2, etc. and design a simple protocol where you only send <"register";"value"> pairs to the Arduino.

As an extra bonus, if it still fits within the cycle budget of the Arduino, you could tap into the digital stream between the OPLx and the DAC and store the data (on an SD card ?), and do a nice conversion of the FP16 / 49kHz stream to whatever you need, rather than counting on the DAC->ADC analog loop.

Reply 18 of 264, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Bit-banging with USB-Serial converters is definitly possible, though.
There's Port.dll, a dymic link library for Windows NT written Delphi.

It allows direct access to the data lines of any serial port.
I used it quite a few times in VB classic myself. 😀

http://youtu.be/W8TJsLpEB5w
http://youtu.be/TNLAT2dRo14

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 19 of 264, by noop

User metadata
Rank Member
Rank
Member
Dr.Yak wrote:

As an extra bonus, if it still fits within the cycle budget of the Arduino, you could tap into the digital stream between the OPLx and the DAC and store the data (on an SD card ?), and do a nice conversion of the FP16 / 49kHz stream to whatever you need, rather than counting on the DAC->ADC analog loop.

You may emulate the whole FM chip instead, it is fully digital anyway. 😀
In order to be able to stream data to it via usual typical USB LPT adapters one would probably need to change the interface to only use strobe/busy pins, besides data, again, with the help of microcontroller, something like ATtiny13 in sop package, executing very trivial program. This would also make the device compatible with Atari ST.