forum speccy.pl
ZX Spectrum => PROGRAMOWANIE => Wątek zaczęty przez: steev w 2015.01.12, 09:37:16
-
Wśród funkcji TOS ładnie opisanych w 'TOS bez tajemnic' znajdują się dwie tajemnicze funkcje nr 31 i 32, opisane jako '??'.
Pokusiło mnie żeby zajrzeć do instrukcji serwisowej FDD i #wtem znajduję takie coś :
31 - cria directoria alternativa para as funcoes de load e merge
32 - retira a directoria alternativa
(czyli po ludzku : 31 - tworzy alternatywny katalog dla funkcji LOAD i MERGE, 32 - kasuje katalog alternatywny)
Tyle, że w życiu nie słyszałem o katalogach alternatywnych...
Ktoś coś? :)
-
Czy to nie jest przypadkiem ta funkcja, którą wykonuje GO SUB * ?
-
Chyba NEXT* raczej. Ale nie pamiętam, trzeba będzie poczytać ;)
-
Raczej nie.
Obie funkcje nie są nigdzie jawnie wywoływane.
A gosub* wywołuje po kolei :
2e47 f07 ; odłożenie katalogu na stos
2e65 f06 ; DRAW*
2df9 f05 ; GOTO*"nazwa"
(pomijając, że to nawet nie jest ta sama nakładka :) )
-
Chyba NEXT* raczej. Ale nie pamiętam, trzeba będzie poczytać ;)
O, to może być to :)
-
Chyba coś na ten temat było w Bajtku. Pamiętam, że ja mam poprawiony EPROM w interfejsie stacji, bo bez poprawki NEXT* nie działa.
-
Podzieliłbyś się tą poprawką ?
-
Mogę zapodać binarkę, ale to potrwa kilka dni :)
-
Nie pali się :)
-
W każdym razie opis instrukcji NEXT* i sposobu poprawienia EPROM-u jest w Bajtku 11/92, strona 36.
-
W takim razie spróbuję sam coś pokombinować :)
-
W każdym razie opis instrukcji NEXT* i sposobu poprawienia EPROM-u jest w Bajtku 11/92, strona 36.
Oooo, dzięki.
Przynajmniej mi się wyjaśniło co to za dziwaczny kanał #0 - którego nie ma ale który jest :))
-
Bardzo użyteczny, jak się pisze programy listujące pliki :)
-
Czyli jednak można z BASICa odczytać katalog!
W OPUS Discovery można, a to prostszy system. Wystarczy napisać OPEN #4;"CAT".
Tylko czemu nie opisali tego kanału #0 w manualu? Też chcieli mieć listę niepublikowanych rozkazów? ;)
-
Skan strony Bajtka.
-
Pokusiło mnie żeby zajrzeć do instrukcji serwisowej FDD i #wtem znajduję takie coś :
31 - cria directoria alternativa para as funcoes de load e merge
32 - retira a directoria alternativa
Przez ciekawość też zajrzałem. I gdybyś rzetelnie zacytował, łącznie z etykietami (NEXT1 i NEXT2), byłoby od razu wiadomo, że chodzi o NEXT* :)
Dla tych, co nie wiedzą, jak działa(ć powinna) ta komenda i nie chce im się wczytywać w skan Bajtka: NEXT*"katalog" definiuje alternatywny katalog do poszukiwania plików dla operacji LOAD* i MERGE*. Czyli coś na kształt zmiennej PATH w DOS-ie. Jak wyszczególniony plik nie istnieje w lokalizacji zdefiniowanej w komendzie LOAD* lub MERGE*, system szuka tego pliku w katalogu alternatywnym (bez zmiany bieżącej ścieżki). To pozwala(łoby) realizować podobne rozwiązanie, jak np. katalog /bin w divIDE, gdzie system szuka binarek komend do załadowania.
I byłoby pięknie, gdyby nie ten błąd w EPROM-ie...
-
Widziałem te etykiety, ale tak głęboko zapomniałem o NEXT* że nic mi nie zadzwoniło. Memoria mi się sfragilizowała dokumentnie wtedy :)
For the archives, Portugalczycy się rąbnęli również w tym opisie i przyporządkowanie funkcji jest odwrotne - 31 kasuje, 32 ustawia...
-
Zdążyłeś przetestować, czy analizowałeś ROM interfejsu?
-
Analizowałem TOS
-
No niestety, nie mogę odczytać EPROM-a. Mój Willem za każdym razem daje inne dane, lipa jakaś, chyba uszkodzony :(
-
Spoko. Przeczytałem artykuł, to sobie poprawię.