define constants for charset names and use them
assign mostly works (not much tested)
make assign to drive number work
fix printf format error