- 注册时间
- 2004-8-29
- 最后登录
- 1970-1-1
|
说明:下面这些图形函数是我为了以后编程方面写的,虽然多多少少参考了现有的程序代码,但也花了我不少功夫,而且现在还没完成,有些代码还需完善。大家如果有什么建议,欢迎提出。
所谓与平台基本无关,就是说程序中只有Buff这个参数与具体平台有关,其他都无须变化,这样对以后移植程序很有用~
另外,程序中对零叶地址$80~$83不做任何保护,其他零叶地址函数执行前后不改变
;######################################
;###############################################
;图形子函数?
;Made By Eastsun
;2004/12/28~
;RAM使用说明:
; $39c0~$4000 为图形缓存
; $3000~$3003 :图形坐标x1,y1,x2,y2
; $3004: :半径r
; $3005~$3006 :长,短半轴a,b
; $3007 :图像属性(清除0,正常1,反显2)
; $3008~$300B :文本属性临时存储空间
; $300c~$300e :Time
;
; $3010~301f :上述的临时存储空间
; 其它 :按需分配
;****************************************
;函数说明:清屏
;程序用到$80,$81两个零叶地址以及A,Y
;当A为0时清除屏幕,否则清除缓存
;****************************************
ClearScreen:
CMP #$00
BEQ ClearGraph
LDA #<Buff ;
STA $80 ;
LDA #>Buff ;
STA $81 ;
JMP ClearScreenLabel
ClearGraph:
LDA #<Graph ;
STA $80 ;
LDA #>Graph ;
STA $81
ClearScreenLabel:
LDX #$06 ;
LDY #$00 ;
TYA
ClearScreenLoop1:
STA ($80) ,Y ;
INY ;
BNE ClearScreenLoop1
INC $81 ;
DEX ;
BNE ClearScreenLoop1
LDY #$3F
ClearScreenLoop2: ;
STA ($80) ,Y ;
DEY ;
BPL ClearScreenLoop2
RTS
|
|