Commodore 64        

 Omlouvám se všem příznivcům C64, že jsem tento 8-bitový počítač zařadil do vykopávek, přeci jenom už má svou hvězdnou éru za sebou. Fanoušků je ale stále dost, například na www.c64.cz
 Jestli také udržujete C64-ku v chodu, mohly by Vás zajímat následující konstrukce přídavných zařízení a popis různých úprav.


 MOUSE

vloženo:21.02.2010   upraveno:18.03.2013

 Kuličková myš emuluje joystick na CONTROL PORTu.

 Infra diody a tranzistory jsou z původní myšky.

 

Schéma: Mouse3.sch (849,9 kB)

 Zapojení by se dalo ještě zjednodušit s použitím mikroprocesoru.
Bude-li zájem, zkusím naprogramovat PIC.

 


 FCIII+

vloženo:21.02.2010   upraveno:11.12.2014

 The Final Cartridge III vyvinula v roce 1987 společnost Riska B.V. Home & Personal Computers, Rotterdam.

 Po připojení FCIII do EXPANSION portu získal C64 spoustu nových funkcí - Basic příkazy, Disk/Tape zrychlovač, Assembler monitor, a ještě mnoho a mnoho dalšího, proto byla FCIII tak oblíbená.
 Upravená FCIII+ umožňuje rozšíření paměti EPROM z původní 64K (27C512) na 512K (27C020). Jumper JP1 - 64/512K. Modře očíslované vývody EPROM platí pro 27C512.
 Do rozšířené paměti jsem chtěl umístit různé utility a vlastní programy. Bohužel došlo jenom na jeden můj program RCM2.1 (Rom/Ram Card Manager), protože se ale vešel do původní EPROM, nemá rozšířená paměť žádné využití.

 Upravil jsem schéma a DPS tak, aby šlo místo EPROM použít i EEPROM, například 29C020. Nyní to vyhovuje pro oba typy paměti.



FCIII+_8.sch (331,2 kB) schéma
FCIII+_8.brd (230,2 kB) deska
FCIII+RCM2.1_27C512.BIN (64 kB) data FCIII (v.1991) + RCM

 


Takto vypadá první verze plošného spoje.


Výměna BASIC/KERNAL ROM za EPROM 64K

vloženo:20.11.2011

 Výměna paměti umožňuje upravit programové vybavení operačního systému BASIC/KERNAL.
Nová paměť je 4x větší než původní, takže lze do ní nahrát 4 varianty B/K. Pro zachování kompatibility se toho upravovat moc nedá, změnil jsem pouze funkci tlačítka RUN (Shift + RUN/STOP).


Podle polohy přepínače má tlačítko RUN přidělenu následující funkci:
0  LOAD RUN
1  KILL RUN
2  SYS57307
3  (zatím nevyužito)

Číslo polohy přepínače na uvítací obrazovce (po resetu).

Funkce KILL RUN nejdřív vypne FINAL CARTRIDGE a potom spustí program.
Některé programy nejdou spustit, pokud je FC zapnuta.

Příkaz SYS57307 spouští přídavnou EPROM kartu. (příště)

 

Schéma zapojení BASIC/KERNAL, vlevo původní, vpravo nové.

Invertor U23A je pouze pro automatické vypnutí MEMPortu. (příště)

Integrovaný obvod s B/K je na desce označen U4.

I když má nová EPROM také 28 pinů, zapojení je trochu jiné, proto se musí na plošném spoji udělat několik úprav.

Pin č.1 oddělit od VCC (+5V), na straně součástek proškrábnout spoj ve tvaru kroužku.

Na straně spojů (dolní) přerušit propoj mezi pinem č.27 a 28.

Pin č.28 zůstává na VCC.

Data pro EPROMku 27C512: B_K_27C512.BIN (64 kB)

 


MEM Port, brána pro ROM/RAM kartu

vloženo:22.02.2013

   Vstupně/výstupní brána (port), 3x8 programovatelných linek.

   Základní parametry a ovládání brány vychází z použitého obvodu 82C55. Ten má jenom 4 řídící registry, oslovitelné jako paměťová místa $DC20 až $DC23. Tyto adresy jsou ale součástí adresového prostoru stávajícího obvodu CIA1, $DC00 až $DCFF.
