forum speccy.pl
ZX Spectrum => PROGRAMOWANIE => Wątek zaczęty przez: zenek w 2014.09.27, 19:24:35
-
Jak z poziomu Basica odczytać ile bajtów się załadowało instrukcją LOAD "" CODE?
-
Hmm... Raczej się nie da.
-
Da się. 8)
Jeśli nie było błędu w czasie ładowania, to długość załadowana zgadza się z długością podaną w nagłówku. Można odczytać nagłówek.
Chociaż po załadowaniu nagłówek nie jest chroniony, to nie jest też kasowany. Więc gdzieś tam jest. Gdzie? W WORKSPACE. Najpierw jest wzór nagłówka, a potem ten załadowany z taśmy.
Dlatego +28.
10 LOAD ""CODE
20 LET a=28+PEEK 23649+256*PEEK 23650
30 PRINT PEEK a+256*PEEK (a+1)
Programik będzie działał, jeśli po LOAD nie wykona się nic co skasuje WORKSPACE.
-
Genialne :)
-
Phonex, dzięki!
W jaki sposób do tego doszedłeś?
-
Ten człowiek zjadł zęby na magnetofonach i loaderach ;D
Mój KAPRAL - Pierwszy magnetofon Turbo w Polsce. http://speccy.pl/articles.php?article_id=26
A tutaj słowo o loaderach Loadery według Kato http://speccy.pl/articles.php?article_id=38
Od razu widać, że zna się na rzeczy. Szacun!
-
Ten człowiek zjadł zęby na magnetofonach i loaderach ;D
Innymi słowy, magnetoPhonex ;)
-
Genialne :)
Kurcze! Miałem zachować to dla siebie! Napisałbym kopier cały w BASICu.
Bloki typu Programe ładowałby przez MERGE "" ;) I dostałbym nagrodę i kupę kasy, czy coś! ;D :D
Phonex, dzięki!
W jaki sposób do tego doszedłeś?
Bajty z taśmy są ładowane do pamięci pod adres wskazywany przez rejestr IX. Wystarczy napisać LOAD "" CODE, wejść do debuggera przed nagłówkiem i sprawdzić IX. A potem sprawdzić czy po zakończeniu ładowania nagłówek dalej tam jest :)
A potem już z górki - listing ROM http://www.wearmouth.demon.co.uk/zx82.htm (http://www.wearmouth.demon.co.uk/zx82.htm) i lista zmiennych systemowych http://www.worldofspectrum.org/ZXBasicManual/zxmanchap25.html (http://www.worldofspectrum.org/ZXBasicManual/zxmanchap25.html).
Kiedyś też myślałem że się nie da. Okazuje się, że jeszcze można coś nowego odkryć! :D
Ten człowiek zjadł zęby na magnetofonach i loaderach ;D
Kiedyś przerobiłem z 500 programów z taśmy na dysk. Przy okazji coś zapamiętałem ;)