Konference: Počítač SHARP MZ-800 a emulátory
Od: | Michal Hučík |
Datum: | 29.11.2012 19:12 |
Předmět: | Re: Novy FDC pro Sharp MZ-800 |
OK chlapi, schema je jednoznacne (pokud se to nejak nehradluje na zaklade zvoleneho bankovani v GDG ;) .
Mam ovsem dva dotazy (na kohokoliv):
1) Odkud tedy Sharp cte z adresy 0xe000 pri MREQ operaci po OUT (0xe5),a ? z RAMky urcite ne ...
2) jaky je vyznam "prohibited" rezimu, ktery je popsany v SM na 8. strane?
Michal
Dne 29.11.2012 18:50, Bohumil Nováček (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a):
Naprosto dokonale jsme si rozumeli. Ze schematu http://www.sharpmz.org/mz-800/download/sm800.pdf
na strance 45 oddil C4 jasne vyplyva, kdy muze byt datova brana (oddil E9) vstupni. Smer se ridi vstupem
DIR, na nemz je realizovana funkce (nRD + nIORQ + nIORD)&(nIORQ + nM1 + nIE0), pro branu
prepnutou na vstup musi byt hodnota 0. To tedy znamena alespon jednu zavorku rovnou 0.
1) (nRD + nIORQ + nIORD) ... = 0 pokud je nRD=0, nIORQ=0 a taky nIORD=0, to nemuze nastat jindy
nez ze Z80 cte IO navic jinou nez pritomnou na desce Sharpa.
2) (nIORQ + nM1 + nIE0) = 0 ... to znamena se cte vektor preruseni a interni PIO nehlasi preruseni.
Nezbyva nez zopakovat zaver, na expanzni IO konektor Sharpa nelze ani pri nastaveni prohibited oblasti
pripojit pamet a cist z ni jako z pameti. Tedy za predpokladu, ze vyse uvedene schema je schema Sharpa :-)
I kdyby se pamet na externim konektoru rozkrajela, procesor precte to co zustane viset na
kapacitach sbernice po poslednim cyklu, tedy v pripade "cteni" instrukci LDIR bude v teto oblasti
vzdy prectena hodnota B0h :-) Mimochodem to dokazuje, ze na sbernici opravdu neni nic, co by tento
stav mohlo zmenit, vse je ve "tretim stavu".
Jiny pripad je MZ700, ta nema extra oddelovac pro IO konektor.
Nicmene zapisovat do externi pameti v tomto pripade lze, pro jistotu jsem to vyzkousel, po OUT E5 jsem
namapoval VRAM od F000h a kdyz tam zapisu, tak se to zobrazi.
Cteni lze udelat, ale primo na nozky procesoru, opravdu to pres IO konektor nejde.
Bohous
---------- Původní zpráva ----------
Od: Michal Hučík (sharpemu tu byla ta zakroucena vec pandora.cz) <ordoz tu byla ta zakroucena vec ordoz.com>
Datum: 29. 11. 2012
Předmět: Re: Novy FDC pro Sharp MZ-800
Nene, pockej... to jsme si asi nerozumeli. Ja mel na mysli stav, kdy namapujes pamet do stavu "prohibited" pomoci OUT (0xe5),a ... navrat do puvodniho stavu pameti je pres OUT (0xe6),a ... Slouzi to k pripojovani extROM z periferii, nicmene pro MZ800 asi zadna takova periferie uz nikdy nevznikla.
V rezimu MZ700 se mapuje na adresy 0xd000 - 0xffff a v rezimu MZ800 (je o neco mensi) na adresy 0xe000 - 0xffff.
V tomhle rezimu by melo byt cteni z teto casti pameti realizovano prave pres sbernici - nikdo to tady zrejme jeste nevyzkousel, nicmene je to tak popsano v servisnim manualu na strane 8.
Mne by zajimalo, zda by to takto pripojene extROM slo i zapisovat - predpokladam, ze asi ano. K tomu abych to overil bych si ale musel ubastlit zarizeni, ktere je pripojene ke vsem potrebnym pinum sbernice.
Tedy:
.org 0x2000
out (0xe5),a
ld bc,0x0200 ; precist 512 bajtu
ld hl, 0xe000 ; z extROM
ld de,0x3000 ; a ulozit je do normalni RAM
ldir
out (0xe6),a
ret
... a podobne i zapis...
Michal
Dne 29.11.2012 12:36, Bohumil Nováček (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a):
Ahoj,
dival jsem se na to, bohuzel pamet na externi sbernici Sharpa muze fungovat jen jako WOM (write only :-) ).
Datova brana externiho IO konektoru je totiz:
1) zavrena (ve tretim stavu) pri cteni interni periferky Sharpa
2) vstupni (tedy prenos z karty do Sharpa) pro cteni jine externi periferky (adresa nekoliduje s vnitrnima periferkama)
3) vstupni pri cteni vektoru preruseni, pokud ale preruseni nevyvolalo interni PIO
4) vystupni v ostatnich pripadech, t.j. napriklad i cteni z pameti
Takze data ukladana do pameti se kopiruji i na IO konektor, data ctena se taky kopiruji na vystup, externi karta tak
muze "videt" co Sharp cte, ale nemuze to ovlivnit. Aby sla pouzit RAM (nebo jeji emulace), musela by byt pripojena
jeste pred 74LS245, ktery oddeluje datovou sbernici na IO konektoru. Pak je emulace pomoci SMT32F4 mozna, pri
jeho rychlosti mozna i bez wait stavu, ja odchytavam zapisy do VRAM a wait stavy nevyvola! vam (WAIT stihnu shodit
driv nez si ho Z80 vsimne :-) ).
Staci tak ?
Bohous
---------- Původní zpráva ----------
Od: Michal Hučík (sharpemu tu byla ta zakroucena vec pandora.cz) <ordoz tu byla ta zakroucena vec ordoz.com>
Datum: 28. 11. 2012
Předmět: Re: Novy FDC pro Sharp MZ-800
Pekna prace!!!
Kdyby jsi mel chvilku a chut, mohl by jsi prosim overit, zda je realne pripichnout se s takovouhle destickou na sbernici a chovat se jako RAMka ve chvili, kdy se primapuje externi ROM?
Mam to zatim odzkousene jen na FPGA Sharpu, kde jsem si takhle rozsiril VRAM a delal jsem pak pokusy se spritama, ktere se plynule pohybovaly po cele obrazovce vcetne borderu. Nemam vsak overeno, zda lze k takto pripojene pameti pristupovat v plnem R/W rezimu i na skutecnem HW Sharpa.
Michal
Dne 28.11.2012 12:19, Bohumil Nováček (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a):
Zdravim,
jelikoz je uz sichravo delsi dobu a vecery se prodluzuji, zkusil jsem
prekopat unikartu pro STM32F407, jak tu o tom tuhle nekdo teoretizoval.
Pri 168MHz hodinach je dost rychly na emulaci vcetne toho FPGA, navic
ma vetsinu vstupu 5V tolerant, takze bez jakych koliv oddelovacu muze
rovnou na sbernici MZ800. Ma dost vstupu na pripojeni cele sbernice
(16bit adresa). Programovat se da pres USB.
Jeho vykon je natolik brutalni, ze zvlada "na pozadi" emulaci celeho GDG
cipu vcetne VRAM, data ziskava odeziranim sbernice MZ800 a vystup
prevadi na VGA. Pravda jen 320x200, ale 640x200 zobrazi taky, secita
sousedni body v jeden (ma vystup 64 barevny, tak je to i dobre citelne).
No teprve to ladim, ale uz mi chodi emulace GDG na VGA, emulace QD,
komunikacni port pro unicard manazer (jde spustit z QD). Trosku zapasim
s fatfs knihovnou ve spojeni s SDIO driverem od ST. Pri cteni souboru delsich
nez jeden c! luster (32KB pro FAT16) si to behem nacitani FAT prepise stack.
Mno snad chybu brzo najdu.
V brzke dobe to hodim na web, zatim k nahlednuti davam schematko:
- je tam misto na portech i pro 100Mb ethernet :-) ale radic tam jeste neni.
- pokud oznaceni pinu procesoru trosku pokulhava (piny napajeni), je to tim,
ze je z knihovny STM32F1xx, zapojeni je vsak spravne pro STM32F407.
Tady jak prototyp vypada, to je vsechno, vic toho tam neni, ani z druhe strany :-)
http://www.dzi.n.cz/8bit/mzuni/unicard_prototyp.jpg
Bastleni zdar
B.N.
---------- Původní zpráva ----------
Od: Michal Hučík (sharpemu tu byla ta zakroucena vec pandora.cz) <ordoz tu byla ta zakroucena vec ordoz.com>
Datum: 27. 11. 2012
Předmět: Re: Novy FDC pro Sharp MZ-800
Jelikoz zima uz je v podstate tady, tak bych k tomu Vaskovu seznamu pridal jeste potrebu opravit bug s UARTem:
- opravit prehozeny Rx a Tx
Michal
Dne 15.10.2012 14:40, Vaclav Peroutka (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a):
Ahoj,
ohledně unikarty, ano, vydržte prosím aspon na zimu. K opravě tam je víc věcí, i rozměr desky, pokud unikartu někdo přesně změří, tj. jak konektor, tak kolejničky. Ale to je malá věc.
Tady je kompletní seznam :
- schema - opravit popisky, at se da generovat BOM
- opravit sirku konektoru - zmensit o 0.5mm
- opravit sirku desky - zvetsit o 0.5mm
- opravit miniUSB konektor - pajeci plosky prekryte HALem
- opravit DevilArea - misto prokovek nejake normalni piny
- opravit pajeci piny kolem STM32 - -"-
- opravit pasiva okolo ENC28J60 - a nebo taky ne, uvidime
- pripojit signaly M1 nebo WR na CPLD
- zmenit miniUSB konektor na USB - nebo nekupovat ty v GME !!!
- pridat Vcc pin k USB - pri testech se da napajet pres USB
- znormalizovat JTAG konektor - STM32 a CPLD dát do scan chainu
- zkratit signalove plosky MZ konektoru, aby se prvni dotkly GND
- posunout ! krystal X3 dal od LAN konektoru
- propojit země okolo krystalů u STM32
- vymyslet programování CPLD pomocí FT232R - viz http://vak.ru/doku.php/proj/bitbang/bitbang-jtag
- použít UART2 pro RS232, UART1 nechat na FTDI USB
Ještě se možná něco najde... Pokud máte nějaký další nápad, dejte vědět.
Jak vidno, je toho dost.
Vašek
---
---
---
[2012/1 (125)] [2012/2 (34)] [2012/3 (57)] [2012/4 (46)] [2012/5 (40)] [2012/6 (44)] [2012/7 (64)] [2012/8 (57)] [2012/9 (32)] [2012/10 (55)] [2012/11 (25)] [2012/12 (63)]