bug fixes, ide secondary added

This commit is contained in:
Anatoliy Belyanskiy 2023-07-01 06:40:48 +10:00
parent 5f778d0f36
commit b02517ea5f
12 changed files with 82 additions and 71 deletions

View File

@ -228,8 +228,7 @@ CONTINU
LD C,Dss.BootDSK LD C,Dss.BootDSK
RST #10 RST #10
LD B,"A" ADD A,"A"
ADD A,B
LD HL,ROOT LD HL,ROOT
LD (HL),A LD (HL),A

View File

@ -362,8 +362,7 @@ INPUT XOR A
CALL RES_CUR CALL RES_CUR
RET RET
COMP COMP: CALL EVALCMD ;R05
CALL EVALCMD ;R05
LD HL,CMDLINE LD HL,CMDLINE
DEC HL DEC HL
LD C,(HL) LD C,(HL)
@ -394,9 +393,9 @@ COMP005 EX AF,AF'
COMP004 PUSH BC COMP004 PUSH BC
PUSH DE PUSH DE
COMP000 LD A,(DE) COMP000 LD A,(DE)
CP #61 CP 'a'
JP C,COMP001 JP C,COMP001
CP #7B CP '{'
JP NC,COMP001 JP NC,COMP001
SUB #20 SUB #20
COMP001 CP (HL) COMP001 CP (HL)
@ -865,7 +864,6 @@ MOVLBAK LD A,(HL)
RET RET
; HL - STRING WITH %VAR% ; HL - STRING WITH %VAR%
EVALSTR EVALSTR
;R04 LD DE,DTA ;R04 LD DE,DTA
VARLOOP VARLOOP

View File

@ -5,6 +5,7 @@
;--------------------------------------------------------------- ;---------------------------------------------------------------
;Rev Date Name Description ;Rev Date Name Description
;--------------------------------------------------------------- ;---------------------------------------------------------------
;[ ] 㢥«¨ç¨âì ¤«¨­ã PATH ¨ áâப¨ BAT
;[ ] ¯ãâì ⥪ã饣® ª â «®£  ¢ DIR ¢ë¢®¤¨âáï á £«îª®¬ ¥á«¨ ®­ ¤«¨­¥¥ 256 ¡ ©â®¢ ;[ ] ¯ãâì ⥪ã饣® ª â «®£  ¢ DIR ¢ë¢®¤¨âáï á £«îª®¬ ¥á«¨ ®­ ¤«¨­¥¥ 256 ¡ ©â®¢
;[ ] ¯ãâì ¢ ¯à¨£« è¥­¨¨ ª®­á®«¨ ¢ë¢®¤¨âáï á £«îª®¬ ¥á«¨ ¯ãâì ¤«¨­¥¥ 256 ¡ ©â®¢ ;[ ] ¯ãâì ¢ ¯à¨£« è¥­¨¨ ª®­á®«¨ ¢ë¢®¤¨âáï á £«îª®¬ ¥á«¨ ¯ãâì ¤«¨­¥¥ 256 ¡ ©â®¢
;[ ] ;!FIXIT ª ª®©-â® ¡ £ ¯à¨ ª®â®à®¬ ¥á«¨ ­¥â ¤¨áª  ¨ ­  ­¥£® ¯®«¥§âì, â® ¢áñ «®¬ ¥âáï ;[ ] ;!FIXIT ª ª®©-â® ¡ £ ¯à¨ ª®â®à®¬ ¥á«¨ ­¥â ¤¨áª  ¨ ­  ­¥£® ¯®«¥§âì, â® ¢áñ «®¬ ¥âáï
@ -263,6 +264,8 @@ PORTAL.outMAIN: ;
; <20>¥à¢ë© áâ àâ á¨á⥬ë, ¯®á«¥ ¨­¨æ¨ «¨§ æ¨¨  ¤à¥á ¢ â ¡«¨æ¥ ¬¥­ï¥âáï ­  VERSION ; <20>¥à¢ë© áâ àâ á¨á⥬ë, ¯®á«¥ ¨­¨æ¨ «¨§ æ¨¨  ¤à¥á ¢ â ¡«¨æ¥ ¬¥­ï¥âáï ­  VERSION
F_START: F_START:
DI DI
LD (.saveDRV),A
CALL DEPLOY ;R07 ;íâ  ¯à®æ¥¤ãà  § âàñâáï ¯®á«¥ ¨á¯®«­¥­¨ï CALL DEPLOY ;R07 ;íâ  ¯à®æ¥¤ãà  § âàñâáï ¯®á«¥ ¨á¯®«­¥­¨ï
RET C ;R10 RET C ;R10
CALL KINIT CALL KINIT
@ -274,10 +277,16 @@ F_START:
RST #30 RST #30
;CALL INITDVC ;R05 ;CALL INITDVC ;R05
;R05 ;R05
LD C,#00 LD C,#00
RST #18 RST #18
LD (LDRIVE),A LD (LDRIVE),A
;R05 ;R05
.saveDRV+1: LD A,0
LD B,1
LD C,Dss.BootDSK
RST #10
EI EI
;Set new address fn. VERSION ;Set new address fn. VERSION
LD HL,ADRST10 LD HL,ADRST10

