fixed fdd a/b bug

This commit is contained in:
Анатолий Белянский 2026-05-02 05:21:42 +10:00
parent 2c5d438476
commit 7346ac6038
5 changed files with 26 additions and 68 deletions

@ -1 +1 @@
Subproject commit daae799b0dfc833d6bbbb8910910790f834996a3 Subproject commit cb54ddb2079648878b113592fe33e370741b0471

View File

@ -22,8 +22,8 @@
; D0 - FDD drv number ; D0 - FDD drv number
; A - D0 - "1" - Removable media ; A - D0 - "1" - Removable media
;[]===========================================================[] ;[]===========================================================[]
;!FIXIT ¢á¥£¤  ¨¤¥â à ¡®â  á ¤ ­­ë¬¨ ¤«ï ¤¨áª  € ;[x] ¢á¥£¤  è«  à ¡®â  á ¤ ­­ë¬¨ ¤«ï ¤¨áª  €
;!FIXIT ç¨â âì ¤ ­­ë¥ á ­ã«¥¢®© ¤®à®¦ª¨? <20>ਤ㬠âì çâ® ¤¥« âì á £¥®¬¥âਥ© ä«®¯ à¥© ;[x] ç¨â âì ¤ ­­ë¥ á ­ã«¥¢®© ¤®à®¦ª¨? <20>ਤ㬠âì çâ® ¤¥« âì á £¥®¬¥âਥ© ä«®¯ à¥©
FDD_5x_GET_PAR: CALL SELECT_FDD FDD_5x_GET_PAR: CALL SELECT_FDD
RET C RET C
; ;
@ -758,7 +758,7 @@ P50ms: PUSH BC
; ; ; ;
;EXECOM: OUT (FDC_93.Command),A ;EXECOM: OUT (FDC_93.Command),A
; LD HL,#0000 ; áçñâ稪 ; LD HL,#0000 ; áçñâ稪
;.WREST: DEC HL ;.WREST: DEC HL
; LD A,H ; LD A,H
; OR L ; OR L
; SCF ; SCF
@ -770,23 +770,21 @@ P50ms: PUSH BC
; RET ; RET
; ;
RESWG: LD A,8 ;!HARDCODE CMD Š<>1818ƒ93 RESWG: LD A,8 ;!HARDCODE CMD Š<>1818ƒ93
;
EXECOM: OUT (FDC_93.Command),A EXECOM: OUT (FDC_93.Command),A
LD HL,#0000 ; áçñâ稪 LD HL,#0000 ; áçñâ稪
PUSH BC PUSH BC
LD B,3 ; áçñâ稪 LD BC,#0380 ; áçñâ稪 ¨ ¬ áª 
.WREST: DEC HL .WREST: DEC HL
LD A,H LD A,H
OR L OR L
JR NZ,.get_state JR NZ,.get_state
DJNZ .WREST DJNZ .WREST
;
POP BC POP BC
SCF SCF
RET RET
; ;
.get_state: IN A,(FDC_93.DrvCTRL) .get_state: IN A,(FDC_93.DrvCTRL)
AND #80 AND C
JR Z,.WREST JR Z,.WREST
POP BC POP BC
RET RET

View File

@ -344,16 +344,16 @@ FN_TURBO:
;!FIXIT ¬¥­ï¥¬ ¯«®â­®áâì - ¬¥­ï¥¬ ¢ á¨á⥬­®© áâà ­¨æ¥ ¨­äã ®¡ í⮬ ;!FIXIT ¬¥­ï¥¬ ¯«®â­®áâì - ¬¥­ï¥¬ ¢ á¨á⥬­®© áâà ­¨æ¥ ¨­äã ®¡ í⮬
.SET_FDD_720: .SET_FDD_720:
LD A,FDD_Density.SET_720 LD A,FDD_Density.SET_720
JR .set JR .set
; OUT (FDD_Density),A ; OUT (FDD_Density),A
; AND A ; AND A
; RET ; RET
;!FIXIT ¬¥­ï¥¬ ¯«®â­®áâì - ¬¥­ï¥¬ ¢ á¨á⥬­®© áâà ­¨æ¥ ¨­äã ®¡ í⮬ ;!FIXIT ¬¥­ï¥¬ ¯«®â­®áâì - ¬¥­ï¥¬ ¢ á¨á⥬­®© áâà ­¨æ¥ ¨­äã ®¡ í⮬
.SET_FDD_1440: .SET_FDD_1440:
LD A,FDD_Density.SET_1440 LD A,FDD_Density.SET_1440
.set: OUT (FDD_Density),A .set: OUT (FDD_Density),A
AND A AND A
RET RET
.TURBO_SWITCH: .TURBO_SWITCH:

View File

@ -1193,8 +1193,8 @@ MOVE1: LD HL,#8000 ; !HARDCODE
.length EQU $-MOVE1 .length EQU $-MOVE1
SYSID: DZ "Starting..." SYSID: DZ "Starting..."
.length EQU $-SYSID .length EQU $-SYSID
;FD144A: DB #80,#12,#02,#50,#00,#00,#02,FDD_INIT_TABLE.FDD ;FD144A: DB #80,#12,#02,#50,#00,#00,#02,FDD_INIT_TABLE.FDD
@ -1214,7 +1214,7 @@ FDD_INIT_TABLE_35: FDD_TABLE_s {
} }
; ;
FDD_INIT_TABLE_525: FDD_TABLE_s { FDD_INIT_TABLE_525: FDD_TABLE_s {
#01 ;.DISK #00 ;.DISK
#09 ;.SECTORS #09 ;.SECTORS
#02 ;.HEADS #02 ;.HEADS
#50 ;.CYLINDL #50 ;.CYLINDL
@ -1248,6 +1248,9 @@ FDD_INSTAL: IN A,(SLOT3)
LD DE,SYS_PAGE.FDD_TABLE.B LD DE,SYS_PAGE.FDD_TABLE.B
LD BC,SYS_PAGE.FDD_TABLE.B.Size LD BC,SYS_PAGE.FDD_TABLE.B.Size
LDIR LDIR
LD A,(SYS_PAGE.FDD_TABLE.B + FDD_TABLE_s.DISK)
OR 1
LD (SYS_PAGE.FDD_TABLE.B + FDD_TABLE_s.DISK),A
.NOFDD1: EX AF,AF' .NOFDD1: EX AF,AF'
OUT (SLOT3),A OUT (SLOT3),A
RET RET
@ -1261,60 +1264,17 @@ FDD_INSTAL: IN A,(SLOT3)
LD HL,FDD_INIT_TABLE_525 LD HL,FDD_INIT_TABLE_525
DEC A DEC A
RET RET
/*
LD BC,CMOS_CELL.DrivesSetup_1.Mask.FirstFDD ;#0311
CALL GET_CMOS_VALUE PIDNUM: LD HL,memBUFFER.ID
LD HL,FDD_INIT_TABLE_525 LD BC,#00FF
XOR A
CPIR
LD A,(HL)
OR A OR A
JR Z,.SETFD0 RET Z
; CALL PRINTZ
LD HL,FDD_INIT_TABLE_35
DEC A
JR NZ,.NOFDD0
;
.SETFD0: ;
;IN A,(SLOT3)
;EX AF,AF'
;LD A,SYS_PAGE
;OUT (SLOT3),A
LD DE,SYS_PAGE.FDD_TABLE
LD BC,SYS_PAGE.FDD_TABLE.Size
LDIR
;EX AF,AF'
;OUT (SLOT3),A
.NOFDD0: LD BC,CMOS_CELL.DrivesSetup_1.Mask.SecondFDD ;#0C11
CALL GET_CMOS_VALUE
LD HL,FDD_INIT_TABLE_525
OR A
JR Z,.SETFD1
;
LD HL,FDD_INIT_TABLE_35
DEC A
JR NZ,.NOFDD1
;
.SETFD1: ;
;IN A,(SLOT3)
;EX AF,AF'
;LD A,SYS_PAGE
;OUT (SLOT3),A
LD DE,SYS_PAGE.FDD_1_TABLE
LD BC,FD144A.Size
LDIR
.NOFDD1: EX AF,AF'
OUT (SLOT3),A
RET RET
*/
PIDNUM: LD HL,memBUFFER.ID
LD BC,#00FF
XOR A
CPIR
LD A,(HL)
OR A
RET Z
CALL PRINTZ
RET
PIDBOARD: CALL FN_CRIPT.board_id PIDBOARD: CALL FN_CRIPT.board_id
; ;

Binary file not shown.