Witam.

Mam zamiar pouczyc sie troszke Assemblera na Atari. Wczesniej programowalem tylko w Basicu. Nie wiem tak naprawde od czego zaczac, jakiego Assemlera najlepiej uzyc - bo jest ich kilka. Jaka Literatre polecacie? Jakie oprogramowanie?  Co potrzebuje? Z gory dziekuje za jakakolwiek odpowiedz.

Pozdrawiam

ABBUC - Atari bit byter user club

2

Quick Assembler

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

3

mirko_dalton napisał/a:

Jaka Literatre polecacie?

Jan Ruszczyc "Asembler 6502" - PDFa znajdziesz w necie. Będziesz też potrzebował opis programowania Atari -> Wojciech Zientara "Mapa pamięci Atari XL/XE". Trochę źródeł programów możesz podejrzeć na http://sources.pigwa.net. Co do asemblera na początek najlepszy Quick Assembler.

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

4

pytanie czy masz zamiar fizycznie stukac w klawiature pc czy atari piszac w asemblerze 6502.

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

5

A jak bedzie lepiej xxl???. Oficjalnie mam 65XE + CA2001 a na iMac´u Atari800MAC X Emulator.

Dzieki chlopaki za szybkie odpowiedzi. Biore sie za szukanie literatury ktora polecil Fox i Quick Assemblera.

Pozdrawiam.

ABBUC - Atari bit byter user club

6

Jak już Quick Assembler, to przyda się oryginalna instrukcja do niego w celu zapoznania się ze składnią i charakterystycznymi dla quicka pseudoinstrukcjami.

7

qa jest wygodny jak ma sie tylko atari, tylko ze wszyscy juz maja pc (chyba) i dlaczego nie uzywac wygodniejszych narzedzi?
edytory tekstu np: scite, krosmakrosuperduperasemblery bijace na leb quick assemblera - xasm/mads, uruchomienie to jakis emulator i juz.

najwiekszym problemem podczas pisania na atari bedzie brak wygodnego monitora i debuggera to co jest nawet nie zbliza sie do 'wygodne', wielu funkcji brakuje ech....
podobny watek z tego co pamietam juz raz byl poruszany ... chyba nawet przezemnie jakies poltora-dwa lata temu jak zaczynalem pisac ?

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

8

jesli ma zaczynac od qa to moze warto polecic artykuly z tajemnic atari

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

9 Ostatnio edytowany przez eru (2007-07-18 10:59:50)

Jak chcesz się nauczyć ASMa, to klepanie na atarce dużego sensu nie ma, zatem QuickAssembler odpada.
Skoro pracujesz na Maczku (fotka z Photo Booth? :)), to polecam MADSa (http://mads.atari8.info/) - jest to w tej chwili najlepszy assembler (sorki, Fox:)), który jest multiplatformowy. W dystrybucji są źródła, więc można skompilować FreePascalem na Macu, albo ściągnąć binarkę z http://eru.nutki.com/a8/mads :)
Do tego warto zrobić sobie jakieś sensowne środowisko do programowania - ja skończyłem używając jEdita (koniecznie z pluginem Console), z podświetlaniem składni, i automatyczną kompilacją i odpalaniem emulatora.
Mało tu Maczków, więc jak potrzebujesz pomocy, wal śmiało :)

: 404. Stopka not found

10

Do nauki najlepsze są najprostsze asemblery, dlatego ja i Tebe poleciliśmy QA zamiast swoich produkcji. Chodzi o to, żeby uczyć się asemblera jako języka, a nie jako narzędzia. xasm jest przeznaczony dla tych, którzy sporo już na 6502 napisali, a w zawiłościach madsa to chyba tylko Tebe się orientuje.

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

11 Ostatnio edytowany przez epi (2007-07-18 12:06:48)

Warto jeszcze przerobić kurs JBW z Tajemnic Atari, biorąc poprawkę na wykorzystywanie paru "niedozwolonych" adresów. :) Z asemblerów do nauki również polecam QA, ale tylko do nauki.

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

12

Gross polskich ('najlepszych w swiecie (tm)') koderów zaczynało od Ruszczyca, JBW i Tajemnic Atari.
Ja osobiscie duzo sie nauczylem z samej lektury instrukcji od QA (na poczatku jest mini-kursik) Pamiętam że matka wysyłała mnie do kościoła w niedziele, to brałem ze sobą tą instrukcję żeby sie nie nudzić :) hehe
Srodowisko uruchomieniowo-developerskie jest tu rzeczą wtórną, jak zakumasz asembler to napiszesz dobry kod nawet w notatniku :)

