I'm just curious how many differences there actually are between the two -- if any. I've been working on a sound library that I'd like to work on both... I did luck into a nice .txt by one "John A. Ball" circa 1994 that FINALLY explained how it's actually mapped out which is how I've gotten as far as I have.
The documentation and examples I've found seem a bit vague, but what I've got so far is:
Reset/setup:
Code: Select all
{ try BIOS if available }
mov ax,$8003
int $1A
{ and then manually set for older machines just in case }
mov al,$6C
out $61,al
mov ax,$8003
int $1A
and then tone output:
Code: Select all
(voice:byte; tone:word; level:byte); assembler;
asm
{ port[$C0]:=$80 or (voice*$20) or (tone and $0F); }
mov dx,$C0
mov cl,voice
mov al,$10
shl al,cl
and al,$60
or al,$80
mov ch,al { save channel for level set }
mov bx,tone
mov ah,bl
and ah,$0F
or al,ah
out dx,al
{ port[$C0]:=tone shr 4; }
shr bx,1
shr bx,1
shr bx,1
shr bx,1
mov al,bl
out dx,al
{ port[$C0]:=$90 or (voice*$20) or level; }
mov al,level
or al,ch
or al,$10
out dx,al
end;
Just wondering if there's any changes I need to make to that to get the Jr. happy as I don't have a Jr. for testing at the moment. (buddy with one just got deployed). It works on my Tandy EX and HX, but I've had the minor differences bite me in the backside in the past. (I really need to add a Jr. to the collection -- maybe next month). I'm not even playing with the 'noise' channel as the three melodic voices are more than adequate for what I'm working on.
Heading to bed right now, but I can post up a test program in the morning...
The only thing about Adobe web development products that can be considered professional grade tools are the people promoting their use.