po przeszło 20 latach powróciłem do małego atari. Jako młody gówniarz zawsze chciałem napisać gierkę na moje atari 65. Zaparcia i wiedzy nie starczyło wtedy do realizowanie tego pomysłu więc teraz zamierzam powrócić to tego. Moje przygody z programowanie skończyły się wtedy na prostych programikach w BASIC-u oraz eksperymentach z Bajtka. Dziś chciał bym napisać gierkę w asm. czarno biała z niezbyt dynamiczną grafiką. I oto moje pytanie. Jaki asm? Co myslicie o projekcie
ATASM, jako cross-assembler wydaje mi się pomysłem trafionym. Praca na linuxie i kompilacja do 6502. Będę bardzo wdzięczny za podpowiedzi.
weź madsa, warto - znam ATASM, nie ma porównania. Kodowanie idzie N razy szybciej gdy już się człowiek pogodzi z heterogeniczną (wstrząśniętą i zmieszaną) składnią :]
MADS jest tu bardzo popularny i sam bardzo go sobie chwalę - lecz jeśli chodzi o ATASM, to chyba pierwszy raz w życiu widzę tę nazwę ;) Co prawda chyba nie ma binarki MADS'a na Linuksa, ale kompilacja jest bardzo prosta, a w ostateczności można go uruchamiać z pomocą Wine.
A może się zainteresujesz Action! ? Bo asm i Action! są zbyt dobre na wymagania jakich potrzebuje Twoja gra. Jednak Action! jest kompilatorem, więc posiada wiele zalet tychże, a do tego jest bardzo podobny do Atari Basic, który znasz.
Który cross-assembler weźmiesz to jest mało istotne. Najważniejsze to musisz nauczyć się asemblera i programowania układów Atari. W tym temacie polecam książki: Asembler 6502 oraz Procedury wejścia/wyjścia (rozdziały o programowaniu układów).
A w tym mniej istotnym wyborze polecam xasm. Tu są jego bardziej aktualne źródła.
Dzięki serdeczne za sugestie i podpowiedzi są one bardzo cenne dla początkujących atarowców taki jak ja i mogą zaoszczędzić sporo czasu. I tak jak wspomniał 0xF zacznę od nauki asm. i architektury przy okazji dzięki za linka z kopalnią wiedzy. Do nauki myślę wykorzystać atari800 emulator wraz MAC/65, małe kroczki. Dopadłem książki
Wojciecha Zientara: PORADNIK PROGRAMISTY ATARI MAPA PAMIĘCI ATARI XL/XE
oraz wersja pdf Jan Ruszyczyc ASEMBLER 6502
Będzie łatwiej debugować i uruchamiać. Później myślę iż przesiądę się na cross-assembler.
@arturkb: A ja powiem tak: jeśli masz ogromną ochotę poczuć klimat dawnych lat ucząc się programowania na oryginalnym sofcie Atari, generalnie nie widzę problemu. To może nawet i sporo pomóc, to kwestia nastawienia. No ale oczywiście wiele lat już upłynęło i sporo się zmieniło (ludzie też), jeśli się w bardziej zaangażujesz w programowanie to i tak przejdziesz na asemblery na dzisiejsze komputery, bo to setki razy wygodniejsze i efektowniejsze - niestety :)
@brx: OK pobawiłem się MAC/65 na atari800 i faktycznie wymaga to zupełnie innego stylu pracy niż przywykłem na PC. Ale posmakować trzeba.
Na warsztat wrzuciłem ATASM ze względu na dużą zgodność z MAC/65 a ten ze względu na literaturę jaką zgromadziłem. Wybór edytora to kwestia smaku, mnie smakuje EMACS. Emulator atari800. Mam natomiast pytanie jak debugować? Statycznie mogę podejrzeć kod wynikowy w hex np. hexdump na linuxie. Ale dynamicznie? Jest jakiś debugger współpracujący z emulatorem. Zauważyłem że atari800 ma funkcję monitor co mi wygląda na rodzaj debuggera. Z góry dzięki za podpowiedzi.
Dziś wiele firm produkuje nawet sterowniki graficzne pisane obiektowo w C++, czego jakoś pojąć nie mogę... ale fakt jest faktem.
Żyjemy w czasach, kiedy człowiek, tj. jego praca, jest (często znacznie) droższy, niż maszyna. Taniej jest kupić szybszy procesor do urządzenia - prawie zawsze z nadmiernymi możliwościami do realizowanego zadania. O dobrych programistów asemblera trudno, C/C++ są znacznie bardziej popularne i łatwiej tu znaleźć ludzi.
Tak więc jak zwykle rządzą prawa biznesu. Nie zdziwiłbym sie, gdyby niestandardowe łącza, ATASCII lub inne pomysły producentów Atari XL/XE nie wynikały właśnie z czysto biznesowych pobudek ("power WITHOUT PRICE"). :P
Abstrahując tutaj nieco od samego Atrai, co do środowisk programistycznych, Eclipse jest bardzo dobre, ale ostatnio z niego już nie korzystam (zapewne powrócę, kiedy będę przerabiał tworzone gry na Androida). Aktualnie - z czystego przypadku - to Netbeans dla programowania internetowego (jestem zmuszony do PHP z oczywistych przyczyn, a Netbeans najlepiej wspiera środowisko PHP) oraz Visual Studio do desktopowych rzeczy. Nie wiem dlaczego, ale to ostatnie ciągle mi przywodzi na myśl czasy, kiedy używałem jeszcze Quick Assembler - w przeciwieństwie do Eclipse'a.