Advertisement
felixnardella

3D_OCTAHEDRON

Feb 25th, 2025 (edited)
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Programma in Assembly per Commodore 64
  2. ; Scritto da Kimono (F. Nardella)
  3. ; Visualizza e ruota un ottaedro in modalità bitmap (HiRes)
  4. ; Le coordinate dei vertici del poliedro sono precalcolate e lette da memoria
  5.  
  6. * = $C000
  7. ;******************************************************
  8. ; PARAMETRI VICII
  9. ;******************************************************
  10. VICII  = $d000
  11. VICII1 = VICII + $11  ; VICII Control Register 1 - Hi Res - 53265
  12. VICII2 = VICII + $16  ; VICII Control Register 2 - Hi Res - 53270
  13. VICIIA = VICII + $18  ; VICII Start Address Graphic Ram - 53272
  14. VICIIB = VICII + $20  ; VICII Border Color Registry - 53280
  15. VICIIS = VICII + $21  ; VICII BackGround Color Registry - 53281
  16.  
  17. loc = $5a ;loc e loc+1 sono LSB e MSB della locaz. in Graphic RAM in cui accendere il pixel
  18. store = $5c
  19. bmpage = $ff
  20. FRAMEPTR = $fb     ; Puntatore al frame corrente
  21. FRAMECNT = $fd     ; Contatore dei frame
  22. PARAMS = $828
  23. xL = PARAMS + 0 ; LSB sono le coordinate per plot
  24. xH = PARAMS + 1 ; MSB sono le coordinate per plot
  25. yy = PARAMS + 2 ; sono le coordinate per plot
  26. x1  = PARAMS + 3  ; Coordinata X del primo punto
  27. y1  = PARAMS + 4  ; Coordinata Y del primo punto
  28. x2  = PARAMS + 5  ; Coordinata X del secondo punto
  29. y2  = PARAMS + 6  ; Coordinata Y del secondo punto
  30. dx  = PARAMS + 7  ; Differenza X
  31. dy  = PARAMS + 8  ; Differenza Y
  32. sx  = PARAMS + 9  ; Direzione X (-1 o +1)
  33. sy  = PARAMS + 10 ; Direzione Y (-1 o +1)
  34. err = PARAMS + 11 ; Errore accumulato
  35.  
  36.  
  37. START
  38.     ldx #11
  39.     stx VICIIB     ; Bordo grigio scuro
  40.     jsr HIRES      ; Passa in modalità hi res
  41.     jsr GRRAM      ; Imposta l'area della RAM grafica
  42.     jsr CLEARGR    ; Cancella la RAM grafica
  43.     jsr CLEARCO    ; Cancella la Color RAM
  44.     jsr DRAWCUBE   ; Disegna e ruota il dodecaedro
  45.  
  46.     rts
  47.  
  48. DRAWCUBE
  49.     ; Inizializza il puntatore al primo frame
  50.     lda #<COORD_TABLE
  51.     sta FRAMEPTR
  52.     lda #>COORD_TABLE
  53.     sta FRAMEPTR+1
  54.     lda #0
  55.     sta FRAMECNT
  56.  
  57. ANIMATE
  58.     jsr DRAWFRAME  ; Disegna il frame corrente
  59.     jsr DELAY      ; Attendi
  60.     jsr DELAY
  61.     jsr DELFRAME   ; Cancella il frame corrente
  62.    
  63.     ; Passa al frame successivo
  64.     lda FRAMEPTR
  65.     clc
  66.     adc #48       ; Ogni frame occupa 48 byte
  67.     sta FRAMEPTR
  68.     bcc b_no_carry
  69.     inc FRAMEPTR+1
  70. b_no_carry
  71.  
  72.     ; Incrementa il contatore dei frame
  73.     inc FRAMECNT
  74.     lda FRAMECNT
  75.     cmp #15      ; Numero totale di frame
  76.     bne ANIMATE
  77.    
  78.     jmp DRAWCUBE
  79.  
  80. ; --------------------------------------------------------------
  81. ; Funzione per disegnare il cubo
  82. ; --------------------------------------------------------------
  83. DRAWFRAME
  84.     ldy #0
  85.     ldx #0
  86. draw_loop
  87.     ; Leggi coordinate x1,y1
  88.     lda (FRAMEPTR),y
  89.     sta x1
  90.     iny
  91.     lda (FRAMEPTR),y
  92.     sta y1
  93.     iny
  94.    
  95.     ; Leggi coordinate x2,y2
  96.     lda (FRAMEPTR),y
  97.     sta x2
  98.     iny
  99.     lda (FRAMEPTR),y
  100.     sta y2
  101.     iny
  102.    
  103.     stx store+1     ; Salva X
  104.     tya  
  105.     pha             ; Salva Y
  106.     jsr LINE        ; Disegna la linea
  107.     pla            
  108.     tay             ; Recupera Y
  109.     ldx store+1     ; Recupera X
  110.    
  111.     inx
  112.     cpx #12         ; 12 linee per il dodecaedro
  113.     bne draw_loop
  114.     rts
  115.  
  116. ; --------------------------------------------------------------
  117. ; Funzione per cancellare il cubo
  118. ; --------------------------------------------------------------
  119. DELFRAME
  120.     ldy #0
  121.     ldx #0
  122. del_loop
  123.     ; Leggi coordinate x1,y1
  124.     lda (FRAMEPTR),y
  125.     sta x1
  126.     iny
  127.     lda (FRAMEPTR),y
  128.     sta y1
  129.     iny
  130.    
  131.     ; Leggi coordinate x2,y2
  132.     lda (FRAMEPTR),y
  133.     sta x2
  134.     iny
  135.     lda (FRAMEPTR),y
  136.     sta y2
  137.     iny
  138.    
  139.     stx store+2
  140.     tya  
  141.     pha             ; Salva Y
  142.     jsr DELLINE        ; Disegna la linea
  143.     pla             ; Recupera Y
  144.     tay
  145.     ldx store+2    
  146.    
  147.     inx
  148.     cpx #12         ; 12 linee per il dodecaedro
  149.     bne del_loop
  150.     rts
  151.  
  152. ; --------------------------------------------------------------
  153. ; Funzione per introdurre un ritardo
  154. ; --------------------------------------------------------------
  155. DELAY
  156.     ldx #$FF
  157.     ldy #$FF
  158. delay_loop
  159.     dex
  160.     bne delay_loop
  161.     dey
  162.     bne delay_loop
  163.     rts
  164.  
  165. ; --------------------------------------------------------------
  166. ; Funzione per attivare la modalità bitmap HiRes
  167. ; --------------------------------------------------------------
  168. HIRES
  169.     lda VICII1
  170.     ora #32
  171.     sta VICII1
  172.     rts
  173.  
  174. GRRAM
  175.     lda VICIIA
  176.     ora #8
  177.     sta VICIIA
  178.     rts
  179.  
  180. ; --------------------------------------------------------------
  181. ; Funzione per pulire lo schermo grafico
  182. ; --------------------------------------------------------------
  183. CLEARGR
  184.     lda #0
  185.     sta $fa
  186.     lda #$20
  187.     sta $fb
  188.     ldx #32
  189. loop
  190.     ldy #$0
  191. byte
  192.     lda #$0
  193.     sta ($fa),y
  194.     dey
  195.     bne byte
  196.     inc $fb
  197.     dex
  198.     bne loop
  199.     rts
  200.  
  201. ; --------------------------------------------------------------
  202. ; Funzione per pulire e impostare la Color RAM
  203. ; --------------------------------------------------------------
  204. CLEARCO
  205.     lda #208
  206.     ldx #0
  207.     stx $fa
  208.     ldx #4
  209.     stx $fb
  210.     ldy #0
  211. cloop
  212.     sta ($fa),y
  213.     iny
  214.     bne CLOOP
  215.     inc $fb
  216.     ldx $fb
  217.     cpx #8
  218.     bne cloop
  219.     rts
  220.  
  221. ; --------------------------------------------------------------
  222. ; Funzione per disegnare un punto
  223. ; --------------------------------------------------------------
  224. PLOT
  225.     jsr SUB_PLOT
  226.     ora BITMASK,x
  227.     sta (loc),y
  228.     rts
  229.  
  230. ; --------------------------------------------------------------
  231. ; Funzione per cancellare un punto
  232. ; --------------------------------------------------------------
  233. UNPLOT
  234.     jsr SUB_PLOT
  235.     and NEGMASK,x
  236.     sta (loc),y
  237.     rts
  238.  
  239. SUB_PLOT
  240.     lda xL
  241.     and #7
  242.     tax
  243.     lda #0
  244.     sta loc
  245.     lda xL
  246.     and #$f8
  247.     sta store
  248.     lda yy
  249.     lsr
  250.     lsr
  251.     lsr
  252.     sta loc+1
  253.     lsr
  254.     ror loc
  255.     lsr
  256.     ror loc
  257.     adc loc+1
  258.     sta loc+1
  259.     lda yy
  260.     and #7
  261.     adc loc
  262.     adc store
  263.     sta loc
  264.     lda loc+1
  265.     adc xH
  266.     adc bmpage
  267.     sta loc+1
  268.     ldy #0
  269.     lda (loc),y
  270.     rts
  271.  
  272. ; --------------------------------------------------------------
  273. ; Funzione per disegnare una linea tra due punti
  274. ; --------------------------------------------------------------
  275. LINE
  276.     jsr SUB_LINE
  277.    
  278.     ; Calcola error = (dx > dy ? dx : dy) / 2
  279.     lda dx
  280.     cmp dy
  281.     bcc dy_greater
  282.     lsr             ; Dividi dx per 2
  283.     sta err
  284.     jmp check_slopes
  285. dy_greater
  286.     lda dy
  287.     lsr             ; Dividi dy per 2
  288.     sta err
  289.    
  290. check_slopes
  291.     ; Decidi quale routine di loop usare
  292.     lda dx
  293.     cmp dy
  294.     bcs dx_ge_dy    ; Se dx >= dy, usa la routine x-dominant
  295.    
  296.     ; Routine y-dominant (pendenza > 1)
  297. y_loop
  298.     jsr PLOT        ; Disegna il punto
  299.    
  300.     ; Aggiorna l'errore e muovi x se necessario
  301.     lda err
  302.     clc
  303.     adc dx          ; err += dx
  304.     sta err
  305.     cmp dy          ; Se err >= dy...
  306.     bcc skip_x_step
  307.     sec
  308.     sbc dy          ; ...sottrai dy da err
  309.     sta err
  310.     lda xL          ; ...e incrementa/decrementa x
  311.     clc
  312.     adc sx
  313.     sta xL
  314.     bcc skip_x_step
  315.     inc xH          ; Gestisci il riporto se necessario
  316. skip_x_step
  317.    
  318.     ; Incrementa o decrementa y
  319.     lda yy
  320.     clc
  321.     adc sy
  322.     sta yy
  323.    
  324.     ; Controlla se abbiamo raggiunto y2
  325.     cmp y2
  326.     bne y_loop      ; Se y != y2, continua
  327.     lda xL
  328.     cmp x2
  329.     bne y_loop      ; Se x != x2, continua
  330.     rts
  331.    
  332. dx_ge_dy
  333.     ; Routine x-dominant (pendenza <= 1)
  334. x_loop
  335.     jsr PLOT        ; Disegna il punto
  336.    
  337.     ; Aggiorna l'errore e muovi y se necessario
  338.     lda err
  339.     clc
  340.     adc dy          ; err += dy
  341.     sta err
  342.     cmp dx          ; Se err >= dx...
  343.     bcc skip_y_step
  344.     sec
  345.     sbc dx          ; ...sottrai dx da err
  346.     sta err
  347.     lda yy          ; ...e incrementa/decrementa y
  348.     clc
  349.     adc sy
  350.     sta yy
  351. skip_y_step
  352.    
  353.     ; Incrementa o decrementa x
  354.     lda xL
  355.     clc
  356.     adc sx
  357.     sta xL
  358.     bcc no_carry
  359.     inc xH          ; Gestisci il riporto se necessario
  360. no_carry
  361.    
  362.     ; Controlla se abbiamo raggiunto x2
  363.     cmp x2
  364.     bne x_loop      ; Se x != x2, continua
  365.     lda yy
  366.     cmp y2
  367.     bne x_loop      ; Se y != y2, continua
  368.     rts
  369.  
  370. SUB_LINE
  371.     ; Controlla se x1 > x2 e in tal caso scambia i punti
  372.     lda x1
  373.     cmp x2
  374.     bcc no_swap_x   ; Se x1 < x2, non serve scambiare
  375.    
  376.     ; Scambia x1 e x2
  377.     lda x1
  378.     pha             ; Salva x1 nello stack
  379.     lda x2
  380.     sta x1
  381.     pla
  382.     sta x2
  383.    
  384.     ; Scambia anche y1 e y2
  385.     lda y1
  386.     pha             ; Salva y1 nello stack
  387.     lda y2
  388.     sta y1
  389.     pla
  390.     sta y2
  391.    
  392. no_swap_x
  393.  
  394.     ; Calcola dx = abs(x2 - x1)
  395.     lda x2
  396.     sec
  397.     sbc x1
  398.     bpl store_dx    ; Se è positivo, salta
  399.     eor #$FF        ; Altrimenti, negalo (complemento a 1)
  400.     clc
  401.     adc #1          ; Complemento a 2 per ottenere abs()
  402. store_dx
  403.     sta dx
  404.    
  405.     ; Calcola dy = abs(y2 - y1)
  406.     lda y2
  407.     sec
  408.     sbc y1
  409.     bpl store_dy    ; Se è positivo, salta
  410.     eor #$FF        ; Altrimenti, negalo
  411.     clc
  412.     adc #1
  413. store_dy
  414.     sta dy
  415.    
  416.     ; Determina direzione x (sx)
  417.     lda x1
  418.     cmp x2
  419.     bcc x_ascending
  420.     lda #$FF        ; sx = -1 (x1 > x2)
  421.     jmp store_sx
  422. x_ascending
  423.     lda #$01        ; sx = 1 (x1 < x2)
  424. store_sx
  425.     sta sx
  426.    
  427.     ; Assicurati che sx sia sempre positivo
  428.     lda #$01
  429.     sta sx
  430.    
  431.     ; Determina direzione y (sy)
  432.     lda y1
  433.     cmp y2
  434.     bcc y_ascending
  435.     lda #$FF        ; sy = -1 (y1 > y2)
  436.     jmp store_sy
  437. y_ascending
  438.     lda #$01        ; sy = 1 (y1 < y2)
  439. store_sy
  440.     sta sy
  441.    
  442.     ; Imposta i valori iniziali di x e y
  443.     lda x1
  444.     sta xL
  445.     lda #0          ; Assumiamo che xH sia sempre 0 per semplicità
  446.     sta xH
  447.     lda y1
  448.     sta yy
  449.     rts
  450.  
  451. ; --------------------------------------------------------------
  452. ; Funzione per cancellare una linea tra due punti
  453. ; --------------------------------------------------------------
  454. DELLINE
  455.     jsr SUB_LINE
  456.  
  457.     ; Calcola error = (dx > dy ? dx : dy) / 2
  458.     lda dx
  459.     cmp dy
  460.     bcc d_dy_greater
  461.     lsr             ; Dividi dx per 2
  462.     sta err
  463.     jmp d_check_slopes
  464. d_dy_greater
  465.     lda dy
  466.     lsr             ; Dividi dy per 2
  467.     sta err
  468.    
  469. d_check_slopes
  470.     ; Decidi quale routine di loop usare
  471.     lda dx
  472.     cmp dy
  473.     bcs d_dx_ge_dy    ; Se dx >= dy, usa la routine x-dominant
  474.    
  475.     ; Routine y-dominant (pendenza > 1)
  476. d_y_loop
  477.     jsr UNPLOT        ; Cancella il punto
  478.    
  479.     ; Aggiorna l'errore e muovi x se necessario
  480.     lda err
  481.     clc
  482.     adc dx          ; err += dx
  483.     sta err
  484.     cmp dy          ; Se err >= dy...
  485.     bcc d_skip_x_step
  486.     sec
  487.     sbc dy          ; ...sottrai dy da err
  488.     sta err
  489.     lda xL          ; ...e incrementa/decrementa x
  490.     clc
  491.     adc sx
  492.     sta xL
  493.     bcc d_skip_x_step
  494.     inc xH          ; Gestisci il riporto se necessario
  495. d_skip_x_step
  496.    
  497.     ; Incrementa o decrementa y
  498.     lda yy
  499.     clc
  500.     adc sy
  501.     sta yy
  502.    
  503.     ; Controlla se abbiamo raggiunto y2
  504.     cmp y2
  505.     bne d_y_loop      ; Se y != y2, continua
  506.     lda xL
  507.     cmp x2
  508.     bne d_y_loop      ; Se x != x2, continua
  509.     rts
  510.    
  511. d_dx_ge_dy
  512.     ; Routine x-dominant (pendenza <= 1)
  513. d_x_loop
  514.     jsr UNPLOT        ; Cancella il punto
  515.    
  516.     ; Aggiorna l'errore e muovi y se necessario
  517.     lda err
  518.     clc
  519.     adc dy          ; err += dy
  520.     sta err
  521.     cmp dx          ; Se err >= dx...
  522.     bcc d_skip_y_step
  523.     sec
  524.     sbc dx          ; ...sottrai dx da err
  525.     sta err
  526.     lda yy          ; ...e incrementa/decrementa y
  527.     clc
  528.     adc sy
  529.     sta yy
  530. d_skip_y_step
  531.    
  532.     ; Incrementa o decrementa x
  533.     lda xL
  534.     clc
  535.     adc sx
  536.     sta xL
  537.     bcc d_no_carry
  538.     inc xH          ; Gestisci il riporto se necessario
  539. d_no_carry
  540.    
  541.     ; Controlla se abbiamo raggiunto x2
  542.     cmp x2
  543.     bne d_x_loop      ; Se x != x2, continua
  544.     lda yy
  545.     cmp y2
  546.     bne d_x_loop      ; Se y != y2, continua
  547.     rts
  548.  
  549.  
  550. BITMASK  
  551.     .byte $80, $40, $20, $10, $08, $04, $02, $01
  552.  
  553. ; Tabella maschere negate (complemento delle maschere bit)
  554. NEGMASK
  555.     .byte $7F, $BF, $DF, $EF, $F7, $FB, $FD, $FE
  556.  
  557. COORD_TABLE
  558. ; Frame 0
  559.  .byte 210, 100, 160, 150
  560.  .byte 210, 100, 160, 50
  561.  .byte 210, 100, 160, 100
  562.  .byte 210, 100, 160, 100
  563.  .byte 110, 100, 160, 150
  564.  .byte 110, 100, 160, 50
  565.  .byte 110, 100, 160, 100
  566.  .byte 110, 100, 160, 100
  567.  .byte 160, 150, 160, 100
  568.  .byte 160, 150, 160, 100
  569.  .byte 160, 50, 160, 100
  570.  .byte 160, 50, 160, 100
  571.  
  572. ; Frame 1
  573.  .byte 211, 100, 161, 146
  574.  .byte 211, 100, 158, 48
  575.  .byte 211, 100, 164, 91
  576.  .byte 211, 100, 153, 113
  577.  .byte 111, 100, 161, 146
  578.  .byte 111, 100, 158, 48
  579.  .byte 111, 100, 164, 91
  580.  .byte 111, 100, 153, 113
  581.  .byte 161, 146, 164, 91
  582.  .byte 161, 146, 153, 113
  583.  .byte 158, 48, 164, 91
  584.  .byte 158, 48, 153, 113
  585.  
  586. ; Frame 2
  587.  .byte 211, 100, 163, 141
  588.  .byte 211, 100, 155, 49
  589.  .byte 211, 100, 167, 83
  590.  .byte 211, 100, 147, 126
  591.  .byte 113, 100, 163, 141
  592.  .byte 113, 100, 155, 49
  593.  .byte 113, 100, 167, 83
  594.  .byte 113, 100, 147, 126
  595.  .byte 163, 141, 167, 83
  596.  .byte 163, 141, 147, 126
  597.  .byte 155, 49, 167, 83
  598.  .byte 155, 49, 147, 126
  599.  
  600. ; Frame 3
  601.  .byte 211, 100, 167, 135
  602.  .byte 211, 100, 149, 52
  603.  .byte 211, 100, 170, 75
  604.  .byte 211, 100, 144, 136
  605.  .byte 115, 100, 167, 135
  606.  .byte 115, 100, 149, 52
  607.  .byte 115, 100, 170, 75
  608.  .byte 115, 100, 144, 136
  609.  .byte 167, 135, 170, 75
  610.  .byte 167, 135, 144, 136
  611.  .byte 149, 52, 170, 75
  612.  .byte 149, 52, 144, 136
  613.  
  614. ; Frame 4
  615.  .byte 210, 100, 172, 128
  616.  .byte 210, 100, 141, 59
  617.  .byte 210, 100, 171, 67
  618.  .byte 210, 100, 143, 143
  619.  .byte 118, 100, 172, 128
  620.  .byte 118, 100, 141, 59
  621.  .byte 118, 100, 171, 67
  622.  .byte 118, 100, 143, 143
  623.  .byte 172, 128, 171, 67
  624.  .byte 172, 128, 143, 143
  625.  .byte 141, 59, 171, 67
  626.  .byte 141, 59, 143, 143
  627.  
  628. ; Frame 5
  629.  .byte 209, 100, 178, 121
  630.  .byte 209, 100, 133, 69
  631.  .byte 209, 100, 171, 60
  632.  .byte 209, 100, 145, 148
  633.  .byte 121, 100, 178, 121
  634.  .byte 121, 100, 133, 69
  635.  .byte 121, 100, 171, 60
  636.  .byte 121, 100, 145, 148
  637.  .byte 178, 121, 171, 60
  638.  .byte 178, 121, 145, 148
  639.  .byte 133, 69, 171, 60
  640.  .byte 133, 69, 145, 148
  641.  
  642. ; Frame 6
  643.  .byte 207, 100, 183, 112
  644.  .byte 207, 100, 125, 80
  645.  .byte 207, 100, 168, 55
  646.  .byte 207, 100, 150, 150
  647.  .byte 124, 100, 183, 112
  648.  .byte 124, 100, 125, 80
  649.  .byte 124, 100, 168, 55
  650.  .byte 124, 100, 150, 150
  651.  .byte 183, 112, 168, 55
  652.  .byte 183, 112, 150, 150
  653.  .byte 125, 80, 168, 55
  654.  .byte 125, 80, 150, 150
  655.  
  656. ; Frame 7
  657.  .byte 204, 100, 188, 104
  658.  .byte 204, 100, 119, 93
  659.  .byte 204, 100, 163, 51
  660.  .byte 204, 100, 156, 150
  661.  .byte 128, 100, 188, 104
  662.  .byte 128, 100, 119, 93
  663.  .byte 128, 100, 163, 51
  664.  .byte 128, 100, 156, 150
  665.  .byte 188, 104, 163, 51
  666.  .byte 188, 104, 156, 150
  667.  .byte 119, 93, 163, 51
  668.  .byte 119, 93, 156, 150
  669.  
  670. ; Frame 8
  671.  .byte 201, 100, 191, 95
  672.  .byte 201, 100, 115, 106
  673.  .byte 201, 100, 156, 49
  674.  .byte 201, 100, 163, 148
  675.  .byte 131, 100, 191, 95
  676.  .byte 131, 100, 115, 106
  677.  .byte 131, 100, 156, 49
  678.  .byte 131, 100, 163, 148
  679.  .byte 191, 95, 156, 49
  680.  .byte 191, 95, 163, 148
  681.  .byte 115, 106, 156, 49
  682.  .byte 115, 106, 163, 148
  683.  
  684. ; Frame 9
  685.  .byte 196, 100, 193, 86
  686.  .byte 196, 100, 115, 117
  687.  .byte 196, 100, 146, 50
  688.  .byte 196, 100, 171, 145
  689.  .byte 135, 100, 193, 86
  690.  .byte 135, 100, 115, 117
  691.  .byte 135, 100, 146, 50
  692.  .byte 135, 100, 171, 145
  693.  .byte 193, 86, 146, 50
  694.  .byte 193, 86, 171, 145
  695.  .byte 115, 117, 146, 50
  696.  .byte 115, 117, 171, 145
  697.  
  698. ; Frame 10
  699.  .byte 191, 100, 193, 77
  700.  .byte 191, 100, 117, 128
  701.  .byte 191, 100, 136, 53
  702.  .byte 191, 100, 180, 140
  703.  .byte 139, 100, 193, 77
  704.  .byte 139, 100, 117, 128
  705.  .byte 139, 100, 136, 53
  706.  .byte 139, 100, 180, 140
  707.  .byte 193, 77, 136, 53
  708.  .byte 193, 77, 180, 140
  709.  .byte 117, 128, 136, 53
  710.  .byte 117, 128, 180, 140
  711.  
  712. ; Frame 11
  713.  .byte 186, 100, 191, 68
  714.  .byte 186, 100, 123, 136
  715.  .byte 186, 100, 127, 60
  716.  .byte 186, 100, 188, 134
  717.  .byte 143, 100, 191, 68
  718.  .byte 143, 100, 123, 136
  719.  .byte 143, 100, 127, 60
  720.  .byte 143, 100, 188, 134
  721.  .byte 191, 68, 127, 60
  722.  .byte 191, 68, 188, 134
  723.  .byte 123, 136, 127, 60
  724.  .byte 123, 136, 188, 134
  725.  
  726. ; Frame 12
  727.  .byte 180, 100, 186, 61
  728.  .byte 180, 100, 130, 142
  729.  .byte 180, 100, 118, 68
  730.  .byte 180, 100, 196, 127
  731.  .byte 147, 100, 186, 61
  732.  .byte 147, 100, 130, 142
  733.  .byte 147, 100, 118, 68
  734.  .byte 147, 100, 196, 127
  735.  .byte 186, 61, 118, 68
  736.  .byte 186, 61, 196, 127
  737.  .byte 130, 142, 118, 68
  738.  .byte 130, 142, 196, 127
  739.  
  740. ; Frame 13
  741.  .byte 173, 100, 179, 55
  742.  .byte 173, 100, 139, 146
  743.  .byte 173, 100, 113, 78
  744.  .byte 173, 100, 202, 119
  745.  .byte 151, 100, 179, 55
  746.  .byte 151, 100, 139, 146
  747.  .byte 151, 100, 113, 78
  748.  .byte 151, 100, 202, 119
  749.  .byte 179, 55, 113, 78
  750.  .byte 179, 55, 202, 119
  751.  .byte 139, 146, 113, 78
  752.  .byte 139, 146, 202, 119
  753.  
  754. ; Frame 14
  755.  .byte 166, 100, 170, 51
  756.  .byte 166, 100, 149, 149
  757.  .byte 166, 100, 110, 89
  758.  .byte 166, 100, 207, 110
  759.  .byte 155, 100, 170, 51
  760.  .byte 155, 100, 149, 149
  761.  .byte 155, 100, 110, 89
  762.  .byte 155, 100, 207, 110
  763.  .byte 170, 51, 110, 89
  764.  .byte 170, 51, 207, 110
  765.  .byte 149, 149, 110, 89
  766.  .byte 149, 149, 207, 110
  767.  
  768.  
  769.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement