mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
console.asm R11. Execute.asm R12. мелкие правки и оптимизации
This commit is contained in:
parent
b6c902f4f7
commit
f9e9f13f93
@ -10,6 +10,7 @@
|
||||
;=====================================================================[]
|
||||
;Rev. Date Name Description
|
||||
;---------------------------------------------------------------------[]
|
||||
;R11 20-07-2023 BAO <09>®¯à ¢«¥ äãªæ¨ï LCPIR ¤«ï ª®à४⮣® ¢ë¡®à á®®¡é¥¨ï ®¡ ®è¨¡ª¥ ¯à¨ ®¬¥à¥ ®è¨¡ª¨ > § £®â®¢«¥ëå á®®¡é¥¨©
|
||||
;R10 16-05-2023 BAO TE•T MODE AND TEXT ARE RESTORED AFTER RETURNING FROM THE APP
|
||||
;R09 ??-??-???? DNS ;????? ????
|
||||
;R08 21-02-2003 DNS FIX BUG IN BAT-PARSER, IT SPLIT STRINGS
|
||||
@ -1795,15 +1796,23 @@ MESSAGE CALL FMESAGE
|
||||
FMESAGE INC DE
|
||||
LD HL,MSG0
|
||||
LD BC,MSG1-MSG0
|
||||
LCPIR XOR A
|
||||
LCPIR: XOR A
|
||||
CPIR
|
||||
RET PO
|
||||
RET NZ
|
||||
;R11
|
||||
XOR A
|
||||
CP (HL)
|
||||
JR Z,.no_mess
|
||||
;
|
||||
DEC DE
|
||||
LD A,D
|
||||
OR E
|
||||
JP NZ,LCPIR
|
||||
RET
|
||||
.no_mess: INC HL
|
||||
RET
|
||||
|
||||
|
||||
PUTPRM LD BC,15
|
||||
PUTPRMA LD A,(HL)
|
||||
@ -1903,62 +1912,67 @@ MSG0 DB 0
|
||||
DB "DATE EXIT PATH RMDIR VERSION "
|
||||
DB " ",CR,LF
|
||||
DB 0
|
||||
MSG1
|
||||
|
||||
MSG1:
|
||||
;-----------------------------------------------------------------------
|
||||
;!FIXIT äãªæ¨ï ¢ë§ë¢ îé ï ¢ë¢®¤ ®è¨¡ª¨ ¤¥« ¥â ¢ ç «¥ 䨫ìâà ¯® ®¬¥à ¬ ¨ ¥áª®«ìª® ¯¥à¢ëå ®â訢 îâáï
|
||||
ERR0 DB #00
|
||||
DB "Bad command or file name",0
|
||||
DB "Invalid function",0
|
||||
DB "Invalid drive number",0
|
||||
DB "File not found",0
|
||||
DB "Path not found",0
|
||||
DB "Invalid handle",0
|
||||
DB "Extended error 6",0
|
||||
DB "File exist",0
|
||||
DB "File read only",0
|
||||
DB "Root overflow",0
|
||||
DB "No free space",0
|
||||
DB "Directory not empty",0
|
||||
DB "Can't delete current directory",0
|
||||
DB "Invalid media",0
|
||||
DB "Unknown operation",0 ;R02
|
||||
DB "Directory exist",0
|
||||
DB "Invalid filename",0
|
||||
DB "Invalid EXE-file",0
|
||||
DB "Not supported EXE-file",0
|
||||
DB "Access denied",0
|
||||
DB "Not ready",0
|
||||
DB "Seek error",0
|
||||
DB "Sector not found",0
|
||||
DB "CRC error",0
|
||||
DB "Write protect",0
|
||||
DB "Read error",0
|
||||
DB "Write error",0
|
||||
DB "Drive failure",0
|
||||
DB "Extended error 28",0
|
||||
DB "Extended error 29",0
|
||||
DB "No free memory",0
|
||||
DB "Invalid memory block",0
|
||||
DB "Extended error 32",0
|
||||
DB "Extended error 33",0
|
||||
DB "Extended error 34",0
|
||||
DB "35",0
|
||||
DB "36",0
|
||||
DB "37",0
|
||||
DB "38",0
|
||||
DB "39",0
|
||||
DB "40",0
|
||||
DB "41",0
|
||||
DB "42",0
|
||||
DB "43",0
|
||||
DB "44",0
|
||||
DB "45",0
|
||||
DB "46",0
|
||||
DB "47",0
|
||||
DB "48",0
|
||||
DB "49",0
|
||||
DB "50"
|
||||
DB 0
|
||||
ERR1
|
||||
DZ "Bad command or file name"
|
||||
DZ "Invalid function" ; 01 - ¥¢¥àë© ®¬¥à äãªæ¨¨
|
||||
DZ "Invalid drive number" ; 02 - ¥¯à ¢¨«ìë© ®¬¥à ãáâனáâ¢
|
||||
DZ "File not found" ; 03 - ä ©« ¥ ®¡ à㦥
|
||||
DZ "Path not found" ; 04 - ¥¢¥àë© ¯ãâì
|
||||
DZ "Invalid handle" ; 05 - ¥áãé¥áâ¢ãî騩 ä ©«®¢ë© ¬ ¨¯ã«ïâ®à
|
||||
DZ "No free filehandle" ; 06 - ¥â ᢮¡®¤®£® ä ©«®¢®£® ¬ ¨¯ã«ïâ®à
|
||||
DZ "File exist" ; 07 - ä ©« áãé¥áâ¢ã¥â
|
||||
DZ "File read only" ; 08 - ä ©« ⮫쪮 ¤«ï ç⥨ï
|
||||
DZ "Root overflow" ; 09 - ¯¥à¥¯®«¥¨¥ ROOT (ª®à¥¢®£® ª â «®£ )
|
||||
DZ "No free space" ; 10 - ¥â ᢮¡®¤®£® ¬¥áâ ¤¨áª¥
|
||||
DZ "Directory not empty" ; 11 - ª â «®£ ¥ ¯ãáâ
|
||||
DZ "Can't delete current directory" ; 12 - ¥ã¤ ç ï ¯®¯ë⪠㤠«¨âì ⥪ã騩 ª â «®£
|
||||
DZ "Invalid media" ; 13 - ¥¨§¢¥áâë© ä®à¬ â
|
||||
DZ "Unknown operation" ;R02 ; 14 - ¥¢®§¬®¦ ï ®¯¥à æ¨ï
|
||||
DZ "Directory exist" ; 15 - ª â «®£ 㦥 ¥áâì
|
||||
DZ "Invalid filename" ; 16 - ¥¢¥à®¥ ¨¬ï
|
||||
DZ "Invalid EXE-file" ; 17 - ¥¯à ¢¨«ìë© EXE-ä ©«
|
||||
DZ "Not supported EXE-file" ; 18 - ¥ ¯®¤¤¥à¦¨¢ ¥¬ ï ¢¥àá¨ï EXE-ä ©«
|
||||
DZ "Access denied" ; 19 - à¥áãàá ¥ ¤®áâ㯥
|
||||
DZ "Not ready" ; 20 - ¥â £®â®¢®áâ¨
|
||||
DZ "Seek error" ; 21 - ®è¨¡ª ¯®§¨æ¨®¨à®¢ ¨ï
|
||||
DZ "Sector not found" ; 22 - ᥪâ®à ¥ ©¤¥
|
||||
DZ "CRC error" ; 23 - ®è¨¡ª CRC
|
||||
DZ "Write protect" ; 24 - § é¨â § ¯¨á¨
|
||||
DZ "Read error" ; 25 - ®è¨¡ª ç⥨ï
|
||||
DZ "Write error" ; 26 - ®è¨¡ª § ¯¨á¨
|
||||
DZ "Drive failure" ; 27 - á¡®© ¤¨áª
|
||||
DZ "Extended error 28"
|
||||
DZ "Extended error 29"
|
||||
DZ "No free memory" ; 30 - ¥¤®áâ â®ç® ¯ ¬ïâ¨
|
||||
DZ "Invalid memory block" ; 31 - ¥áãé¥áâ¢ãî騩 ¡«®ª ¯ ¬ïâ¨
|
||||
DZ "Extended error 32"
|
||||
DZ "Maximum PATH size exceeded" ; 33 - ¯à¥¢ëè¥ ¬ ªá¨¬ «ìë© à §¬¥à ¯¥à¥¬¥®©
|
||||
DZ "Extended error 34"
|
||||
DZ "Too many files in directory" ; 35 - ᫨誮¬ ¬®£® ä ©«®¢ ¢ ¤¨à¥ªâ®à¨¨
|
||||
DZ "Directory nesting too large or number of folders > 1023" ; 36 - ᫨誮¬ ¡®«ìè ï ¢«®¦¥®áâì ª â «®£®¢ ¨«¨ ª®«¨ç¥á⢮ ¯ ¯®ª > 1023
|
||||
DZ "Operation interrupted by user" ; 37 - ®¯¥à æ¨ï ¯à¥à¢ ¯®«ì§®¢ ⥫¥¬
|
||||
DZ "Common error" ; 38 - ®¡é ï ®è¨¡ª
|
||||
DZ "Unexpected application termination" ; 39 - unexpected application termination / ¥®¦¨¤ ®¥ § ¢¥à襨¥ ¯à¨«®¦¥¨ï
|
||||
DZ "40"
|
||||
DZ "41"
|
||||
DZ "42"
|
||||
DZ "43"
|
||||
DZ "44"
|
||||
DZ "45"
|
||||
DZ "46"
|
||||
DZ "Wrong video mode" ; 48 - ¥¯à ¢¨«ìë© ¢¨¤¥®à¥¦¨¬
|
||||
DZ "48"
|
||||
DZ "49"
|
||||
DZ "50"
|
||||
;R11
|
||||
BYTE 0 ; ®£à ¨ç¨â¥«ì, ç⮡ ¯à¨ ®è¨¡ª¥ ¡®«ìè¥, 祬 ¥áâì á®®¡é¥¨© ¢ë¤ ¢ «®áì ®¡é¥¥:
|
||||
DZ "Unknown error"
|
||||
;
|
||||
ERR1:
|
||||
;-----------------------------------------------------------------------
|
||||
|
||||
GETPATH:
|
||||
LD C,Dss.CurDisk
|
||||
|
||||
40
DSS/DOS5.ASM
40
DSS/DOS5.ASM
@ -174,7 +174,7 @@ DEL01 EX DE,HL ; hl=
|
||||
CALL WR_FAT
|
||||
JP SAVEDIR ; á¡à®á¨âì ª¥è ª â «®£ ¤¨áª
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #10. <20>¥à¥¨¬¥®¢ ¨¥ ä ©« .
|
||||
; ƒ«®¡ «ìë¥ á¨¬¢®«ë * ¨ ? ¢ ¨¬¥ å ä ©«®¢ ¥ ¤®¯ã᪠îâáï.
|
||||
;
|
||||
@ -184,7 +184,7 @@ DEL01 EX DE,HL ; hl=
|
||||
;
|
||||
; INPUT: HL - "old_name.ext",#00 without simbols * ?
|
||||
; DE - "new_name.ext",#00 without simbols * ?
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
RENAME PUSH DE
|
||||
LD DE,MASKARE
|
||||
CALL MASK
|
||||
@ -249,7 +249,7 @@ OPENATR:
|
||||
;R02
|
||||
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #11. Žâªàë⨥ ä ©« .
|
||||
;
|
||||
; ¢å®¤: HL - 㪠§ â¥«ì ¨¬ï ä ©«
|
||||
@ -259,7 +259,7 @@ OPENATR:
|
||||
; A=2 § ¯¨áì
|
||||
; ¢ë室: A - ¤¥áªà¨¯â®à ä ©« , ¥á«¨ CF=0
|
||||
; ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
OPEN_FN:
|
||||
_mSavePath
|
||||
OPEN: ;R08
|
||||
@ -931,12 +931,12 @@ IT_DIR: LD E,(IX+_sFM.ST_CLUSTER)
|
||||
RET
|
||||
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #1E. ˆä®à¬ æ¨ï ® ⥪ã饬 ª â «®£¥.
|
||||
;
|
||||
; ¢å®¤: HL - ¡ãä¥à ¢ ¯ ¬ï⨠256 ¡ ©â
|
||||
; ¢ë室: A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
CURRDIR: EX DE,HL
|
||||
LD HL,DIRSPEC
|
||||
CURDIR1 LD A,(HL)
|
||||
@ -1262,7 +1262,7 @@ HGUPPER CP '
|
||||
RET
|
||||
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #21. ’¥ªãé ï ¤ â ¨ ¢à¥¬ï.
|
||||
;
|
||||
; ¢å®¤: ¥â
|
||||
@ -1273,7 +1273,7 @@ HGUPPER CP '
|
||||
; L - ¬¨ãâë
|
||||
; B - ᥪã¤ë
|
||||
; C - ¤¥ì ¥¤¥«¨
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
SYSTIME LD C,BIOS.CMOS_TEST
|
||||
RST ToBIOS
|
||||
JP C,NOCMOS
|
||||
@ -1396,7 +1396,7 @@ NOCMOS2 LD C,0
|
||||
AND A
|
||||
RET
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #22. “áâ ®¢¨âì ⥪ãéãî ¤ âã ¨ ¢à¥¬ï.
|
||||
;
|
||||
; ¢å®¤: D - ¤¥ì
|
||||
@ -1406,7 +1406,7 @@ NOCMOS2 LD C,0
|
||||
; L - ¬¨ãâë
|
||||
; B - ᥪã¤ë
|
||||
; ¢ë室: A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
SETTIME PUSH IX
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
@ -1492,7 +1492,7 @@ NC_YEAR DW YEAR ;YEAR
|
||||
|
||||
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #17. ˆä®à¬ æ¨ï ® ¤ ⥠¨ ¢à¥¬¥¨ ä ©« .
|
||||
;
|
||||
; ¢å®¤: A - ¤¥áªà¨¯â®à ä ©«
|
||||
@ -1503,7 +1503,7 @@ NC_YEAR DW YEAR ;YEAR
|
||||
; L - ¬¨ãâë
|
||||
; B - ᥪã¤ë
|
||||
; A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
GET_D_T
|
||||
CALL SET_FM
|
||||
RET C
|
||||
@ -1516,7 +1516,7 @@ GET_D_T
|
||||
AND A
|
||||
RET
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #18. ˆ§¬¥¥¨¥ ¤ âë ¨ ¢à¥¬¥¨ ä ©« .
|
||||
;
|
||||
; ¢å®¤: A - ¤¥áªà¨¯â®à ä ©«
|
||||
@ -1527,7 +1527,7 @@ GET_D_T
|
||||
; L - ¬¨ãâë
|
||||
; B - ᥪã¤ë
|
||||
; ¢ë室: A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
PUT_D_T PUSH AF
|
||||
CALL MK_TIME ; § ª®¤¨à®¢ âì ¢à¥¬ï/¤ âã
|
||||
POP AF ; ¤¥áªà¨¯â®à
|
||||
@ -1644,7 +1644,7 @@ RMKTIME EX DE,HL
|
||||
RET
|
||||
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #1D. ‘¬¥ ⥪ã饣® ª â «®£ .
|
||||
; Œ¥ï¥â ⥪ã騩 ª â «®£ ¨ ⥪ã騩 ¤¨áª, ¥á«¨ ® 㪠§ ¢ ä ©«®¢®©
|
||||
; ᯥæ¨ä¨ª 樨. …᫨ ¯ãâì ç¨ ¥âáï á "\" - íâ® ®§ ç ¥â ¯ãâì ®â
|
||||
@ -1654,7 +1654,7 @@ RMKTIME EX DE,HL
|
||||
; ¢ë室: ¥â
|
||||
;
|
||||
; INPUT: HL - "C:\DIR\DIR\DIR_NAME[\]",0
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
CHDIR: CALL GETWORD ; â¥áâ ¤®¯ãáâ. ¨¬ï ¨ áâà. ¤¨áª
|
||||
RET C
|
||||
LD HL,TMPNAME
|
||||
@ -1663,14 +1663,14 @@ CHDIR: CALL GETWORD ;
|
||||
CALL NZ,OPENDIR
|
||||
RET
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #1B. ‘®§¤ ¨¥ ª â «®£ .
|
||||
;
|
||||
; ¢å®¤: HL - 㪠§ â¥«ì ¨¬ï ª â «®£
|
||||
; ¢ë室: A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||
;
|
||||
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
MKDIR:
|
||||
_mSavePath
|
||||
CALL GETWORD ; â¥áâ ¤®¯ãáâ. ¨¬ï ¨ áâà. ¤¨áª
|
||||
@ -1824,7 +1824,7 @@ MKD11 POP AF
|
||||
AND A
|
||||
RET
|
||||
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
; ”ãªæ¨ï #1C. “¤ «¥¨¥ ª â «®£ .
|
||||
; Œ®¦® 㤠«¨âì ⮫쪮 ¯ãá⮩ ª â «®£.
|
||||
;
|
||||
@ -1832,7 +1832,7 @@ MKD11 POP AF
|
||||
; ¢ë室: A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||
;
|
||||
; INPUT: HL - "C:\DIR\DIR\DIR_NAME",0
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
RMDIR:
|
||||
_mSavePath
|
||||
CALL GETWORD
|
||||
|
||||
@ -61,7 +61,7 @@
|
||||
;
|
||||
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
||||
; <[CLOSE TASK]> ;
|
||||
RST_0x00: JP LEAVE ;
|
||||
RST_0x00: JP RETFAR ; ;EXECUTE.ASM R12
|
||||
;' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ';
|
||||
;
|
||||
|
||||
@ -433,9 +433,11 @@ BootSector _sBOOT_SEC = BUFFERSplace.BootSector
|
||||
EXEBUFF _sEXE_HEADER = BUFFERSplace.EXE_Header
|
||||
XSTACK EQU BUFFERSplace.Stack.SPoint
|
||||
BUFFER EQU BUFFERSplace.Buffer
|
||||
SECBUF EQU BUFFER
|
||||
SECBUF EQU BUFFER ;!TODO ®â¤¥«¨âì SECBUF ®â BUFFER
|
||||
|
||||
CLEAR_ZONE.size EQU _sBuffers
|
||||
|
||||
ASSERT (BUFFERSplace+_sBuffers)<#3FFF, "Warning!!! OUT OF SLOT0"
|
||||
DISPLAY "--- --- --- --- --- --- --- ---"
|
||||
DISPLAY "BUFFERSplace.BootSector ",/H,BUFFERSplace.BootSector
|
||||
DISPLAY "BootSector ", /H, BootSector
|
||||
@ -446,7 +448,6 @@ CLEAR_ZONE.size EQU _sBuffers
|
||||
|
||||
/*
|
||||
;R11 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||||
;!TEST
|
||||
FM_BUF _sFM=$
|
||||
.Size EQU _sFM
|
||||
.FullSize EQU FMCOUNT*FM_BUF.Size
|
||||
@ -492,7 +493,7 @@ SECBUF EQU BUFFER
|
||||
;|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||;
|
||||
; !!!!! íâ ¯à®æ¥¤ãà § âàñâáï ¯®á«¥ ¨á¯®«¥¨ï
|
||||
DEPLOY:
|
||||
;Allocate memory
|
||||
;Allocate memory
|
||||
LD BC,USING_MEMPAGES*256 + BIOS.GetMem
|
||||
RST ToBIOS
|
||||
RET C ;R10
|
||||
|
||||
1108
DSS/EXECUTE.ASM
1108
DSS/EXECUTE.ASM
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@
|
||||
19
|
||||
40
|
||||
@ -1 +1 @@
|
||||
Subproject commit afe66b1f354cab8d2780826697cf371d1d9e389d
|
||||
Subproject commit 94cb0e39f321bd11519008801187d93eacb280f2
|
||||
Loading…
Reference in New Issue
Block a user