beta 3
This commit is contained in:
parent
9c14f06b9c
commit
95e6385690
@ -216,7 +216,7 @@ ID_Version: DW BIOS_ver_hex
|
||||
ID_SPRINTER: DB 'Firmware v'
|
||||
.BIOS_ver: DB BIOS_ver_string,' '
|
||||
IF BETA_BUILD
|
||||
DB 'BETA 2'
|
||||
DB BETA_str_ver
|
||||
ELSE
|
||||
DB '[',BUILD_DATE,']'
|
||||
ENDIF
|
||||
|
||||
@ -32,7 +32,6 @@ FDD_5x_GETMED:
|
||||
LD IY,FDD_INI_TABLE.FDD_1
|
||||
.getParams:
|
||||
ENDIF
|
||||
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
@ -57,7 +56,7 @@ FDD_5x_GETMED:
|
||||
LD B,A
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
;EX AF,AF'
|
||||
AND A
|
||||
RET
|
||||
|
||||
@ -149,9 +148,9 @@ FDD_5x_RESET: CALL SAVE_INTERRUPTS.switch_off
|
||||
XOR A
|
||||
OUT (FDC_93.Track),A
|
||||
IN A,(FDC_93.Command)
|
||||
LD C,A
|
||||
;LD C,A
|
||||
CALL SET_DOS_OFF
|
||||
LD A,C
|
||||
;LD A,C
|
||||
AND A
|
||||
JP SAVE_INTERRUPTS.restore
|
||||
;RET
|
||||
@ -164,7 +163,7 @@ FDD_5x_RESET: CALL SAVE_INTERRUPTS.switch_off
|
||||
OUT (FDC_93.DrvCTRL),A
|
||||
CALL SET_DOS_OFF
|
||||
; CF=1
|
||||
LD A,4 ;NOT READY /NO DISK/
|
||||
LD A,BIOS.Error.NotReady
|
||||
;POP AF
|
||||
JP SAVE_INTERRUPTS.restore
|
||||
|
||||
@ -208,7 +207,7 @@ FDD_5x_LONG_READ:
|
||||
PUSH BC
|
||||
CALL SET_DOS_ON
|
||||
CALL S_FDD
|
||||
CALL SPEED
|
||||
CALL SET_SPEED
|
||||
CALL NTRACK
|
||||
POP BC
|
||||
EX DE,HL
|
||||
@ -233,7 +232,7 @@ FDD_5x_LONG_READ:
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
CALL READ_SECTOR
|
||||
JP C,ERRDOS
|
||||
JR C,ERRDOS
|
||||
LD D,YH
|
||||
LD E,YL
|
||||
POP HL
|
||||
@ -256,7 +255,7 @@ FDD_5x_LONG_READ:
|
||||
LD A,C
|
||||
INC E
|
||||
CP E
|
||||
JP NZ,.NINC_T
|
||||
JR NZ,.NINC_T
|
||||
LD E,0
|
||||
INC D
|
||||
.NINC_T: DJNZ .DSK_LP
|
||||
@ -353,7 +352,7 @@ FDD_5x_LONG_WRITE:
|
||||
PUSH BC
|
||||
CALL SET_DOS_ON
|
||||
CALL S_FDD
|
||||
CALL SPEED
|
||||
CALL SET_SPEED
|
||||
CALL NTRACK
|
||||
POP BC
|
||||
EX DE,HL
|
||||
@ -378,7 +377,7 @@ FDD_5x_LONG_WRITE:
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
CALL WR_SEC
|
||||
JP C,ERRDOS
|
||||
JR C,ERRDOS
|
||||
LD D,YH
|
||||
LD E,YL
|
||||
POP HL
|
||||
@ -401,7 +400,7 @@ FDD_5x_LONG_WRITE:
|
||||
LD A,C
|
||||
INC E
|
||||
CP E
|
||||
JP NZ,.NINC_T2
|
||||
JR NZ,.NINC_T2
|
||||
LD E,0
|
||||
INC D
|
||||
.NINC_T2: DJNZ .DSK_LP2
|
||||
@ -441,9 +440,10 @@ READ_SECTOR: LD D,5 ;RETRY COUNT
|
||||
EX AF,AF'
|
||||
LD A,XH
|
||||
OUT (SLOT3),A
|
||||
LD B,4
|
||||
;
|
||||
LD B,4 ; áçñâ稪
|
||||
LD C,FDC_93.Data
|
||||
LD A,#80 ;COMMAND READ
|
||||
LD A,#80 ;!HARDCODE COMMAND READ
|
||||
OUT (FDC_93.Command),A
|
||||
.FDR001: IN A,(FDC_93.DrvCTRL) ;WAIT INTRQ or DRQ
|
||||
AND #C0
|
||||
@ -472,7 +472,7 @@ READ_SECTOR: LD D,5 ;RETRY COUNT
|
||||
;R01 ; JP C,ERRRD ;READ ERROR
|
||||
; !TEST 29/06/2024
|
||||
;JP C,.ERR_XRD
|
||||
JP NC,.NO_ERR_XRD
|
||||
JR NC,.NO_ERR_XRD
|
||||
DEC D
|
||||
JR Z,.RSTOP
|
||||
JR .RRETRY
|
||||
@ -482,7 +482,7 @@ READ_SECTOR: LD D,5 ;RETRY COUNT
|
||||
RET Z
|
||||
BIT 2,C
|
||||
JR NZ,.ERDATA
|
||||
LD A,5 ;SEEK ERROR
|
||||
LD A,BIOS.Error.Seek
|
||||
DEC D
|
||||
JR Z,.RSTOP
|
||||
PUSH DE
|
||||
@ -494,7 +494,7 @@ READ_SECTOR: LD D,5 ;RETRY COUNT
|
||||
;
|
||||
.ERDATA: DEC D ; POTERIA DANNYH
|
||||
JR NZ,.RRETRY
|
||||
.ERRRD: LD A,9 ;READ ERROR
|
||||
.ERRRD: LD A,BIOS.Error.Read
|
||||
.RSTOP: EX AF,AF'
|
||||
LD A,#D0
|
||||
OUT (FDC_93.Command),A ;STOP OPERATION
|
||||
@ -502,7 +502,7 @@ READ_SECTOR: LD D,5 ;RETRY COUNT
|
||||
BIT 0,C
|
||||
SCF
|
||||
RET Z
|
||||
LD A,6 ;SECTOR NOT FOUND /NO DISK/
|
||||
LD A,BIOS.Error.SectorNotFound
|
||||
RET
|
||||
; ; ;
|
||||
|
||||
@ -554,18 +554,17 @@ WR_SEC: LD D,5 ;RETRY COUNT
|
||||
IN A,(FDC_93.Command)
|
||||
LD C,A
|
||||
;R01
|
||||
JP C,.ERR_XWR
|
||||
; JP C,ERRWR ;WRITE ERROR
|
||||
JR C,.ERR_XWR
|
||||
AND #7F
|
||||
RET Z
|
||||
BIT 6,C
|
||||
LD A,8 ;WRITE PROTECT
|
||||
LD A,BIOS.Error.WriteProtect
|
||||
JR NZ,.WSTOP
|
||||
BIT 2,C
|
||||
JR NZ,.EWDATA
|
||||
LD A,5 ;SEEK ERROR
|
||||
LD A,BIOS.Error.Seek
|
||||
DEC D
|
||||
JP Z,.WSTOP
|
||||
JR Z,.WSTOP
|
||||
.ERR_XWR:
|
||||
PUSH DE
|
||||
CALL RESWG ; RESET_WG
|
||||
@ -576,7 +575,7 @@ WR_SEC: LD D,5 ;RETRY COUNT
|
||||
.EWDATA:
|
||||
DEC D ; POTERIA DANNYH
|
||||
JR NZ,.WRETRY
|
||||
.ERRWR: LD A,10 ;WRITE ERROR
|
||||
.ERRWR: LD A,BIOS.Error.Write
|
||||
.WSTOP: EX AF,AF'
|
||||
LD A,#D0
|
||||
OUT (FDC_93.Command),A ;STOP OPERATION
|
||||
@ -584,7 +583,7 @@ WR_SEC: LD D,5 ;RETRY COUNT
|
||||
BIT 0,C
|
||||
SCF
|
||||
RET Z
|
||||
LD A,6 ;SECTOR NOT FOUND /NO DISK/
|
||||
LD A,BIOS.Error.SectorNotFound
|
||||
RET
|
||||
|
||||
|
||||
@ -605,21 +604,6 @@ SET_DOS_OFF:
|
||||
OUT (SYS_PORT.ROM),A ; - CLOSE
|
||||
EX AF,AF'
|
||||
RET
|
||||
;
|
||||
|
||||
;
|
||||
FDD.SET720:
|
||||
LD A,FDD_Density.SET_720
|
||||
OUT (FDD_Density),A
|
||||
RET
|
||||
;
|
||||
|
||||
;
|
||||
FDD.SET1440:
|
||||
LD A,FDD_Density.SET_1440
|
||||
OUT (FDD_Density),A
|
||||
RET
|
||||
;
|
||||
|
||||
;
|
||||
S_FDD: PUSH BC
|
||||
@ -656,8 +640,7 @@ S_FDD: PUSH BC
|
||||
;
|
||||
|
||||
;
|
||||
TURNSPD:
|
||||
IN A,(SLOT3)
|
||||
CHANGE_SPEED: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
@ -668,12 +651,14 @@ TURNSPD:
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
JP Z,FDD.SET720
|
||||
JP FDD.SET1440 ;NZ
|
||||
JR Z,FDD.SET720
|
||||
;JP FDD.SET1440 ;ZF=0
|
||||
FDD.SET1440: LD A,FDD_Density.SET_1440
|
||||
OUT (FDD_Density),A
|
||||
RET
|
||||
;
|
||||
|
||||
;
|
||||
SPEED: IN A,(SLOT3)
|
||||
SET_SPEED: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
@ -682,32 +667,29 @@ SPEED: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
JP Z,FDD.SET720
|
||||
JP FDD.SET1440 ;NZ
|
||||
;
|
||||
JR NZ,FDD.SET1440
|
||||
;JR FDD.SET720 ;ZF=1
|
||||
FDD.SET720: LD A,FDD_Density.SET_720
|
||||
OUT (FDD_Density),A
|
||||
RET
|
||||
|
||||
; 能丞諲<E4B89E>剁 亢咻卿 ㏑碪 栽物鍡平<E98DA1>
|
||||
DISK_ID:
|
||||
;DI
|
||||
EXX
|
||||
CALL SPEED
|
||||
DISK_ID: EXX
|
||||
CALL SET_SPEED
|
||||
IN A,(FDC_93.Track)
|
||||
OUT (FDC_93.Data),A
|
||||
LD A,#18 ;!TODO c祠<EFBD83>碪 狙洵<E78B99>月 <20> ;SEARCH ; !HARDCODE
|
||||
CALL EXECOM
|
||||
LD C,4
|
||||
.ID_LP0:
|
||||
LD A,#C0
|
||||
LD C,4 ; áçñâ稪
|
||||
.loop_reg_C: LD A,#C0
|
||||
OUT (FDC_93.Command),A
|
||||
LD HL,#F000
|
||||
.ID_LP1:
|
||||
IN A,(FDC_93.DrvCTRL)
|
||||
LD HL,#F000 ; áçñâ稪
|
||||
.loop_reg_HL: IN A,(FDC_93.DrvCTRL)
|
||||
AND #C0
|
||||
JR Z,.ID_LP4
|
||||
.ID_LP2:
|
||||
IN A,(FDC_93.Data)
|
||||
.ID_LP3:
|
||||
IN A,(FDC_93.DrvCTRL)
|
||||
;
|
||||
.ID_LP2: IN A,(FDC_93.Data)
|
||||
.ID_LP3: IN A,(FDC_93.DrvCTRL)
|
||||
AND #C0
|
||||
JR Z,.ID_LP3
|
||||
JP P,.ID_LP2
|
||||
@ -721,19 +703,17 @@ DISK_ID:
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
AND #80
|
||||
;EI
|
||||
RET
|
||||
.ID_LP4:
|
||||
DEC HL
|
||||
;
|
||||
.ID_LP4: DEC HL
|
||||
LD A,H
|
||||
OR L
|
||||
JP NZ,.ID_LP1
|
||||
CALL TURNSPD
|
||||
JR NZ,.loop_reg_HL
|
||||
CALL CHANGE_SPEED
|
||||
DEC C
|
||||
JP NZ,.ID_LP0
|
||||
JR NZ,.loop_reg_C
|
||||
EXX
|
||||
SCF
|
||||
;EI
|
||||
RET
|
||||
;
|
||||
|
||||
@ -793,16 +773,17 @@ P50ms: LD A,12
|
||||
;
|
||||
RESWG: LD A,8
|
||||
EXECOM: OUT (FDC_93.Command),A
|
||||
LD HL,#0000
|
||||
LD HL,#0000 ; áçñâ稪
|
||||
.WREST: DEC HL
|
||||
LD A,H
|
||||
OR L
|
||||
SCF
|
||||
RET Z
|
||||
;
|
||||
IN A,(FDC_93.DrvCTRL)
|
||||
AND #80
|
||||
JR Z,.WREST
|
||||
AND A
|
||||
;AND A
|
||||
RET
|
||||
;
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
;[ ] 18/12/2023. ¤®¡ ¢«¥¨¥/¤®¯¨«¨¢ ¨¥ API CD-ROM (ATAPI)
|
||||
|
||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
|
||||
;CD ROM DRIVE DRIVER
|
||||
;---------------------------------------------------------------
|
||||
;Rev Date Name Description
|
||||
@ -156,6 +156,7 @@ TRAY_FN:
|
||||
;----------------------------------------------------------------------;
|
||||
; INPUT: HL - AP paket (12bytes)
|
||||
; RETURN: CF - ERROR
|
||||
; !TODO CD ERRORS to INCLUDES
|
||||
; #01 - RECOVERED ERROR
|
||||
; #02 - NOT READY
|
||||
; #03 - MEDIUM ERROR
|
||||
@ -284,7 +285,7 @@ AP_COM: EXX
|
||||
IN A,(C)
|
||||
AND #02
|
||||
;CP #02
|
||||
JP NZ,.FROM_CD
|
||||
JR NZ,.FROM_CD
|
||||
;.TO_CD:
|
||||
LD BC,IDE.Read.Data
|
||||
.WR_T_CD:
|
||||
|
||||
@ -112,10 +112,10 @@ HDD_5x_GETMED:
|
||||
LD E,(IY+IDE.HDD_INIT_TABLE.CylinderNumberLow)
|
||||
LD D,(IY+IDE.HDD_INIT_TABLE.CylinderNumberHigh)
|
||||
LD B,(IY+IDE.HDD_INIT_TABLE.DRV_Flags)
|
||||
LD IX,512
|
||||
LD IX,512 ;!HARDCODE sector size
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
;EX AF,AF'
|
||||
AND A
|
||||
RET
|
||||
;[]================================================================[#58]
|
||||
@ -144,7 +144,7 @@ HDD_5x_SETMED:
|
||||
LD (IY+IDE.HDD_INIT_TABLE.DRV_Flags),B
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
;EX AF,AF'
|
||||
AND A
|
||||
RET
|
||||
;[]================================================================[#59]
|
||||
@ -184,7 +184,7 @@ HDD_5x_LONG_READ:
|
||||
PUSH HL
|
||||
CALL RDS000
|
||||
EX DE,HL
|
||||
JP C,HERRRD0
|
||||
JR C,HERRRD0
|
||||
LD A,XH
|
||||
EX AF,AF'
|
||||
POP HL
|
||||
@ -645,7 +645,7 @@ WAITPRT:
|
||||
DEC L
|
||||
JR NZ,.loop
|
||||
;
|
||||
.error: LD A,BIOS.Error.WaitPort
|
||||
.error: LD A,BIOS.Error.NotReady
|
||||
SCF
|
||||
RET
|
||||
.ok: POP HL
|
||||
|
||||
@ -18,7 +18,7 @@ SELECT_DRIVE:
|
||||
LD IY,IDE.INIT_TBL_IDE3
|
||||
;
|
||||
JR Z,.channel
|
||||
LD A,BIOS.Error.BadDrvNumber
|
||||
LD A,BIOS.Error.BadNumber
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
@ -46,7 +46,7 @@ SELECT_DRIVE:
|
||||
CP C
|
||||
EXX
|
||||
SCF
|
||||
LD A,BIOS.Error.BadDrvNumber
|
||||
LD A,BIOS.Error.BadNumber
|
||||
RET NZ
|
||||
;
|
||||
LD A,B
|
||||
@ -96,5 +96,5 @@ DRV_DETECT:
|
||||
OUT (C),B
|
||||
RET Z
|
||||
SCF
|
||||
.error: LD A,BIOS.Error.BadDrvNumber
|
||||
.error: LD A,BIOS.Error.BadNumber
|
||||
RET
|
||||
@ -53,7 +53,7 @@ RMD_5x_GETMED:
|
||||
JR NC,.loop
|
||||
; CF==1, A==0 - ®è¨¡ª , A==#FF - ok
|
||||
INC A
|
||||
RET NZ ; ¥á«¨ ¢ë室¨â, â® á ä¤ £ ¬¨ CF==1, ZF==1
|
||||
RET NZ ; ¥á«¨ ¢ë室¨â, â® á ä« £ ¬¨ CF==1, ZF==1
|
||||
|
||||
LD E,B
|
||||
LD B,C
|
||||
|
||||
@ -19,7 +19,7 @@ EMM.GetMemSize:
|
||||
JR NZ,.loop
|
||||
INC C
|
||||
JR .loop
|
||||
.exit: LD HL,#100
|
||||
.exit: LD HL,#100 ;!HARDCODE max mem pages
|
||||
LD A,B
|
||||
LD B,0
|
||||
OUT (SLOT1),A
|
||||
@ -31,7 +31,7 @@ EMM.GetMemSize:
|
||||
; á⥪®¬, â ¬ ¬®¦¥â ¡ëâì SP ¢ ०¨¬¥ ᯥªâàã¬
|
||||
|
||||
;
|
||||
;----------------------------------------------------------------------; !FIXIT SAFE_RGADR +
|
||||
;----------------------------------------------------------------------;
|
||||
; ˆ¨æ¨ «¨§ æ¨ï à á¯à¥¤¥«¥¨ï ¯ ¬ïâ¨.
|
||||
EMM.InitMem:
|
||||
PUSH BC
|
||||
@ -116,7 +116,7 @@ RESERVED_PAGES:
|
||||
|
||||
|
||||
;
|
||||
;----------------------------------------------------------------------; !FIXIT SAFE_RGADR +
|
||||
;----------------------------------------------------------------------;
|
||||
; <20>®«ãç¨âì ¡«®ª ¯ ¬ï⨠N bytes,
|
||||
; ‚室: B - ç¨á«® ¥®¡å®¤¨¬ëå ¡«®ª®¢
|
||||
; ‚ë室: L,A - Š‹ž— RAM-Disk/ª®¤ ®è¨¡ª¨
|
||||
@ -262,7 +262,7 @@ EMM_F3M_L1:
|
||||
EMM_FN3M_ERR:
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
LD A,2 ;!HARDCODE error code
|
||||
LD A,BIOS.Error.BadNumber
|
||||
SCF
|
||||
RET
|
||||
;----------------------------------------------------------------------;
|
||||
@ -956,7 +956,7 @@ GET_RAMD_ST:
|
||||
|
||||
|
||||
;
|
||||
;----------------------------------------------------------------------; !FIXIT SAFE_RGADR +
|
||||
;----------------------------------------------------------------------;
|
||||
; RAM-Disk A, BLK - B
|
||||
BLK_TO_RAMD:
|
||||
CP SYS_PAGE.RAMD_KEYS.NUM
|
||||
@ -1000,7 +1000,7 @@ BLK_BUSY:
|
||||
|
||||
|
||||
;
|
||||
;----------------------------------------------------------------------; !FIXIT SAFE_RGADR +
|
||||
;----------------------------------------------------------------------;
|
||||
; RAM-Disk A
|
||||
RAMD_CLEAR:
|
||||
CP SYS_PAGE.RAMD_KEYS.NUM
|
||||
@ -1035,7 +1035,7 @@ RAMD_CLEAR:
|
||||
|
||||
|
||||
;
|
||||
;----------------------------------------------------------------------; !FIXIT SAFE_RGADR +
|
||||
;----------------------------------------------------------------------;
|
||||
; à §¤¥«¨âì ¡«®ª ¯ ¬ï⨠¤¢ ¡«®ª
|
||||
; A - ¡«®ª, B - ¤«¨ ¯¥à¢®£® ¡«®ª ¯®á«¥ à §¤¥«¥¨ï
|
||||
; ¢ë室: A - ¡«®ª 1, B - ¡«®ª 2
|
||||
@ -1073,7 +1073,7 @@ EMM.DivMemBlocks:
|
||||
|
||||
|
||||
;
|
||||
;----------------------------------------------------------------------; !FIXIT SAFE_RGADR +
|
||||
;----------------------------------------------------------------------;
|
||||
; ᫨âì ¤¢ ¡«®ª ¯ ¬ï⨠¢ ®¤¨
|
||||
; € - ¡«®ª 1, B - ¡«®ª 2
|
||||
; ¢ë室: € - ¡«®ª
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
;
|
||||
;---------[All shared defines]----------
|
||||
DEFINE BETA_BUILD 1 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥¨¥ ® â¥á⮢®© ᡮથ áâ à⮢®¬ íªà ¥
|
||||
IF BETA_BUILD
|
||||
DEFINE BETA_str_ver 'BETA 3'
|
||||
ENDIF
|
||||
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
|
||||
DEFINE SP2000_Loader_Flag #0107
|
||||
DEFINE IDE_Optimization 1 ; á«¥£ª ®¯â¨¬¨§¨àã¥â ¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user