mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-18 10:50:34 +03:00
-bug in SCANDRV
-bug in NSECTOR -bug in SYS.EXE (boot.asm)
This commit is contained in:
parent
615d9cb2e2
commit
851c215879
@ -60,12 +60,12 @@ BEGIN: in a,(SLOT3)
|
|||||||
ld c,0 ; ã§ âì ¢¥àá¨î „Ž‘
|
ld c,0 ; ã§ âì ¢¥àá¨î „Ž‘
|
||||||
rst 10h
|
rst 10h
|
||||||
ex de,hl ; hl=⥪. ¢¥àá¨ï
|
ex de,hl ; hl=⥪. ¢¥àá¨ï
|
||||||
ld de,013Ch ; 1.60 d=¢¥àá¨ï, e=¬®¤¨ä¨ª æ¨ï, bc - ®¬¥à ᡮન. de = #013E, bc = #0064 dos ver 1.62.100
|
ld de,#013C ; 1.60 d=¢¥àá¨ï, e=¬®¤¨ä¨ª æ¨ï, bc - ®¬¥à ᡮન. de = #013E, bc = #0064 dos ver 1.62.100
|
||||||
and a
|
and a
|
||||||
sbc hl,de
|
sbc hl,de
|
||||||
jr nc,version_ok
|
jr nc,version_ok
|
||||||
pop hl
|
pop hl
|
||||||
ld a,9 ; ¨¤¥ªá áâப¨ "Error: Need DSS version 1.60..."
|
ld a,11 ; ¨¤¥ªá áâப¨ "Error: Need DSS version 1.60..."
|
||||||
call print_string
|
call print_string
|
||||||
ld a,-1
|
ld a,-1
|
||||||
jp exit
|
jp exit
|
||||||
|
|||||||
@ -918,7 +918,7 @@ WOV3: PUSH HL
|
|||||||
; LD DE,#0000
|
; LD DE,#0000
|
||||||
; ADC HL,DE
|
; ADC HL,DE
|
||||||
; RET
|
; RET
|
||||||
/////////////////////////////////////
|
////////////// NEW //////////////////
|
||||||
; in: HL - CLUSTER
|
; in: HL - CLUSTER
|
||||||
; out: HL:IX - SECTOR
|
; out: HL:IX - SECTOR
|
||||||
NSECTOR: DEC HL
|
NSECTOR: DEC HL
|
||||||
@ -931,16 +931,16 @@ NSECTOR: DEC HL
|
|||||||
RRA
|
RRA
|
||||||
.loop: ADD HL,HL
|
.loop: ADD HL,HL
|
||||||
RL E
|
RL E
|
||||||
RL D
|
; RL D
|
||||||
RRCA
|
RRA
|
||||||
JP NC,.loop
|
JP NC,.loop
|
||||||
;
|
;
|
||||||
.skip: EX DE,HL
|
.skip: EX DE,HL
|
||||||
LD XL,E
|
LD XL,E
|
||||||
LD XH,D
|
LD XH,D
|
||||||
LD DE,(FatBuffer.DAT_FRM) ;first data sector
|
LD DE,(FatBuffer.DAT_FRM) ;first data sector
|
||||||
|
XOR A
|
||||||
ADD IX,DE
|
ADD IX,DE
|
||||||
; A=0
|
|
||||||
LD D,A
|
LD D,A
|
||||||
LD E,A
|
LD E,A
|
||||||
ADC HL,DE
|
ADC HL,DE
|
||||||
|
|||||||
@ -239,9 +239,10 @@ RD_BPB: LD C,SLOT3
|
|||||||
LD H,(IY+_sBOOT_SEC.RESERVE+1)
|
LD H,(IY+_sBOOT_SEC.RESERVE+1)
|
||||||
;
|
;
|
||||||
|
|
||||||
; LD E,(IY+#1C) ;Hidden sec
|
; LD E,(IY+_sBOOT_SEC.HIDDEN) ;Hidden sec
|
||||||
; LD D,(IY+#1D)
|
; LD D,(IY+_sBOOT_SEC.HIDDEN+1)
|
||||||
; ADD HL,DE
|
; ADD HL,DE
|
||||||
|
|
||||||
;LD (FatBuffer.FAT_FRM),HL ; first sector FAT
|
;LD (FatBuffer.FAT_FRM),HL ; first sector FAT
|
||||||
LD (FatBuffer.FAT1_XX),HL ; first sector FAT #1
|
LD (FatBuffer.FAT1_XX),HL ; first sector FAT #1
|
||||||
LD (FatBuffer.FAT2_XX),HL
|
LD (FatBuffer.FAT2_XX),HL
|
||||||
@ -319,8 +320,7 @@ RD_BPB: LD C,SLOT3
|
|||||||
LD (FatBuffer.CLU_LEN),HL
|
LD (FatBuffer.CLU_LEN),HL
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
LD HL,#3FFF ;!TODO FATcacheSize
|
LD HL,#3FFF ;!TODO FATcacheSize
|
||||||
;XOR A
|
XOR A
|
||||||
; A = 0
|
|
||||||
;NEXTAD4 ;!FIXIT ®¯â¨¬¨§¨à®¢ âì ª®£¤ ¯® ¤®¡¨âáï
|
;NEXTAD4 ;!FIXIT ®¯â¨¬¨§¨à®¢ âì ª®£¤ ¯® ¤®¡¨âáï
|
||||||
.loop4: INC A
|
.loop4: INC A
|
||||||
JP Z,DOS_X_Error.UnknownBPB
|
JP Z,DOS_X_Error.UnknownBPB
|
||||||
@ -376,8 +376,8 @@ RD_BPB: LD C,SLOT3
|
|||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
LD DE,(FatBuffer.DAT_FRM)
|
LD DE,(FatBuffer.DAT_FRM)
|
||||||
; LD E,(IY+#1C) ;Hidden sec
|
; LD E,(IY+_sBOOT_SEC.HIDDEN) ;Hidden sec
|
||||||
; LD D,(IY+#1D)
|
; LD D,(IY+_sBOOT_SEC.HIDDEN+1)
|
||||||
; AND A
|
; AND A
|
||||||
; SBC HL,DE
|
; SBC HL,DE
|
||||||
; EX DE,HL
|
; EX DE,HL
|
||||||
@ -572,6 +572,9 @@ BACK_CUR_PATH:
|
|||||||
;///////////////////////////////////////////////////////////////////////
|
;///////////////////////////////////////////////////////////////////////
|
||||||
SCANDRV:
|
SCANDRV:
|
||||||
;1 [-----------] [-----------] [-----------] [-----------] [-----------]
|
;1 [-----------] [-----------] [-----------] [-----------] [-----------]
|
||||||
|
; LD A,(LDRIVE)
|
||||||
|
; LD (.old_ldrive),A
|
||||||
|
;
|
||||||
CALL GETBOOT
|
CALL GETBOOT
|
||||||
LD (.old_letter),A ; bootdisk Log.number
|
LD (.old_letter),A ; bootdisk Log.number
|
||||||
; [-----------]
|
; [-----------]
|
||||||
@ -604,6 +607,9 @@ SCANDRV:
|
|||||||
JR C,.ERROR_BOOTDRV_DIES
|
JR C,.ERROR_BOOTDRV_DIES
|
||||||
LD (.new_letter),A
|
LD (.new_letter),A
|
||||||
;
|
;
|
||||||
|
LD A,(.old_letter)
|
||||||
|
LD (BOOTDRV),A
|
||||||
|
;
|
||||||
|
|
||||||
;5 [-----------] [-----------] [-----------] [-----------] [-----------]
|
;5 [-----------] [-----------] [-----------] [-----------] [-----------]
|
||||||
AND A
|
AND A
|
||||||
@ -641,14 +647,31 @@ SCANDRV:
|
|||||||
EX DE,HL
|
EX DE,HL
|
||||||
LDDR
|
LDDR
|
||||||
; ¯à®¢¥à塞, ¥ 㢥«¨ç¨«®áì «¨ § 票¥ LDRIVE
|
; ¯à®¢¥à塞, ¥ 㢥«¨ç¨«®áì «¨ § 票¥ LDRIVE
|
||||||
|
;!TEST
|
||||||
LD HL,.old_letter
|
LD HL,.old_letter
|
||||||
LD A,(LDRIVE)
|
LD A,(LDRIVE)
|
||||||
CP (HL)
|
CP (HL)
|
||||||
JR NC,.no_change_LDRIVE
|
JR NC,.no_change_LDRIVE
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
LD (LDRIVE),A
|
LD (LDRIVE),A
|
||||||
|
;
|
||||||
|
; .old_ldrive+1:
|
||||||
|
;LD L,0
|
||||||
|
;LD A,(LDRIVE)
|
||||||
|
;CP L
|
||||||
|
;JR NC,.no_change_LDRIVE
|
||||||
|
;LD A,L
|
||||||
|
;LD (LDRIVE),A
|
||||||
|
;
|
||||||
.no_change_LDRIVE:
|
.no_change_LDRIVE:
|
||||||
;
|
;
|
||||||
|
; DEC A
|
||||||
|
; LD C,Dss.DskInfo
|
||||||
|
; RST ToDSS
|
||||||
|
; LD A,(BOOTDRV)
|
||||||
|
; LD C,Dss.ChDisk
|
||||||
|
; RST ToDSS
|
||||||
|
|
||||||
;;;;;
|
;;;;;
|
||||||
.restore_page+1:
|
.restore_page+1:
|
||||||
LD A,0
|
LD A,0
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
280
|
297
|
||||||
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
;
|
;
|
||||||
DEFINE SHORT_RSTx10_TABLE 0 ; 㪮à®ç¥ ï â ¡«¨æ äãªæ¨© rst #10. 96 äãªæ¨©.
|
DEFINE SHORT_RSTx10_TABLE 0 ; 㪮à®ç¥ ï â ¡«¨æ äãªæ¨© rst #10. 96 äãªæ¨©.
|
||||||
DEFINE COMPILE_UNUSED_CODE 0
|
DEFINE COMPILE_UNUSED_CODE 1
|
||||||
;
|
;
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user