OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 18.04.2024, 10:14

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 10 ] 
Autor Zpráva
 Předmět příspěvku: Snap tlačítko na Unikarte
PříspěvekNapsal: 15.02.2015, 12:28 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1404
Has thanked: 130 times
Been thanked: 71 times
Rozmýšľal som, či by sa nedalo spraviť snap tlačítko na Unikartu. Ako by to fungovalo:

Neviem ako zariadiť spustenie obslužného programu, ale ten by spravil toto:
1. Uložil by registre.
2. Uložil by RAM.
3. Uložil by VRAM.
4. Uložil by hodnoty CTC0-2.
5. Unikarta by monitorovala I/O porty a vedela by dodať ďalšie údaje:
a) módy 8253
b) výstupnú časť 8255 pokiaľ sa to v reálnom Sharpe nedá načítať (neviem overiť)
c) nastavenie zvukového čipu
d) DMD, RF, WF, paleta

Toto by sa uložilo do nejakého súboru na Unikarte.

Pri čítaní by sa načítala pamäť, VRAM, GDG, 8253, 8255 a odovzdalo by sa riadenie programu.

Problém by nastal len v tom, že kam by sa umiestnil obslužný program na načítanie a uloženie. Podľa mňa by mohol byť uložený v nepoužívanej časti VRAM, čiže od adresy 9F40h-9FFFh. Samozrejme, mohol by byť dlhší, pokiaľ by sa VRAM nastavila ako predposledná a po nej 8253. Niektoré programy by to možno nerozchodili (BS Copy ap.), ale to už by nebol taký problém.

Neukameňujte ma za tento nápad. Je to len myšlienka, ktorá ma napadla a "utopické" fórum majú len spektristi. Či by sa to nakoniec zrealizovalo nechám na kompetentných. Skôr by ma zaujímalo, či je niečo také realizovateľné. Vŕta mi to hlavou preto, lebo mi je tiež divné, ako dokáže Unikarta generovať výstup na VGA monitor "z ničoho".

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Snap tlačítko na Unikarte
PříspěvekNapsal: 15.02.2015, 21:24 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2728
Has thanked: 144 times
Been thanked: 422 times
Milsa unikarta vidi vsechny data co cpu posila do GDG a tak muze generovat stejny obraz. Proste si vse zapise a udela uplne stejnou operaci jako se dela uvnitr Sharpa. Proto to muze delat "z niceho". Proste je to "spion" co odposlouchava. Ale unikarta sama o sobe nikdy nemuze videt hodnoty co cte cpu z vnitrnich chipu uvnitr Sharpa - nastesti to normalne nepotrebuje a tak vse funguje. Nejvetsi problem ale je ze Sharp nema vyvedeny NMI signal na sbernici a tak neni bez zasahu do Sharpu udelat jakoukoliv kartu co by delala Snapshot. Unikarta take nemuze nijak ovlivnit pamet uvnitr Sharpa. Proste je to jen I/O zarizeni.

Dalsi problem je to, ze nejsou programatori a to co pises je opravdu hodne prace a hlavne problemy ohledne spravneho nacasovani 8253 aby nejaky casovac nahodou neudelal preruseni jeste v dobe kdyz se pripravuje spusteni programu.

Uz drive byla diskuse prenest unikartu na patici Cpu a pak by samozrejme to vse slo udelat.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Snap tlačítko na Unikarte
PříspěvekNapsal: 15.02.2015, 22:38 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1404
Has thanked: 130 times
Been thanked: 71 times
No ale tak ako vidí signály vstupujúce do GDG, tak by si z Unikarty snap-podprogram ukradol módy časovača a tak. Proste píšeš, že Unikarta vidí údaje na zbernici a teda by vedela uložiť všetko potrebné. Dôležité by už len bolo dostať program na snap do adresného priestoru CPU. Tiež som myslel na NMI, ale teoreticky by to šlo spraviť aj cez IM0 a podvrhnutím inštrukcie OUT (xx),A, ktorá by zapla povedzme stránku ROM z Unikarty ako je to pri bežnom mapovaní pamäte a v zápätí by dala inštrukciu C7h, čo je RST 00h. Tým by sa to dalo riešiť (možno). Je mi jasné, že programátori nie sú, ale ak to dopracujeme do teoreticky funkčnej roviny, možno raz niekto skúsi vyrobiť to aj reálne.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Snap tlačítko na Unikarte
PříspěvekNapsal: 15.02.2015, 23:28 
Offline
Radil

