( 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