Welcome, Guest. Please login or register.


Author Topic: HW snapshot AKA savegame slots ... (Read 5446 times)

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
HW snapshot AKA savegame slots ...
« on: 2015.July.28. 22:02:02 »
SzörG (megnesértődjenekakiknekszintén) áldásos tevékenysége folytán ugye mostanság bárkinek elérhető (ha nem is épp gyorsan ... :)) az SD cartridge.

Ami ugye egy megaálomszuperség ... egy síma szűz EP -hez csatlakoztatva, veszettgyors, nagyméretű háttértár, ami mostmár ráadásul bepasszol az eredeti cartridge házba is, vagyis esztétikailag is sértetlen marad tőle az EP, Zozo pedig szokás szerint megoldotta azt is, hogy a cartridge -ból a megszokott szoftverbővítések se hiányozzanak.

Vagyis ottvan mindenkinek a vas álom EP konfigja, és menüből elindíthatja a cuccát amivel nyomulni akar.

Eddig szuper.

Aztán elkezd játszani bármivel, játszik egy-két órát, valamennyit előrejut mondjuk egy TRN -nel, és másnap vagy egy hét múlva folytatná, de ugye nem szeretné az EP -t addig folyamatosan járatni ...

Emukban ugye ez megoldott, kvázi alapfunkció ... De nekem vason kéne ...

És mostmár itt az SD vezérlő, amibe ráadásul 2 kártyát lehet dugni !

És ha áram alatt nem is szabad cserélni a kártyákat, tökéletes tudna lenni úgy is, ha csak kikapcsolva váltanék snapshot kártyát.

Szóval kéne valami olyasmi hardveres okosság (feltételezem expansion portra), ami egy rászerelt nyomógomb hatására befagyasztja az EP -t, és elmenti a teljes hw állapotot az SD kártyára, természetesen memóriástól, regiszterestől, "mindenestől", és persze képes ugyanezt megcsinálni visszafele is, és folytattatni az EP -vel a futtatást.

Ez egy gigára bővített gépen 1G lenne, de azért a legtöbb gép nem is gigás, meg hát gyors is az SD, meg hely is lenne az SD kártyákon dögivel.

Részleteiben nem kéne túlspilázni (mindíg azzal van a legtöbb meló), hanem ékegyszerűre kéne csinálni,
tehát nem kéne pld. kompatibilisnek lennie pld. az ep128emu snapshot -jával, vagy nem kéne file szinten kezelni az SD karit, csak raw -ban irni/olvasni rá/róla az anyagot,
akár még az sem muszály hogy egy kártyán egyszerre tudjak több ilyen snapshotot eltárolni, majd veszek 10 SD kártyát, ha 10 ilyen save slot kéne nekem ...

Szóval a kérdés az lenne, vajon mekkora meló lehetne ez ?

Gondolom az első nehézség az lehetne, hogy vannak csak írható hardver portjaink, amiket nem tudunk visszaolvasni, úgyhogy azokat ennek a hardvernek monitoroznia kéne az íráskor, és meg kéne jegyezze párhuzamosan, hogy a mentésnél tudja, hogy mit kell majd kimentenie, és természetesen visszaállításkor visszaírnia a regiszterbe.

Én ugyan azt sem tudom hogy ez mennyire lenne nehéz, de felteszem lennének még nehézségek dögivel ... melyek lehetnek ezek ? Vajon hány százalékosan lehet elmenteni/visszaállítani egy ilyen EP szintű hardver állapotát ? Lehet hogy nem lehetne rendesen megcsinálni, hogy mittudomén pld. csak 1-2 demó időzítésénél ne legyen tökéletges, vagy ilyesmi ?

Mondjuk talán annyit lehetne cizellálni a fícsőrkészletén, hogy ha mégis könnyebben megoldható lenne a több slot kezelése egy kártyán (és rá is fér N slot a kártyára az adott hw memóriaméret alapján), akkor oly módon lehetne több slot -ot kezelni egy kártyán, hogy nem csak 2 nyomógomb lenne a hardveren hanem 4 vagy 8, minden gomb egy slot -hoz tartozna.

De továbbra sem kéne semmi kijelző, válogató meg böngésző elektronika/funkció.

Ez arra lenne jó, hogy játék közben is nem csak egy, hanem több állást tudnék kezelni, mert ha a kártyán csak egy slot lehetne, akkor a betöltött állást tudnám csak felülírni vagy nem felülírni, mivel a kártyát csak kikapcsolás után cserélhetném.

