forum speccy.pl

ZX Spectrum => PROGRAMOWANIE => Wątek zaczęty przez: zenek w 2014.09.27, 19:24:35

Tytuł: LOAD "" CODE
Wiadomość wysłana przez: zenek w 2014.09.27, 19:24:35
Jak z poziomu Basica odczytać ile bajtów się załadowało instrukcją LOAD "" CODE?
Tytuł: Odp: LOAD "" CODE
Wiadomość wysłana przez: trojacek w 2014.09.27, 19:56:57
Hmm... Raczej się nie da.
Tytuł: Odp: LOAD "" CODE
Wiadomość wysłana przez: Phonex w 2014.09.29, 13:28:29
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.
Tytuł: Odp: LOAD "" CODE
Wiadomość wysłana przez: trojacek w 2014.09.29, 14:20:59
Genialne :)
Tytuł: Odp: LOAD "" CODE
Wiadomość wysłana przez: zenek w 2014.09.29, 15:09:10
Phonex, dzięki!
W jaki sposób do tego doszedłeś?
Tytuł: Odp: LOAD "" CODE
Wiadomość wysłana przez: sect0r w 2014.09.29, 17:59:25
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!
Tytuł: Odp: LOAD "" CODE
Wiadomość wysłana przez: trojacek w 2014.09.29, 18:03:44
Ten człowiek zjadł zęby na magnetofonach i loaderach ;D

Innymi słowy, magnetoPhonex ;)
Tytuł: Odp: LOAD "" CODE
Wiadomość wysłana przez: Phonex w 2014.09.29, 20:40:39
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 ;)