Puvodnich navrhu desky jsem delal vice. Rozdelano mam v Eaglu take vice verzi. Tady je pro predstavu foto nakresu, jak to chci zapojit. Jde o hodne zjednoduseny nakres, ale pro hrubou predstavu by mel stacit.
CPU 1 je hlavni procesor Z80, stejne jako u ZX ci SAM COUPE... neni co dodat.
SRAM 1 je hlavni pamet ram, ktera zaroven funguje jako videoram. Ma 16bitovou datovku a bajty se mohou vycitat po dvojici. ULE se trosku ulevi
CPU 2 je druhy procesor Z80. Nema pristup k romce ani k hlavni ramce. Ma vlastní pamet sram, ktera mu zastoupi rom i ram. Po zapnuti pocitace CPU 1 presune kod programu z romky do SRAM 2 a pak povoli funkci CPU 2 (povoli mu reset). CPU 2 spusti kod ze sram2 pro obsluhu laptopove klavesnice, joysticku a touchpad kontroleru a data rovnou zkonvertuje do matice ZX klavesnice a souradnic mysi. Kdyz pak CPU 1 bude cist port klavesnice nebo mysi, precte si jen konkretni bajt ze SRAM 2, kde si druhy procesor predpripravil data.
SRAM 2 je pracovni pamet pro CPU 2, ale muze do ni pristupovat klidne i CPU 1. Je 8bitova, rychla, nemapuje se jako videoram... Mela by stacit i nejaka hodne mala.
SRAM RGB je mala sramka s paletou barev. Data v ni muze prepisovat primo CPU1.
--------------------------------------------------------------------------------
dalsi poznamky:
S klavesnici to bude trochu slozitejsi, pokud budeme chtit jedno univerzalni reseni pro jakoukoli existujici membranu (z laptopu). I toto je mozne, ale vyzadovalo by to nejaky ten cip navic. Pokud by se pocitalo jen s jednim typem klavesnice, stacilo by pouzit pouhou redukci bez elektroniky, jen tistak, co vhodne zprehazi kontakty na vystupni konektor. Ale to by znamenalo pro kazdy typ klavesnice udelat jinou redukci... Takze se priklanim k univerzalni metode, kde si procesor sam zdetekuje, ktere piny jsou pri stisku klavesy propojene a po pocatecni kalibraci cele klavesnice si nastaveni ulozi do flash rom. Pri vymene za jiny typ klavesnice pak staci znovu vynutit automaticke mapovani klavesnice a postupnym stiskem vsech klaves si zase vytvorit novy "vzor"...
Pokud se ptate proc jsem pouzil zrovna Z80CPU na obsluhu klavesnice/mysi a joye, pak je to z duvodu, ze by to stejnak musel delat nejaky procesor (PIC,ATMEL...) a navic assebler Z80 zla plno lidi a da se primo na pocitaci prepsat firmware, proste se s tim vyblbnout. Softwarove se daji osetrit i zdanlive nepouzitelne kombinace klaves, neboli jinak receno mohu z kombinaci klaves, kde dochazi ke ghostingu/zrcadleni, ponechat jen klavesy, ktere se na ZX casto pouzivaji a ty ostatni ignorovat. Napriklad u ovladani klavesama 12345 ci QWERT. Toto ovladani vetsina laptopovych membran nezvlada a pri stisku 2+4+5 se soucasne stisknou(zrcadli) dalsi nepotrebne klavesy. Rozumne napsany softwarovy filtr muze sam poznat co se kde zrcadli a nepotrebne klavesy zneviditelnit. K zrcadleni klavesnice stejne dochazi jen pri hrani her s krkolomnym ovladanim. I presto povazuju za dulezite tomuto venovat pozornost.
Do "SRAM RGB" vede osm bitu, ktere nesou informaci o cisle aktualne zobrazovane barve. Ve skutecnosti v originalnich SAM COUPE rezimech budou vyuzite jen 4 bity, protoze je ti jen 16 ruznych barev. V rozsirenem modu 256barev na pixel uz bude fungovat vsech 8 linek a sram zajisti 8bit paletu. Sice to zni divne, protoze 8 bitu=256 kombinaci a 8bit paleta ma take 256 barev. V 8bit palete ale pujde alespon vyuzit efektu, kdy ruznym barvam muzeme prehazet RGB hodnoty nebo prizadit stejne... Asi by to melo vetli vyznam pri pouziti 16bitove sramky, ktera uz muze generovat paletu 32768 barev.
ROM - pujde o vetsi flash eprom 128-512kB, ktera se spusti jen pri startu a zajisti prenos romek a potrebnych kodu do rychle ram, ktera nahradi funkcne romku. CPU v rychlem modu pobezi svizneji nez original SAMik a rychlost odezvy rom je pak nedostatecna, proto je nutne rom emulovat sramkou. Vetsi kapacita rom nebude na skodu. Muze obsahovat jak SAM rom, tak i ruzne verze DOSu, setup, NMI menu, cokoli se pro to napise.... to uz je vec softwaru.
Systemovy konektor/sbernice bude oddelena.