OldComp.cz

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


Právě je 29.03.2024, 00:32

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 13 ] 
Autor Zpráva
 Předmět příspěvku: Snapshot stavu v emulátoru ZX Spectrum
PříspěvekNapsal: 23.11.2016, 19:03 
Offline
Radil
Uživatelský avatar

Registrován: 12.05.2013, 20:32
Příspěvky: 457
Bydliště: Kladno
Has thanked: 46 times
Been thanked: 118 times
Zdravím,

Potřebuju menší informaci. Existuje nějaký univerzálni formát souboru Snapshot který neznám, typu SNA, Z80? Potřebuju ukládat Snapshoty stavu emulovaného ZX v mém emulátoru LnxSpectrum. Problém je že neznám žádný takový, ve kterém bych mohl uložit Snapshot například s rozšířenou pamětí Troller, nebo DG192. Budu muset vytvořit vlastní, nový (a další) typ souboru Snapshot? Nebo existuje nějaký univerzální, ve kterém by to šlo ukládat? Díkes za info ;)

_________________
>>eLeMeNt, MB03+, Amiga 1200, ZX Spectrum 128 +2A, ZX Spectrum+, Didaktik Gama, LnxSpectrum, LnxTracker, LnxAmigaImageConvertor, https://www.ilnx.cz <<


Nahoru
 Profil  
 
PříspěvekNapsal: 23.11.2016, 20:13 
Offline
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10111
Bydliště: Praha
Has thanked: 1953 times
Been thanked: 1517 times
Viděl jsem i Z80 se 128k softem. Jestli to bylo ale limitované na 128k nebo by to zvládlo i 192k, to nevím :-(

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


Nahoru
 Profil  
 
PříspěvekNapsal: 23.11.2016, 20:16 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2332
Has thanked: 303 times
Been thanked: 637 times
ZXS používaný emulátorem Fuse, ZX32 a dalšími? (soubory mají signaturu ZXST v prvních 4 bytech)

Nevím jestli je schopnější, resp. dost schopný, protože dokumentace je dost strohá a stará, ale zdá se být rozšiřitelný. Viz http://www.oocities.org/zx32home/zxs.html

Céčkový kód je např. v utilitě libspectrum (http://fuse-emulator.sourceforge.net/libspectrum.php)

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


Nahoru
 Profil  
 
PříspěvekNapsal: 24.11.2016, 10:48 
Offline
Radil
Uživatelský avatar

Registrován: 12.05.2013, 20:32
Příspěvky: 457
Bydliště: Kladno
Has thanked: 46 times
Been thanked: 118 times
Díky. Díval jsem se na ně. Z80 umí hodně druhů počítačů (klasiku až po Pentagon a Timex). Nic jiného a neznámého se k němu přidat nedá. ZXS je RIFF kontajner (někdo bude znát jako IFF (Amiga obrázky), nebo TIFF. Oba formáty mají jedno společné. Model počítače má vždy konkrétní číslo. Model DG192 tam samozřejmě nenajdu :) A když mu přiřadím nějaké volné, za týden ho můžou přeplácnout nějakým ruským klonem. Pak jsem ani v jednom nenašel možnost ukládat stavy všech registrů AY (nedej bože TurboSound).

Takže možnosti jsou: Bud použiju ZXS, který bude čitelný na 95 % jen v mém emulátoru - všude jinde bude pravděpodobně házet chybu (snad jen v případě ZX48 a ZX128 by to bylo OK), nebo vlastní formát. Uvidím co bude snažší.

_________________
>>eLeMeNt, MB03+, Amiga 1200, ZX Spectrum 128 +2A, ZX Spectrum+, Didaktik Gama, LnxSpectrum, LnxTracker, LnxAmigaImageConvertor, https://www.ilnx.cz <<


Nahoru
 Profil  
 
PříspěvekNapsal: 24.11.2016, 14:01 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2332
Has thanked: 303 times
Been thanked: 637 times
Lanex píše:
Model počítače má vždy konkrétní číslo. Model DG192 tam samozřejmě nenajdu
A co to udělat vochcaně (čti šalamounsky vychytrale). Implementuj Didaktik Gama 192k do Fuse emulátoru, což by mohlo být relativně snadné, domluv se s vývojáři na přiřazení identifikátoru do ZXS formátu a tím se stav defakto standardizuje pro všechny emulátory, protože Fuse je "dost velký", aby měl sílu něco prosadit.

Bylo by to ku prospěchu všem, protože třeba já, jako linuxák wokenní emulátory nepoužívám (Wokna mám jen na některých servisních PC, ne na vlastních a osobních = nepoužívám Wokna pro zábavu ani emulátory), ale nebyl bych proti, kdyby někde DG192k šel emulovat (ačkoli potřeba je malá až nepatrná, konec konců má proti ZX 128k+ jen tu 8255 navíc a 48k časování, krom toho mám skutečný hardware).

S tou AY si nejsem jistý, opravdu ani Fuse registry AY neukládá? Příležitostně zkusím, protože si nepamatuju, že by někdy po načtení AY zlobila. Na druhou stranu nevím, jestli hrající AY po načtení snapshotu pokračuje v hraní, nebo jen čeká na nová data v resetovaném stavu.

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


Nahoru
 Profil  
 
PříspěvekNapsal: 24.11.2016, 17:19 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Stav AY niektore snapy (Z80) ukladaju, ine (SNA) nie.

V praxi ale s tym problem nebyva, pretoze 99% vsetkych hudieb na AY funguje tak, ze kazdu pedesiatinu posielaju vzdy cely obsah AY (obalka eventualne na zaciatku kazdej hranej noty) takze pripadne neulozenie AY obvykle nesposobi problem so zvukom. Ale samozrejme z principu by sa aj stav AY mal vzdy ukladat.


Nahoru
 Profil  
 
PříspěvekNapsal: 24.11.2016, 19:53 
Offline
Radil
Uživatelský avatar

Registrován: 12.05.2013, 20:32
Příspěvky: 457
Bydliště: Kladno
Has thanked: 46 times
Been thanked: 118 times
Stav AY bych chtěl v mém emu ukládat. Například při vytvoření snapshotu při hraní hudby ve hře Chronos se stav AY neobnoví a po "reinkernaci" bude mimo. Detail. Ale... chci :)

Další problém je že chci ukládat třeba Trollera nebo Lamače. To by bylo další ID pro Fuse. Nebo Sparrow. Potřebuju fileformát nepodporující jen všeobecně známé stroje či rozšíření. Něco jako XML.

Nebo stav DivIde. Nebo stav TurboSound. :)

