Zarowno w Atari Basic jak i w TBXL mozna program zapisac jako, nazwijmy to, "goly tekst" przez LIST oraz w formie stokenizowanej przez SAVE. Pytanie: jak duze sa roznice w tokenach miedzy AB i TBXL? Ten ostatni ma wiecej zastrzezonych slow, wiec pewnie wiecej tokenow musi byc uzyte. Ale czy jest zgodnosc w dol w tym elemencie? A jak to sie ma do Basic XE oraz innych implementacji Basica, np. MultiBasica? Czy sa gdzies dostepne materialy na ten temat?

Pytanie wynika z tego, ze nawiazalem kontakt z autorem MemoPad, ktory wyposaza ten program wlasnie w czytanie plikow BAS Atari Basica i chcialbym go przekonac do tego, zeby dolaczyl tez to samo dla TBXL, a moze i innych. Zanim to zrobie, chcialbym miec pojecie o nakladzie pracy, ktora trzeba wykonac.

Kaz/Rohar
Prowadzę stronę dla obłąkanych: http://atari.online.pl/

2

ZTCW to Turbo Basic jest w 100% zgodny w dol i po prostu uzywa innych kodow dla swoich tokenow. O innych Basicach sie nie wypowiem.

3

Nie do końca rozumiem "innych kodow dla swoich tokenów"? Token jest "kodem" rozkazu?

Wydaje mi się, że TBXL pozwala na wczytanie programu AB zapisanego przez save, więc musi być pod tym względem kompatybilny w dół. Test wykonać łatwo. No, chyba że dokonuje jakiejś konwersji. Ale w takim przypadku wystarczy ten program zapisać z TBXL i wczytać przez load z powrotem do AB, żeby rozwiać ew. wątpliwości.

4

TBXL nie dokonuje żadnej konwersji, tabela instrukcji i funkcji jest zgodna w dół z Atari BASIC. Token to numer kolejny słowa kluczowego w tej tabeli, a więc tokeny słów kluczowych TBXL zgodnych z Atari BASIC są takie same jak w oryginale. Tak samo jest w przypadku BASIC XL i BASIC XE; no i MultiBASIC-a też, z tym że ten ostatni jest na opisanej zasadzie zgodny w dół z TBXL.

Atari BASIC ma dwa rodzaje tokenów. Pierwszy rodzaj to "instrukcje" w rodzaju SAVE. Są to ośmiobitowe liczby z zakresu od 0 do (teoretycznie) 255, w praktyce poniżej 127 - w Atari BASIC ostatni token ma wartość 55, w TBXL nie pamiętam, ale odpowiednio więcej, w Multi oczywiście jeszcze więcej...

Drugi rodzaj tokenów to tokeny operatorów i funkcji. Są to ośmiobitowe liczby z zakresu od 0 do 255, ale operatory i funkcje zajmują z tego tylko pierwszą połówkę (0-127). Druga (128-255) jest zarezerwowana dla zmiennych - dlatego Atari BASIC może mieć nie więcej niż 128 zmiennych. Token zmiennej to oczywiście jej numer w tabeli wartości powiększony o 128.

Pierwszy w programie (pomijając numer linii, offset do następnej oraz offset do następnej isntrukcji) jest token instrukcji. Tokeny funkcji (i operatorów i zmiennych) następują zawsze po tokenie LET. No i po tym się rozróżnia jedne od drugich.

W zasadzie jeśli gość ma już coś, co czyta pliki BASIC-a, to rozszerzenie tego do TBXL to jest pestka. Tylko trzeba wiedzieć, jakie tokeny są przypisane w TBXL do czego - oraz w jaki sposób TBXL (i MultiBASIC za nim) upycha jednak 256 zmiennych, mimo że jak napisałem mieści się tylko 128 ;) Jak masz zyczenie, to mogę to jakoś skrótowo opisać.

KMK
? HEX$(6670358)

5 Ostatnio edytowany przez Krzysztof (Kaz) Ziembik (2006-07-04 02:21:21)

