Crazy-Blaster/Crazy Estex DSS/DSS/API/AppInfo.asm
Anatoliy Belyanskiy ace6b0904b First init
2024-07-29 01:59:31 +10:00

101 lines
1.9 KiB
NASM
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;---------------------------------------------------------------
;Rev Date Name Description
;---------------------------------------------------------------
;R10 13-04-2023 BAO FIX BUG WITH PARSING DIRECTORY BUFFER
//////////////////////////////////////////////////////////////////////
; !FIXIT âãâ ®¤­¨ § âã¯ë ¨ ¤¥¡¨«¨§¬
; ”ã­ªæ¨ï #47. <20>®«ã祭¨¥ ¨­ä®à¬ æ¨¨ ¯à¨«®¦¥­¨ï.
;
; ¢å®¤: HL - ¡ãä¥à ¤ ­­ëå
; B - ­®¬¥à ¯®¤ä㭪樨:
; B=0 - ¯®«ã祭¨¥ ¯ à ¬¥â஢ ª®¬ ­¤­®© áâப¨
; B=1 - ¯®«ã祭¨¥ ¯®«­®£® ¯ã⨠ª ª â «®£ã ¯à®£à ¬¬ë
; B=2 - ¯®«ã祭¨¥ ¯®«­®£® ¯ã⨠¨ ¨¬¥­¨ ä ©«  ¯à®£à ¬¬ë
; ¢ë室: ­¥â
;
; APPLICATION INFO
;====================
; B = 0 - GET APP_PARAM
; B = 1 - GET APP_PATH
; B = 2 - GET APP_FULLNAME
//////////////////////////////////////////////////////////////////////
;LAST_PSP_PTR: DW 0
APPINFO: INC B
;
DJNZ .FN1
; ¯®«ã祭¨¥ ¯ à ¬¥â஢ ª®¬ ­¤­®© áâப¨ EX DE,HL
XOR A
LD (DE),A
LD HL,(.LAST_PSP_PTR)
LD C,(HL)
INC C
RET Z
INC HL
LDIR
AND A
RET
.FN1: DJNZ .FN2
; ¯®«ã祭¨¥ ¯®«­®£® ¯ã⨠ª ª â «®£ã ¯à®£à ¬¬ë
EX DE,HL
.LAST_PSP_PTR+1:
LD HL,0
LD C,(HL)
INC HL
ADD HL,BC
INC HL
INC HL
PUSH HL
LD BC,#100 ;!HARDCODE ¤«¨­  ª®¬¬ ­¤­®© áâப¨
XOR A
CPIR
DEC HL ;R10 ;[x] ¨á¯à ¢«¥­ ¡ £ á ¯ àᨭ£®¬ ¡ãä¥à  ª â «®£ 
DEC HL ;R10,5 - ­¥ â¥á⨫ ;!!!!!
LD BC,#100 ;R10 ;[x] ­¥ ¡ë«® í⮩ ª®¬ ­¤ë, CPDR ¬®£ ­¥ ¯à®è¥àáâ¨âì ¢áñ ;!HARDCODE ¤«¨­  ª®¬¬ ­¤­®© áâப¨
LD A,'\'
CPDR
INC HL
INC HL
POP BC
AND A
SBC HL,BC
;R10 ;[x] ¬®£«® ¢áñ ¢ ª®á¬®á ã«¥â¥âì
LD A,DSS_Error.sys.COMMON_ERROR
JR C,.error
;
LD A,B ;EX HL,A,BC
LD B,H
LD H,A
LD A,C
LD C,L
LD L,A
LDIR
XOR A
LD (DE),A
RET
;
.FN2: DJNZ .FN3
; ¯®«ã祭¨¥ ¯®«­®£® ¯ã⨠¨ ¨¬¥­¨ ä ©« 
EX DE,HL
LD HL,(.LAST_PSP_PTR)
LD C,(HL)
INC HL
ADD HL,BC
INC HL
INC HL
;
.loop LD A,(HL)
LDI
OR A
JR NZ,.loop
;
RET
;
.FN3:
;
; ®è¨¡ª 
LD A,DSS_Error.sys.INVALID_FUNCTION
.error: SCF
RET
;