Upload
This commit is contained in:
commit
43352ff262
1291 changed files with 220976 additions and 0 deletions
272
TWIST/ASM.ASM
Normal file
272
TWIST/ASM.ASM
Normal file
|
|
@ -0,0 +1,272 @@
|
|||
code SEGMENT para public 'CODE'
|
||||
ASSUME cs:code
|
||||
.386
|
||||
LOCALS
|
||||
|
||||
PUBLIC _vram
|
||||
_vram dw 0,0a000h
|
||||
|
||||
PUBLIC _sin1024
|
||||
include sin1024.inc
|
||||
|
||||
PUBLIC _setborder
|
||||
_setborder PROC FAR
|
||||
push bp
|
||||
mov bp,sp
|
||||
mov dx,3dah
|
||||
in al,dx
|
||||
mov dx,3c0h
|
||||
mov al,11h+32
|
||||
out dx,al
|
||||
mov al,[bp+6]
|
||||
out dx,al
|
||||
pop bp
|
||||
ret
|
||||
_setborder ENDP
|
||||
|
||||
PUBLIC _inittwk
|
||||
_inittwk PROC FAR
|
||||
push bp
|
||||
mov bp,sp
|
||||
push si
|
||||
push di
|
||||
push ds
|
||||
;clear palette
|
||||
mov dx,3c8h
|
||||
xor al,al
|
||||
out dx,al
|
||||
inc dx
|
||||
mov cx,768
|
||||
@@1: out dx,al
|
||||
loop @@1
|
||||
mov dx,3d4h
|
||||
;400 rows
|
||||
;mov ax,00009h
|
||||
;out dx,ax
|
||||
;tweak
|
||||
mov ax,00014h
|
||||
out dx,ax
|
||||
mov ax,0e317h
|
||||
out dx,ax
|
||||
mov dx,3c4h
|
||||
mov ax,0604h
|
||||
out dx,ax
|
||||
;
|
||||
mov dx,3c4h
|
||||
mov ax,0f02h
|
||||
out dx,ax
|
||||
mov ax,0a000h
|
||||
mov es,ax
|
||||
xor di,di
|
||||
mov cx,32768
|
||||
xor ax,ax
|
||||
rep stosw
|
||||
;
|
||||
pop ds
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
ret
|
||||
_inittwk ENDP
|
||||
|
||||
PUBLIC _setpalarea
|
||||
_setpalarea PROC FAR
|
||||
push bp
|
||||
mov bp,sp
|
||||
push si
|
||||
push di
|
||||
push ds
|
||||
lds si,[bp+6]
|
||||
mov ax,[bp+10]
|
||||
mov dx,3c8h
|
||||
out dx,al
|
||||
mov cx,[bp+12]
|
||||
mov ax,cx
|
||||
shl cx,1
|
||||
add cx,ax
|
||||
inc dx
|
||||
rep outsb
|
||||
sti
|
||||
pop ds
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
ret
|
||||
_setpalarea ENDP
|
||||
|
||||
PUBLIC _leftline
|
||||
_leftline PROC FAR
|
||||
push bp
|
||||
mov bp,sp
|
||||
push si
|
||||
push di
|
||||
push ds
|
||||
|
||||
mov ax,80
|
||||
mul word ptr [bp+6]
|
||||
mov di,ax
|
||||
mov ds,cs:_vram[2]
|
||||
|
||||
mov cx,160
|
||||
mov ax,[bp+8]
|
||||
or ax,ax
|
||||
jz @@1
|
||||
sub cx,ax
|
||||
|
||||
mov bx,cx
|
||||
shr bx,2
|
||||
add di,bx
|
||||
and cl,3
|
||||
mov ax,0ff02h
|
||||
shl ah,cl
|
||||
mov dx,3c4h
|
||||
out dx,ax
|
||||
|
||||
mov ah,[bp+10]
|
||||
mov ds:[di],ah
|
||||
inc di
|
||||
inc dx
|
||||
mov al,0fh
|
||||
out dx,al
|
||||
mov al,ah
|
||||
test di,1
|
||||
jz @@2
|
||||
mov ds:[di],ah
|
||||
inc di
|
||||
inc bx
|
||||
@@2: mov cx,39
|
||||
sub bx,cx
|
||||
add bx,bx
|
||||
and bx,not 3
|
||||
;bx=-4*(number of words)
|
||||
add bx,OFFSET @@fill
|
||||
jmp bx
|
||||
zzz=80
|
||||
REPT 40
|
||||
zzz=zzz-2
|
||||
db 89h,85h,zzz,0 ;mov ds:[di+zzz],ax
|
||||
ENDM
|
||||
@@fill:
|
||||
@@1: pop ds
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
ret
|
||||
_leftline ENDP
|
||||
|
||||
PUBLIC _rightline
|
||||
_rightline PROC FAR
|
||||
push bp
|
||||
mov bp,sp
|
||||
push si
|
||||
push di
|
||||
push ds
|
||||
|
||||
mov ax,80
|
||||
mul word ptr [bp+6]
|
||||
mov di,ax
|
||||
mov ds,cs:_vram[2]
|
||||
|
||||
mov cx,160
|
||||
mov ax,[bp+8]
|
||||
or ax,ax
|
||||
jz @@1
|
||||
add cx,ax
|
||||
|
||||
mov bx,cx
|
||||
shr bx,2
|
||||
add di,bx
|
||||
and cl,3
|
||||
mov ax,0f002h
|
||||
rol ah,cl
|
||||
mov dx,3c4h
|
||||
out dx,ax
|
||||
|
||||
mov ah,[bp+10]
|
||||
mov ds:[di],ah
|
||||
dec di
|
||||
inc dx
|
||||
mov al,0fh
|
||||
out dx,al
|
||||
|
||||
mov al,ah
|
||||
mov cx,bx
|
||||
test di,1
|
||||
jnz @@2
|
||||
mov ds:[di],ah
|
||||
dec cx
|
||||
@@2: sub cx,40
|
||||
neg cx
|
||||
add cx,cx
|
||||
and cx,not 3
|
||||
;bx=-4*(number of words)
|
||||
add cx,OFFSET @@fill
|
||||
sub di,bx
|
||||
add di,41
|
||||
jmp cx
|
||||
zzz=80
|
||||
REPT 40
|
||||
zzz=zzz-2
|
||||
db 89h,85h,zzz,0 ;mov ds:[di+zzz],ax
|
||||
ENDM
|
||||
@@fill:
|
||||
@@1: pop ds
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
ret
|
||||
_rightline ENDP
|
||||
|
||||
testcopper PROC FAR
|
||||
mov dx,3c8h
|
||||
xor al,al
|
||||
out dx,al
|
||||
inc dx
|
||||
mov al,63
|
||||
out dx,al
|
||||
out dx,al
|
||||
out dx,al
|
||||
mov cx,100
|
||||
@@1: loop @@1
|
||||
mov dx,3c8h
|
||||
xor al,al
|
||||
out dx,al
|
||||
inc dx
|
||||
mov al,0
|
||||
out dx,al
|
||||
out dx,al
|
||||
out dx,al
|
||||
ret
|
||||
testcopper ENDP
|
||||
|
||||
PUBLIC _initcoppers
|
||||
_initcoppers PROC FAR
|
||||
push bp
|
||||
mov bp,sp
|
||||
push si
|
||||
push di
|
||||
push ds
|
||||
mov bx,7
|
||||
mov ax,0
|
||||
mov cx,OFFSET testcopper
|
||||
mov dx,cs
|
||||
int 0fch
|
||||
mov bx,7
|
||||
mov ax,1
|
||||
mov cx,OFFSET testcopper
|
||||
mov dx,cs
|
||||
int 0fch
|
||||
mov bx,7
|
||||
mov ax,2
|
||||
mov cx,OFFSET testcopper
|
||||
mov dx,cs
|
||||
; int 0fch
|
||||
pop ds
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
ret
|
||||
_initcoppers ENDP
|
||||
|
||||
code ENDS
|
||||
END
|
||||
Loading…
Reference in a new issue