View File

@ -7,7 +7,7 @@
;Rev Date Name Description ;Rev Date Name Description
;------------------------------------------------------------- ;-------------------------------------------------------------
;R11 17-04-2023 BAO ‚६¥­­ë© ª®áâë«ì ¤«ï ­¥¤®¯ã᪠­¨ï ¯¥à¥¯®«­¥­¨ï ¡ãä¥à  ¯ã⨠ª â «®£  ;R11 17-04-2023 BAO ‚६¥­­ë© ª®áâë«ì ¤«ï ­¥¤®¯ã᪠­¨ï ¯¥à¥¯®«­¥­¨ï ¡ãä¥à  ¯ã⨠ª â «®£ 
;R10 15-04-2023 BAO FIXED BUG WITH CHANGE DISK WITHOUT CHANGE PATH ;!FIXIT ¯®ª  ¢ ¢¨¤¥ § ¯« âª¨ ¯®«ã­¥à ¡®â î饩 ;R10 15-04-2023 BAO ;????? FIXED BUG WITH CHANGE DISK WITHOUT CHANGE PATH ;!FIXIT ¯®ª  ¢ ¢¨¤¥ § ¯« âª¨ ¯®«ã­¥à ¡®â î饩
;R09 13-04-2023 BAO FIX BUG WITH PARSING DIRECTORY BUFFER ;R09 13-04-2023 BAO FIX BUG WITH PARSING DIRECTORY BUFFER
;R08 15-04-2003 DNS SAVE AND RESTORE CURñPATH MACROS ;R08 15-04-2003 DNS SAVE AND RESTORE CURñPATH MACROS
;R07 06-02-2003 DNS FIX BUG IN MASK ROUTINE, IT ALLOW NAMES WHICH BEGAN ;R07 06-02-2003 DNS FIX BUG IN MASK ROUTINE, IT ALLOW NAMES WHICH BEGAN
@ -90,7 +90,6 @@ CREATE
; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00 ; INPUT: HL - "C:\DIR1\DIR2\filename.ext",#00
; OUTPUT: A - FM ; OUTPUT: A - FM
CREAT_N CREAT_N
_mSavePath _mSavePath
AND #E7 ;R04 %76A00SHR AND #E7 ;R04 %76A00SHR
@ -624,18 +623,18 @@ TMPNAME: DB ' ',#00 ; 12
; ;
CHNDISK: CHNDISK:
;R10 ;????? R10
; CALL OPENDSK CALL OPENDSK
; RET C RET C
; LD HL,DIRSPEC+1 LD HL,DIRSPEC+1
; LD (HL),0 LD (HL),0
; PUSH AF PUSH AF
; CALL OPENDIR CALL OPENDIR
; POP BC POP BC
; RET C RET C
; LD A,B LD A,B
; RET RET
;R10 ;????? R10
OPENDSK: OPENDSK:
PUSH AF PUSH AF
LD C,1 LD C,1
@ -1195,7 +1194,7 @@ HGUPPER CP '
DEC A DEC A
RET RET
SYSTIME LD C,#F5 SYSTIME LD C,BIOS.CMOS_TEST
RST ToBIOS RST ToBIOS
JP C,NOCMOS JP C,NOCMOS
LD D,7 ;DAY LD D,7 ;DAY
@ -1218,7 +1217,7 @@ SYSTIME LD C,#F5
CALL RCMOS CALL RCMOS
PUSH AF PUSH AF
LD D,6 ;WEEK DAY LD D,6 ;WEEK DAY
LD C,#F6 LD C,BIOS.CMOS_RD
RST ToBIOS RST ToBIOS
POP DE POP DE
LD E,A LD E,A
@ -1227,7 +1226,7 @@ SYSTIME LD C,#F5
CALL RCMOS ;READ AND CONVERT TO DECIMAL CALL RCMOS ;READ AND CONVERT TO DECIMAL
PUSH AF PUSH AF
LD D,#32 ;CENTURY LD D,#32 ;CENTURY
LD C,#F6 LD C,BIOS.CMOS_RD
RST ToBIOS RST ToBIOS
LD XH,A LD XH,A
@ -1245,7 +1244,7 @@ XXIAGE LD A,#20
JR Z,GOODAGE JR Z,GOODAGE
BADAGE PUSH AF BADAGE PUSH AF
LD D,#32 ;CENTURY LD D,#32 ;CENTURY
LD C,#F7 LD C,BIOS.CMOS_WR
RST ToBIOS RST ToBIOS
POP AF POP AF
LD XH,A LD XH,A
@ -1276,7 +1275,7 @@ GOODAGE POP AF
AND A AND A
RET RET
RCMOS LD C,#F6 RCMOS LD C,BIOS.CMOS_RD
RST ToBIOS RST ToBIOS
; INPUT : A - BCD ; INPUT : A - BCD
; OUTPUT: A - HEX ; OUTPUT: A - HEX
@ -1344,7 +1343,7 @@ SETTIME PUSH IX
POP BC POP BC
LD A,C LD A,C
LD D,6 ;WEEK DAY LD D,6 ;WEEK DAY
LD C,#F7 LD C,BIOS.CMOS_WR
RST ToBIOS RST ToBIOS
POP HL POP HL
@ -1367,7 +1366,7 @@ YR INC A
WCMOS CALL HEX2BCD WCMOS CALL HEX2BCD
LD C,#F7 LD C,BIOS.CMOS_WR
RST ToBIOS RST ToBIOS
RET RET
@ -1430,7 +1429,6 @@ PUT_D_T PUSH AF
;OUTPUT: DE - hhhhhmmmmmmsssss h - hour, m - min, s - sec/2 ;OUTPUT: DE - hhhhhmmmmmmsssss h - hour, m - min, s - sec/2
; BC - yyyyyyymmmmddddd y - year, m - month, d - day ; BC - yyyyyyymmmmddddd y - year, m - month, d - day
; (1980-2108) ; (1980-2108)
MK_TIME LD A,L MK_TIME LD A,L
RLCA RLCA
RLCA RLCA
@ -1468,7 +1466,6 @@ MK_TIME LD A,L
; H - HOUR; L - MINUTE ; H - HOUR; L - MINUTE
; B - SECOND (0...59) ; B - SECOND (0...59)
; IX- YEAR (0...65535) ; IX- YEAR (0...65535)
RMKTIME EX DE,HL RMKTIME EX DE,HL
LD A,C LD A,C
AND #1F AND #1F

