i wrote most of this up to here on a linux laptop, but some changes need to be made to get it working with CP/M-80.