This commit is contained in:
Anatoliy Belyanskiy 2023-12-30 02:49:31 +10:00
parent 708f6826fd
commit cc6ab20c6c
8 changed files with 143 additions and 204 deletions

View File

@ -2,8 +2,12 @@
; ”γ­<CEB3>ζ¨ο #09. <20>®¬¥ΰ α¨α⥬­®£® ¤¨α<C2A8> . ; ”γ­<CEB3>ζ¨ο #09. <20>®¬¥ΰ α¨α⥬­®£® ¤¨α<C2A8> .
; ‚®§Άΰ ι ¥β ­®¬¥ΰ ¤¨α<C2A8> , c <20>®β®ΰ®£® § £ΰ㦥­  α¨α⥬ . ; ‚®§Άΰ ι ¥β ­®¬¥ΰ ¤¨α<C2A8> , c <20>®β®ΰ®£® § £ΰ㦥­  α¨α⥬ .
; ;
; <20>ਠB = 0 (GET)
; Άε®¤: B = 0 (01h - ¨α―. boot-§ £ΰγ§η¨<CEB7> α¨α⥬λ) ; Άε®¤: B = 0 (01h - ¨α―. boot-§ £ΰγ§η¨<CEB7> α¨α⥬λ)
; Άλ室: A - ­®¬¥ΰ α¨α⥬­®£® ¤¨α<C2A8>  (0=A,1=B,..) ; Άλ室: A - ­®¬¥ΰ α¨α⥬­®£® ¤¨α<C2A8>  (0=A,1=B,..)
; <20>ਠB = 1 (SET - ¨á¯. boot-§ £àã§ç¨ª á¨á⥬ë, ¯®á«¥ 祣® äã­ªæ¨ï ­¥¤®áâ㯭 )
; ¢å®¤: A - ­®¬¥à ãáâனá⢠, L - ­®¬¥à à §¤¥«  ­  ãáâனá⢥
; ¢ë室:
;///////////////////////////////////////////////////////////////////// ;/////////////////////////////////////////////////////////////////////
BOOTDSK: BOOTDSK:
INC B INC B
@ -21,11 +25,9 @@ BOOTDSK:
; ‘®®΅ι¨βμ DSS α <20> <EFBFBD>®£® ¤¨α<C2A8>  § £ΰγ¦ ¥βαο α¨α⥬ . ; ‘®®΅ι¨βμ DSS α <20> <EFBFBD>®£® ¤¨α<C2A8>  § £ΰγ¦ ¥βαο α¨α⥬ .
; <20>α―. § £ΰγ§η¨<CEB7> α¨αβ¥¬λ ¤«ο ¨­¨ζ. ο祩<C2A5>¨ "boot_disk". ; <20>α―. § £ΰγ§η¨<CEB7> α¨αβ¥¬λ ¤«ο ¨­¨ζ. ο祩<C2A5>¨ "boot_disk".
.SET: ;[ ] 17.12.2023 § £à㧪  á  ªâ¨¢­®£® à §¤¥« ,   ­¥ á ¯¥à¢®£® .SET: LD B,A ;SET BOOT DISK
;LD B,A ;SET BOOT DISK
;LD C,0
LD B,A
LD C,0 LD C,0
;[ ] 17.12.2023 § £à㧪  á  ªâ¨¢­®£® à §¤¥« ,   ­¥ á ¯¥à¢®£®
LD (.part),HL LD (.part),HL
; ;
.loop: PUSH BC .loop: PUSH BC

View File

@ -362,7 +362,7 @@ READ_FAT:
;LD IX,0 ;LD IX,0
;ADD IX,DE ; ­®¬¥à «®£. ᥪâ®à  ;ADD IX,DE ; ­®¬¥à «®£. ᥪâ®à 
; ;
LD HL,0 ; áâ. à §àï¤ ; HL:IX - SECTOR FAT FOR READING LD HL,0 ; áâ. à §àï¤ ; HL:IX - SECTOR FAT FOR READING ;!TODO FAT32
LD DE,FATPAGE.cache ; ªã¤  ; DE - FAT ADDRESS LD DE,FATPAGE.cache ; ªã¤  ; DE - FAT ADDRESS
LD A,(FatBuffer.DRIVE) ; ­®¬¥à ¤¨áª  LD A,(FatBuffer.DRIVE) ; ­®¬¥à ¤¨áª 
LD BC,FAT_CACHE.Sectors*256 + Dss.DRV.Read ;ॣ B * FAT_CACHE.Sector_Size = CASH SIZE LD BC,FAT_CACHE.Sectors*256 + Dss.DRV.Read ;ॣ B * FAT_CACHE.Sector_Size = CASH SIZE

