opl3 | OPL3 emulator usable as a CLI tool or as a library | Emulator library
kandi X-RAY | opl3 Summary
kandi X-RAY | opl3 Summary
OPL3 emulator usable as a CLI tool or as a library. Ported from Yamaha YMF262 (OPL3) Emulator by Robson Cozendey.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of opl3
opl3 Key Features
opl3 Examples and Code Snippets
Community Discussions
Trending Discussions on opl3
QUESTION
I am coding in old, 1994 era DOS for game programming fun, and am outputting data from a RAD file into the OPL3 FM Synthesis chip. I'm running off of DOSBox.
In a bid to increase performance when dealing with hardware registers (especially since I am updating the FM Synth chip through a timing interrupt (to keep tempo) and want to get back into main code as quickly as possible) I thought to rewrite my register outputting in assembly.
However, while this works, it seems to introduce distortion in the synth chip's output that isn't present when I use pure C's outportb, and I figured I'd ask here to see if anyone could tell me what's going on. Is there a particular, subtle difference between 'out dx,al' and 'outp(int, char)' that I'm missing?
...ANSWER
Answered 2019-Jun-02 at 16:59There is one main difference in the C and the assembler program:
I don't know your C compiler's library, but outp()
is either equivalent to out dx,ax
or to out dx,al
.
(I would guess that it is equivalent to out dx,al
.)
However, in your assembler program you are sometimes replacing outp()
by out dx,ax
and sometimes by out dx,al
. One of both must be wrong.
If a real sound card has an 8-bit ISA connector and outp()
is equivalent to out dx,al
, the following assembler code:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install opl3
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page