[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