From fbfc6401ec2b85d233072bb5c306d4dd08c1b0ee Mon Sep 17 00:00:00 2001 From: RochesterX Date: Tue, 17 Feb 2026 11:19:51 -0500 Subject: [PATCH] Animation --- plat.nes | Bin 40976 -> 40976 bytes plat.s | 107 ++++++++++++++++++++++++++++++++++++++++++++++++----- sprite.chr | Bin 4096 -> 4096 bytes 3 files changed, 97 insertions(+), 10 deletions(-) diff --git a/plat.nes b/plat.nes index b339706b65770d011b95ebf99ae04020d847c90a..856d64015580468ea3597f3afb145e10b36e9618 100644 GIT binary patch delta 945 zcmZvZK}^$77{|Z&${5>9TP(vZYN*i*0R<8dyFejEf@C*u9&{cEaP#277^L0ULqgJI zI;R|j=uFWP4X?4-1(8hwN(f&nBd^``V_WDL>nZdw{iNiCDo>m;?r=aYIUwu`g| ztg$$@D`BEye(xw0BIQ0qaL?eTF^Z>oS=J#^Pq<#V+|yn3*~|{Lql^2 zmuM9w^E<^XX(U`Ckq7BbdK1b4oeQXhiz_L*fkL<&6g+SNn@0viSgP8DlO7*Pe_Sbm z2v16U`tc1wB=@kdSnxo>x_NUNCgtnquHzY)>j%%enQdm4I>nhm10uuX zmbp*F(M4UPA0a{Ce7pcj>Hr+j67`l0a&;JmCT6Fug$ zw`;2TbX8GgS)mG8TYmmT_y@oR+p_KPtn^4yoNcwRaZfEkha$&rD>57@$KQ_}2Qg5w zZ2;S!9hiHJYdC*kRuB*La1d0chS$ALeTmfG*yRvO-Q!-jV6gCG)1->#i&F zu=@O>pApaW+vB!H%iey`80v1{v0h!H%UcyF6x3aZZ;jHswSXYk{~K9r5Mn+$OO;vM rwz^=@N*v{09wFY#1GEdR(W>QOls7hE(%$=3M6WgWFdo!Zc|)ziXhWPLCQGeOS=+0i_5+DoWni0(cu~$ZsQ?R zFVj^B+5^(qBlk;Ww_s%GQ7RfhW%8-0%kn&8-FBJm6-l8)-WHi;cCDyK(>o(|;Oaq6 zkJLk4dM8{Da5-j+H$jif^I;laiLOLy+3YIfY=!}`wizwZST5HD;+A{h@J*C80#qPq z>2NasP+@?a6S{mJ^}rf4U{i2J99|dt6=616S{Lk!KvF|>L{IdP6EyZ|j4fzFmoRbC%%A2~x-pjGei4HiURC;pARu9-$y41QC%%cQ4c1i?1Daz;4V*G4M9G|!%N~e=8 z#E;z7F#n(xDezJY^N3TFo14{T<1@eoMO7ECg4+*?<6}PoQl9I13w{@ltG@5UwEyF& z$~rdGUVzN6vCm~>xU4+TcgT=Nz@m%(G6f1qU^S=f61?nA+P)>TzS rQQ18$vrJeX>*RY{{c2mcmFXd)i16iQEIKvu&3$u=rEq_<;9KFpB=7D~ diff --git a/plat.s b/plat.s index 733b44a..dbe3be4 100644 --- a/plat.s +++ b/plat.s @@ -352,12 +352,14 @@ example_palette: .byte $0F,$09,$1A,$16 ; grass .byte $0F,$15,$26,$37 ; bg0 purple/pink .byte $0F,$09,$19,$29 ; bg1 green +.byte $0F,$2D,$10,$3D ; reboot bottom +.byte $0F,$2D,$10,$2C ; reboot eye .byte $0F,$01,$11,$21 ; bg2 blue .byte $0F,$00,$10,$30 ; bg3 greyscale -.byte $0F,$18,$28,$38 ; sp0 yellow -.byte $0F,$14,$24,$34 ; sp1 purple -.byte $0F,$1B,$2B,$3B ; sp2 teal -.byte $0F,$12,$22,$32 ; sp3 marine +; .byte $0F,$18,$28,$38 ; sp0 yellow +; .byte $0F,$14,$24,$34 ; sp1 purple +; .byte $0F,$1B,$2B,$3B ; sp2 teal +; .byte $0F,$12,$22,$32 ; sp3 marine .segment "ZEROPAGE" buttons: .res 1 @@ -367,6 +369,9 @@ player_pos_y: .res 1 player_vel_x: .res 1 player_vel_y: .res 1 +player_status: .res 1 ; 76543210 | 0: facing (0 right, 1 left) + ; | 7: talking + cursor_x: .res 1 cursor_y: .res 1 temp_x: .res 1 @@ -421,15 +426,73 @@ main: draw_player: lda player_pos_y sec - sbc #9 + sbc #1 + sta oam + (4 * 2) + 0 + sta oam + (4 * 3) + 0 + sec + sbc #16 sta oam + (4 * 0) + 0 sta oam + (4 * 1) + 0 - lda player_pos_x - sta oam + (4 * 1) + 3 - sec - sbc #8 - sta oam + (4 * 0) + 3 + lda player_status + and #%00000001 + cmp #0 + bne :+ + lda player_pos_x + sta oam + (4 * 1) + 3 + sta oam + (4 * 3) + 3 + sec + sbc #8 + sta oam + (4 * 0) + 3 + sta oam + (4 * 2) + 3 + jmp :++ + : + lda player_pos_x + sta oam + (4 * 0) + 3 + sta oam + (4 * 2) + 3 + sec + sbc #8 + sta oam + (4 * 1) + 3 + sta oam + (4 * 3) + 3 + : + + lda player_status + and #%10000000 + cmp #0 + bne :+ + lda #$45 + jmp :++ + : + lda #$49 + : + sta oam + (4 * 0) + 1 + clc + adc #2 + sta oam + (4 * 1) + 1 + lda #$65 + sta oam + (4 * 2) + 1 + lda #$67 + sta oam + (4 * 3) + 1 + + + lda player_status + and #%00000001 + cmp #0 + beq :+ + lda #%01000000 + jmp :++ + : + lda #%00000000 + : + + ora #%00000001 + sta oam + (4 * 0) + 2 + ora #%00000001 + sta oam + (4 * 1) + 2 + and #%11111100 + sta oam + (4 * 2) + 2 + and #%11111100 + sta oam + (4 * 3) + 2 rts @@ -461,6 +524,7 @@ init_objects: lda #0 sta player_vel_x sta player_vel_y + sta player_status rts @@ -469,6 +533,21 @@ draw: rts movement: + ; Talking + ldx #0 + jsr btn_b + cmp #0 + beq :+ + lda player_status + ora #%10000000 + sta player_status + jmp :++ + : + lda player_status + and #%01111111 + sta player_status + : + ; Horizontal velocity ldx #0 jsr btn_right @@ -477,6 +556,10 @@ movement: ldx #1 lda #3 sta player_vel_x + + lda player_status + and #%11111110 + sta player_status : jsr btn_left @@ -485,6 +568,10 @@ movement: ldx #1 lda #253 sta player_vel_x + + lda player_status + ora #%00000001 + sta player_status : cpx #1 diff --git a/sprite.chr b/sprite.chr index 5514dc148b20475bf2db61d630632c277cf90b84..94447866e0d7cc9b7b9219a01a14a7732bf95f8c 100644 GIT binary patch delta 433 zcmZ9Hy-Nc@5XIkmBqxa6fhYupL@X0D0gE(d2{!5NC7rFMMaZs&nA%vR5Q$ibU=hea zaM4J>#>0rMh>ao$c2_Jr?tN$=uNvmf@9{?FWUf0?qybh05urlwXCj=Yq{_hI+YhV} zQSXz7 z>5Y!1hl1ec1HmyRva5`USqQWSw2EySCuapi4~K>~ba}#)o%n&F0mFy%gil<+6fd!p zlq>FzTF)Q;KCgsrxr4#wwrwq}RdquvBR#&FpDX2G)XlExt^#~*# zWMIsCq+Za`S`|@K^=Uui8FL~Y$h+B0eDW6+1xVS80)Sf3iG5Y?uiCG(ZI|u+0;H3l Ag8%>k delta 181 zcmZorXi!+dwD|%XBa^*-@X?MbD=#rH=-JoT*V!`sImON|E&7^)!Q|hcfB$O!A7qfJ z|Ns9#gWdnfbLxStKNbuOjSoLEFdzT_zi!^U$&8E#Cb0=999-%N6xiE=WbFAFE-&Zh VHq^fMXH6W?5r2McKFIcv0|3ryV2%I)