Azonban ha ez lenne a bonyolítás, akkor akár a kártyánként egy slot is tökéletes lehetne.

De gondolom, nem ez lenne az igazán nehéz a dologban ...

Na szóval mik a meglátások ? Mennyire lenne ez nehéz dolog ?
Z80 System

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HW snapshot AKA savegame slots ...
« Reply #1 on: 2015.July.28. 22:20:18 »
Szerintem ez - egyszeruen legalabbis - nem lehetseges. Pl a Nick regiszterek write-only. Nem tudod kiolvasni. Elvileg persze lehetne olyan hw-t epiteni, ami a buszon figyeli, hogy megy-e a Nick-nek (es ha mar itt tartunk mashova is hasznos lehet) vmi port iras, es az is "megjegyzi" (aztan azt lehet lementeni), de ez igy maris bonyolultabb. 100%-osra meg szerintem elvileg se lehet megcsinalni, ertsd pl ugy, hogy a Nick melyik rasztersorban allt eppen stb, es onnan folytatni. Bar erre lehet keves jatek kenyes, de pl adott esetben VINT-el stb, nem biztos, hogy teljesen mindegy. Az ep128emu lement olyan dolgokat is mint pl ez. Ezt egy valodi hw-n nagyon nehez - ha nem lehetetlen - lenne megoldani. Persze, ha ilyen "finomsagokat" bealdozzuk, akkor lehetne pl 256 byte RAM-ot tenni a busz bovitore, amit rendhanyo modon az IORQ altal kapuzva lenne irva es nem az MREQ-val, igy aztan abbol olvasva megvan az osszes I/O port allapot. Elvileg ... De akkor meg nem vettunk figyelembe olyan dolgokat, hogy pl egyes Dave portok irasanak kihatasa van az interrupt-okra, miegymas. Haaaat nem tudom. Eleg megnezni az ep128emu snapshot formatumat, hogy mik vannak tarolva benne (en is csak egy reszet hasznaltam fel az JSep-ben hogy be tudja tolteni, ettol finoman szolva nem is tokeletes!!!).

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: HW snapshot AKA savegame slots ...
« Reply #2 on: 2015.July.29. 08:45:15 »
A probléma a kimentés indításával van. Pl. Spectrumon az NMI használatos erre, ott a belépés a ROM-ban van, ahova a kártya ROM-ja is kerülhet. Nálunk RAM-ban, szabadon felhasználható területként. Amit sok minden fel is használ, kezdve az IS-BASIC-kel.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HW snapshot AKA savegame slots ...
« Reply #3 on: 2015.July.29. 09:14:21 »
A probléma a kimentés indításával van. Pl. Spectrumon az NMI használatos erre, ott a belépés a ROM-ban van, ahova a kártya ROM-ja is kerülhet. Nálunk RAM-ban, szabadon felhasználható területként. Amit sok minden fel is használ, kezdve az IS-BASIC-kel.

A dolog nem lenne lehetetlen, ha pl NMI utan/elott/tudomisen wait-teli a Z80-ot, kozben viszont nyom Dave port irtast, a 0xB0-ra, hogy belapozzon oda ROM-ot maga ala. Persze, meg is kene jegyeznie mi volt a B0 porton. Szoval ide azert eleg combos hw kene, a tobbi problemarol nem is beszelve.

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: HW snapshot AKA savegame slots ...
« Reply #4 on: 2015.July.29. 10:16:11 »
párhozamosan futtatni kell pc-n egy emut, összekötve az igazi géppel, és azon menteni :)
persze gondolom nem lehet szinkronban tartani őket...
Vigyázat! Szektás vagyok! :)

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: HW snapshot AKA savegame slots ...
« Reply #5 on: 2015.July.29. 14:35:54 »
Biztos meglehetne oldani valahogy. Kismillió ilyen HW létezik.

Multiface, Action replay stb.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HW snapshot AKA savegame slots ...
« Reply #6 on: 2015.July.30. 21:11:56 »
Az SD oldaláról nézve hogy nézne ez ki ? A z80 -nak kéne végeznie a töltés- mentést ?

Úgy értem, hogy nyilván akkor ebben a hardverben kéne lennie kis RAM -nak, amibe a monitorozott HW regisztereket tükrözi le,
meg kellene lennie egy ROM -nak, amiben az a kód lenne, ami a tényleges hozzáférést végzi a z80 által az SD kártyához,
de a RAM az nem látszik a z80 (EXOS) felől, csak a ROM ?

