Másolás mircodrive-ra vs ZX Interface 1 ramtop
Másolás mircodrive-ra vs ZX Interface 1 ramtop
Sziasztok!
Amióta van v-driveom rááltam, hogy a kazettás játékokat átrakom microdrive-ra. Ez alapból a multiface 128-al rutin művelet, mert betöltöm a programot és rögtön a kezdőképernyőnél kiírom a teljes ram tartalmat multiface-el microdrive-ra.
Viszont szeretnék ennél elegánsabb megoldást, azaz előbb legyen betöltőképernyő és utána töltse a programot. Persze nem mindegyik játékkal lehetséges ez, de legalább azokkal szeretném, amik nem használnak komolyabb titkosítást. A Pyjamarama-val és a Dynamite Dan-al ment is ahogy kell, de egyes programoknak olyan alacsonyan van a ramtop (pl. CLEAR 24000), hogy a microdrive parancsok már elakadnak "Out of memory" hibaüzenettel.
Ennek áthidalására létezik valami egyszerű megoldás?
Amióta van v-driveom rááltam, hogy a kazettás játékokat átrakom microdrive-ra. Ez alapból a multiface 128-al rutin művelet, mert betöltöm a programot és rögtön a kezdőképernyőnél kiírom a teljes ram tartalmat multiface-el microdrive-ra.
Viszont szeretnék ennél elegánsabb megoldást, azaz előbb legyen betöltőképernyő és utána töltse a programot. Persze nem mindegyik játékkal lehetséges ez, de legalább azokkal szeretném, amik nem használnak komolyabb titkosítást. A Pyjamarama-val és a Dynamite Dan-al ment is ahogy kell, de egyes programoknak olyan alacsonyan van a ramtop (pl. CLEAR 24000), hogy a microdrive parancsok már elakadnak "Out of memory" hibaüzenettel.
Ennek áthidalására létezik valami egyszerű megoldás?
- Bali
- Alapító tag
- Hozzászólások: 2503
- Csatlakozott: 2012.01.06. 12:34
- Tartózkodási hely: Budapest III.
- Kapcsolat:
Re: Másolás mircodrive-ra vs ZX Interface 1 ramtop
Dícséretes, mégiscsak úgy szép, ha minden szépen megvan. Manapság minden játék elérhető szerintem tap formátumban, ott talán már nem futsz bele túl bonyolult dolgokba.
Nekem sajnos nem volt anno microdrive-om, de viszont most már nyilván van és van egy asszem Interface III nevű illesztőm, ami kazetta - MD irányú program másolásra született. Esetleg megnézem, hogy ez mit kezd ilyen programokkal.
Esetleg 1-2 példát írj, ami nem ment.
Nekem sajnos nem volt anno microdrive-om, de viszont most már nyilván van és van egy asszem Interface III nevű illesztőm, ami kazetta - MD irányú program másolásra született. Esetleg megnézem, hogy ez mit kezd ilyen programokkal.
Esetleg 1-2 példát írj, ami nem ment.
-= Bali =-
(c) 1983-2017 Evil-Soft
(c) 1983-2017 Evil-Soft
Re: Másolás mircodrive-ra vs ZX Interface 1 ramtop
Pl. Tirnanog
Nagyon egyszerű basic loadere van, egy screen és egy code blokkot tölt be, semmi trükközés, viszont a ramtopot CLEAR 24099-re állítja és a gépi kód indítási címe 24100.
A 24555-nél kisebb ramtop viszont "out of memory" hibát okoz microdrive utasításoknál.
Nagyon egyszerű basic loadere van, egy screen és egy code blokkot tölt be, semmi trükközés, viszont a ramtopot CLEAR 24099-re állítja és a gépi kód indítási címe 24100.
A 24555-nél kisebb ramtop viszont "out of memory" hibát okoz microdrive utasításoknál.
- Bali
- Alapító tag
- Hozzászólások: 2503
- Csatlakozott: 2012.01.06. 12:34
- Tartózkodási hely: Budapest III.
- Kapcsolat:
Re: Másolás mircodrive-ra vs ZX Interface 1 ramtop
-= Bali =-
(c) 1983-2017 Evil-Soft
(c) 1983-2017 Evil-Soft
-
- Alapító tag
- Hozzászólások: 353
- Csatlakozott: 2012.01.09. 18:18
- Rádióamatőr hívójel: HG5BMU
- Tartózkodási hely: Surány
- Kapcsolat:
Re: Másolás mircodrive-ra vs ZX Interface 1 ramtop
nem szép de hatásos:
lementesz töltés közben egy screent, és egy teljes snap-ot, írsz egy saját betöltőt ami betölti a képet majd a snapshotot.
kicsit szebb:
töltés közben multifacéval megkeresed a betöltő utáni program indulást, amíg még megvan a betöltő képernyő, az ott levő utasítások helyére beírsz egy jp 102h (nmi), a betöltés végén indul a multiface, visszaírod ez eredeti byteokat és snap mentés
ha el sem indul a magnórol töltés a ramtop miatt, ott ezt microdrive nélkül kell megcsinálni.
lementesz töltés közben egy screent, és egy teljes snap-ot, írsz egy saját betöltőt ami betölti a képet majd a snapshotot.
kicsit szebb:
töltés közben multifacéval megkeresed a betöltő utáni program indulást, amíg még megvan a betöltő képernyő, az ott levő utasítások helyére beírsz egy jp 102h (nmi), a betöltés végén indul a multiface, visszaírod ez eredeti byteokat és snap mentés
ha el sem indul a magnórol töltés a ramtop miatt, ott ezt microdrive nélkül kell megcsinálni.
Re: Másolás mircodrive-ra vs ZX Interface 1 ramtop
Vagy pedig követni az Spectrum programok átírása EP-re cikksorozatot, és alkalmazni a jelen esetre 
Ilyenkor mi azzal kezdjük a dolgot, hogy megállapítani az eredeti programról, hogy milyen fájlokat hova tölt be, mi az indítási cím. És aztán írunk egy saját betöltőt, ami ezt elvégzi.
Itt is csak ennyi kell, egy saját betöltő ami az aktuálisan használt háttértárhoz (microdrive-on kívül ugyan ez érvényes SpeccyDOS-ra vagy más floppy vezérlőre is) igazodva elvégzi a betöltést. Ezt egyszer kell megírni, aztán mindig csak be kell írni az aktuális programhoz tartozó címeket.
Legcélszerűbb .TAP verziókból kiindulni, ezek már mentesek a mindenféle spéci betöltőktől, bár mindenféle eszeveszett listázhatatlan (vagy listázható, de Pgyuri kivételével mindenki számára felfoghatatlan tartalmú
) BASIC betöltő előfordulhat. Éppen ezért én nemes egyszerűséggel a ROM LOAD belépési pontjára tett breakpoint-tal állok neki, szépen felírva, hogy mit, hova tölt. A programfájl betöltése után tovább léptetve a debuggert pedig meg lesz az indító rész is.

