atarionline.pl Display List w ATASM - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

      • 1: CommentAuthor_pepis
      • CommentTime31 Dec 2010 16:12 zmieniony
       
      Witajcie miłośnicy Atari.

      Usilnie staram się assemblerować. Używam platformy ATASM+ECLIPSE+Plugin. Studiując tony książek napotkałem na ten program... Wkleiłem go do edytora i uruchomiłem na EMU. Rozumiem każdy człon programu, każdy rozkaz i całość jest dla mnie logiczna. Ale program nie działa, ekran jest czarny i nic nie widać... Dlaczego?

      Dziękuje za pomoc i pozdrawiam, życząc Atarowego Nowego Roku!


      *=$600
      JMP INIT

      ;
      SDMCTL=$022F
      ;
      SDLSTL=$0230
      SDLSTH=$0231
      ;
      COLOR0=$02C4; OS COLOR REGISTERS
      COLOR1=$02C5
      COLOR2=$02C6
      COLOR3=$02C7
      COLOR4=$02C8
      ;
      ;DISPLAY LIST DATA
      ;
      START
      ;
      LINE1 .SBYTE " PRESENTING "
      LINE2 .SBYTE " the big program "
      LINE3 .SBYTE " By (your name) "
      ;
      LINE4 .SBYTE " PLEASE STAND BY "

      HLIST
      .BYTE $70,$70,$70; 3 BLANK LINES
      .BYTE $70, $70, $70, $70,$70; MORE BLANK LINES
      .BYTE $46; LSM, ANTIC MODE 6 (BASIC MODE 2)
      .WORD LINE1; (TEXT LINE: "PRESENTING...")
      .BYTE $70,$70,$70,$70,$47; LMS, ANTIC MODE 7
      .WORD LINE2; (TEXT LINE: "THE BIG PROGRAM")
      .BYTE $70,$42; (LMS, ANTIC MODE 2 [GR.0])
      .WORD LINE3;(TEXT LINE: "By [Your Name]")
      .BYTE $70,$70,$70,$70,$46;LMS, ANTIC MODE 6
      .WORD LINE4; (TEXT LINE: "PLEASE STAND BY")
      .BYTE $70,$70,$70,$70,$70; 5 BLANK LINES
      .BYTE $41; JVB INSTRUCTION
      .WORD HLIST; TO JUMP BACK TO START OF LIST

      INIT
      LDA COLOR3
      STA COLOR1
      LDA COLOR4
      STA COLOR2
      ; NOW WE'LL RUN THE PROGRAM


      LDA HLIST; WHILE WE STORE OUR NEW LIST'S ADDRESS
      STA SDLSTL; IN THE OS DISPLAY POINTER.
      LDA HLIST/256; NOW FOR THE HIGH BYTE.
      STA SDLSTH; NOW ANTIC WILL KNOW OUR NEW ADDRESS

      RTS
      • 2: CommentAuthorgorgh
      • CommentTime31 Dec 2010 16:12 zmieniony
       
      musisz jeszcze załadować adres programu do słowa $2e0 za pomocą *=$2e0/ .Word $600
      • 3: CommentAuthor_pepis
      • CommentTime31 Dec 2010 17:12
       
      A gdzie to dopisać i co dokładnie?
      • 4: CommentAuthorgorgh
      • CommentTime31 Dec 2010 17:12
       
      na początku lub na końcu programu wstaw to co dopisałem powyżej (post zmieniłem)
      • 5: CommentAuthor_pepis
      • CommentTime31 Dec 2010 17:12
       
      Nie przynosi do skutku. Program dalej nie działa... Uruchamiam z xexa prosto z eclipse-a pod emu...
      • 6: CommentAuthorgorgh
      • CommentTime31 Dec 2010 18:12
       
      LDA HLIST; WHILE WE STORE OUR NEW LIST'S ADDRESS
      STA SDLSTL; IN THE OS DISPLAY POINTER.
      LDA HLIST/256; NOW FOR THE HIGH BYTE.
      STA SDLSTH; NOW ANTIC WILL KNOW OUR NEW ADDRESS

      jakoś tego nie rozumiem, może spróbuj
      lda <hlist
      sta sdlstl
      lda >hlist
      sta sdlsth

      Przede wszystkim przestudiuj instrukcje do tego kompilatora i jakiś kurs asm, inaczej ciągle będziesz miał jakieś błędy.
      • 7: CommentAuthortebe
      • CommentTime31 Dec 2010 18:12
       
      w ATASM pewnie

      lda #<adres
      lda #>adres


      bo składnie bez hash-a wypromował szerzej Wiśniewski poprzez Quick Assembler
      • 8: CommentAuthor_pepis
      • CommentTime1 Jan 2011 12:01
       
      O właśnie w tym tkwił problem, tebe dzięki! Gorgh dzięki też, ale napisałem ci że jestem obładowany pdfami z różniastymi instrukcjami i książkami...
      • 9:
         
        CommentAuthorKaz
      • CommentTime27 Apr 2011 02:04
       
      No ja juz sie nie moge doczekac tej komnatowki Pepisa :)