Top secrets sources NedoPC ngs

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?


;LAST UPDATE: 11.10.2012 savelij

;Ž™€Ÿ ’Ž—Š€ ‚•Ž„€ „‹Ÿ €Ž’› ‘ SD Š€’Ž‰
GSDDRV          DI
                IN A,(ZXDATRD)          ;ˆ…Œ ŠŽŒ€„› „€‰‚…€
                OUT (CLRCBIT),A         ;‘Ž‘ COMANDBIT
                LD HL,COMINT_
                PUSH HL
                ADD A,A
                LD E,A
                LD D,0
                LD HL,TABLSDG
                ADD HL,DE
                LD E,(HL)
                INC HL
                LD D,(HL)
                EX DE,HL
                CALL WDY
                IN A,(ZXDATRD)          ;ˆ…Œ ˆ’Ž‚ 31-24 €€Œ…’€
                LD B,A
                CALL WDY
                IN A,(ZXDATRD)          ;ˆ…Œ ˆ’Ž‚ 23-16 €€Œ…’€
                LD C,A
                CALL WDY
                IN A,(ZXDATRD)          ;ˆ…Œ ˆ’Ž‚ 15-8 €€Œ…’€
                LD D,A
                CALL WDY
                IN A,(ZXDATRD)          ;ˆ…Œ ˆ’Ž‚ 7-0 €€Œ…’€
                LD E,A
                CALL WDY
                IN A,(ZXDATRD)          ;ˆ…Œ ŠŽ‹-‚Ž ‘…Š’ŽŽ‚
                JP (HL)

TABLSDG         DW SDINITG              ;0 €€Œ…’Ž‚ … ’…“…’, € ‚›•Ž„… A
                                        ;‘ŒŽ’ˆ ‚›˜… …‚›… 2 ‡€—…ˆŸ
                DW SDCMPG               ;1 Ž‚…Š€ €‹ˆ—ˆŸ SD Š€’›
                DW RDMULG               ;2 —ˆ’€’œ "A" ‘…Š’ŽŽ‚
                DW WRMULG               ;3 ˆ‘€’œ "A" ‘…Š’ŽŽ‚

SDCMPG          LD A,CMD_58
                LD BC,SD_RSTR
                CALL OUT_COG
                CALL INOOUTG
                IN A,(C)
                NOP
                IN H,(C)
                NOP
                IN H,(C)
                NOP
                IN H,(C)
                INC A
                JP NZ,OK_WORK
ZAW003G         CALL CSHIGHG
                LD A,0XEE
                JP OUTSTAT

SDINITG         CALL CSHIGHG
                LD BC,SD_SEND
                LD DE,0X20FF
                OUT (C),E
                DEC D
                JR NZ,$-3
                LD BC,SD_RSTR
                XOR A
                EX AF,AF'
ZAW001G         LD HL,CMD00G
                CALL OUTCOMG
                CALL INOOUTG
                EX AF,AF'

                DEC A
                JR Z,ZAW003G
                EX AF,AF'
                DEC A
                JR NZ,ZAW001G
                LD HL,CMD08G
                CALL OUTCOMG
                CALL INOOUTG
                IN H,(C)
                NOP
                IN H,(C)
                NOP
                IN H,(C)
                NOP
                IN H,(C)
                LD HL,0
                BIT 2,A
                JR NZ,ZAW006G
                LD H,0X40
ZAW006G         LD A,CMD_55
                CALL OUT_COG
                CALL INOOUTG
                LD BC,SD_SEND
                LD A,ACMD_41
                OUT (C),A
                NOP
                OUT (C),H
                NOP
                OUT (C),L
                NOP
                OUT (C),L
                NOP
                OUT (C),L
                LD A,0XFF
                OUT (C),A
                CALL INOOUTG
                AND A
                JR NZ,ZAW006G
ZAW004G         LD A,CMD_59
                CALL OUT_COG
                CALL INOOUTG
                AND A
                JR NZ,ZAW004G
ZAW005G         LD HL,CMD16G
                CALL OUTCOMG
                CALL INOOUTG
                AND A
                JR NZ,ZAW005G
                JP OK_WORK

CSHIGHG         PUSH AF
                LD A,M_SDNCS+M_SNCLR    ;0X81
                OUT (SCTRL),A
                POP AF
                RET

CSLOWG          PUSH AF
                LD A,M_SDNCS            ;1
                OUT (SCTRL),A
                POP AF
                RET

OUTCOMG         CALL CSLOWG
                PUSH BC
                LD BC,0X0600+SD_SEND
                OTIR
                POP BC
                RET