_________________
>>eLeMeNt, MB03+, Amiga 1200, ZX Spectrum 128 +2A, ZX Spectrum+, Didaktik Gama, LnxSpectrum, LnxTracker, LnxAmigaImageConvertor, https://www.ilnx.cz <<


Nahoru
 Profil  
 
PříspěvekNapsal: 25.11.2016, 09:02 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Lanex píše:
Nebo stav DivIde. Nebo stav TurboSound. :)
Alebo stav MB02, vratane RAM 512kB a aktualneho nastavenia DMA, FDC a 8255 :)

Obavam sa ze nic take neexistuje. Budes si ho musiet vymysliet...


Nahoru
 Profil  
 
PříspěvekNapsal: 25.11.2016, 11:04 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.06.2013, 20:26
Příspěvky: 2487
Has thanked: 115 times
Been thanked: 424 times
Busy píše:
Lanex píše:
Nebo stav DivIde. Nebo stav TurboSound. :)
Alebo stav MB02, vratane RAM 512kB a aktualneho nastavenia DMA, FDC a 8255 :)
Obavam sa ze nic take neexistuje. Budes si ho musiet vymysliet...

A pokud ho narozdíl od jiných formátů uděláš rozumně rozšiřitelný, třeba po čase zjistíš, že jsi stvořil vítěze... :speccy: :thumbup:

_________________
"Je lepší rozsvítit byť jen malou svíčku, než jen proklínat temnotu." (Konfucius)

