Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

- Schemat do Cartridge Black Box v8

MES Mariusz 09 Sty 2017 17:18 1926 13
  • #1 09 Sty 2017 17:18
    MES Mariusz
    Poziom 36  

    Cześć.

    Ma ktoś może namiary na schemat / wykaz elementów do cartridge Black Box v8 do Commodore 64 ?
    Pytam, bo mam PCB (chcę złożyć), ale nie wiem, jakie na tym komponenty siedzą. Z góry dzięki.

  • Pomocny post
    #2 09 Sty 2017 20:34
    MCbx
    Poziom 28  

    W mojej wersji: 74LS175, 4001 NOR (albo 74LS08 AND), 27C256.
    Opis jak działa przełączanie: http://oldcomputer.info/8bit/apcartridges/reprod/index.htm.
    Domyślam się, że były klony o nieco innym składzie, ale podobnych mechanizmach przełączania. Mnie się złożyć udało. O ile pamiętam:
    - Linie EPROMu A0..A13 do odpowiednich złącza kartridża, tak samo z danymi.
    - A14 sterowany przez /Q2 układu 74LS175
    - Wejścia danych 74LS175 podłączone do A0, A1, A2.
    - Q0 -> /EXROM, Q1 -> /GAME, /Q2 -> A14, /Q3 -> pin 1 EPROMu. To na wypadek rozszerzenia do 27512.
    - CLK układu 74LS175 do IO2
    - RESET cartridge resetuje również 74175
    W ten sposób można "wklikać" w układ dowolny układ stanów jedynie wybierając adres.
    CD4001 - 3 bramki połączone w "AND" steruje /OE EPROMu z ROML i ROMH.
    To jest z pamięci, więc proszę to jeszcze sprawdzić.

  • #3 10 Sty 2017 09:58
    MES Mariusz
    Poziom 36  

    Dziękuję pięknie.

    Ponieważ dane nie wszędzie są kompletne (nie wszędzie są schematy, gerbery, wsad), będę wdzięczny za dopisywanie w temacie danych pozwalających na odtworzenie różnych cartridge'y do Commodore 64.

    Kiedyś na necie udało mi się znaleźć nawet zestaw gerberów do Final III - dziś już nie potrafię tego odgrzebać - zdaje się, że strona zniknęła z serwera.

    Pozdrawiam
    Mariusz

  • Pomocny post
    #4 10 Sty 2017 16:00
    LA72
    Poziom 39  

    MES Mariusz napisał:
    Kiedyś na necie udało mi się znaleźć nawet zestaw gerberów do Final III - dziś już nie potrafię tego odgrzebać - zdaje się, że strona zniknęła z serwera.

    Pozdrawiam
    Mariusz


    Tutaj jest trochę projektów, w tym FC III.

  • #5 10 Sty 2017 21:21
    MES Mariusz
    Poziom 36  

    MCbx napisał:
    W mojej wersji: 74LS175, 4001 NOR (albo 74LS08 AND), 27C256.
    Opis jak działa przełączanie: http://oldcomputer.info/8bit/apcartridges/reprod/index.htm.
    Domyślam się, że były klony o nieco innym składzie, ale podobnych mechanizmach przełączania. Mnie się złożyć udało. O ile pamiętam:
    - Linie EPROMu A0..A13 do odpowiednich złącza kartridża, tak samo z danymi.
    - A14 sterowany przez /Q2 układu 74LS175
    - Wejścia danych 74LS175 podłączone do A0, A1, A2.
    - Q0 -> /EXROM, Q1 -> /GAME, /Q2 -> A14, /Q3 -> pin 1 EPROMu. To na wypadek rozszerzenia do 27512.
    - CLK układu 74LS175 do IO2
    - RESET cartridge resetuje również 74175
    W ten sposób można "wklikać" w układ dowolny układ stanów jedynie wybierając adres.
    CD4001 - 3 bramki połączone w "AND" steruje /OE EPROMu z ROML i ROMH.
    To jest z pamięci, więc proszę to jeszcze sprawdzić.


    Dziękuję za cenne informacje.

    Moja PCB wygląda tak jak poniżej. Zaraz podumam, czym powinienem obłożyć.


    - Schemat do Cartridge Black Box v8

    - Schemat do Cartridge Black Box v8

    Zastanawiam się, czy to nie będzie właśnie to:

    - Schemat do Cartridge Black Box v8

    Co prawda to jest do Black Box-a w wersji III.

    ROM do v8 podobno jest na 27c256 (28 pin), przynajmniej tak wynika z paczki:
    http://csdb.dk/release/download.php?id=105832

    To by się zgadzało z miejscem na EPROM (28 pin) na moim PCB.

  • Pomocny post
    #6 11 Sty 2017 02:36
    MCbx
    Poziom 28  

    To bardzo nie chce być BBv8. Przełączanie banków w BBv3, v4 i v8 było zupełnie inne.
    Piszę to późno, więc proszę mnie sprawdzać. "Kartridży" dawno już nie robiłem.

    EPROM ma linie adresowe połączone bezpośrednio, to jest chyba do max. 27128, 27128 miał Black Box v4. Pin 27 (w 27256 to A14) kończy się padem, który nie wiem gdzie ma być podłączony.
    Zauważmy, że z nieznanego układu logicznego idzie do pinu 22 (/OE) EPROMa linia - to wygląda na aktywator pamięci z BBv4. Załóżmy więc, że /OE = /ROMH AND /ROML. Tak to zwykle bywało w BBv4.
    /OE jest generowany z bramki, której dwa wejścia są połączone ze sobą i wyjściem innej (połączone 3 piny). Zakładając roboczo, że to NAND mamy inwerter połączony z wyjściem bramki NAND.
    Zauważmy więc, że jedno z wejść poprzedniego NANDa jest podłączone do styku B, czyli /ROMH, a drugie naokoło błądząc w okolice EPROMu do styku 11, czyli /ROML. To dokładnie układ z BBv4.

    Pozostałe bramki muszą służyć do sterowania GAME/EXROM. Piórka 8 i 9 to /GAME i /EXROM podłączone razem idą przelotką do wyjścia bramki pin 6 i wejścia - pin 2. Pin 3 łączy się z 4 co wygląda jak przerzutnik. Podejrzewam, że wejściami są IO2 i IO1 przez rezystory, jak na schemacie od Pana Soboli.

    Ergo:
    1. To nie jest BBv8, tylko prawdopodobnie BBv4 (zrzut tutaj).
    2. Układ cyfrowy to 74LS00 lub podobna odmiana 74xx00.

    Pozdrawiam

    P.S.
    Jeżeli ktoś chce bliżej poznać to całe bankowanie, polecam lekturę numeru 6 magazynu C&A Fan. Tam był nawet wywiad z panem Romualdem Drahokaupilem, twórcą Black Boksa oraz rysunki typowych mechanizmów używanych w cartridge.

  • #7 11 Sty 2017 07:00
    MES Mariusz
    Poziom 36  

    O tyle dziwne, że jestem niemal pewien, że były na tym PCB montowane Bb v8. Chyba, że to był jakiś nieoryginalny / modyfikowany wsad, na pewno była jednak synteza polskiej mowy, testy joysticków itp.

    MCbx napisał:
    Jeżeli ktoś chce bliżej poznać to całe bankowanie, polecam lekturę numeru 6 magazynu C&A Fan. Tam był nawet wywiad z panem Romualdem Drahokaupilem, twórcą Black Boksa oraz rysunki typowych mechanizmów używanych w cartridge.


    Zdaje się, że strona http://www.ca-fan.pl/ już nie istnieje. i, jak na złość, nie mogę znaleźć 6 numeru :-/

  • Pomocny post
    #8 11 Sty 2017 15:01
    MCbx
    Poziom 28  

    Jeżeli to miałby być BBv8, to musiałby to być jakiś zmodyfikowany i zoptymalizowany wsad . Ja jestem pewny tego BBv4, bowiem złożyłem sobie takiego klona i użyłem dokładnie takiego układu na 74LS00.

    Strona ca-fan nie istnieje, ale od czego są Filety Online?.

  • #10 11 Sty 2017 16:24
    MES Mariusz
    Poziom 36  

    wejog napisał:
    Ja mam nr 6 z 2010, poniżej całość, trochę kobylasta, ale jest


    Kolega wyżej podał linki. Ale punkty za fatygę :-)


    --- edit ---

    Witam po kilku dniach.

    Przeczytałem tekst "Budujemy Carty" ze stron 84-85 "Commodore and Amiga fan" i mam drobny problem ze zrozumieniem pewnej kwestii, a mianowicie, to co podkreśliłem na czerwono:

    - Schemat do Cartridge Black Box v8

    - Schemat do Cartridge Black Box v8

    Jeśli dobrze rozumiem, to :

    Program counter odczytuje $FFFC, tam znajduje przekierowanie na $FCE2, tu z kolei na $8005 i odczytuje kolejne znaki, aż do $8009, te znaki powinny stworzyć string "CBM80", ale to czy ten string tam jest i tak nie ma żadnego znaczenia, bo i tak zostanie przekierowany na adres $8000 i zaczyna się odczyt ładowanie do pamięci kolejnych znaków aż do adresu $9FFF.

    Brzmi lekko absurdalnie. Z resztą, od $8005 do $8009 ma się znajdować string CBM80 a potem cofka i znowu od $8000, gdzie znowu od $8005 znowu napitka napis CBM80 ?

    Artykuł niby pisany od podstaw (dla każdego) a po chwili wchodzimy na poziom abstrakcji średnio dla kogokolwiek zrozumiały.


    Kolejna rzecz, która niby omówiona w szczegółach, a nie koniecznie jasna / przejrzysta / zrozumiała, to przełączanie banków:

    - Schemat do Cartridge Black Box v8

    Jak rozumiem C64 ma 13 bitową szynę adresową (A0...A12). Tak przynajmniej wnioskuję spoglądając na schemat:

    - Schemat do Cartridge Black Box v8

    Coby zaadresować większe pamięci EPROM potrzeba wystawić kolejne trzy sygnały adresowe (A13, A14 oraz A15). Robione jest to, jak widzę, przez wysterowywanie licznika 74LS90 sygnałem FI2 (muszę doczytać co to jest i co robi, bo z artykułu wynika to średnio).

    No i dobra, cud miód. Ale czy chodzi o to, że jak załadowane zostaną dane z pierwszego "banku" o wielkości 8 kB to z automatu przełączy się bank (zostanie ustawiona kolejna kombinacja na szybach A13...A15). Jakie zdarzenie w systemie powoduje wystawienie sygnału FI2? A może zachowanie tego sygnału definiowane jest w jakiś sposób programowo na początku programu z wsadu EPROM? Jakiś bootloader w początkowej sekcji?

    Na 13 bitach (A0...A12) daje się zaadresować 8192 bajty. Czy po zaadresowaniu tych 8192 bajtów licznik "orientuje się", że zliczono ich już tyle i wystawia linię A13, po zliczeniu kojelnych 8128 bajtów, ustawia A14 i wyłącza A13, po zliczeniu kolejnych 8192 bajtów ponownie włącza A13 i tak dalej?

    Będę bardzo wdzięczny, jeśli ktoś mnie oświeci.

    Dziękuję pięknie.
    Mariusz

  • #11 15 Sty 2017 15:56
    MCbx
    Poziom 28  

    O ile pamiętam ciąg CBM80 służy do odnajdywania podłączonego poprawnego ROMu w carcie. Nie ma CBM80, to nie ma skoku do ROMu. Tak czy inaczej ten ciąg pochodzi z pamięci cart'a, więc jest on czytany i można użyć sygnałów istniejących przy odczycie cart'a. Zobacz https://www.c64-wiki.com/index.php/Cartridge#Cartridge_boot-up
    Jeżeli ROM będzie podpięty gdzieś do pamięci (linie /GAME, /EXROM), ale ciągu CBM80 tam nie będzie, kernal kontynuuje uruchamianie jakby ROMu nie było pozostawiając ewentualny jego dostęp na później np. oprogramowaniu użytkownika.

    Akurat znalazłeś UCarta... Ja w ramach uczenia się assemblera robiłem temu modyfikacje aby było menu.
    Na początku podaję oryginalny Sysop, czyli program operacyjny UCarta, jakoś te tematy z forum C64 zniknęły (może dwóch znanych rywalizujących ze sobą dżentelmenów pasjonatów C64 już robią temu komercyjne klony? ;) ), a będę się do tego odwoływał przy tłumaczeniu:

    Code:

             *= $8000
             BYTE <COLD
             BYTE >COLD
             BYTE <COLD
             BYTE >COLD
             BYTE $C3,$C2,$CD,$38,$30

    COLD
             SEI
             CLD
             LDX #$FF
             TXS
             LDA #$37
             STA $01

             STX $D016
             JSR $FDA3
             LDA #$00
             TAX
             TAY

    LP1
             STA $02,Y
             STA $0200,Y
             STA $0300,Y
             INY
             BNE LP1
             LDY #$A0

             STY $C2
             STA $C1

             JSR $FE2D
             JSR $FD90
             JSR $FD15
             JSR $FF5B
             JSR $E453
             JSR $E3BF
             JSR $A644
             SEI
             LDX #$FB
             TXS

             LDA #<DANE




             STA $FB
             LDA #>DANE
             STA $FC

             LDA #$01
             STA $FD
             LDA #$08
             STA $FE
             LDY #$00
    L2
             LDA ($FB),Y    ;1SZE 8KB
             STA ($FD),Y
             INY
             BNE L2

             INC $D020
             INC $FC
             INC $FE
             LDA $FC
             CMP #$A0
             BCC L2
             LDA $FD
             SEC
             SBC #<DANE
             STA $FD
             LDA $FE
             SBC #$00
             STA $FE   ;CIAG DALSZY W RAM


    L3
             LDA PRP1,Y
             STA $0400,Y
             INY
             BNE L3
             STY $FB
             JMP $0400  ;CONT NA EKRAN

    PRP1
             STA $DE00  ;NEX 8KB
             LDA #$80
             STA $FC
    PRP2
             LDA ($FB),Y
             INC $01
             STA ($FD),Y
             DEC $01
             INY
             BNE PRP2
             INC $D020
             INC $FC
             INC $FE
             LDA $FE
             CMP #$FF
             BEQ PRP3
             LDA $FC
             CMP #$A0
             BNE PRP2
             BEQ PRP1

    PRP3

             STA $DE00  ;8MY CLICK
                        ;CART OFF
             JSR $A659
             JMP $A7AE  ;RUN
    ;--------
    DANE
            ;NASZA  GRA URUCHAMIANA
            ;1SZA LINIA BASIC



    Start:
    1. Komputer wstaje. RESET resetuje licznik na 0000 co ciągnie /EXROM na stan niski.
    2. Komputer czyta EPROM. Jest CBM80 - przekazuje kontrolę programowi w cartridge (program Sysop w EPROMie).
    3. Sysop w najprostszej wersji przygotowuje komputer do uruchomienia programu (COLD, tu mniejsza o szczegóły) i kopiuje część banku do pamięci (pętla L2), a swój fragment na jakąś pamięć, np. ekranu (pętla L3), bo potem jak przełączy następny bank to sam Sysop zniknie. Przekazuje sterowanie fragmentowi (JMP za etykietą L3). Tu uwaga: Zapis do maskowanego ROMem miejsca w pamięci RAM (patrz CA-Fan 6 s. 57 rys. 2) skutkuje zapisem tej wartości do maskowanego RAMu, stąd to ma prawo działać po odłączeniu się ROMa.
    4. Fragment "klika" przez kolejne banki i kopiuje kolejne dane do RAMu. Kliknięcie, czyli przełączenie banku wywoływane jest przez IO1 - czyli np. STA $DE00 - samo zaadresowanie tego miejsca w pamięci już nam przełącza bank. A z tymi bramkami chodzi o uzyskanie ładnego sygnału, HI-LOW-HI, bowiem dopiero wtedy licznik przejdzie na kolejną pozycję.
    5. Kiedy na czwartym wyjściu licznika mamy jedynkę, czyli przeklikaliśmy już wszystko, licznik zatrzymuje się bramką IC1C (dalsze klikanie nie wywołuje efektu) oraz wywołujemy stan wysoki na /EXROM (on jest od środka C64 podciągnięty) i kartridż kończy robotę. UCart jest cartridgem, który ładuje grę do RAMu i odłącza się, więc po "wklikaniu" wszystkich banków EXROM wchodzi na high, co informuje C64, że eproma już niet i wyłącza EPROM (C64 na to wystawia wysoki stan na ROML).
    Dodatkowo: Mój parszywy sysop: http://oldcomputer.info/hacks/ucart/index.htm na którym uczyłem się assemblera. Uwaga, mnóstwo niepotrzebnych instrukcji!

  • #12 15 Sty 2017 19:37
    MES Mariusz
    Poziom 36  

    Dziękuję za kolejne podpowiedzi. Przetwarzam i przyswajam.

    Ciekawi mnie natomiast to, czy jest jakaś prosta metoda na przetworzenie wsadu, np.:

    http://c64power.com/forum/uploads/files/BB8.zip

    do postaci kodu assemblerowego jak wyżej (deassemblacja kodu maszynowego - tak to się chyba fachowo nazywa).

    Są do tego jakieś narzędzia na C64 albo PC ?

  • #13 15 Sty 2017 20:01
    MCbx
    Poziom 28  

    Jest, ale problem jest w tym, że to często przetwarza "jak leci" nie rozróżniając danych od programu, czyli wymaga do inżynierii wstecznej jeszcze większej pracy oddzielając jedno o drugiego. Taki deasembler przetworzyłby na rozkazy nawet to "CBM80". Za to ja kod Sysopa debugowałem przy pomocy debuggera zintegrowanego z którymś emulatorem (chyba VICE), on pokazywał co się dzieje i umożliwiał pracę krok po kroku. Teoretycznie umożliwiałoby to odtworzenie działania kodu, w praktyce jest to bardzo pracochłonne, bo wiadomo co się dzieje, ale trzeba poznać dlaczego tak a nie inaczej.

    Do pisania assemblera i generowania z tego kodu używałem CBMPrgStudio (http://www.ajordison.co.uk/), to jest kombajn i on posiada również debugger. Za to na CSDB (http://csdb.dk/) jest sporo narzędzi do C64, tak pod Commodore jak i inne platformy.

  • #14 02 Wrz 2017 01:29
    MES Mariusz
    Poziom 36  

    MCbx napisał:
    To bardzo nie chce być BBv8. Przełączanie banków w BBv3, v4 i v8 było zupełnie inne.

    Witam.

    Znalazłem chwilę czasu i dociera do mnie, że to musiał być BlackBox (być może v8), którego tryb pracy przełączało się przełącznikiem suwakowym.

    Poniżej zdjęcia oryginalnego Black Box-a (po prawej) i wstępnie zmontowane PCB Black Box-a, do którego mam wsad opisany jako v8.

    - Schemat do Cartridge Black Box v8

    - Schemat do Cartridge Black Box v8

    Zakładam, że podłączenie przełącznika suwakowego, jest takie jak na foto (plus albo nic), ale można by podłączyć inaczej (plus albo minus na adres EPROM-u).

    Jest jeszcze jedno miejsce, w które nie bardzo wiem, co podłączyć:

    - Schemat do Cartridge Black Box v8 - Schemat do Cartridge Black Box v8

    Z tym, że widzę, że na oryginale (po lewej) również w tym miejscu nic nie ma. Więc wygląda na to, że to tylko przelotki.

    Dobra, złożyłem na tym PCB Black Box III z użyciem wsadu z tej strony.

    - Schemat do Cartridge Black Box v8

    Wkładam do C64 i widzę, że ktoś był "zaje..." ;-)

    - Schemat do Cartridge Black Box v8

    Fajnie, że był zaje.... tylko, czemu migającego kursora nie wiedzę? Innymi słowy cart niby się załadował, ale C64 chyba jest zawieszony, bo brakuje migającego kursora.

    Chciałbym wykluczyć winę wsadu. Podeśle mi ktoś swój wsad do BB V3 lub V4? Podzielcie się proszę wsadami do kartów (dowolnych). Dziękuję :-)- Schemat do Cartridge Black Box v8

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME