чёт поковырял
This commit is contained in:
parent
2d0ee5e639
commit
8cc1bd11af
@ -1 +1 @@
|
|||||||
Subproject commit 93ab93917db326a86a0ffecc02a62f6f6ef7a938
|
Subproject commit 1535d92eeecb8aa730ae7fe6eb82e9d32a4acb4d
|
||||||
@ -137,7 +137,9 @@
|
|||||||
OUTEND
|
OUTEND
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
;
|
;
|
||||||
EXPORT ROM_NUMBER ; !FIXIT part1, part2 ¤«ï Flasher
|
;EXPORT ROM_NUMBER ; !FIXIT part1, part2 ¤«ï Flasher
|
||||||
|
EXPORT BOARD_INFO.number
|
||||||
|
EXPORT BOARD_INFO.type
|
||||||
EXPORT BoardID.start
|
EXPORT BoardID.start
|
||||||
EXPORT BoardID.end
|
EXPORT BoardID.end
|
||||||
EXPORT FN_CRIPT.cnf
|
EXPORT FN_CRIPT.cnf
|
||||||
|
|||||||
@ -43,8 +43,6 @@
|
|||||||
Set_Block 'ROM free space: ', #4000
|
Set_Block 'ROM free space: ', #4000
|
||||||
;
|
;
|
||||||
;PAGE 1
|
;PAGE 1
|
||||||
; INCBIN 'Build/Bin/LOGO_PAL.BIN'
|
|
||||||
; INCBIN 'Build/Bin/LOGO_DAT.BIN'
|
|
||||||
INCBIN 'Build/Bin/LOGO.BIN'
|
INCBIN 'Build/Bin/LOGO.BIN'
|
||||||
Set_Block 'LOGO free space: ', #8000
|
Set_Block 'LOGO free space: ', #8000
|
||||||
;
|
;
|
||||||
@ -76,7 +74,6 @@
|
|||||||
;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"
|
||||||
|
|
||||||
Set_Block 'Empty space: ', #30000
|
Set_Block 'Empty space: ', #30000
|
||||||
;
|
;
|
||||||
;PAGE 12-15 (#0C, #0D, #0E, #0F)
|
;PAGE 12-15 (#0C, #0D, #0E, #0F)
|
||||||
|
|||||||
@ -12,14 +12,13 @@
|
|||||||
; CCED/AAAAAAAAA
|
; CCED/AAAAAAAAA
|
||||||
; NN1OW116517210
|
; NN1OW116517210
|
||||||
; FF2SR54 3
|
; FF2SR54 3
|
||||||
;DCP_DATA: 108
|
; 108
|
||||||
; ....0..11.1110
|
;DCP_DATA: ....0..11.1110
|
||||||
; WORD %00000001101110 ; - ¤à¥á
|
; WORD %00000001101110 ; - b13..12 cnf, b11 pent512, b10 dos, b9 r/w, b8..0 ¤à¥á
|
||||||
; WORD %00001001101111 ; - ¬ ᪠- 0 ¨§¬¥ï¥¬ë¥ ¡¨âë, 1 ¥¨§¬¥ï¥¬ë¥
|
; WORD %00001001101111 ; - ¬ ᪠- 0 ¨§¬¥ï¥¬ë¥ ¡¨âë, 1 ¥¨§¬¥ï¥¬ë¥
|
||||||
; BYTE ACEX.Border_FE ; - ¯®àâ
|
; BYTE ACEX.Border_FE ; - ¯®àâ
|
||||||
|
|
||||||
; DCP END MARKER
|
|
||||||
; DW 0,0,0
|
|
||||||
;-----------------------------------------------------------------------;
|
;-----------------------------------------------------------------------;
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
@ -135,30 +134,6 @@
|
|||||||
DB ACEX.CMOS_DATA.WRITE
|
DB ACEX.CMOS_DATA.WRITE
|
||||||
;
|
;
|
||||||
;---------HDD[v]
|
;---------HDD[v]
|
||||||
/*
|
|
||||||
Write:
|
|
||||||
.Data EQU #0150 ; cnf 20 ; HDW_DAT W170 ; #1F0 Data register
|
|
||||||
.Features EQU #0151 ; cnf 21 ; HDW_ERR W171 ; #1F1 Features register
|
|
||||||
.Counter EQU #0152 ; cnf 22 ; HDW_CNT P_S_CNT W172 ; #1F2 Counter register
|
|
||||||
.Sector EQU #0153 ; cnf 23 ; HDW_SEC P_S_NUM W173 ; #1F3 Sector register
|
|
||||||
.CylinderLow EQU #0154 ; cnf 24 ; HDW_CLL P_C_LOW W174 ; #1F4 Cylinder Low register
|
|
||||||
.CylinderHigh EQU #0155 ; cnf 25 ; HDW_CLH P_C_HIG W175 ; #1F5 Cylinder High register
|
|
||||||
.DeviceHead EQU #4152 ; cnf 26 ; HDW_DRV P_HD_CS ; #1F6 Device/Head register
|
|
||||||
.Command EQU #4153 ; cnf 27 ; HDW_COM P_CMD ; #1F7 Command register
|
|
||||||
.DeviceControl EQU #4154 ; cnf 28 ; ; #3F6 Device Control register
|
|
||||||
|
|
||||||
Read:
|
|
||||||
.Data EQU #0050 ; cnf 20 ; HDR_DAT P_DATS R170 ; #1F0 Data register
|
|
||||||
.Error EQU #0051 ; cnf 21 ; HDR_ERR P_ERR R171 ; #1F1 Error register
|
|
||||||
.Counter EQU #0052 ; cnf 22 ; HDR_CNT R172 ; #1F2 Counter register
|
|
||||||
.Sector EQU #0053 ; cnf 23 ; HDR_SEC R173 ; #1F3 Sector register
|
|
||||||
.CylinderLow EQU #0054 ; cnf 24 ; HDR_CLL R174 ; #1F4 Cylinder Low register
|
|
||||||
.CylinderHigh EQU #0055 ; cnf 25 ; HDR_CLH R175 ; #1F5 Cylinder High register
|
|
||||||
.Control EQU #4052 ; cnf 26 ; HDR_DRV R176 ; #1F6 Device/Head register
|
|
||||||
.Status EQU #4053 ; cnf 27 ; HDR_CTL P_HDST R177 ; #1F7 Status (Control) register
|
|
||||||
.AltStatus EQU #4054 ; cnf 28 ; ; #3F6 Alternate Status register
|
|
||||||
.DrvAddress EQU #4055 ; cnf 29 ; ; #3F7
|
|
||||||
*/
|
|
||||||
DW %00'000'0'0100'0000
|
DW %00'000'0'0100'0000
|
||||||
DW %11'000'0'0110'1111
|
DW %11'000'0'0110'1111
|
||||||
DB ACEX.IDE_DATA_1F0
|
DB ACEX.IDE_DATA_1F0
|
||||||
@ -465,7 +440,7 @@ Read:
|
|||||||
DW %11'010'0'0110'1010
|
DW %11'010'0'0110'1010
|
||||||
DW %11'010'0'0110'1111
|
DW %11'010'0'0110'1111
|
||||||
DB ACEX.SLOT3
|
DB ACEX.SLOT3
|
||||||
; DCP END MARKER
|
; DCP END MARKER
|
||||||
DW 0,0,0
|
DW 0,0,0
|
||||||
;-----------------------------------------------------------------------;
|
;-----------------------------------------------------------------------;
|
||||||
;
|
;
|
||||||
|
|||||||
@ -15,9 +15,12 @@ EXP_START:
|
|||||||
JP GLOBAL_RESET
|
JP GLOBAL_RESET
|
||||||
|
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
ROM_NUMBER:
|
;ROM_NUMBER:
|
||||||
.part1: DW MotherBoardID
|
;.part1: DW MotherBoardID
|
||||||
.part2: DB 0
|
;.part2: DB 0
|
||||||
|
BOARD_INFO:
|
||||||
|
.number: DW MotherBoardID
|
||||||
|
.type: DB MotherBoardType
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
@ -305,20 +308,19 @@ NO_RESTART:
|
|||||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
LD A,#62
|
LD A,#62
|
||||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
OUT (Z84.SIO.Ch_A.Ctrl),A
|
||||||
|
;
|
||||||
LD A,#CF ; BITS I/O
|
LD A,#CF ; BITS I/O
|
||||||
OUT (Z84.PIO.Port_A.Command),A
|
OUT (Z84.PIO.Port_A.Command),A
|
||||||
XOR A
|
XOR A
|
||||||
OUT (Z84.PIO.Port_A.Command),A
|
OUT (Z84.PIO.Port_A.Command),A
|
||||||
OUT (Z84.PIO.Port_A.Data),A ; PRINTER - PORT - all zeros
|
OUT (Z84.PIO.Port_A.Data),A ; PRINTER - PORT - all zeros
|
||||||
|
|
||||||
; -¨¨æ¨ «¨§ æ¨ï á¨á⥬ëå ¯®à⮢ Z84C15-
|
; -¨¨æ¨ «¨§ æ¨ï á¨á⥬ëå ¯®à⮢ Z84C15-
|
||||||
LD BC,#FF*256 + Z84.SYS.Control
|
LD BC,#FF*256 + Z84.SYS.Control
|
||||||
XOR A ; Z84.REG.WaitState_Ctrl
|
XOR A ; Z84.REG.WaitState_Ctrl
|
||||||
OUT (C),A ; Z84.SYS.Control
|
OUT (C),A ; Z84.SYS.Control
|
||||||
INC C ; Z84.REG.WaitState_MemBound
|
INC C ; Z84.REG.WaitState_MemBound
|
||||||
OUT (C),A ; Z84.SYS.Data ; set 0 Waits
|
OUT (C),A ; Z84.SYS.Data ; set 0 Waits
|
||||||
|
;
|
||||||
DEC C
|
DEC C
|
||||||
LD A,3 ; Z84.REG.Misc_Ctrl
|
LD A,3 ; Z84.REG.Misc_Ctrl
|
||||||
OUT (C),A ; Z84.SYS.Control
|
OUT (C),A ; Z84.SYS.Control
|
||||||
@ -767,14 +769,14 @@ set_config:
|
|||||||
OUT (RGMOD),A
|
OUT (RGMOD),A
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
OUT (SLOT0),A
|
OUT (SLOT0),A
|
||||||
LD A,5
|
LD A,5 ; !HARDCODE page 5
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
LD A,2
|
LD A,2 ; !HARDCODE page 2
|
||||||
OUT (SLOT2),A
|
OUT (SLOT2),A
|
||||||
|
|
||||||
;*********************************
|
;*********************************
|
||||||
; Don't use stack (SP) before this point if it`s normal booting!!!
|
; Don't use stack (SP) before this point if it`s normal booting!!!
|
||||||
LD SP,#BFFE ; <20> ç «® ¨á¯®«ì§®¢ ¨ï á⥪ !!!
|
LD SP,#C000 ; <20> ç «® ¨á¯®«ì§®¢ ¨ï á⥪ !!!
|
||||||
PUSH HL ; á®åà ¨âì ®¬¥à ¯à®è¨¢ª¨
|
PUSH HL ; á®åà ¨âì ®¬¥à ¯à®è¨¢ª¨
|
||||||
|
|
||||||
CALL PORTS_INIT ; ¨¨æ¨ «¨§¨à®¢ âì ¯®àâë
|
CALL PORTS_INIT ; ¨¨æ¨ «¨§¨à®¢ âì ¯®àâë
|
||||||
@ -782,20 +784,7 @@ set_config:
|
|||||||
OUT (BorderColor),A
|
OUT (BorderColor),A
|
||||||
CALL EMM.CheckColdInit ; ¨¨æ¨ «¨§ æ¨ï ¯ ¬ïâ¨
|
CALL EMM.CheckColdInit ; ¨¨æ¨ «¨§ æ¨ï ¯ ¬ïâ¨
|
||||||
POP HL ; ª®ä¨£ãà æ¨ï
|
POP HL ; ª®ä¨£ãà æ¨ï
|
||||||
JR Reset_Handler.start
|
; JR Reset_Handler.start
|
||||||
; *************************************
|
|
||||||
; ‘ç¨â ¥¬, çâ® ¢å®¤ ¢ SETUP ¢á¥£¤ !!!
|
|
||||||
; *************************************
|
|
||||||
|
|
||||||
; LD A,H
|
|
||||||
; CP #FF
|
|
||||||
; JR NZ,NO_SETUP_1
|
|
||||||
; LD A,L
|
|
||||||
|
|
||||||
|
|
||||||
; JR NZ,NO_SETUP_2
|
|
||||||
|
|
||||||
;[---------------------------------------------------------------------]
|
|
||||||
|
|
||||||
MODULE Reset_Handler
|
MODULE Reset_Handler
|
||||||
start: DI
|
start: DI
|
||||||
@ -908,7 +897,7 @@ init_rom_address EQU #8200 ;!HARDCODE
|
|||||||
LD BC,RAM_BIOS_PROG.Length
|
LD BC,RAM_BIOS_PROG.Length
|
||||||
LDIR
|
LDIR
|
||||||
*/
|
*/
|
||||||
No_Need_To_Load_ZXROMS:
|
;No_Need_To_Load_ZXROMS:
|
||||||
POP AF
|
POP AF
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
;-------------------------------------------------------------------------------------------------------------------;
|
;-------------------------------------------------------------------------------------------------------------------;
|
||||||
|
|||||||
@ -256,8 +256,7 @@ FN_HDD_READ_NEXT:
|
|||||||
RET C
|
RET C
|
||||||
CALL NEXT_ADD_SEC
|
CALL NEXT_ADD_SEC
|
||||||
JR FN_HDD_READ.L1
|
JR FN_HDD_READ.L1
|
||||||
|
;
|
||||||
|
|
||||||
; HL - BUFER, A - PAGE
|
; HL - BUFER, A - PAGE
|
||||||
FN_HDD_READ:
|
FN_HDD_READ:
|
||||||
AND A
|
AND A
|
||||||
@ -488,7 +487,7 @@ FN_HDD_TEST_IDE:
|
|||||||
; <20>¥ ¤®«¦ ¯®àâ¨âì ॣ¨áâà E!!!
|
; <20>¥ ¤®«¦ ¯®àâ¨âì ॣ¨áâà E!!!
|
||||||
TEST_HDD_DRV:
|
TEST_HDD_DRV:
|
||||||
; EXP_HDD.ASM variant
|
; EXP_HDD.ASM variant
|
||||||
LD HL,#01FE ; ?????
|
LD HL,#01FE
|
||||||
LD BC,IDE.Write.Counter
|
LD BC,IDE.Write.Counter
|
||||||
OUT (C),L
|
OUT (C),L
|
||||||
IF IDE_Optimization
|
IF IDE_Optimization
|
||||||
@ -496,27 +495,27 @@ TEST_HDD_DRV:
|
|||||||
OUT (C),H ; IDE.Write.Sector
|
OUT (C),H ; IDE.Write.Sector
|
||||||
;
|
;
|
||||||
DEC C
|
DEC C
|
||||||
INC B
|
DEC B
|
||||||
IN A,(C) ; ????? IDE.Write.Counter+#100
|
IN A,(C) ; IDE.Read.Counter
|
||||||
CP L
|
CP L
|
||||||
RET NZ
|
RET NZ
|
||||||
INC C
|
INC C
|
||||||
ELSE
|
ELSE
|
||||||
LD BC,IDE.Write.Sector
|
LD BC,IDE.Write.Sector
|
||||||
OUT (C),H
|
OUT (C),H
|
||||||
LD BC,IDE.Write.Counter+#100
|
LD BC,IDE.Read.Counter
|
||||||
IN A,(C)
|
IN A,(C)
|
||||||
CP L
|
CP L
|
||||||
RET NZ
|
RET NZ
|
||||||
LD BC,IDE.Write.Sector+#100
|
LD BC,IDE.Read.Sector
|
||||||
ENDIF
|
ENDIF
|
||||||
IN A,(C) ; ????? IDE.Write.Sector+#100
|
IN A,(C) ; IDE.Read.Sector
|
||||||
CP H
|
CP H
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; TEST_HDD_DRV:
|
; TEST_HDD_DRV:
|
||||||
; ; EXTENDED.ASM variant
|
; ; EXTENDED.ASM variant
|
||||||
; LD HL,#00FF ;?????
|
; LD HL,#00FF
|
||||||
; LD BC,IDE.Write.CylinderLow
|
; LD BC,IDE.Write.CylinderLow
|
||||||
; OUT (C),L
|
; OUT (C),L
|
||||||
; IF IDE_Optimization
|
; IF IDE_Optimization
|
||||||
@ -525,7 +524,7 @@ TEST_HDD_DRV:
|
|||||||
|
|
||||||
; INC B
|
; INC B
|
||||||
; DEC C
|
; DEC C
|
||||||
; IN A,(C) ; ????? ’ãâ ॣ¨áâà BC = #0254 - çâ® § ¯®àâ â ª®© ¨ çâ® ®ââ㤠¯à®ç¨â ¥âáï?
|
; IN A,(C) ; ’ãâ ॣ¨áâà BC = #0254 - .CylinderLow
|
||||||
; CP L
|
; CP L
|
||||||
; RET NZ
|
; RET NZ
|
||||||
; INC C
|
; INC C
|
||||||
@ -533,14 +532,14 @@ TEST_HDD_DRV:
|
|||||||
; ELSE
|
; ELSE
|
||||||
; LD BC,IDE.Write.CylinderHigh
|
; LD BC,IDE.Write.CylinderHigh
|
||||||
; OUT (C),H
|
; OUT (C),H
|
||||||
; LD BC,#0254 ;???!!!!
|
; LD BC,#0254
|
||||||
; IN A,(C)
|
; IN A,(C)
|
||||||
; CP L
|
; CP L
|
||||||
; RET NZ
|
; RET NZ
|
||||||
; LD BC,#0255 ;???!!!!
|
; LD BC,#0255
|
||||||
; ENDIF
|
; ENDIF
|
||||||
|
|
||||||
; IN A,(C) ; ????? ’ãâ ॣ¨áâà BC = #0255 - çâ® § ¯®àâ â ª®© ¨ çâ® ®ââ㤠¯à®ç¨â ¥âáï?
|
; IN A,(C) ; ’ãâ ॣ¨áâà BC = #0255 - .CylinderHigh
|
||||||
; CP H
|
; CP H
|
||||||
; RET
|
; RET
|
||||||
|
|
||||||
@ -628,7 +627,7 @@ FN_HDD_INIT:
|
|||||||
LD A,IDE.ATA.IdentifyDevice ;!FIXIT ¯¥à¥¤¥« âì
|
LD A,IDE.ATA.IdentifyDevice ;!FIXIT ¯¥à¥¤¥« âì
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
WAIT_HDD
|
WAIT_HDD
|
||||||
BIT IDE.ControlBit.DataRequest,A
|
AND IDE.ControlByte.DataRequest
|
||||||
;JR NZ,.L2
|
;JR NZ,.L2
|
||||||
SCF
|
SCF
|
||||||
RET Z
|
RET Z
|
||||||
@ -704,22 +703,21 @@ HD_WAIT:
|
|||||||
PUSH BC
|
PUSH BC
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD DE,0
|
LD DE,0
|
||||||
HD_WAIT1:
|
.loop: LD BC,IDE.Read.Status
|
||||||
LD BC,IDE.Read.Status
|
|
||||||
IN A,(C)
|
IN A,(C)
|
||||||
AND IDE.ControlByte.Busy
|
AND IDE.ControlByte.Busy
|
||||||
JR Z,HD_W_EXIT
|
JR Z,.EXIT
|
||||||
DEC DE
|
DEC DE
|
||||||
LD A,D
|
LD A,D
|
||||||
OR E
|
OR E
|
||||||
JR NZ,HD_WAIT1
|
JR NZ,.loop
|
||||||
POP AF
|
POP AF
|
||||||
POP BC
|
POP BC
|
||||||
POP DE
|
POP DE
|
||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
HD_W_EXIT:
|
;
|
||||||
POP AF
|
.EXIT: POP AF
|
||||||
POP BC
|
POP BC
|
||||||
POP DE
|
POP DE
|
||||||
AND A
|
AND A
|
||||||
|
|||||||
@ -1221,12 +1221,12 @@ LP_MODE_LINE3: ;
|
|||||||
LD A,#50
|
LD A,#50
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,L ; ¢¥à⨪ «ì®¥ ¯®«®¦¥¨¥
|
LD A,L ; ¢¥à⨪ «ì®¥ ¯®«®¦¥¨¥
|
||||||
CP 80H
|
CP #80
|
||||||
JR NC,LP_EXIT_MODE3
|
JR NC,LP_EXIT_MODE3
|
||||||
|
|
||||||
LP_MODE_RECURSE3:
|
LP_MODE_RECURSE3:
|
||||||
LD A,D ; £®à¨§®â «ì®¥ ¯®«®¦¥¨¥
|
LD A,D ; £®à¨§®â «ì®¥ ¯®«®¦¥¨¥
|
||||||
AND 7FH
|
AND #7F
|
||||||
SUB 80
|
SUB 80
|
||||||
JR C,LP_MODE_LL3
|
JR C,LP_MODE_LL3
|
||||||
SUB 48
|
SUB 48
|
||||||
@ -1238,7 +1238,7 @@ LP_MODE_RECURSE3:
|
|||||||
|
|
||||||
LD A,E ; ¢®ááâ ®¢¨âì
|
LD A,E ; ¢®ááâ ®¢¨âì
|
||||||
RRA
|
RRA
|
||||||
AND 3FH
|
AND #3F
|
||||||
SUB C
|
SUB C
|
||||||
JR NC,LP_EXIT_MODE3
|
JR NC,LP_EXIT_MODE3
|
||||||
NEG
|
NEG
|
||||||
@ -1248,7 +1248,7 @@ LP_MODE_RECURSE3:
|
|||||||
LP_MODE_LL3:
|
LP_MODE_LL3:
|
||||||
NEG
|
NEG
|
||||||
RRA
|
RRA
|
||||||
AND 3FH
|
AND #3F
|
||||||
CP C
|
CP C
|
||||||
JR NC,LP_MODE_LR3
|
JR NC,LP_MODE_LR3
|
||||||
LD C,A
|
LD C,A
|
||||||
|
|||||||
@ -42,7 +42,7 @@ EMM.InitMem:
|
|||||||
LD C,A
|
LD C,A
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD HL,SYS_PAGE.RAMD_FAT; - #4000 - #4000 ; €¤à¥á FAT އ“.
|
LD HL,SYS_PAGE.RAMD_FAT ; €¤à¥á RAM FAT ¢ އ“.
|
||||||
; ®¡ã«ï¥¬ â ¡«¨æã
|
; ®¡ã«ï¥¬ â ¡«¨æã
|
||||||
XOR A
|
XOR A
|
||||||
.loopFree:
|
.loopFree:
|
||||||
|
|||||||
@ -391,33 +391,30 @@ REINIT: DEC B
|
|||||||
;
|
;
|
||||||
|
|
||||||
;[x]
|
;[x]
|
||||||
.Restart:
|
.Restart: DI
|
||||||
DI
|
XOR A
|
||||||
LD A,0
|
|
||||||
LD BC,#1FFD
|
LD BC,#1FFD
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD B,#7F
|
LD B,#7F
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD A,#40
|
OUT (RGADR),A
|
||||||
OUT (SLOT3),A
|
OUT (RGMOD),A
|
||||||
|
OUT (SLOT0),A
|
||||||
LD A,5
|
LD A,5
|
||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
LD A,2
|
LD A,2
|
||||||
|
OUT (SLOT2),A
|
||||||
|
LD A,DCP_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,0
|
|
||||||
OUT (SLOT0),A
|
|
||||||
OUT (RGADR),A
|
|
||||||
OUT (RGMOD),A
|
|
||||||
JP 0 ;Restart
|
JP 0 ;Restart
|
||||||
;
|
;
|
||||||
|
|
||||||
;
|
;
|
||||||
.SoftReset:
|
.SoftReset: DI
|
||||||
DI
|
|
||||||
LD A,#10
|
LD A,#10
|
||||||
LD BC,#1FFD
|
LD BC,#1FFD
|
||||||
OUT (C),A ; 8-ï áâà ¨æ !!
|
OUT (C),A ; 8-ï áâà ¨æ !!
|
||||||
|
;
|
||||||
LD A,RESET_PAGE
|
LD A,RESET_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,CNF_PORT.TURBO.OFF
|
LD A,CNF_PORT.TURBO.OFF
|
||||||
|
|||||||
@ -63,8 +63,8 @@ FN_CRIPT:
|
|||||||
; BoardID_start old address #312A
|
; BoardID_start old address #312A
|
||||||
; BoardID_end old address #312D
|
; BoardID_end old address #312D
|
||||||
.board_id:
|
.board_id:
|
||||||
LD HL,(ROM_NUMBER.part1) ;rdlow-ok
|
LD HL,(BOARD_INFO.number) ;rdlow-ok
|
||||||
LD A,(ROM_NUMBER.part2) ;rdlow-ok
|
LD A,(BOARD_INFO.type) ;rdlow-ok
|
||||||
LD BC,(BoardID.start) ;rdlow-ok
|
LD BC,(BoardID.start) ;rdlow-ok
|
||||||
LD DE,(BoardID.end) ;rdlow-ok
|
LD DE,(BoardID.end) ;rdlow-ok
|
||||||
AND A
|
AND A
|
||||||
|
|||||||
@ -811,7 +811,7 @@ RESCREEN: ;R06
|
|||||||
; LD E,A
|
; LD E,A
|
||||||
; LD A,DCP_PAGE
|
; LD A,DCP_PAGE
|
||||||
; OUT (SLOT3),A
|
; OUT (SLOT3),A
|
||||||
; LD A,(#C400) ;c400 for first cfg 50176 ; !TODO ¬®¦® ¯¥à¥¤¥« âì ¢ë§®¢ äãªæ¨¨ ¡¨®á
|
; LD A,(#C400) ;c400 for first cfg 50176
|
||||||
; LD D,A
|
; LD D,A
|
||||||
; LD A,ACEX.HOLD
|
; LD A,ACEX.HOLD
|
||||||
; LD (#C400),A
|
; LD (#C400),A
|
||||||
@ -1142,9 +1142,11 @@ PIDNUM: LD HL,memBUFFER.ID
|
|||||||
CALL PRINTZ
|
CALL PRINTZ
|
||||||
RET
|
RET
|
||||||
|
|
||||||
PIDBOARD:
|
PIDBOARD: CALL FN_CRIPT.board_id
|
||||||
CALL FN_CRIPT.board_id
|
;
|
||||||
|
IF MotherBoardType > 0
|
||||||
|
PUSH AF
|
||||||
|
ENDIF
|
||||||
PUSH DE
|
PUSH DE
|
||||||
PUSH HL
|
PUSH HL
|
||||||
PUSH BC
|
PUSH BC
|
||||||
@ -1165,7 +1167,39 @@ PIDBOARD:
|
|||||||
CALL PRNHEX
|
CALL PRNHEX
|
||||||
POP DE
|
POP DE
|
||||||
LD A,E
|
LD A,E
|
||||||
|
IF MotherBoardType == 0
|
||||||
JP PRNHEX
|
JP PRNHEX
|
||||||
|
ELSE
|
||||||
|
CALL PRNHEX
|
||||||
|
LD A,' '
|
||||||
|
CALL PRINT_CHAR
|
||||||
|
POP AF
|
||||||
|
; type 0 - Classic
|
||||||
|
RET Z
|
||||||
|
; type 1 - DX
|
||||||
|
LD HL,.ver_DX
|
||||||
|
DEC A
|
||||||
|
JP Z,PRINTZ
|
||||||
|
; type 2 - DP
|
||||||
|
LD HL,.ver_DP
|
||||||
|
DEC A
|
||||||
|
JP Z,PRINTZ
|
||||||
|
; type 3 - Max
|
||||||
|
LD HL,.ver_Max
|
||||||
|
DEC A
|
||||||
|
JP Z,PRINTZ
|
||||||
|
; type 4 - test
|
||||||
|
LD HL,.Test
|
||||||
|
DEC A
|
||||||
|
JP Z,PRINTZ
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
.ver_DX: DZ "DX"
|
||||||
|
.ver_DP: DZ "DP"
|
||||||
|
.ver_Max: DZ "Max"
|
||||||
|
.Test DZ "0123456789A"
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
CNF_VER_PRINT:
|
CNF_VER_PRINT:
|
||||||
LD HL,memBUFFER.ID
|
LD HL,memBUFFER.ID
|
||||||
|
|||||||
@ -259,7 +259,7 @@ SHOW_LOGO: LD IX,win_descriptor.tab320x256
|
|||||||
SAFE_PORTY
|
SAFE_PORTY
|
||||||
|
|
||||||
DI
|
DI
|
||||||
LD A,1
|
LD A,SYS_PORT.PAGE0
|
||||||
OUT (SYS_PORT.ON),A
|
OUT (SYS_PORT.ON),A
|
||||||
OUT (ROM.SLOT0),A
|
OUT (ROM.SLOT0),A
|
||||||
|
|
||||||
@ -283,21 +283,12 @@ SHOW_LOGO: LD IX,win_descriptor.tab320x256
|
|||||||
SAFE_PORTY
|
SAFE_PORTY
|
||||||
|
|
||||||
DI
|
DI
|
||||||
LD A,1
|
LD A,SYS_PORT.PAGE0
|
||||||
OUT (SYS_PORT.ON),A
|
OUT (SYS_PORT.ON),A
|
||||||
;LD A,1
|
|
||||||
OUT (ROM.SLOT0),A
|
OUT (ROM.SLOT0),A
|
||||||
|
|
||||||
LD HL,MAIN_LOGO.Raster ; ç «® ª à⨪¨ ¢ ¡ ª¥ <20>‡“
|
LD HL,MAIN_LOGO.Raster ; ç «® ª à⨪¨ ¢ ¡ ª¥ <20>‡“
|
||||||
; CALL DECODE
|
; CALL DECODE
|
||||||
CALL LOGO_TO_SCREEN
|
CALL LOGO_TO_SCREEN
|
||||||
;
|
|
||||||
;--------------[<5B> áå «ª ]--------------[]
|
|
||||||
IF Pashalki
|
|
||||||
_PASHALKI_CODE
|
|
||||||
ENDIF
|
|
||||||
;--------------------------------------[]
|
|
||||||
;
|
|
||||||
XOR A
|
XOR A
|
||||||
OUT (SYS_PORT.ON),A
|
OUT (SYS_PORT.ON),A
|
||||||
OUT (ROM.SLOT0),A
|
OUT (ROM.SLOT0),A
|
||||||
|
|||||||
@ -14,6 +14,7 @@ BIOS_ver_hex EQU EXP_ID.VER*256+EXP_ID.MOD
|
|||||||
DEFINE BoardID_start #5283
|
DEFINE BoardID_start #5283
|
||||||
DEFINE BoardID_end #47E8
|
DEFINE BoardID_end #47E8
|
||||||
DEFINE MotherBoardID #0000
|
DEFINE MotherBoardID #0000
|
||||||
|
DEFINE MotherBoardType #00 ; !TODO 0 - Legacy, 1 - DX, 2 - Max
|
||||||
;=======================================
|
;=======================================
|
||||||
|
|
||||||
;============[For ROM part]============= ;!FIXIT ¢ë ¥ ¯®¨¬ ¥â¥, íâ® ¤à㣮¥))
|
;============[For ROM part]============= ;!FIXIT ¢ë ¥ ¯®¨¬ ¥â¥, íâ® ¤à㣮¥))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user