1. Dzieki Drac030. To sa wlasnie, te informacje, ktorych poszukiwalem. Dlatego wlasnie dorzucilem do pytania MultiBasic - mialem nadzieje, ze sie odezwiesz :) Tak, jestem zainteresowany takim opisem i taka lista. Ale nie wiem, czy Eric Parents rowniez bedzie zainteresowany. Jednak nie chcialbym bez potrzeby obciazac Cie praca, ktora moze okazac sie bezsensowna. Zrobmy w ten sposob, ze ja do niego zaraz napisze w tej sprawie, a jesli on wykaze chec, to podeslemy mu opis i liste tokenow, do MultiBasic-a wlacznie. Chyba, ze chce Ci sie to opisac dla Atariki... wtedy nie trzeba na nikogo czekac.

Jedno mnie jeszcze zastanawia. Rozumiem, ze jest zgodnosc MultiBasic -> TurboBasic XL -> Atari Basic. Ale Basic XE i Basic XL maja nieco inny zestaw slow kluczowych, wiec raczej nie ma zgodnosci miedzy nimi oraz miedzy nimi a MB i TBXL? I czy mozna gdzies w literaturze znalezc te listy kodow?

2. Czy sa jakies inne zyczenia co do MemoPad? Jak juz bede pisal do Erica, to moge zrobic dluzsza liste oczekiwanych zmian... ;) Jak na razie wspomnial on, ze ze zmian, ktore wprowadza maja byc:
- zmiana formatu liczb w binarnym trybie podgladu,
- wlasnie otwieranie plikow Atari Basica BAS,
- otwieranie plikow bezposrednio z ATR i XFD.

3. Poniewaz Eric narzekal, ze sam pisze ten program i to go ogranicza w szybszym jego rozwijaniu, moze znajda sie jacys chetni do pomocy?

Kaz/Rohar
Prowadzę stronę dla obłąkanych: http://atari.online.pl/

6

drac030 napisał/a:

TBXL nie dokonuje żadnej konwersji, tabela instrukcji i funkcji jest zgodna w dół z Atari BASIC. Token to numer kolejny słowa kluczowego w tej tabeli, a więc tokeny słów kluczowych TBXL zgodnych z Atari BASIC są takie same jak w oryginale. Tak samo jest w przypadku BASIC XL i BASIC XE; no i MultiBASIC-a też, z tym że ten ostatni jest na opisanej zasadzie zgodny w dół z TBXL.

Jurgi: Wlasnie to mialem na mysli.

7

Z drobnych ciekawostek można dodać (jeśli chodzi o zgodność w drugą stronę), że jeżeli mamy program w TBXL, w którym używamy liczb w notacji hex, to Atari Basic pokaże je poprawnie, tyle, że dziesiętnie.
Ktoś zauważył coś jeszcze?

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

8

Epi: to do Atariki daj...

Sikor umarł...

9 Ostatnio edytowany przez drac030 (2006-07-04 12:37:54)

epi: jest tak, bo w Atari BASIC pierwszym wykorzystanym tokenem na liście operatorów i funkcji jest token "stała liczbowa" o wartości 14. A Atari BASIC jeśli "widzi" token o wartości mniejszej od 15 ("stała tekstowa"), przyjmuje że to jest właśnie 14. TBXL natomiast oznacza stałe szesnastkowe tokenem o wartości 13. Jako że to jest mniej niż 15, więc Atari BASIC listuje to jako zwykłą stałą dziesiętną.

kaz: tokeny BASIC XL i BASIC XE są inne niż tokeny TBXL. Listy tokenów nie mam, a sam jej zestawić nie mogę, bo  nie mam ani jednego ani drugiego interpretera. Listę tokenów AB/TBXL wrzucę do Atariki w wolnej chwili. Tokenów MultiBASIC-a bym wolał na razie nie ujawniać, bo wiele się może jeszcze w tym względzie zmienić.

Do czego służy program, o którym piszesz?

KMK
? HEX$(6670358)

10 Ostatnio edytowany przez Jurgi2 (2006-07-04 14:27:25)

Draco: Kaz mówi o MemoPad - http://www.atari8.info/dodajkomentarz.p … p;lang=pl.

11 Ostatnio edytowany przez larek (2006-07-04 18:19:26)

drac030 napisał/a:

Listy tokenów nie mam, a sam jej zestawić nie mogę, bo  nie mam ani jednego ani drugiego interpretera.

Ja mam carta z Basic XE + procedury ładowane z dyskietki (bez tych procedur nie działają pewne instrukcje tego języka). Niestety nie wiem w jaki sposób można zgrać zawartość takiego carta (mam XEGS + SIO2PC) do pliku w PC. Jeżeli można to w prosty sposób zrobić to mogę spróbować.

KAZ:
Jak dla mnie to brakuje opcji drukowania czcionką Atari oraz możliwości ustawienia szerokości okna np. na 40 (38) znaków, tak aby cała linia była widoczna na ekranie - jak to ma miejsce w edytorze Basica. Już o samej możliwości edycji dokumentu nie wspomnę...

Jeszcze tylko dodam jedno - znalazłem takie coś: http://tajemnice.atari8.info/5_92/5_92_basic.html
Tyczy się to tylko Atari Basic, ale jeżeli kogoś interesuje...



Pozdrawiam.

12

Raczej do zestawiania listy tokenów prosty zrzut ROM-u interpretera na wiele się nie zda. Gdyby ktoś mial pożyczyć takiego karta, to może.

Jurgi: "przeglądarka ATASCII" raczej niewiele mi wyjaśnia.

KMK
? HEX$(6670358)

13

drac030: o, dzięki, że mi to wyjaśniłeś, bo zawsze mnie to ciekawiło, a uznałem, że jest zbyt mało istotne, żeby poświęcić choć minutę na rozgryzienie tego. :)

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

Draco030 - MemoPad to NA RAZIE przegladarka plikow tekstowych w formacie ATASCII dla peceta. Moim zdaniem wciaz jeszcze w tyle w stosunku do ATASCII Viewer-a Lee Hankena. Oba programiki sa we wczesnej fazie rozwoju, oba recenzowalem tutaj:
http://atari.online.pl/v01/index.phtml? … ct=nowinki
Eric napisal, ze pracuje wlasnie nad umozliwieniem edycji tekstu w MemoPad i jezeli mu sie to uda, bedzie to taki mikro-edytor tekstu ATASCII. Funkcje, ktore bedzie posiadal maja ulatwiac bezposrednie korzystanie z plikow malego Atari. Mnie sie idea podoba.

larek - o drukowaniu i formatowaniu szerokosci tekstu juz mu pisalem. O edycji on pisal.

Kaz/Rohar
Prowadzę stronę dla obłąkanych: http://atari.online.pl/

15

no podglądaczka do plików basicowych - umożliwiająca podgląd sprawy na etapie *.bas, *.txl, czy co tam jeszcze będzie :) - to niezła rzecz - choć teoretycznie nie ma z tym problemu - jesli posiadać SIO2PC -

l."P:",[od], [do]

zmienne;

dump "P:" - i przekierowanie z APE danych do pliku na piecu :) - i sprawa gotowa.

jeśli chodzi o taką przeglądareczkę - jeśli o to chodzi = to lepiej byłoby dodać możliwość edycji pliku ATR - może w połączeniu np. z pluginem do TotalCMD -

nie wiem - może bredze. Trudno :D

Kontakt: pin@usdk.pl

16

Przydałaby by się opcja ustawiania fontów wczytanych z pliku w formacie Atari.
Często się zdarza że teksty napisane są po polsku i zamiast polskich znaczków mamy krzaczki.

17 Ostatnio edytowany przez Lizard (2006-07-05 11:47:56)

OT

// dodano
Jak to jest, że wpisuje "OT" wielkimi literami, a zmienia mi na "Ot" (pierwsza wielka, druga mała). :?

// dodano
Thc Epi. Tymi dwiema literkami chciałem tylk ozakumunikować, że zrobił się off-topic i sie mi bo caps lock wcale nie włonczył. ;)

Zawsze mam rację, tylko nikt mnie nie słucha.

18

Zabezpieczenie Przed Krzykaczami, Którym Caps Lock "sie Pszypatkiem Wcisnoł", Działa Ztcw Wtedy, Kiedy W Całym Poście Wszystkie Litery Są Duże.

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.