Vagy hogy működhetne egy ilyen ?

Mert ha a RAM nem látszódna a z80 felől, akkor kéne bele valami CPU szerű is, ami a RAM -mal matat,
ha meg látszana a z80 felé, akkor meg az EXOS rátelepedne mint plusz RAM szegmens, nem ?

Szóval van valakinek vázlatosan képe arról, hogy működhetne egy ilyen HW az EP -n ?
Z80 System

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: HW snapshot AKA savegame slots ...
« Reply #7 on: 2015.July.31. 08:37:53 »

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HW snapshot AKA savegame slots ...
« Reply #8 on: 2015.July.31. 08:48:46 »
Az SD oldaláról nézve hogy nézne ez ki ? A z80 -nak kéne végeznie a töltés- mentést ?

Valamit csinalnia kell a Z80-nak is, hiszen pl annak regisztereit nem lehet lekerni (az elmenteshez) "kivulrol" az o kozremukodese nelkul. Es ugye pedig azt mindenkeppen menteni kell, nyilvan.

Quote
Szóval van valakinek vázlatosan képe arról, hogy működhetne egy ilyen HW az EP -n ?

Nem allitom, hogy en ilyet tudnek tervezni, de szerintem talan a kovetkezo. Eloszor is lenne a kartyan nemi RAM meg ROM is (esetleg eleg RAM, ha van valami ami EXOS ROM cuccos ami feltolti a programot az indulasnal). Alapbol ez nem latszik a Z80 szamara sehol, kvazi le van tiltva (esetleg az emlitett feltoltesnel engedelyezheto). A RAM egy 256 byte-os szeletere minden port write kiirja az erteket, hogy meglegyenek az I/O portok (mert ugye nem minden I/O port olvashato vissza EP-n, ami snapshot-kor kellene). Lenne nyilvan vmi "snapshot nyomogomb". Annak aktivalasakor a kartya engelyezni a sajat memoriajat valamilyen nem hasznalt szegmensre (vegulis, ha feltetlezzuk hogy EP nem nyul hozza amugy, nem is kell elerhetetlennek lennie normal allapotban, de igy biztonsagosabb). Z80-tol atveszi a buszt (BUSREQ miegymas), 0xB0-ra kiirja a sajat RAM szegmensszamat, elotte elmenti mi volt. Z80-at "tovabb engedi" de general egy NMI-t is kozben. Igy a belapozott memoriaban levo kod elkezd futni, az nyilvan lemeni a Z80 registerek allapotat, felolvassa az I/O portok mentett allapotat, stb stb. Aztan o vezerelve mondjuk az SD cartridge-et, szepen csinal belole valami mentett allapotot.

Mondjuk, szerintem, itt az lehet a problema, amit emlitettem: a hardware-nek van olyan belso allapota, amit kevesbe lehet menteni, pl hol jart a kepfelepites, miegymas. Igy nem lesz _tokeletesen_ pontos, de talan majdnem mindennek eleg ez kb, nem tudom. Szinten problema lehet, ha mondjuk EXDOS kartya is van, WD-vel mert hogy annak mi az allapota, a floppy fej hol jar miegymas, az eleg nehezen kovetkeztetheto ki szerintem legalabbis. Meg az SD cartridge is problemas lehet, pl mi van, ha a snapshot gomb megnyomasanak pillanataban az SD kartya eppen mar egy neki szolo parancsot hajtott vegre stb, ilyenkor a snapshot betoltese utan ez az info elveszik. Szoval ilyesmiket ertek a kulonbozo hardware-ek belso allapotanak elmentesi hianyabol fakado problemak alatt ...

Szerintem nem lenen a dolog tul egyszeru, de mar eleve mint "gondolatkiserlet" erdekes felvetes.

