Minimalisticke SPI u_SPI

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.

Pokračovať v čítaní

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.

Š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ť.

  1. 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ť.
  2. 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 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í.