1 Ostatnio edytowany przez nosty (2008-10-22 08:26:14)

Prosba: gdzie znalezc wygodne i przejrzyste porownanie roznic w procedurach systemowych i zrejestrach starych i nowych modeli Atari?

I bardziej konkretne pytanie na szybko:

Czy ponizsza procedura piszaca na ekranie zadziala na Atari 400/800 i 1200XL?

        LDX    #$16   
        LDY    #$11   
        JSR    $C642

(oczywiscie pod wskazanym adresem jest tekst zakonczony $9b)

Sprawdze zaraz na emulcu, ale z emulcem to nigdy na 100% nie ma pewnosci...

Dzieki za pomoc.

2

400/800 nie maja pamieci w adresach c000-cffff wiec nie zadziala.

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

3

Dzieki XXL.
Sprawdzilem na emulcu ze nie dziala z OS-B.
Bardzo mnie jeszcze interesuje 1200XL (nie wiem jaka mial wersje systemu OS-B?), ale to juz sprawdze na zywej maszynie w domu.

Pierwsza czesc mojej prosby pozostaje aktualna.

4

przydala by sie jakas relokowalna i krotka wersja loadera nie korzystajaca z os. prawdziwy programista nie korzysta z procedur w os ;)

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

5

Bedzie dobrze! Dam se rade :)

6 Ostatnio edytowany przez drac030 (2008-10-22 10:10:53)

xxl napisał/a:

przydala by sie jakas relokowalna i krotka wersja loadera nie korzystajaca z os. prawdziwy programista nie korzysta z procedur w os ;)

Korekta: prawdziwy programista umie z nich korzystać (bo w ogóle umie programować).

Nosty, rozpoznawanie OS-u nie jest ci do niczego potrzebne, wystarczy korzystać z legalnych odowłań, zawsze będzie działało. Przyjrzyj się tej sekcji:

http://atariki.krap.pl/index.php/Biblio … /XE#System

A co do podanego przykładu:

http://atariki.krap.pl/index.php/Progra … w_na_ekran

Czy program jeszcze korzysta z OS-u w jakichś celach, które nie są ujęte w tych hasłach Atariki?

KMK
? HEX$(6670358)

7

No wiec, dobra, umie o ile je zna.
Ja mam ksiazki, moge poznac, ale potrzebuje na szybko spisu roznic miedzy 400/800 a XL/XE. Bo tego nie znalazlem. Ma ktos cos takiego?

8

Nosty see above.

KMK
? HEX$(6670358)

9

drac030 - nie zrozumielismy sie. Do celow szkoleniowych i wlasnych programow, Twoje metodyczne podejscie jest sluszne.

Ale ja mam obcy kod maszynowy, do ktorego nie mam zrodel (zrobilem disasemblacje) a ktory nie chce chodzic pod Atari 400/800/1200. Wiec sprawdzam kolejno wywolania procedur systemowych i staram sie sprawdzac ktore nie sa poprawne dla starych systemow.
Stad prosba o pomocna sciagawke.

Ale mam nadzieje ze jedyny problem to "JSR $C642". Wieczorem zrobie testy.

10 Ostatnio edytowany przez drac030 (2008-10-22 11:05:31)

Do obcego programu można dopisać podprogram na końcu i zmienić owo problematyczne JSR na wywołanie tegoż. Chyba że program tak szczelnie wypełnia 48 KB, że podprogram się nie zmieści. Jednak w takiej sytuacji testy na typ OS-u nie zmieszczą się również (pominę, że takiej procedury w OS-ie 400/800 chyba nie ma po prostu nigdzie, więc zmiana jednego nielegalnego adresu na inny nie wchodzi w grę).

Innymi słowy, "szkoleniowo słuszne" podejście jest też najsłuszniejsze praktycznie - minimum zmian, minimum kłopotów, maximum zysków.

KMK
? HEX$(6670358)

11

dzizus!
drac0 ja nie chce testowac OS'u! Ja wlasnie chce spatchowac ten program zeby chodzil pod kazdym OS'em czyli zastapic nielegalne wywolania procedur słusznymi. Tyle ze najpierw musze jednoznacznie zidentyfikowac te bledne! I z tym mialem maly klopot, ok?
Przyklad (juz nieaktualny): trafilem na JSR $C642 i nie wiedzialem gdzie sprawdzic czy taka procedura istnieje w systemie Atari 800 czy nie.
Chyba ciezko Ci mnie zrozumiec, bo to czego ja szukalem, Ty znasz na pamiec i wogole nie widzisz problemu ;)

I na tym poprzestanmy.
Dzieki za wsparcie.

12

nosty napisał/a:

Chyba ciezko Ci mnie zrozumiec, bo to czego ja szukalem, Ty znasz na pamiec i wogole nie widzisz problemu ;)

Masz rację, nie zaszło stuprocentowe porozumienie.

W każdym razie, nie potrzebujesz sprawdzać tego:

Wiec sprawdzam kolejno wywolania procedur systemowych i staram sie sprawdzac ktore nie sa poprawne dla starych systemow.

Każde wywołanie JSR, które w argumencie ma adres poza $D800-$DFFF i $E450-$E48F, jest niepoprawne (w tym dla starych systemów). Spisu różnic nie ma, najwyżej można się z Zientary map pamięci XL/XE doczytywać, co dany podprogram robi, i poszukać legalnego ekwiwalentu (albo o niego zapytać).

KMK
? HEX$(6670358)

13

O! To znaczna pomoc. Thx!

14 Ostatnio edytowany przez voy (2008-10-22 16:55:44)

Nosty, twoje pytanie o OS 400/800 coś mi przypomniało. Pogrzebałem nieco po twardzielu i oto efekt: http://www.megaupload.com/?d=D5BT8FZO :)

Pełna dokumentacja tego OS-u, łącznie z mapą pamięci. ^^ Aha, a źródłówka systemu jest tutaj: http://www.megaupload.com/?d=BURT2H18

Powszechnie wiadomo, że kamień potrafi myśleć. Na tym fakcie opiera się cała elektronika.

Terry Pratchett - Równoumagicznienie

15

Dziki Voy - mam ten dokument z PDF'a na papierze.
A wogole to dziekuje wszystkim za pomoc i dyskusje - po spatchowaniu program mi ruszyl na Atari 1200XL :)

16

O w mordę! Ten reference manual jest zarąbisty! Jest coś takiego / ktoś ma do serii XL/XE?

17

Do XL/XE był chyba suplement.

KMK
? HEX$(6670358)

18

I dalej w temacie: Atari 400/800 - Atari Home Computer System Hardware Manual --> http://www.megaupload.com/?d=P2FIZP8A  :) Jedynie skany schematów są raczej niezadowalające. :/

Powszechnie wiadomo, że kamień potrafi myśleć. Na tym fakcie opiera się cała elektronika.

Terry Pratchett - Równoumagicznienie