ZX_RAM_ID
This commit is contained in:
parent
743cc31493
commit
3819a6e8b6
@ -1 +1 @@
|
||||
Subproject commit 18269745815d90e76686f5693e0cb45f8f31741c
|
||||
Subproject commit 349ba286106d21a77cf3f8a25b6f7c952eccb046
|
||||
@ -117,7 +117,6 @@ SELHH: EXX
|
||||
LD A,IDE.Chanel.Primary
|
||||
SELCHAN:
|
||||
OUT (IDE.Chanel.Set),A ;R02
|
||||
|
||||
LD A,(IY+IDE.HDD_INIT_TABLE.DriveType)
|
||||
CP IDE.Device.HDD ;!FIXIT ¢®§¬®¦®, åॠ¥ 㦮, ¯®â®¬ã-çâ® ¥á«¨ CD, â® ¯à¨«¥â¨â ¢ ¤à ©¢¥à CD
|
||||
LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags)
|
||||
@ -128,7 +127,7 @@ SELCHAN:
|
||||
EXX
|
||||
RET Z
|
||||
NODRIVE:
|
||||
LD A,2 ;!HARDCODE
|
||||
LD A,BIOS.Error.BadDrvNumber
|
||||
SCF
|
||||
RET
|
||||
|
||||
@ -239,13 +238,13 @@ HDD_5x.LONG_READ:
|
||||
ADD IX,BC
|
||||
LD B,C
|
||||
ADC HL,BC
|
||||
EX AF,AF'
|
||||
;EX AF,AF' ;!TEST 21/11/23
|
||||
JR RST8RDR
|
||||
|
||||
RNOT256 ADD IX,BC
|
||||
LD C,B
|
||||
ADC HL,BC
|
||||
EX AF,AF'
|
||||
;EX AF,AF' ;!TEST 21/11/23
|
||||
JR RST8RDR
|
||||
|
||||
HERRRD0 LD B,A
|
||||
@ -265,14 +264,13 @@ HERRRD0 LD B,A
|
||||
LD C,A
|
||||
LD A,B
|
||||
LD B,C
|
||||
SCF ;R03
|
||||
EX AF,AF' ;R03
|
||||
RST8RDR:
|
||||
|
||||
RESTORE_PORTY
|
||||
|
||||
;R03
|
||||
SCF
|
||||
;EX AF,AF' ;!TEST 21/11/23
|
||||
;
|
||||
RST8RDR: RESTORE_PORTY
|
||||
POP IY
|
||||
EX AF,AF'
|
||||
;EX AF,AF' ;!TEST 21/11/23
|
||||
RET
|
||||
;READ SECTOR(S)
|
||||
RDS000: CALL SELECTH
|
||||
@ -401,13 +399,13 @@ HDD_5x.LONG_WRITE:
|
||||
ADD IX,BC
|
||||
LD B,C
|
||||
ADC HL,BC
|
||||
EX AF,AF'
|
||||
;EX AF,AF'
|
||||
JR RST8WRR
|
||||
|
||||
WNOT256 ADD IX,BC
|
||||
LD C,B
|
||||
ADC HL,BC
|
||||
EX AF,AF'
|
||||
;EX AF,AF'
|
||||
JR RST8WRR
|
||||
|
||||
HERRWR0 LD B,A
|
||||
@ -427,14 +425,13 @@ HERRWR0 LD B,A
|
||||
LD C,A
|
||||
LD A,B
|
||||
LD B,C
|
||||
;R03
|
||||
SCF ;R03
|
||||
EX AF,AF' ;R03 ;!FIXIT ¬ã¤à¨« ® çñâ ¢ í⮬ R03
|
||||
RST8WRR EXX
|
||||
POP BC
|
||||
OUT (C),B
|
||||
EXX
|
||||
;EX AF,AF' ;R03 ;!FIXIT ¬ã¤à¨« ® çñâ ¢ í⮬ R03
|
||||
;
|
||||
RST8WRR: RESTORE_PORTY
|
||||
POP IY
|
||||
EX AF,AF'
|
||||
;EX AF,AF'
|
||||
RET
|
||||
|
||||
;WRITE SECTOR(S)
|
||||
@ -451,6 +448,7 @@ WRS000:
|
||||
PUSH AF
|
||||
PUSH DE
|
||||
|
||||
;[x] CMOS Write Protect Disabled
|
||||
IF HDDwriteProtect
|
||||
PUSH BC
|
||||
LD D,#1D ;!HARDCODE CMOS Write Protect
|
||||
@ -462,7 +460,7 @@ WRS000:
|
||||
POP AF
|
||||
EX AF,AF'
|
||||
LD XL,0
|
||||
LD A,8 ;WRITE PROTECT
|
||||
LD A,BIOS.Error.WriteProtect
|
||||
SCF
|
||||
RET
|
||||
ENDIF
|
||||
@ -483,13 +481,12 @@ WRS002: EXX
|
||||
EXX
|
||||
RET C
|
||||
|
||||
//DI
|
||||
;DI
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,XH
|
||||
OUT (SLOT3),A
|
||||
LD BC,IDE.Write.Data
|
||||
|
||||
;LD D,#20
|
||||
LD D,512/WRITE_OUTI_DUPs
|
||||
WRS003:
|
||||
@ -542,18 +539,13 @@ WRS003:
|
||||
;VERIFY SECTOR(S)
|
||||
HDD_5x.VERIFY:
|
||||
PUSH IY
|
||||
|
||||
SAFE_PORTY_2
|
||||
|
||||
PUSH IX
|
||||
PUSH HL
|
||||
CALL VRS000
|
||||
POP HL
|
||||
POP IX
|
||||
EXX
|
||||
POP BC
|
||||
OUT (C),B
|
||||
EXX
|
||||
RESTORE_PORTY
|
||||
POP IY
|
||||
RET
|
||||
;[]================================================================[#54]
|
||||
@ -679,9 +671,7 @@ CHS005: INC A
|
||||
WAITPRT:
|
||||
LD BC,IDE.Read.Status
|
||||
LD HL,#0000 ; § ¤¥à¦ª ;!HARDCODE
|
||||
|
||||
.loop: PUSH HL
|
||||
|
||||
.loop2: IN A,(C)
|
||||
AND D
|
||||
CP E
|
||||
@ -690,12 +680,12 @@ WAITPRT:
|
||||
LD A,L
|
||||
OR H
|
||||
JP NZ,.loop2
|
||||
|
||||
;
|
||||
POP HL
|
||||
DEC L
|
||||
JR NZ,.loop
|
||||
|
||||
.error: LD A,4 ;!HARDCODE error number
|
||||
;
|
||||
.error: LD A,BIOS.Error.WaitPort
|
||||
SCF
|
||||
RET
|
||||
.ok: POP HL
|
||||
@ -711,7 +701,7 @@ WAITPRT:
|
||||
HDD_5x.DETECT:
|
||||
CP #84 ;!HARDCODE max HDD drives (#80,#81,#82,#83)
|
||||
CCF
|
||||
RET C
|
||||
JR C,.error
|
||||
|
||||
LD HL,IDE.INIT_TBL_IDE0.DriveType
|
||||
AND 3
|
||||
@ -736,5 +726,6 @@ HDD_5x.DETECT:
|
||||
CP IDE.Device.HDD
|
||||
RET Z
|
||||
SCF
|
||||
.error: LD A,BIOS.Error.BadDrvNumber
|
||||
RET
|
||||
;[]================================================================[#57]
|
||||
@ -179,7 +179,6 @@ FN_HDD_READ_BPB:
|
||||
RET C
|
||||
CALL HD_BPB_PREP
|
||||
RET C
|
||||
|
||||
JR HD_RD_L1
|
||||
|
||||
|
||||
@ -251,12 +250,12 @@ HD_READ_CONT:
|
||||
DUP 16
|
||||
INI ; ¢á¥£® 16 à § INI - ®¯â¨¬ «ì®.
|
||||
EDUP
|
||||
JP NZ,.loop_read1
|
||||
JR NZ,.loop_read1
|
||||
.loop_read2:
|
||||
DUP 16
|
||||
INI ; ¢á¥£® 16 à § INI - ®¯â¨¬ «ì®.
|
||||
EDUP
|
||||
JP NZ,.loop_read2
|
||||
JR NZ,.loop_read2
|
||||
|
||||
LD A,H
|
||||
OR L
|
||||
@ -303,14 +302,14 @@ HD_WR_L2:
|
||||
JP Z,HD_RET
|
||||
|
||||
LD BC,IDE.Write.Data
|
||||
LD D,32
|
||||
LD D,32 ;!HARDCODE § ¢¨á¨â ®â áçñâ稪 DUP ¢ HD_WR_LOOP
|
||||
HD_WR_LOOP:
|
||||
DUP 16
|
||||
OUTI ; ¢á¥£® 16 à § OUTI - ®¯â¨¬ «ì®.
|
||||
EDUP
|
||||
|
||||
DEC D
|
||||
JP NZ,HD_WR_LOOP
|
||||
JR NZ,HD_WR_LOOP
|
||||
|
||||
LD A,H
|
||||
OR L
|
||||
@ -599,45 +598,43 @@ HD_CALC_SECS:
|
||||
BIT 6,A
|
||||
JR NZ,HDD_LBA
|
||||
POP BC ; ᨬ ¥¬ § 票¥ ¤«ï ª®à४⮣® ret
|
||||
|
||||
;
|
||||
LD A,XH
|
||||
AND A
|
||||
SCF
|
||||
RET NZ ; ®è¨¡ª , ᫨誮¬ ¡®«ì让 HDD
|
||||
|
||||
; IX,DE - ¡á®«îâë© ®¬¥à ᥪâ®à
|
||||
PUSH IX
|
||||
POP HL
|
||||
|
||||
;
|
||||
IN A,(SLOT3)
|
||||
LD C,A
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD A,C
|
||||
LD (SYS_PAGE.COPY_SLOT3),A
|
||||
|
||||
; HL,DE - ®¬¥à ᥪâ®à
|
||||
; BC - ç¨á«® ᥪâ®à®¢ 樫¨¤à¥
|
||||
LD BC,(SYS_PAGE.HD_IDF_ADR.sec_cyl) ; ç¨á«® ᥪâ®à®¢ 樫¨¤à¥
|
||||
LD A,16 ; HL,DE à §¤¥«¨âì BC
|
||||
SCF
|
||||
DIV_LOOP:
|
||||
.DIV_LOOP:
|
||||
EX DE,HL
|
||||
ADD HL,HL
|
||||
EX DE,HL
|
||||
ADC HL,HL
|
||||
|
||||
;
|
||||
SBC HL,BC ; áà ¢¨âì HL ¨ BC
|
||||
JR NC,NO_ADD ; ¯¥à¥®á ¥ ¡ë«® - +1!
|
||||
JR NC,.NO_ADD ; ¯¥à¥®á ¥ ¡ë«® - +1!
|
||||
ADD HL,BC
|
||||
DEC A
|
||||
JR NZ,DIV_LOOP
|
||||
JR DIV_END
|
||||
NO_ADD:
|
||||
JR NZ,.DIV_LOOP
|
||||
JR .DIV_END
|
||||
.NO_ADD:
|
||||
INC DE
|
||||
DEC A
|
||||
JR NZ,DIV_LOOP
|
||||
DIV_END:
|
||||
JR NZ,.DIV_LOOP
|
||||
.DIV_END:
|
||||
; DE - १ã«ìâ â, HL - ®áâ ⮪
|
||||
; DE - 樫¨¤à
|
||||
LD A,(SYS_PAGE.HD_IDF_ADR+12) ; !HARDCODE .sectors
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user