Subversion Repositories pentevo

Rev

Rev 736 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
507 savelij 1
 
831 savelij 2
;LAST UPDATE: 30.06.2019 savelij
507 savelij 3
 
4
;€ ‚•Ž„…: H-€„…‘ Ÿ—…‰Šˆ
5
;          L-Ž—ˆ’€Ž… ‡€—…ˆ…
6
READCMOS        DI
7
                PUSH BC
8
                LD BC,CMOSD_SET_ADR
9
                OUT (C),H
10
                LD B,HIGH (CMOSD_RD_WR)
11
                IN L,(C)
12
                JR OFF_CMOS
13
 
14
;€ ‚•Ž„…: H-€„…‘ Ÿ—…‰Šˆ
15
;          L-—’Ž ’“„€ ‡€ˆ‘€’œ
16
WRITECMOS       DI
17
                PUSH BC
18
                LD BC,CMOSD_SET_ADR
19
                OUT (C),H
20
                LD B,HIGH (CMOSD_RD_WR)
21
                OUT (C),L
623 savelij 22
OFF_CMOS        POP BC
507 savelij 23
                LD A,L
24
                AND A
25
                RET
26
 
831 savelij 27
CMOS_RW         ROMCALL P5_READ_BYTE,ROM_RST83
585 savelij 28
                LD A,(NEXTBYTERST8)
29
                ADD A,A
30
                ADD A,LOW (CMOSRW_TAB)
31
                LD L,A
32
                ADC A,HIGH (CMOSRW_TAB)
33
                SUB L
34
                LD H,A
35
                LD A,(HL)
36
                INC HL
37
                LD H,(HL)
38
                LD L,A
39
                JP (HL)
40
 
41
CMOSRW_TAB      DW INIT_CMOS                    ;Ž‚…Š€ CRC CMOS ˆ ˆˆ–ˆ€‹ˆ‡€–ˆŸ ˆ Ž˜ˆŠ…
593 savelij 42
                DW EREAD_CMOS                   ;—’…ˆ… Ÿ—…‰Šˆ CMOS
43
                DW EWRITE_CMOS                  ;‡€ˆ‘œ Ÿ—…‰Šˆ CMOS ‘ ……‘—…’ŽŒ CRC
585 savelij 44
                DW CLEAR_CMOS                   ;ˆ“„ˆ’…‹œ›‰ ‘Ž‘ ‡€—…ˆ‰ CMOS
45
 
46
;—’…ˆ… Ÿ—……Š ‡€™ˆ™€…Œ›• CRC16 ˆ Ž„‘—…’ CRC
47
;€ ‚›•Ž„…: HL=CRC16 ‹ŽŠ€
593 savelij 48
READCMOS2BUF    PUSH DE
49
                LD DE,CMOS4CRC16
507 savelij 50
                PUSH DE
678 savelij 51
                LD H,CMOS_BYTE_00
52
                LD B,ECMOS_DEFAULT-CMOS_DEFAULT
585 savelij 53
RDCMOS2BUF1     CALL READCMOS
54
                LD (DE),A
507 savelij 55
                INC DE
678 savelij 56
                DEC H
585 savelij 57
                DJNZ RDCMOS2BUF1
58
                POP HL
59
                PUSH HL
60
                POP IX                          ;IX=€„…‘ ƒ„… €‰’› „‹Ÿ ‘—…’€ CRC
61
                EX DE,HL
507 savelij 62
                AND A
585 savelij 63
                SBC HL,DE                       ;HL=ŠŽ‹ˆ—…‘’‚Ž Ÿ—……Š „‹Ÿ ‘—…’€
831 savelij 64
                ROMCALL CRC16_FAST,ROM_RST81
593 savelij 65
                POP DE
66
                RET
507 savelij 67
 
646 savelij 68
;‚…˜ˆ‰ ‚›‡Ž‚ —’…ˆŸ CMOS
593 savelij 69
EREAD_CMOS      LD HL,(RREG_L)                  ;H=€„…‘ Ÿ—…‰Šˆ ŠŒŽ‘ Ž’Š“„€ —ˆ’€’œ
585 savelij 70
                CALL READCMOS