13

Fakt, dokładne przestudiowanie instrukcji od QA też dużo daje. Ściąga z maszynówki w manualu do konkretnego asemblera to pewna dziwność, ale przyznam, że korzystałem z niej często, dopisawszy jeszcze ilość cykli obok kodów rozkazów. :)

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

14

Co do Quick Assemblera, to po co chłopak ma się męczyć z wklepywaniem na Atari...

Dwa pomocne linki, często zaglądam do nich:
http://www.atariarchives.org/mapping/memorymap.php
http://www.6502.org/tutorials/6502opcodes.html

: 404. Stopka not found

15

Jak naraie zatrzymuje sie na QA i ucze sie podstaw. Jest troche trudny do zrozumienia te skladnie, stosy itp. kurcze pare miechow zajmnie nauka. Ale MADS tez wyglada niezle i jak nabiore troszke wprawy to sie przezuce. Przeciez rozkazy te same. Brawo dla tworcy.

ABBUC - Atari bit byter user club

16

QA nie jest trudny, musisz sie tylko przyzwyczaic. Stosty itp. to podstawy asseblera i znajdziesz je w kazdej z jego odmian (no prawie, zalezy od urzadzenia na ktore piszesz).

17

QA ma taką przewagę nad pecetem, że wychodzisz z edytora, wciskasz A, R i działa. W czasie nauki robi się raczej krótkie programy, więc odpada problem rozmiaru bufora i ekranu oraz szybkości asemblacji.
Oczywiście można uruchamiać na emulatorze, tak samo jak można robić kupę do umywalki.

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

18

Ja też się zacząłem uczyć asemblera 6502. Z połowę książki Ruszczyca już przerobiłem, tyle że na razie na sucho. Jakoś tak nie ma czasu żeby siąść odpalić emulator, asembler i napisać nawet program typu "Hello world" :(

19 Ostatnio edytowany przez epi (2007-07-20 22:48:39)

Przecież to nie trwa nawet pięć minut.

 opt 21
 org $8000

 ldx #0
 lda <text
 sta $0344,x
 lda >text
 sta $0345,x
 sta $0348,x
 lda #9
 sta $0342,x
 jmp $e456

text dta c'Hello, World!'
 dta b($9b)

 end
Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

20

to trwa jeszcze krocej ;)

    org $8000

    ldx #<text
    ldy #>text
    jsr $c642

text    dta c'Hello World!'
    dta b($9b)

21 Ostatnio edytowany przez epi (2007-07-21 01:29:50)

Ale twoje jest w stylu JBW. Lepiej byłoby dla ciebie, gdyby Draco nie odwiedzał tego topicu. ;)
(Pomijam tutaj fakt, że w QA się nie zasembluje. ;) )

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

22

Eeeee tam

  org $bc40
  dta d'Hello World!'

:)

: 404. Stopka not found

23

pr0be: tego rodzaju nawyków raczej sugerowałbym nie uczyć kolegi - bezpośrednie odwołania do adresów w ROM-ie :P

24

epi, Draco nie musi tego widzieć, wystarczy, że ja już dostałem palpitacji serca. ;)

Czy dla funkcji 9 CIO faktycznie musi być ustawiona długość bufora? ZTCP, to jednak nie. Poza tym można też zoptymalizować kod na wielkość źródła. :D

opt 21
 org $8000

 ldx #0
 lda <text
 sta $0344
 lda >text
 sta $0345
 lda #9
 sta $0342
 jmp $e456

text dta c'Hello, World!'
 dta b($9b)

 end

Ja to zawsze takie teksty wywalałem przez:

    jsr printf
    dta c'Hello, World!',b($9b),b(0)
    rts

Oczywiście printf trzeba mieć wcześniej napisaną. ;)

Zawsze mam rację, tylko nikt mnie nie słucha.

25

<kij w mrowisko>
prawda, bo pierwsza czynnoscia po uruchomieniu programu powinno byc wylaczenie romu i podlaczenie w to miejsce pamieci ram. koniec ochrony na adresy ponizej $2000 i powyzej $c000.
</>

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