View File

@ -61,7 +61,6 @@ BOOTDSK:
RET RET
;GET BOOT DISK ;GET BOOT DISK
GETBOOT LD A,(BOOTDRV) GETBOOT LD A,(BOOTDRV)
AND A AND A
RET RET

View File

@ -213,7 +213,7 @@ PORTAL.outDRV: ;
; ;
; ;
DISPATCH DISPATCH:
CALL INITDVC CALL INITDVC
LD HL,INTDISK LD HL,INTDISK
LD (ADCALL),HL LD (ADCALL),HL

View File

@ -27,9 +27,15 @@ ENVIRON:
SCF SCF
RET RET
INITENV LD A,ENVPAGE INITENV:
LD A,ENVPAGE
CALL BANK CALL BANK
PUSH AF PUSH AF
;!TEST
LD A,(BOOTDRV)
ADD A,'A'
LD (DEFAULT_ENV.boot_disk),A
;
LD DE,ENVIRONMENT LD DE,ENVIRONMENT
XOR A XOR A
LD (DE),A LD (DE),A
@ -79,8 +85,7 @@ READENV:
XOR A XOR A
RET RET
GETENV GETENV: PUSH DE
PUSH DE
CALL ENV_EX CALL ENV_EX
LD A,ENVPAGE LD A,ENVPAGE
@ -92,14 +97,14 @@ GETENV
LD A,0 LD A,0
LD (DE),A LD (DE),A
JR NC,GE_1 JR NC,GE_1
GE_0 LD A,(HL) GE_0: LD A,(HL)
LDI LDI
OR A OR A
JR NZ,GE_0 JR NZ,GE_0
DEC DE ;R01 DEC DE ;R01
LD A,#FF LD A,#FF
GE_1 EX AF,AF' GE_1: EX AF,AF'
OUT (SLOT3),A OUT (SLOT3),A
EX AF,AF' EX AF,AF'
AND A AND A
@ -119,7 +124,6 @@ SETENV: CALL ENV_EX
OR C OR C
JR Z,PENV JR Z,PENV
LDIR LDIR
; DEC DE
PENV LD A,(ENVVALUE) PENV LD A,(ENVVALUE)
OR A OR A
JR Z,CLR_ENV JR Z,CLR_ENV
@ -174,7 +178,7 @@ END_OF_ENV
POP DE POP DE
RET RET
ENV_EX LD B,32 ENV_EX LD B,ENVIRONMENT_STRING_LENGTH
LD DE,ENVNAME LD DE,ENVNAME
ENV_E0 XOR A ENV_E0 XOR A
LD (DE),A LD (DE),A
@ -189,6 +193,11 @@ ENV_E1 LD A,(HL)
LD (DE),A LD (DE),A
INC DE INC DE
DJNZ ENV_E1 DJNZ ENV_E1
;!TEST from Vasil
ld a,b
ld (de),a ; ®¡à¥§ âì ᫨誮¬ ¤«¨­­ãî áâபã
inc de
;
SCF SCF
RET RET
@ -219,23 +228,20 @@ ENV_E2 LD A,(HL)
ENVNAME EQU EXEBUFF ;DS 32 ENVNAME EQU EXEBUFF ;DS 32
ENVVALUE EQU BUFFER //#3800 ; BUFFER ;DS 128 ENVVALUE EQU BUFFER //#3800 ; BUFFER ;DS 128
ENVSIZE DW 1 ;E_END-ENVIRONMENT ;160 ENVSIZE DW DEF_ENV_SIZE ;E_END-ENVIRONMENT ;160
ENVIRONMENT EQU ENVADDR ENVIRONMENT EQU ENVADDR
DEFAULT_ENV DEFAULT_ENV: DB 'BOOTDSK='
; DB "SYSTEM=C:\\system.exe",0 .boot_disk: DB 'X:',0
; DB "PATH=\\SYSTEM\\;\\COMMAND\\;",0
DB 0 ; "",0
DEF_ENV_SIZE EQU $-DEFAULT_ENV DEF_ENV_SIZE EQU $-DEFAULT_ENV
; DB 'SYSTEM=C:\system.exe',0
; DB 'PATH=\SYSTEM\;\COMMAND\;',0
; DB 0 ; DB 0
; DB "SYSTEM=C:\system.exe",0 ; DB 'SYSTEM=C:\system.exe',0
; DB "PATH=C:\;\FN\;",0 ; DB 'PATH=C:\;\FN\;',0
; DB "OS=ESTEX",0 ; DB 'OS=ESTEX',0
; DB "VAR1=000",0 ; DB 'VAR1=000',0
; DB "OSNAME=ESTEX 2002",0 ; DB 'OSNAME=ESTEX 2002',0
; DB 0 ; DB 0
;E_END
;[END]