71
                LD (RREG_L),HL                  ;‚…“‹ˆ Ž—ˆ’€Ž… ‚ …ƒˆ‘’ L
72
                PUSH AF
73
                POP HL
74
                LD (RREG_F),HL                  ;‚…“‹ˆ Ž—ˆ’€Ž… ‚ …ƒˆ‘’ A ‚Œ…‘’… ‘ ”‹€ƒ€Œˆ
507 savelij 75
                RET
76
 
646 savelij 77
;‚…˜ˆ‰ ‚›‡Ž‚ ‡€ˆ‘ˆ ‚ CMOS ‘ ……‘—…’ŽŒ CRC
593 savelij 78
EWRITE_CMOS     LD HL,(RREG_L)
646 savelij 79
;‚“’…ˆ‰ ‚›‡Ž‚ ‡€ˆ‘ˆ ‚ CMOS ‘ ……‘—…’ŽŒ CRC
593 savelij 80
IWRITECMOS      PUSH IX
81
                PUSH DE
82
                CALL WRITECMOS
585 savelij 83
                CALL READCMOS2BUF
507 savelij 84
                EX DE,HL
585 savelij 85
                LD H,CRCCMOSHIGH
86
                LD L,D
507 savelij 87
                CALL WRITECMOS
585 savelij 88
                DEC H
89
                LD L,E
593 savelij 90
                CALL WRITECMOS
91
                POP DE
585 savelij 92
                POP IX
507 savelij 93
                RET
94
 
585 savelij 95
INIT_CMOS       CALL READCMOS2BUF               ;“”… „‹Ÿ —’…ˆŸ Ÿ—……Š ˆ‡ CMOS
623 savelij 96
                EX DE,HL                        ;CRC ‘Ÿ’€‹ˆ ‚ DE
585 savelij 97
                LD H,CRCCMOSHIGH
98
                CALL READCMOS                   ;Ž—ˆ’€‹ˆ ‘’€˜ˆ‰ €‰’ CRC
99
                LD C,L
100
                LD H,CRCCMOSLOW
101
                CALL READCMOS                   ;Ž—ˆ’€‹ˆ Œ‹€„˜ˆ‰ €‰’ CRC
102
                LD H,C
103
                AND A
104
                SBC HL,DE                       ;‘€‚ˆ‹ˆ
105
                RET Z                           ;…‘‹ˆ ‘Ž‚€‹Ž, ’Ž ‚›•Ž„
106
CLEAR_CMOS      LD HL,CMOS_DEFAULT              ;Ž’Š“„€ €’œ „…”Ž‹’›… ‡€—…ˆŸ
107
                LD DE,CMOS4CRC16                ;Š“„€ Ž‹Ž†ˆ’œ
108
                PUSH DE
109
                LD BC,ECMOS_DEFAULT-CMOS_DEFAULT
110
                LDIR                            ;………‘‹ˆ ‚ “”… „…”Ž‹’›… ‡€—…ˆŸ
111
                POP DE
112
                PUSH DE
678 savelij 113
                LD H,CMOS_BYTE_00
114
                LD B,ECMOS_DEFAULT-CMOS_DEFAULT
585 savelij 115
INITCMOS3       LD A,(DE)
116
                INC DE
507 savelij 117
                LD L,A
585 savelij 118
                CALL WRITECMOS
678 savelij 119
                DEC H
623 savelij 120
                DJNZ INITCMOS3                  ;ˆ˜…Œ Ÿ—…‰Šˆ ‚ CMOS
585 savelij 121
                POP HL
122
                PUSH HL
123
                POP IX
124
                EX DE,HL
125
                AND A
507 savelij 126
                SBC HL,DE
831 savelij 127
                ROMCALL CRC16_FAST,ROM_RST81
585 savelij 128
                EX DE,HL
129
                LD H,CRCCMOSHIGH
130
                LD L,D
131
                CALL WRITECMOS                  ;‡€ˆ‘€‹ˆ ‘’€˜ˆ‰ €‰’ Ž‘—ˆ’€ŽƒŽ CRC
132
                DEC H
133
                LD L,E
134
                JP WRITECMOS                    ;‡€ˆ‘€‹ˆ Œ‹€„˜ˆ‰ €‰’ Ž‘—ˆ’€ŽƒŽ CRC