--- /dev/null
+; "spacer", move a space ship through an\r
+; endless tunnel. You die once you hit\r
+; the walls.\r
+;\r
+; Controls:\r
+;\r
+; W - move up\r
+; X - move down\r
+; Any other key will stop the ship\r
+;\r
+; Ps: this game runs awfully slow =)\r
+;\r
+\r
+start:\r
+ jsr init\r
+\r
+loop:\r
+ ;; jsr drawShip \r
+ jsr drawMap\r
+ jsr genMap\r
+ jsr readKeys\r
+ jmp loop\r
+\r
+;--\r
+\r
+drawShip:\r
+ lda $82 ; mychange\r
+; asl \r
+ tay\r
+\r
+ lda ypos,y\r
+ sta $00\r
+ iny\r
+ lda ypos,y\r
+ sta $01\r
+\r
+ ldx #42\r
+ lda ($00,x)\r
+ cmp #0\r
+ beq noCrash\r
+ cmp #5\r
+; bne crashed \r
+;my changes\r
+noCrash:\r
+ lda #5\r
+ sta ($00,x)\r
+\r
+ lda $60\r
+ cmp $61\r
+ beq ret\r
+\r
+ lda $61\r
+ asl\r
+ tay\r
+ lda ypos,y\r
+ sta $00\r
+ iny\r
+ lda ypos,y\r
+ sta $01\r
+ lda #0\r
+ ldx #42\r
+ sta ($00,x)\r
+\r
+ lda $60\r
+ sta $61\r
+ret:\r
+ rts\r
+\r
+;--\r
+\r
+crashed:\r
+ lda $fe\r
+ sta ($00,x)\r
+ jmp crashed\r
+\r
+;--\r
+\r
+readKeys:\r
+ lda $ff\r
+ cmp #119\r
+ bne notUp\r
+ dec $60\r
+ rts\r
+notUp:\r
+ cmp #120\r
+ bne noMove\r
+ inc $60\r
+noMove:\r
+ rts\r
+\r
+;--\r
+\r
+init:\r
+ ldx #0\r
+drawLogo:\r
+ lda bottomLogo,x\r
+ sta $500,x\r
+ inx\r
+ cpx #0\r
+ bne drawLogo\r
+\r
+ lda #10\r
+ sta $60\r
+ sta $61\r
+\r
+ ldx #0\r
+ lda #$c\r
+c:sta $200,x\r
+ sta $400,x\r
+ dex\r
+ cpx #0\r
+ bne c\r
+\r
+ lda #16\r
+ sta $80 ; origin\r
+ ldx #15\r
+set:\r
+ sta $81,x ; target\r
+ dex\r
+ bpl set\r
+ rts\r
+\r
+;--\r
+\r
+drawMap:\r
+ lda #0\r
+ sta $78\r
+ lda #32\r
+ sta $79\r
+ lda #192\r
+ sta $7a\r
+ lda #224\r
+ sta $7b\r
+\r
+ ldx #15\r
+drawLoop:\r
+ lda $81,x\r
+ sta $82,x\r
+ tay\r
+ lda ypos,y\r
+ sta $00\r
+ iny\r
+ lda ypos,y\r
+ sta $01\r
+\r
+ lda #$c\r
+ ldy $78\r
+ sta ($00),y\r
+ iny\r
+ sta ($00),y\r
+\r
+ ldy $7b\r
+ sta ($00),y\r
+ iny\r
+ sta ($00),y\r
+\r
+ ldy $79\r
+ lda #0\r
+ sta ($00),y\r
+ iny\r
+ sta ($00),y\r
+\r
+ ldy $7a\r
+ sta ($00),y\r
+ iny\r
+ sta ($00),y\r
+\r
+ inc $78\r
+ inc $79\r
+ inc $7a\r
+ inc $7b\r
+ inc $78\r
+ inc $79\r
+ inc $7a\r
+ inc $7b\r
+ dex\r
+ bpl drawLoop\r
+ rts\r
+\r
+;---\r
+\r
+genMap:\r
+ lda $80\r
+ cmp $81\r
+ beq done\r
+ lda $80\r
+ clc\r
+ sbc $81\r
+ bpl plus\r
+ bmi minus\r
+done:\r
+ lda $fe\r
+ and #$f\r
+ asl\r
+ sta $80\r
+ rts\r
+minus:\r
+ dec $81\r
+ dec $81\r
+ rts\r
+plus:\r
+ inc $81\r
+ inc $81\r
+ rts\r
+\r
+ypos:\r
+ dcb $00,$02,$20,$02,$40,$02,$60,$02\r
+ dcb $80,$02,$a0,$02,$c0,$02,$e0,$02\r
+ dcb $00,$03,$20,$03,$40,$03,$60,$03\r
+ dcb $80,$03,$a0,$03,$c0,$03,$e0,$03\r
+ dcb $00,$04,$20,$04,$40,$04,$60,$04\r
+ dcb $80,$04,$a0,$04,$c0,$04,$e0,$04\r
+ dcb $00,$05,$20,$05,$40,$05,$60,$05\r
+ dcb $80,$05,$a0,$05,$c0,$05,$e0,$05\r
+\r
+bottomLogo:\r
+ dcb $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0\r
+ dcb $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0\r
+ dcb $0,$0,$0,$0,$0,$0,$1,$1,$1,$6,$1,$1,$1,$0\r
+ dcb $0,$6,$1,$1,$6,$0,$0,$1,$1,$1,$6,$0,$1,$1\r
+ dcb $1,$0,$1,$1,$1,$6,$0,$0,$6,$1,$6,$0,$6,$0\r
+ dcb $1,$0,$6,$1,$6,$1,$6,$0,$1,$0,$1,$0,$6,$0\r
+ dcb $6,$1,$6,$0,$6,$0,$1,$0,$6,$1,$6,$0,$0,$6\r
+ dcb $1,$1,$6,$6,$1,$1,$1,$0,$6,$1,$0,$0,$1,$0\r
+ dcb $1,$6,$0,$6,$6,$1,$1,$1,$0,$6,$1,$0,$6,$1\r
+ dcb $0,$6,$6,$6,$6,$6,$1,$6,$1,$1,$6,$6,$6,$1\r
+ dcb $1,$1,$1,$6,$1,$6,$6,$6,$6,$1,$6,$6,$6,$6\r
+ dcb $1,$1,$1,$6,$6,$6,$6,$1,$1,$1,$1,$e,$1,$1\r
+ dcb $e,$6,$6,$1,$1,$6,$1,$6,$1,$1,$1,$1,$e,$1\r
+ dcb $1,$1,$1,$6,$1,$1,$6,$1,$6,$6,$6,$1,$1,$1\r
+ dcb $6,$e,$1,$1,$6,$e,$6,$1,$1,$e,$1,$e,$6,$1\r
+ dcb $1,$1,$6,$e,$1,$1,$1,$e,$1,$1,$6,$1,$6,$e\r
+ dcb $e,$e,$6,$e,$e,$6,$e,$e,$6,$e,$e,$6,$e,$e\r
+ dcb $6,$e,$e,$6,$e,$e,$6,$e,$e,$6,$e,$e,$6,$e\r
+ dcb $e,$6,$e,$e\r