Registrován: 08.10.2013, 18:00
Příspěvky: 296
Has thanked: 12 times
Been thanked: 228 times
Dokud bude unikarta nebo cokoliv jiného za "expansion IO" tedy tam, kde může být bez zásahu do počítače, tak je to bohužel nemožné, unikarta nemá a nemůže mít vliv na mapování paměti (v MZ800). Příkazy a zápisy pro GDG vidí karta jaksi omylem, kopírují se ven na datovou sběrnici i když by nemusely. Naopak jakékolik čtení z vnitřních portů a paměti počítače unikarta "nevidí" a nemá na ně žádný vliv a nelze unikartu nijak "namapovat" (i když by se to po přečtení manuálu u portů E5h a E6h mohlo zdát, že lze komplet odmapovat vnitřní RAM i ROM a nechat sběrnici pro horních 8kB volnou, ale buď chybou návrhu počítače nebo záměrem se neotevírá v takové chvíli budič na expanzním konektoru a data nelze do počítače dostat, narozdíl od počítače MZ700, kde to funguje). Protože karta nevidí, co se čte z portů, nemůže ani zjistit, který řádek se zrovna zobrazuje (to je pro některé efekty v programech ale klíčové), to ale naštěstí GDG nechtěně prozradí, protože když se zatáhne za externí reset, vygeneruje GDG reset pro CPU v následujícím TV snímku během vykreslování 1. řádku s grafikou a tím se unikarta může "chytit" a začít "naslepo" počítat zobrazované pixely a nesmí udělat chybu až do následujícího resetu. To jen tak pro představu, jak krkolomně se vůbec unikarta k těm datům dostává.

Jediná možnost tak je připojit takové zařízení ještě před adresový dekodér GDG, tedy přímo na nožky procesoru, jak píše suksoft, a jak to dělá zařízení MemExt, to má teoretickou možnost mapování pro NMI měnit a spustit program z flash. Ale nedokážu si ten program moc představit, jak třeba zjistit aktuální mód toho i8253, zeptat se ho nejde, leda jak píšeš v součinnosti s unikartou, která by přístupy logovala z ní dostat poslední zapsanou hodnotu, ale to neřeši například to, že třeba CT0 jde strobovat atd. Příjemnou zábavu, klidně pomůžu radou, ale sám do toho určitě nejdu (když to samé si můžu mnohem ale opravdu mnohem jednodušeji udělat na emulátoru, kdybych to teda vůbec potřeboval).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Snap tlačítko na Unikarte
PříspěvekNapsal: 15.02.2015, 23:43 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1404
Has thanked: 130 times
Been thanked: 71 times
Tak a je po radosti...

Napadlo ma to v súvislosti so snap tlačítkom na disketovej jednotke Didaktik. Tam je to zjavne o dosť jednoduchšie. Škoda. Ale na druhej strane nápad to nie je nerealizovateľný. Len je to skôr príliš zložité na to, aby malo význam tento problém riešiť.

Keď už si spomenul porty E5h a E6h, ako to vlastne funguje? A čo má na svedomí ten budič? Celkom som tomu nerozumel načo tieto porty sú (zjavne ich žiadny program v MZ-800 nevyužíva) a ak správne chápem, je to primapovanie externej ROM z periférie (QD, FD).

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Snap tlačítko na Unikarte
PříspěvekNapsal: 15.02.2015, 23:45 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2728
Has thanked: 144 times
Been thanked: 422 times
Koukam Milsa ze mezitim nez jsem toto dopsal tak pridal i prispevek Nomobi ale i tak to poslu.

Jak jsem jiz psal, Unikarta je I/O zarizeni. Absolutne nemuze nic delat s pameti, natoz neco mapovat. Vyhoda je, ze pri zapisu do pameti dela to ze kopii dat dava i na sbernici T9. Proste musis vychazet ze IO 9C (74ls245) te omezuje pouze na I/O provoz. Pouze pri cteni z externiho I/O meni smer dovnitr pocitace. Dalsi vyjimka je pri INTA co nevyvolal interni Z80 PIO - to take cpu vidi data z externiho zarizeni. Unikarta ma jednu obrovskou vyhodu a to je funguje u kazdeho bez zadneho pracneho rozebirani pocitace a pripadne upravy pocitace.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Snap tlačítko na Unikarte
PříspěvekNapsal: 16.02.2015, 00:00 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2728
Has thanked: 144 times
Been thanked: 422 times
Milsa kdyz se budeme bavit pouze o MZ800 tak porty E5h a E6h jsou uplne k nicemu. Jedine co udelaji odmapuji vnitrni pamet a na sbernici nic nebude pripojene. Absolutne se to neda k nicemu inteligentnimu pouzit. Duvod je opet ten 9C obvod co brani aby se cokoliv precetlo z externi sbernice.

Cca dva roky nazpet jsem se zajimal o tu rozsirujici "domecek" pro MZ700 ktera se oficialne da pripojit k MZ800. Podle mne to dokonce muze i ponicit MZ800, protoze pri cteni z externi pameti posilovac v teto externi periferii da smer dovnit MZ800 ale vlastni MZ800 stale bude v obvodu 9C posilat data ven a tak to pujde do zkratu. Jediny kdo tenkrat se o to zajimal byl Martin8bity.