Protože CIA1 využívá jenom prvních 16 adres (ostatní jsou stínové), lze celý prostor rozdělit na 4 části:
1. $DC00 až $DC1F ($DC80 až $DC9F) zůstane sávajícímu CIA1
2. $DC20 až $DC3F ($DCA0 až $DCBF) pro registry 82C55 MEMPort
3. $DC40 až $DC5F ($DCC0 až $DCDF) pro RAM/ROM CARD
4. $DC60 až $DC7F ($DCE0 až $DCFF) pro SYS Port

   Na rozdělení adres stačí polovina obvodu HC139, ta druhá slouží jako invertor signálu R/W\. Kromě negovaného R/W\ potřebuje obvod 82C55 ještě negovaný RESET\, ten vznikne pomocí volného invertoru na základní desce C64 (U23C).


   Původní CS\ (Chip Select) pro obvod CIA1 je nutné přerušit a přivést do adresového dekodéru, tak vzniknou 4 nové CS\, aktivní pouze v přiděleném paměťovém prostoru.


   Celý MEMPort můžeme vypnout JUMPERem VYP, anebo pin VYP připojit na invertor U32A, viz Výměna BASIC/KERNAL, Automatické vypnutí MEMPortu. Vypnutí znamená zablokování adresového dekodéru, celý adresový prostor potom opět náleží obvodu CIA1.

   MEMPort jsem navrhnul pro RAM/ROM kartu, lze ho ale využít i pro jiné účely.
Ovládání obvodu 82C55 není složité, má pouze 4 registry. Nejdřív je potřeba zadat konfigurační slovo do řídícího registru (REG.3 $DC23). Potom můžeme zapisovat do registrů portů, nebo z nich číst.

 

Schéma: MEMP.sch (507,3 kB)

 


Plošný spoj: MEMP.brd (64,2 kB)

 


ROMCard

vloženo:23.03.2013

   ROM KARTA

   ROM kartu lze osadit až čtyřmi EPROM 27C040. Každá má 512KB, celkem tedy 2048KB (8192 bloků).

 

   Ovládací program RCM (Rom Card Manager) je uložen v FCIII+. Spouští se příkazem SYS57307 nebo tlačítky SHIFT + RUN/STOP.
   Okno prohlížeče zobrazuje názvy programů po řádcích a v takovém pořadí, v jakém byly uloženy do EEPROM, proto je nelze nijak třídit, jenom vybírat.

   Pro výběr slouží směrová tlačítka CRSR, šipka dolu posune výběr dolu, zatímco šipka vpravo posune výběr nahoru. Pokud bude programů víc jak 21, posouvá se celý seznam.

   Vybraný program (inverzně zobrazený) můžeme nahrát do počítače třemi způsoby, pomocí tří tlačítek:
RETURN - nahraje a spustí program (LOAD, RUN).
K - nahraje, vypne FCIII a spustí program (LOAD, KILL, RUN). Některé programy fungují jen při vypnuté FCIII.
L - pouze nahraje program (LOAD).
   Program RCM můžeme ukončit bez nahrání programu, stisknutím tlačítka SPACE.

 

   Pravidla ukládání dat do EPROM.
   Jsou-li osazeny všechny 4 EPROM, máme k dispozici adresový prostor $000000 až $1FFFFF. Nultá adresa (první EPROM) musí mít hodnotu $FF. Potom následují data (znaky) okna prohlížeče, jejich počet není pevně daný, musí ale končit hodnotou $00. Od následující adresy začíná hlavička prvního programu.
   Každá hlavička zabírá 20 adres. První 2 jsou pro délku programu, další 2 pro počáteční adresu RAM v C64 (tam bude program nahrán) a zbývajících 16 adres je pro název programu. Pokud má název méně než 16 znaků, doplňuje zbytek hodnota $20 (znak mezera). Vlastní program následuje ihned za hlavičkou.
   Délku programu vypočítáme tak, že od koncové adresy odečteme počáteční. Např. program začíná na adrese $0801 a končí na $3F5C. Délka programu = $3F5C - $0801, to je $375B, takže hlavička bude začínat hodnotou $37 a $5B. Pozor, první horní bajt, potom dolní bajt. Stejným způsobem je uložena i počáteční RAM, například $08 a $01 (většina programů začíná na adrese $0801).

 

Schéma: ROMC.sch (312 kB)


   Schéma zapojení obsahuje i obvod zálohování RAM, ten ale v případě EPROM není potřeba, stačí drátová propojka na pozici D1.


   Původní LEDku na krytu C64 nahrazuje dvoubarevná DUOLED. Jedna anoda opět pro POWER, ta druhá vede na výstup LED ROMCard - signalizace aktivity. Společná katoda na GND.

 

Plošný spoj:
ROMC.brd (112,6 kB)

 

Data pro 1. EPROMku: ROM_card_27C040_1.BIN (512 kB)

 


Příště ?

SYSPort - vyvedená datová sběrnice, část adresové a systémové sběrnice, 8xCS Chip Select