From 7709575f8849478e292fd3d689470b244eeb64ed Mon Sep 17 00:00:00 2001 From: Sunaipaa-Kun Date: Sat, 20 Jun 2020 11:06:19 +0530 Subject: [PATCH] owo --- .gitignote | 0 src/out/powong.cdl | Bin 0 -> 40960 bytes src/out/powong.dbg | 172 ++++++++++++++++++++++++++++++++++ src/out/powong.nes | Bin 0 -> 40976 bytes src/out/powong.nes.deb | Bin 0 -> 872 bytes src/powong.o | Bin 0 -> 21053 bytes src/powong.s | 207 +++++++++++++++++++++++++++++++++++++++++ src/res/owo.chr | Bin 0 -> 8192 bytes src/testrun.bat | 3 + 9 files changed, 382 insertions(+) create mode 100644 .gitignote create mode 100644 src/out/powong.cdl create mode 100644 src/out/powong.dbg create mode 100644 src/out/powong.nes create mode 100644 src/out/powong.nes.deb create mode 100644 src/powong.o create mode 100644 src/powong.s create mode 100644 src/res/owo.chr create mode 100644 src/testrun.bat diff --git a/.gitignote b/.gitignote new file mode 100644 index 0000000..e69de29 diff --git a/src/out/powong.cdl b/src/out/powong.cdl new file mode 100644 index 0000000000000000000000000000000000000000..ca5ea44f24f65b3d8acaaf654c430de8c51b16e2 GIT binary patch literal 40960 zcmeIu0Sy2E0K%a6Pi+o2h(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd t0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0Rsm92L_-300961 literal 0 HcmV?d00001 diff --git a/src/out/powong.dbg b/src/out/powong.dbg new file mode 100644 index 0000000..c28d051 --- /dev/null +++ b/src/out/powong.dbg @@ -0,0 +1,172 @@ +version major=2,minor=0 +info csym=0,file=2,lib=0,line=157,mod=1,scope=0,seg=10,span=0,sym=0,type=0 +file id=0,name="powong.s",size=2919,mtime=0x5EED9F56,mod=0 +file id=1,name="res/owo.chr",size=8192,mtime=0x5EECA9DF,mod=0 +line id=0,file=0,line=204 +line id=1,file=0,line=199 +line id=2,file=0,line=25 +line id=3,file=0,line=30 +line id=4,file=0,line=19 +line id=5,file=0,line=109 +line id=6,file=0,line=92 +line id=7,file=0,line=106 +line id=8,file=0,line=136 +line id=9,file=0,line=124 +line id=10,file=0,line=133 +line id=11,file=0,line=131 +line id=12,file=0,line=138 +line id=13,file=0,line=85 +line id=14,file=0,line=169 +line id=15,file=0,line=11 +line id=16,file=0,line=80 +line id=17,file=0,line=162 +line id=18,file=0,line=48 +line id=19,file=0,line=93 +line id=20,file=0,line=135 +line id=21,file=0,line=108 +line id=22,file=0,line=72 +line id=23,file=0,line=0 +line id=24,file=0,line=71 +line id=25,file=0,line=63 +line id=26,file=0,line=143 +line id=27,file=0,line=158 +line id=28,file=0,line=41 +line id=29,file=0,line=111 +line id=30,file=0,line=147 +line id=31,file=0,line=38 +line id=32,file=0,line=115 +line id=33,file=0,line=191 +line id=34,file=0,line=9 +line id=35,file=0,line=150 +line id=36,file=0,line=102 +line id=37,file=0,line=2 +line id=38,file=0,line=20 +line id=39,file=0,line=87 +line id=40,file=0,line=179 +line id=41,file=0,line=5 +line id=42,file=0,line=154 +line id=43,file=0,line=153 +line id=44,file=0,line=18 +line id=45,file=0,line=176 +line id=46,file=0,line=149 +line id=47,file=0,line=56 +line id=48,file=0,line=76 +line id=49,file=0,line=182 +line id=50,file=0,line=79 +line id=51,file=0,line=69 +line id=52,file=0,line=198 +line id=53,file=0,line=160 +line id=54,file=0,line=177 +line id=55,file=0,line=188 +line id=56,file=0,line=21 +line id=57,file=0,line=132 +line id=58,file=0,line=116 +line id=59,file=0,line=98 +line id=60,file=0,line=107 +line id=61,file=0,line=195 +line id=62,file=0,line=128 +line id=63,file=0,line=51 +line id=64,file=0,line=171 +line id=65,file=0,line=142 +line id=66,file=0,line=65 +line id=67,file=0,line=155 +line id=68,file=0,line=52 +line id=69,file=0,line=59 +line id=70,file=0,line=196 +line id=71,file=0,line=101 +line id=72,file=0,line=183 +line id=73,file=0,line=167 +line id=74,file=0,line=74 +line id=75,file=0,line=110 +line id=76,file=0,line=7 +line id=77,file=0,line=36 +line id=78,file=0,line=46 +line id=79,file=0,line=192 +line id=80,file=0,line=94 +line id=81,file=0,line=33 +line id=82,file=0,line=105 +line id=83,file=0,line=200 +line id=84,file=0,line=29 +line id=85,file=0,line=113 +line id=86,file=0,line=73 +line id=87,file=0,line=203 +line id=88,file=0,line=186 +line id=89,file=0,line=100 +line id=90,file=0,line=175 +line id=91,file=0,line=156 +line id=92,file=0,line=8 +line id=93,file=0,line=61 +line id=94,file=0,line=168 +line id=95,file=0,line=10 +line id=96,file=0,line=70 +line id=97,file=0,line=141 +line id=98,file=0,line=187 +line id=99,file=0,line=4 +line id=100,file=0,line=37 +line id=101,file=0,line=55 +line id=102,file=0,line=197 +line id=103,file=0,line=139 +line id=104,file=0,line=23 +line id=105,file=0,line=145 +line id=106,file=0,line=91 +line id=107,file=0,line=165 +line id=108,file=0,line=78 +line id=109,file=0,line=42 +line id=110,file=0,line=40 +line id=111,file=0,line=97 +line id=112,file=0,line=178 +line id=113,file=0,line=173 +line id=114,file=0,line=180 +line id=115,file=0,line=174 +line id=116,file=0,line=159 +line id=117,file=0,line=194 +line id=118,file=0,line=44 +line id=119,file=0,line=172 +line id=120,file=0,line=151 +line id=121,file=0,line=161 +line id=122,file=0,line=119 +line id=123,file=0,line=190 +line id=124,file=0,line=27 +line id=125,file=0,line=181 +line id=126,file=0,line=99 +line id=127,file=0,line=82 +line id=128,file=0,line=75 +line id=129,file=0,line=118 +line id=130,file=0,line=122 +line id=131,file=0,line=164 +line id=132,file=0,line=47 +line id=133,file=0,line=126 +line id=134,file=0,line=32 +line id=135,file=0,line=26 +line id=136,file=0,line=35 +line id=137,file=0,line=157 +line id=138,file=0,line=3 +line id=139,file=0,line=207 +line id=140,file=0,line=170 +line id=141,file=0,line=39 +line id=142,file=0,line=24 +line id=143,file=0,line=96 +line id=144,file=0,line=31 +line id=145,file=0,line=6 +line id=146,file=0,line=83 +line id=147,file=0,line=137 +line id=148,file=0,line=163 +line id=149,file=0,line=68 +line id=150,file=0,line=129 +line id=151,file=0,line=60 +line id=152,file=0,line=144 +line id=153,file=0,line=152 +line id=154,file=0,line=89 +line id=155,file=0,line=88 +line id=156,file=0,line=43 +mod id=0,name="powong.o",file=0 +seg id=0,name="CODE",start=0x00812C,size=0x0000,addrsize=absolute,type=ro,oname="out\powong.nes",ooffs=316 +seg id=1,name="RODATA",start=0x00812C,size=0x0000,addrsize=absolute,type=ro,oname="out\powong.nes",ooffs=316 +seg id=2,name="BSS",start=0x006000,size=0x0000,addrsize=absolute,type=rw +seg id=3,name="DATA",start=0x006000,size=0x0000,addrsize=absolute,type=rw,oname="out\powong.nes",ooffs=316 +seg id=4,name="ZEROPAGE",start=0x000002,size=0x0000,addrsize=zeropage,type=rw +seg id=5,name="NULL",start=0x000000,size=0x0000,addrsize=absolute,type=rw +seg id=6,name="HEADER",start=0x000000,size=0x0010,addrsize=absolute,type=ro,oname="out\powong.nes",ooffs=0 +seg id=7,name="STARTUP",start=0x008000,size=0x012C,addrsize=absolute,type=ro,oname="out\powong.nes",ooffs=16 +seg id=8,name="VECTORS",start=0x00FFFA,size=0x0004,addrsize=absolute,type=rw,oname="out\powong.nes",ooffs=32778 +seg id=9,name="CHARS",start=0x000000,size=0x2000,addrsize=absolute,type=rw,oname="out\powong.nes",ooffs=32784 diff --git a/src/out/powong.nes b/src/out/powong.nes new file mode 100644 index 0000000000000000000000000000000000000000..651d29c673597a118ebe7ae2f0acc57bf6298e57 GIT binary patch literal 40976 zcmeIup=uma6vpxI-r4M~DIKwpC8FGjh(bkWMW92V5V6G6M6T@{RNg>h3bWKyv~*xu zSlDaw26=$0uBeC{q9zq#MWZUxv)fLns*5TA19QJQoO6facl7G@j(57RXFlXV#~1R$ zH*Os-uHE>lTXjP>j&@^s6f61h+sj!o*)C>xpPGrn#Dz&-1jTnBRLND!Ds?JtRq9si zr8~Qk)GV)TBl&Vrd`~aSZb-6Yri&l3?1iQd%Uf#(C$`+w!{zO9dS5D}C#4I?o$1Vt zKE|2m3WL}*&D^ci_HNEIU-wtNx>;qTuW|0aXxXz1&YEPm&h>lz&Bixzu0La0V`FXp zr+6&w{p*=Z`P6AR^$Lqj`J$uYVoTv3jTZzEKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~f&WP0bKHy4{=tdW!G4?0cdWc?v(EcgdEMq3 zAn$jwzw`Ow>85Wp6!u}OHa86i0tg_000IagfB*srAb_7|3Jah;6hv9e{}A&oc=ECj9uYJuK=hg}}gFnZBp z=Qxu)-tpNZ4)bW@KY%4XmE5D`@K#wMUv}*@FmDvSgzxT5xWrR=JCpMx^8=c=g`Ba> z<;3T>o;U#bJUoxr1>14YJY2TN9jt*72z1CapND9mCjvvr-7huw>2j-y*YJ9g-*O*v z4n}x7xmyQBxKujlIZgZ+Pb5CWF$t5;yX7{v%5sb35{~ddEM1(pF380sXSGu{x>I(K z0?hfixZEEXk85zr;n}zZxJ}mCPeGnU&f)Xih>pXPr6b3Ka`zFRh5K-2ODl27SI4Wo{+s zw9hk9Y!vZt0!&F@Mv>0wD^DR8b#AX8X5`3>e4c|DLoq`zpR1+pcJ^gq^7$s|4C8jW z!45f`wbEn0Uv{~HI9JHLL3R}9U7df?UTkTXq^0hS`87QJ}YpKxDFReJj5gM%&Z{}3Y^ntc(05*$5#`(K%B?v zY9~;0oYq)C&gaCNbh*KpH&|~bt9LO4Q|`JnHqt$GA4TKG2H#so~8pmnd;GhBrkV=m1Yqjm4m+%=*do-Zda z&&N{Y2;U&aTG-&%i53KtMilfN#gU zNI-xO9OCP6iUI<{z#)07u?OJ&CUXUcI7yrX5a4rC-gz`!Z0R_9l>2b_^Hdf;E#Qd&G~lbuQSoPWMPx%7pyOb_jL|f3b``681>gBVjHu7nlpo1?B>Cfw{n3 zU@kBhmCfw{n3U@kBhmLQMy@Y5ED}SOhYFd?ZVLqaj;>_cfmjxl85kkPgrnmhFo&+6vq zLXJaf43Gj|(?Kt3{te|3jXbIRP$T0p??nylRz9U{MfjMG7!3KQM(ZFGz#L#Tuoiem z(-R@@1$6oXLr3kdEEP~vwa*y&>1m*)* z10yI{TPq(MtgQ{L%Cu&hmKC<-*QKtX;@3-Ac^vfe{K1e9i)(m9D(GFBBRkCm6i6FuUYRDETtF`dn( zdtA7drn0F##FML<8?x!#iq?uw<;63ZRqovKS-KWFxh2cfbyB&pF*nv!UzTYuS-vt) zR86`$E3!v(x@Dqlzp!q3vsY448Ve*UN~2X#w>X*fAVRmr5*3xvnK5r}bvzy@i$zOg biD0rSny9L-4A#U-swxu6oRYF=B1!Zo2!i#V literal 0 HcmV?d00001 diff --git a/src/powong.s b/src/powong.s new file mode 100644 index 0000000..0c00869 --- /dev/null +++ b/src/powong.s @@ -0,0 +1,207 @@ +.segment "HEADER" + .byte "NES" + .byte $1a + .byte $02 + .byte $01 + .byte %00000000 + .byte $00 + .byte $00 + .byte $00 + .byte $00 + .byte $00, $00, $00, $00, $00 + +.segment "ZEROPAGE" + +.segment "STARTUP" + +;subroutines +VBlankWait: + bit $2002 + bpl VBlankWait + rts +;movement +MoveFwd: + lda $0200, x + clc + adc #$01 + rts + +MoveBkd: + lda $0200, x + sec + sbc #$01 + rts + +Move: + and #$00000001 + beq :+ + jsr MoveFwd + jmp MoveDone +: + jsr MoveBkd +MoveDone: + sta $0200, x + rts + +RESET: + sei + cld + + ;stop apu + ldx #$40 + stx $4017 + + ;init stack register + ldx #$ff + txs + + ;set ppu registers to 0 + inx + stx $2000 + stx $2001 + + stx $4010 + + jsr VBlankWait + + ;clear memory + txa +MEMCLR: + sta $0000, x + sta $0100, x + sta $0300, x + sta $0400, x + sta $0500, x + sta $0600, x + sta $0700, x + ;allocate sprite memory + lda #$ff + sta $0200, x + lda #$00 + + inx + bne MEMCLR + + jsr VBlankWait + + lda #$02 + sta $4014 + nop + + lda #$3f + sta $2006 + lda #$00 + sta $2006 + + ldx #$00 +LoadPalette: + lda PaletteData, x + sta $2007 + inx + cpx #$20 + bne LoadPalette + +;load sprites to allocated sprite memory + ldx #$00 +LoadSprite: + lda OwOSprite, x + sta $0200, x + inx + cpx #$18 + bne LoadSprite + + cli + + lda #%10010000 + sta $2000 + + lda #%00011110 + sta $2001 + + ;declare variables + lda #$01 + ;vmovefwd .set 1 + sta $0000 + ;hmovefwd .set 1 + sta $0001 + +Loop: + jmp Loop + +NMI: + ldx #$00 +MoveLoop: + ;vertical + lda $0000 + jsr Move + inx + inx + inx + ;horizontal + lda $0001 + jsr Move + inx + cpx #$18 + bne MoveLoop + +CheckWall: + ;jmp EndHorChk + ldx $0203 + cpx #$08 + beq :+ + cpx #$e8 + beq :+ + jmp EndHorChk +: + lda $0001 + cmp #$00 + bne :+ + lda #$01 + sta $0001 + jmp EndHorChk +: + lda #$00 + sta $0001 +EndHorChk: + ;jmp EndVertChk + ldx $0200 + cpx #$08 + beq :+ + cpx #$d4 + beq :+ + jmp EndVertChk +: + lda $0000 + cmp #$00 + bne :+ + lda #$01 + sta $0000 + jmp EndVertChk +: + lda #$00 + sta $0000 +EndVertChk: + + ;update sprites + lda #$02 + sta $4014 + rti + +PaletteData: + .byte $0f,$00,$00,$25,$0f,$00,$00,$25,$0f,$00,$00,$25,$0f,$00,$00,$25 + .byte $0f,$00,$00,$25,$0f,$00,$00,$25,$0f,$00,$00,$25,$0f,$00,$00,$25 + +OwOSprite: + .byte $a0,$00,$00,$10 + .byte $a0,$01,$00,$18 + .byte $a0,$02,$00,$20 + .byte $a8,$03,$00,$10 + .byte $a8,$04,$00,$18 + .byte $a8,$05,$00,$20 + +.segment "VECTORS" + .word NMI + .word RESET + +.segment "CHARS" + .incbin "res/owo.chr" \ No newline at end of file diff --git a/src/res/owo.chr b/src/res/owo.chr new file mode 100644 index 0000000000000000000000000000000000000000..887e4fd70e989a6db9cff30ed79b7fb2dea886be GIT binary patch literal 8192 zcmeIuu?>JA6h%=*3ra?C1P7onR*t2KgEER}Byj<|^9pW$=uTdbx;5vweHiOP-&#_v zOQp4|OK}{&owxJ3Tc>5ezq{7w@DLzCfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ J009EO30yA!4k-Wt literal 0 HcmV?d00001 diff --git a/src/testrun.bat b/src/testrun.bat new file mode 100644 index 0000000..b86f9b3 --- /dev/null +++ b/src/testrun.bat @@ -0,0 +1,3 @@ +ca65 powong.s -o powong.o -t nes +ld65 powong.o -o out\powong.nes -t nes --dbgfile out\powong.dbg +start out\powong.nes \ No newline at end of file