Un-ignored: the dev drive is the ground truth the restoration and emulator work constantly reference (DPL3/LIBDPL + VRENDER i860 renderer source, BT/RP live+dev game trees, VGL_LABS pod boot, scene/audio content). Kept in-repo for the pod-owner community. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
37 lines
1.1 KiB
NASM
37 lines
1.1 KiB
NASM
; outsw.asm - just does an outsw with Watcom register conventions
|
|
;
|
|
; all parameters are passed in registers
|
|
; eax = pointer to data
|
|
; edx = link adapter output data port
|
|
; ebx = no of bytes to send
|
|
;
|
|
; assumes the calling C code has fired the first 3 bytes of the protocol
|
|
; word at the link adapter, and has spun waiting for the c012 to be ready
|
|
; so if we disable interrupts, we execute very rapidly the output followed
|
|
; by the string output. The tranny will unfortunately have to spin on the
|
|
; fifo flag
|
|
|
|
assume cs:_text
|
|
|
|
_text segment para public use32 'code'
|
|
|
|
public _outsw_
|
|
|
|
_outsw_ proc
|
|
|
|
mov esi,eax ; save away for pump
|
|
mov ecx,ebx
|
|
mov al, 0x40 ; the 'use fifo' tag
|
|
cli ; dont let us be interrupted in here
|
|
out dx,al ; send last byte of message
|
|
add dx, 0x3 ; point at fifo read/write port
|
|
rep outsw ; pump up the jam
|
|
sti ; and restore
|
|
ret ; return to caller
|
|
|
|
_outsw_ endp
|
|
|
|
_text ends
|
|
|
|
end _outsw_
|