mirror of
https://github.com/Tolik-Trek/Sprinter-BIOS.git
synced 2026-06-15 09:21:46 +03:00
Merge remote-tracking branch 'refs/remotes/Sprinter-Core/beta' into beta
This commit is contained in:
commit
53ee837c81
@ -1 +1 @@
|
||||
Subproject commit 6073b8787867fe5d217d064c9f5f77972303148c
|
||||
Subproject commit 2fec6202f716cfa3ed48fb9bfd79d1081cc2721b
|
||||
@ -29,12 +29,13 @@
|
||||
; A - D0 - "1" - Removable media
|
||||
;[]===========================================================[]
|
||||
;!FIXIT ¢á¥£¤ ¨¤¥â à ¡®â á ¤ 묨 ¤«ï ¤¨áª €
|
||||
;!FIXIT ç¨â âì ¤ ë¥ á ã«¥¢®© ¤®à®¦ª¨? <20>ਤ㬠âì çâ® ¤¥« âì á £¥®¬¥âਥ© ä«®¯ ३
|
||||
FDD_5x_GET_PAR: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
;
|
||||
LD HL,(SYS_PAGE.FDD_TABLE.SECTORS)
|
||||
LD HL,(SYS_PAGE.FDD_TABLE.SECTORS) ; L - Sectors, H - Heads
|
||||
LD DE,(SYS_PAGE.FDD_TABLE.CYLINDL)
|
||||
LD IX,(SYS_PAGE.FDD_TABLE.BytesPerSector)
|
||||
LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
||||
@ -98,7 +99,7 @@ FDD_5x_DETECT: CALL SAVE_INTERRUPTS.switch_off
|
||||
;[]===========================================================[]
|
||||
FDD_5x_RESET: CALL SAVE_INTERRUPTS.switch_off
|
||||
CALL SET_DOS_ON
|
||||
CALL S_FDD
|
||||
CALL SET_FDD
|
||||
CALL DISK_ID
|
||||
JR C,.int
|
||||
; [ ] à §¬¥à ᥪâ®à
|
||||
@ -181,7 +182,7 @@ FDD_5x_LONG_READ:
|
||||
EX AF,AF'
|
||||
PUSH BC
|
||||
CALL SET_DOS_ON
|
||||
CALL S_FDD
|
||||
CALL SET_FDD
|
||||
CALL SET_SPEED
|
||||
CALL NTRACK
|
||||
POP BC
|
||||
@ -190,23 +191,25 @@ FDD_5x_LONG_READ:
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD IY,(SYS_PAGE.FDD_TABLE.BytesPerSector)
|
||||
LD IY,(SYS_PAGE.FDD_TABLE.BytesPerSector) ; ãáâ ¢«¨¢ âì ®â¤¥«ì® ¯¥à¥¬¥ãî current BytesPerSector?
|
||||
LD XH,C ; Memory Page Number
|
||||
LD A,(SYS_PAGE.FDD_TABLE.SECTORS)
|
||||
LD C,A
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
;
|
||||
.DSK_LP: LD A,D
|
||||
EXX
|
||||
PUSH BC
|
||||
CALL SEEK
|
||||
;!FIXIT ª®âà®«ì ®è¨¡ª¨
|
||||
POP BC
|
||||
EXX
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
CALL FDD_RW_SECTOR
|
||||
JR C,ERRDOS
|
||||
JR C,.ERRDOS
|
||||
; à §¬¥à ᥪâ®à
|
||||
LD D,YH
|
||||
LD E,YL
|
||||
@ -214,17 +217,18 @@ FDD_5x_LONG_READ:
|
||||
POP HL
|
||||
POP BC
|
||||
ADD HL,DE
|
||||
;
|
||||
CALL C,CHANGE_MEM_BLK
|
||||
;
|
||||
.THISRD: POP DE
|
||||
;.THISRD
|
||||
POP DE
|
||||
LD A,C
|
||||
INC E
|
||||
CP E
|
||||
JR NZ,.NINC_T
|
||||
;
|
||||
LD E,0
|
||||
INC D
|
||||
.NINC_T: DJNZ .DSK_LP
|
||||
;
|
||||
.RETDOS: CALL SET_DOS_OFF
|
||||
LD A,XH ; Memory Page Number
|
||||
EX AF,AF'
|
||||
@ -239,6 +243,7 @@ FDD_5x_LONG_READ:
|
||||
DEC B
|
||||
LD B,0
|
||||
JR NZ,.ADD8BIT
|
||||
;
|
||||
INC B
|
||||
.ADD8BIT: ADD IX,BC
|
||||
;!TEST
|
||||
@ -254,7 +259,7 @@ FDD_5x_LONG_READ:
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
ERRDOS: POP HL
|
||||
.ERRDOS: POP HL
|
||||
POP BC
|
||||
POP DE
|
||||
CALL SET_DOS_OFF
|
||||
@ -400,8 +405,10 @@ FDD_RW_SECTOR: LD D,5 ;RETRY COUNT
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
CALL RESWG ; RESET_WG
|
||||
;!FIXIT ª®âà®«ì ®è¨¡ª¨
|
||||
LD A,XL
|
||||
CALL SEEK ; !!!!! ¯®á¬®âà¥âì
|
||||
;!FIXIT ª®âà®«ì ®è¨¡ª¨
|
||||
POP HL
|
||||
POP DE
|
||||
JR .RETRY
|
||||
@ -434,9 +441,9 @@ FDD_RW_SECTOR: LD D,5 ;RETRY COUNT
|
||||
JR Z,.SectorSizeError
|
||||
;
|
||||
OUTI
|
||||
.wwait_data: IN A,(FDC_93.DrvCTRL)
|
||||
.wait_data_w: IN A,(FDC_93.DrvCTRL)
|
||||
AND %1100'0000 ;b6: DRQ (§ ¯à®á ¤ ëå = 1). b7: INTRQ (¢ë¯®«ï¥âáï ª®¬ ¤ = 0).
|
||||
JR Z,.wwait_data
|
||||
JR Z,.wait_data_w
|
||||
JP P,.write_loop
|
||||
JP .rw_return
|
||||
;
|
||||
@ -468,12 +475,33 @@ SET_DOS_OFF: EX AF,AF'
|
||||
EX AF,AF'
|
||||
RET
|
||||
|
||||
;
|
||||
S_FDD: PUSH BC
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
; <20>… ƒ<>Ž•€’œ. ‚¥àá¨ï ¤«ï FDD AUTO ®¤¨¬ ¡ãä¥à®¬ FDD_TABLE
|
||||
; SET_FDD: PUSH BC
|
||||
; AND 1
|
||||
; LD B,A
|
||||
; OR #3C
|
||||
; OUT (FDC_93.DrvCTRL),A
|
||||
; IN A,(SLOT3)
|
||||
; EX AF,AF'
|
||||
; LD A,SYS_PAGE
|
||||
; OUT (SLOT3),A
|
||||
; LD A,(SYS_PAGE.FDD_TABLE.DISK)
|
||||
; AND #FE
|
||||
; OR B
|
||||
; LD (SYS_PAGE.FDD_TABLE.DISK),A
|
||||
; EX AF,AF'
|
||||
; OUT (SLOT3),A
|
||||
; POP BC
|
||||
; RET
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
SET_FDD: PUSH BC
|
||||
AND 1
|
||||
LD B,A
|
||||
OR #3C
|
||||
OUT (FDC_93.DrvCTRL),A
|
||||
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
@ -486,7 +514,8 @@ S_FDD: PUSH BC
|
||||
OUT (SLOT3),A
|
||||
POP BC
|
||||
RET
|
||||
;
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
;----------------------------------------------------------------------;
|
||||
; CHANGE_SPEED: IN A,(SLOT3)
|
||||
@ -521,6 +550,42 @@ S_FDD: PUSH BC
|
||||
; OUT (FDD_Density),A
|
||||
; RET
|
||||
|
||||
<<<<<<< HEAD:src/bios/exp/EXTENDED/FDD_DRIVER_2.asm
|
||||
;----------------------------------------------------------------------;
|
||||
; 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
|
||||
|
||||
=======
|
||||
>>>>>>> refs/remotes/Sprinter-Core/beta:src/bios/exp/EXTENDED/FDD_DRIVER.asm
|
||||
CHANGE_SPEED: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
@ -529,9 +594,13 @@ CHANGE_SPEED: IN A,(SLOT3)
|
||||
XOR #80
|
||||
LD (SYS_PAGE.FDD_TABLE.DISK),A
|
||||
JR SET_SPEED.set
|
||||
<<<<<<< HEAD:src/bios/exp/EXTENDED/FDD_DRIVER_2.asm
|
||||
|
||||
;
|
||||
;
|
||||
=======
|
||||
;
|
||||
>>>>>>> refs/remotes/Sprinter-Core/beta:src/bios/exp/EXTENDED/FDD_DRIVER.asm
|
||||
SET_SPEED: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
@ -548,6 +617,41 @@ SET_SPEED: IN A,(SLOT3)
|
||||
;----------------------------------------------------------------------;
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
; ‚室: 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
|
||||
@ -556,6 +660,7 @@ DISK_ID: EXX
|
||||
OUT (FDC_93.Data),A
|
||||
LD A,#18 ;!TODO ¢ë¯¨á âì ª®¬¬ ¤ë ‚ƒ ;SEARCH ;!HARDCODE CMD Š<>1818‚ƒ93
|
||||
CALL EXECOM
|
||||
<<<<<<< HEAD:src/bios/exp/EXTENDED/FDD_DRIVER_2.asm
|
||||
LD C,4 ; áçñâ稪
|
||||
.loop_reg_C: LD A,#C0 ;!HARDCODE CMD Š<>1818‚ƒ93
|
||||
OUT (FDC_93.Command),A
|
||||
@ -572,8 +677,18 @@ DISK_ID: EXX
|
||||
CALL CHANGE_SPEED
|
||||
DEC C
|
||||
JR NZ,.loop_reg_C
|
||||
=======
|
||||
; ªã᮪ ¤«ï ¡ëáâàëå ä«®¯¯ ३
|
||||
LD BC,#0104 ; áçñâ稪¨
|
||||
CALL WAIT_FDD_FOR_SEARCH_TRACK
|
||||
JR NC,.Read_Index
|
||||
; ªã᮪ ¤«ï â®à¬®§ëå ä«®¯¯ ३
|
||||
LD BC,#0804 ; áçñâ稪¨
|
||||
CALL WAIT_FDD_FOR_SEARCH_TRACK
|
||||
JR NC,.Read_Index
|
||||
>>>>>>> refs/remotes/Sprinter-Core/beta:src/bios/exp/EXTENDED/FDD_DRIVER.asm
|
||||
EXX
|
||||
SCF
|
||||
;SCF
|
||||
RET
|
||||
;
|
||||
.Read_Index: ;
|
||||
@ -582,8 +697,13 @@ DISK_ID: EXX
|
||||
; ®¬¥à £®«®¢ª¨ BYTE
|
||||
; ®¬¥à ᥪâ®à BYTE
|
||||
; ¤«¨ ᥪâ®à BYTE
|
||||
<<<<<<< HEAD:src/bios/exp/EXTENDED/FDD_DRIVER_2.asm
|
||||
; ª®â஫ì ï á㬬 WORD
|
||||
LD H,4 ; !HARDCODE áçñâ稪 ¤® ¡ ©â à §¬¥à ᥪâ®à
|
||||
=======
|
||||
; ª®â஫ì ï á㬬 WORD
|
||||
LD H,4 ; !HARDCODE áçñâ稪 ¤® ¡ ©â à §¬¥à ᥪâ®à
|
||||
>>>>>>> refs/remotes/Sprinter-Core/beta:src/bios/exp/EXTENDED/FDD_DRIVER.asm
|
||||
.ID_LP2: IN A,(FDC_93.Data)
|
||||
DEC H
|
||||
JR NZ,.ID_LP3
|
||||
@ -605,6 +725,7 @@ DISK_ID: EXX
|
||||
EX AF,AF'
|
||||
AND #80
|
||||
RET
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
;
|
||||
SEEK: LD XL,A
|
||||
@ -658,22 +779,47 @@ P50ms: PUSH BC
|
||||
RET
|
||||
;
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
;RESWG: LD A,8
|
||||
; ;
|
||||
;EXECOM: OUT (FDC_93.Command),A
|
||||
; LD HL,#0000 ; áçñâ稪
|
||||
;.WREST: DEC HL
|
||||
; LD A,H
|
||||
; OR L
|
||||
; SCF
|
||||
; RET Z
|
||||
; ;
|
||||
; IN A,(FDC_93.DrvCTRL)
|
||||
; AND #80
|
||||
; JR Z,.WREST
|
||||
; RET
|
||||
;
|
||||
RESWG: LD A,8 ;!HARDCODE CMD Š<>1818‚ƒ93
|
||||
;
|
||||
EXECOM: OUT (FDC_93.Command),A
|
||||
LD HL,#0000 ; áçñâ稪
|
||||
PUSH BC
|
||||
LD B,3 ; áçñâ稪
|
||||
;
|
||||
.WREST: DEC HL
|
||||
LD A,H
|
||||
OR L
|
||||
SCF
|
||||
RET Z
|
||||
JR NZ,.get_state
|
||||
;
|
||||
IN A,(FDC_93.DrvCTRL)
|
||||
AND #80
|
||||
JR Z,.WREST
|
||||
DJNZ .WREST
|
||||
;
|
||||
POP BC
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
.get_state: IN A,(FDC_93.DrvCTRL)
|
||||
AND #80
|
||||
JR Z,.WREST
|
||||
POP BC
|
||||
RET
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
;
|
||||
;-------------------------------
|
||||
@ -676,6 +676,7 @@ WAITPRT: LD DE,256*(IDE.CtrlByte.Busy+IDE.CtrlByte.Ready+IDE.CtrlByte.Error) + I
|
||||
AND D
|
||||
CP E
|
||||
JR Z,.ok
|
||||
;
|
||||
DEC HL
|
||||
LD A,L
|
||||
OR H
|
||||
@ -684,8 +685,8 @@ WAITPRT: LD DE,256*(IDE.CtrlByte.Busy+IDE.CtrlByte.Ready+IDE.CtrlByte.Error) + I
|
||||
POP HL
|
||||
DEC L
|
||||
JR NZ,.loop
|
||||
;
|
||||
.error: LD A,BIOS.Error.NotReady
|
||||
; error
|
||||
LD A,BIOS.Error.NotReady
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
|
||||
@ -89,72 +89,50 @@ RAM_DRV_READ_WRITE:
|
||||
LD L,B
|
||||
IN A,(SLOT3)
|
||||
LD H,A
|
||||
|
||||
; LD A,H
|
||||
; OR L
|
||||
; JR NZ,.error_stack2 ; if sector_high > 0
|
||||
; POP AF
|
||||
|
||||
POP AF
|
||||
EX (SP),HL
|
||||
PUSH AF
|
||||
|
||||
LD A,H
|
||||
OR L
|
||||
JR NZ,.error_stack2 ; if sector_high > 0
|
||||
;
|
||||
POP AF
|
||||
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
LD A,C ; ¢ ॣ C ª®¬ ¤ çâ¥¨ï ¨«¨ § ¯¨á¨
|
||||
EX AF,AF'
|
||||
; A' = command
|
||||
|
||||
PUSH BC ; Sector_counter
|
||||
PUSH DE ; Address
|
||||
PUSH IX ; Sector_low
|
||||
|
||||
AND #0F ;®¬¥à à ¬¤¨áª
|
||||
;LD C,BIOS.GET_RAMD_ST
|
||||
;RST_to_BIOS
|
||||
CALL GET_RAMD_ST
|
||||
; A = Memory Block ID
|
||||
|
||||
POP DE ; Sector_low
|
||||
POP HL ; Address
|
||||
POP BC ; Sector_counter
|
||||
JR C,.error_stack1
|
||||
|
||||
;
|
||||
SLA E
|
||||
RL D ; Sector_low * 2
|
||||
JR C,.error_stack1
|
||||
|
||||
|
||||
;
|
||||
PUSH BC
|
||||
SLA B ; Sector_counter * 2 - ⨯ ã ¤¨áª¥âë ᥪâ®à 512 ¡ ©â®¢
|
||||
JR C,.error_stack2
|
||||
|
||||
;
|
||||
PUSH DE
|
||||
//PUSH BC
|
||||
;LD C,BIOS.BLK_RD_WR
|
||||
;RST_to_BIOS
|
||||
CALL BLK_RD_WR
|
||||
JR C,.error_stack3
|
||||
;
|
||||
; hl = address + Sector_low * 256 * Sector_counter
|
||||
|
||||
//POP BC
|
||||
//SRL B
|
||||
|
||||
POP DE
|
||||
; de = Sector_low * 2
|
||||
|
||||
SRL D
|
||||
RR E
|
||||
; de = Sector_low
|
||||
|
||||
POP BC
|
||||
; b = Sector_counter
|
||||
|
||||
LD A,E
|
||||
ADD A,B
|
||||
LD E,A
|
||||
@ -162,16 +140,12 @@ RAM_DRV_READ_WRITE:
|
||||
ADC A,0
|
||||
LD D,A
|
||||
; de = Sector_counter + Sector_low
|
||||
|
||||
PUSH DE
|
||||
POP IX
|
||||
; ix = Sector_counter + Sector_low
|
||||
|
||||
EX DE,HL
|
||||
; de = address + Sector_low * 256 * Sector_counter
|
||||
|
||||
LD HL,0
|
||||
|
||||
POP AF
|
||||
OUT (SLOT3),A
|
||||
AND A
|
||||
@ -179,6 +153,7 @@ RAM_DRV_READ_WRITE:
|
||||
; HL:IX - Sector + Sector counter
|
||||
; DE - Address + (Sector counter * Size sector)
|
||||
RET
|
||||
;
|
||||
.error_stack3:
|
||||
POP BC
|
||||
.error_stack2:
|
||||
@ -85,8 +85,8 @@ DRV_LIST:
|
||||
; RET
|
||||
; ;
|
||||
|
||||
INCLUDE 'EXTENDED/FDD_DRIVER_2.asm'
|
||||
INCLUDE 'EXTENDED/RAM_DISK_DRIVER_1.asm'
|
||||
INCLUDE 'EXTENDED/FDD_DRIVER.asm'
|
||||
INCLUDE 'EXTENDED/RAM_DISK_DRIVER.asm'
|
||||
INCLUDE 'EXTENDED/IDE/ATA_DRV.asm'
|
||||
INCLUDE 'EXTENDED/IDE/ATAPI_DRV.asm'
|
||||
INCLUDE 'EXTENDED/IDE/SHARED.asm'
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -1201,56 +1201,109 @@ SYSID: DZ "Starting..."
|
||||
; .Size EQU $ - FD144A
|
||||
; FD720A: DB #00,#09,#02,#50,#00,#00,#02,FDD_INIT_TABLE.FDD
|
||||
; .Size EQU $ - FD720A
|
||||
FDD_INIT_TABLE: FDD_1440_TABLE
|
||||
|
||||
|
||||
FDD_INIT_TABLE_35: FDD_TABLE_s {
|
||||
#80, ;.DISK
|
||||
#12, ;.SECTORS
|
||||
#02, ;.HEADS
|
||||
#50, ;.CYLINDL
|
||||
#00, ;.CYLINDH
|
||||
#0200, ;.BytesPerSector
|
||||
#03 ;.ID
|
||||
}
|
||||
;
|
||||
FDD_INIT_TABLE_525: FDD_TABLE_s {
|
||||
#00 ;.DISK
|
||||
#09 ;.SECTORS
|
||||
#02 ;.HEADS
|
||||
#50 ;.CYLINDL
|
||||
#00 ;.CYLINDH
|
||||
#0200 ;.BytesPerSector
|
||||
#03 ;.ID
|
||||
}
|
||||
|
||||
FDD_INSTAL: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD HL,SYS_PAGE.FDD_TABLE
|
||||
LD BC,SYS_PAGE.FDD_TABLE.Size*256 + #FF ; table_size*256 + fill_byte
|
||||
LD BC,2*(SYS_PAGE.FDD_TABLE.Size*256) + #FF ; table_size*256 + fill_byte
|
||||
.FILLFDD: LD (HL),C
|
||||
INC HL
|
||||
DJNZ .FILLFDD
|
||||
;
|
||||
;EX AF,AF'
|
||||
;OUT (SLOT3),A
|
||||
;LD BC,CMOS_CELL.DrivesSetup_1.Mask.FirstFDD ;#0311
|
||||
;CALL GET_CMOS_VALUE
|
||||
;LD HL,FD720A
|
||||
;OR A
|
||||
;JR Z,.SETFD0
|
||||
LD HL,FDD_INIT_TABLE
|
||||
;DEC A
|
||||
;JR NZ,.NOFDD0
|
||||
;.SETFD0: ;IN A,(SLOT3)
|
||||
;
|
||||
LD BC,CMOS_CELL.DrivesSetup_1.Mask.FirstFDD ;#0311
|
||||
CALL .Choose_FDD_Type
|
||||
JR NZ,.next_FDD
|
||||
;
|
||||
LD DE,SYS_PAGE.FDD_TABLE
|
||||
LD BC,SYS_PAGE.FDD_TABLE.Size
|
||||
LDIR
|
||||
.next_FDD: LD BC,CMOS_CELL.DrivesSetup_1.Mask.SecondFDD ;#0C11
|
||||
CALL .Choose_FDD_Type
|
||||
JR NZ,.NOFDD1
|
||||
;
|
||||
LD DE,SYS_PAGE.FDD_1_TABLE
|
||||
LD BC,SYS_PAGE.FDD_1_TABLE.Size
|
||||
LDIR
|
||||
.NOFDD1: EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
;
|
||||
.Choose_FDD_Type:
|
||||
CALL GET_CMOS_VALUE
|
||||
LD HL,FDD_INIT_TABLE_35
|
||||
OR A
|
||||
RET Z
|
||||
;
|
||||
LD HL,FDD_INIT_TABLE_525
|
||||
DEC A
|
||||
RET
|
||||
/*
|
||||
LD BC,CMOS_CELL.DrivesSetup_1.Mask.FirstFDD ;#0311
|
||||
CALL GET_CMOS_VALUE
|
||||
LD HL,FDD_INIT_TABLE_525
|
||||
OR A
|
||||
JR Z,.SETFD0
|
||||
;
|
||||
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
|
||||
; B=0
|
||||
LD C,SYS_PAGE.FDD_TABLE.Size
|
||||
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,FD720A
|
||||
;OR A
|
||||
;JR Z,.SETFD1
|
||||
;LD HL,FD144A
|
||||
;DEC A
|
||||
;JR NZ,.NOFDD1
|
||||
;.SETFD1: IN A,(SLOT3)
|
||||
.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
|
||||
EX AF,AF'
|
||||
LD DE,SYS_PAGE.FDD_1_TABLE
|
||||
LD BC,FD144A.Size
|
||||
LDIR
|
||||
.NOFDD1: EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
.NOFDD1: RET
|
||||
RET
|
||||
*/
|
||||
|
||||
|
||||
PIDNUM: LD HL,memBUFFER.ID
|
||||
|
||||
@ -279,22 +279,28 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.DrivesSetup_1.Mask.FirstFDD : DB %0000'0000
|
||||
DB msgStrings.valAuto
|
||||
DW CMOS_CELL.DrivesSetup_1.Mask.FirstFDD : DB %0000'0010
|
||||
DB msgStrings.val35
|
||||
DB msgStrings.val525
|
||||
DB msgStrings.valDash6
|
||||
; DB msgStrings.valAuto
|
||||
; DB msgStrings.val720
|
||||
; DB msgStrings.val1440
|
||||
; DB msgStrings.valDash6
|
||||
; DB msgStrings.val1200
|
||||
|
||||
_mSETitemParams FddSecond
|
||||
DW OnChangeAction.nothing
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DW CMOS_CELL.DrivesSetup_1.Mask.SecondFDD : DB %0000'0000
|
||||
DB msgStrings.valAuto
|
||||
DW CMOS_CELL.DrivesSetup_1.Mask.SecondFDD : DB %0000'1000
|
||||
DB msgStrings.val35
|
||||
DB msgStrings.val525
|
||||
DB msgStrings.valDash6
|
||||
; DB msgStrings.valAuto
|
||||
; DB msgStrings.val720
|
||||
; DB msgStrings.val1440
|
||||
; DB msgStrings.valDash6
|
||||
; DB msgStrings.val1200
|
||||
|
||||
_mSETitemParams PriIdeMA
|
||||
DW OnChangeAction.nothing
|
||||
@ -653,6 +659,8 @@ msgStrings:
|
||||
_mSetStr valAuto, tmp_Counter : DZ 'Auto '
|
||||
; _mSetStr val720, tmp_Counter : DZ '720K '
|
||||
; _mSetStr val1440, tmp_Counter : DZ '1.44M '
|
||||
_mSetStr val35, tmp_Counter : DZ '3.5" '
|
||||
_mSetStr val525, tmp_Counter : DZ '5.25" '
|
||||
_mSetStr valDash6, tmp_Counter : DZ '------'
|
||||
_mSetStr parFddSecond, tmp_Counter : DZ 'FDD second : '
|
||||
_mSetStr parPriIdeMA, tmp_Counter : DZ 'Primary IDE Master',#FF,' : '
|
||||
@ -832,6 +840,8 @@ msgRusStrings:
|
||||
_mSetStrRus valAuto, tmp_Counter : DZ '€¢â® '
|
||||
; _mSetStrRus val720, tmp_Counter : DZ '720K '
|
||||
; _mSetStrRus val1440, tmp_Counter : DZ '1.44M '
|
||||
_mSetStrRus val35, tmp_Counter : DZ '3.5" '
|
||||
_mSetStrRus val525, tmp_Counter : DZ '5.25" '
|
||||
_mSetStrRus valDash6, tmp_Counter : DZ '------'
|
||||
_mSetStrRus parFddSecond, tmp_Counter : DZ 'FDD ¢â®à®© : '
|
||||
_mSetStrRus parPriIdeMA, tmp_Counter : DZ 'Primary IDE Master',#FF,' : '
|
||||
|
||||
@ -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