www.zxsparrow.com


Nahoru
 Profil  
 
PříspěvekNapsal: 27.09.2017, 10:35 
Offline
Radil
Uživatelský avatar

Registrován: 12.05.2013, 20:32
Příspěvky: 457
Bydliště: Kladno
Has thanked: 46 times
Been thanked: 118 times
Ahoj všem! Ačkoliv to nedělám úplně rád, vytvořil jsem a přidal do mého emulátoru (LnxSpectrum) nový formát pro Snapshot. Má koncovku LSN, a umí mimo základních stavů Z80 procesoru ukládat:

- stavy čipů AY a SAA včetně TurboSound (po načtení SNA se přehrávaná hudba u AY správně neobnoví cca v 10 % případů, u SAA v 99 %. S LNS se obnoví vždy :) )
- stav ULA Plus
- Celý pamětový prostor u Didaktik Gama 80 (včetně stavu 8255)
- Celý pamětový prostor Didaktik Gama 192
- Celý pamětový prostor u rozšíření Lamač a Troller
- Stav ZX Sparrow s MultiROM (v tomto případě se do LSN ukládá i celý obsah ROM, protože může být unikátní)

Chci přidat ještě ukládání stavu DMA, a DivIDE. S DivIDE je ale menší problém. Určitě bych chtěl ukládat stav DivIDE a jeho RAM, ale hrozí tady poškození připojeného Image disku (v případě že by po obnovení nebyl připojený stejný Image jako při ukládání, nebo byl pozměněn jeho obsah). Celý obsah disku ukládat do LSN se mi moc nechce (byl by v tom guláš). Máte nějaký nápad jak to řešit?

_________________
>>eLeMeNt, MB03+, Amiga 1200, ZX Spectrum 128 +2A, ZX Spectrum+, Didaktik Gama, LnxSpectrum, LnxTracker, LnxAmigaImageConvertor, https://www.ilnx.cz <<


Nahoru
 Profil  
 
PříspěvekNapsal: 27.09.2017, 13:22 
Offline
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10111
Bydliště: Praha
Has thanked: 1953 times
Been thanked: 1517 times
Ten uložený stav DivIDE by měl jaké využití?

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


Nahoru
 Profil  
 
PříspěvekNapsal: 27.09.2017, 14:01 
Offline
Radil
Uživatelský avatar

Registrován: 12.05.2013, 20:32
Příspěvky: 457
Bydliště: Kladno
Has thanked: 46 times
Been thanked: 118 times
Primárně jde o to uložit stav DivIDE RAM. Nějaká aplikace (nebo hra) která by využívala DivIDE RAM by se dala Snapnout, a dodělat / dohrát až příjde člověk z hospody. Pro příklad můžu uvést upravené hry ze 128 na 48+DivIDE RAM. Nebo ozvučené hry pro AY / SAA na 48, kde by zvuky / hudba musela být třeba v DivIDE RAM.

Když nad tím tak uvažuju, nejlepší asi bude při nahrávání takového Snapshotu odpojit Image disku úplně. Stav RAM zůstane zachován, hra poběží dál. Možnost komunikace s diskem nebude funkční. Tím se předejde jeho poškození. U aplikací které komunikaci s diskem vyžadují nebude Snapshot stejně potřeba, protože pravděpodobně budou umět rozdělanou práci ukládat rovnou na disk.
:jump:

_________________
>>eLeMeNt, MB03+, Amiga 1200, ZX Spectrum 128 +2A, ZX Spectrum+, Didaktik Gama, LnxSpectrum, LnxTracker, LnxAmigaImageConvertor, https://www.ilnx.cz <<


Nahoru
 Profil  
 
PříspěvekNapsal: 27.09.2017, 15:28 
Offline
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10111
Bydliště: Praha
Has thanked: 1953 times
Been thanked: 1517 times
Aha. Tak můj blbý dotaz vzešel z toho, že netuším, že nějaké aplikace využívají RAM na DivIDE :-)

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


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ů: 13 ] 

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:  
cron
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz