Czy ktoś mógłby pokazać jak napisać kod dla atasma
programiku, który wyświetliłby na ekranie (w np. GRAPHICS 11) kropkę, lub kreskę
i czekał na naciśnięcie fire lub przycisku z klawiatury?

2 Ostatnio edytowany przez jellonek (2005-10-31 14:02:54)

1.
  LDA #1
  STA $jakas_komorka_w_zdefiniowanej_przez_pamieci_obrazu_ciebie_display_liscie

wszystko zalezy od tego co dasz antic-owi do wyswietlania...
chcesz sie dowiedziec cos wiecej - http://www.jsobola.republika.pl/literat/dere.zip
albo ,,piszemy demo'' w tajemnicach atari (http://tajemnice.atari.org/)

2.
  LDA #$FF
  STA 754
LOOP LDA 754
  TAY
  INY
  BEQ LOOP

po tym, pod adresem 754 (0x02f2, pisane tez jako $2F2) masz kod ostatnio wcisnientego klawisza
(w sumie to i w akumulatorze tez)

dodatkowo spod adresu $278 odczytasz stan pierwszego joysticka (+1 drugiego, +2 trzeciego, +3 czwartego)
a spod adresu $284 stan przycisku pierwszego joysticka (+1, +2, +3 j.w.) przy czym stan 1 to przycisk zwolniony

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

3

ok. jesli potrafisz z poziomu assemblera (czy w jaki kolwiek inny sposob) ustawic jakikolwiek
tryb graficzny (hint: poczytaj o 'open "S:"') to pod $58 bedziesz mial wskaznik do poczatku
czytanego przez antic-a obszaru pamieci zwanego frame buffer. taka informacja powinna sporo uproscic
poszukiwania... ;)

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

4

dziękuję jellonek, biorę się za poszukiwania i naukę;-)

5

chlip :-( nie mogę skompilować przykładu (ten zaczynający się od Program Equ $8800)  z http://tajemnice.atari8.info/4_92/4_92_demo.html ; nawet w quick assemblerze; nie mówiąc o ataśmie. Czy ktoś może mi pomóc?

6

dodam tylkoże podczas assembly w qa wyskakuje coś mniej więcej takiego:
8819     Sta Dlptrs+ 0027
undeclared label
Pass 2 Line 0041 Failure!

7

undeclared label tzn użyto w programie niezadeklarowanej etykiety.
Sprawdź cały zapis , szczególnie tam gdzie występuje Dlptrs
W drugiem obiegu assemblacji błąd został wykryty

8 Ostatnio edytowany przez jellonek (2005-11-02 19:39:45)

prawdopodobnie niedoczytales tego ze w danym listingu nie zostaly zamieszczone procedury wystepujace w poprzednim (ktore zostaly z nazwy wymienione...)

az zajrze tam do tego artykulu ;)

btw. http://knip.pol.lublin.pl/~jellonek/atari/ta.zip - pelne archiwum tajemnic (sciagniete z tajemnice.atari8.info - nie dodawalem notki w pliku, bo go sporzadzalem na wlasny uzytek), z dodatkowymi dwoma .html-ami
1szy to indeks poszczegolnych nr-ow (co by sie wygodniej offline przegladalo ;) ), drugi to indeks tematyczny,
z linkami do kolejnych artykulow z danej serii, np. 5 linii, 6ta strona, 6502, piszemy demo i cos tam jeszcze...

moze sie komus przyda?

edited
ok - zajrzalem... problem na pewno nie jest w tym co podejrzewalem...
sprawdz czy dlptrs nie piszesz raz przez male 'L' a raz przez '1'  bo kilka linii wczesniej masz
wlasnie przypisanie do tej etykiety stalej...

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

9

Piotr456 napisał/a:

8819     Sta Dlptrs+ 0027

Ja widzę spację po '+'.

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

10

Przepraszam, że tak długo nie odp.
Sprawdziłem kod i nie widzę nigdzie 1 :-(

11

Jest. Skompilowało się! Zamiast +l w Dlptr powinno by +1

12

No ale teraz widzę tylko czarny ekran i nic nie mogę zrobić :-(

13

rebisz to pod real atari, czy pod emulcem?
jesli pod tym drugim to mozesz listing zaczytac z emulowanego hd-ka ;)
tylko nalezy pamientac o konwersji znakow konca linii...

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

14

Piotr456: Podejrzyj źródło tego HTMLa. Przeglądarka pewnie Ci pokazuje "Ldx Dlist", a powinno tam być:

  Ldx <DList
  Ldy >DList

- to oczywiście wpadka tego, co robił tę stronę.

Lizard: to był fragment listingu - zawartość linii obcięta po plusie a 0027 to nr linii.

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

15

no na to bym nie wpadl :D, ale rzeczywiscie...
fox - twoje pomysly poprostu wymiataja :D
(w sumie z kodu to wynikalo, ale do puki sie nie wczytac... na trzezwo nie doszedlbym do tego, ale ze jestem po 7x leszek 0,66 ;) )

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

16

Poddaję się. Po dodaniu tego co wskazał Fox program assembluje się, lecz nie ma żadnego widocznego efektu. Po wrzuceniu na wirtualną dyskietkę kodu (i przekonwertowaniu na atascii) z podglądu strony w html-u program wywala opisany wcześniej błąd (undeclared label). :-(
i nie assembluje się. :-(
Dodam tylko, że używałem emulatora Atari800 Win 4.0.
Czy ktoś mógłby wskanować stronę (jako obrazek) z Tajemnice Atari 4_92 strona
piszemy demo? Czy w ogóle komuś to działało kiedyś poprawnie? Jeśli tak prosiłbym o podzielenie się swoimi uwagami...

17

W Tajemnicach Atari w kolejnych numerach (od TA4_92....) jest cykl o demo.
Ale to nie działa po przrpisaniu bo jest tam mnocho błenduf.
Demo to jednak uruchomiłem po "wgryzieniu" się w kod całości i zrozumieniu ... o co chodziło piszącemu.
Tak więc całe demo da się uruchomić ale trzeba zrobić poprawki w poszczególnych częściach. Ostateczny rezultat jest taki, że na ekran wyskakuje obrazek, porusza się tu i tam, no i gra muzyka. Na dodatke leci jakiś scrol z jednej strony w drugą.
Jak sobie przypominam, opis wykrytych błędów tego dema zamieściłem w SERIOUSie (chyba że się mylę). A całe demo z poszczególnymi częściami i wszystkim co trzeba mam na jednym z dysków :)

18

Czy mógłbyś je wrzucić na serwer razem z jakimś sprawnym asemblerom? Lub czy ktoś inny mógłby to zrobić? Byłbym wdzięczny bo od kilku dni się męczę z QA ściągniętym z internetu i nie mogę żadnego przykładu zobaczyć. Niby niektóre się asemblują (np. pierwszy z Seriousa 1) ale nie ma żadnych efektów, potem powraca ekran Qa. Nie wiem co robię źle :-(

19

Biorę się za szukanie w moich przepastnych zbiorach :) Znajdę to prześlę Ci

20

czekam z niecierpliwością...

21

Piszemy Demo TA 6-7 1992 str.35
U dołu środkowej szpalty jest etykieta L1 należy ją zmienić np. na L2
tym samym w prawej szpalcie u góry jest odwolanie do L1 należy zmienić na L2
Dlaczego. Bo do procedury należy dołączyć procedurę Klawisz z TA 4/92 str.13 a w niej jest już odwołanie do L1
Autorzy zapomnieli podać że procedurę Klawisz należy dołączyć, bez tego "program pierwszy" na str.35 TA 6-7 1992 nie uruchomi się
Inne "kwiatki" podam niedługo, bo też świętuję :)

22 Ostatnio edytowany przez Zenon/Dial (2005-11-13 08:32:16)

Piotr456.  Z rana... Pracuję pod QA na żywym Atari
Przykłady z TA 4/92 str. 13,14 działają. Czy ustawiłeś w SETUP adres startu na $8800. Okienko w prawym górnym rogu.
Potem należy zmieniać fragment zaczynający się od etykiety Dlist w/g podanych na str14. Co prawda na ekranie pojawia się przy okazji "kaszana" bo tak ma być, ale wyskakuje też napis Tajemnice Atari. Słowem, to działa

23

Wreszcie działają przykłady z 13 i 14 strony TA!!:-) Dziękuję ci Zenonie za bezcenne rady. Oczywiście (teraz już oczywiście ;-) nie ustawiłem w setupie run na 8800 :-( Dzięki za sprawdzenie, bez tego nie przemógłbym się, żeby ściągnąć qa w djvu, a nie w html-u , przepisać i dokładnie wnikać w to co piszę. Dzięki Tobie teraz już wiem jak wziąść się za resztę kursu z TA. Jeszcze raz dziękuję.

24

Miło mi że mogłem pomóc. Znalazłem na dysku całość w .ASM demo opisywane w TA. Prześlę Ci za niedługo.