View File

@ -22,9 +22,9 @@
; ¢ë室: ­¥â ; ¢ë室: ­¥â
;///////////////////////////////////////////////////////////////////// ;/////////////////////////////////////////////////////////////////////
CLEAR: LD C,BIOS.LP_CLS_WIN2 CLEAR: LD C,BIOS.LP_CLS_WIN2
RST ToBIOS JP ToBIOS
AND A ;AND A
RET ;RET
; ;
;///////////////////////////////////////////////////////////////////// ;/////////////////////////////////////////////////////////////////////
; ”ã­ªæ¨ï #5C. ‚뢮¤ áâப¨ ­  íªà ­. ; ”ã­ªæ¨ï #5C. ‚뢮¤ áâப¨ ­  íªà ­.
@ -181,7 +181,7 @@ RDCHAR: XOR A
RST ToBIOS RST ToBIOS
LD A,L LD A,L
LD B,H LD B,H
AND A ;AND A
RET RET
;///////////////////////////////////////////////////////////////////// ;/////////////////////////////////////////////////////////////////////
@ -205,9 +205,9 @@ WRCHAR: LD C,A
POP HL POP HL
XOR A XOR A
LD C,BIOS.WIN_PUT_SYM LD C,BIOS.WIN_PUT_SYM
RST ToBIOS JP ToBIOS
AND A ;AND A
RET ;RET
;///////////////////////////////////////////////////////////////////// ;/////////////////////////////////////////////////////////////////////
; ”ã­ªæ¨ï #59. ‘®åà ­¨âì ®ª­® íªà ­ . ; ”ã­ªæ¨ï #59. ‘®åà ­¨âì ®ª­® íªà ­ .
@ -266,7 +266,7 @@ WINREST: AND A
; A = 0 - ®ç¨é âì áâபã ; A = 0 - ®ç¨é âì áâபã
; ¢ë室: ­¥â ; ¢ë室: ­¥â
;///////////////////////////////////////////////////////////////////// ;/////////////////////////////////////////////////////////////////////
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
@ -289,9 +289,9 @@ SCROLL: DJNZ SCR_DW ;!TODO
RST ToBIOS RST ToBIOS
;[x] 29/9/23 ;[x] 29/9/23
POP AF POP AF
JP PO,1F JP PO,.skip_EI
EI EI
1: ; .skip_EI:
POP HL POP HL
POP DE POP DE
;[x] 04/04/23 ;[x] 04/04/23
@ -313,11 +313,11 @@ SCROLL: DJNZ SCR_DW ;!TODO
LD C,BIOS.LP_PRINT_SYM LD C,BIOS.LP_PRINT_SYM
RST ToBIOS RST ToBIOS
POP DE ;R01 POP DE ;R01
CALL LOCATE ;R01 JP LOCATE ;R01
AND A ;AND A
RET ;RET
.SCR_DW:
SCR_DW: DJNZ SCR_ERR DJNZ .SCR_ERR
;[x] 04/04/23 ;[x] 04/04/23
;LD B,A ;LD B,A
;LD C,H ;LD C,H
@ -340,9 +340,9 @@ SCR_DW: DJNZ SCR_ERR
RST ToBIOS RST ToBIOS
; [x] 29/9/23 ; [x] 29/9/23
POP AF POP AF
JP PO,1F JP PO,.skip2_EI:
EI EI
1: ; .skip2_EI:
POP HL POP HL
POP DE POP DE
;[x] 29/9/23 ;[x] 29/9/23
@ -354,8 +354,7 @@ SCR_DW: DJNZ SCR_ERR
; ;
RET NZ RET NZ
JP SCROLL.print JP SCROLL.print
.SCR_ERR:
SCR_ERR:
LD A,DSS_Error.sys.INVALID_FUNCTION LD A,DSS_Error.sys.INVALID_FUNCTION
SCF SCF
RET RET
@ -387,7 +386,8 @@ SELPAGE:
; ¢ë室: A - ⥪ã騩 ०¨¬ íªà ­  ; ¢ë室: A - ⥪ã騩 ०¨¬ íªà ­ 
; B - áâà ­¨æ  íªà ­  0/1 ; B - áâà ­¨æ  íªà ­  0/1
;///////////////////////////////////////////////////////////////////// ;/////////////////////////////////////////////////////////////////////
GETVMOD IN A,(SCREEN_SWITCH) GETVMOD:
IN A,(SCREEN_SWITCH)
LD B,A LD B,A
LD A,(VMODE) LD A,(VMODE)
AND A AND A
@ -610,19 +610,19 @@ ScreenDescriptorTable.Size EQU ($ - ScreenDescriptorTable)/6
;---------------------------------------------------------------------- ;----------------------------------------------------------------------
; ‘®åà ­¨âì íªà ­ ⥪áâ. ०¨¬ . ; ‘®åà ­¨âì íªà ­ ⥪áâ. ०¨¬ .
; „«ï ¡ãä¥à  íªà ­  ¨á¯. 2-ï ¡ ­ª  à áè¨à¥­¨ï „Ž‘. ; „«ï ¡ãä¥à  íªà ­  ¨á¯. 2-ï ¡ ­ª  à áè¨à¥­¨ï „Ž‘.
SAVETXT PUSH AF SAVETXT: PUSH AF
LD A,(VMODE) LD A,(VMODE)
;BIT 7,A ;BIT 7,A
CP %1000'0000 CP %1000'0000
JR NC,NOSAVET JR NC,.NOSAVET
SUB #02 SUB #02
JR C,NOSAVET JR C,.NOSAVET
;
PUSH BC PUSH BC
PUSH DE PUSH DE
PUSH HL PUSH HL
PUSH IX PUSH IX
;
PUSH AF PUSH AF
LD C,BIOS.LP_GET_PLACE LD C,BIOS.LP_GET_PLACE
RST ToBIOS RST ToBIOS
@ -631,9 +631,9 @@ SAVETXT PUSH AF
LD IX,#C000 LD IX,#C000
LD HL,#2050 LD HL,#2050
OR A OR A
JR NZ,SVTEXT1 JR NZ,.SVTEXT1
LD L,#28 LD L,#28
SVTEXT1 LD (SVHL1),HL .SVTEXT1: LD (SVHL1),HL
LD DE,#0000 LD DE,#0000
LD A,(BANKTBL+TXTPAGE) LD A,(BANKTBL+TXTPAGE)
LD B,A LD B,A
@ -647,31 +647,29 @@ SVTEXT1 LD (SVHL1),HL
RST ToBIOS RST ToBIOS
;[x] 29/9/23 ;[x] 29/9/23
POP AF POP AF
JP PO,1F JP PO,.skip_EI
EI EI
1: ; .skip_EI: ;
POP IX POP IX
POP HL POP HL
POP DE POP DE
POP BC POP BC
NOSAVET: POP AF .NOSAVET: POP AF
RET RET
;---------------------------------------------------------------------- ;----------------------------------------------------------------------
BACKTXT PUSH AF BACKTXT: PUSH AF
VVMODE+1: VVMODE+1: LD A,#00
LD A,#00
;BIT 7,A ;BIT 7,A
CP %1000'0000 CP %1000'0000
JR C,NOBACKT JR C,NOBACKT
;
PUSH BC PUSH BC
PUSH DE PUSH DE
PUSH HL PUSH HL
PUSH IX PUSH IX
LD IX,#C000 LD IX,#C000
SVHL1+1: SVHL1+1: LD HL,#2050
LD HL,#2050
LD DE,#0000 LD DE,#0000
LD A,(BANKTBL+TXTPAGE) LD A,(BANKTBL+TXTPAGE)
LD B,A LD B,A
@ -688,8 +686,7 @@ SVHL1+1:
JP PO,1F JP PO,1F
EI EI
1: ; 1: ;
TCURS+1: TCURS+1: LD DE,#0000
LD DE,#0000
CALL LOCATE CALL LOCATE
POP IX POP IX
POP HL POP HL

