\ 2006-07-23 EW adv2_1.fs

rom
include adv2_timeup.fs

: led0 ( -- ) 3 port1 bclr ;
: led1 ( -- ) 3 port1 bset ;
: job.tick
  tick @ $01 and IF led0 ELSE led1 ENDIF
;
: job.sec
  timer @ dup lastsec @ - swap dup lastsec !
  sec @ min @ hour @ day @ month @ year @
  cr . . . . . . . .
;
: job.min
  cr ." running minute job ..."
;
: job.hour
  cr ." running hour job ..."
;
: job.day
  cr ." running day job ..."
;
: job.month
  cr ." running month job ..."
;
: job.year
  cr ." running year job ..."
;
: run
  cr ." year month day hour min sec timer"
  ." timer-lastsec"
  timer @ cycles.tick + newtimer !
  job.sec
  BEGIN
    tickover? IF timeup ENDIF
    tickflag @  IF job.tick 0 tickflag ! ELSE
    secflag @   IF job.sec  0 secflag !  ELSE
    minflag @   IF job.min  0 minflag !  ELSE
    hourflag @  IF job.hour 0 hourflag ! ELSE
    dayflag @   IF job.day  0 dayflag !  ELSE
  monthflag @ IF job.month 0 monthflag ! ELSE
    yearflag @  IF job.year 0 yearflag !
    ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF
  key? UNTIL
;
ram