Az kulon erdekes lenne, ha az ep128emu altal is hasznalt snapshot formatumba mentene (meg ha nem is feltetlen lenne benne "minden kitoltve" pl az emlitett hw belso allapota) ugyanis akkor lenne remeny, hogy valodi EP-n mentett snapshot emulatorba betoltheto, vagy forditva, emulatorban mentett snapshot allpot valodi HW-n (nyilvan ez utobbi csak akkor ha amugy HW jellemzok egyeznek, pl RAM mennyisege es a rendszerben levo ROM mennyisege+tartalma, hiszen ezeket nem lehet valodi HW-n csak ugy beallitani snapshot alapjan!).

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: HW snapshot AKA savegame slots ...
« Reply #9 on: 2015.July.31. 08:57:45 »
IstvánV tudna erről igazán mesélni. Ö ugyanis az emuban megoldotta a Snap mentést és visszatöltést. Úgyhogy szerintem Ez vason is megoldható lenne.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HW snapshot AKA savegame slots ...
« Reply #10 on: 2015.July.31. 09:05:10 »
IstvánV tudna erről igazán mesélni. Ö ugyanis az emuban megoldotta a Snap mentést és visszatöltést. Úgyhogy szerintem Ez vason is megoldható lenne.

Valoban, de pont azert is mondtam, mert az ep128emu snapshot formatumat JSep-ben (alias "webemu") megirtam ugye, hogy be lehessen tolteni, szoval van fogalmam annak formatumarol es mukodeserol is. JSep eseten is az a baj, hogy a hw belso allapotanak jo resze nincs betoltve, mert az ep128emu "kisse" maskep mukodik mint az JSep, meg ugye pontosabb emulator is, szoval egy csomo dolgot "nem tudtam hova tenni" :) Ennek ellenere altalaban mukodik :) Valodi hw eseten meg fokozottabban igaz ez hw belso allapota cimu problema, egy amulatorban megtehet barmit az ember amit valodi hw-n nem, vagy sokkal nehezebben ... Pl nincs mod arra, hogy lekerdezd (tudtommal), hogy a Nick eppen melyik rasternel tart, melyik slot-nal ... Nyilvan onnan folytatni meg meg kevesbe tudja "parancsra" (visszatoltes). Igaz, ezzel pl az JSep sem foglalkozik nemes egyszeruseggel :)

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: HW snapshot AKA savegame slots ...
« Reply #11 on: 2015.July.31. 09:17:40 »
Volt több Action replay-om is. Azok valami olyasmit csinálnak, hogy megkerülik az alapgépet és átveszik az irányítást az alapgép tudta nélkül. A neten van erről leírás, csak ugye angolul. Én azt meg alig értem. :)
Kicsit olyan ez, hogy a UPC Box teljesen átalakítja a 15 éves Tv-met, szórakoztató centrummá. :)
« Last Edit: 2015.July.31. 09:26:08 by nyuzga »

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: HW snapshot AKA savegame slots ...
« Reply #12 on: 2015.July.31. 14:27:21 »
Volt több Action replay-om is. Azok valami olyasmit csinálnak, hogy megkerülik az alapgépet és átveszik az irányítást az alapgép tudta nélkül. A neten van erről leírás, csak ugye angolul. Én azt meg alig értem. :)

Sose volt Action Replay-em, de szerintem az sem tokeletesen pontos, mert pl C64 eseten se a CPU, se semmi kulso cucc szinten nem lat bele a hw belso allapotaba, szoval annyira tokeletes sosem lesz, mint pl egy emulatorban a snapshot mentes. Bar lehet, ez az esetek 99.99%-ban nem is jelent igazabol problemat, mint emlitettem, csak en fujom fel ennyire :) Mondjuk C64 eseten a floppy az mondjuk egy 1541 eseten egy kulon szamitogep, egyszerubb lepekezni az allapotat, de pl EP eseten a WD IC belso allapotat nem igazan fogod ismerni. Es ha pont akozben van a snapshot, hogy vmi disk muvelet lenne ...

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HW snapshot AKA savegame slots ...
« Reply #13 on: 2015.August.01. 00:51:05 »
Ettől a periféria (drive -ok, SD -k, vagy esetleg egyéb bővítések) dologtól én nem igen félnék ...

A játékok elfutnak alapgépeken, aki snapshot -olva akarna játszani az akár alapgépeken tolhatná,
illetve a játékok futása sztm nem nagyon függene a bővített gépeken a perifériák hardveres állapotaitól.

Egy batman akkor is jól futna sztm. tovább, ha az óra kártya ideje közben megváltozott,
és a snapshot/restore logika ezt nem kezelné.
A lényeg csak hogy a snapshot visszatöltésnél is legyen a gépen órakártya, ha az elmentésnél is volt,
de az órakártya állapotait nem kell tudni visszaállitani.

