So, you want to use the CSD? ---------------------------- Here are a couple of ways of getting the CSD in an obeyfile. The first is the simplest, providing an alias to allow the CSD to be read into a system variable: >>>>>>>>>>>>>>>> set alias$@SetCSDToVar set %0 :|$CSD> <<<<<<<<<<<<<<<< Then you can just do 'SetCSDToVar myvar' to get the CSD into myvar. The alias is required because there's no way (that I know of) of expanding a system variable name which is contained in another system variable. The second method is a BASIC program that sets up a code variable which will always have the value of the CSD. The variable is readonly, so attempts to write it will fail. >>>>>>>>>>>>>>>> DIM code 1024 FOR pass=12 TO 14 STEP 2 P%=0 : O%=code : L%=code+1024 [ OPT pass MOV PC,R14 ; Ignore writes STMFD R13!,{R3-R5,R14} MOV R0,#37 ADR R1,path ADR R2,buffer MOV R3,#0 MOV R4,#0 MOV R5,#256 SWI "OS_FSControl" ADR R0,buffer RSB R2,R5,#256 LDMFD R13!,{R3-R5,PC} .path EQUS "@" : EQUB 0 .buffer ] NEXT pass O%+=256 : REM Text buffer SYS "OS_SetVarVal","CSDUtils$CSD",code,O%-code,0,16 <<<<<<<<<<<<<<<< This could be used, for example, to 'setmacro CLI$Prompt *' so that the CSD is displayed as part of the command line prompt. Jeffrey Lee, me@phlamethrower.co.uk http://www.phlamethrower.co.uk/