- 注册时间
- 2005-8-2
- 最后登录
- 1970-1-1
|
原函数近400字节,除去无法正常显示100%的bug和精简以后,只有200多字节~
.INCLUDE "head.txt"
.INCLUDE "define.txt"
;.org $46BF
MAIN:
;UPDATETEXT
INT CLEARTEXT
LDX #$0D
LOOPA:
LDA WORDA-1,X
STA _TEXTBUF+2,X
DEX
BNE LOOPA
LDX #$08
LOOPB:
LDA WORDB-1,X
STA _TEXTBUF+46,X
DEX
BNE LOOPB
SEI
LDA _BATTERYDET
ORA #$C0
STA _BATTERYDET
LDX #$FF
LOOPC:
INX
CPX #$1F
BCS END
LDA _BATTERYDET
AND #$E0
STA _BATTERYDET
TXA
ORA _BATTERYDET
STA _BATTERYDET
JSR DELAY20
JSR DELAY20
JSR DELAY20
LDA _BATTERYDET
AND #$20
BEQ LOOPC
END:
CLI
TXA
STA _TMPA
JSR CHANGEDATA
JSR DRAWPIC
INT WAIT_KEY
RTS
CHANGEDATA:
SEC
SBC #$06
ASL
ASL
STA _TOASCII_I
INT TOASCII
LDA _TOASCII_O
CMP #$30
BEQ NEXTA
;H EXIST
STA _TEXTBUF+55
LDA _TOASCII_O+1
STA _TEXTBUF+56
NEXTA:
LDA _TOASCII_O+1
CMP #$30
BEQ NEXTB
STA _TEXTBUF+56
NEXTB:
LDA _TOASCII_O+2
STA _TEXTBUF+57
LDA #$25 ;%
STA _TEXTBUF+58
INT REFRESH
RTS
DRAWPIC:
LDA #$14
STA _XA
LDA #$1F
SEC
SBC _TMPA
ASL
CLC
ADC #$14
LDX #$20
LDY #$43
INT BLOCK
LDA #$13
STA _XA
LDX #$21
LDY #$44
INT SQUARE
LDA #$17
STA _XA
LDA #$10
LDX #$1D
LDY #$13
INT SQUARE
LDA #$1E
STA _XA
LDA #$1F
TAY
LDX #$20
INT LINE
LDA #$1E
STA _XA
LDA #$2B
TAY
LDX #$20
INT LINE
LDA #$1E
STA _XA
LDA #$37
TAY
LDX #$20
INT LINE
RTS
WORDA:
.DB "BATTERY CHECK"
_TMPA
.db $00
WORDB:
.DB "BATTERY:" |
|