OUT_COG         PUSH BC
                CALL CSLOWG
                LD BC,SD_SEND
                OUT (C),A
                XOR A
                OUT (C),A
                NOP
                OUT (C),A
                NOP
                OUT (C),A
                NOP
                OUT (C),A
                DEC A
                OUT (C),A
                POP BC
                RET

SECM20G         PUSH HL
                PUSH DE
                PUSH BC
                PUSH AF
                PUSH BC
                LD A,CMD_58
                LD BC,SD_RSTR
                CALL OUT_COG
                CALL INOOUTG
                IN A,(C)
                NOP
                IN H,(C)
                NOP
                IN H,(C)
                NOP
                IN H,(C)
                BIT 6,A
                POP HL
                JR NZ,SECN20G
                EX DE,HL
                ADD HL,HL
                EX DE,HL
                ADC HL,HL
                LD H,L
                LD L,D
                LD D,E
                LD E,0
SECN20G         POP AF
                LD BC,SD_SEND
                OUT (C),A
                NOP
                OUT (C),H
                NOP
                OUT (C),L
                NOP
                OUT (C),D
                NOP
                OUT (C),E
                LD A,0XFF
                OUT (C),A
                POP BC
                POP DE
                POP HL
                RET

INOOUTG         PUSH DE
                LD DE,0X30FF
INWAITG         IN A,(SD_RSTR)
                CP E
                JR NZ,INEXITG
                DEC D
                JR NZ,INWAITG
INEXITG         POP DE
                RET

CMD00G          DB 0X40,0X00,0X00,0X00,0X00,0X95        ;GO_IDLE_STATE
CMD08G          DB 0X48,0X00,0X00,0X01,0XAA,0X87        ;SEND_IF_COND
CMD16G          DB 0X50,0X00,0X00,0X02,0X00,0XFF        ;SET_BLOCKEN

;……„€—€ Ž„ŽƒŽ ‘…Š’Ž€ € ‘…Š
RDSECTG         IN A,(ZXSTAT)
                RRA
                JR NC,$-3
                OUT (CLRCBIT),A
                LD BC,SD_RSTR
                LD HL,0X0200
                IN A,(C)
                DEC HL
                OUT (ZXDATWR),A
                CALL WDN
                LD A,H
                OR L
                JR NZ,$-10
                IN A,(C)
                NOP
                IN A,(C)
                RET

;……„€—€ Ž„ŽƒŽ ‘…Š’Ž€ ‚ SD Š€’“
WRSECTG         LD BC,SD_SEND
                OUT (C),A
                IN A,(ZXSTAT)
                RRA
                JR NC,$-3
                OUT (CLRCBIT),A
                LD HL,0X0200
                CALL WDY
                IN A,(ZXDATRD)
                DEC HL
                OUT (C),A
                LD A,H
                OR L
                JR NZ,$-10
                LD A,0XFF
                OUT (C),A
                NOP
                OUT (C),A
                RET

;‡€ˆ‘œ "A" ‘…Š’ŽŽ‚
WRMULG          EX AF,AF'

                LD A,CMD_25
                CALL SECM20G
                CALL INOOUTG
                INC A
                JR NZ,$-4
                EX AF,AF'
WRMULG1         EX AF,AF'

                LD A,0XFC
                CALL WRSECTG
                CALL INOOUTG
                INC A
                JR NZ,$-4
                EX AF,AF'
                DEC A
                JR NZ,WRMULG1
                LD C,SD_SEND
                LD A,0XFD
                OUT (C),A
                CALL INOOUTG
                INC A
                JR NZ,$-4
                JR OK_WORK

;‡€ƒ“‡Š€ "A" ‘…Š’ŽŽ‚
RDMULG          EX AF,AF'

                LD A,CMD_18
                CALL SECM20G
                EX AF,AF'
RDMULG1         EX AF,AF'

                CALL INOOUTG
                CP 0XFE
                JR NZ,$-5
                CALL RDSECTG
                EX AF,AF'
                DEC A
                JR NZ,RDMULG1
                LD A,CMD_12
                CALL OUT_COG
                CALL INOOUTG
                INC A
                JR NZ,$-4

OK_WORK         CALL CSHIGHG
                LD A,0X77

OUTSTAT         OUT (ZXDATWR),A

;Ž†ˆ„€ˆ… ŠŽƒ„€ ‘…Š ‡€……’ €‰’ „€›•
WDN             IN A,(ZXSTAT)
                RLA
                JR C,$-3
                RET

;Ž†ˆ„€ˆ… ŠŽƒ„€ ‘…Š „€‘’ €‰’ „€›•
WDY             IN A,(ZXSTAT)
                RLA
                JR NC,$-3
                RET