(Ez csak egy példa, nem lényeges most ha az órakártya állapotai pld. az időt nem is tartalmazzák. Az elv a lényeg.)

A háttértárak (hardvereinek belső állapotai) már persze lehetnek egy kicsit érzékenyebb dolgok,
de a játékok 99% -a nem is továbbtöltős.
Mikor a játék már fut, többé nem fog a háttértárakhoz nyúlni,
magyarul itt a háttértár hardverek belső állapotai is az "órakártya" kategóriába esnek:
tök nem érdekelné az adott játékot hogy mi van velük.

A (nagyon kevés számú) továbbtöltős játékoknál pedig ha az ember figyelne hogy ne a töltés közben nyomja a snapshot -ot,
akkor szerintem a mindenféle töltő/mentő/kezelő kódok sztm. úgyis inicializálják a hardverek -et, mielőtt újabb műveletet végeznének,
tehát ha a floppy fej épp nem ott van most, mint ahol a snapshot mentésnél van (snapshot mentés nem töltés közben volt, emberi figyelemnek köszönhetően!),
akkor az exos úgyis oda forgatja majd, ahova kell a snapshot visszatöltés utáni első játék töltés művelet előtt ...

Szóval sztm. a továbbtöltős játékok sem foglalkoznának a hardver belső állapotaival, nem igényelnék azoknak részletes elmentését/visszaállítását,
úgyis reszetelik ezeket a hardvert kezelő műveletek előtt.

A video, vagy hang funkcionalitásoknál meg remélhetőleg nem használnak ki a játékok olyanokat, hogy pld. elindítanak valamit, ami periodikus, aztán ahhoz képest elindítanak időzítve egy másikat is (pld. másik hang generátor, vagy ilyesmi) és aztán élvezik ezeknek egymásra hatását, és többet nem bírálják ezt felül,
és a snapshot visszatöltés után akkor a visszatöltőnek hasonlö egymáshoz képesti időzítéssel kéne újraindítsa ezeket,
ami nyilván nem tudna teljesülni, hisz ez az alkalmazáslogika része volt .
De ilyen sztm vagy nincs is nagyon a cuccokban, vagy pedig ha mégis van, akkor viszonylag nagy frekivel frissítik ezeket valami alkalmazáslogika szerint,
szóval egész rövid ideig "szólna szarul a zene" vagy "esne szét az időzítés a képen" mert ezek frissítve lennének hamar az amúgy snapshot -ból helyreállt alkalmazáslogika szerint ... nem ?

Szóval én abban reménykednék, hogy (ha nem is elvben) de a gyakorlatban ez zsirozottan működhetne ... nem ?
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: HW snapshot AKA savegame slots ...
« Reply #14 on: 2015.August.01. 01:01:56 »
Quote
Ilyesmire gondolsz ?

Igen és nem.

Igazából nekem az tetszene, ha a már meglévő SD hardvert ki tudná használni a dolog,
az általad linkelt kártya fő funkciója az (síma háttértár) ami a mi SD megoldásunk is,

de ez a kártya valóban tudja (ott írják egy feature pont alatt) a snapshot funkciót is,
amiért én itt epedek ...

Szóval nem így egyben, de íme, specy -re már van is akkor ilyen, felteszem műxik is nekik,
nem csak egy reklám sor ...

Viszont ha ez az újramegvalósítása az SD elektronikának egy követelménye lenne a dolognak,
tehát így egy kártyán egyszerűbb lenne megvalósítani a dolgot, mint olyan "külön" módon ahogy én itt kapisgálni igyekeznék,
akkor rég meg vagyunk lőve, hiszen SD karit se tudnak 50 -en legyártani ... csak SzörG tudta eddig összehozni a dolgot ilyen minőségben, kis helyen, stb ...

Szóval én valahogy abban szeretnék reménykedni, hogy a dolog oroszlánrésze (az SD funkció) az már kész, kompakt, ott figyel a cartridge porton, és bárki vehet, aki ki tudja várni míg megkapja,
és ehhez képest ez a snapshot/restore feature már csak egy kis ujjgyakorlat lenne a bővítő porton ...

Már valakinek, vagy valakiknek ...


Ennek ellenére ha hirtelen valaki egy ilyen kompakt snaphot -os SD megoldást tolna az EP -hez, printelt dobozzal, mint a speccy -hez is ... Nyilván én lennék az első aki tülekednék érte ...
Z80 System