/*********************
K.C.Y 1993
*********************/
#include <dos.h>
/*
#*@ #*@
@@@ --> @@@
@@@ @@@
*/
void Sprite1(POS, SSEG, SOFF, SXLEN, SYLEN, PG)
unsigned int POS, SSEG, SOFF, SXLEN, SYLEN, PG;
{
unsigned int Spr, SB;
Spr=SXLEN*SYLEN;
SB=80*SYLEN;
asm push ds
asm push si
asm mov ax, 0A000h
asm mov es, ax
asm mov ds, SSEG
asm mov si, SOFF
asm mov di, PG
asm mov bx, POS
asm shr bx, 1
asm shr bx, 1
asm add di, bx
asm mov dx, 03C4h
asm mov al, 2
asm mov ah, 00010001b
asm mov cx, POS
asm and cx, 3
asm rol ah, cl
asm mov cx, SXLEN
HTAB:
asm push cx
asm out dx, ax
asm mov cx, SYLEN
VTAB:
asm mov bl, ds:[si]
asm cmp bl, 0
asm je DOT
asm mov es:[di], bl
DOT:
asm add si, SXLEN
asm add di, 80
asm loop VTAB
asm rol ah, 1
asm cmp ah, 00010001b
asm jne JUMP
asm inc di
JUMP:
asm sub si, Spr
asm sub di, SB
asm inc si
asm pop cx
asm loop HTAB
asm pop si
asm pop ds
}
:
:
:
'코드' 카테고리의 다른 글
로컬에서 Ollama설치와 STT, TTS 실행해 보기 (1) | 2024.10.06 |
---|---|
keyscan (0) | 2023.11.17 |
Android 적응형 배너 적용 (0) | 2022.08.07 |
Android viewBinding로 변경 (0) | 2022.08.07 |
iOS에서 admob의 SKAdNetwork적용 후 앱 승인요청 필요 정보. (0) | 2021.06.01 |