[SharpMZ] MZ FPGA

Michal Hucik - ORDOZ ordoz na ordoz.com
Neděle Duben 24 10:12:14 CEST 2016


Ahoj,

ono to asi pro nekoho jineho, nez pro mne nebude moc prehledne a asi to 
nemam ani nijak dobre okomentovane.

Pokud jsem do toho archivu zabalil skutecne posledni verzi, tak by v tom 
mel byt kompletni MZ-800 vyjma emulace kazetofonu. Krom standardnich 
periferii jsem tam experimentoval i s pripojenim compact flash, pak s 
nejakym zarizenim, ktere umoznovalo obsluhu USB storage a s jednim svym 
planovanym projektem - video extenderem: jde o pripojeni desticky, ktera 
se pripichne krom sbernice take do RGBI mezi zakladni desku a generator 
obrazoveho signalu Sharpa (pripadne pred scandoubler). Melo by to pak 
umet vkladat kamkoliv do obrazu ruzne sprity, ktere by mely predem 
nadefinovane ruzne kolizni vlatnosti. Programator by je pak obsluhoval 
pres IORQ a pripadne pres WRITE ONLY MEMORY, ktera nam zustala jako 
dedictvi po MZ-700 extROM.

Pro generovani zvuku jsem si vyrobil malou desticku s D/A prevodnikem 
CS4344 se kterym FPGA komunikuje pomoci I2S.

Rozdil mezi Nexys2 a Nexys3 nebude az tak vyrazny. Obe desky se mi sice 
uz hodne dlouho povaluji nekde na dne skrine, ale z toho co si vybavuju, 
tak pri konverzi z jednoho kitu na druhy jsem asi musel resit:

- uz zminene hodiny: daji se vyrobit internim DCM, coz pak ma o kousek 
jinou frq, nez je nativni Sharp

- klavesnice: Nexys2 je FPGA pripojeno primo k PS2, zatim co Nexys3 na 
to ma nejaky externi USB driver

ROM neni soucasti kodu a musi se nejprve nahrat na zacatek paralelni flash.

Generovani obrazu: nevim, zda jsi nekdy videl muj prvni FPGA 
scandoubler, ktery jsem na nejakem ByteFestu pripojoval ke svemu Sharpu. 
Jedna se o vynasobeni obrazu jen v ramci jednoho radku, coz generuje 
velice presnou kopii skutecneho obrazu s minimalnimi naroky na pamet, 
nicmene ten VGA vystup bezi na presnem dvojnasobku puvodniho 
pixelclocku, coz je docela pitoma frequence a nevim, zda s tim dnesni 
bezne LCD nebudou mit problem.

T80 - oficialni verze, kterou jsem pouzil mela nekolik chyb v casovani a 
v emulaci nekterych instrukci. Vetsinu z nich jsem opravil, nicmene 
zustala tam nejaka chyba s nastavenim flagu u nejake undocumented 
instrukce (asi nejake CPI) - i kdyz se jednalo o prkotinu, tak mi 
prislo, ze jeji oprava by vyzadovala mnohem zasadnejsi zmenu celeho T80 
kodu.

Jeste jedna vec bude asi problem: kdyz jsem ten svuj model vyvijel, tak 
jsem to delal v nejake cracknute verzi ISE 13.2 - uz ani nevim proc, asi 
proto, ze tam byl nejaky simulacni modul, nebo logicky analyzer, ktery v 
te dobe nebyl ve free verzi k dispozici. Za tu dobu co jsem si hral s 
VHDL jsem odpozoroval, ze s upgradem vyvojoveho prostredi mi casto 
prestal fungovat cely model, nebo jej proste neslo sestavit a bylo pak 
potreba jej nejak upravit - nejcasteji slo o distribuci hodinovych 
signalu. To muze byt samozrejme zpusobeno i tim, jak amatersky to mam v 
tom VHDL vymodelovane. Ted se divam, ze uz je k dispozici ISE 14.7 a 
verim, ze cesta k uspesne vygenerovane binarce bude velmi trnita...


Pokud bych se rozhodnul pro vytvoreni FPGA Sharpa dnes, tak bych asi 
nejprve vymodeloval nejaky samostatny generator obrazu. Pak bych stahnul 
nejake virtual CPU a do nej nakompiloval jadro ze stavajiciho PC 
emulatoru Sharpa.


Michal


Dne 24.4.2016 v 1:53 Martin Lukasek napsal(a):
>
> Ahoj,
>
> tak jsem na to konecne koukl, diky moc. Je to teda na mne celkem 
> slozite a vypada to, ze tam mas naimplementovanych docela dost veci. 
> Jen ten projekt je pro Nexys2, myslis, ze nenajdes ten pro Nexys3? 
> Lepe by se mi odrazelo, nez to prekopavat.
>
> Hezky vecer
>
> Martin
>
>

------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://mail.ordoz.com/pipermail/sharpmz/attachments/20160424/7e7a820b/attachment.html 


Další informace o konferenci SharpMZ