View File

@ -1 +1 @@
826 827

View File

@ -1,60 +0,0 @@
;-----------------------------------------------------------------------
;!FIXIT äã­ªæ¨ï ¢ë§ë¢ îé ï ¢ë¢®¤ ®è¨¡ª¨ ¤¥« ¥â ¢ ­ ç «¥ 䨫ìâà ¯® ­®¬¥à ¬ ¨ ­¥áª®«ìª® ¯¥à¢ëå ®â訢 îâáï
ERR0: DB #00
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 "Too many open files" ; 06 - ­¥â ᢮¡®¤­®£® ä ©«®¢®£® ¬ ­¨¯ã«ïâ®à 
DZ "File already 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 "Not enough 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 aborted 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
DB 0 ; ®£à ­¨ç¨â¥«ì, ç⮡ ¯à¨ ®è¨¡ª¥ ¡®«ìè¥, 祬 ¥áâì á®®¡é¥­¨© ¢ë¤ ¢ «®áì ®¡é¥¥:
DZ "Unknown error"
;
.Size EQU $-ERR0
;-----------------------------------------------------------------------

View File

@ -35,6 +35,7 @@
;R02 19-11-2002 DNS CORRECT SOME ERROR MESSAGES ;R02 19-11-2002 DNS CORRECT SOME ERROR MESSAGES
;R01 19-11-2002 DNS ADD ENVIRONMENT %VARIABLE% IN ECHO ;R01 19-11-2002 DNS ADD ENVIRONMENT %VARIABLE% IN ECHO
;=====================================================================[] ;=====================================================================[]
DEFINE SHELL_COMPILATION 1
includelua 'Shared_includes/lua/Functions.lua' includelua 'Shared_includes/lua/Functions.lua'
include 'shared_includes/constants/bios_equ.inc' include 'shared_includes/constants/bios_equ.inc'
@ -534,11 +535,10 @@ T8C24: db "OFF",0
include 'batch.asm' ; ¯ àᨭ£ bat-ä ©«®¢ include 'batch.asm' ; ¯ àᨭ£ bat-ä ©«®¢
include 'exec.asm' ; ¢ë¯®«­. ¢¢¥¤. ª®¬ ­¤ á ª®­á®«¨ include 'exec.asm' ; ¢ë¯®«­. ¢¢¥¤. ª®¬ ­¤ á ª®­á®«¨
include 'procedures/print.asm' ; ä㭪樨 ¢ë¢®¤  á®®¡é¥­¨© include 'procedures/print.asm' ; ä㭪樨 ¢ë¢®¤  á®®¡é¥­¨©
include 'messages/errors_txt.asm' ; á®®¡é¥­¨ï ®¡ ®è¨¡ª å include '../Shared_includes/constants/dss_errors.z80' ; á®®¡é¥­¨ï ®¡ ®è¨¡ª å
include 'messages/main_txt.asm' ; á®®¡é¥­¨ï include 'messages/main_txt.asm' ; á®®¡é¥­¨ï
include 'procedures/parsers.asm' ; ä㭪樨 ¯à®ç¥á뢠­¨ï ¨ ¢ë¡®à  include 'procedures/parsers.asm' ; ä㭪樨 ¯à®ç¥á뢠­¨ï ¨ ¢ë¡®à 
include 'procedures/math.asm' ; ä㭪樨 ¬ â¥¬ â¨ç¥áª¨¥ include 'procedures/math.asm' ; ä㭪樨 ¬ â¥¬ â¨ç¥áª¨¥
; ;
include 'Commands/exit.asm' ; ¢ë室 ¢ த¨â. ¯à®æ¥áá include 'Commands/exit.asm' ; ¢ë室 ¢ த¨â. ¯à®æ¥áá
include 'Commands/break.asm' ; ¢ë室 ¨§ ¯ àá¥à  bat include 'Commands/break.asm' ; ¢ë室 ¨§ ¯ àá¥à  bat

View File

@ -1 +1 @@
296 297

@ -1 +1 @@
Subproject commit f112b1359045d7fe7aa47f843011fddc5e03eba2 Subproject commit 54298bfb52826572bda5ccd0609320a9418d08c9