Важная информация

User Tag List

Показано с 1 по 6 из 6

Тема: NEMO IDE + SDtoIDE adapter

  1. #1
    Master Аватар для VELESOFT
    Регистрация
    04.04.2007
    Адрес
    Praha
    Сообщений
    752
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию NEMO IDE + SDtoIDE adapter

    I use WILD COPIER and FATALL with IDE port. If in IDE connector(40 pin) are connect HDD or CF card, then ide driver work. But if I connect SDtoIDE adapter to IDE connector then IDE driver not work.

    I test more SDtoIDE adapters:
    http://velesoft.speccy.cz/zx/sd_to_ide.htm



    I think the faulty IDE driver in russian software. If I use european software for ZX with IDE support then work correct with HDD,CF and SDtoIDE connector.

    I can release both IDE drivers and we can compare it.
    Последний раз редактировалось VELESOFT; 10.10.2010 в 19:19.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Master Аватар для VELESOFT
    Регистрация
    04.04.2007
    Адрес
    Praha
    Сообщений
    752
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    NEMO IDE DRIVER in FATALL:
    Код:
    ;LAST UPDATE: 04.03.2010 savelij
    
    Hddinit EQU 0
    Hddoff  EQU 1
    Hddrds  EQU 2
    Hddrdm  EQU 3
    Hddwrs  EQU 4
    Hddwrm  EQU 5
    
    ;Ž�™?ź ’Ž—Š? ‚•Ž„? „‹ź �?�Ž’› ‘ HDD NEMO
            EXA
            EX (SP),HL
            LD A,(HL)
            INC HL
        EX (SP),HL
        ADD A,A
        PUSH HL
        LD HL,TBLHDDN
        ADD A,L
        LD L,A
        LD A,H
        ADC A,0
        LD H,A
        LD A,(HL)
        INC HL
        LD H,(HL)
        LD L,A
        EXA
        EX (SP),HL
        RET
    
    TBLHDDN DW HDDINIT    ;INIT HDD
            DW HDDOFF
            DW HDDRDS    ;READ SINGLE SECTOR
            DW HDDRDM    ;READ MULTI SECTOR
            DW HDDWRS    ;SAVE SINGLE SECTOR
            DW HDDWRM    ;SAVE MULTI SECTOR
    
    ;‚室*ëĄ Ż*ŕ*¬Ąâŕë ®ˇé¨Ą:
    ;HL-*¤ŕĄá §*Łŕ㧪¨ ˘ Ż*¬ďâě
    ;BCDE-32-ĺ ˇ¨â*ë© *®¬Ąŕ ᥪâ®ŕ*
    ;A-Ş®«¨çĄá⢮ ˇ«®Ş®˘ (ˇ«®Ş=512 ˇ*©â)
    ;⮫쪮 ¤«ď ¬*®Ł®ˇ«®ç*®© §*Ż¨á¨/çâĄ*¨¨
    
    P_1F7   EQU #F0            ;�…ƒˆ‘’� ‘Ž‘’ŽźŤˆź/�…ƒˆ‘’� ŠŽŚ?Ť„
    P_1F6   EQU #D0            ;CHS-ŤŽŚ…� ƒŽ‹Ž‚› ˆ “‘’�/LBA ?„�…‘ 24-27
    P_1F5   EQU #B0            ;CHS-–ˆ‹ˆŤ„� 8-15/LBA ?„�…‘ 16-23
    P_1F4   EQU #90            ;CHS-–ˆ‹ˆŤ„� 0-7/LBA ?„�…‘ 8-15
    P_1F3   EQU #70            ;CHS-ŤŽŚ…� ‘…Š’Ž�?/LBA ?„�…‘ 0-7
    P_1F2   EQU #50            ;‘—…’—ˆŠ ‘…Š’Ž�Ž‚
    P_1F1   EQU #30            ;ŹŽ�’ Ž˜ˆ�ŽŠ/‘‚Ž‰‘’‚
    P_1F0   EQU #10            ;ŹŽ�’ „?ŤŤ›•
    P_3F6   EQU #C8            ;�…ƒˆ‘’� ‘Ž‘’ŽźŤˆź/“Ź�?‚‹…Ťˆź
    P_HI    EQU #11            ;‘’?�˜ˆ… 8 �ˆ’
    PRT_RW  EQU P_1F0*256+P_HI    ;ŹŽ�’› —’…Ťˆź/‡?Źˆ‘ˆ Ž„ŤˆŚ ‘‹Ž‚ŽŚ
    
    ;Ť? ‚›•Ž„…:
    ;H-„‹ź MASTER 0-HDD, 1-CDROM, #FF-NONE
    ;L-„‹ź SLAVE  0-HDD, 1-CDROM, #FF-NONE
    HDDINIT    LD A,#E0
        PUSH HL
        CALL ID_DEV
        POP HL
        AND A
        CALL Z,INIT_91
        LD D,A
        LD A,#F0
        PUSH DE
        PUSH HL
        CALL ID_DEV
        POP HL
        AND A
        CALL Z,INIT_91
        POP HL
        LD L,A
        XOR A
    
    HDDOFF    RET
    
    INIT_91    PUSH HL
        LD L,49*2+1,A,(HL)
        AND 2
        JR Z,INI_912
        LD BC,#FF00+P_1F2
        LD L,#0C
        LD A,(HL)
        OUT (C),A
        LD L,6
        LD C,P_1F6
        LD A,(HL)
        DEC A
        OUT (C),A
        LD C,P_1F7
        LD A,#91
        OUT (C),A
        LD DE,#1000
    INI_911    DEC DE
        LD A,D
        OR E
        JR Z,INI_912
        IN A,(C)
        AND #80
        JR NZ,INI_911
        POP HL
        RET
    
    INI_912    LD A,#FF
        POP HL
        RET
    
    ;READ 1 SECTOR HDD
    HDDRDS    LD A,1
    
    ;READ "A" SECTORS HDD
    HDDRDM    PUSH BC
        PUSH DE
        CALL SETHREG
        EXA
        LD C,P_1F7
        LD A,#20
        OUT (C),A
        LD C,P_1F7
    HDDRD1    IN A,(C)
        AND #88
        CP 8
        JR NZ,HDDRD1
        EXA
    HDDRD2    EXA
        CALL READSEC
        LD C,P_1F7
    HDDRD3    IN A,(C)
        AND #80
        JR NZ,HDDRD3
        EXA
        DEC A
        JR NZ,HDDRD2
        JR EXITNHD
    
    ;WRITE 1 SECTOR HDD
    HDDWRS    LD A,1
    
    ;WRITE "A" SECTORS HDD
    HDDWRM    PUSH BC
        PUSH DE
        CALL SETHREG
        EXA
        LD C,P_1F7
        LD A,#30
        OUT (C),A
        LD C,P_1F7
    HDDWR1    IN A,(C)
        AND #88
        CP 8
        JR NZ,HDDWR1
        EXA
    HDDWR2    EXA
        CALL WRITSEC
        LD C,P_1F7
    HDDWR3    IN A,(C)
        AND #80
        JR NZ,HDDWR3
        EXA
        DEC A
        JR NZ,HDDWR2
    EXITNHD POP DE
        POP BC
        LD A,B
        AND #0F
        LD B,A
        XOR A
        RET
    
    ;READ SECTOR (512 BYTES)
    READSEC    LD DE,PRT_RW
        LD A,#40
    READSC1    LD C,D
        INI
        LD C,E
        INI
        LD C,D
        INI
        LD C,E
        INI
        LD C,D
        INI
        LD C,E
        INI
        LD C,D
        INI
        LD C,E
        INI
        DEC A
        JR NZ,READSC1
        RET
    
    ;SAVE SECTOR (512 BYTES)
    WRITSEC    EXX
        PUSH HL
        LD HL,0
        ADD HL,SP
        EXX
        LD SP,HL
        LD A,#40
        LD HL,PRT_RW
    WR_SEC1    POP DE
        LD C,L
        OUT (C),D
        LD C,H
        OUT (C),E
        POP DE
        LD C,L
        OUT (C),D
        LD C,H
        OUT (C),E
        POP DE
        LD C,L
        OUT (C),D
        LD C,H
        OUT (C),E
        POP DE
        LD C,L
        OUT (C),D
        LD C,H
        OUT (C),E
        DEC A
        JR NZ,WR_SEC1
        LD HL,0
        ADD HL,SP
        EXX
        LD SP,HL
        POP HL
        EXX
        RET
    
    ;SET HDD PORTS
    SETHREG    PUSH DE
        LD D,B
        LD E,C
        LD BC,#FF00+P_1F6
        OUT (C),D
        EXA
        LD C,P_1F7
    SETHRE1    IN A,(C)
        AND #80
        JR NZ,SETHRE1
        LD C,P_1F5
        OUT (C),E
        POP DE
        LD C,P_1F4
        OUT (C),D
        LD C,P_1F3
        OUT (C),E
        LD C,P_1F2
        EXA
        OUT (C),A
        RET
    
    ;HL-?„�…‘ �“”…�? ‘…Š’Ž�? ˆ„…Ť’ˆ”ˆŠ?–ˆˆ
    ;A=E0-„‹ź MASTER, A=F0-„‹ź SLAVE
    ID_DEV    LD BC,#FF00+P_1F6
        OUT (C),A
        LD C,P_1F7
        LD D,26
    ID_DEV3    EI
        HALT
        DI
        DEC D
        JR Z,NO_DEV
        IN A,(C)
        BIT 7,A
        JR NZ,ID_DEV3
        AND A
        JR Z,NO_DEV
        INC A
        JR Z,NO_DEV
        XOR A
        LD C,P_1F5
        OUT (C),A
        LD C,P_1F4
        OUT (C),A
        LD A,#EC
        LD C,P_1F7
        OUT (C),A
        LD C,P_1F7
    ID_DEV1    IN A,(C)
        AND A
        JR Z,NO_DEV
        INC A
        JR Z,NO_DEV
        DEC A
        RRCA
        JR C,ID_DEV2
        RLCA
        AND #88
        CP 8
        JR NZ,ID_DEV1
    ID_DEV2    LD C,P_1F4
        IN E,(C)
        LD C,P_1F5
        IN D,(C)
        LD A,D
        OR E
        JP Z,READSEC
        LD HL,#EB14
        SBC HL,DE
        LD A,1
        RET Z
    NO_DEV    LD A,#FF
        RET

  4. #3
    Master Аватар для VELESOFT
    Регистрация
    04.04.2007
    Адрес
    Praha
    Сообщений
    752
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    NEMO IDE DRIVER in WILD COPIER:
    Код:
    ;IDE DRIVER for WDC (NEMO IDE PORTS)
            ORG #9A00
    ;-IDE Ports:----------------------------
    RCOM    EQU #00F0
    RHEAD   EQU #00D0
    
    RCYLH   EQU #00B0
    RCYLL   EQU #0090
    
    RSEC    EQU #0070
    RCOUNT  EQU #0050
    
    RERR    EQU #0030
    
    RDATL   EQU #0010
    RDATH   EQU #0011
    ;---------------------------------------
    FLGA    NOP
    TMR     NOP
    ;-------
    CDoHD   NOP
    NSDC    NOP
    EOC     NOP
    SRIN    NOP
    ;-------
    MAS     DB #E0
    SLE     DB #B0
    
    ECC     NOP
            NOP
    ;-------
    LTHL    DS 2
    LTDE    DS 2;(14)
    ;-------
    SPDPK   DB #BB,0,#01,#60:DS 8;x1:#00,#B0
    ;                             x4:#02,#C0
    ;                             x8:#05,#80
    READP   DB #28,0
    SECTOR  DB 0,0,0,#10
            DB 0
    SECTORS DB 0,1
            DB #10:DS 2
    
    SESSION DB #43,0:DS 4:DB 1
            DB #03,#20:DB 0
            DS 2
    ;---------------------------------------
            JP ECCOM;               KERNAL 2
            JP EJTR
            JP LOTR
            JP SPEED
            JP CDSPD
            JP SLWCD
            JP CDSLP
    
            JP COMAH
            JP COMM
    
            JP XPOZI
            JP PROZ
            JP POZI
            JP RPOZ
    
            JP RDDSE
            JP SDDSE
            JP RDDSE
    
            JP SLPP
            JP WKUP
            JP CONF
    
            JP 0
            JP SNDPAK
    
            JP RDY;  ˇĄáŞ®*Ąç. ®¦¨¤. Ł®â-â¨
            JP READY;®¦¨¤. Ł®â-⨠á t-out
            JP WAITDRQ
            JP ERROR_7
    
            JP SEL_SLA
            JP SEL_MAS
    
            JP TRANSIN;çâĄ*¨Ą Ż ŞĄâ  ®â CD
    
            JP HLTOLEN
            JP LENTOHL
    
            JP CDDET
            JP DRDET
    
            JP READSE
            JP 0
    
            JP TOSC
            JP TOS
            JP TOSE
            JP TOTAK
            JP TOTOK
    ;------¨*¨ć¨ «¨§ ć¨ď IDE ¤ŕ ©˘Ąŕ :------
    IDE_INI ;JR NZ,LST_INI
    ;       ¤ **ë© Ş®¤ ˇă¤Ąâ ˘ë§˘ * Ż®çâ¨
    ;       áŕ §ă Ż®á«Ą § Żă᪠ WDC
    
    ;˘Ąŕč¨*  á⥪  㦥 ˘ëáâ ˘«Ą* ,   ˘®â
    ;¨*¨ć¨ «¨§ 樨 ˘áĄ Ż®©¤ăâ 㦥 Ż®á«Ą í⮩
    ;RET
    
    ;------˘ëŕ㡠*¨Ą ¤ŕ ©˘Ąŕ :--------------
    LST_INI ;§ Şŕë˘ Ą¬ âĄ*Ą˘ëĄ Ż®ŕâë ¨ â.¤.
    ;        ¨ â.Ż.
            RET
    ;=======================================
    KEY1    LD A,#F7:IN A,(#FE):RRCA:RET
    KEY2    LD A,#F7:IN A,(#FE):RRCA:RRCA
            RET
    ;---------------------------------------
    ECCOM   LD A,(ECC):OR A:RET NZ
    ECCO    LD BC,RCOM,A,#EC:OUT A
            RET
    
    EJTR    LD HL,TROUT:CALL SNDPAK
            JP RDY
    LOTR    LD HL,TRIN:JR EJTR+3
    SPEED   LD A,(CDoHD):OR A:RET NZ
    CDSPD   LD HL,16:CALL TOSC
            LD HL,SPDPK:CALL EJTR+3
            LD HL,0:JP READSE
    SLWCD   CALL CDSLP:JP RDY
    CDSLP   LD HL,SLPMO:JP SNDPAK
    ;---------------------------------------
    ;-------------Źŕ®ćë ¤«ď HDD-------------
    COMAH   LD BC,RCOM:OUT A
            JP READY
    COMM    LD BC,RCOM:OUT A:RET
    LOLL    LD BC,RCOM:IN A:RET
    
    XPOZI   LD (LTHL),HL,(LTDE),DE
    PROZ    LD A,H,H,D,D,E,E,A
    ;DE,cyl H,head L,sec
    POZI    LD A,H:AND %00001111:LD H,A
            LD A,(DRVRE)
            OR H
            LD BC,RHEAD:OUT A
            LD A,L,BC,RSEC:OUT A
            LD A,D,BC,RCYLH:OUT A
            LD A,E,BC,RCYLL:OUT A
            RET
    
    RPOZ    LD BC,RHEAD:IN A:AND #0F
            LD H,A,BC,RSEC:IN A
            LD L,A,BC,RCYLH:IN A
            LD D,A,BC,RCYLL:IN A
            LD E,A
            RET
    
    ;HL,in da kudy A,secs
    RDDSE   PUSH AF
            LD BC,RCOUNT:OUT A
            LD A,#20
            CALL COMAH
            POP BC
    RDH1    PUSH BC
            CALL READS
            LD (BUFA),HL
            CALL READY
            POP BC
            DJNZ RDH1
            RET
    SDDSE   PUSH AF
            LD BC,RCOUNT:OUT A
            LD A,#30
            CALL COMAH
            POP BC
    SDH1    PUSH BC
            CALL SAVDS
            LD (BUFA),HL
            CALL READY
            POP BC
            DJNZ SDH1
            RET
    
    
    SLPP    CALL CONF
            LD A,#E0:CALL COMM
            JP READY
    WKUP    CALL CONF
            LD A,252
            LD BC,RCOUNT:OUT A
            LD A,#E2:CALL COMM
            JP READY
    CONF    CALL SEL_MAS,READY
            LD DE,0,HL,2
            CALL XPOZI
            LD A,1:CALL RDDSE
            LD DE,0,HL,4
            CALL XPOZI
            LD A,1
            JP RDDSE
    
    DRVRE   NOP
    BUFA    DS 2
    HEDSEC  DS 2
    ;---------------------------------------
    ;-------------Źŕ®ćë ¤«ď CD--------------
    SNDPAK  PUSH HL;       IN HL ADDR OF PAK
            CALL READY
            CALL SEL_SLA
            LD HL,#0800
            CALL HLTOLEN
            LD A,#A0:CALL COMM
            POP HL
            LD BC,12
    
    TRANSOU PUSH BC
            CALL RDY
            CALL WAITDRQ
            POP BC
            OR A
            RR B,C
            JR NC,$+3
            INC BC
    
    TOUT1   PUSH BC
            INC HL
            LD A,(HL),BC,RDATH
            OUT A
            DEC HL
            LD A,(HL),BC,RDATL
            OUT A
            INC HL,HL
            POP BC
            DEC BC
            LD A,B
            OR C
            JR NZ,TOUT1
            RET
        
    RDY     XOR A:OUT (254),A
            CALL LOLL
            RLCA:RET NC
            LD A,4:OUT (254),A
            JR RDY
    READY   XOR A:LD (TMR),A
    REA     CALL LOLL
            RLCA:JR NC,RY
            LD A,(TMR):CP 254:JR C,REA
            LD A,1:OUT (254),A
            CALL ECCOM
            EI:HALT
            JR READY
    RY      XOR A:OUT (254),A
            RET
    
    WAITDRQ CALL LOLL
            BIT 3,A:RET NZ
            JR WAITDRQ
    
    ERROR_7 CALL LOLL
            RRCA
            RET
    
    SEL_SLA LD A,(SLE)
            LD (DRVRE),A
            LD BC,RHEAD:OUT A:CALL LOLL
            RLCA
            RET
    SEL_MAS LD A,(MAS)
            JR SEL_SLA+3
    
    ERRT    POP BC
            RET
    
    TRANSIN ;HLŞă¤ë BCáŞ®Ş 
            PUSH BC
            CALL SEL_SLA
            CALL RDY,ERROR_7:JR C,ERRT
            CALL WAITDRQ
            POP BC
            OR A
            RR B,C
            JR NC,$+3
            INC BC
    T_I1    PUSH BC
            LD BC,RDATL
            IN A:LD (HL),A:INC HL
            LD BC,RDATH
            IN A:LD (HL),A:INC HL
            POP BC
            DEC BC
            LD A,B:OR C
            JR NZ,T_I1
            RET
    
    HLTOLEN LD BC,RCYLL,A,L:OUT A
            LD BC,RCYLH,A,H:OUT A
            RET
    LENTOHL LD BC,RCYLL:IN A:LD L,A
            LD BC,RCYLH:IN A:LD H,A
            RET
    
    ;¨¤Ą*â¨ä¨Ş ć¨ď CD ¨ HDD
    CDDET   CALL SEL_SLA
    DRDET   LD DE,0
            LD H,D,L,E
            CALL XPOZI
            CALL ECCO
    .4      HALT
            CALL RPOZ
            LD HL,#EB14
            OR A:SBC HL,DE
            RET Z
    NFOC    LD A,1:OR A
            RET
    
    ;HLŞă¤ë ®áâ «ě*®Ą ˘ Ż ŞĄâĄ á¨¤¨â
    READSE  LD (HLAD),HL
    RETRYL  XOR A:OUT (254),A
            LD A,(FLGA):OR A:JR Z,ACD
            CALL KEY1,NC,ACTCD
            CALL KEY2,NC,ACTHD
    ACD     LD HL,READP:CALL SNDPAK
    LOADSE1 LD A,5:OUT (254),A
            CALL READY
            CALL ERROR_7:JR C,RETRYL
            LD D,0
    WDQ     CALL LOLL
            BIT 3,A:JR NZ,WQR
            DEC D:JR Z,RETRYL
            JR WDQ
    WQR     LD HL,(HLAD)
    GSLOD
    .4      CALL READS
    
            XOR A:OUT (254),A
            RET
    ABT     NOP
    HLAD    DS 2
    
    ;-------
    ;    ;çâĄ*¨Ą 512ˇ ¤ **ëĺ ¨§ ˇăäĄŕ  IDE ăá-˘ 
    READS   LD BC,RDATL,D,#80
    RE1     INI:INC C
            INI:DEC C
    
            INI:INC C
            INI:DEC C
            DEC D:JR NZ,RE1
            RET
    
    ;-------
    
    ;§ Ż¨áě ®çĄŕĄ¤*ëĺ 512ˇ ¤ **ëĺ *  HDD
    SAVDS   LD BC,RDATH,D,#80
    SA1     INC HL
            OUTD:DEC C
            OUTI:INC C
            INC HL
            INC HL
            OUTD:DEC C
            OUTI:INC C
            INC HL
            DEC D:JR NZ,SA1
            RET
    
    ;---------------------------------------
    ;---------------------------------------
    TOSC    LD DE,0,(SECTOR),DE
            LD A,H,H,L,L,A,(SECTOR+2),HL
            RET
    TOS     XOR A
            LD (NSDC),A,(SRIN),A,(EOC),A
            LD A,(CDoHD):OR A:RET NZ
            LD DE,SECTOR:JR TOTAK+1
    TOSE    LD DE,SECTOR
    TOTAK   LD A,(HL),(DE),A:INC HL,DE
    TOTOK   LD A,(HL),(DE),A:INC HL,DE
            LD A,(HL),(DE),A:INC HL,DE
            LD A,(HL),(DE),A:INC HL,DE
            RET
    ;---------------------------------------
    ;                               Ź?Š…’ˆŠˆ
    INFOCD  DB #12:DS 3:DB 36:DS 7
    
    TROUT   DB #1B:DS 3:DB 2:DS 7;‚›„‚ˆƒ ’�…
    TRIN    DB #1B:DS 3:DB 3:DS 7;‡?„‚ˆƒ ’�…
    SLPMO   DB #1B:DS 3:DB 0:DS 7;‘Ź?’ś!
    ;---------------------------------------
    END     DS 1024-(END-FLGA)
    ;Ł« ˘* ď ŞĄŕ* «ě ˘ë§®˘®˘(*Ą ˘áď!):
    KERN    EQU #6000;               SP=5E20
    
    NP0     EQU KERN;    1
    NP1     EQU KERN+3
    NP3     EQU KERN+6
    STN     EQU KERN+9
    NP6     EQU KERN+12
    
    DLt     EQU KERN+15
    ACTCD   EQU KERN+18
    ACTHD   EQU KERN+21; 8
    POZIR   EQU KERN+24
    ;---------------------------------------
    Последний раз редактировалось VELESOFT; 10.10.2010 в 12:52.

  5. #4
    Master Аватар для VELESOFT
    Регистрация
    04.04.2007
    Адрес
    Praha
    Сообщений
    752
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    14 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    IDE DRIVER for DIVIDE IDE ports: (this IDE driver work with all HDD,CF and SDtoIDE adapters)
    Код:
    ;--- european DIVIDE IDE Ports: ---
    RCOM    EQU #00BF
    RHEAD   EQU #00BB
    
    RCYLH   EQU #00B7
    RCYLL   EQU #00B3
    
    RSEC    EQU #00AF
    RCOUNT  EQU #00AB
    
    RERR    EQU #00A7
    RDAT    EQU #00A3
    
    
    inputs:
    
    ;HL = target ram address
    ;B = number of sectors for read/write
    ;E = sector (or LBA[7-0])
    ;D = cyl-low (or LBA[15-8])
    ;C = cyl-high (or LBA[23-16])
    
    ;A = head etc. (or LBA[28-24])
    ;bit 7=1
    ;bit 5=1
    ;bit 4=device (0=master, 1=slave)
    ;bit 6=CHS/LBA (0=CHS, 1=LBA)
    
    ;CY=operation (1=write, 0=read)
    
    
    readsec: out (RHEAD),a
    r1:      in a,(RCOM)
             bit 6,a
             jr z,r1
             ld a,b
             out (RCOUNT),a
             ld a,e
             out (RSEC),a
             ld a,d
             out (RCYLL),a
             ld a,c
             out (RCYLH),a
             ld a,$20
             jr nc,r2
             ld a,$30
    r2:      out (RCOM),a
    rx:      push af
    r3:      in a,(RCOM)
             and $c8
             cp $48
             jr nz,r3
             pop af
             push bc
             ld bc,RDAT
             jr nc,rdsec
    wrsec:   otir        ;write first  256 bytes of sector
             otir        ;write second 256 bytes of sector
             jr r5
    rdsec:   inir        ;read first  256 bytes of sector
             inir        ;read second 256 bytes of sector
    r5:      pop bc
             djnz rx     ;read/write next sectors
    r6:      in a,(RCOM)
             rla
             jr c,r6
             ret

  6. #5
    Banned
    Регистрация
    18.09.2006
    Адрес
    Москва
    Сообщений
    838
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Hello, VELESOFT. I can confirm, that this SD adaptor didn't worked "out of the box" with DivIDE board. Don't have an idea about the probable cause, but may be the problem was in the lack of this "fix" you applied.
    Regarding the issue, you described - try to format your card with different cluster size. And remember, that some SD card vendors DO NOT create valid partition table data on stock SD. To resolve this, again, you can reformat the card in standart PC with cardreader, or even create partition table explicitly with fdisk, paragon, whatever...

  7. #6
    Veteran Аватар для sergey2b
    Регистрация
    18.04.2009
    Адрес
    Москва
    Сообщений
    1,609
    Спасибо Благодарностей отдано 
    165
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    12 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    I have some adapter like this and It is working fine with divide

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. IDE To CF/SD/MMC/MS Adapter
    от jager в разделе Внешние накопители
    Ответов: 18
    Последнее: 13.02.2008, 22:11
  2. Nemo
    от kgbplus в разделе Люди
    Ответов: 63
    Последнее: 05.11.2007, 10:53
  3. Nemo...
    от Электрик в разделе Люди
    Ответов: 7
    Последнее: 02.03.2007, 01:15
  4. NEMO HDD
    от Paul_ls в разделе Внешние накопители
    Ответов: 6
    Последнее: 25.02.2007, 20:16
  5. NEMO HDD
    от Paul_ls в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 17.05.2005, 16:10

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •