Lizard: z ostatnim przykładem siem zgodze. Jest elegancki i w 100% kompatybilny praktycznie z każdym systemem. Ale z tym 1-szym jest tak samo jak z moim jsr $f302.
No niezupełnie. Od $E400 do $E44F masz tablicę wektorów do sterowników urządzeń obsługiwanych w ROM-ie. Ta tablica jest tam zawsze, w każdej wersji systemu. W związku z tym skok przez te wektory zawsze zrobi to samo: jak w powyższym przykładzie, wczyta bajt z systemowej klawiatury (tej przyczepionej przez producenta do Pokeya). Natomiast twoje JSR $F203 czy też np. JSR $F2FD już nie, te skoki będą działać albo nie w zależności od wersji systemu. Dlatego to drugie jest nielegalne, a to pierwsze jest, bo użyta jest tabela wektorów zdefiniowana przez producenta.
Tej metodzie można zarzucić jedynie tyle, że nie uwzględnia możliwości podmiany sterownika. Ale też jest to legalna metoda wywołania sterownika systemowego (a nie każdego zainstalowanego), więc nie dziwne.
Ze źródłami OS-ROM'u Atari niepowinno być problemu, gdyż gdzieś je mam - w postaci *.M65 (Mac65).
Dzięki, ja mam w MAE i to w dwóch wersjach (zwykły i 65c816).
chyba większość systemów jest w ten sposób pisana - że jest modyfikacją OS-ROM rev. B
To chyba tylko z lenistwa. Poza tym co to za argument, że wiekszość, skoro najwyraźniej nie wszystkie.
mogę sobie wyobrazić. Problem rozwiąże się jak Pasiu wprowadzi w życie ROM 512kB dla 65c816 - wtedy obszar $c000 - $ffff można "poświęcić" na wypełnienie NOP'ami i skokami JSR do "nowego" ROM'u.
Zgadza się, jak będzie 512k ROM-u, to można będzie sobie pozwolić na różne cuda, w tym wypełnienie obszaru $C000-$CFFF i $D800-$FFFF skokami JML jeden obok drugiego. Ale na razie tak nie mamy.
pakiet matematyczny - niestey fakt - porażka. ktoś, kto przerobił go kiedyś przyspieszając go znacznie - umieścił reszte kodu na miejscu zestawu znaków międzynarodowych. Draco może w nowym ROM'ie dla 65c816 zrobisz jakąś tablice skoków na przyszłość.
Ja myślę, że dla nowego pakietu matematycznego (tego do 512k ROM-u) będzie można użyć któregoś z przerwań COP nie bawiąc się już w tablice skoków. Przerwania są wektorowane przez RAM, więc co za wygoda, jeśli trzeba przejąć jakieś wywołanie. Na razie natomiast przeżyjemy jakoś na starym, zwłaszcza że nie jest on chyba tak znowu często używany :D
czy warto przerobić AtariOS-ROM rev. B (800XE, 1985-03-01) wyżucając z niej obsługę C:, zestaw międzynarodowy i SelfTest'a, celem dodania obsługi obu tabeli partycji dla IDE KMK?
A bo ja wiem? Musisz się zastanowić, ile osób zdecyduje się na wymianę ROM-u (i uwiązanie się do twojej wersji na stałe) przy instalacji twardego dysku.
Przypominam, że nowy interfejs ma 3 kilo ROM-u: może obsługa jednego i drugiego się tam zmieści. Jeszcze żadnej nowej wersji sterownika nie ma, która by tego używała, 1.5 jest dla starego interfejsu.
czy odczyt klawiatury w podany PRZEZEMNIE SPOSÓB jest wkońcu legalny, czy też mam go nieużywać
Masz na myśli odczyt z rejestru klawiatury? No a dlaczego miałby być nielegalny w sumie. Najwyżej kiedyś program przestanie działać, jak zmieni się adres tego rejestru (bo ktoś przestanie w tym celu używać Pokeya) :D
w RAM'ie pod OS-ROM inaczej sie nieda, chyba ze przeskoczymy do zwykłej pamięci włączymy OS-Rom "odwołamy" się do CIO i powrócimy do programu w pamięci pod ROM'em. (roche długie i dla mnie bezsensowne marnowanie pamięci, ale coż).
Oj tam kilkanaście bajtów możesz odżałować. Umieść je w buforze magnetofonu, i tak jest przeważnie pusty :D
W Linii poleceń HiDOS'a chciałem zrobić obsługę np. historii poleceń, tylko że jeżeli użyję "E:", to bede ograniczony - nic niebede mógł robić jak OS'ROM czeka na naciśnięcie klawisza.
A co chcesz robić w tym czasie?
Co do pytań "czy można": wszystko można, tylko że jak się omija system, to potem to albo nie działa z nowszym sprzętem, albo coś tam. W sumie do zrobienia historii poleceń nie potrzebujesz omijać E:, czy też K:, bo to chyba jest kwestia nadania pewnym klawiszom znaczenia, i odpowiedniej interpretacji w tym duchu tego, co zwraca system.
Też bym w życiu nie uwierzył, że na systemowym E: da się zrobić pełnoekranowy edytor, i to w dodatku wygodny, gdybym nie widział tego w MAE. Więc da się. Czyli historię pewnie też się da korzystając z systemowych urządzeń.