VirtualAcorn Technical support for Mac OS X:
Print jobs aren't printed
This article covers printing problems with VirtualAcorn running under Mac OS X. This article assumes that you have correctly configured a RISC OS printer driver for your printer and that RISC OS generates the print job without any errors. If further assumes that the print job arrives in the Mac OS X print queue, but then vanishes without being printed. VirtualAcorn are indebted to Roy Gillard for developing and testing the methods described.
The problem shows as follows: although the Mac itself will print to a suitably connected printer, anything coming through from the Virtual Acorn side does not print. Indeed it appears not to start the 'filter', according to the error logs, so the job is not sent to the printer, even though the Mac records the job as completed.
If you check the CUPS (Common Unix Printing System) screen it may well show the Device URI as file:///dev/null. Since writing something to 'null' makes things disappear this must be incorrect.
However if you pointed this to the printer correctly and also changed the type of printer driver to 'raw' the VRPC stream coming through is sent directly to the printer. So provided the driver on VRPC was correct for your particular make/model of printer, printing from RISC OS then works correctly.
Configuring Mac OS X
The first thing to do on the Mac is to use the System profiler to check the exact printer URI. Run System profiler and select Hardware and then Printers. Then select the correct printer from the list on the top right. If you have more than one then the device URI will be in the lower right screen along with the other details.
For this example the URI is usb://HEWLETT-PACKARD/DESKJET 990C?serial=ES0AB1C139LG.
Select and copy this to the Mac clipboard or write it down taking care to make sure you record it correctly. As a warning Unix does not like spaces so any spaces in the text need to be replaced by %20 (which is 20 in hexadecimal, and 32 in binary the ASCII code for a space). There is only one space in mine between DESKJET and 990 but the Epson Stylus 740 or others may have more. So the example becomes:
Next open a web browser and type in http://localhost:631/printers in the URL line which will open up the printers tab in the CUPS screen. Go to the bottom and click Add printer, it doesn't matter what other printers are present, you will have to add a new one.
The next screen asks for a Name, Location, and Description.
Choose a short unique name (such as VRPrinter), in this example we have chosen the model of the printer, which is DJ990Cxi. The Location is the name of your computer. You can use the same name in Description but this could be Virtual Printer or something else.
The example looks like this:
In this example the VirtualRPC is running on an iBook laptop named 'iBook'.
Click Continue and the next screen asks for the Device.
Select the appropriate connection method from the list. In this case the printer is connected via USB. Click Continue. The next screen asks for the Device URI and this is where you put the full name you obtained from the system profiler, with spaces replaced by %20. In this example this would be:
The next screen asks for the make and offers a drop list. Select the very top one which is 'Raw'.. Do not select the actual printer.. The next screen asks for Model, but should already have 'Raw Queue (en)' inserted. Don't change this and just accept it (by selecting it) and continue.
The Admin screen should show that this printer has successfully been added. If you now select the printer tab, you should find this new printer in the list, with the Device URI: usb://... you filled in. Now Click 'Set As Default'.
Configuring RISC OS
Finally, from inside VirtualRPC the printers File line must have the correct name filled in. This is the same unique name we entered earlier for the printer. So in this case it would be HostFS::VRPrinter. Now Save Choices from the Printer iconbar menu and then do a test print.
Since this is a raw printer driver on the Mac, it simply accepts the stream coming through and correctly directs it to the printer. So provided the correct printer driver was selected in RISC OS it should print in exactly the same way as a printer connected to a real RISC OS machine.