console.asm R11. Execute.asm R12. мелкие правки и оптимизации

This commit is contained in:
Anatoliy Belyanskiy 2023-07-20 04:45:26 +10:00
parent b6c902f4f7
commit f9e9f13f93
6 changed files with 731 additions and 556 deletions

View File

@ -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

View File

@ -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

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
19
40

@ -1 +1 @@
Subproject commit afe66b1f354cab8d2780826697cf371d1d9e389d
Subproject commit 94cb0e39f321bd11519008801187d93eacb280f2