rem -- Set the logged drive ('A' to 'P') procedure setdrive (drive = char) var hl, de, bc, a_psw = integer rem -- ensure drive letter is upper case if drive >= 'a' then drive = drive - 32 hl = 0 de = drive - 65 bc = 0EH rem BDOS set drive function a_psw = 0 rem - call BDOS with drive number in DE call (5H,hl,de,bc,a_psw) end rem -- Set the CP/M user area (0 to 15) procedure setuser (user = integer) var hl, bc, a_psw = integer hl = 0 bc = 20H rem BDOS set user function a_psw = 0 rem - call BDOS with user number in DE call (5H,hl,user,bc,a_psw) end comment create empty file "output.txt" in current directory and in startup directory (drive A:, user 0) end create "OUTPUT.TXT" setdrive 'A' setuser 0 create "OUTPUT.TXT" end