This commit is contained in:
Tolik 2024-07-19 04:41:29 +10:00
parent 4fb389c80b
commit e551861939
7 changed files with 36 additions and 32 deletions

@ -1 +1 @@
Subproject commit 77a51684d4d63ad2fdccf416793951df00276b17 Subproject commit f3ac185e2fe2d1e76f8e54c3c1f421a99fafdd62

Binary file not shown.

View File

@ -59,7 +59,6 @@ HD_BPB_PREP:
;LD IX,#0000 ;LD IX,#0000
;LD B,#01 ;LD B,#01
LD B,A LD B,A
IN A,(SLOT3) IN A,(SLOT3)
EX AF,AF' EX AF,AF'
@ -234,6 +233,8 @@ FN_HDD_PREPARE: ;
AND A AND A
RET RET
FN_HDD_READ_BPB: FN_HDD_READ_BPB:
CALL HD_WAIT CALL HD_WAIT
RET C RET C
@ -846,8 +847,9 @@ SET_BPB_OFFSET:
INC A INC A
LD B,A LD B,A
; ;
LD HL,SYS_PAGE.MS_BPB-16 + #01BE ;!HARDCODE ᬥ饭¨¥ ®â ­ ç «  ᥪâ®à  ¤«ï â ¡«¨æë à §¤¥«®¢ c ¯¥à¢ë¬ ᥪâ®à®¬ LBA ¤«ï ¯¥à¢®£® à §¤¥«  ; ; ᬥ饭¨¥ ®â ­ ç «  ᥪâ®à  ¤«ï â ¡«¨æë à §¤¥«®¢ c ¯¥à¢ë¬ ᥪâ®à®¬ LBA ¤«ï ¯¥à¢®£® à §¤¥« 
LD DE,16 ;!HARDCODE à §¬¥à ¯®«ï ®¯¨á â¥«ï à §¤¥«  LD HL,SYS_PAGE.MS_BPB - _sMBR_PARTITION_RECORD + _sBOOT_SECTOR.PARTITION_TABLE
LD DE,_sMBR_PARTITION_RECORD
.loop: ADD HL,DE .loop: ADD HL,DE
DJNZ .loop DJNZ .loop
; ;

View File

