1

witam,

znajduje sie tam tabela adresow procedur obslugi urzadzen sys.
w takiej postaci:
a(open-1)
a(close-1)
a(get-1)
a(put-1)
a(status-1)
a(special-1)
jmp $ef6e      ; co to jest
b($00)           ; co to jest

w ktorym miejscu system operacyjny korzysta z tych 4 ostatnich bajtow (w sumie 20 bajtow nieuzywanych)

tabela (od $E72A '+ 3') ktora sluzy systemowi do tego zeby obliczyc adres procedury obslugi konczy sie na wartosci $0A czyli ostatni adres jaki moze byc pobrany to a(special-1)

http://atari.pl/hsc/ad.php?i=1.

2

xxl napisał/a:

jmp $ef6e      ; co to jest
b($00)           ; co to jest

http://atariki.krap.pl/index.php/Tablic … C3%B3w_ROM

w ktorym miejscu system operacyjny korzysta z tych 4 ostatnich bajtow

Formalnie rzecz biorąc, podczas procedury reset (popatrz sobie pod $C535). Ale w rzeczywistości OS nie ma potrzeby korzystać z tych skoków, one są raczej dla programów.

tabela (od $E72A '+ 3') ktora sluzy systemowi do tego zeby obliczyc adres procedury obslugi konczy sie na wartosci $0A czyli ostatni adres jaki moze byc pobrany to a(special-1)

I bardzo słusznie.

KMK
? HEX$(6670358)

3

> Formalnie rzecz biorąc, podczas procedury reset (popatrz sobie pod $C535). Ale w rzeczywistości OS nie ma potrzeby korzystać z tych skoków, one są raczej dla programów.

one sa raczej dla programow? jakich programow? usera? czyli skok w programie usera do romu typu:
jsr $e40c
jsr $e41c
jsr $e42c
jsr $e43c
jsr $e44c
sa jak najbardziej legalne. albo adres i kolejnosc w tabeli $e400 jest niezmienny w atariOS. to by tlumaczylo te niepotrzebne $00 na koncu kazdego wpisu.

procka reset wywoluje ten sam podprogram 3x pod rzad :/ dodatkowo skacze pod wektor zapisany w romie :/

http://atari.pl/hsc/ad.php?i=1.

4

xxl napisał/a:

one sa raczej dla programow? jakich programow? usera?

Przypuszczam, że dla wszystkich, które nie mogą się posłużyć skokiem przez $E456. Czyli np. nakładek na sterowniki siedzące w ROM-ie, procedur obsługi PBI itp.

czyli skok w programie usera do romu typu:
(...)
sa jak najbardziej legalne. albo adres i kolejnosc w tabeli $e400 jest niezmienny w atariOS.

Oczywiście, że są legalne.

procka reset wywoluje ten sam podprogram 3x pod rzad :/ dodatkowo skacze pod wektor zapisany w romie :/

Tak dokładnie, to procedura wywołuje trzy różne wektory init, tyle że one wszystkie wskazują to samo. Ma to sens: wyobraź sobie, że spaczowałeś ROM i procedura inicjowania np. edytora jest teraz inna - w takiej sytuacji zmieniasz tylko wektor w odpowiedniej tablicy, ale nie potrzebujesz już grzebać w procedurze reset, bo ona automatycznie wywoła twój pacz.

Tak samo jest ze skokami przez tablicę skoków.

KMK
? HEX$(6670358)