dosbox-x/NOTES/Scroll Land by TSI (1991).txt
Jonathan Campbell e024496677 more notes
2015-01-28 09:39:20 -08:00

60 lines
1.6 KiB
Plaintext

Here's an unusual case of legacy DOS code:
This demo left me scratching my head for months
on why it seemed to support Sound Blaster, but
failed to produce any audio.
It wasn't until I watched the demo initialize
the Sound Blaster and I happened to look at the
interrupt vector table that I noticed the demo
is not hooking IRQ 5 or 7. It's hooking IRQ 3.
It began producing audio once I set sbtype=sb2
and irq=3.
This is very unusual, considering most demos
of that time assumed IRQ 7, the original stock
configuration of the original Sound Blaster.
I was not aware the Sound Blaster 2.0 had any
jumper settings to take IRQ 3, since that is
normally taken by serial ports on standard
PC hardware.
This is also the first demo I've found that
uses undocumented Sound Blaster 2.0 commands
0xE2 (DMA identification), 0xE4 (write test
register), 0xE8 (read test register), and
0xE0 (SB20 identification where you read
back the NOT inversion of your data byte).
I also noticed that the demo isn't playing
tracker music. Instead it's playing a simple
loop, using varied DSP+DMA block sizes to
act on "cue" points so that additional text
on top of the animation can flash in time
with the music. Debug messages printed to
the log by DOSBox confirm this.
* If the demo is in fact using some obscure
mechanism to autodetect the IRQ, please let
me know!
Recommended settings:
[cpu]
core=normal
cycles=4000
cputype=386
[sblaster]
sbtype=sb2
sbbase=220
irq=3
dma=1
goldplay=false
A cycles count between 3000 and 4000 is
recommended. Below 2500 the animated
"oscilloscope" of the music will render at
half the normal frame rate, if that matters.