Witajcie,

pytanie, które chcę zadać pewnie było już wielokrotnie wałkowane, ale może zadam je jeszcze raz.
Chciałbym zacząć zabawę w programowanie na atari (65XE) w assemblerze ale pod windowsem.
Proszę pomóżcie jakie środowisko wybrać (tzn. kompilator, edytor).
Czy są gdzieś do pobrania gotowe paczki z tzw. "wszystkim co trzeba"?
Z tego co poczytałem na forach, to często wymieniane są dwa: XASM i CC65. Czy to dobry kierunek?
Czy można za pomocą tych kompilatorów wygenerować pliki, które można by było odpalić w
emulatorze lub na Atari (przez SIO2SD)?

Pozdrawiam

Andrzej

2

Ja uzywam mads + crimson editor + gnu make z cygwina.

"Was powinny uzbrojone służby wyciągać z domów do punktów szczepień, a potem zamykać do pi* za rozpowszechnianie zagrożenia epidemicznego" - Epi 2021
"Powinno się pałować tylko tych co tego nie rozumieją. No i nie szmatki i nie chirurgiczne tylko min FFP3, to by miało jakiś sens. U mnie we firmie, to jak przychodzi bezmaskowiec, to stoi w deszczu przed firmą" - Pin 2021

3

z asemblerow polecam:

http://mads.atari8.info/

w paczce sa tez przyklady

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

4

1. Osobiście nie używam, ale to może Ci się spodoba: http://www.wudsn.com/content.php#ide_tab (zwłaszcza, gdy używasz Eclipse'a).
2. I jak czegoś nie wiesz - pytaj śmiało (tu lub u konkurencji).

5 Ostatnio edytowany przez mkm (2012-12-29 20:57:27)

Ja uzywam MADS plus prosty skrypt bat, ktory od razu po kompilacji uruchamia mi program wynikowy pod Altirra. Jako edytora uzywam po prostu Notepad++.
Jesli chodzi o nauke asm to kurs Tebe'ego: http://www.atari.org.pl/artykul/kurs-as … a-cz.-1/20 i nastepne jego czesci... choc czasami tempo ostro przyspiesza;)
Polecam tez przeczytac http://www.atariarchives.org/roots/ - moim zdaniem dosc lagodne i przystepne wprowadzenie. Co prawda uzywa innego assembler'a w przykladach, ale sens zalapiesz.

Ja sam jestem mocno poczatkujacy, wiec moze bardziej doswiadczeni koledzy sie wypowiedza... Na przyklad jak realizujecie debugging? Ja niestety na razie tylko robie jmp do jakiejs petli nieskonczonej i w altirze sprawdzam stan rejestrow... sa jakies wygodniejsze patenty?

Maciek
--------
Atari 65XE + Ultimate 1MB + Stereo + SIO2SD | Atari 520STE + 4MB + UltraSatan | Atari Falcon 030 + CT60e + 14MB ST + 256MB TT + 68882  + CF + Netusbee | Amiga 500 + 1MB + Gotek | Amiga 600 + 2MB Chip + 8MB Fast + CF

6

Patentów jest wiele, zależy co dokładnie się dzieje :). Ja osobiście używam w zależności od sytuacji:
1. jmp * i analiza rejestrów/pamięci (czasami po wstawieniu dodatkowego warunku).
2. historia skoków (zwłaszcza, gdy kod leci w 'maliny').
3. do kodu w malinach - wektor przerwania 'brk' na zero - pułapkę na PC=0. Czasami dosyć szybko wychodzi źródło zła.
4. gdzieś do ramu zapisuję 'loga' (przetwarzane wartości, wyniki cząstkowe, ...).
5. dogłębna analiza źródła - krok po kroku co się dzieje.
Generalnie - nie ma tutaj prostego sposobu - zrób x lub y a błąd się ujawni. To nie java :).

7

Bober, w sumie stosuje to co opisales w pkt 1, 4 i 5. Moglbys rozwinac temat pkt 2 i 3 tzn jak to dokladnie robisz?

Bober napisał/a:

To nie java :).

No wlasnie... Jako full time java developer jestem przyzwyczajony do bardzo wysoko poziomowego programowania. ASM 6502 jest wiec dla mnie niezla odskocznia -  lecz jednoczesnie wyzwaniem;)

Maciek
--------
Atari 65XE + Ultimate 1MB + Stereo + SIO2SD | Atari 520STE + 4MB + UltraSatan | Atari Falcon 030 + CT60e + 14MB ST + 256MB TT + 68882  + CF + Netusbee | Amiga 500 + 1MB + Gotek | Amiga 600 + 2MB Chip + 8MB Fast + CF

