...
This commit is contained in:
parent
a703f275c1
commit
8dd4f966c2
@ -1 +1 @@
|
||||
Subproject commit 520455dbdc4c10f1850fd697aa5be4703d6cfd27
|
||||
Subproject commit 6e9cb7fd969b98df5cc98ec109bab2be59d46208
|
||||
@ -64,7 +64,7 @@
|
||||
;
|
||||
;PAGE 5 Recovery image part 1
|
||||
INCBIN IMG_RECOVERY,0,#C000
|
||||
DISPLAY "ROM Disk recovery part1, pages 5..7: 2x0000..2xC000"
|
||||
DISPLAY "ROM Disk recovery part1, pages 5..7: 1x4000..2x0000"
|
||||
;
|
||||
|
||||
|
||||
|
||||
@ -4,15 +4,15 @@
|
||||
DUP numberOFdrives
|
||||
DB high FN_RESERVED_5x ;#50 - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
||||
|
||||
DB high FN_5x_Parser_1 ;#51
|
||||
DB high FN_5x_Parser_2 ;#52
|
||||
DB high FN_5x_Parser_3 ;#53
|
||||
DB high FN_5x_Parser_4 ;#54
|
||||
DB high FN_5x_Parser_5 ;#55
|
||||
DB high FN_5x_Parser_6 ;#56
|
||||
DB high FN_5x_Parser_7 ;#57
|
||||
DB high FN_5x_Parser_8 ;#58
|
||||
DB high FN_5x_Parser_9 ;#59
|
||||
DB high FN_ABSENT_5x ;#51
|
||||
DB high FN_ABSENT_5x ;#52
|
||||
DB high FN_ABSENT_5x ;#53
|
||||
DB high FN_ABSENT_5x ;#54
|
||||
DB high FN_ABSENT_5x ;#55
|
||||
DB high FN_ABSENT_5x ;#56
|
||||
DB high FN_ABSENT_5x ;#57
|
||||
DB high FN_ABSENT_5x ;#58
|
||||
DB high FN_ABSENT_5x ;#59
|
||||
|
||||
DB high DRV_VERSION ;#5A - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
||||
DB high FN_RESERVED_5x ;#5B - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
||||
@ -25,15 +25,15 @@
|
||||
DUP numberOFdrives
|
||||
DB low FN_RESERVED_5x ;#50 - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
||||
|
||||
DB low FN_5x_Parser_1 ;#51
|
||||
DB low FN_5x_Parser_2 ;#52
|
||||
DB low FN_5x_Parser_3 ;#53
|
||||
DB low FN_5x_Parser_4 ;#54
|
||||
DB low FN_5x_Parser_5 ;#55
|
||||
DB low FN_5x_Parser_6 ;#56
|
||||
DB low FN_5x_Parser_7 ;#57
|
||||
DB low FN_5x_Parser_8 ;#58
|
||||
DB low FN_5x_Parser_9 ;#59
|
||||
DB low FN_ABSENT_5x ;#51
|
||||
DB low FN_ABSENT_5x ;#52
|
||||
DB low FN_ABSENT_5x ;#53
|
||||
DB low FN_ABSENT_5x ;#54
|
||||
DB low FN_ABSENT_5x ;#55
|
||||
DB low FN_ABSENT_5x ;#56
|
||||
DB low FN_ABSENT_5x ;#57
|
||||
DB low FN_ABSENT_5x ;#58
|
||||
DB low FN_ABSENT_5x ;#59
|
||||
|
||||
DB low DRV_VERSION ;#5A - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
||||
DB low FN_RESERVED_5x ;#5B - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
||||
|
||||
@ -85,7 +85,7 @@ RST38:
|
||||
CP #AA
|
||||
JR Z,YESINT
|
||||
OUT (C),B
|
||||
JR NOINT
|
||||
JP NOINT
|
||||
YESINT: PUSH HL
|
||||
LD HL,(SYS_PAGE.INT_ADRESS)
|
||||
LD A,H
|
||||
@ -904,7 +904,7 @@ Setup_to_RAM:
|
||||
; ˆ¨æ¨ «¨§ æ¨ï ¯®à⮢
|
||||
PORTS_INIT:
|
||||
; ¢ª«îç¨âì TURBO
|
||||
LD A,CNF_PORT.TURBO.ON + CNF_PORT.CNF_0
|
||||
LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
|
||||
OUT (SYS_PORT.ROM),A
|
||||
|
||||
; RESET to ISA
|
||||
@ -943,13 +943,14 @@ PORTS_INIT:
|
||||
LD A,#62 ;60, 61
|
||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||
|
||||
;--------[Clean keyboard buffer]--------
|
||||
;----[Clearing the keyboard buffer]-----
|
||||
.clean_kbd_buf:
|
||||
IN A,(Z84.SIO.Ch_A.Ctrl)
|
||||
BIT 0,A
|
||||
jr z,.mouse
|
||||
JR Z,1F
|
||||
IN A,(Z84.SIO.Ch_A.Data)
|
||||
jr .clean_kbd_buf
|
||||
JR .clean_kbd_buf
|
||||
1: ;exit from .clean_kbd_buf
|
||||
;---------------------------------------
|
||||
|
||||
; ˆ¨æ¨ «¨§ æ¨ï ¬ëè¨
|
||||
|
||||
@ -300,15 +300,13 @@ RDS002: EXX
|
||||
CALL WAITPRT
|
||||
EXX
|
||||
RET C
|
||||
;NOP ;R01 REMOVED "DI" ; !FIXIT
|
||||
;NOP ;R01 REMOVED "DI"
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,XH
|
||||
OUT (SLOT3),A
|
||||
LD BC,IDE.Read.Data
|
||||
; LD D,#20
|
||||
|
||||
;!TEST v
|
||||
RDS003: DUP 16
|
||||
INI
|
||||
EDUP
|
||||
@ -318,13 +316,8 @@ RDS004: DUP 16
|
||||
EDUP
|
||||
JP NZ,RDS004
|
||||
|
||||
; DEC D
|
||||
; JR NZ,RDS003
|
||||
;!TEST ^
|
||||
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
;EI
|
||||
;
|
||||
LD A,H
|
||||
OR L
|
||||
@ -485,12 +478,14 @@ WRS002: EXX
|
||||
CALL WAITPRT
|
||||
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
|
||||
WRS003:
|
||||
DUP 16
|
||||
@ -498,9 +493,10 @@ WRS003:
|
||||
EDUP
|
||||
DEC D
|
||||
JR NZ,WRS003
|
||||
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EI
|
||||
//EI
|
||||
;
|
||||
LD A,H
|
||||
OR L
|
||||
@ -526,7 +522,7 @@ WRS003:
|
||||
LD BC,IDE.Read.Status
|
||||
IN A,(C)
|
||||
BIT IDE.ControlBit.DataRequest,A
|
||||
JR NZ,WRS002
|
||||
JP NZ,WRS002
|
||||
XOR A
|
||||
RET
|
||||
|
||||
|
||||
@ -1,7 +1,14 @@
|
||||
;***********************************************
|
||||
; ????? çñ § å¥àï ¯à® ¡¥©á¨ª? âãâ ¥ â® ¨¦¥
|
||||
; CMOS - 35h,36h - ãáâ ®¢ª¨ ¡¥©á¨ª
|
||||
;***********************************************
|
||||
;
|
||||
MACRO _mCMOS_MAX_TEST
|
||||
ASSERT CMOS.MAX_ADDRESS = #7F, "WARNING!!! Logick broken with BIT 7 check"
|
||||
BIT 7,D
|
||||
SCF
|
||||
RET NZ
|
||||
ENDM
|
||||
;
|
||||
|
||||
|
||||
;!FIXIT ¯® ¤®ª¥ äãªæ¨î ¤®«¦¥ ¯¥à¥¤ ¢ë室®¬ CF áâ ¢¨âìáï
|
||||
CMOS_EMU_WR:
|
||||
PUSH DE
|
||||
|
||||
@ -16,18 +23,23 @@ CMOS_EMU_WR:
|
||||
|
||||
POP DE
|
||||
RET
|
||||
;
|
||||
|
||||
; § ¯¨áì ¢ CMOS
|
||||
CMOS_WR:
|
||||
;!TEST
|
||||
_mCMOS_MAX_TEST
|
||||
;
|
||||
CALL CMOS_TEST
|
||||
JR C,CMOS_EMU_WR
|
||||
XWR_CMOS:
|
||||
LD BC,CMOS.Port.Address.Write
|
||||
.WR: LD BC,CMOS.Port.Address.Write
|
||||
OUT (C),D
|
||||
LD BC,CMOS.Port.Data.Write
|
||||
OUT (C),A
|
||||
RET
|
||||
;
|
||||
|
||||
;!FIXIT ¯® ¤®ª¥ äãªæ¨î ¤®«¦¥ ¯¥à¥¤ ¢ë室®¬ CF áâ ¢¨âìáï
|
||||
CMOS_EMU_RD:
|
||||
PUSH DE
|
||||
|
||||
@ -42,46 +54,50 @@ CMOS_EMU_RD:
|
||||
|
||||
POP DE
|
||||
RET
|
||||
;
|
||||
|
||||
; ç⥨¥ ¨§ CMOS
|
||||
CMOS_RD:
|
||||
;!TEST
|
||||
_mCMOS_MAX_TEST
|
||||
;
|
||||
CALL CMOS_TEST
|
||||
JR C,CMOS_EMU_RD
|
||||
XRD_CMOS:
|
||||
LD BC,CMOS.Port.Address.Write
|
||||
.RD: LD BC,CMOS.Port.Address.Write
|
||||
OUT (C),D
|
||||
LD BC,CMOS.Port.Data.Read
|
||||
IN A,(C)
|
||||
RET
|
||||
;
|
||||
|
||||
;<3B>஢¥àª «¨ç¨ï CMOS
|
||||
CMOS_TEST:
|
||||
PUSH AF
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
PUSH AF
|
||||
|
||||
LD D,#3F ; !HARDCODE CHECKSUM SETTING
|
||||
CALL XRD_CMOS
|
||||
LD D,CMOS.TEST_CELL
|
||||
CALL CMOS_RD.RD
|
||||
LD E,A
|
||||
CPL
|
||||
CALL XWR_CMOS
|
||||
CALL XRD_CMOS
|
||||
CALL CMOS_WR.WR
|
||||
CALL CMOS_RD.RD
|
||||
CPL
|
||||
CP E
|
||||
JR NZ,CMOS_ERR
|
||||
JR NZ,.CMOS_ERR
|
||||
LD A,E
|
||||
CALL XWR_CMOS
|
||||
CALL CMOS_WR.WR
|
||||
|
||||
POP AF
|
||||
POP BC
|
||||
POP DE
|
||||
POP AF
|
||||
AND A
|
||||
RET
|
||||
|
||||
CMOS_ERR:
|
||||
.CMOS_ERR:
|
||||
LD A,E
|
||||
CALL XWR_CMOS
|
||||
POP AF
|
||||
CALL CMOS_WR.WR
|
||||
POP BC
|
||||
POP DE
|
||||
POP AF
|
||||
SCF
|
||||
RET
|
||||
@ -229,7 +229,7 @@ REINIT: DEC B
|
||||
|
||||
LD A,RESET_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD A,CNF_PORT.TURBO.OFF + ROM.BIOS
|
||||
LD A,CNF_PORT.TURBO.OFF
|
||||
OUT (SYS_PORT.ROM),A
|
||||
.loop2: LD (#C000),A ; Soft RESET !!!
|
||||
JR .loop2
|
||||
|
||||
@ -97,7 +97,7 @@ EMM.CheckColdInit:
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT2),A
|
||||
|
||||
LD HL,#8000
|
||||
LD HL,SYS_PAGE.ID_FLAG - #4000
|
||||
LD DE,ID_SPRINTER_length
|
||||
ld a,(de)
|
||||
inc de
|
||||
@ -202,7 +202,7 @@ INIT_CONFIG_ALL:
|
||||
LD (SYS_PAGE.CONFIG_ALL-#4000),HL
|
||||
;------------[new code end]-------------
|
||||
;
|
||||
LD DE,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON + ROM.BIOS
|
||||
LD DE,CNF_PORT.CNF_0 + ROM.BIOS
|
||||
LD (SYS_PAGE.CONFIG_DE-#4000),DE
|
||||
|
||||
LD HL,SYS_PAGE.TASK_DATA-#4000 ; 㡨âì ¢á¥ § ¤ ç¨
|
||||
|
||||
@ -617,24 +617,33 @@ RRLPX:
|
||||
RLCA
|
||||
RET
|
||||
|
||||
;!TEST
|
||||
READCMS:
|
||||
LD D,high CMOSARE
|
||||
LD E,A
|
||||
CP CMOS.USED_MAX_ADDRESS+1
|
||||
JR NC,.error
|
||||
LD A,(DE)
|
||||
RET
|
||||
.error: SCF
|
||||
RET
|
||||
|
||||
;!TEST
|
||||
WRITCMS:
|
||||
LD D,high CMOSARE
|
||||
LD E,A
|
||||
CP CMOS.USED_MAX_ADDRESS+1
|
||||
JR NC,.error
|
||||
LD A,B
|
||||
LD (DE),A
|
||||
RET
|
||||
.error: SCF
|
||||
RET
|
||||
|
||||
CHEKSUM:
|
||||
LD BC,DEFVAL.Length*256+#000E
|
||||
LD H,#DE
|
||||
CHSUM1:
|
||||
LD A,C
|
||||
LD BC,DEFVAL.Size*256 + #0E ;!HARDCODE
|
||||
LD H,#DE ;!HARDCODE
|
||||
.loop: LD A,C
|
||||
CALL READCMS
|
||||
LD L,A
|
||||
LD A,H
|
||||
@ -643,12 +652,12 @@ CHSUM1:
|
||||
SUB L
|
||||
LD H,A
|
||||
INC C
|
||||
DJNZ CHSUM1
|
||||
DJNZ .loop
|
||||
RET
|
||||
|
||||
TCHEKSM:
|
||||
CALL CHEKSUM
|
||||
LD A,#3F
|
||||
LD A,#3F ;!HARDCODE
|
||||
CALL READCMS
|
||||
CP H
|
||||
RET
|
||||
@ -668,17 +677,13 @@ TCHEKSM:
|
||||
|
||||
READING:
|
||||
LD D,#0E ; !HARDCODE CMOS
|
||||
.loop:
|
||||
PUSH DE
|
||||
|
||||
;CALL RDCMOS
|
||||
.loop: PUSH DE
|
||||
CALL CMOS_RD
|
||||
|
||||
POP DE
|
||||
LD H,high CMOSARE
|
||||
LD L,D
|
||||
LD (HL),A
|
||||
LD A,#40 ; !HARDCODE CMOS
|
||||
LD A,CMOS.USED_MAX_ADDRESS+1
|
||||
INC D
|
||||
CP D
|
||||
JR NZ,.loop
|
||||
@ -695,12 +700,10 @@ WRITING:
|
||||
LD L,D
|
||||
LD A,(HL)
|
||||
PUSH DE
|
||||
|
||||
;CALL WRCMOS
|
||||
CALL CMOS_WR
|
||||
|
||||
POP DE
|
||||
LD A,#40 ; !HARDCODE CMOS
|
||||
LD A,CMOS.USED_MAX_ADDRESS+1
|
||||
INC D
|
||||
CP D
|
||||
JR NZ,.loop
|
||||
@ -714,7 +717,7 @@ SETDEFX:
|
||||
|
||||
SETDEF: ;!TODO ¬®¦¥â ¡ åãâì LDIR®¬? ¯®á¬®âà¥âì
|
||||
LD HL,DEFVAL
|
||||
LD C,DEFVAL.Length
|
||||
LD C,DEFVAL.Size
|
||||
LD A,#0E ; !HARDCODE CMOS c¬¥é¥¨¥ ¢ â ¡«¨æ¥ ¤® ï祥ª ¯ ¬ïâ¨
|
||||
.loop:
|
||||
LD B,(HL)
|
||||
@ -1027,12 +1030,13 @@ DEFVAL: DB SAVERAM+EXTBIOS+SDELAY1 ;X0E - OPTIONS
|
||||
DB 0 ;X1E - TRDOS
|
||||
DB #77 ;X1F - SCREEN POSITION
|
||||
DB HD1AUTO+HD2AUTO ;X20 - Secondary HDD's
|
||||
.Length EQU $-DEFVAL
|
||||
.Size EQU $-DEFVAL
|
||||
|
||||
|
||||
;!FIXIT à ᯨá âì âãâ ï祩ª¨ ª¬®á ¨ í⮠ᬥ饨¥ ¬¥âª®© ¯à¨¢ï§ âì ¢¬¥áâ® #0E ¢ SETDEF
|
||||
_mInfoALIGN 256,0 ; ¢ëà ¢¨¢ ¨¥ ¤à¥á #XX00
|
||||
CMOSARE:
|
||||
DS 14 ;!FIXIT à ᯨá âì âãâ ï祩ª¨ ª¬®á ¨ í⮠ᬥ饨¥ ¬¥âª®© ¯à¨¢ï§ âì ¢¬¥áâ® #0E ¢ SETDEF
|
||||
DS 14
|
||||
|
||||
DB SAVERAM+EXTBIOS ;X0E - OPTIONS
|
||||
DB TDL250+TRATE30 ;X0F - KEYBOARD
|
||||
|
||||
@ -89,10 +89,10 @@
|
||||
LD B,0
|
||||
LD C,(HL)
|
||||
INC C
|
||||
LD DE,TEMP+5
|
||||
LD DE,TEMP+ROM_DISK.Pages.Size
|
||||
LDIR ; ª¨¤ ¥¬ ¤ «ìè¥ ¢ ¡ãä¥à ®¬¥à áâà ¨æ ROM disk
|
||||
|
||||
LD IY,TEMP+5 ; ROM_DISK.Pages.Number
|
||||
LD IY,TEMP+ROM_DISK.Pages.Size ; ROM_DISK.Pages.Number
|
||||
LD IX,TEMP
|
||||
LD B,(IY+0)
|
||||
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user