OldComp.cz
http://oldcomp.cz/

Samospustitelný blok i obrázkem
http://oldcomp.cz/viewtopic.php?f=40&t=492
Stránka 11

Autor:  Aki [ 17.09.2013, 16:09 ]
Předmět příspěvku:  Samospustitelný blok i obrázkem

A když už jsem v tom ptaní, tak mě ještě zajímá, jak jsou udělané takové ty staré hry, které se nahrávaly LOAD ""CODE a začínaly obrázkem a na konci se samy spustily. Třeba starý Pinball (1983) se tak nahrával. Jak to bylo udělané?

Autor:  mikezt [ 17.09.2013, 16:23 ]
Předmět příspěvku:  Re: Samospustitelný blok i obrázkem

Nie je to ziadny snap, ale jedna z prvych ochran proti kopirovaniu, lebo ten CODE blok ma dlzku presne 48kB, teda od adresy 16384 po 65535. Vtip je v tom, ze pri loadingu sa prepise zasobnik (skuste si zmenit CLEARom adresu zasobniku, hra sa nespusti) a pri navrate z ROMky z loadovacej rutiny sa vyberie navratova adresa z uz prepisanej pamati a skoci sa na zaciatok hry.

Autor:  iwosh [ 24.11.2013, 14:55 ]
Předmět příspěvku:  Re: Samospustitelný blok i obrázkem

Factor6 píše:
A když už jsem v tom ptaní, tak mě ještě zajímá, jak jsou udělané takové ty staré hry, které se nahrávaly LOAD ""CODE a začínaly obrázkem a na konci se samy spustily. Třeba starý Pinball (1983) se tak nahrával. Jak to bylo udělané?

No, jednou s moznosti je ulozit blok basic-u ako CODE spolu so systemovymi premennymi:
Kód:
SAVE "subor" CODE 23552, dlzka: RUN

dlzka v tomto pripade nemusi by presna, kludne aj kilobajt naviac nez konci BASIC. Podstatne je mat RAMTOP (CLEAR) dostatocne vysoko aby po loade nedoslo k jeho poskodeniu.

Po LOADe sa nasledne vykona prikaz sa prikazom SAVE, teda RUN a dojde k spusteniu basicoveho programu

Autor:  Busy [ 24.11.2013, 15:47 ]
Předmět příspěvku:  Re: Samospustitelný blok i obrázkem

iwosh píše:
Kód:
SAVE "subor" CODE 23552, dlzka: RUN
dlzka v tomto pripade nemusi by presna, kludne aj kilobajt naviac nez konci BASIC. Podstatne je mat RAMTOP (CLEAR) dostatocne vysoko aby po loade nedoslo k jeho poskodeniu.

Po LOADe sa nasledne vykona prikaz sa prikazom SAVE, teda RUN a dojde k spusteniu basicoveho programu
Toto ale nebude fungovat, ked sa nasledne program nahrava v 128 / +3 basicu (alebo Tape loaderi na Spektrach 128). Ale dnes, v dobe mb02 a divide to uz malokto pouziva. A ak by predsa, staci pred program zaradit moju utilitku USR 0 a loadovanie bude fungovat.

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/