STARTUJ ULUBIONE CO NOWEGO? C64 FORUM KSIĄŻKA GOŚCI REDAKCJA KONTAKT

PODAJ EMAIL, ABY BYĆ NA BIEŻĄCO INFORMOWANYM O AKTUALIZACJI MAGAZYNU:    
Informacje o aktualizacji Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Skocz do działu Poczytaj lub dodaj wpis Czyli kto to tworzy Kontakt z nami

Internetowy Fanclub Agnieszki Cegielskiej - www.cegielka.net


SONDA

Jak dowiedziałaś(eś) się o istnieniu tej strony?
Z innej strony - link
Z wyszukiwarki
Znajomy podał adres
Inne



OSTATNI KOMENTARZ  ?

Obwody drukowa ...
Porównanie kom ...
Śpiewać każdy ...
Budujemy carty ...
Rozmowa z ramo ...

(7)
(11)
(51)
(6)
(2)



WYBIERZ MELODIĘ       ?


The last ninja
The l.n. The wilderness
The last ninja 2
The l.n.2 The basement
The l.n.2 The final battle
The l.n.2 The mansion
The l.n.2 The office
The l.n.2 The sewers
The l.n.2 The street
The great giana sisters
The green beret
Turrican intro
Bubble Bobble Remix
Creatures
Game over
Mayhem intro
Diablo
Doom 2 Hell on Earth
Hi-octane
Xenon 2
Mario in the Loonybin
Tetris (gameboy) remix


Jaws
Spy vs spy
Draconus
Ghoust busters
Tetris (c-gameboy)
Duke Nukem 3D




SPRZĘT 


BUDUJEMY CARTY - UCART



   Poniżej widzimy schemat UCart'a made by SUCHY.

Powiększ
UCart - C64 Universal Cartridge.

Opis działania UCart'a.
   1. Połączenie A0 do A12 z A0 do A12, to najmłodsze bity adresowe odpowiedzialne za obszar 8kB - wyjście to te z C64, a wejście to te z EPROM-u - przybierają adres podany na magistrali C64.
   2. /CE i /OE jak widać aktywne w stanie niskim połączone z /ROML również aktywnym w stanie niskim - EPROM aktywuje się (jest widoczny), gdy /ROML jest w stanie niskim.

   Tu małe wyjaśnienie - /ROML tworzy parę z /EXROM są to dwie 'współpracujące' ze sobą linie tzn. patrząc od strony C64 /EXROM jest INPUT, a /ROML jest OUTPUT. Wygląda to tak, że jeżeli /EXROM będzie wprowadzony w stan niski z poziomu elektroniki cartridge'a, to podczas ODCZYTU przez procesor obszaru $8000-$9FFF /ROML będzie przyjmował stan niski co w tym wypadku 'włącza' nam EPROM w carcie i widzimy go w tym obszarze. Jak widać wszystko ciągle 'klika i mruga', bo jak wykonywana jest dajmy na to instrukcja LDA $1000, to /ROML jest w stanie wysokim, a eprom jest wówczas w stanie wysokiej impedancji (HiZ) i jest wyłączony. Tak samo jak /EXROM będzie w wysokim stanie (logiczne 1), to /ROML nigdy nie będzie nas informował o odczycie obszaru $8000-$9FFF i EPROM pozostanie niewidoczny, a odczyt będzie z RAM. Bardzo ważne jest żeby zrozumieć te zasady, aby wiedzieć jak budować carty i jak one działają. Dodatkowo /EXROM odseparowany jest diodą od licznika BCD 74LS90, ściślej od jego wyjścia najstarszego bitu licznika zliczającego od 0 do 9 po podaniu impulsów na CLKA - o tym za moment.

Reset - co się dzieje, jak komputer 'WSTAJE'.
   Na 1 są ustawione LORAM HIRAM CHAREN odpowiedzialne za 'widzenie' przez procesor BASIC'a, KERNAL'a oraz I/O i CHARGEN'a , - procesor ładuje do PC (program counter) adres widziany w wektorze pośrednim $FFFC, a jest to KERNAL co pod tym adresem ma wskazanie na $FCE2. $FCE2 szuka... moment, moment - najpierw trzeba wiedzieć, co już zrobiła elektronika...

   Sygnał /RESET był w stanie niskim po włączeniu zasilania przez ułamek sekundy (stała czasowa RP3-3k3 i C43-220uF) i co się z nim dalej stało, gdy tylko pojawił się na nim stan niski, a napięcie na procku osiągnęło poziom 4,75V - to już milionowe części sekundy:
zresetować licznik 74LS90 - na R0(1) i R0(2) poszła jedynka, co w dalszej konsekwencji ustawiło wyjścia Qa, Qb, Qc, Qd na 0, z czego wynika, że trzy najstarsze bity adresowe eprom'u przyjęły wartość 0 (zostało wybrane pierwsze 8kB, czyli bank '0' w epromie) i co istotne wprowadziło w stan niski /EXROM, czyli daliśmy informację do C64, aby informował carta o odczycie obszaru $8000-$9FFF poprzez wprowadzenie w stan niski /ROML. Przy okazji zauważmy, że 3 bity adresowe, to 8 możliwych kombinacji, więc w naszym wypadku jest możliwe (i tak jest), że można mieć 8 banków po 8kB. Dla jasności /RESET automatycznie (po naładowaniu kondensatora C43 w komciu) przeszedł w stan wysoki i kolejne jego wduszenie spowoduje ponowne zerowanie licznika (jakby co).

   Tak więc w ciągu krótkiej chwili (najdłużej trwa sygnał RESET, po włączeniu zasilania) cart przygotował się (zgrał z kompem) do działania - niesłychanie istotna jest znajomość 'pierwszych kroków, stanów, działań', aby cart się zawsze 'podniósł'.

   Teraz wracamy do działania softu - $FCE2 zaczyna szukać pod $8005 do $8009 ciągu CBM80 i jak on tam jest oddaje sterowanie wskazane w wektorze $8000. Co istotne - czy ciąg ten tam jest, czy nie odczytywany jest EPROM - nasz cart się zgłasza przy adresowaniu odczytu $8000-$9FFF.

Bankowanie - przełączanie 8kB banków.
   Żeby 'klikać' CLKA i zmieniać bity Qa do Qd nie wystarczy tylko opadające zbocze na CLKA - trzeba zdać sobie z tego sprawę, że po opadającym zboczu musi pojawić się logiczna jedynka, aby można było znów 'popchnąć' licznik opadającym zboczem - to akurat w tym carcie jest istotne, dlatego to wtrąciłem.

   Sygnał I/O1 przyjmuje podobnie jak /ROML niski stan wtedy, gdy adresowany jest obszar $DE00 do $DEFF (nie tylko odczyt - ZAADRESOWANIE wystarczy R albo W). Z tabeli prawdy dla dwóch NORÓW wychodzi, że bankowanie odbywa się natychmiast, a później jakby przygotowanie do kolejnego - więc tak:

   Fi2 'lata jak wściekłe' w każdym cyklu na 0 i 1 - jak więc procek odwoła się do I/O1 pojawi się w pewnym momencie niski stan na I/O1 i Fi2, który zostanie zanegowany i poleci na drugą bramkę. Druga bramka znów sumuje tym razem naszą poprzednią sumę I/O1 i Fi2 - w tym wypadku stan wysoki i na razie niski stan na Qd, co w efekcie na CLKA po OR i NEGACJI (druga bramka) poda stan niski (opadające zbocze) i 'popchnie' licznik. Następny 'moment', gdzie którykolwiek z sygnałów Fi2 lub I/O1 będzie w stanie wysokim spowoduje (jakby przygotowanie do klikania) logiczną jedynkę na CLKA. 'Popchnięty' licznik przełączy nam kolejne 8kB EPROM'u POD WARUNKIEM, że Qd będzie w stanie niskim, bo to umożliwia naprzemienne podawanie stanu wysokiego i niskiego na CLKA. Z chwilą, gdy licznik doliczy do 8-miu podnosi się Qd (logiczne 1), podłączony do niego /EXROM przechodzi w stan wysoki, /ROML przestaje działać i cart przestaje być widoczny. Nie można już podawać impulsów na CLKA, bo jest tam cały czas logiczne 0 i nie da się go już na chwilę 'podnieść' do następnego 'klikania' - chyba, że wyłączymy i włączymy komputer, lub wciśniemy reset.

   Tak więc SUCHY odwalił ciekawą robotę przed 1990, gdzie niewielu w Polsce ludzi wiedziało jak to robić - zrobił sobie ROM-dysk, który przepisywał dowolną grę po resecie do RAM'u, uruchamiał ją automatycznie i odłączał carta, aby nie przeszkadzał. Dla mnie jest to kapitalny i prosty przykład zastosowania carta jako magazynu z programami - można dorobić swoje menu i uruchamiać faworyzowane programy. Na tym karcie nauczyłem się i zrozumiałem podstawowe zasady jak robić własne kartridże do C64.

Dodatkowe wyjaśnienia.
   'Samonapędzanie' CLKB z Qa (najmłodszego bitu) wynika z budowy 74LS90, aby popychać kolejne sekcje. Dioda separuje /EXROM od Qd, aby Qd będące Wyjściem nie było traktowane jako Wejście przez wysoki stan na /EXROM. (rezystor podciągający pull-up).

Nowości.

Powiększ
UCart-light - C64 Universal Cartridge.

   Nowa wersja 'odchudzonego' UCarta pod nazwą UCart-light, przedstawiona przez Suchego (po burzy mózgów ;-) ) jest znacznie uproszczona. Usunięty został całkowicie układ scalony US1 (74LS02), a w jego miejsce doszedł tylko jeden tranzystor (i dwa oporniki), pracujący jako inwerter sygnału RESET (ponieważ dla licznika 74LS90 sygnałem aktywnym dla RESET jest H). UCart-light nie posiada hardware'owej blokady wejścia EXROM, jaką miał pierwowzór, dlatego należy być 'pewnym' oprogramowania 'zrzucanego' z carta do komcia, tak aby w czasie jego uruchamiania i późniejszej pracy, korzystało ono 'rozsądnie' (lub nie korzystało) z adresów $DE00-$DEFF (odpowiedzialnych za 'widoczność' carta i jego bankowanie) - bo inaczej będziemy mieć śliczną 'zawieszkę'.

Podziękowania.
   Podziękowania należą się ludziom, których zamęczałem hardware'owymi pytaniami, którzy z anielską cierpliwością wyjaśniali mi całkowicie proste i banalne dla nich rzeczy:

KB777 - dzięki Konrad!
JAD - dzięki Tobie pojąłem sens kooperacji /EXROM i /ROML!
SUCHY - THX! - szczególnie za sprawdzanie moich wypocin i niespełnionych teorii ;-)

Powiększ
UCart - C64 Universal Cartridge.



Autor:
Data realizacji:
Data publikacji:
Data modyfikacji:
Pierwsza publikacja:



Mr Wegi (Black Sun/Fatum/Samar Productions)
15.12.2009
5.1.2010
-
Commodore & Amiga Fan





DODAJ SWÓJ KOMENTARZ



#1Dzień 31-1-2010godz.19:39:57Autor: Suchy
Status: Brak błędówAdrIP: Ukryty
   Tutaj:
   Http://c64.phorum.pl/vie wtopic.php?t=46
   ... znajdziecie dodatkowe informacje o UCarcie, a także linki gdzie został opisany soft niezbędny do ożywienia UCarta.

#2Dzień 8-9-2010godz.13:19:52Autor: Przemek_bundy
Status: Brak błędówAdrIP: Ukryty
   Http://c64.phorum.pl/vie wtopic.php?t=46
   Ten link jest nieaktywny!
   Ponadto na schemacie bramka NAND IC1A na jej wyjściu nigdy nie
   Będzie stanu L ?!

#3Dzień 5-12-2010godz.11:24:32Autor: Suchy
Status: Brak błędówAdrIP: Ukryty
   Faktycznie, podany przeze mnie link jest obecnie nieaktualny. Jak tylko uporządkuję materiały nt. UCart'a (czytaj: znajdę trochę więcej wolnego czasu, żeby to zrobić), to podam namiary na aktywny link. Póki co tutaj:
   Http://www.forum.c64powe r.com/index.php?id=2063&fid=1
   ... można dodatkowo poczytać co nieco na temat UCart'a.
   Układ IC1 (74LS02) to nie są bramki NAND tylko NOR. Bramka NOR w takiej konfiguracji jak IC1A pełni funkcję inwertera, w tym przypadku neguje sygnał RESET z C64 (aktywny: L) dla układu 74LS90 (aktywny: H).

#4Dzień 5-12-2010godz.13:24:03Autor: Suchy
Status: Brak błędówAdrIP: Ukryty
   W podanym wyżej linku (na forum C64 POWER) opisany jest sysop do UCarta (oryginalny z 1989, oraz nowy, napisany przez wegi'ego).
   Poniżej podaję linki, skąd można ściągnąć gotowe biny do zaprogramowania EPROMów 27C512 dla UCarta z przykładowymi grami:
   Gry ze starym sysop'em (Bomb Jack, International Karate, Operation Wolf)
   Http://www.sztandary-haf t.republika.pl/ftp/BOMBJACK.BIN
   Http://www.sztandary-haf t.republika.pl/ftp/INTKARAT.BIN
   Http://www.sztandary-haf t.republika.pl/ftp/OPERWOLF.BIN
   Gierka z nowym sysop'em (Oli & Lisa)
   Http://www.sztandary-haf t.republika.pl/ftp/OLI&LISA.bin
   ... są to gry, dlatego, że UCart stworozny został na potrzeby salonu gier, gdzie pracowały wyłącznie ArcadeMaszyny - samoróbki oparte na komciu C64 (oczywiście w UCarta można zaprogramować co wam się podoba - np. jakiegoś użytka). Niżej linki do zdjęć pozostałości po tych maszynach (kilka pak, kurzących się na strychu od 20 lat):
   Http://www.sztandary-haf t.republika.pl/ftp/arcadeC64_1.jpg
   Http://www.sztandary-haf t.republika.pl/ftp/arcadeC64_2.jpg
   Http://www.sztandary-haf t.republika.pl/ftp/arcadeC64_3.jpg
   Http://www.sztandary-haf t.republika.pl/ftp/arcadeC64_4.jpg
   Http://www.sztandary-haf t.republika.pl/ftp/arcadeC64_5.jpg
   Http://www.sztandary-haf t.republika.pl/ftp/arcadeC64_6.jpg
   Http://www.sztandary-haf t.republika.pl/ftp/arcadeC64_7.jpg
   Http://www.sztandary-haf t.republika.pl/ftp/arcadeC64_8.jpg
   Http://www.sztandary-haf t.republika.pl/ftp/arcadeC64_9.jpg
   ... o samoróbkach maszyn ArcadeC64 pisałem trochę tutaj:
   Http://forum.c64power.co m/index.php?id=2052&fid=1
   Http://www.forum.c64powe r.com/index.php?id=2006&fid=1&keyword=ar cade&page=#16601
   

#5Dzień 7-12-2010godz.09:22:12Autor: Frazes
Status: Brak błędówAdrIP: Ukryty
   Komentarz testowy.

#6Dzień 3-4-2016godz.19:08:34Autor: Wegi
Status: Brak błędówAdrIP: Ukryty
   Do Przemek_bundy - stan L pojawi się tam w dwóch przypadkach:
   Po wciśnięciu reset oraz po wyłączeniu C64 i jego ponownym włączeniu.

Instrukcja używania systemu komentarzy    

  1. W polu "Podpisz się" umieszczasz swoje Imię, Nazwisko albo Pseudonim używając znaków alfanumerycznych: A-Z, 0-9 oraz znaków specjalnych, np.: !^<>" ' itp.
    Tagi HTML są nieaktywne.
  2.    
  3. W polu "Wpisz treść" umieszczasz komentarz używając znaków alfanumerycznych: A-Z, 0-9 oraz znaków specjalnych, np.: !^<>" ' itp. Klawisz ENTER tworzy nowy akapit.
    Tagi HTML są aktywne. Możesz:

  4.    Możliwość:

    Komenda:

    Przykład:

       a.   Pogrubić tekst: <B></B> Pogrubiony
       b.   Pochylić tekst: <I></I> Pochylony
       c.   Podkreślić tekst: <U></U> Podkreślony
       d.   Stworzyć indeks górny: <SUP></SUP> Indeks górny
       e.   Stworzyć indeks dolny: <SUB></SUB> Indeks dolny
        f.   Użyć czcionki maszynowej: <TT></TT> Czcionka maszynowa


    Adresy URL wpisujemy w postaci http://nazwastrony.pl, ftp://nazwastrony.pl.
    Adresy email wpisujemy w postaci nazwa@nazwa.pl.
    Adresy Gadu-Gadu wpisujemy w postaci gg:1234567 (bez spacji).

    Proszę pamiętać o domykaniu otwartych tagów.
    Przed naciśnięciem przycisku Komentuj, zaznacz checkboks przy jego prawym boku.

Podpisz się:

Wpisz treść:

   wyślij mój komentarz    ukryj mój adres IP