mirror of
https://github.com/Tolik-Trek/Sprinter-BIOS.git
synced 2026-06-15 01:11:47 +03:00
Наколдована задержка для смены плотности у тормозных 5.25 флопарей. В рекавери дос из хотфикс 3, фформат 1.17
This commit is contained in:
parent
879938cd4a
commit
e0c70519c3
@ -1 +1 @@
|
||||
Subproject commit f5f85b3d14c65bfc2f8619b596815e350f1a9d5b
|
||||
Subproject commit 2fec6202f716cfa3ed48fb9bfd79d1081cc2721b
|
||||
@ -206,7 +206,7 @@ FDD_5x_LONG_READ:
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
CALL FDD_RW_SECTOR
|
||||
JR C,ERRDOS
|
||||
JR C,.ERRDOS
|
||||
; à §¬¥à ᥪâ®à
|
||||
LD D,YH
|
||||
LD E,YL
|
||||
@ -254,7 +254,7 @@ FDD_5x_LONG_READ:
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
ERRDOS: POP HL
|
||||
.ERRDOS: POP HL
|
||||
POP BC
|
||||
POP DE
|
||||
CALL SET_DOS_OFF
|
||||
@ -488,7 +488,39 @@ S_FDD: PUSH BC
|
||||
RET
|
||||
;
|
||||
|
||||
;
|
||||
;----------------------------------------------------------------------;
|
||||
; CHANGE_SPEED: IN A,(SLOT3)
|
||||
; EX AF,AF'
|
||||
; LD A,SYS_PAGE
|
||||
; OUT (SLOT3),A
|
||||
; LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
||||
; XOR #80
|
||||
; LD (SYS_PAGE.FDD_TABLE.DISK),A
|
||||
; RLA
|
||||
; EX AF,AF'
|
||||
; OUT (SLOT3),A
|
||||
; EX AF,AF'
|
||||
; JR NC,FDD.SET720
|
||||
; FDD.SET1440: LD A,FDD_Density.SET_1440
|
||||
; OUT (FDD_Density),A
|
||||
; RET
|
||||
; ;
|
||||
; ;
|
||||
; SET_SPEED: IN A,(SLOT3)
|
||||
; EX AF,AF'
|
||||
; LD A,SYS_PAGE
|
||||
; OUT (SLOT3),A
|
||||
; LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
||||
; ;AND #80
|
||||
; RLA
|
||||
; EX AF,AF'
|
||||
; OUT (SLOT3),A
|
||||
; EX AF,AF'
|
||||
; JR C,FDD.SET1440
|
||||
; FDD.SET720: LD A,FDD_Density.SET_720
|
||||
; OUT (FDD_Density),A
|
||||
; RET
|
||||
|
||||
CHANGE_SPEED: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
@ -496,37 +528,58 @@ CHANGE_SPEED: IN A,(SLOT3)
|
||||
LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
||||
XOR #80
|
||||
LD (SYS_PAGE.FDD_TABLE.DISK),A
|
||||
;AND #80
|
||||
RLA
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
;JR Z,FDD.SET720
|
||||
JR NC,FDD.SET720
|
||||
;JP FDD.SET1440 ;CF=1
|
||||
FDD.SET1440: LD A,FDD_Density.SET_1440
|
||||
OUT (FDD_Density),A
|
||||
RET
|
||||
;
|
||||
JR SET_SPEED.set
|
||||
|
||||
;
|
||||
;
|
||||
SET_SPEED: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
||||
;AND #80
|
||||
RLA
|
||||
.set: AND #80
|
||||
RRA
|
||||
RRA
|
||||
OR 1
|
||||
OUT (FDD_Density),A
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
;JR NZ,FDD.SET1440
|
||||
JR C,FDD.SET1440
|
||||
;JR FDD.SET720 ;CF=0
|
||||
FDD.SET720: LD A,FDD_Density.SET_720
|
||||
OUT (FDD_Density),A
|
||||
RET
|
||||
;----------------------------------------------------------------------;
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
; ‚室: BC - ¢ãâ२© ¨ ¢¥è¨© áçñâ稪¨
|
||||
WAIT_FDD_FOR_SEARCH_TRACK:
|
||||
LD A,#C0 ;!HARDCODE CMD Š<>1818‚ƒ93
|
||||
OUT (FDC_93.Command),A
|
||||
PUSH BC
|
||||
CALL .LOOP
|
||||
POP BC
|
||||
RET NC
|
||||
CALL CHANGE_SPEED
|
||||
DEC C
|
||||
JR NZ,WAIT_FDD_FOR_SEARCH_TRACK
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
.LOOP: LD HL,#F000
|
||||
.loop_reg_HL: IN A,(FDC_93.DrvCTRL)
|
||||
AND #C0
|
||||
RET NZ
|
||||
;
|
||||
.ID_LP4: DEC HL
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.loop_reg_HL
|
||||
;
|
||||
DJNZ .LOOP
|
||||
SCF
|
||||
RET
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
; ¯à¥àë¢ ¨ï ¤®«¦ë ¡ëâì ®âª«îç¥ë
|
||||
; ¢ë室: A - FDD_INIT_TABLE.DISK, B - sector size high byte
|
||||
DISK_ID: EXX
|
||||
@ -535,23 +588,16 @@ DISK_ID: EXX
|
||||
OUT (FDC_93.Data),A
|
||||
LD A,#18 ;!TODO ¢ë¯¨á âì ª®¬¬ ¤ë ‚ƒ ;SEARCH ;!HARDCODE CMD Š<>1818‚ƒ93
|
||||
CALL EXECOM
|
||||
LD C,4 ; áçñâ稪
|
||||
.loop_reg_C: LD A,#C0 ;!HARDCODE CMD Š<>1818‚ƒ93
|
||||
OUT (FDC_93.Command),A
|
||||
LD HL,#F000 ; áçñâ稪
|
||||
.loop_reg_HL: IN A,(FDC_93.DrvCTRL)
|
||||
AND #C0
|
||||
JR NZ,.Read_Index
|
||||
;
|
||||
.ID_LP4: DEC HL
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.loop_reg_HL
|
||||
CALL CHANGE_SPEED
|
||||
DEC C
|
||||
JR NZ,.loop_reg_C
|
||||
; ªã᮪ ¤«ï ¡ëáâàëå ä«®¯¯ ३
|
||||
LD BC,#0104 ; 1 - áçñâ稪
|
||||
CALL WAIT_FDD_FOR_SEARCH_TRACK
|
||||
JR NC,.Read_Index
|
||||
; ªã᮪ ¤«ï â®à¬®§ëå ä«®¯¯ ३
|
||||
LD BC,#0504 ; 1 - áçñâ稪
|
||||
CALL WAIT_FDD_FOR_SEARCH_TRACK
|
||||
JR NC,.Read_Index
|
||||
EXX
|
||||
SCF
|
||||
;SCF
|
||||
RET
|
||||
;
|
||||
.Read_Index: ;
|
||||
@ -583,6 +629,7 @@ DISK_ID: EXX
|
||||
EX AF,AF'
|
||||
AND #80
|
||||
RET
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
;
|
||||
SEEK: LD XL,A
|
||||
@ -690,23 +737,20 @@ NTRACK: PUSH HL
|
||||
SAVE_INTERRUPTS:
|
||||
.switch_off: PUSH AF
|
||||
LD A,R
|
||||
DI
|
||||
LD A,#80
|
||||
JP PE,.set_R
|
||||
XOR A
|
||||
.set_R: LD R,A
|
||||
DI
|
||||
POP AF
|
||||
RET
|
||||
; ;
|
||||
.restore: PUSH AF
|
||||
LD A,R
|
||||
BIT 7,A
|
||||
JR Z,.set_di
|
||||
DI
|
||||
RLA
|
||||
JR NC,.set_di
|
||||
EI
|
||||
POP AF ; PE
|
||||
RET
|
||||
;
|
||||
.set_di: DI
|
||||
POP AF ; PO
|
||||
.set_di: POP AF ; PE
|
||||
RET
|
||||
;[]===========================================================[]
|
||||
@ -345,13 +345,14 @@ FN_TURBO:
|
||||
;!FIXIT ¬¥ï¥¬ ¯«®â®áâì - ¬¥ï¥¬ ¢ á¨á⥬®© áâà ¨æ¥ ¨äã ®¡ í⮬
|
||||
.SET_FDD_720:
|
||||
LD A,FDD_Density.SET_720
|
||||
OUT (FDD_Density),A
|
||||
AND A
|
||||
RET
|
||||
JR .set
|
||||
; OUT (FDD_Density),A
|
||||
; AND A
|
||||
; RET
|
||||
;!FIXIT ¬¥ï¥¬ ¯«®â®áâì - ¬¥ï¥¬ ¢ á¨á⥬®© áâà ¨æ¥ ¨äã ®¡ í⮬
|
||||
.SET_FDD_1440:
|
||||
LD A,FDD_Density.SET_1440
|
||||
OUT (FDD_Density),A
|
||||
.set: OUT (FDD_Density),A
|
||||
AND A
|
||||
RET
|
||||
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
;=======================[All shared EQUs]=======================;
|
||||
DEFINE SET_EXPID_VER 3
|
||||
DEFINE SET_EXPID_MOD 07
|
||||
BETA_BUILD EQU 1 ; 40 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥¨¥ ® â¥á⮢®© ᡮથ áâ à⮢®¬ íªà ¥
|
||||
BETA_RC EQU 0 ; 2 ;
|
||||
RELEASEhotFIX EQU 0 ;
|
||||
DEFINE RELEASE_BUILD_DATE "25.06.2025"
|
||||
DEFINE RELEASE_BUILD_DATE "19.01.2026"
|
||||
;======================[All shared defines]=====================;
|
||||
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
|
||||
DEFINE SP2000_Loader_Flag #0107 ;
|
||||
|
||||
Binary file not shown.
@ -2,8 +2,8 @@
|
||||
; ============[For EXP part]=============
|
||||
; ------[Version of BIOS "VER.MOD"]------
|
||||
EXP_ID:
|
||||
.VER EQU 3 ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥ïâì âãâ!
|
||||
.MOD EQU 07 ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥ïâì âãâ!
|
||||
.VER EQU SET_EXPID_VER ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥ïâì âãâ!
|
||||
.MOD EQU SET_EXPID_MOD ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥ïâì âãâ!
|
||||
BIOS_ver_hex EQU EXP_ID.VER*256+EXP_ID.MOD
|
||||
|
||||
DEFINE BIOS_ver_string '0'+EXP_ID.VER, '.', '0'+EXP_ID.MOD/10, '0'+EXP_ID.MOD-(EXP_ID.MOD/10)*10
|
||||
|
||||
Loading…
Reference in New Issue
Block a user