View File

@ -745,7 +745,6 @@ EXEC0_SHORT:
;FILE NO FOUND, SEARCHING IN PATH ;FILE NO FOUND, SEARCHING IN PATH
; GET PATH AND ETC. ; GET PATH AND ETC.
LD HL,ENVPATH LD HL,ENVPATH
LD DE,ENVTEMP LD DE,ENVTEMP
LD B,1 LD B,1

View File

@ -315,7 +315,6 @@ W_T_F01 SLA E
;R01 ;R01
; A - NEW FAT BLOCK ; A - NEW FAT BLOCK
RE_FAT PUSH HL RE_FAT PUSH HL
PUSH AF PUSH AF
LD A,(FATCASH+1) LD A,(FATCASH+1)

View File

@ -160,8 +160,8 @@
LD_DSK EQU 16 LD_DSK EQU 16
IDE0 EQU #0C1C0 ; IDE0 EQU #0C1C0
IDE1 EQU #0C1C8 ; IDE1 EQU #0C1C8
PART EQU #C000 PART EQU #C000
HDDRIVE INC C HDDRIVE INC C
@ -316,7 +316,6 @@ LOGDRV DS 12*LD_DSK
;+05 LONG SIZE IN SECTORS ;+05 LONG SIZE IN SECTORS
;+09 FREE ;+09 FREE
;+15 ;+15
SELHDD PUSH DE SELHDD PUSH DE
PUSH BC PUSH BC
PUSH HL PUSH HL
@ -430,10 +429,15 @@ HGETPRM EX DE,HL
LD A,(IY+0) LD A,(IY+0)
LD C,A LD C,A
LD IY,IDE0 ;!FIXIT IDE CHANELS âã⠢ᥣ® 2 ª ­ «  à ¡®â îâ LD IY,SYS_PAGE.IDE_0
AND #0F AND #0F
JR Z,GELH1 JR Z,GELH1
LD IY,IDE1 LD IY,SYS_PAGE.IDE_1
CP 2
JR C,GELH1
LD IY,SYS_PAGE.IDE_2
JR Z,GELH1
LD IY,SYS_PAGE.IDE_3
GELH1 IN A,(SLOT3) GELH1 IN A,(SLOT3)
PUSH AF PUSH AF
LD A,SYS_PAGE LD A,SYS_PAGE

View File

@ -23,14 +23,15 @@ ENVPAGE EQU 2
DRVPAGE EQU 3 DRVPAGE EQU 3
; ;
DIRSPEC.DEPTH EQU 256 ; '\' + 1..255 DIRSPEC.DEPTH EQU 256 ; '\' + 1..255
ENVIRONMENT_STRING_LENGTH EQU 255
TXTADDR EQU #C000 TXTADDR EQU #C000
ENVADDR EQU #E400 ENVADDR EQU #E400
DIR EQU #C000 DIR EQU #C000
FAT EQU #C000 FAT EQU #C000
FMCOUNT EQU 10 ; Š®«¨ç¥á⢮ ä ©«®¢ëå ¬ ­¨¯ã«ïâ®à®¢ FMCOUNT EQU 10 ; Š®«¨ç¥á⢮ ä ©«®¢ëå ¬ ­¨¯ã«ïâ®à®¢
HANDBUF.SIZE EQU 32 HANDBUF.SIZE EQU 32
;----------------------------------------------------; ;----------------------------------------------------;
; ;

@ -1 +1 @@
Subproject commit 520455dbdc4c10f1850fd697aa5be4703d6cfd27 Subproject commit 6e9cb7fd969b98df5cc98ec109bab2be59d46208