...
This commit is contained in:
parent
a703f275c1
commit
8dd4f966c2
@ -1 +1 @@
|
|||||||
Subproject commit 520455dbdc4c10f1850fd697aa5be4703d6cfd27
|
Subproject commit 6e9cb7fd969b98df5cc98ec109bab2be59d46208
|
||||||
@ -62,9 +62,9 @@
|
|||||||
SP_TRDOS_BIN
|
SP_TRDOS_BIN
|
||||||
Set_Block 'SP_TRD free space: ', #14000
|
Set_Block 'SP_TRD free space: ', #14000
|
||||||
;
|
;
|
||||||
;PAGE 5 Recovery image part 1
|
;PAGE 5 Recovery image part 1
|
||||||
INCBIN IMG_RECOVERY,0,#C000
|
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"
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
@ -73,7 +73,7 @@
|
|||||||
INCBIN 'Build/Bin/EXP.BIN'
|
INCBIN 'Build/Bin/EXP.BIN'
|
||||||
Set_Block 'EXP free space: ', #24000
|
Set_Block 'EXP free space: ', #24000
|
||||||
;
|
;
|
||||||
;PAGE 9-11 (#09, #0A, #0B) Recovery image part 2
|
;PAGE 9-11 (#09, #0A, #0B) Recovery image part 2
|
||||||
INCBIN IMG_RECOVERY,#C000,#C000
|
INCBIN IMG_RECOVERY,#C000,#C000
|
||||||
DISPLAY "ROM Disk recovery part2, pages 9..11: 2x4000..3x0000"
|
DISPLAY "ROM Disk recovery part2, pages 9..11: 2x4000..3x0000"
|
||||||
|
|
||||||
|
|||||||
@ -4,15 +4,15 @@
|
|||||||
DUP numberOFdrives
|
DUP numberOFdrives
|
||||||
DB high FN_RESERVED_5x ;#50 - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
DB high FN_RESERVED_5x ;#50 - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
||||||
|
|
||||||
DB high FN_5x_Parser_1 ;#51
|
DB high FN_ABSENT_5x ;#51
|
||||||
DB high FN_5x_Parser_2 ;#52
|
DB high FN_ABSENT_5x ;#52
|
||||||
DB high FN_5x_Parser_3 ;#53
|
DB high FN_ABSENT_5x ;#53
|
||||||
DB high FN_5x_Parser_4 ;#54
|
DB high FN_ABSENT_5x ;#54
|
||||||
DB high FN_5x_Parser_5 ;#55
|
DB high FN_ABSENT_5x ;#55
|
||||||
DB high FN_5x_Parser_6 ;#56
|
DB high FN_ABSENT_5x ;#56
|
||||||
DB high FN_5x_Parser_7 ;#57
|
DB high FN_ABSENT_5x ;#57
|
||||||
DB high FN_5x_Parser_8 ;#58
|
DB high FN_ABSENT_5x ;#58
|
||||||
DB high FN_5x_Parser_9 ;#59
|
DB high FN_ABSENT_5x ;#59
|
||||||
|
|
||||||
DB high DRV_VERSION ;#5A - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
DB high DRV_VERSION ;#5A - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
||||||
DB high FN_RESERVED_5x ;#5B - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
DB high FN_RESERVED_5x ;#5B - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
||||||
@ -25,15 +25,15 @@
|
|||||||
DUP numberOFdrives
|
DUP numberOFdrives
|
||||||
DB low FN_RESERVED_5x ;#50 - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
DB low FN_RESERVED_5x ;#50 - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
||||||
|
|
||||||
DB low FN_5x_Parser_1 ;#51
|
DB low FN_ABSENT_5x ;#51
|
||||||
DB low FN_5x_Parser_2 ;#52
|
DB low FN_ABSENT_5x ;#52
|
||||||
DB low FN_5x_Parser_3 ;#53
|
DB low FN_ABSENT_5x ;#53
|
||||||
DB low FN_5x_Parser_4 ;#54
|
DB low FN_ABSENT_5x ;#54
|
||||||
DB low FN_5x_Parser_5 ;#55
|
DB low FN_ABSENT_5x ;#55
|
||||||
DB low FN_5x_Parser_6 ;#56
|
DB low FN_ABSENT_5x ;#56
|
||||||
DB low FN_5x_Parser_7 ;#57
|
DB low FN_ABSENT_5x ;#57
|
||||||
DB low FN_5x_Parser_8 ;#58
|
DB low FN_ABSENT_5x ;#58
|
||||||
DB low FN_5x_Parser_9 ;#59
|
DB low FN_ABSENT_5x ;#59
|
||||||
|
|
||||||
DB low DRV_VERSION ;#5A - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
DB low DRV_VERSION ;#5A - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
||||||
DB low FN_RESERVED_5x ;#5B - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
DB low FN_RESERVED_5x ;#5B - „ã¡«ì. <20> íâã äãªæ¨î ¯àë£ ¥â ¨§ ®á®¢®£® ®¡à ¡®â稪
|
||||||
|
|||||||
@ -85,7 +85,7 @@ RST38:
|
|||||||
CP #AA
|
CP #AA
|
||||||
JR Z,YESINT
|
JR Z,YESINT
|
||||||
OUT (C),B
|
OUT (C),B
|
||||||
JR NOINT
|
JP NOINT
|
||||||
YESINT: PUSH HL
|
YESINT: PUSH HL
|
||||||
LD HL,(SYS_PAGE.INT_ADRESS)
|
LD HL,(SYS_PAGE.INT_ADRESS)
|
||||||
LD A,H
|
LD A,H
|
||||||
@ -904,7 +904,7 @@ Setup_to_RAM:
|
|||||||
; ˆ¨æ¨ «¨§ æ¨ï ¯®à⮢
|
; ˆ¨æ¨ «¨§ æ¨ï ¯®à⮢
|
||||||
PORTS_INIT:
|
PORTS_INIT:
|
||||||
; ¢ª«îç¨âì TURBO
|
; ¢ª«îç¨âì 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
|
OUT (SYS_PORT.ROM),A
|
||||||
|
|
||||||
; RESET to ISA
|
; RESET to ISA
|
||||||
@ -943,13 +943,14 @@ PORTS_INIT:
|
|||||||
LD A,#62 ;60, 61
|
LD A,#62 ;60, 61
|
||||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
|
|
||||||
;--------[Clean keyboard buffer]--------
|
;----[Clearing the keyboard buffer]-----
|
||||||
.clean_kbd_buf:
|
.clean_kbd_buf:
|
||||||
IN A,(Z84.SIO.Ch_A.Ctrl)
|
IN A,(Z84.SIO.Ch_A.Ctrl)
|
||||||
BIT 0,A
|
BIT 0,A
|
||||||
jr z,.mouse
|
JR Z,1F
|
||||||
IN A,(Z84.SIO.Ch_A.Data)
|
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
|
CALL WAITPRT
|
||||||
EXX
|
EXX
|
||||||
RET C
|
RET C
|
||||||
;NOP ;R01 REMOVED "DI" ; !FIXIT
|
;NOP ;R01 REMOVED "DI"
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,XH
|
LD A,XH
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD BC,IDE.Read.Data
|
LD BC,IDE.Read.Data
|
||||||
; LD D,#20
|
|
||||||
|
|
||||||
;!TEST v
|
|
||||||
RDS003: DUP 16
|
RDS003: DUP 16
|
||||||
INI
|
INI
|
||||||
EDUP
|
EDUP
|
||||||
@ -318,13 +316,8 @@ RDS004: DUP 16
|
|||||||
EDUP
|
EDUP
|
||||||
JP NZ,RDS004
|
JP NZ,RDS004
|
||||||
|
|
||||||
; DEC D
|
|
||||||
; JR NZ,RDS003
|
|
||||||
;!TEST ^
|
|
||||||
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
;EI
|
|
||||||
;
|
;
|
||||||
LD A,H
|
LD A,H
|
||||||
OR L
|
OR L
|
||||||
@ -485,12 +478,14 @@ WRS002: EXX
|
|||||||
CALL WAITPRT
|
CALL WAITPRT
|
||||||
EXX
|
EXX
|
||||||
RET C
|
RET C
|
||||||
DI
|
|
||||||
|
//DI
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,XH
|
LD A,XH
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD BC,IDE.Write.Data
|
LD BC,IDE.Write.Data
|
||||||
|
|
||||||
LD D,#20
|
LD D,#20
|
||||||
WRS003:
|
WRS003:
|
||||||
DUP 16
|
DUP 16
|
||||||
@ -498,9 +493,10 @@ WRS003:
|
|||||||
EDUP
|
EDUP
|
||||||
DEC D
|
DEC D
|
||||||
JR NZ,WRS003
|
JR NZ,WRS003
|
||||||
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
EI
|
//EI
|
||||||
;
|
;
|
||||||
LD A,H
|
LD A,H
|
||||||
OR L
|
OR L
|
||||||
@ -526,7 +522,7 @@ WRS003:
|
|||||||
LD BC,IDE.Read.Status
|
LD BC,IDE.Read.Status
|
||||||
IN A,(C)
|
IN A,(C)
|
||||||
BIT IDE.ControlBit.DataRequest,A
|
BIT IDE.ControlBit.DataRequest,A
|
||||||
JR NZ,WRS002
|
JP NZ,WRS002
|
||||||
XOR A
|
XOR A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
@ -568,7 +564,7 @@ VRS000: CALL SELECTH
|
|||||||
CALL PRESET
|
CALL PRESET
|
||||||
POP HL
|
POP HL
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
LD A,#40 ; !HARDCODE VERIFY WITH RETRY
|
LD A,#40 ; !HARDCODE VERIFY WITH RETRY
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
VRS002: LD BC,IDE.Read.Status
|
VRS002: LD BC,IDE.Read.Status
|
||||||
IN A,(C)
|
IN A,(C)
|
||||||
|
|||||||
@ -1,7 +1,14 @@
|
|||||||
;***********************************************
|
;
|
||||||
; ????? çñ § å¥àï ¯à® ¡¥©á¨ª? âãâ ¥ â® ¨¦¥
|
MACRO _mCMOS_MAX_TEST
|
||||||
; CMOS - 35h,36h - ãáâ ®¢ª¨ ¡¥©á¨ª
|
ASSERT CMOS.MAX_ADDRESS = #7F, "WARNING!!! Logick broken with BIT 7 check"
|
||||||
;***********************************************
|
BIT 7,D
|
||||||
|
SCF
|
||||||
|
RET NZ
|
||||||
|
ENDM
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
;!FIXIT ¯® ¤®ª¥ äãªæ¨î ¤®«¦¥ ¯¥à¥¤ ¢ë室®¬ CF áâ ¢¨âìáï
|
||||||
CMOS_EMU_WR:
|
CMOS_EMU_WR:
|
||||||
PUSH DE
|
PUSH DE
|
||||||
|
|
||||||
@ -16,72 +23,81 @@ CMOS_EMU_WR:
|
|||||||
|
|
||||||
POP DE
|
POP DE
|
||||||
RET
|
RET
|
||||||
|
;
|
||||||
|
|
||||||
; § ¯¨áì ¢ CMOS
|
; § ¯¨áì ¢ CMOS
|
||||||
CMOS_WR:
|
CMOS_WR:
|
||||||
|
;!TEST
|
||||||
|
_mCMOS_MAX_TEST
|
||||||
|
;
|
||||||
CALL CMOS_TEST
|
CALL CMOS_TEST
|
||||||
JR C,CMOS_EMU_WR
|
JR C,CMOS_EMU_WR
|
||||||
XWR_CMOS:
|
.WR: LD BC,CMOS.Port.Address.Write
|
||||||
LD BC,CMOS.Port.Address.Write
|
|
||||||
OUT (C),D
|
OUT (C),D
|
||||||
LD BC,CMOS.Port.Data.Write
|
LD BC,CMOS.Port.Data.Write
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
RET
|
RET
|
||||||
|
;
|
||||||
|
|
||||||
|
;!FIXIT ¯® ¤®ª¥ äãªæ¨î ¤®«¦¥ ¯¥à¥¤ ¢ë室®¬ CF áâ ¢¨âìáï
|
||||||
CMOS_EMU_RD:
|
CMOS_EMU_RD:
|
||||||
PUSH DE
|
PUSH DE
|
||||||
|
|
||||||
LD C,SLOT3
|
LD C,SLOT3
|
||||||
IN B,(C)
|
IN B,(C)
|
||||||
LD E,SYS_PAGE
|
LD E,SYS_PAGE
|
||||||
OUT (C),E
|
OUT (C),E
|
||||||
LD E,D
|
LD E,D
|
||||||
LD D, high SYS_PAGE.CMOS_EMULATOR
|
LD D, high SYS_PAGE.CMOS_EMULATOR
|
||||||
LD A,(DE)
|
LD A,(DE)
|
||||||
OUT (C),B
|
OUT (C),B
|
||||||
|
|
||||||
POP DE
|
POP DE
|
||||||
RET
|
RET
|
||||||
|
;
|
||||||
|
|
||||||
; ç⥨¥ ¨§ CMOS
|
; ç⥨¥ ¨§ CMOS
|
||||||
CMOS_RD:
|
CMOS_RD:
|
||||||
CALL CMOS_TEST
|
;!TEST
|
||||||
JR C,CMOS_EMU_RD
|
_mCMOS_MAX_TEST
|
||||||
XRD_CMOS:
|
;
|
||||||
LD BC,CMOS.Port.Address.Write
|
CALL CMOS_TEST
|
||||||
OUT (C),D
|
JR C,CMOS_EMU_RD
|
||||||
LD BC,CMOS.Port.Data.Read
|
.RD: LD BC,CMOS.Port.Address.Write
|
||||||
IN A,(C)
|
OUT (C),D
|
||||||
|
LD BC,CMOS.Port.Data.Read
|
||||||
|
IN A,(C)
|
||||||
RET
|
RET
|
||||||
|
;
|
||||||
|
|
||||||
|
;<3B>஢¥àª «¨ç¨ï CMOS
|
||||||
CMOS_TEST:
|
CMOS_TEST:
|
||||||
|
PUSH AF
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH BC
|
PUSH BC
|
||||||
PUSH AF
|
|
||||||
|
|
||||||
LD D,#3F ; !HARDCODE CHECKSUM SETTING
|
LD D,CMOS.TEST_CELL
|
||||||
CALL XRD_CMOS
|
CALL CMOS_RD.RD
|
||||||
LD E,A
|
LD E,A
|
||||||
CPL
|
CPL
|
||||||
CALL XWR_CMOS
|
CALL CMOS_WR.WR
|
||||||
CALL XRD_CMOS
|
CALL CMOS_RD.RD
|
||||||
CPL
|
CPL
|
||||||
CP E
|
CP E
|
||||||
JR NZ,CMOS_ERR
|
JR NZ,.CMOS_ERR
|
||||||
LD A,E
|
LD A,E
|
||||||
CALL XWR_CMOS
|
CALL CMOS_WR.WR
|
||||||
|
|
||||||
POP AF
|
|
||||||
POP BC
|
POP BC
|
||||||
POP DE
|
POP DE
|
||||||
|
POP AF
|
||||||
AND A
|
AND A
|
||||||
RET
|
RET
|
||||||
|
.CMOS_ERR:
|
||||||
CMOS_ERR:
|
|
||||||
LD A,E
|
LD A,E
|
||||||
CALL XWR_CMOS
|
CALL CMOS_WR.WR
|
||||||
POP AF
|
|
||||||
POP BC
|
POP BC
|
||||||
POP DE
|
POP DE
|
||||||
|
POP AF
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
@ -229,7 +229,7 @@ REINIT: DEC B
|
|||||||
|
|
||||||
LD A,RESET_PAGE
|
LD A,RESET_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,CNF_PORT.TURBO.OFF + ROM.BIOS
|
LD A,CNF_PORT.TURBO.OFF
|
||||||
OUT (SYS_PORT.ROM),A
|
OUT (SYS_PORT.ROM),A
|
||||||
.loop2: LD (#C000),A ; Soft RESET !!!
|
.loop2: LD (#C000),A ; Soft RESET !!!
|
||||||
JR .loop2
|
JR .loop2
|
||||||
|
|||||||
@ -97,7 +97,7 @@ EMM.CheckColdInit:
|
|||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT2),A
|
OUT (SLOT2),A
|
||||||
|
|
||||||
LD HL,#8000
|
LD HL,SYS_PAGE.ID_FLAG - #4000
|
||||||
LD DE,ID_SPRINTER_length
|
LD DE,ID_SPRINTER_length
|
||||||
ld a,(de)
|
ld a,(de)
|
||||||
inc de
|
inc de
|
||||||
@ -159,10 +159,10 @@ INIT_SYS_ALL:
|
|||||||
LD (HL),0
|
LD (HL),0
|
||||||
LDIR
|
LDIR
|
||||||
|
|
||||||
LD DE,ZG_ADDRESS ; ¤à¥á § ª®£¥¥à â®à
|
LD DE,ZG_ADDRESS ; ¤à¥á § ª®£¥¥à â®à
|
||||||
LD (SYS_PAGE.WIN_ZG-#4000),DE
|
LD (SYS_PAGE.WIN_ZG-#4000),DE
|
||||||
;
|
;
|
||||||
;-----------[new code start]------------ ; !!!!! ¯®á¬®âà¥âì-¯à¨ç¥á âì
|
;-----------[new code start]------------; !!!!! ¯®á¬®âà¥âì-¯à¨ç¥á âì
|
||||||
INIT_VSyncAndWaits:
|
INIT_VSyncAndWaits:
|
||||||
LD D,CMOS.Cell.ScreenSET
|
LD D,CMOS.Cell.ScreenSET
|
||||||
CALL CMOS_RD
|
CALL CMOS_RD
|
||||||
@ -202,7 +202,7 @@ INIT_CONFIG_ALL:
|
|||||||
LD (SYS_PAGE.CONFIG_ALL-#4000),HL
|
LD (SYS_PAGE.CONFIG_ALL-#4000),HL
|
||||||
;------------[new code end]-------------
|
;------------[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 (SYS_PAGE.CONFIG_DE-#4000),DE
|
||||||
|
|
||||||
LD HL,SYS_PAGE.TASK_DATA-#4000 ; 㡨âì ¢á¥ § ¤ ç¨
|
LD HL,SYS_PAGE.TASK_DATA-#4000 ; 㡨âì ¢á¥ § ¤ ç¨
|
||||||
|
|||||||
@ -1767,7 +1767,7 @@ POSTMSC:
|
|||||||
SETLAND:
|
SETLAND:
|
||||||
LD A,#0E ; !HARDCODE CMOS ï祩ª options
|
LD A,#0E ; !HARDCODE CMOS ï祩ª options
|
||||||
CALL READCMS
|
CALL READCMS
|
||||||
AND #04 ; !HARDCODE CMOS Л<>腑⑧<E88591> 錻覈<E98CBB>
|
AND #04 ; !HARDCODE CMOS Л<>腑⑧<E88591> 錻覈<E98CBB>
|
||||||
JR NZ,.RUS
|
JR NZ,.RUS
|
||||||
|
|
||||||
LD HL,MSG_ENG
|
LD HL,MSG_ENG
|
||||||
|
|||||||
@ -617,24 +617,33 @@ RRLPX:
|
|||||||
RLCA
|
RLCA
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
;!TEST
|
||||||
READCMS:
|
READCMS:
|
||||||
LD D,high CMOSARE
|
LD D,high CMOSARE
|
||||||
LD E,A
|
LD E,A
|
||||||
|
CP CMOS.USED_MAX_ADDRESS+1
|
||||||
|
JR NC,.error
|
||||||
LD A,(DE)
|
LD A,(DE)
|
||||||
RET
|
RET
|
||||||
|
.error: SCF
|
||||||
|
RET
|
||||||
|
|
||||||
|
;!TEST
|
||||||
WRITCMS:
|
WRITCMS:
|
||||||
LD D,high CMOSARE
|
LD D,high CMOSARE
|
||||||
LD E,A
|
LD E,A
|
||||||
|
CP CMOS.USED_MAX_ADDRESS+1
|
||||||
|
JR NC,.error
|
||||||
LD A,B
|
LD A,B
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
RET
|
RET
|
||||||
|
.error: SCF
|
||||||
|
RET
|
||||||
|
|
||||||
CHEKSUM:
|
CHEKSUM:
|
||||||
LD BC,DEFVAL.Length*256+#000E
|
LD BC,DEFVAL.Size*256 + #0E ;!HARDCODE
|
||||||
LD H,#DE
|
LD H,#DE ;!HARDCODE
|
||||||
CHSUM1:
|
.loop: LD A,C
|
||||||
LD A,C
|
|
||||||
CALL READCMS
|
CALL READCMS
|
||||||
LD L,A
|
LD L,A
|
||||||
LD A,H
|
LD A,H
|
||||||
@ -643,12 +652,12 @@ CHSUM1:
|
|||||||
SUB L
|
SUB L
|
||||||
LD H,A
|
LD H,A
|
||||||
INC C
|
INC C
|
||||||
DJNZ CHSUM1
|
DJNZ .loop
|
||||||
RET
|
RET
|
||||||
|
|
||||||
TCHEKSM:
|
TCHEKSM:
|
||||||
CALL CHEKSUM
|
CALL CHEKSUM
|
||||||
LD A,#3F
|
LD A,#3F ;!HARDCODE
|
||||||
CALL READCMS
|
CALL READCMS
|
||||||
CP H
|
CP H
|
||||||
RET
|
RET
|
||||||
@ -668,17 +677,13 @@ TCHEKSM:
|
|||||||
|
|
||||||
READING:
|
READING:
|
||||||
LD D,#0E ; !HARDCODE CMOS
|
LD D,#0E ; !HARDCODE CMOS
|
||||||
.loop:
|
.loop: PUSH DE
|
||||||
PUSH DE
|
|
||||||
|
|
||||||
;CALL RDCMOS
|
|
||||||
CALL CMOS_RD
|
CALL CMOS_RD
|
||||||
|
|
||||||
POP DE
|
POP DE
|
||||||
LD H,high CMOSARE
|
LD H,high CMOSARE
|
||||||
LD L,D
|
LD L,D
|
||||||
LD (HL),A
|
LD (HL),A
|
||||||
LD A,#40 ; !HARDCODE CMOS
|
LD A,CMOS.USED_MAX_ADDRESS+1
|
||||||
INC D
|
INC D
|
||||||
CP D
|
CP D
|
||||||
JR NZ,.loop
|
JR NZ,.loop
|
||||||
@ -695,12 +700,10 @@ WRITING:
|
|||||||
LD L,D
|
LD L,D
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
PUSH DE
|
PUSH DE
|
||||||
|
|
||||||
;CALL WRCMOS
|
|
||||||
CALL CMOS_WR
|
CALL CMOS_WR
|
||||||
|
|
||||||
POP DE
|
POP DE
|
||||||
LD A,#40 ; !HARDCODE CMOS
|
LD A,CMOS.USED_MAX_ADDRESS+1
|
||||||
INC D
|
INC D
|
||||||
CP D
|
CP D
|
||||||
JR NZ,.loop
|
JR NZ,.loop
|
||||||
@ -714,7 +717,7 @@ SETDEFX:
|
|||||||
|
|
||||||
SETDEF: ;!TODO ¬®¦¥â ¡ åãâì LDIR®¬? ¯®á¬®âà¥âì
|
SETDEF: ;!TODO ¬®¦¥â ¡ åãâì LDIR®¬? ¯®á¬®âà¥âì
|
||||||
LD HL,DEFVAL
|
LD HL,DEFVAL
|
||||||
LD C,DEFVAL.Length
|
LD C,DEFVAL.Size
|
||||||
LD A,#0E ; !HARDCODE CMOS c¬¥é¥¨¥ ¢ â ¡«¨æ¥ ¤® ï祥ª ¯ ¬ïâ¨
|
LD A,#0E ; !HARDCODE CMOS c¬¥é¥¨¥ ¢ â ¡«¨æ¥ ¤® ï祥ª ¯ ¬ïâ¨
|
||||||
.loop:
|
.loop:
|
||||||
LD B,(HL)
|
LD B,(HL)
|
||||||
@ -1008,31 +1011,32 @@ STYLES:
|
|||||||
DB COLORS.PAPER.LGRAY + COLORS.INC.RED
|
DB COLORS.PAPER.LGRAY + COLORS.INC.RED
|
||||||
DB COLORS.PAPER.BLACK + COLORS.INC.RED
|
DB COLORS.PAPER.BLACK + COLORS.INC.RED
|
||||||
|
|
||||||
DEFVAL: DB SAVERAM+EXTBIOS+SDELAY1 ;X0E - OPTIONS
|
DEFVAL: DB SAVERAM+EXTBIOS+SDELAY1 ;X0E - OPTIONS
|
||||||
DB TDL250+TRATE30 ;X0F - KEYBOARD
|
DB TDL250+TRATE30 ;X0F - KEYBOARD
|
||||||
DB SDIDE1+ASDFDD2 ;X10 - SYSTEM DISKS
|
DB SDIDE1+ASDFDD2 ;X10 - SYSTEM DISKS
|
||||||
DB FD1720+FD2720+HD1AUTO+HD2AUTO ;X11 - FDD & Primary HDD's
|
DB FD1720+FD2720+HD1AUTO+HD2AUTO ;X11 - FDD & Primary HDD's
|
||||||
DB 0 ;X12 - CYLINDERS LOW MASTER
|
DB 0 ;X12 - CYLINDERS LOW MASTER
|
||||||
DB 0 ;X13 - CYLINDERS HIGH MASTER
|
DB 0 ;X13 - CYLINDERS HIGH MASTER
|
||||||
DB 0 ;X14 - HEADS MASTER
|
DB 0 ;X14 - HEADS MASTER
|
||||||
DB 0 ;X15 - SECTORS MASTER
|
DB 0 ;X15 - SECTORS MASTER
|
||||||
DB 0 ;X16 - CYLINDERS LOW SLAVE
|
DB 0 ;X16 - CYLINDERS LOW SLAVE
|
||||||
DB 0 ;X17 - CYLINDERS HIGH SLAVE
|
DB 0 ;X17 - CYLINDERS HIGH SLAVE
|
||||||
DB 0 ;X18 - HEADS SLAVE
|
DB 0 ;X18 - HEADS SLAVE
|
||||||
DB 0 ;X19 - SECTORS SLAVE
|
DB 0 ;X19 - SECTORS SLAVE
|
||||||
DB 0 ;X1A - Int conf, Screen sync, COLOR STYLE
|
DB 0 ;X1A - Int conf, Screen sync, COLOR STYLE
|
||||||
DB TURBON+SPRIN ;X1B - HARDARE CONF
|
DB TURBON+SPRIN ;X1B - HARDARE CONF
|
||||||
DB BAS128 ;X1C - RESET MODE
|
DB BAS128 ;X1C - RESET MODE
|
||||||
DB REBOOTM ;X1D - REBOOT
|
DB REBOOTM ;X1D - REBOOT
|
||||||
DB 0 ;X1E - TRDOS
|
DB 0 ;X1E - TRDOS
|
||||||
DB #77 ;X1F - SCREEN POSITION
|
DB #77 ;X1F - SCREEN POSITION
|
||||||
DB HD1AUTO+HD2AUTO ;X20 - Secondary HDD's
|
DB HD1AUTO+HD2AUTO ;X20 - Secondary HDD's
|
||||||
.Length EQU $-DEFVAL
|
.Size EQU $-DEFVAL
|
||||||
|
|
||||||
|
|
||||||
|
;!FIXIT à ᯨá âì âãâ ï祩ª¨ ª¬®á ¨ í⮠ᬥ饨¥ ¬¥âª®© ¯à¨¢ï§ âì ¢¬¥áâ® #0E ¢ SETDEF
|
||||||
_mInfoALIGN 256,0 ; ¢ëà ¢¨¢ ¨¥ ¤à¥á #XX00
|
_mInfoALIGN 256,0 ; ¢ëà ¢¨¢ ¨¥ ¤à¥á #XX00
|
||||||
CMOSARE:
|
CMOSARE:
|
||||||
DS 14 ;!FIXIT à ᯨá âì âãâ ï祩ª¨ ª¬®á ¨ í⮠ᬥ饨¥ ¬¥âª®© ¯à¨¢ï§ âì ¢¬¥áâ® #0E ¢ SETDEF
|
DS 14
|
||||||
|
|
||||||
DB SAVERAM+EXTBIOS ;X0E - OPTIONS
|
DB SAVERAM+EXTBIOS ;X0E - OPTIONS
|
||||||
DB TDL250+TRATE30 ;X0F - KEYBOARD
|
DB TDL250+TRATE30 ;X0F - KEYBOARD
|
||||||
@ -1053,37 +1057,37 @@ CMOSARE:
|
|||||||
DB %0000'0000 ;X1E - TRDOS
|
DB %0000'0000 ;X1E - TRDOS
|
||||||
DB %0111'0111 ;X1F - SCREEN POSITION
|
DB %0111'0111 ;X1F - SCREEN POSITION
|
||||||
DB HD1AUTO+HD2AUTO ;X20 - Secondary HDD's
|
DB HD1AUTO+HD2AUTO ;X20 - Secondary HDD's
|
||||||
DB %0000'0000 ;X21
|
DB %0000'0000 ;X21
|
||||||
DB %0000'0000 ;X22
|
DB %0000'0000 ;X22
|
||||||
DB %0000'0000 ;X23
|
DB %0000'0000 ;X23
|
||||||
DB %0000'0000 ;X24
|
DB %0000'0000 ;X24
|
||||||
DB %0000'0000 ;X25
|
DB %0000'0000 ;X25
|
||||||
DB %0000'0000 ;X26
|
DB %0000'0000 ;X26
|
||||||
DB %0000'0000 ;X27
|
DB %0000'0000 ;X27
|
||||||
DB %0000'0000 ;X28
|
DB %0000'0000 ;X28
|
||||||
DB %0000'0000 ;X29
|
DB %0000'0000 ;X29
|
||||||
DB %0000'0000 ;X2A
|
DB %0000'0000 ;X2A
|
||||||
DB %0000'0000 ;X2B
|
DB %0000'0000 ;X2B
|
||||||
DB %0000'0000 ;X2C
|
DB %0000'0000 ;X2C
|
||||||
DB %0000'0000 ;X2D
|
DB %0000'0000 ;X2D
|
||||||
DB %0000'0000 ;X2E
|
DB %0000'0000 ;X2E
|
||||||
DB %0000'0000 ;X2F
|
DB %0000'0000 ;X2F
|
||||||
DB %0000'0000 ;X30
|
DB %0000'0000 ;X30
|
||||||
DB %0000'0000 ;X31
|
DB %0000'0000 ;X31
|
||||||
DB #20 ;X32 - CENTURY
|
DB #20 ;X32 - CENTURY
|
||||||
DB %0000'0000 ;X33
|
DB %0000'0000 ;X33
|
||||||
DB %0000'0000 ;X34
|
DB %0000'0000 ;X34
|
||||||
DB %0000'0000 ;X35
|
DB %0000'0000 ;X35
|
||||||
DB %0000'0000 ;X36
|
DB %0000'0000 ;X36
|
||||||
DB %0000'0000 ;X37
|
DB %0000'0000 ;X37
|
||||||
DB %0000'0000 ;X38
|
DB %0000'0000 ;X38
|
||||||
DB %0000'0000 ;X39
|
DB %0000'0000 ;X39
|
||||||
DB %0000'0000 ;X3A
|
DB %0000'0000 ;X3A
|
||||||
DB %0000'0000 ;X3B
|
DB %0000'0000 ;X3B
|
||||||
DB %0000'0000 ;X3C
|
DB %0000'0000 ;X3C
|
||||||
DB %0000'0000 ;X3D
|
DB %0000'0000 ;X3D
|
||||||
DB %0000'0000 ;X3E
|
DB %0000'0000 ;X3E
|
||||||
DB %0000'0000 ;X3F - CHECKSUM
|
DB %0000'0000 ;X3F - CHECKSUM
|
||||||
BLOCK #100 - low $ ; ¤®¡¨¢ª CMOSARE ¤® à §¬¥à ¢ 256 ¡ ©â®¢
|
BLOCK #100 - low $ ; ¤®¡¨¢ª CMOSARE ¤® à §¬¥à ¢ 256 ¡ ©â®¢
|
||||||
;DONT MOVE !!! ADDRESS
|
;DONT MOVE !!! ADDRESS
|
||||||
|
|
||||||
|
|||||||
@ -89,10 +89,10 @@
|
|||||||
LD B,0
|
LD B,0
|
||||||
LD C,(HL)
|
LD C,(HL)
|
||||||
INC C
|
INC C
|
||||||
LD DE,TEMP+5
|
LD DE,TEMP+ROM_DISK.Pages.Size
|
||||||
LDIR ; ª¨¤ ¥¬ ¤ «ìè¥ ¢ ¡ãä¥à ®¬¥à áâà ¨æ ROM disk
|
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 IX,TEMP
|
||||||
LD B,(IY+0)
|
LD B,(IY+0)
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user