1
0
mirror of https://github.com/fumiama/c64-snake.git synced 2026-06-18 01:32:23 +08:00

main框架基本完成

This commit is contained in:
fumiama
2021-04-03 16:46:56 +08:00
parent caaead7be0
commit c21a2a1efb
4 changed files with 76 additions and 21 deletions

View File

@@ -1,21 +1,7 @@
.outfile "snake.prg"
.require "platform/c64_0.oph"
.require "platform/c64kernal.oph"
.alias cblk $a6
.alias go_u $55 ; 上
.alias go_d $5f ; 下
.alias go_l $1d ; 左
.alias go_r $32 ; 右
.alias st_g $a0 ; 开始/暂停
.alias ed_g $20 ; 结束
.data zp
.space d 1 ; 方向 值定义如上
.space c 1 ; 🐍长度 最大255 最小0
.space s 2 ; 得分 小端序
.text
.require "head.asm"
main:
.scope
@@ -28,21 +14,26 @@ main:
; init 初始化界面、变量
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.macro init
lda #147 ;清屏
lda #147 ; 清屏
jsr chrout
lda #$ff
lda #$00
sta s
lda #$ff
sta s + 1
jsr printscore
lda #$00
sta s + 1 ; 初始化分数为0
jsr printscore ; 打印分数
lda #1
sta field + 11*38 + 19 ; 初始化蛇位置
sta c ; 初始化蛇长为1
jsr printfield ; 打印蛇,包括边框
.macend
.require "printscore.asm"
.require "print16.asm"
.require "printfield.asm"
.require "print.asm"
.checkpc $A000 ; text段边界
.data zp ; 零页段边界
.data zp ; 零页段边界
.checkpc $80
.data
.checkpc $D000 ; data段边界