##  poke_ssb
##  Special POKE commands extracted from BasConfig_bas.
##  Originally written by Oliver Fink
##  For use with FileConfig_ssb


DEFine PROCedure pk_b(adr,val)
   POKE adr,val:adr=adr+1
END DEFine 

DEFine PROCedure pk_w(adr,val)
   adr=even(adr)
   POKE_W adr,val : adr=adr+2
END DEFine 

DEFine PROCedure pk_l(adr,val)
   adr=even(adr)
   POKE_L adr,val : adr=adr+4
END DEFine 

DEFine PROCedure pk_wr(adr,val)
   adr=even(adr)
   pk_w adr,val-adr
END DEFine 

DEFine PROCedure pk_$(adr,s$)
   LOCal l,i
   l=LEN(s$)
   pk_w adr,l
   FOR i=1 TO l:pk_b adr,CODE(s$(i))
   adr=even(adr)
END DEFine 

DEFine PROCedure value_poke(type, addr, value)
   LOCal t

   t = type
   SELect ON t
      = 8  : pk_b addr, value
      = 10 : pk_w addr, value
      = 12 : pk_l addr, value
   END SELect
END DEFine value_poke



DEFine FuNction even(x)
   IF x/2<>INT(x/2) THEN RETurn x+1:ELSE RETurn x
END DEFine 

