mirror of
https://github.com/dschmenk/PLASMA.git
synced 2026-01-22 18:15:59 +00:00
129 lines
2.3 KiB
Plaintext
129 lines
2.3 KiB
Plaintext
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
|