There was a significant mistake persistent in the UQLX (pre 25/09/98 versions) filing system traps, FS.HEADR not returning a files name. Thus for proper function of several F6 utilities, I provide this workaround which can be modified for several other purposes:
: ux.fname ( -- ( write the work-channels filename to out-cons ) work cdt 0< over swap ?error ( not a valid channel ) 2dup 29 m+ c@l 64 m+ 4* qsys+ 2@l ( device definition block ) 2dup 16 m+ 2@l 38 m+ 2dup d2- @l type-l ( type the device name ) 20 m+ c@l {0 or emit {_ emit { drive no. and "_" ) 52 m+ 2dup d2- @l type-l ( type the file name )
This could be incorporated in the assembler source, in the fs.headr routine, dependent on whether
a zero length non-directory(?) filename returned - which I leave to the user.
A probably unusable screen display with colour depth of 24 bits appears to be quite a common fault, not just of
UQLX. It certainly is not a fault related to any of my programs; the other depth' (8, 16, 32) work as expected.
Restoring any F6 jobs to become executable again is fairly easy:
fle = FLEN(\"f6-job") adr = ALCHP ( fle ) LBYTES "f6-job",adr SEXEC "f6-job",fle,8000 RECHP adr EX "f6-job";"w-save flp2_f6-job bye"The device name for {w-save} is mandatory!
This will produce the "f6-job" with its dataspace set as defined in the code or, by default,
to its feasible maximum.
The latest versions (8.22+) carry an "XTcc" block appendix.