8

zamiast JMP* można od raz wstawić rozkaz CIM ($F2) albo inny nielegal który spowoduje przejście do debugera emulatora, rozkaz BRK jest legalem i przy sprzyjających wiatrach program z nim jeszcze podziała

w emulatorze można ustawić pułapki Breakpoints (Altirra BP, Atari800Win B) jest to lista z warunkami dla których przerwać wykonywanie programi, np. jeśli wystąpi zapis do komórek z zakresu $a000..$a01f przerwij, albo jeśli będzie odczyt komórki $88

można debugować do pliku, w Atari800Win zauważyłem nowe opcje debugera jak TRAINER, pewnie chodzi o zmianę jakiejś komórki pamięci, niektórzy wolą właśnie Atari800Win ze względu na wygodniejszy debuger

można podejrzeć historię ostatnio wykonywanych operacji CPU, (Atari800Win H), oczywiście jeśli zrobiliście JMP * to historia będzie mocno monotonna

trzeba przyjrzeć się debugerowi każdego w emulatorów (Altirra .HELP, Atari800Win ?), obecnie udostępniają spore możliwości, standardu komend, skrótów nie ma stąd pewne bolączki przy przejściu z Atari800Win na Alitrre u osób przyzwyczajonych do jednego z tych emulatorów

dla Atari800Win jest PROFILER http://www.alamak0ta.republika.pl/profiler.html

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

9 Ostatnio edytowany przez a_niedworok (2012-12-30 13:05:46)

Witajcie,
skorzystałem z pomysłu xxl, syscall i maciekm. Dzięki :-). Ściągnąłem MADS'a, faktycznie jest sporo przykładów.
Teraz muszę nauczyć się architektury Atari. Zastanawiam się jeszcze nad możliwością generowania plików "atr"
żeby móc je odpalić pod emulatorem lub SIO2SD. Czy używanie Atari800Win Plus jest waszym zdaniem OK?

Andrzej

PS Czy w okolicy Kędzierzyna - Koźla, Opola lub Gliwic mieszka jakiś specjalista od Atari?

10

Atari800Win był długi czas standardem nie do pobicia, aktualnie pobiła go Altirra pod względem jakości emulacji i dodatkowej obsługi sprzętów, na początku na pewno Atari800Win powinien wystarczyć, kiedyś zauważysz że Atari800Win potrafi się wysypać jeśli Twój program ostro go zmęczy, wtedy trzeba ustawiać od nowa wszystkie ROM-y

większość tu obecnych programujących XE/XL miało kontakt z Atari800Win, duża część pewnie długo będzie jeszcze mu wierna, jeśli Twój program będzie korzystał z większej ilości przerwań DLI, duszków PMG powinieneś sprawdzić jego działanie na obydwu emulatorach, osobiście najbardziej wierzę Altirrze

zdarza się że ktoś wypuści gotowy program testowany tylko na emulatorze i potem okazuje się nie działa na prawdziwym sprzęcie, zdarzyło się to nawet Fox-owi kiedy pisał interko pod Atari800Win

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

11

architektura atari dosc dobrze jest opisana tu: http://www.virtualdub.org/downloads/Alt … Manual.pdf

pliki binarne generowane przez asembler mozesz bezposrednio uruchamiac na atari z sio2sd, podobnie z emulatorem - nie potrzeba tworzyc dodatkowo .atr

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

12

Dzięki :-)

13

tebe napisał/a:

zamiast JMP* można od raz wstawić rozkaz CIM ($F2) albo inny nielegal który spowoduje przejście do debugera emulatora

 dta 2
https://www.youtube.com/watch?v=jofNR_WkoCE

14

a_niedworok napisał/a:

PS Czy w okolicy Kędzierzyna - Koźla, Opola lub Gliwic mieszka jakiś specjalista od Atari?

Atarowiec mieszka, ale nie specjalista, przynajmniej jeśli chodzi o assemblera ;)

15 Ostatnio edytowany przez gorgh (2013-01-21 17:51:46)

what Tebe said.
Bez prawdziwego sprzętu się nie obejdzie, przykład pierwszy z brzegu (mam nadzieje, że Xeen się nie obrazi)- pracując nad intrem na Silly Venture kilka dni przed zlotem Xeen mi je podesłał do sprawdzenia na sprzęcie i okazało się, że się krzaczy, siedziałem nad tym 2 dni ale nie znalazłem buga, dopiero na party chyba Konop naprawił je , okazało się że była temu winna jakaś mało znana cecha Antica , odnośnie Display Listy, o ile dobrze pamiętam