Másolás mircodrive-ra vs ZX Interface 1 ramtop

Hogyan archiváljunk, másoljunk kazettákat, lemezeket vagy tölstünk be manapság...
kpbendi
Hozzászólások: 72
Csatlakozott: 2012.01.09. 14:42

Másolás mircodrive-ra vs ZX Interface 1 ramtop

Hozzászólás Szerző: kpbendi » 2020.04.16. 19:45

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?

Avatar
Bali
Alapító tag
Hozzászólások: 2412
Csatlakozott: 2012.01.06. 13:34
Tartózkodási hely: Budapest III.
Kapcsolat:

Re: Másolás mircodrive-ra vs ZX Interface 1 ramtop

Hozzászólás Szerző: Bali » 2020.04.17. 10:27

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.
-= Bali =-
(c) 1983-2017 Evil-Soft

kpbendi
Hozzászólások: 72
Csatlakozott: 2012.01.09. 14:42

Re: Másolás mircodrive-ra vs ZX Interface 1 ramtop

Hozzászólás Szerző: kpbendi » 2020.04.17. 11:53

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.

Avatar
Bali
Alapító tag
Hozzászólások: 2412
Csatlakozott: 2012.01.06. 13:34
Tartózkodási hely: Budapest III.
Kapcsolat:

Re: Másolás mircodrive-ra vs ZX Interface 1 ramtop

Hozzászólás Szerző: Bali » 2020.04.17. 14:46

Hirtelen beugrott ez a program:

Trans Express by Romantic Robot

Egy próbát megér...
-= Bali =-
(c) 1983-2017 Evil-Soft

csaba
Alapító tag
Hozzászólások: 308
Csatlakozott: 2012.01.09. 19: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

Hozzászólás Szerző: csaba » 2020.04.18. 08:12

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.

Avatar
Zozosoft
Hozzászólások: 804
Csatlakozott: 2012.01.06. 14:03
Kapcsolat:

Re: Másolás mircodrive-ra vs ZX Interface 1 ramtop

Hozzászólás Szerző: Zozosoft » 2020.04.18. 20:56

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ú :D ) 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.

kpbendi
Hozzászólások: 72
Csatlakozott: 2012.01.09. 14:42

Re: Másolás mircodrive-ra vs ZX Interface 1 ramtop

Hozzászólás Szerző: kpbendi » 2020.04.19. 12:52

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.

csaba
Alapító tag
Hozzászólások: 308
Csatlakozott: 2012.01.09. 19: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

Hozzászólás Szerző: csaba » 2020.04.19. 20:37

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

Válasz küldése

Vissza: “Archiválás, betöltés, másolás”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég