include "inc/cmdsys.plh" // // ProDOS error code // export byte perr // // ProDOS routines // export def getpfx(path) byte params[3] ^path = 0 params.0 = 1 params:1 = path perr = syscall($C7, @params) return path end export def setpfx(path) byte params[3] params.0 = 1 params:1 = path perr = syscall($C6, @params) return path end export def getfileinfo(path, fileinfo) byte params[18] params.0 = 10 params:1 = path perr = syscall($C4, @params) memcpy(fileinfo, @params + 3, 15) return perr end export def open(path, buf) byte params[6] params.0 = 3 params:1 = path params:3 = buf params.5 = 0 perr = syscall($C8, @params) return params.5 end export def close(refnum) byte params[2] params.0 = 1 params.1 = refnum perr = syscall($CC, @params) return perr end export def read(refnum, buf, len) byte params[8] params.0 = 4 params.1 = refnum params:2 = buf params:4 = len params:6 = 0 perr = syscall($CA, @params) return params:6 end export def write(refnum, buf, len) byte params[8] params.0 = 4 params.1 = refnum params:2 = buf params:4 = len params:6 = 0 perr = syscall($CB, @params) return params:6 end export def create(path, access, type, aux) byte params[12] params.0 = 7 params:1 = path params.3 = access params.4 = type params:5 = aux params.7 = $1 params:8 = 0 params:10 = 0 perr = syscall($C0, @params) return perr end export def destroy(path) byte params[3] params.0 = 1 params:1 = path perr = syscall($C1, @params) return perr end export def newline(refnum, emask, nlchar) byte params[4] params.0 = 3 params.1 = refnum params.2 = emask params.3 = nlchar perr = syscall($C9, @params) return perr end export def readblock(unit, buf, block) byte params[6] params.0 = 3 params.1 = unit params:2 = buf params:4 = block perr = syscall($80, @params) return perr end export def writeblock(unit, buf, block) byte params[6] params.0 = 3 params.1 = unit params:2 = buf params:4 = block perr = syscall($81, @params) return perr end done