Chciałbym spytać jak przedefiniować domyślne znaki w Atari Basic. Próbowałem wg opisanej tutaj metody ->link<-
Ale to niestety nie za bardzo działa, ponieważ wysyła wszystkie już istniejące znaki w niebyt, a ja chciałem zmienić tylko kilka z tych graficznych dostępnych przez ctr + litera. Może metoda jest dobra, ale adresy złe.
Używana maszyna - Atari 130XE pod emulatorem Atari800Win Plus
W ROM-ie małego Atari mamy dwa fonty - standardowy (default) i międzynarodowy (international). Uwaga: w wersji arabskiej jeden z nich jest zastąpiony arabskim, a przy nieoficjalnych modyfikacjach ROM font może być dostępny tylko podstawowy lub zmodyfikowany - np. o polskie znaki! Przełączamy je wpisując POKE 756,224 lub POKE 756,204. Jeżeli potrzebujemy zmienić tylko kilka znaków to i tak musimy utworzyć cały font pod nowym adresem, czyli skopiować istniejący i zmodyfikować tylko to co potrzebujemy. W standardowym wbudowanym Basic-u nie ma szybkiej komendy MOVE (jest w Turbo Basic-u) która pozwala skopiować font w nowe miejsce w ułamku sekundy, ale zamiast użyć powolnej pętli, można użyć procedury napisanej w assemblerze. Np. z Bajtka Nr Specjalny Tylko o Atari - Kruczki i Sztuczki - str. 29 (aby nie było konfliktu z TB można zmienić nazwę MOVE na inną, np. MVE).
Programy do edycji czcionek zapisują cały font, więc również kopię znaków, które nie zostały zmodyfikowane w porównaniu do standardowych z ROM. Ma to tę rzadko potrzebną zaletę, że modyfikacja ROM-u nie spowoduje pomieszania czcionek, ale taki listing zajmuje więcej pamięci.
Program Larka generuje listing od linii 1, mój AFMov od 9000, a AFM od 10000. W związku z tym może zajść potrzeba przerenumerowania linii programu. W wbudowanym Basic-u nie ma takiej komendy więc można użyć programu Renumerator z książki Atari Basic Miguta. W TB jest komenda RENUM, którą wywołujemy z trzema parametrami - od której linii renumerować, pierwszy numer nowej linii, co ile (np.10) - mam nadzieję, że nie pomyliłem kolejności parametrów... Listing wygenerowany z edytora, do renumeracji wczytujemy poprzez E."D:DANE.LST", najlepiej poprzedzając komendą NEW, która wyczyści pamięć - usunie program. Po renumeracji zapisujemy dane czcionki poprzez L."D:RDANE.LST" i doczytujemy je do wczytanego naszego programu, lub doczytujemy nasz program uprzednio zapisany poprzez L."D:NASZPR.LST", a potem zapisujemy wraz z danymi fontu poprzez SAVE"D:NASZPR.BAS".
Na PC:
Aby zapisać listing przy pomocy Atari Font Mover-a trzeba wejść w "More Options..." i zaznaczyć "Save d.lst..." i/lub "Save b.lst...", przy czym ta druga opcja zapisuje dużo szybszy i krótszy listing. Następnie odczytujemy nasz font (przygotowany np. przy pomocy Atari Font Maker-a) i zapisujemy (uwaga: pod nowo podaną nazwą) - m.in. utworzone zostaną pliki z listingami.
Atari Font Maker pozwala zapisać listing wyłącznie z danymi - program trzeba dopisać samodzielnie - do zapisu służy opcja Export font, która pozwala zapisać dane w wielu formatach (Basic, Action, Assembler, Mads, Fast Basic, Bitmap)
Do edycji obrazów dyskietek na PC polecam program AtaDim
pewnie, że się da, tylko trzeba pamiętać, że w tych trybach używane są tylko pierwsze 64 znaki internal (chyba, z pamięci klepię, altirra hardware manual Twoim przyjacielem jakby co). To się jakoś mapuje na atascii, że w oryginale masz tylko wielkie litery. najwyższe wyższe 2 bity znaków przypisują im kolorek. Jeśli mażesz po ekranie kodami internal, to łatwo - kody od 0 do 63. Jeśli robisz basicowego PRINTa, to to się przemapowuje na inne kolorki ("Aa") wyświetli "AA", tylko w różnych kolorkach.