mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-16 01:41:17 +03:00
some optimization
This commit is contained in:
parent
5c283a4d7f
commit
fed7066721
47
DSS/DOS5.ASM
47
DSS/DOS5.ASM
@ -29,7 +29,7 @@
|
|||||||
; B = 1 SET ATTRIB
|
; B = 1 SET ATTRIB
|
||||||
; OUTPUT: A - ATTRIB
|
; OUTPUT: A - ATTRIB
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
ATTRIB: ;!Test Current Dir ;[x] 15/10/23
|
ATTRIB: ;!TEST Current Dir ;[x] 15/10/23
|
||||||
LD C,A
|
LD C,A
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
@ -98,7 +98,7 @@ ATTRIB: ;!Test Current Dir ;[x] 15/10/23
|
|||||||
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
||||||
; OUTPUT: A - FM
|
; OUTPUT: A - FM
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
CREATE: ;!Test Current Dir ;[x] 15/10/23
|
CREATE: ;!TEST Current Dir ;[x] 15/10/23
|
||||||
PUSH HL
|
PUSH HL
|
||||||
CALL DIR_PATH_CHECK
|
CALL DIR_PATH_CHECK
|
||||||
POP HL
|
POP HL
|
||||||
@ -112,7 +112,7 @@ CREATE: ;!Test Current Dir ;[x] 15/10/23
|
|||||||
;
|
;
|
||||||
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
|
||||||
; OUTPUT: A - FM
|
; OUTPUT: A - FM
|
||||||
.NEW: ;!Test Current Dir ;[x] 15/10/23
|
.NEW: ;!TEST Current Dir ;[x] 15/10/23
|
||||||
PUSH HL
|
PUSH HL
|
||||||
CALL DIR_PATH_CHECK
|
CALL DIR_PATH_CHECK
|
||||||
POP HL
|
POP HL
|
||||||
@ -179,7 +179,7 @@ CREAT_N EQU CREATE.NEW
|
|||||||
; INPUT: HL - "c:\dir\filename.ext",#00 without simbols * ?
|
; INPUT: HL - "c:\dir\filename.ext",#00 without simbols * ?
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
DEL_FN: ;!TEST
|
DEL_FN: ;!TEST
|
||||||
;!Test Current Dir ;[x] 15/10/23
|
;!TEST Current Dir ;[x] 15/10/23
|
||||||
PUSH HL
|
PUSH HL
|
||||||
CALL DIR_PATH_CHECK
|
CALL DIR_PATH_CHECK
|
||||||
POP HL
|
POP HL
|
||||||
@ -240,7 +240,7 @@ DELETE: SET_PAGE_X DIRPAGE
|
|||||||
; DE - "new_name.ext",#00 without simbols * ?
|
; DE - "new_name.ext",#00 without simbols * ?
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
RENAME:
|
RENAME:
|
||||||
;!Test Current Dir
|
;!TEST Current Dir ;[x] 15/10/23
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH DE
|
PUSH DE
|
||||||
CALL DIR_PATH_CHECK.forceCheck
|
CALL DIR_PATH_CHECK.forceCheck
|
||||||
@ -307,7 +307,7 @@ RENAME:
|
|||||||
; ¢ë室: A - ¤¥áªà¨¯â®à ä ©« , ¥á«¨ CF=0
|
; ¢ë室: A - ¤¥áªà¨¯â®à ä ©« , ¥á«¨ CF=0
|
||||||
; ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
; ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
OPEN_FN:;!Test Current Dir ;[x] 15/10/23
|
OPEN_FN:;!TEST Current Dir ;[x] 15/10/23
|
||||||
LD C,A
|
LD C,A
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
@ -433,25 +433,26 @@ CLOSE: LD (F_FIRST.ACCESS),A
|
|||||||
; A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
; A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
F_FIRST:
|
F_FIRST:
|
||||||
;!Test Current Dir
|
; Current Dir [x] 15/10/23
|
||||||
LD C,A
|
; LD C,A
|
||||||
PUSH HL
|
; PUSH HL
|
||||||
PUSH DE
|
; PUSH DE
|
||||||
PUSH BC
|
; PUSH BC
|
||||||
CALL DIR_PATH_CHECK
|
; CALL DIR_PATH_CHECK
|
||||||
POP BC
|
; POP BC
|
||||||
POP DE
|
; POP DE
|
||||||
POP HL
|
; POP HL
|
||||||
RET C
|
; RET C
|
||||||
LD A,C
|
; LD A,C
|
||||||
;
|
; ;
|
||||||
|
|
||||||
|
|
||||||
LD (.ACCESS),A
|
LD (.ACCESS),A
|
||||||
LD (.DTABUF),DE
|
LD (.DTABUF),DE
|
||||||
LD A,B
|
LD A,B
|
||||||
LD (.FNDMODE),A
|
LD (.FNDMODE),A
|
||||||
PUSH HL
|
PUSH HL
|
||||||
|
;!TEST Current Dir ;[x] 15/10/23
|
||||||
|
CALL DIR_PATH_CHECK
|
||||||
|
;
|
||||||
CALL LOADDIR
|
CALL LOADDIR
|
||||||
POP HL
|
POP HL
|
||||||
CALL GETWORD
|
CALL GETWORD
|
||||||
@ -848,7 +849,7 @@ PUT_D_T:
|
|||||||
; INPUT: HL - "C:\DIR\DIR\DIR_NAME[\]",0
|
; INPUT: HL - "C:\DIR\DIR\DIR_NAME[\]",0
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
CHDIR_FN:
|
CHDIR_FN:
|
||||||
;!Test Current Dir ;[x] 15/10/23
|
;!TEST Current Dir ;[x] 15/10/23
|
||||||
PUSH HL
|
PUSH HL
|
||||||
CALL DIR_PATH_CHECK
|
CALL DIR_PATH_CHECK
|
||||||
POP HL
|
POP HL
|
||||||
@ -872,7 +873,7 @@ CHDIR: CALL GETWORD ;
|
|||||||
;
|
;
|
||||||
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
|
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
MKDIR: ;!Test Current Dir ;[x] 15/10/23
|
MKDIR: ;!TEST Current Dir ;[x] 15/10/23
|
||||||
LD C,A
|
LD C,A
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
@ -1046,7 +1047,7 @@ MKDIR: ;!Test Current Dir ;[x] 15/10/23
|
|||||||
;
|
;
|
||||||
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
|
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
RMDIR: ;!Test Current Dir ;[x] 15/10/23
|
RMDIR: ;!TEST Current Dir ;[x] 15/10/23
|
||||||
LD C,A
|
LD C,A
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
|
|||||||
@ -73,7 +73,7 @@ RES_FM:
|
|||||||
_mFM_FIND
|
_mFM_FIND
|
||||||
|
|
||||||
LD A,DSS_Error.sys.INVALID_HANDLE
|
LD A,DSS_Error.sys.INVALID_HANDLE
|
||||||
EXX
|
;EXX
|
||||||
SCF
|
SCF
|
||||||
RET Z
|
RET Z
|
||||||
XOR A
|
XOR A
|
||||||
|
|||||||
@ -21,6 +21,15 @@
|
|||||||
;R01 14-05-1999 DNS DECREASE HEADER SIZE FOR EXE-FILE
|
;R01 14-05-1999 DNS DECREASE HEADER SIZE FOR EXE-FILE
|
||||||
;---------------------------------------------------------------
|
;---------------------------------------------------------------
|
||||||
|
|
||||||
|
MACRO _mINCTASK
|
||||||
|
LD HL,TASK ;R08
|
||||||
|
INC (HL) ;R08
|
||||||
|
ENDM
|
||||||
|
;
|
||||||
|
MACRO _mDECTASK
|
||||||
|
LD HL,TASK ;R08
|
||||||
|
DEC (HL) ;R08
|
||||||
|
ENDM
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
; !FIXIT âãâ ®¤¨ § âã¯ë ¨ ¤¥¡¨«¨§¬
|
; !FIXIT âãâ ®¤¨ § âã¯ë ¨ ¤¥¡¨«¨§¬
|
||||||
@ -779,14 +788,6 @@ PATH_PNT_ARRAY EQU #FC80
|
|||||||
TMP_CURDIR EQU #FD00
|
TMP_CURDIR EQU #FD00
|
||||||
ENVTEMP EQU #FE00
|
ENVTEMP EQU #FE00
|
||||||
|
|
||||||
INCTASK: LD HL,TASK ;R08
|
|
||||||
INC (HL) ;R08
|
|
||||||
RET ;R08
|
|
||||||
|
|
||||||
DECTASK: LD HL,TASK ;R08
|
|
||||||
DEC (HL) ;R08
|
|
||||||
RET ;R08
|
|
||||||
|
|
||||||
|
|
||||||
;/////////////////////////////////////////////////////////////////////
|
;/////////////////////////////////////////////////////////////////////
|
||||||
; ”ãªæ¨ï #40. ‚믮«¨âì ä ©«.
|
; ”ãªæ¨ï #40. ‚믮«¨âì ä ©«.
|
||||||
@ -852,10 +853,10 @@ EXEC_1: LD (CMDLINE),HL
|
|||||||
CALL TST_EXT
|
CALL TST_EXT
|
||||||
LD A,DSS_Error.sys.FILE_NOT_FOUND
|
LD A,DSS_Error.sys.FILE_NOT_FOUND
|
||||||
RET C
|
RET C
|
||||||
CALL INCTASK ;R08
|
_mINCTASK ;R08
|
||||||
CALL OPEN.FILE
|
CALL OPEN.FILE
|
||||||
JR NC,.noError
|
JR NC,.noError
|
||||||
CALL DECTASK ;R08
|
_mDECTASK ;R08
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
@ -996,7 +997,7 @@ ERREXE0: LD A,DSS_Error.sys.NOT_ENOUGH_MEMORY
|
|||||||
ERREXE: PUSH AF
|
ERREXE: PUSH AF
|
||||||
LD A,(EXE_FM)
|
LD A,(EXE_FM)
|
||||||
CALL CLOSE
|
CALL CLOSE
|
||||||
CALL DECTASK
|
_mDECTASK
|
||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
@ -1046,7 +1047,7 @@ _TST_PROC:
|
|||||||
IN A,(SLOT1)
|
IN A,(SLOT1)
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;!Test close EXE FM [x] 25/10/23
|
;[x] 25/10/23 close EXE FM
|
||||||
LD A,(EXE_FM)
|
LD A,(EXE_FM)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;
|
;
|
||||||
@ -1131,7 +1132,7 @@ _TST_PROC_2:
|
|||||||
LD DE,RETFAR ; ¤à¥á ¯/¯ "¥®¦¨¤ ®¥ § ¢¥à襨¥ ¯à®æ¥áá "
|
LD DE,RETFAR ; ¤à¥á ¯/¯ "¥®¦¨¤ ®¥ § ¢¥à襨¥ ¯à®æ¥áá "
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH HL
|
PUSH HL
|
||||||
;!Test Current Dir ;[x] 15/10/23
|
;!TEST Current Dir ;[x] 15/10/23
|
||||||
PUSH IX
|
PUSH IX
|
||||||
LD HL,CurrentDirectory
|
LD HL,CurrentDirectory
|
||||||
CALL CHDIR_FN
|
CALL CHDIR_FN
|
||||||
@ -1158,12 +1159,11 @@ _TST_PROC_2:
|
|||||||
LEAVE: LD A,B
|
LEAVE: LD A,B
|
||||||
LD (ERLEVEL),A
|
LD (ERLEVEL),A
|
||||||
CALL LEAVMEM
|
CALL LEAVMEM
|
||||||
;CALL DECTASK ;!Test close EXE FM [x] 25/10/23
|
|
||||||
LD SP,(EXSTACK)
|
LD SP,(EXSTACK)
|
||||||
;!Test close EXE FM [x] 25/10/23
|
;[x] 25/10/23 close EXE FM
|
||||||
POP AF
|
POP AF
|
||||||
CALL RES_FM
|
CALL RES_FM
|
||||||
CALL DECTASK
|
_mDECTASK
|
||||||
;
|
;
|
||||||
POP AF
|
POP AF
|
||||||
POP HL
|
POP HL
|
||||||
|
|||||||
@ -261,7 +261,7 @@ WINREST: AND A
|
|||||||
; ¢ë室: ¥â
|
; ¢ë室: ¥â
|
||||||
;/////////////////////////////////////////////////////////////////////
|
;/////////////////////////////////////////////////////////////////////
|
||||||
SCROLL: DJNZ SCR_DW ;!TODO § ¬¥¨âì BIOS.LP_SCROLL_UD ¨ ¯®á¬®âà¥âì, çâ® èãáâ॥
|
SCROLL: DJNZ SCR_DW ;!TODO § ¬¥¨âì BIOS.LP_SCROLL_UD ¨ ¯®á¬®âà¥âì, çâ® èãáâ॥
|
||||||
; [x] 04/04/23
|
;[x] 04/04/23
|
||||||
;LD B,A
|
;LD B,A
|
||||||
;LD C,H
|
;LD C,H
|
||||||
;PUSH BC
|
;PUSH BC
|
||||||
@ -274,21 +274,21 @@ SCROLL: DJNZ SCR_DW ;!TODO
|
|||||||
INC D
|
INC D
|
||||||
DEC H
|
DEC H
|
||||||
LD C,BIOS.WIN_MOVE
|
LD C,BIOS.WIN_MOVE
|
||||||
; [x] 29/9/23
|
;[x] 29/9/23
|
||||||
LD A,R
|
LD A,R
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;
|
;
|
||||||
XOR A
|
XOR A
|
||||||
DI ; [x] 29/9/23
|
DI ;[x] 29/9/23
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
; [x] 29/9/23
|
;[x] 29/9/23
|
||||||
POP AF
|
POP AF
|
||||||
JP PO,1F
|
JP PO,1F
|
||||||
EI
|
EI
|
||||||
1: ;
|
1: ;
|
||||||
POP HL
|
POP HL
|
||||||
POP DE
|
POP DE
|
||||||
; [x] 04/04/23
|
;[x] 04/04/23
|
||||||
;POP BC
|
;POP BC
|
||||||
POP AF
|
POP AF
|
||||||
;XOR A
|
;XOR A
|
||||||
@ -312,7 +312,7 @@ SCROLL: DJNZ SCR_DW ;!TODO
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
SCR_DW: DJNZ SCR_ERR
|
SCR_DW: DJNZ SCR_ERR
|
||||||
; [x] 04/04/23
|
;[x] 04/04/23
|
||||||
;LD B,A
|
;LD B,A
|
||||||
;LD C,H
|
;LD C,H
|
||||||
;PUSH BC
|
;PUSH BC
|
||||||
@ -325,12 +325,12 @@ SCR_DW: DJNZ SCR_ERR
|
|||||||
INC XH
|
INC XH
|
||||||
DEC H
|
DEC H
|
||||||
LD C,BIOS.WIN_MOVE
|
LD C,BIOS.WIN_MOVE
|
||||||
; [x] 29/9/23
|
;[x] 29/9/23
|
||||||
LD A,R
|
LD A,R
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;
|
;
|
||||||
XOR A
|
XOR A
|
||||||
DI ; [x] 29/9/23
|
DI ;[x] 29/9/23
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
; [x] 29/9/23
|
; [x] 29/9/23
|
||||||
POP AF
|
POP AF
|
||||||
@ -339,7 +339,7 @@ SCR_DW: DJNZ SCR_ERR
|
|||||||
1: ;
|
1: ;
|
||||||
POP HL
|
POP HL
|
||||||
POP DE
|
POP DE
|
||||||
; [x] 29/9/23
|
;[x] 29/9/23
|
||||||
;POP BC
|
;POP BC
|
||||||
POP AF
|
POP AF
|
||||||
;XOR A
|
;XOR A
|
||||||
@ -632,14 +632,14 @@ SVTEXT1 LD (SVHL1),HL
|
|||||||
LD A,(BANKTBL+TXTPAGE)
|
LD A,(BANKTBL+TXTPAGE)
|
||||||
LD B,A
|
LD B,A
|
||||||
LD C,BIOS.WIN_COPY
|
LD C,BIOS.WIN_COPY
|
||||||
; [x] 29/9/23
|
;[x] 29/9/23
|
||||||
LD A,R
|
LD A,R
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;
|
;
|
||||||
XOR A
|
XOR A
|
||||||
DI
|
DI
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
; [x] 29/9/23
|
;[x] 29/9/23
|
||||||
POP AF
|
POP AF
|
||||||
JP PO,1F
|
JP PO,1F
|
||||||
EI
|
EI
|
||||||
@ -670,14 +670,14 @@ SVHL1+1:
|
|||||||
LD A,(BANKTBL+TXTPAGE)
|
LD A,(BANKTBL+TXTPAGE)
|
||||||
LD B,A
|
LD B,A
|
||||||
LD C,BIOS.WIN_RESTORE
|
LD C,BIOS.WIN_RESTORE
|
||||||
; [x] 29/9/23
|
;[x] 29/9/23
|
||||||
LD A,R
|
LD A,R
|
||||||
PUSH AF
|
PUSH AF
|
||||||
;
|
;
|
||||||
XOR A
|
XOR A
|
||||||
DI
|
DI
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
; [x] 29/9/23
|
;[x] 29/9/23
|
||||||
POP AF
|
POP AF
|
||||||
JP PO,1F
|
JP PO,1F
|
||||||
EI
|
EI
|
||||||
@ -755,7 +755,7 @@ PRINT_INIT:
|
|||||||
LD A,#CF ; port #1F ⮫쪮 ç¥p¥§ LD BC,1F : Out (BC),reg (¢ «ìâ¥à¥ ¨¤ñâ ¯¥à¥å¢ â í⮣® ¯®àâ ¯à®æ , ¥á«¨ ® ¢ ª®¬ ¤¥  㪠§ )
|
LD A,#CF ; port #1F ⮫쪮 ç¥p¥§ LD BC,1F : Out (BC),reg (¢ «ìâ¥à¥ ¨¤ñâ ¯¥à¥å¢ â í⮣® ¯®àâ ¯à®æ , ¥á«¨ ® ¢ ª®¬ ¤¥  㪠§ )
|
||||||
LD BC,LPT2_C
|
LD BC,LPT2_C
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
; [x] 29/9/23
|
;[x] 29/9/23
|
||||||
;LD A,#63
|
;LD A,#63
|
||||||
LD A,63
|
LD A,63
|
||||||
;
|
;
|
||||||
@ -768,7 +768,7 @@ PRINT_INIT:
|
|||||||
; ª« ¢
|
; ª« ¢
|
||||||
XOR A ;LD A,0
|
XOR A ;LD A,0
|
||||||
OUT (COM_A),A
|
OUT (COM_A),A
|
||||||
; [x] 29/9/23
|
;[x] 29/9/23
|
||||||
INC A
|
INC A
|
||||||
OUT (COM_A),A
|
OUT (COM_A),A
|
||||||
DEC A
|
DEC A
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
516
|
522
|
||||||
@ -157,7 +157,6 @@ A839D: ld bc,0*256 + Dss.Exec ;
|
|||||||
CALL RESTORE_ALL
|
CALL RESTORE_ALL
|
||||||
POP AF
|
POP AF
|
||||||
;
|
;
|
||||||
|
|
||||||
;[x] 25/10/23
|
;[x] 25/10/23
|
||||||
JP NC,Ret_New_Line ; Ok
|
JP NC,Ret_New_Line ; Ok
|
||||||
;
|
;
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit a8a109eb8f4ee85e47d65911e8a0f2d2f5b71db1
|
Subproject commit 4c835d305fd5d1bc296039706d5e163c1f2224ca
|
||||||
Loading…
Reference in New Issue
Block a user