Nikdo presne nevi k cemu se se to E5 a E6 melo pro MZ700 pouzivat ale s nejvetsi pravdepodobnosti to byla priprava na nejaky system s cartridge kde by byl ulozen program napr. hra.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Snap tlačítko na Unikarte
PříspěvekNapsal: 16.02.2015, 00:51 
Offline
Radil

Registrován: 08.10.2013, 18:00
Příspěvky: 296
Has thanked: 12 times
Been thanked: 228 times
Záhada E5 a E6 na MZ700 je velká, ani ROMka to nijak nepoužívala, vzhledem k tomu, že na MZ700 po přepnutí na VRAM a IO do horní paměti jsou adresy E010-FFFFh už odpojené, takže externí periférky můžou spokojeně připojit svou ROM i bez E5. E5 asi odpojovalo navíc ještě VRAM a IO, což by se dalo použít k připojení externího terminálu k MZ700, ale to už je moje fantasmagorie daná pozdní hodinou 8-) Hlavně k čemu by to bylo (no ale, rozvedl bych myšlenku suksofta - cartridge v podobě externího ovladače a nového grafického výstupu na super extra žůžo třeba vektorovou gamesu ?).

MZ800 má porty E5 a E6 evidentně jenom kvůli kompatibilitě a sami vývojáři si asi nedokázali vzpomenout s čím, že je to kompatibilní, tak to nikam nevyvedli.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Snap tlačítko na Unikarte
PříspěvekNapsal: 16.02.2015, 09:14 
Offline
Pan Štábní

Registrován: 11.11.2013, 10:29
Příspěvky: 1200
Has thanked: 363 times
Been thanked: 304 times
Mozna uz je to mimo, ale pred 25ti lety jsem mel na EPROMce pripajenou 8kB RAMku a jeji CS byl prave pripojeny na GDG, kde je CS vyvedeny. Slo to pouzivat jako externi stranku pameti.
Zaver: Taky nevim, k cemu to bylo. Proste je to implementovane v logice GDG a vyvedene na jeden vyvod a ten je vyvedeny na nejaky test pad. Ale, jak uz tady zaznelo, bez vnitrnich hw uprav to neni pouzitelne.
Mimochodem: mej jsem taky Sharpa prepinatelneho do TURBO rezimu a dokonce to fungovalo. Nakonec to skoncilo ze stejneho duvodu (nenaslo se pouziti) v propadlisti dejin.

_________________
Sharp MZ-800++, MZ-1500++, MZ-2500++, SM-B-80T, MK-14_replica, HP-85, ZX-80+replica, ZX81, ZX-Spectrum+replica++, PMI-80+replica, SAM coupe++, PMD-85-2A+3, Didaktik-M, SORD-M5, TI-57, TI-59+PC-100, TI99/4A, ZetaV2+ppp, ZX-uno, Petr


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Snap tlačítko na Unikarte
PříspěvekNapsal: 17.02.2015, 19:58 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2728
Has thanked: 144 times
Been thanked: 422 times
Kluci vcera jsem dostal smsku kde se muj znamy pta zda by alespon neslo udelat to ze by snapshot z emulatoru nesel pres unikartu spustit na realnem stroji.

To je obecne mozne. Kazdopadne ale musi byt nekde na unikarte ulozene 64+32KB pameti + nastaveni pocitace a registru. Tato pamet musi byt pristupna lehce pres nejake INI a nesmi se vyuzivat zadneho pametoveho systemu jako je cp/m. Duvod je ten ze loader musi byt maly a pokud mozno realokovatelny. Take je problem kam umistit vlastni spoustec aby neprepsal nejakou cast vlastniho programu. Dalsi velky problem je spravne nastavit preruseni a citace. Take je otazka zda resit synchronizaci obrazu a snapshotu aby byl program spusten ve stejny cas jako byl zastaven. Nesmi se take zapomenout ze R registr a ze se neustale meni. Proste tech problemu je dost.

Osobne si myslim ze lepsi vyuziti casu je pokracovat v diskusi o MEMEXT. Pamet, to je ceho ma Sharp nedostatek.

Osobne chci jit cestou http://numato.com/saturn-spartan-6-fpga ... sdram.html, zde je 136 vyvodu. cca 40 pouzit pro Z80 cpu a 40 pro vlastni pripojeni do pocitace. 56 zustanou volne pro sram pamet a pomocne obvody. Voltage-level translator bych chtel udelat z DIP soucastek - ty uz mam doma od Farnella. Samozrejme SMD by bylo z prostorovych duvodu lepsi ale kdyz by projekt byl kompletne THT tak ma vetsi sanci na rozsireni.

Vlastni fpga ma takovy vykon ze je schopen simulovat vetsinu periferii. S malou pameti je schopen emulovat klidne i 1MB ramdisk. Jako pomocnou desku pro rozjezd jsem si koupil http://www.smarthome.jigsy.com/fpga. Mimochodem nejsem sam co si to z tohoto fora koupil. Chapu ze je to super kanon na vrabce ale stejne nez budou vysledky tak rok utece a vse bude rapidne levnejsi.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 10 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 8 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz