VirtualAcorn Tech Support
More from Aaron's tech support notebook
One of things I have been asked a number of times recently is "can you write CD's using VirtualRPC?". The answer is no, you can't write a CD using any VirtualRPC. However this no isn't quite a clear cut as it looks. Whilst you can't write a CD, you can certainly make a CD image and then write that image using CD writing software running on Windows or Mac Os X. The result will be a "real" RISC OS CD with all the extra RISC OS extensions. A CD that will work correctly in a "real" RISC OS machine. Let me explain how..."
Writing CDs on VirtualRPC
The process of producing a CD takes a number of steps. For our purposes we are only concerned with two parts of this process. Creating the image of the data that we want to be stored on the CD and physically burning the data to the CD. In order to produce the CD we will need to perform one part on RISC OS and the other on the host operating system. This host operating system can be either Windows or Mac OS X, the principles are identical.
The first step, producing the image of the data, needs to be performed on RISC OS. For this we need an application that can generate this image. Luckily in 1994 Acorn released an application designed just for this purpose. The application is called !ISOForm. It's thus named because it generates an ISO (International Standards Organisation) 9660 image file. This ISO 9660 standard defines a standard that can be used by any operating system. Thus if we can generate the ISO 9660 image on one operating system, this image can be burnt to a CD using any other operating system. This is because all applications designed to burn CDs understand any file in ISO 9660. This standard is often referred to as the "Red Book" standard.
So, if all machines understand ISO 9660 why can't we generate a "RISC OS Format" CD on an other operating system? The answer is that in their "wisdom" Acorn decided that they wanted to all some special extensions to the ISO 9660 standard. These extensions related to the way filetypes would be stored. On other operating systems the file type of the file is stored with the file itself. For example, Windows knows that a file called "Picture.jpg" is a JPEG image because the type of the file is stored in the file name. RISC OS works differently. The information relating to the file types of files in a directory isn't stored in the name, but in an extra block of directory data.
The result is that in order to generate an "Acorn ISO 9660" image we need an application that understands these extensions and can generated an image file with these included. The only applications that can do this run on RISC OS. Most of the ones that have been released are designed to both generate the image and to physically burn it to the CD. Examples include !CDBurn, !CDVDBurn from Stephan Huber and !EX_atapi from Eesox. These are all commercial packages. For our purposes we don't need both facilities, we only need to generate the image file itself. Although !ISOForm is 15 years old the CD format has not changed in this time. So it will still do the job perfectly.
I have included a copy of !ISOForm in the VA section of the Software directory on this issue. To load it simply double click on its icon and !ISOForm will appear on the iconbar. Clicking Select on the !ISOForm iconbar icon will open the main window:
So what do we do next?
Firstly you need to prepare the files and directories that will be written to the CD. You need to assemble everything that you want to go on the CD in a directory. What you see in this directory will be duplicated on the finished CD. For example here is the directory for this issue of Foundation RISCWorld:
As you can see from the title bar of this window this directory "lives" on a HostFS mount. In this case it's a few directories down on the main VirtualRPC "Harddisc4". The directory that we want to write to the CD can be anywhere, it does not have to be on the top level of a disc.
Having prepared all the data in the directory we need to drag this to the main !ISOForm window. However we cannot just drop it anywhere in the window. The directory must be dropped in the writable Root Directory icon. For example:
You can see the path of the directory showing in the Root Directory icon. In addition a couple of other changes need to be made before we can produce our CD image. As you can see in the illustration above the Write image to file option button has been ticked. In addition we have written in the name of the file that we wish to save our image to.
There are a couple of things we need to check before going ahead. Firstly double check that the name you want to use for the image file has been correctly typed in. If it has been mistyped then things may well go wrong. Secondly we need to make sure that there is enough free space on the harddisc that will be holding the image file. When using HostFS on VirtualRPC you are very unlikely to have any problems with lack of space. However it's worth repeating the warning just in case. For our "trick" with writing Acorn format CDs you must save the CDimage to a HostFS drive. If you save it to an ADFS drive then the Host operating system (Windows or Mac OS X) won't be able to find the image and burn it.
Having double checked everything all we need now do is click on the Run button. You will see a window that look like the one below appear:
This window gives a full report on the process of making the image. There may be a number of errors reported. We can see some of these in the example above. Generally if the errors are "non fatal" then !ISOForm will just carry on. In the examples above you can see that the main "errors" relate to file names. Whilst these may look a little worrying they are perfectly normal. All !ISOForm is telling us is that any files with a "/htm" extension stored in our folder will have their names changed to ".htm" when they are encoded in the image. This means that any file with an extension on the end of it's name will be translated so that it can be understood by both RISC OS and other operating systems. Clever.
On a "real" RISC OS machine you would often have to leave !ISOForm running for some time before the image file would be completed. On a VirtualRPC, due to the much higher disc transfer speeds, a file that would take 20 minutes on a RiscPC can be written in around 40 seconds!
Once the process is completed there will a complete ISO 9660 CD image file, with RISC OS extensions, ready to be burnt to a CD.
The next step is to quit VirtualRPC and return to the host operating system on your computer. For this example I am using Windows and Nero. The actual steps you will need to take will depend on the Operating system you are using and the CD writing software you have.
Firstly we need to go and locate the image file under our Host Operating System:
This is our CDimage file for this issue of Foundation RISCWorld as seen by Windows. As you can see the file itself has no Windows file extension. Hence Windows doesn't know what to do with it. So we need to rename the file slightly. In the example above I renamed the file, under Windows, from CDImage,ffd to CDImage.iso. What I have done is simply removed the ,ffd from the end of the file name and replace it with .iso.
With a little bit of luck the icon Windows uses for the file may now change. If not, and when using Nero it probably won't, then don't worry, it doesn't matter.
Now we have one final step. This will depend on the Operating System being used and the CD writing software available, but the basics are all the same.
Launch your CD writing software and then tell it you want to Burn a CD Image (the wording may vary slightly depending on the package used). Now your CD writing package will ask for the image file you want to burn. Go and load the file that we created using !ISOForm. Now go and burn the CD. Congratulations you have just produced a RISC OS format CD using VirtualRPC.
Just like many things, there is a way to do it if you know how. Have fun.