VirtualAcorn Tech Support
More from Aaron's tech support notebook
Once again we've had an interesting couple of months on the tech support calls. We have also had a customer provide a solution to a long term VirtualAcorn problem.
VA Displaying the wrong time
There has been a problem for as long as I can remember with overseas copies of VirtualAcorn, especially those in New Zealand and Australia. The problem is simple. The PC is configured to the correct time zone, Windows shows the correct time, but VirtualAcorn shows the wrong time. What made the problem more difficult was that different people seemed to have different times displayed. Sometimes things were 1 hour out, sometimes 2 and sometimes 12 hours out. To make matters more confusing some machines seemed to be OK and the problem couldn't be reproduced by any of us.
So I was stumped. In the end I decided it must be something "odd" with the PCs concerned. If I had engaged my brain I would have realised what the problem was, especially when I discovered that if the problem PCs were set to GMT, but with the correct local time selected, the problem went away. Can you see what's causing the problem? It's actually blindingly obvious when you realise, but let me give a little explanation of what we thought VirtualAcorn was doing.
The principle of what VirtualAcorn is doing is simple enough. It takes the time from Windows and passes it to RISC OS. RISC OS then uses this time and displays it as appropriate on whatever format is required, for example as a time shown on the icon bar by Alarm. So what could possibly go wrong?
Well if you think back to what I said earlier the answer is obvious. Windows is set to a correct local time zone and shows the correct time. RISC OS running on VirtualAcorn shows the wrong time. In actual fact the time in VirtualAcorn isn't wrong, it's correct. Correct for the UK anyway. What's actually happening is that Windows sends the unadjusted time, rather than the local time, to VirtualAcorn. So when RISC OS displays the time it is shown for the UK. This is why machines in countries with a different time zone would show the wrong time in RISC OS.
Why I didn't think of this I have no idea. The answer was provided by a customer at the recent South East show. The minute he started explaining how he had solved the problem I had to hit my head, it was so obvious. The solution is to set RISC OS up to the correct territory/timezone. This is easily done under VRPC-Adjust using the Date and Time configuration option from the main Configure window.
Configuring the timezone on RISC OS Adjust
Users of RISC OS 4 on VirtualRPC-SE will need to alter the timezone from the command line. To do this press F12 and type:
*Configure Timezone +/-<hours>:<minutes>
So for example if you are 1 hour ahead of the time in the UK the setting would be:
*Configure Timezone + 1:00
For 12 hours ahead it would be:
*Configure Timezone + 12:00
And for 8 hours behind:
*Configure Timezone - 8:00
This makes perfect sense and solves one of the longest running strange VirtualAcorn errors, all thanks to a logical and experienced RISC OS user.
ShareFS and floppy drives
Back in Volume 5 Issue 2 I covered some aspects of floppy drives under VirtualAcorn. I included details on how to use an external USB floppy drive to read and write DOS formatted floppies. Of course these drives can't read Acorn format discs, but there is a clever little workaround that can help in some circumstances.
For this little trick to work you will need a network and at least one machine that has a floppy disc drive that can be used by RISC OS. This doesn't have to be a "real" machine, it could be a desktop PC running VirtualRPC, or it could be an Iyonix, or a RiscPC, it really doesn't matter. What we are going to do is network the floppy drive from the machine that has it, so the drive can be used by the machine with no floppy drive, clever eh?
In my test rig in the office I used a desktop PC running VRPC-SE and a laptop, with no floppy drive, running VRPC-Adjust. The first thing to do is make sure that all the machines have ShareFS enabled on them, both any real machine and any virtual one. You can easily see if ShareFS is enabled by looking for the discs icon on the icon bar.
The ShareFS discs icon on the icon bar
Information on setting up ShareFS and on networking is in the VirtualAcorn manual, so I'm not going to reproduce it here. So I am going to assume that both machines have ShareFS running on them and that both machines can see each others harddiscs. If you find that the machines can't see each other then check that a Windows firewall hasn't blocked access from/to VirtualRPC.
So I have two machines, a desktop PC running VRPC-SE with an internal floppy drive, and a laptop running VirtualRPC-Adjust with no floppy drive. Both copies of RISC OS have ShareFS enabled and can see each others harddrives. So we now need to fiddle ShareFS so that the laptop can see the desktop machines drive and use it under RISC OS.
On the desktop PC (the one with the floppy drive) make sure a RISC OS floppy is inserted and simply press F12 and type:
Share ADFS::0.$ Floppy
And press return. If you get an error message then either you typed the command wrongly or you forgot to put a floppy in the disc drive, type the command again and press return. Press return one final time to go back to the desktop. If you now click on the discs icon on the desktop PC you will see the shared floppy disc icon:
The Shared floppy disc icon in the middle
If you now move over to the laptop and do the same you will also see a floppy disc icon in the list of shared discs. Double click on it and a new disc icon will appear on the laptops icon bar, this new disc will be called floppy. If you click on this disc drive you should hear the floppy drive in the desktop PC start up and after a few seconds a floppy drive window will open on the laptop. You can now read and write files from the floppy drive in the desktop machine on the laptop. See, I said it was clever.
As well as reading and writing files you will also be able to install some software from an original floppy disc onto the laptop. The reason I say "some" software is that some installers run across multiple discs, which won't work. Some other installers assume they are running on ADFS::0.$, which they aren't, these will also fail. However all isn't lost in these cases, all that's required is a little thought. Instead of accessing the floppy from the laptop, you can access the laptops RISC OS harddisc from the desktop. So from the desktop open the Laptops harddisc via ShareFS and simply install the software to that, instead of to the local harddisc.
The final thing to note is that the new floppy drive won't recognise the disc being swapped. In order to change discs you will need to remove the floppy share, to do this press F12 and type:
And press return. Now change the floppy disc and then reshare the floppy drive with the new floppy disc inserted.
This technique can prove very useful, not just on VirtualAcorn but also with one of the new cheaper Iyonix machines that doesn't have a floppy drive.
I have put two obey files in the VirtualAcorn section of the software directory. One will turn on a shared floppy drive, the other will turn it off.