tst
This commit is contained in:
parent
1acf5f9a6a
commit
0c166ec49d
@ -1 +1 @@
|
|||||||
Subproject commit 5aa6ffff2b5879e26a8ccf0925c18223c76da539
|
Subproject commit cc23cc96bb8bb12432622cc688b2e1afe39c6105
|
||||||
@ -1,130 +0,0 @@
|
|||||||
6E 0000.00 0110 1110
|
|
||||||
7E 0000.00 0111 1110
|
|
||||||
EE 0000.00 1110 1110
|
|
||||||
FE 0000.00 1111 1110
|
|
||||||
16E 0000.01 0110 1110
|
|
||||||
17E 0000.01 0111 1110
|
|
||||||
1EE 0000.01 1110 1110
|
|
||||||
1FE 0000.01 1111 1110
|
|
||||||
|
|
||||||
and 0000.00 0110 1110
|
|
||||||
or 0000.01 1111 1110
|
|
||||||
notAnd 0011.11 1001 0001
|
|
||||||
xor^ 0011.10 0110 1111
|
|
||||||
|
|
||||||
|
|
||||||
; DATA FOR DCP
|
|
||||||
; ¢¡¨¢ ¥¬ ¢ â ¡«¨æã DCP.XLSX ã¦ë© ¢¥è¨© ¯®àâ,
|
|
||||||
; ᬮâਬ ᬥ饨¥ ¤«ï OUT (‘),x - íâ® ¤à¥á
|
|
||||||
;
|
|
||||||
; CCED/AAAAAAAAA
|
|
||||||
; NN1OW116517210
|
|
||||||
; FF2SR54 3
|
|
||||||
; CC EDWA AAAA AAAA
|
|
||||||
; NN 1O/1 1651 7210
|
|
||||||
; FF 2SR5 4 3
|
|
||||||
; 10 8
|
|
||||||
|
|
||||||
and 00 0000 0000 0111 - a1
|
|
||||||
or 11 1011 1001 0111 - o1
|
|
||||||
not a1 11 1111 1111 1000 - n1
|
|
||||||
n1 xor o1 00 0110 0110 1111
|
|
||||||
|
|
||||||
#10 ALTERA #1F external
|
|
||||||
; CS_WG93_1F ...0...00.0111
|
|
||||||
DW %00 0000 0000 0111 ; - ¤à¥á
|
|
||||||
DW %00 0100 0110 1111 ; - ¬ ᪠- 0 ¨§¬¥ï¥¬ë¥ ¡¨âë, 1 ¥¨§¬¥ï¥¬ë¥
|
|
||||||
DB #10 ; - ¯®àâ
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Altera #16
|
|
||||||
2D 00 0000 0010 1101
|
|
||||||
82D 00 1000 0010 1101
|
|
||||||
302D 11 0000 0010 1101
|
|
||||||
342D 11 0100 0010 1101
|
|
||||||
382D 11 1000 0010 1101
|
|
||||||
3C2D 11 1100 0010 1101
|
|
||||||
|
|
||||||
and 00 0000 0010 1101 - a1 adress
|
|
||||||
or 11 1100 0010 1101 - o1
|
|
||||||
not a1 11 1111 1101 0010 - n1
|
|
||||||
n1 xor o1 00 0011 1111 1111 mask
|
|
||||||
|
|
||||||
Altera #17
|
|
||||||
3D 00 0000 0011 1101
|
|
||||||
83D 00 1000 0011 1101
|
|
||||||
303D 11 0000 0011 1101
|
|
||||||
343D 11 0100 0011 1101
|
|
||||||
383D 11 1000 0011 1101
|
|
||||||
3C3D 11 1100 0011 1101
|
|
||||||
|
|
||||||
and 00 0000 0011 1101 - a1 adress
|
|
||||||
or 11 1100 0011 1101 - o1
|
|
||||||
not a1 11 1111 1100 0010 - n1
|
|
||||||
n1 xor o1 00 0011 1111 1111 mask
|
|
||||||
|
|
||||||
and 00 0000 0011 1101 - a1 adress
|
|
||||||
or 00 1000 0011 1101 - o1
|
|
||||||
not a1 11 1111 1100 0010 - n1
|
|
||||||
n1 xor o1 11 0111 1111 1111 mask
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
and 00 0000 0000 0000 - a1 adress
|
|
||||||
not a1 00 0000 0000 0000 - n1
|
|
||||||
or 00 0000 0000 0000 - o1
|
|
||||||
n1 xor o1 00 0000 0000 0000 mask
|
|
||||||
|
|
||||||
Found 48 occurrences of '29'.
|
|
||||||
|
|
||||||
4C5 00 0100 1100 0101
|
|
||||||
4D5 00 0100 1101 0101
|
|
||||||
6C5 00 0110 1100 0101
|
|
||||||
6D5 00 0110 1101 0101
|
|
||||||
CC5 00 1100 1100 0101
|
|
||||||
CD5 00 1100 1101 0101
|
|
||||||
EC5 00 1110 1100 0101
|
|
||||||
ED5 00 1110 1101 0101
|
|
||||||
|
|
||||||
34C5 11 0100 1100 0101
|
|
||||||
34D5 11 0100 1101 0101
|
|
||||||
36C5 11 0110 1100 0101
|
|
||||||
36D5 11 0110 1101 0101
|
|
||||||
3CC5 11 1100 1100 0101
|
|
||||||
3CD5 11 1100 1101 0101
|
|
||||||
3EC5 11 1110 1100 0101
|
|
||||||
3ED5 11 1110 1101 0101
|
|
||||||
|
|
||||||
and 11 0100 1100 0101 - a1 adress
|
|
||||||
not a1 00 1011 0011 1010 - n1
|
|
||||||
or 11 1110 1101 0101 - o1
|
|
||||||
n1 xor o1 11 0101 1110 1111 mask
|
|
||||||
|
|
||||||
|
|
||||||
Found 12 occurrences of '1b'.
|
|
||||||
12D 00 0001 0010 1101
|
|
||||||
52D 00 0101 0010 1101
|
|
||||||
92D 00 1001 0010 1101
|
|
||||||
D2D 00 1101 0010 1101
|
|
||||||
|
|
||||||
312D 11 0001 0010 1101
|
|
||||||
352D 11 0101 0010 1101
|
|
||||||
392D 11 1001 0010 1101
|
|
||||||
3D2D 11 1101 0010 1101
|
|
||||||
|
|
||||||
and 11 0001 0010 1101 - a1 adress
|
|
||||||
not a1 00 1110 1101 0010 - n1
|
|
||||||
or 11 1101 0010 1101 - o1
|
|
||||||
n1 xor o1 11 0011 1111 1111 mask
|
|
||||||
|
|
||||||
|
|
||||||
21BD 10 0001 1011 1101
|
|
||||||
23BD 10 0011 1011 1101
|
|
||||||
29BD 10 1001 1011 1101
|
|
||||||
2BBD 10 1011 1011 1101
|
|
||||||
|
|
||||||
and 10 0001 1011 1101 - a1 adress
|
|
||||||
not a1 01 1110 0100 0010 - n1
|
|
||||||
or 10 1011 1011 1101 - o1
|
|
||||||
n1 xor o1 11 0101 1111 1111 mask
|
|
||||||
@ -129,9 +129,9 @@ CD_READ:
|
|||||||
; 0Bh - ABORTED COMMAND
|
; 0Bh - ABORTED COMMAND
|
||||||
; 80h - TIME OUT
|
; 80h - TIME OUT
|
||||||
AP_COM: AND #01
|
AP_COM: AND #01
|
||||||
LD A,#A0
|
LD A,IDE.Drive.Master
|
||||||
JR Z,.APCOM1
|
JR Z,.APCOM1
|
||||||
LD A,#B0
|
LD A,IDE.Drive.Slave
|
||||||
.APCOM1 LD BC,IDE.Write.DeviceHead
|
.APCOM1 LD BC,IDE.Write.DeviceHead
|
||||||
OUT (C),A ;SELECT DRIVE
|
OUT (C),A ;SELECT DRIVE
|
||||||
EXX
|
EXX
|
||||||
@ -183,7 +183,7 @@ AP_COM: AND #01
|
|||||||
LD BC,IDE.Write.CylinderHigh
|
LD BC,IDE.Write.CylinderHigh
|
||||||
OUT (C),D
|
OUT (C),D
|
||||||
LD BC,IDE.Write.Command
|
LD BC,IDE.Write.Command
|
||||||
LD A,#A0
|
LD A,IDE.ATAPI.Packet
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD DE,#8000
|
LD DE,#8000
|
||||||
;LD BC,IDE.Read.Status
|
;LD BC,IDE.Read.Status
|
||||||
|
|||||||
@ -678,7 +678,7 @@ CHS005: INC A
|
|||||||
//; BC - PORT
|
//; BC - PORT
|
||||||
WAITPRT:
|
WAITPRT:
|
||||||
LD BC,IDE.Read.Status
|
LD BC,IDE.Read.Status
|
||||||
LD HL,#0000 ; § ¤¥à¦ª
|
LD HL,#0000 ; § ¤¥à¦ª ;!HARDCODE
|
||||||
|
|
||||||
.loop: PUSH HL
|
.loop: PUSH HL
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
;
|
;
|
||||||
MACRO WAIT_HDD
|
MACRO WAIT_HDD
|
||||||
.loop: LD BC,IDE.Read.Status
|
LD BC,IDE.Read.Status
|
||||||
IN A,(C)
|
.loop: IN A,(C)
|
||||||
BIT IDE.ControlBit.Busy,A
|
BIT IDE.ControlBit.Busy,A
|
||||||
JR NZ,.loop
|
JR NZ,.loop
|
||||||
ENDM
|
ENDM
|
||||||
@ -128,7 +128,7 @@ NEXT_ADD_SEC:
|
|||||||
AND #F0
|
AND #F0
|
||||||
OR E
|
OR E
|
||||||
INC B
|
INC B
|
||||||
OUT (C),A ; ????? HEADS?! IDE.Write.DeviceHead
|
OUT (C),A ; IDE.Write.DeviceHead
|
||||||
|
|
||||||
POP AF
|
POP AF
|
||||||
RET
|
RET
|
||||||
@ -328,7 +328,7 @@ HD_WR_LOOP:
|
|||||||
JR HD_WR_L2
|
JR HD_WR_L2
|
||||||
|
|
||||||
FN_HDD_RECAL:
|
FN_HDD_RECAL:
|
||||||
LD A,#A0
|
LD A,IDE.Drive.Master
|
||||||
LD BC,IDE.Write.DeviceHead
|
LD BC,IDE.Write.DeviceHead
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
LD A,IDE.ATA.ExecuteDeviceDiagnostic
|
LD A,IDE.ATA.ExecuteDeviceDiagnostic
|
||||||
@ -443,7 +443,7 @@ TEST_HDD_DRV:
|
|||||||
|
|
||||||
FN_HDD_INIT:
|
FN_HDD_INIT:
|
||||||
LD BC,IDE.Write.DeviceHead
|
LD BC,IDE.Write.DeviceHead
|
||||||
LD A,#A0
|
LD A,IDE.Drive.Master
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
CALL TEST_HDD_DRV
|
CALL TEST_HDD_DRV
|
||||||
JR NZ,HD_ABSENT
|
JR NZ,HD_ABSENT
|
||||||
@ -503,7 +503,7 @@ HD_C0_L2:
|
|||||||
OR B
|
OR B
|
||||||
|
|
||||||
LD H,A
|
LD H,A
|
||||||
LD A,(SYS_PAGE.HD_IDF_ADR+99) ; ????? LBA?
|
LD A,(SYS_PAGE.HD_IDF_ADR+99) ; !HARDCODE ç¥à¥§ áâàãªâãàã!
|
||||||
BIT 1,A
|
BIT 1,A
|
||||||
JR Z,HD_C0_NO_LBA
|
JR Z,HD_C0_NO_LBA
|
||||||
SET 6,H
|
SET 6,H
|
||||||
|
|||||||
@ -527,20 +527,20 @@ CLS_WIN:CALL LP_BEG_P
|
|||||||
CALL LP_TAB_E
|
CALL LP_TAB_E
|
||||||
PUSH DE
|
PUSH DE
|
||||||
EXX
|
EXX
|
||||||
LD BC,(SYS_PAGE.SYS_WORK1)
|
LD BC,(SYS_PAGE.SYS_WORK1)
|
||||||
EXX
|
EXX
|
||||||
LD B,L
|
LD B,L
|
||||||
LD A,#50
|
LD A,#50
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
.loop2: EXX
|
.loop2: EXX
|
||||||
LD A,D
|
LD A,D
|
||||||
OUT (PORT_Y),A
|
OUT (PORT_Y),A
|
||||||
LD (HL),C
|
LD (HL),C
|
||||||
INC L
|
INC L
|
||||||
LD (HL),B
|
LD (HL),B
|
||||||
DEC L
|
DEC L
|
||||||
INC D
|
INC D
|
||||||
EXX
|
EXX
|
||||||
DJNZ .loop2
|
DJNZ .loop2
|
||||||
|
|
||||||
|
|||||||
@ -94,21 +94,12 @@ WAIT_IDE EQU #0000
|
|||||||
WAIT_SML EQU #1000
|
WAIT_SML EQU #1000
|
||||||
WAIT_ERROR EQU #0400
|
WAIT_ERROR EQU #0400
|
||||||
|
|
||||||
IDE__CD:
|
|
||||||
CALL SELECT_IDE
|
|
||||||
;MASTER
|
|
||||||
CDAUTO:
|
|
||||||
LD A,IDE.Device.CDROM
|
|
||||||
LD (IDEDEV),A
|
|
||||||
LD A,#FF ;!FIXIT ¬®¦® ®¯â¨¬¨§¨à®¢ âì
|
|
||||||
JP CDMASTR
|
|
||||||
|
|
||||||
SELECT_IDE:
|
SELECT_IDE:
|
||||||
AND A ;%0000'0011
|
AND A ;%0000'0011
|
||||||
LD D,IDE.Drive.Master
|
LD D,IDE.Drive.Master
|
||||||
JR Z,.AUTO_0
|
JR Z,.AUTO_0
|
||||||
DEC A
|
DEC A
|
||||||
LD D,#B0
|
LD D,IDE.Drive.Slave
|
||||||
JR Z,.AUTO_0
|
JR Z,.AUTO_0
|
||||||
DEC A
|
DEC A
|
||||||
;R00
|
;R00
|
||||||
@ -132,7 +123,22 @@ SELECT_IDE:
|
|||||||
;
|
;
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
IDE__CD:
|
||||||
|
CALL SELECT_IDE
|
||||||
|
;MASTER
|
||||||
|
CDAUTO:
|
||||||
|
LD A,IDE.Device.CDROM
|
||||||
|
LD (IDEDEV),A
|
||||||
|
LD A,#FF ;!FIXIT ¬®¦® ®¯â¨¬¨§¨à®¢ âì
|
||||||
|
JP CDMASTR
|
||||||
|
|
||||||
IDEAUTO:
|
IDEAUTO:
|
||||||
|
;Disable 8-bit data transfer
|
||||||
|
;!TODO
|
||||||
|
;
|
||||||
|
|
||||||
CALL SELECT_IDE
|
CALL SELECT_IDE
|
||||||
LD A,IDE.Device.NONE
|
LD A,IDE.Device.NONE
|
||||||
LD (IDEDEV),A
|
LD (IDEDEV),A
|
||||||
@ -261,10 +267,14 @@ WXREADY:
|
|||||||
JP Z,ABSENT
|
JP Z,ABSENT
|
||||||
CALL SKIPKEY
|
CALL SKIPKEY
|
||||||
JP C,ABSENT
|
JP C,ABSENT
|
||||||
;LD BC,IDE.Read.Status
|
LD BC,IDE.Read.Status
|
||||||
IN A,(C)
|
IN A,(C)
|
||||||
AND #C0
|
;!TEST detect drives
|
||||||
CP #40
|
;AND #C0
|
||||||
|
;CP #40
|
||||||
|
AND #81
|
||||||
|
CP 1
|
||||||
|
;
|
||||||
JR NZ,WXREADY
|
JR NZ,WXREADY
|
||||||
|
|
||||||
; LD A,#90 ;?????
|
; LD A,#90 ;?????
|
||||||
@ -295,7 +305,10 @@ GETPARM:
|
|||||||
INIR
|
INIR
|
||||||
INIR
|
INIR
|
||||||
CALL IDESPEC
|
CALL IDESPEC
|
||||||
AND A
|
;!TEST save hdd parameters to cmos for "setup" in settings
|
||||||
|
CALL SaveToCMOS
|
||||||
|
;
|
||||||
|
.exit: AND A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
Non_ATA: LD A,IDE.Device.CDROM
|
Non_ATA: LD A,IDE.Device.CDROM
|
||||||
@ -324,6 +337,17 @@ IDESPEC:
|
|||||||
LD (IY+IDE.HDD_INIT_TABLE.DriveType),A
|
LD (IY+IDE.HDD_INIT_TABLE.DriveType),A
|
||||||
CP IDE.Device.CDROM
|
CP IDE.Device.CDROM
|
||||||
JP Z,FOR_CDR
|
JP Z,FOR_CDR
|
||||||
|
;Check write caching
|
||||||
|
LD A,(TEMP+85*2) ; !TODO ᤥ« âì ç¥à¥§ áâàãªâãàã. ‚ª«îç¥ «¨ ªíè § ¯¨á¨?
|
||||||
|
AND %0010'0000
|
||||||
|
JR Z,.NoWriteCache
|
||||||
|
;Disable write caching
|
||||||
|
LD BC,IDE.Write.Features
|
||||||
|
LD A,IDE.ATA.SetFeatures.DisableWriteCache
|
||||||
|
OUT (C),A
|
||||||
|
LD A,IDE.ATA.SetFeatures
|
||||||
|
CALL IDE_CMD
|
||||||
|
.NoWriteCache:
|
||||||
LD BC,IDE.Read.Control
|
LD BC,IDE.Read.Control
|
||||||
IN A,(C)
|
IN A,(C)
|
||||||
AND #F0
|
AND #F0
|
||||||
@ -361,8 +385,9 @@ NONLBA: LD A,B
|
|||||||
; RET C
|
; RET C
|
||||||
LD C,(IY+IDE.HDD_INIT_TABLE.SectorsPerTrack) ; Sector per track
|
LD C,(IY+IDE.HDD_INIT_TABLE.SectorsPerTrack) ; Sector per track
|
||||||
LD B,0
|
LD B,0
|
||||||
|
LD H,B
|
||||||
|
LD L,B
|
||||||
LD A,(IY+IDE.HDD_INIT_TABLE.HeadsNumber) ; Head per HDD
|
LD A,(IY+IDE.HDD_INIT_TABLE.HeadsNumber) ; Head per HDD
|
||||||
LD HL,0
|
|
||||||
HDDINI3:
|
HDDINI3:
|
||||||
ADD HL,BC
|
ADD HL,BC
|
||||||
DEC A
|
DEC A
|
||||||
@ -370,6 +395,9 @@ HDDINI3:
|
|||||||
LD (IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderLow),L
|
LD (IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderLow),L
|
||||||
LD (IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderHigh),H
|
LD (IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderHigh),H
|
||||||
NOSPEC:
|
NOSPEC:
|
||||||
|
;!TEST save hdd parameters to cmos for "setup" in settings
|
||||||
|
LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags) ; for save to cmos in GETPARM
|
||||||
|
;
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
AND A
|
AND A
|
||||||
@ -388,7 +416,6 @@ IDE_CMD:
|
|||||||
PUSH AF
|
PUSH AF
|
||||||
LD HL,WAIT_IDE
|
LD HL,WAIT_IDE
|
||||||
LD DE,#C040
|
LD DE,#C040
|
||||||
;LD BC,IDE.Read.Status
|
|
||||||
CALL WAIT_PRT
|
CALL WAIT_PRT
|
||||||
POP DE
|
POP DE
|
||||||
RET C
|
RET C
|
||||||
@ -396,12 +423,11 @@ IDE_CMD:
|
|||||||
OUT (C),D
|
OUT (C),D
|
||||||
LD HL,WAIT_IDE
|
LD HL,WAIT_IDE
|
||||||
LD DE,#C040
|
LD DE,#C040
|
||||||
;LD BC,IDE.Read.Status
|
|
||||||
JP WAIT_PRT
|
JP WAIT_PRT
|
||||||
|
|
||||||
WAITHDD:
|
WAITHDD:
|
||||||
EI
|
EI
|
||||||
LD HL,1533
|
LD HL,1533 ;!HARDCODE HDD
|
||||||
WTREADY:
|
WTREADY:
|
||||||
HALT
|
HALT
|
||||||
LD BC,IDE.Read.Status
|
LD BC,IDE.Read.Status
|
||||||
@ -458,6 +484,50 @@ SKIPKEY:
|
|||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
;!TEST save hdd parameters to cmos for "setup" in settings
|
||||||
|
; IN: A' = DRV_Flags
|
||||||
|
SaveToCMOS:
|
||||||
|
LD A,(IDEDEV)
|
||||||
|
CP IDE.Device.HDD
|
||||||
|
RET NZ
|
||||||
|
|
||||||
|
EX AF,AF'
|
||||||
|
;LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags)
|
||||||
|
AND %0001'0001
|
||||||
|
LD IX,PRIM_MASTER_CMOS_T
|
||||||
|
JR Z,.save_to_cmos
|
||||||
|
;
|
||||||
|
DEC A
|
||||||
|
LD IX,SEC_MASTER_CMOS_T
|
||||||
|
JR Z,.save_to_cmos
|
||||||
|
;
|
||||||
|
CP %0001'0000
|
||||||
|
LD IX,SEC_SLAVE_CMOS_T
|
||||||
|
JR Z,.save_to_cmos
|
||||||
|
;
|
||||||
|
LD IX,PRIM_SLAVE_CMOS_T
|
||||||
|
.save_to_cmos:
|
||||||
|
LD HL,(TEMP+1*2)
|
||||||
|
LD B,L
|
||||||
|
LD A,(IX+0)
|
||||||
|
CALL WRITCMS ; Cylinder low
|
||||||
|
|
||||||
|
LD B,H
|
||||||
|
LD A,(IX+1)
|
||||||
|
CALL WRITCMS ; Cylinder high
|
||||||
|
|
||||||
|
LD A,(TEMP+3*2)
|
||||||
|
LD B,A
|
||||||
|
LD A,(IX+2)
|
||||||
|
CALL WRITCMS ; Heads
|
||||||
|
|
||||||
|
LD A,(TEMP+6*2)
|
||||||
|
LD B,A
|
||||||
|
LD A,(IX+3)
|
||||||
|
JP WRITCMS ; Heads
|
||||||
|
;;;;;;;;;;
|
||||||
|
|
||||||
|
|
||||||
SKIP: DB #FF
|
SKIP: DB #FF
|
||||||
IDEDEV: DB #FF
|
IDEDEV: DB #FF
|
||||||
ICHANEL: DB #00
|
ICHANEL: DB #00
|
||||||
|
|||||||
@ -74,25 +74,46 @@
|
|||||||
|
|
||||||
;!!!!!!!!!!!!!!!!!!!!!!
|
;!!!!!!!!!!!!!!!!!!!!!!
|
||||||
; !FIXIT ¯à®¢¥à¨âì â ª¨¥ ¦¥ «¨ ¤à¥á CMOS ¢ Settings ¨á¯®«ì§ãîâáï
|
; !FIXIT ¯à®¢¥à¨âì â ª¨¥ ¦¥ «¨ ¤à¥á CMOS ¢ Settings ¨á¯®«ì§ãîâáï
|
||||||
SM_CYLL EQU #2F
|
; SM_CYLL EQU #2F
|
||||||
SM_CYLH EQU #30
|
; SM_CYLH EQU #30
|
||||||
SM_HEAD EQU #31
|
; SM_HEAD EQU #31
|
||||||
SM_SECT EQU #32
|
; SM_SECT EQU #32
|
||||||
|
|
||||||
SS_CYLL EQU #33
|
; SS_CYLL EQU #33
|
||||||
SS_CYLH EQU #34
|
; SS_CYLH EQU #34
|
||||||
SS_HEAD EQU #35
|
; SS_HEAD EQU #35
|
||||||
SS_SECT EQU #36
|
; SS_SECT EQU #36
|
||||||
|
|
||||||
M_CYLL EQU #37
|
; M_CYLL EQU #37
|
||||||
M_CYLH EQU #38
|
; M_CYLH EQU #38
|
||||||
M_HEAD EQU #39
|
; M_HEAD EQU #39
|
||||||
M_SECT EQU #3A
|
; M_SECT EQU #3A
|
||||||
|
|
||||||
|
; S_CYLL EQU #3B
|
||||||
|
; S_CYLH EQU #3C
|
||||||
|
; S_HEAD EQU #3D
|
||||||
|
; S_SECT EQU #3E
|
||||||
|
|
||||||
|
M_CYLL EQU #12
|
||||||
|
M_CYLH EQU #13
|
||||||
|
M_HEAD EQU #14
|
||||||
|
M_SECT EQU #15
|
||||||
|
|
||||||
|
S_CYLL EQU #16
|
||||||
|
S_CYLH EQU #17
|
||||||
|
S_HEAD EQU #18
|
||||||
|
S_SECT EQU #19
|
||||||
|
|
||||||
|
SM_CYLL EQU #37
|
||||||
|
SM_CYLH EQU #38
|
||||||
|
SM_HEAD EQU #39
|
||||||
|
SM_SECT EQU #3A
|
||||||
|
|
||||||
|
SS_CYLL EQU #3B
|
||||||
|
SS_CYLH EQU #3C
|
||||||
|
SS_HEAD EQU #3D
|
||||||
|
SS_SECT EQU #3E
|
||||||
|
|
||||||
S_CYLL EQU #3B
|
|
||||||
S_CYLH EQU #3C
|
|
||||||
S_HEAD EQU #3D
|
|
||||||
S_SECT EQU #3E
|
|
||||||
;!!!!!!!!!!!!!!!!!!!!!!
|
;!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
|
||||||
@ -1101,10 +1122,11 @@ AUTODET:
|
|||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD HL,IDE.INIT_TBL_IDE0
|
LD HL,IDE.INIT_TBL_IDE0
|
||||||
LD BC,256*(IDE.HDD_INIT_TABLE * 4) + #FF ;R02
|
LD BC,256*(IDE.HDD_INIT_TABLE * 4) + #FF ;R02
|
||||||
FILLIDE:
|
;CLEAR HDD VARIABLE
|
||||||
LD (HL),C ;CLEAR HDD VARIABLE
|
.FILLIDE:
|
||||||
|
LD (HL),C
|
||||||
INC HL
|
INC HL
|
||||||
DJNZ FILLIDE
|
DJNZ .FILLIDE
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
@ -1127,7 +1149,7 @@ FILLIDE:
|
|||||||
;==========================================
|
;==========================================
|
||||||
|
|
||||||
LD IY,IDE.INIT_TBL_IDE0
|
LD IY,IDE.INIT_TBL_IDE0
|
||||||
LD A,#00
|
XOR A
|
||||||
CALL COMMONIDE
|
CALL COMMONIDE
|
||||||
|
|
||||||
LD IY,IDE.INIT_TBL_IDE1
|
LD IY,IDE.INIT_TBL_IDE1
|
||||||
@ -1142,6 +1164,9 @@ FILLIDE:
|
|||||||
LD A,#03
|
LD A,#03
|
||||||
CALL COMMONIDE
|
CALL COMMONIDE
|
||||||
|
|
||||||
|
;!TEST save hdd parameters to cmos for "setup" in settings
|
||||||
|
CALL WRITING
|
||||||
|
;
|
||||||
CALL ScreenPOS.CRLF
|
CALL ScreenPOS.CRLF
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
@ -1260,14 +1285,17 @@ SEC_SLAVE_CMOS_T:
|
|||||||
SETUPDETECT:
|
SETUPDETECT:
|
||||||
LD A,H
|
LD A,H
|
||||||
LD IX,PRIM_MASTER_CMOS_T
|
LD IX,PRIM_MASTER_CMOS_T
|
||||||
CP 0
|
OR A
|
||||||
JR Z,SETUPD2
|
JR Z,SETUPD2
|
||||||
|
;
|
||||||
LD IX,PRIM_SLAVE_CMOS_T
|
LD IX,PRIM_SLAVE_CMOS_T
|
||||||
CP 1
|
CP 1
|
||||||
JR Z,SETUPD2
|
JR Z,SETUPD2
|
||||||
|
;
|
||||||
LD IX,SEC_MASTER_CMOS_T
|
LD IX,SEC_MASTER_CMOS_T
|
||||||
CP 2
|
CP 2
|
||||||
JR Z,SETUPD2
|
JR Z,SETUPD2
|
||||||
|
;
|
||||||
LD IX,SEC_SLAVE_CMOS_T
|
LD IX,SEC_SLAVE_CMOS_T
|
||||||
SETUPD2:
|
SETUPD2:
|
||||||
CALL SELECT_IDE
|
CALL SELECT_IDE
|
||||||
@ -1278,23 +1306,28 @@ SETUPD2:
|
|||||||
LDIR
|
LDIR
|
||||||
CALL WAITHDD
|
CALL WAITHDD
|
||||||
RET C
|
RET C
|
||||||
|
;;
|
||||||
LD A,(IX+2) ;M_HEAD
|
LD A,(IX+2) ;M_HEAD
|
||||||
CALL READCMS
|
CALL READCMS
|
||||||
LD (TEMP+#06),A ; !TODO ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. HEADS PER TRACK
|
LD (TEMP+3*2),A ; !TODO ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. HEADS PER TRACK
|
||||||
|
;
|
||||||
LD A,(IX+1) ;M_CYLH
|
LD A,(IX+1) ;M_CYLH
|
||||||
CALL READCMS
|
CALL READCMS
|
||||||
PUSH AF
|
PUSH AF
|
||||||
|
;
|
||||||
LD A,(IX+0) ;M_CYLL
|
LD A,(IX+0) ;M_CYLL
|
||||||
CALL READCMS
|
CALL READCMS
|
||||||
POP HL
|
POP HL
|
||||||
LD L,A
|
LD L,A
|
||||||
LD (TEMP+#02),HL ; !TODO ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. CYLINDERS
|
LD (TEMP+1*2),HL ; !TODO ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. CYLINDERS
|
||||||
|
;
|
||||||
LD A,(IX+3) ;M_SECT
|
LD A,(IX+3) ;M_SECT
|
||||||
CALL READCMS
|
CALL READCMS
|
||||||
LD (TEMP+#0C),A ; !TODO ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. SECTOR PER TRACK
|
LD (TEMP+6*2),A ; !TODO ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. SECTOR PER TRACK
|
||||||
LD A,#A0
|
;
|
||||||
LD BC,IDE.Write.DeviceHead
|
;LD A,IDE.Drive.Master
|
||||||
OUT (C),A
|
;LD BC,IDE.Write.DeviceHead
|
||||||
|
;OUT (C),A
|
||||||
LD A,IDE.Device.HDD
|
LD A,IDE.Device.HDD
|
||||||
LD (IDEDEV),A
|
LD (IDEDEV),A
|
||||||
CALL IDESPEC
|
CALL IDESPEC
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
;U_SETUP:
|
;U_SETUP:
|
||||||
SETTINGS:
|
SETTINGS:
|
||||||
LD A,#1A ; !HARDCODE
|
LD A,CMOS.Cell.ScreenSET
|
||||||
CALL READCMS
|
CALL READCMS
|
||||||
AND #0F
|
AND CMOS.Cell.ScreenSET.Mask.ColorStyle
|
||||||
LD L,A
|
LD L,A
|
||||||
CALL CSET
|
CALL CSET
|
||||||
LD DE,0
|
LD DE,0
|
||||||
@ -248,13 +248,13 @@ DECITM:
|
|||||||
JP PCURSOR
|
JP PCURSOR
|
||||||
|
|
||||||
CCHANGE:
|
CCHANGE:
|
||||||
LD A,#1A
|
LD A,CMOS.Cell.ScreenSET
|
||||||
CALL READCMS
|
CALL READCMS
|
||||||
INC A
|
INC A
|
||||||
AND #0F
|
AND CMOS.Cell.ScreenSET.Mask.ColorStyle
|
||||||
LD L,A
|
LD L,A
|
||||||
LD B,A
|
LD B,A
|
||||||
LD A,#1A
|
LD A,CMOS.Cell.ScreenSET
|
||||||
CALL WRITCMS
|
CALL WRITCMS
|
||||||
CSET:
|
CSET:
|
||||||
LD H,0
|
LD H,0
|
||||||
@ -545,7 +545,7 @@ PITEM: LD E,(IY+MenusItem.Column) ; x-coor
|
|||||||
JR NZ,.printParameter ; ¥á«¨ íâ® ¥ áâப á ¨§¬¥ï¥¬ë¬ ¯ à ¬¥â஬, â® ¯à®áâ® ¯¥ç âì
|
JR NZ,.printParameter ; ¥á«¨ íâ® ¥ áâப á ¨§¬¥ï¥¬ë¬ ¯ à ¬¥â஬, â® ¯à®áâ® ¯¥ç âì
|
||||||
|
|
||||||
LD A,(IY+MenusItem.CMOSreg) ; address of next parametr
|
LD A,(IY+MenusItem.CMOSreg) ; address of next parametr
|
||||||
CALL READCMS ; read item`s value from cmos
|
CALL READCMS ; read item`s value from cmos
|
||||||
|
|
||||||
LD B,(IY+MenusItem.ValueMask) ; item's value mask
|
LD B,(IY+MenusItem.ValueMask) ; item's value mask
|
||||||
AND B
|
AND B
|
||||||
@ -573,7 +573,6 @@ PITEM: LD E,(HL) ; x-coordinate
|
|||||||
LD D,(HL) ; y-coordinate
|
LD D,(HL) ; y-coordinate
|
||||||
INC HL ; address of next parametr
|
INC HL ; address of next parametr
|
||||||
PUSH HL
|
PUSH HL
|
||||||
;CALL ScreenPOS.LOCAT
|
|
||||||
CALL LP_SET_PLACE ; set position of item
|
CALL LP_SET_PLACE ; set position of item
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
CALL POSTMSG
|
CALL POSTMSG
|
||||||
@ -657,7 +656,7 @@ CHEKSUM:
|
|||||||
|
|
||||||
TCHEKSM:
|
TCHEKSM:
|
||||||
CALL CHEKSUM
|
CALL CHEKSUM
|
||||||
LD A,#3F ;!HARDCODE
|
LD A,#3F ; !HARDCODE CMOS
|
||||||
CALL READCMS
|
CALL READCMS
|
||||||
CP H
|
CP H
|
||||||
RET
|
RET
|
||||||
@ -676,7 +675,7 @@ TCHEKSM:
|
|||||||
; JP_to_BIOS
|
; JP_to_BIOS
|
||||||
|
|
||||||
READING:
|
READING:
|
||||||
LD D,#0E ; !HARDCODE CMOS
|
LD D,CMOS.USED_MIN_ADDRESS
|
||||||
.loop: PUSH DE
|
.loop: PUSH DE
|
||||||
CALL CMOS_RD
|
CALL CMOS_RD
|
||||||
POP DE
|
POP DE
|
||||||
@ -692,9 +691,9 @@ READING:
|
|||||||
WRITING:
|
WRITING:
|
||||||
CALL CHEKSUM
|
CALL CHEKSUM
|
||||||
LD B,H
|
LD B,H
|
||||||
LD A,#3F
|
LD A,CMOS.Cell.CheckSum
|
||||||
CALL WRITCMS
|
CALL WRITCMS
|
||||||
LD D,#0E ; !HARDCODE CMOS
|
LD D,CMOS.USED_MIN_ADDRESS ; !HARDCODE CMOS
|
||||||
.loop:
|
.loop:
|
||||||
LD H,high CMOSARE
|
LD H,high CMOSARE
|
||||||
LD L,D
|
LD L,D
|
||||||
@ -710,7 +709,7 @@ WRITING:
|
|||||||
RET
|
RET
|
||||||
|
|
||||||
SETDEFX:
|
SETDEFX:
|
||||||
LD A,#FF
|
LD A,#FF
|
||||||
LD (ERRSUM),A
|
LD (ERRSUM),A
|
||||||
CALL SETDEF
|
CALL SETDEF
|
||||||
JP WRITING
|
JP WRITING
|
||||||
@ -718,7 +717,7 @@ SETDEFX:
|
|||||||
SETDEF: ;!TODO ¬®¦¥â ¡ åãâì LDIR®¬? ¯®á¬®âà¥âì
|
SETDEF: ;!TODO ¬®¦¥â ¡ åãâì LDIR®¬? ¯®á¬®âà¥âì
|
||||||
LD HL,DEFVAL
|
LD HL,DEFVAL
|
||||||
LD C,DEFVAL.Size
|
LD C,DEFVAL.Size
|
||||||
LD A,#0E ; !HARDCODE CMOS c¬¥é¥¨¥ ¢ â ¡«¨æ¥ ¤® ï祥ª ¯ ¬ïâ¨
|
LD A,CMOS.USED_MIN_ADDRESS
|
||||||
.loop:
|
.loop:
|
||||||
LD B,(HL)
|
LD B,(HL)
|
||||||
INC HL
|
INC HL
|
||||||
@ -729,17 +728,17 @@ SETDEF: ;!TODO
|
|||||||
DEC C
|
DEC C
|
||||||
JR NZ,.loop
|
JR NZ,.loop
|
||||||
;REGISTER #35 - BASIC SETTING 1
|
;REGISTER #35 - BASIC SETTING 1
|
||||||
LD A,#35
|
LD A,#35 ;!HARDCODE cmos
|
||||||
LD B,#00
|
LD B,#00
|
||||||
CALL WRITCMS
|
CALL WRITCMS
|
||||||
;REGISTER #36 - BASIC SETTING 2
|
;REGISTER #36 - BASIC SETTING 2
|
||||||
LD A,#36
|
LD A,#36 ;!HARDCODE cmos
|
||||||
LD B,#00
|
LD B,#00
|
||||||
CALL WRITCMS
|
CALL WRITCMS
|
||||||
|
|
||||||
CALL CHEKSUM
|
CALL CHEKSUM
|
||||||
LD B,H
|
LD B,H
|
||||||
LD A,#3F
|
LD A,CMOS.Cell.CheckSum
|
||||||
CALL WRITCMS
|
CALL WRITCMS
|
||||||
RET
|
RET
|
||||||
|
|
||||||
@ -827,9 +826,9 @@ setXYpos:
|
|||||||
JP RESCREEN
|
JP RESCREEN
|
||||||
|
|
||||||
setVsinc:
|
setVsinc:
|
||||||
ld a,@CMOS.Cell.ScreenSET
|
ld a,CMOS.Cell.ScreenSET
|
||||||
call READCMS
|
call READCMS
|
||||||
and @CMOS.Cell.ScreenSET.Mask.Sinc
|
and CMOS.Cell.ScreenSET.Mask.Sinc
|
||||||
SCF
|
SCF
|
||||||
jr z,.skip ;320
|
jr z,.skip ;320
|
||||||
SLA A
|
SLA A
|
||||||
@ -844,9 +843,9 @@ setLang:
|
|||||||
ld (ITEM_Restore),a
|
ld (ITEM_Restore),a
|
||||||
pop hl ; delete return adress from stack
|
pop hl ; delete return adress from stack
|
||||||
jp SETTINGS
|
jp SETTINGS
|
||||||
setInt: ld a,@CMOS.Cell.ScreenSET
|
setInt: ld a,CMOS.Cell.ScreenSET
|
||||||
call READCMS
|
call READCMS
|
||||||
and @CMOS.Cell.ScreenSET.Mask.Int
|
and CMOS.Cell.ScreenSET.Mask.Int
|
||||||
jr nz,.skipDefaultInt
|
jr nz,.skipDefaultInt
|
||||||
ld a,2 ; Pentagon sync - default
|
ld a,2 ; Pentagon sync - default
|
||||||
jr .set
|
jr .set
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user