Ilyenkor mi azzal kezdjük a dolgot, hogy megállapítani az eredeti programról, hogy milyen fájlokat hova tölt be, mi az indítási cím. És aztán írunk egy saját betöltőt, ami ezt elvégzi.
Itt is csak ennyi kell, egy saját betöltő ami az aktuálisan használt háttértárhoz (microdrive-on kívül ugyan ez érvényes SpeccyDOS-ra vagy más floppy vezérlőre is) igazodva elvégzi a betöltést. Ezt egyszer kell megírni, aztán mindig csak be kell írni az aktuális programhoz tartozó címeket.
Legcélszerűbb .TAP verziókból kiindulni, ezek már mentesek a mindenféle spéci betöltőktől, bár mindenféle eszeveszett listázhatatlan (vagy listázható, de Pgyuri kivételével mindenki számára felfoghatatlan tartalmú

Re: Másolás mircodrive-ra vs ZX Interface 1 ramtop
Az indítási cím megtalálása és a basic betöltő analizálása rendben van, igazából csak abban reménykedtem, hogy hátha valaki ismer egy egyszerű megoldást a ramtop problémára.
Így viszont marad az általad javasolt megoldás: a saját betöltő írása. Konzerv megoldást, azaz hardveres vagy szoftveres másolót, stb. nem akarok használni, arra ott a multiface.
Így viszont marad az általad javasolt megoldás: a saját betöltő írása. Konzerv megoldást, azaz hardveres vagy szoftveres másolót, stb. nem akarok használni, arra ott a multiface.
-
- Alapító tag
- Hozzászólások: 353
- Csatlakozott: 2012.01.09. 18:18
- Rádióamatőr hívójel: HG5BMU
- Tartózkodási hely: Surány
- Kapcsolat:
Re: Másolás mircodrive-ra vs ZX Interface 1 ramtop
Az a kérdés, hogy az IF1 betöltéskor elviseli -e ha az éppen töltött adat felülírja a basic rendszerváltozó és munkaterületét.
a magnós betöltő miután töltési pareméterekkel meg van hívva tulajdonképpen majdnem a teljes ram-ot egyben be tudná tölteni (16384-65535-ig) a rom load rutin használ néhány call és push-pop utasítást, ezeknek kell pár byte-ot hagyni a veremben. Az sem gond, ha a visszatérési cím is felülírodott, ott folytatódik a program.
emlékszem a magnós másolóprogramoknál is volt olyan, hogy egy block nem fért bele a másolóprogramba. (super50k előnyben)
elképzelhető, hogy egyes programoknál annyira "dugig" van a ram, így a munkaterület rész felülírása problémás lehet, ha az if1-e keresztül történik a betöltés
a magnós betöltő miután töltési pareméterekkel meg van hívva tulajdonképpen majdnem a teljes ram-ot egyben be tudná tölteni (16384-65535-ig) a rom load rutin használ néhány call és push-pop utasítást, ezeknek kell pár byte-ot hagyni a veremben. Az sem gond, ha a visszatérési cím is felülírodott, ott folytatódik a program.
emlékszem a magnós másolóprogramoknál is volt olyan, hogy egy block nem fért bele a másolóprogramba. (super50k előnyben)
elképzelhető, hogy egyes programoknál annyira "dugig" van a ram, így a munkaterület rész felülírása problémás lehet, ha az if1-e keresztül történik a betöltés