Keďže som ešte stále naladený na VHDL a moc sa mi nechce prepínať do 6502 assembleru. Ktorý sa musím viacmenej naučiť odznova, Lebo bez neho nenaprogramujem FLASH z ZZ_RAM. Som rozmýšľal nad možnosťami využiť CPLD ako alternatívu k ťažšie zohnatelnými IO. Prípadne vyrobiť si nejaký IO ktorý sa zíde a nedá sa kúpiť. Ako prvé padol nápad na SPI, Ktoré je použiteľné z C64 ale aj z mojím ďalším projektom C_BRAIN. Čo by mal byť univerzálny koprocesor pre C64 komunikujúci cez IEC.
Commodore 64 a cartridge
Pri hľadaní podkladov na programovanie vlastných cartridges pre C64. Som narazil na užasný zdroj informácii pre programátorov: Codease64. Okrem toho som narazil na práve prebiehajúcu súťaž, výroby 16K cartridghe hry. Kde je možné vyhrať vcelku zaujímavé ceny. A ešte je šanca sa zapojiť a prípadne vyhrať.
ZZ_RAM a FLASH. Problem.
Ešte že poriadne čítam datasheety! Cely internet je toho ze z Flash sa pracuje ako z RAM len z tým že na zápis sa musí urobiť viac rôznych zápisov. A prd! OE nemôže byť stále uzemnené, Narozdiel od RAM :-(. Vyriešil som to pridaním jedného hradla 7404.
ZZ_RAM a FLASH pokračovanie (pridane!)
Keďže ma vlastné zistenia aj zdroje z Internetu presvedčili že je možné v ZZ_RAM programovať Flash pamäte. Tak som do cartridgovej verzie jeden „nainštaloval“.
Pri tej príležitosti som doriešil krabičku z estetického hľadiska.
ZZ_RAM a FLASH.
Štúdium rôznych riešení RAM a FLASH cartridgov. A následné testy na mojom Commodore. Ma priviedli k záveru že nieje neprekonateľný problém nahrávať FLASH pamäte priamo c ZZ_RAM. Vec ktorej som sa obával bol FAKT že do CPLD nevedú vyššíe adresné vodiče a spolieham sa na IO a ROM selekty z C64. Našťastie si Tvorcovia C64 ušetrili prácu a ROMH a ROML selekty fungujú aj pre zápis. Ako som neskor zistil Toho využíva aj EasyFlash. Teraz už len spraviť SW ktorý to bude vedieť.
ZZ_RAM čo ďalej.
Tak ZZ_RAM beží. Čo ďalej? No sú dve cesty ako z CPLD dostať čo najviac a ZZ_RAM plne využiť.
- Urobiť verziu z plnou veľkosťou RAM a ROM to znamená 1M FLASH a 1M RAM. Tu ale treba buď prerobiť kompletne plošný spoj na SMD súčiastky. Lebo takéto kapacity sa v DIL púzdrach nerobia. Alebo spraviť „nadstavbu“ a tam to zrealizovať.
- zmenšiť maximálnu kapacitu na 512K pre ROM aj RAM a nevyužitý pin použiť ako IO select. ZZ_RAM By bola rozšíriteľná o ďalšie preriférie. V IO rozsahu veľkosti 0xDF00 až 0xDF0F
Zatiaľ sa prikláňam k druhej možnosti. Dovolí mi pokračovať v experimentovaní z HW.
Upratané videa a nové video z FPGA_CP
Pri upratovaní videí na youtube som zistil že nemám video z Jupiter ACE rozbehanom na FPGA_PC. Tak som túto chybu hneď odstránil. Keďže môj malý príručný Monitor spozná signál z Jupiter ACE ako NTSC, pričom je to PAL, a nedokáže udržať synchronizáciu. Je video spravené na televízore, ktorý ma viac rozumu. Tiež ma každý projekt vlastný playlist.
ZZ_RAM Video z testu posledného Firmware
ZZ_RAM Posledny firmware.
Tak trosku som sa pohral z firmware a vyriešil problém z tým ako odopnúť cartridge bez vypnutia Commodore64. Výsledkom je skoro plný CPLD, 92% utilizácia. Ale reset Dostal ešte jednu funkciu. Pokiaľ od jeho stlačenia či zapnutia bol nastavený register pre zapnutie cartridge, tak sa po resete cartridge pripojí ale po ďalšom sa odpojí.
ZZ_RAM v1.0 status
Tak plošné spoje sú doma Tak par fotiek a nejaké blbé keci k tomu.