Top secrets sources NedoPC pentevo

Rev

Rev 736 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?


;LAST UPDATE: 30.06.2019 savelij

;€ ‚•Ž„…: H-€„…‘ Ÿ—…‰Šˆ
;          L-Ž—ˆ’€Ž… ‡€—…ˆ…
READCMOS        DI
                PUSH BC
                LD BC,CMOSD_SET_ADR
                OUT (C),H
                LD B,HIGH (CMOSD_RD_WR)
                IN L,(C)
                JR OFF_CMOS

;€ ‚•Ž„…: H-€„…‘ Ÿ—…‰Šˆ
;          L-—’Ž ’“„€ ‡€ˆ‘€’œ
WRITECMOS       DI
                PUSH BC
                LD BC,CMOSD_SET_ADR
                OUT (C),H
                LD B,HIGH (CMOSD_RD_WR)
                OUT (C),L
OFF_CMOS        POP BC
                LD A,L
                AND A
                RET

CMOS_RW         ROMCALL P5_READ_BYTE,ROM_RST83
                LD A,(NEXTBYTERST8)
                ADD A,A
                ADD A,LOW (CMOSRW_TAB)
                LD L,A
                ADC A,HIGH (CMOSRW_TAB)
                SUB L
                LD H,A
                LD A,(HL)
                INC HL
                LD H,(HL)
                LD L,A
                JP (HL)

CMOSRW_TAB      DW INIT_CMOS                    ;Ž‚…Š€ CRC CMOS ˆ ˆˆ–ˆ€‹ˆ‡€–ˆŸ ˆ Ž˜ˆŠ…
                DW EREAD_CMOS                   ;—’…ˆ… Ÿ—…‰Šˆ CMOS
                DW EWRITE_CMOS                  ;‡€ˆ‘œ Ÿ—…‰Šˆ CMOS ‘ ……‘—…’ŽŒ CRC
                DW CLEAR_CMOS                   ;ˆ“„ˆ’…‹œ›‰ ‘Ž‘ ‡€—…ˆ‰ CMOS

;—’…ˆ… Ÿ—……Š ‡€™ˆ™€…Œ›• CRC16 ˆ Ž„‘—…’ CRC
;€ ‚›•Ž„…: HL=CRC16 ‹ŽŠ€
READCMOS2BUF    PUSH DE
                LD DE,CMOS4CRC16
                PUSH DE
                LD H,CMOS_BYTE_00
                LD B,ECMOS_DEFAULT-CMOS_DEFAULT
RDCMOS2BUF1     CALL READCMOS
                LD (DE),A
                INC DE
                DEC H
                DJNZ RDCMOS2BUF1
                POP HL
                PUSH HL
                POP IX                          ;IX=€„…‘ ƒ„… €‰’› „‹Ÿ ‘—…’€ CRC
                EX DE,HL
                AND A
                SBC HL,DE                       ;HL=ŠŽ‹ˆ—…‘’‚Ž Ÿ—……Š „‹Ÿ ‘—…’€
                ROMCALL CRC16_FAST,ROM_RST81
                POP DE
                RET

;‚…˜ˆ‰ ‚›‡Ž‚ —’…ˆŸ CMOS
EREAD_CMOS      LD HL,(RREG_L)                  ;H=€„…‘ Ÿ—…‰Šˆ ŠŒŽ‘ Ž’Š“„€ —ˆ’€’œ
                CALL READCMOS
                LD (RREG_L),HL                  ;‚…“‹ˆ Ž—ˆ’€Ž… ‚ …ƒˆ‘’ L
                PUSH AF
                POP HL
                LD (RREG_F),HL                  ;‚…“‹ˆ Ž—ˆ’€Ž… ‚ …ƒˆ‘’ A ‚Œ…‘’… ‘ ”‹€ƒ€Œˆ
                RET

;‚…˜ˆ‰ ‚›‡Ž‚ ‡€ˆ‘ˆ ‚ CMOS ‘ ……‘—…’ŽŒ CRC
EWRITE_CMOS     LD HL,(RREG_L)
;‚“’…ˆ‰ ‚›‡Ž‚ ‡€ˆ‘ˆ ‚ CMOS ‘ ……‘—…’ŽŒ CRC
IWRITECMOS      PUSH IX
                PUSH DE
                CALL WRITECMOS
                CALL READCMOS2BUF
                EX DE,HL
                LD H,CRCCMOSHIGH
                LD L,D
                CALL WRITECMOS
                DEC H
                LD L,E
                CALL WRITECMOS
                POP DE
                POP IX
                RET

INIT_CMOS       CALL READCMOS2BUF               ;“”… „‹Ÿ —’…ˆŸ Ÿ—……Š ˆ‡ CMOS
                EX DE,HL                        ;CRC ‘Ÿ’€‹ˆ ‚ DE
                LD H,CRCCMOSHIGH
                CALL READCMOS                   ;Ž—ˆ’€‹ˆ ‘’€˜ˆ‰ €‰’ CRC
                LD C,L
                LD H,CRCCMOSLOW
                CALL READCMOS                   ;Ž—ˆ’€‹ˆ Œ‹€„˜ˆ‰ €‰’ CRC
                LD H,C
                AND A
                SBC HL,DE                       ;‘€‚ˆ‹ˆ
                RET Z                           ;…‘‹ˆ ‘Ž‚€‹Ž, ’Ž ‚›•Ž„
CLEAR_CMOS      LD HL,CMOS_DEFAULT              ;Ž’Š“„€ €’œ „…”Ž‹’›… ‡€—…ˆŸ
                LD DE,CMOS4CRC16                ;Š“„€ Ž‹Ž†ˆ’œ
                PUSH DE
                LD BC,ECMOS_DEFAULT-CMOS_DEFAULT
                LDIR                            ;………‘‹ˆ ‚ “”… „…”Ž‹’›… ‡€—…ˆŸ
                POP DE
                PUSH DE
                LD H,CMOS_BYTE_00
                LD B,ECMOS_DEFAULT-CMOS_DEFAULT
INITCMOS3       LD A,(DE)
                INC DE
                LD L,A
                CALL WRITECMOS
                DEC H
                DJNZ INITCMOS3                  ;ˆ˜…Œ Ÿ—…‰Šˆ ‚ CMOS
                POP HL
                PUSH HL
                POP IX
                EX DE,HL
                AND A
                SBC HL,DE
                ROMCALL CRC16_FAST,ROM_RST81
                EX DE,HL
                LD H,CRCCMOSHIGH
                LD L,D
                CALL WRITECMOS                  ;‡€ˆ‘€‹ˆ ‘’€˜ˆ‰ €‰’ Ž‘—ˆ’€ŽƒŽ CRC
                DEC H
                LD L,E
                JP WRITECMOS                    ;‡€ˆ‘€‹ˆ Œ‹€„˜ˆ‰ €‰’ Ž‘—ˆ’€ŽƒŽ CRC