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

195 lines
4.0 KiB
NASM

;[BEGIN]
;//MODULE: DOS_X
;//CREATE: 19-05-1998 AUTHOR: Denis Parinov
;//UPDATE: 24-10-1999 DNS Restore module
;---------------------------------------------------------------
;Rev Date Name Description
;---------------------------------------------------------------
;R011 17-04-2023 BAO ‚६¥­­ë© ª®áâë«ì ¤«ï ­¥¤®¯ã᪠­¨ï ¯¥à¥¯®«­¥­¨ï ¡ãä¥à  ¯ã⨠ª â «®£ 
;R010 15-04-2023 BAO FIXED BUG WITH CHANGE DISK WITHOUT CHANGE PATH
;R009 13-04-2023 BAO FIX BUG WITH PARSING DIRECTORY BUFFER
;R13 06-04-2023 BAO ”ã­ªæ¨î SETBOOT ¬®¦­® ¢ë§¢ âì ⮫쪮 à § (¥á«¨ § ¢¥àè¨âáï ª®à४⭮)
;R12 03-04-2023 BAO „®¡ ¢«¥­  äã­ªæ¨ï à¥áª ­  ¤à ©¢®¢ LD C,8 : RST #10
;R008 - 15-04-2003 DNS SAVE AND RESTORE CUR-PATH MACROS
;R11 - 15-04-2003 DNS ROUTINE FOR STORE CURDISK AND CURDIR
;R10 - 03-04-2003 DNS IMPROVED FN. VERSION
;R09 27-03-2003 DNS PASTED SET/GET BOOT FN.
;R007 06-02-2003 DNS FIX BUG IN MASK ROUTINE, IT ALLOW NAMES WHICH BEGAN FROM "." ".NAM"
;R006 29-01-2003 DNS FIX BUG WITH SET FILE DATE AND TIME
;R005 26-11-2002 DNS FIX ERROR IN CHDIR, DON'T ALLOWED "." FOR ROOT
;R004 19-11-2002 DNS DON'T ALLOW DIR & LABEL ATTR FOR FILES
;R003 19-11-2002 DNS ADD RESET OF VOLUME LABEL ATTRIBUT
;R002 19-11-2002 DNS FIX GET/SET ATTRIBUTES
;R001 16-12-1999 DNS Y2K fix
;R06 21-11-1999 DNS FN. DISKINF SUPPORT ALL DISKS
;R05 21-11-1999 DNS BUG FIX SIGNATURE #55AA IN BOOT SECTOR
;R04 08-11-1999 DNS KILL OLD FUNCTIONS
;R03 23-11-1998 DNS BUG FIX (IX+28) -> (IY+28)
;R02 21-11-1998 DNS CHANGE FUNCTION "MAKE FAT"
;R01 20-11-1998 DNS REPAIR FUNCTION "SAVE"
;
;---------------------------------------------------------------
include 'API/Version.asm'
include 'API/bootDsk.asm'
include 'API/curDisk.asm'
include 'API/diskINF.asm'
include 'API/ScanDRV.asm'
include 'API/Attribute.asm'
include 'API/Create.asm'
include 'API/Delete.asm'
include 'API/Rename.asm'
include 'API/Open.asm'
include 'API/Close.asm'
include 'API/Find.asm'
include 'API/ChnDisk.asm'
include 'API/CurrDir.asm'
include 'API/Time.asm'
include 'API/GetDateTime.asm'
include 'API/SetDateTime.asm'
include 'API/ChDir.asm'
include 'API/MkDir.asm'
include 'API/RmDir.asm'
include 'API/DosName.asm'
include 'API/Read.asm'
include 'API/Write.asm'
include 'API/FreeMem.asm'
include 'API/GetMem.asm'
include 'API/RetMem.asm'
include 'API/SetMem.asm'
include 'API/SetWin.asm'
include 'API/AppInfo.asm'
include 'API/Ex_Path.asm'
include 'API/GSwitch.asm'
include 'API/Environ.ASM'
include 'API/Lib_Sub.asm'
include "API/EXECUTE.ASM"
include "API/Print.asm"
;R09
;„ã¡«ì - CHNDISK = OPENDSK
;CHNDISK:
; PUSH AF
; LD C,Dss.DRV.Open
; RST ToDSS.DRV
; POP BC
; JP C,NDISK11
; LD A,B
; LD (CORE_BUFFERS.FatBuffer.DRIVE),A
; CALL RD_BPB
; RET C
; LD A,(LDRIVE)
; AND A
; RET
;NDISK11:
; CP DSS_Error.sys.INVALID_DRIVE
; SCF
; RET Z
; LD A,DSS_Error.sys.NOT_READY
; RET
;
;R04
;SIZE2CL: LD DE,(B_P_C)
; XOR A
; SCF
;S2C01: RR D
; RR E
; JR C,S2C02
; RR H
; RR L
; RR B
; RR C
; JP NC,S2C01
; LD A,1
; JP S2C01
;S2C02: OR A
; RET Z
; INC BC
; RET
;L_SEC_X: DW 0
;H_SEC_X: DW 0
;
;GOD EQU 1999-1980*512
;FHAND DB " "
; DB " "
; DB #20
; DW 0,0,0,0,0
; DW #0000
; DW 5*32+19+GOD
;SAVEC DW #0000
;SIZEC DW #0000,#0000
;=============================================
;//MODULE: DOS_X
;[END]
;R11
; IF SAVE_PATH_MACRO
; SAVE_CUR_PATH
; PUSH IX
; PUSH IY
; PUSH HL
; PUSH DE
; PUSH BC
; PUSH AF
;
; SET_PAGE_X ENVPAGE
; PUSH AF
;
; CALL CURRDSK
; ADD A,"A"
; LD HL,TMP_CURDIR_AUTO
; LD (HL),A
; INC HL
; LD A,":"
; LD (HL),A
; INC HL
; CALL CURRDIR_FN
;
; POP AF
; OUT (SLOT3),A
;
; POP AF
; POP BC
; POP DE
; POP HL
; POP IY
; POP IX
; RET
;
; BACK_CUR_PATH:
; RET NC
; .force: PUSH IY
; PUSH IX
; PUSH HL
; PUSH DE
; PUSH BC
; PUSH AF
;
; SET_PAGE_X ENVPAGE
; PUSH AF
;
; LD HL,TMP_CURDIR_AUTO
; CALL CHDIR
;
; POP AF
; OUT (SLOT3),A
;
; POP AF
; POP BC
; POP DE
; POP HL
; POP IX
; POP IY
; RET
; ENDIF
;