[SharpMZ] MZ FPGA
Martin Lukasek
martin.lukasek na artax.cz
Neděle Duben 24 14:16:15 CEST 2016
Ahoj,
no, tomu postupu, co zminujes v posledni vete jsem se chtel pro zacatek vyhnout. Ono je jasne, ze to je nejlepsi, aspon se v tom clovek vyzna, ale rikal jsem si, jestli by se nedalo odpichnout od neceho, co jde prelozit ;-) protoze jinak to je DESNE prace.
PS/2 klavesnici pripojim k Nexys3 v pohode pres PMod. Je pravda, ze je tam na desce USB host PIC pro klavensici a mys, co to konvertuje na PS/2, ale neda se pripojit soucasne oboje a zatim jsem to ani nezkousel. Obecne USB bych se prozatim rad vyhnul, je to slozity jak svina.
Hodiny se daji nagenerovat 35.455 MHz pro scandoubler, z toho pak 17.727 MHz pro GDG a 3.5454 MHz pro Sharp. Je to chyba asi 0,04%, myslim, ze by to nemuselo vadit s ohledem na to, ze na Sharpovi stejne nemame zadne dema, co vyzaduji naprosto presne casovani. Pak by se toh holt muselo resit externim oscilatorem.
ROM neni problem, ta se v pohode da strcit dovnitr toho XC6SLX16 i s obrazovou RAM.
Blby je, ze VHDL se ucim za pochodu, takze se dost zasekavam ;-)
Krasny den
Martin
From: sharpmz-bounces na mail.ordoz.com [mailto:sharpmz-bounces na mail.ordoz.com] On Behalf Of Michal Hucik - ORDOZ
Sent: Sunday, April 24, 2016 10:12 AM
To: sharpmz na mail.ordoz.com
Subject: Re: [SharpMZ] MZ FPGA
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/4bb5e6a6/attachment.html
Další informace o konferenci SharpMZ