@ -72,14 +72,14 @@ RST_CONF:
;--[] ;--[]
.CUSTOM: .CUSTOM:
CP #80 CP #80
JR NC,.CHOOSE_CNF JR NC,.CHOOSE_CNF
; only for old FLEX10K soft compatible ; only for old FLEX10K soft compatible
LD C,SLOT3 LD C,SLOT3
IN B,(C) IN B,(C)
OUT (C),A ; PAGE á ¯à®è¨¢ª®© OUT (C),A ; PAGE á ¯à®è¨¢ª®©
LD DE,(#C090) ; PLD-ID LD DE,(#C090) ; PLD-ID
OUT (C),B ; RET page OUT (C),B ; RET page
;--[] ;JR INT_PLD ;--[] ;JR INT_PLD
.INT_PLD: ; only for old FLEX10K soft compatible .INT_PLD: ; only for old FLEX10K soft compatible
LD C,SLOT3 LD C,SLOT3
@ -89,11 +89,11 @@ RST_CONF:
LD (SYS_PAGE.CONFIG_BYTE),DE LD (SYS_PAGE.CONFIG_BYTE),DE
OUT (C),B OUT (C),B
LD A,E ; config-byte LD A,E ; config-byte
CP #FF CP #FF
LD A,#80 LD A,#80
JR Z,.YES_CBL JR Z,.YES_CBL
XOR A XOR A
.YES_CBL: .YES_CBL:
LD BC,CBL.SYS_PORT LD BC,CBL.SYS_PORT
OUT (C),A OUT (C),A

View File

@ -200,13 +200,13 @@ INIT_SYS_ALL:
;!TODO çâ® §  ¯¥à¥¬¥­­ë¥? ;!TODO çâ® §  ¯¥à¥¬¥­­ë¥?
LD HL,SYS_PAGE.DISK_TYPE-#4000 LD HL,SYS_PAGE.DISK_TYPE-#4000
LD (HL),0 ;!HARDCODE LD (HL),DRIVE_CODES.TRDOS.FDD ; FDD A
INC HL INC HL
LD (HL),1 ;!HARDCODE LD (HL),DRIVE_CODES.TRDOS.FDD + 1 ; FDD B
INC HL INC HL
LD (HL),#40 ;!HARDCODE HDD LD (HL),DRIVE_CODES.TRDOS.HDD
INC HL INC HL
LD (HL),3 ;!HARDCODE LD (HL),DRIVE_CODES.TRDOS.HDD
INC HL INC HL
LD (HL),0 ; SYS_PAGE.COPY_SLOT0 LD (HL),0 ; SYS_PAGE.COPY_SLOT0
INC HL INC HL
@ -488,7 +488,6 @@ LOOP_EQ: ;
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
;********************************** ;**********************************
;!!!!! £«ï­ãâì
; START_DI: ; START_DI:
; PUSH AF ; PUSH AF
; LD A,R ; LD A,R

View File

@ -798,14 +798,17 @@ DETECTORS:
; ¥á«¨ ª ­ « ¯ãá⮩, â® ç¨â ¥âáï ¨§ ¯®àâ  â®, çâ® ¡ë«® ¢ëáâ ¢«¥­® ; ¥á«¨ ª ­ « ¯ãá⮩, â® ç¨â ¥âáï ¨§ ¯®àâ  â®, çâ® ¡ë«® ¢ëáâ ¢«¥­®
; ¯®á«¥¤­¨¬ ­  設ã c çñâ­®£®  ¤à¥á  ¢ ¯ ¬ï⨠  íâ® ¯¥à¢ë© ¨«¨ ¢â®à®© ; ¯®á«¥¤­¨¬ ­  設ã c çñâ­®£®  ¤à¥á  ¢ ¯ ¬ï⨠  íâ® ¯¥à¢ë© ¨«¨ ¢â®à®©
; ¡ ©â ª®¤  ª®¬ ­¤ë ; ¡ ©â ª®¤  ª®¬ ­¤ë
ALIGN 2 ; βγβ ­γ¦­<C2A6> ’λΰ ’­¨’ ­¨₯ ―<> § €γ¬ ­­λ¬  €ΰ₯α ¬ €«ο ͺ<>¬ ­€ ηβ₯­¨ο ¨§ ―<>ΰβ<CEB0> ALIGN 2 ; âã⠭㦭® ¢ëà ¢­¨¢ ­¨¥ ¯® § ¤ã¬ ­­ë¬  ¤à¥á ¬ ¤«ï ª®¬ ­¤ ç⥭¨ï ¨§ ¯®à⮢
.CheckChanel: LD BC,IDE.Read.Status .CheckChanel: LD BC,IDE.Read.Status
IN A,(C) ;#ED78 A=#78 IN A,(C) ;#ED78 A=#78
IN L,(C) ;#ED68 L=#68 IN L,(C) ;#ED68 L=#68
LD D,A LD D,A
IN A,(C) ;#ED60 A=#ED IN A,(C) ;#ED60 A=#ED
LD E,L LD E,L
; ¥á«¨ ¯ãá⮩: DE=#7868, A=#ED
;
LD HL,#7868 + #ED LD HL,#7868 + #ED
AND A
SBC HL,DE SBC HL,DE
XOR L XOR L
RET NZ ; not absent RET NZ ; not absent

View File

@ -900,7 +900,7 @@ RECOVERYstart:
; ;
;Exit from "ROM Disk to RAM disk" procedure ;Exit from "ROM Disk to RAM disk" procedure
.RDkey+*: LD A,0 .RDkey+*: LD A,0
OR #60 ; !HARDCODE ᤥ« âì ¨¬ ¢á¥¬ ­ §¢ ­¨ï OR DRIVE_CODES.SPRINTER.RAM
LD B,A ; ¯¥à¥¤ ñ¬ § £à㧮筮¥ ãáâனá⢮ ¢ OS_LOAD LD B,A ; ¯¥à¥¤ ñ¬ § £à㧮筮¥ ãáâனá⢮ ¢ OS_LOAD
JP OS_LOAD JP OS_LOAD
; ;
@ -921,24 +921,24 @@ PrepareToBOOT: ;CALL INT_ON
DEC BC DEC BC
; ;
CALL G_VALUE CALL G_VALUE
LD B,0 LD B,DRIVE_CODES.SPRINTER.FDD
; FDD ; FDD
OR A OR A
JR Z,FDSTART ; FDD A: JR Z,FDSTART ; FDD A:
INC B INC B
DEC A DEC A
JR Z,FDSTART ; FDD B: JR Z,FDSTART ; FDD B:
; IDE ; IDE
LD B,#80 LD B,DRIVE_CODES.SPRINTER.HDD
DEC A DEC A
JR Z,HDSTART JR Z,HDSTART
INC B ;LD B,#81 INC B ;LD B,#81
DEC A DEC A
JR Z,HDSTART JR Z,HDSTART
INC B ;LD B,#82 INC B ;LD B,#82
DEC A DEC A
JR Z,HDSTART JR Z,HDSTART
INC B ;LD B,#83 INC B ;LD B,#83
DEC A DEC A
JR Z,HDSTART JR Z,HDSTART
; RAM ; RAM
@ -978,12 +978,12 @@ CDSTART:
RDSTART: RDSTART:
LD A,msgStrings.bootRamDrv LD A,msgStrings.bootRamDrv
CALL POSTMSG CALL POSTMSG
LD B,#60 ; !HARDCODE: 6 - ⨯ ¤à ©¢  RAM-DRV, 0 - ­®¬¥à ¤à ©¢  LD B,DRIVE_CODES.SPRINTER.RAM ; 6 - ⨯ ¤à ©¢  RAM-DRV, 0 - ­®¬¥à ¤à ©¢ 
.loop: PUSH BC .loop: PUSH BC
CALL OS_LOAD CALL OS_LOAD
POP BC POP BC
INC B INC B
LD A,#6F ; !HARDCODE - ¬ ªá¨¬ «ì­®¥ ç¨á«® à ¬¤¨áª®¢ LD A,DRIVE_CODES.SPRINTER.RAM + SYS_PAGE.RAMD_KEYS.NUM-1 ; ¬ ªá¨¬ «ì­ë© ­®¬¥à à ¬¤¨áª 
SUB B SUB B
JR NC,.loop JR NC,.loop
RET RET