| 
 
注册时间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:"
 | 
 |