Really it's just meant as a bit of coding shorthand, such that when you are dealing with the screen, you can use things like Print or PrintC instead of having to always specify the channel, like PrintD(0,string). It just saves you from having to put in 0, all over the place. Since you're mostly dealing with the screen, you set device to zero and forget about it. If you want to read a dir entry like your example, well then you have to use something like InputSD(1,dirstring). You wouldn't normally change device to 1, unless you maybe had a lot of i/o instructions and didn't feel like typing 1, all the time. Your choice. You just need to remember that whatever the operation is you are about to do, if you aren't using the "D" version and specifying the iocb #, then it will go to wherever device is pointing.