mirror of https://github.com/nmlgc/ReC98.git
37 lines
927 B
NASM
37 lines
927 B
NASM
public _scoredat_load_for_cur
|
|
_scoredat_load_for_cur proc near
|
|
mov ax, 3D00h
|
|
mov dx, offset aGENSOU_SCR
|
|
int 21h ; DOS - 2+ - OPEN DISK FILE WITH HANDLE
|
|
; DS:DX -> ASCIZ filename
|
|
; AL = access mode
|
|
; 0 - read
|
|
jnb short @@read
|
|
retn
|
|
; ---------------------------------------------------------------------------
|
|
|
|
@@read:
|
|
mov bx, ax
|
|
xor ah, ah
|
|
mov al, _playchar
|
|
imul ax, RANK_COUNT
|
|
add al, _rank
|
|
imul ax, size scoredat_section_t
|
|
mov dx, ax
|
|
xor cx, cx
|
|
mov ax, 4200h
|
|
int 21h ; DOS - 2+ - MOVE FILE READ/WRITE POINTER (LSEEK)
|
|
; AL = method: offset from beginning of file
|
|
mov ah, 3Fh
|
|
mov dx, offset _hi
|
|
mov cx, size scoredat_section_t
|
|
int 21h ; DOS - 2+ - READ FROM FILE WITH HANDLE
|
|
; BX = file handle, CX = number of bytes to read
|
|
; DS:DX -> buffer
|
|
mov ah, 3Eh
|
|
int 21h ; DOS - 2+ - CLOSE A FILE WITH HANDLE
|
|
; BX = file handle
|
|
call scoredat_decode
|
|
retn
|
|
_scoredat_load_for_cur endp
|