56 lines
1.2 KiB
Tal
56 lines
1.2 KiB
Tal
( test program to verify the correctness of graphics and input on ESOP )
|
|
|
|
~esop-lib-macro.tal
|
|
|
|
|0100
|
|
;on-frame SETSCRVEC
|
|
#1a #20 ( mv-x mv-y )
|
|
BRK
|
|
|
|
@on-frame
|
|
( drawing static strings should always end with POP2 )
|
|
#00 #04 ;longtxt ;draw-long-str JSR2 POP2
|
|
DATETIME-COMPAT ( get datetime info into #00c0 )
|
|
#04 #12 ( year-x year-y -- )
|
|
.DateTime/year LDZ2 ( year-x year-y year* -- )
|
|
;print-dec JSR2 ( mv-x mv-y year-x year-y -- )
|
|
LIT '. ;putc JSR2
|
|
.DateTime/month LDZ
|
|
;print-dec2-byte JSR2
|
|
LIT '. ;putc JSR2
|
|
.DateTime/day LDZ
|
|
;print-dec2-byte JSR2
|
|
POP2 ( mv-x mv-y -- )
|
|
#04 #16 ( hms-x hms-y -- )
|
|
.DateTime/hour LDZ
|
|
;print-dec2-byte JSR2
|
|
LIT ': ;putc JSR2
|
|
.DateTime/minute LDZ
|
|
;print-dec2-byte JSR2
|
|
LIT ': ;putc JSR2
|
|
.DateTime/second LDZ
|
|
;print-dec2-byte JSR2
|
|
POP2 ( mv-x mv-y -- )
|
|
;moveme ;draw-str JSR2
|
|
#02 #2b ;addr ;draw-str JSR2 POP2
|
|
SWP #20 SUB SWP ( restore x coord between frames )
|
|
;&adv KP-A JMPKEY
|
|
;&back KP-B JMPKEY
|
|
BRK
|
|
&adv
|
|
SWP INC DBGBYTE SWP
|
|
BRK
|
|
&back
|
|
SWP DEC DBGBYTE SWP
|
|
BRK
|
|
|
|
@moveme "MOVE 20 "ME! 00
|
|
|
|
@addr "SR.HT/~LUXFERRE/ESOP 00
|
|
|
|
@longtxt "HELLO 20 "FROM 20 "ESOP, 20 "NEW 20 "PHONE 20 "RUNTIME 00
|
|
|
|
( include ESOP stdlib routines )
|
|
|
|
~esop-lib-subs.tal
|