squires@delta.eecs.nwu.edu (Matt Squires) (03/26/90)
Hello! Here is my second HP48sx application, a chess clock. It is odd that I keep posting time type programs - I use my 48 mostly for fractal research and parallelogram transformations, but those programs don't seem like postable material. Sorry this program is not in "downloadable" format. I don't have a serial kit or the manuals anywhere near me. It should be realtively easy to figure out what ASCII maps to what HP character (no fancy radical signs like last time :-). Just run CCLK, and press any key (except ON :-) to switch timers. The chess clock will beep when a timer runs out. Please send comments, bug fixes, complaints to Matt Squires squires@eecs.nwu.edu (no text follows CCLK) CCLK, 334.5 bytes, checksum == # BCDAh << CLLCD @ Setup screen 4 FIX 1.3 DUP "White:" "Black:" TIME @ Setup variables (1.3 = 1 hr 30 mins) -> mt ot ms os rt @ My time, other's time, (HMS format) @ my string, other's string, @ real time << DO os ot + 2 DISP @ display other's time DO rt TIME HMS- mt HMS+ @ compute new my time from ms OVER + 1 DISP @ realtime offset and display IF 0 < @ Time's up? THEN ms 0 + 1 DISP @ draw a pretty 0 time left 440 5 BEEP @ announce time's up 0 WAIT DROP @ wait for keypress KILL @ the end END UNTIL KEY @ keypress switches clocks END DROP @ drop keypress TIME @ remember the time rt OVER HMS- mt HMS+ ot @ adjust my time, get other's time 'mt' STO 'ot' STO @ swap times ms os @ get the strings 'ms' STO 'os' STO @ swap them 'rt' STO @ store the new real time from above UNTIL 0 @ repeat until hell freezes over END >> >>