Sound Blaster 16: Difference between revisions

Jump to navigation Jump to search
m
fix typo
[unchecked revision][unchecked revision]
(Add the "QEMU support" section)
m (fix typo)
Line 89:
# Send low bits of position to port 0x02(addr. port of channel 1) For example(see above) is 0x50.
# Send high bits of position to port 0x02(addr. port of channel 1) For example(see above) is 0x04.
# Send low bits of lenghtlength of data to port 0x03(count port of channel 1) For example if is lenghtlength 0x0FFF, send 0xFF
# Send high bits of lenghtlength of data to port 0x03(count port of channel 1) For example if is lenghtlength 0x0FFF, send 0x0F
# Enable channel by writing channel number to port 0x0A
 
Line 100:
# Send low bits of position to port 0xC4(addr. port of channel 5) For example(see above) is 0x50.
# Send high bits of position to port 0xC4(pos. port of channel 5) For example(see above) is 0x04.
# Send low bits of lenghtlength of data to port 0xC6(count port of channel 5) For example if is lenghtlength 0x0FFF, send 0xFF
# Send high bits of lenghtlength of data to port 0xC6(count port of channel 5) For example if is lenghtlength 0x0FFF, send 0x0F
# Enable channel by writing channel number to port 0xD4
 
Line 147:
# Write transfer mode to DSP
# Write type of sound data
# Write data lenghtlength to DSP(Low byte/High byte) (You must calculate LENGHTLENGTH-1 e.g. if is your real lenghtlength 0x0FFF, you must send 0xFE and 0x0F)
 
==Code==
Line 192:
OUTB 0x22C, 0xC0 ;8 bit sound
OUTB 0x22C, 0x00 ;mono and unsigned sound data
OUTB 0x22C, 0xFE ;COUNT LOW BIT - COUNT LENGHTLENGTH-1 (EXAMPLE 0x0FFF SO 0x0FFE) - SET THIS VALUE FOR YOU
OUTB 0x22C, 0x0F ;COUNT HIGH BIT - COUNT LENGHTLENGTH-1 (EXAMPLE 0x0FFF SO 0x0FFE) - SET THIS VALUE FOR YOU
 
;now transfer start - dontdon't forget to handle irq
</source>
 
9

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu