--- np2/romimage/SASIBIOS.ASM 2004/01/22 01:11:29 1.1 +++ np2/romimage/SASIBIOS.ASM 2004/01/27 03:24:19 1.2 @@ -53,6 +53,8 @@ sasi_init1: mov byte ptr [bx], 0d9h retf sasi_init2: mov ax, cs + mov word ptr ds:[0044h], offset sasiint + mov ds:[0046h], ax mov ds:[04b0h], ah mov ds:[04b8h], ah mov ax, 0300h @@ -106,7 +108,37 @@ sasi_boot2: sub al, 9 dw 1fc0h boot_exit: retf -sasibiosstr db "scsibios" + +; MS-DOSがこの割り込みを使用する... + +sasiint: push ax + in al, 82h + and al, 0fdh + cmp al, 0adh + je short sasireadstat + and al, 0f9h + cmp al, 0a1h + jne short sasiinteoi +sasireadstat: push ds + xor ax, ax + mov ds, ax + or byte ptr ds:[055fh], 1 + mov al, 0c0h + out 82h, al + pop ds +sasiinteoi: mov al, 20h + out 08h, al + mov al, 0bh + out 08h, al + in al, 08h + test al, al + jne short sasiintexit + mov al, 20h + out 00h, al +sasiintexit: pop ax + iret + +sasibiosstr db "sasibios" CODE ENDS END START