Még hagynék időt, hátha valaki még szeretne próbálkozni hétvégén.
Hát igen, az email-re nem gondoltam, de azért az egyértelmű megoldás nincs benne és nem is biztos, hogy mindenki végigolvasta az emlékeztetőt, főleg ha még tervezte megoldani.
Fejtörő (2020-2021)
-
- 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: Fejtörő (2020-2021)
Letelt a segítségekkel könnyített megoldás idő, sajnos egy megfejtés sem érkezett.
13-an töltötték le a file-t, ebből 3 sikeres megoldás született
Egyértelműen kudarc, túl nehézre sikerült, és az aktivitás is siralmas volt, semmi levelezés sem volt a témában a fórumon, de ez mondjuk más témákra is igaz.
Próbáltam valamennyire múltba illő életszerű problémát kreálni, amikor is egy magnó betöltés basic része sérült, és csak egy kódunk van amit be tudunk tölteni.
Mivel a kód csak a pontos címre töltésnél működőképes, nyomot hagytam a kód elején, egy 3 byte-os gépi kódú utasítás formájában. A kód meglétére utalás pedig az a tény, hogy a kód töltési címe 16381 ami ROM terület, csak olvasható, az a 3 byte oda töltődne, viszont teljesen értelmetlen lenne oda tölteni valamit.
A 3 byte: 195,200,175 ami a JP 45000 ugró utasításnak felel meg.
Kiindulva abból a tényből, hogy hacsak más indokunk nincs, a gépi kódú programot az első címtől indítjuk,
ha az egész kódot 45000-re töltenénk ott a JP 45000 utasítás végtelen ciklust eredményezne,
de ha 45000-3 ra akkor már a ugrás utasítás utáni részt elindítva 45000-en működik a program.
Betöltés előtt szokásosan (ha egy kód töltés a ram végére felülírná a processzor vermet) egy CLEAR utasítással felszabadítjuk a töltés területét.
tehát az eredeti betöltő ez lehetett:
13-an töltötték le a file-t, ebből 3 sikeres megoldás született
Egyértelműen kudarc, túl nehézre sikerült, és az aktivitás is siralmas volt, semmi levelezés sem volt a témában a fórumon, de ez mondjuk más témákra is igaz.
Próbáltam valamennyire múltba illő életszerű problémát kreálni, amikor is egy magnó betöltés basic része sérült, és csak egy kódunk van amit be tudunk tölteni.
Mivel a kód csak a pontos címre töltésnél működőképes, nyomot hagytam a kód elején, egy 3 byte-os gépi kódú utasítás formájában. A kód meglétére utalás pedig az a tény, hogy a kód töltési címe 16381 ami ROM terület, csak olvasható, az a 3 byte oda töltődne, viszont teljesen értelmetlen lenne oda tölteni valamit.
A 3 byte: 195,200,175 ami a JP 45000 ugró utasításnak felel meg.
Kiindulva abból a tényből, hogy hacsak más indokunk nincs, a gépi kódú programot az első címtől indítjuk,
ha az egész kódot 45000-re töltenénk ott a JP 45000 utasítás végtelen ciklust eredményezne,
de ha 45000-3 ra akkor már a ugrás utasítás utáni részt elindítva 45000-en működik a program.
Betöltés előtt szokásosan (ha egy kód töltés a ram végére felülírná a processzor vermet) egy CLEAR utasítással felszabadítjuk a töltés területét.
tehát az eredeti betöltő ez lehetett:
A hozzászólást 3 alkalommal szerkesztették, utoljára csaba 2021.01.11. 16:48-kor.
-
- 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: Fejtörő (2020-2021)
Érdekességképp, a kiindulás egy basic program ami compiler-el lett lefordítva, hogy ne legyen elviselhetetlenül lassú.
- Bali
- Alapító tag
- Hozzászólások: 2503
- Csatlakozott: 2012.01.06. 12:34
- Tartózkodási hely: Budapest III.
- Kapcsolat:
Re: Fejtörő (2020-2021)
Nahát megtréfált a dolog, mert nagyon BASIC-et akartam benne látni, egy darabig azon mesterkedtem, hogy valahogy úgy töltsem be, hogy előtünjön a BASIC program. 
Aztán amikor debuggerrel néztem már gyanús lett az a jp 45000.
Amúgy egy érdekesség, amit először fícsörnek is hittem, hogy ha csak úgy pongyolán LOAD""CODE 45000-3-mal töltitek be a progit, akkor magától elindul. Tehát semmi CLEAR és a LOAD"" CODE 44997 sem jó.
Köszi a fejtörőt, jól szórakoztam vele.

Aztán amikor debuggerrel néztem már gyanús lett az a jp 45000.
Amúgy egy érdekesség, amit először fícsörnek is hittem, hogy ha csak úgy pongyolán LOAD""CODE 45000-3-mal töltitek be a progit, akkor magától elindul. Tehát semmi CLEAR és a LOAD"" CODE 44997 sem jó.

Köszi a fejtörőt, jól szórakoztam vele.
-= Bali =-
(c) 1983-2017 Evil-Soft
(c) 1983-2017 Evil-Soft
Re: Fejtörő (2020-2021)
Üdv,
Ennek kellett volna következnie:
Bali: oldd meg USR függvény nélkül a feladatot !
De hát lelőtte a poént, így már felesleges töprengeni, ekkora helyzetet kihagyni! Igazi fejtörővé válhatott volna.
Pgyuri
folyt. köv.
Ennek kellett volna következnie:
Bali: oldd meg USR függvény nélkül a feladatot !
De hát lelőtte a poént, így már felesleges töprengeni, ekkora helyzetet kihagyni! Igazi fejtörővé válhatott volna.
Pgyuri
folyt. köv.