VirtualAcorn Technical support:
VirtualAcorn .cfg file configuration options (Technical)

This document lists the various configuration options from the VirtualAcorn configuration files. These files are contained inside the main VirtualAcorn application in the following locations:

VirtualRPC-AdjustSA\Contents\Resources\Va.cfg
VirtualRPC-AdjustSA\Contents\Resources\Models\ARM710\model.cfg
VirtualRPC-AdjustSA\Contents\Resources\Models\ARM7500\model.cfg
VirtualRPC-AdjustSA\Contents\Resources\Models\StrongARM\model.cfg

In order the open the VirtualAcorn application to navigate to the files you will need to use the Show Package Contents option from the Macintosh menus. This can normally be found by right clicking on the VirtualAcorn icon and clicking on the menu that appears.

This document is supplied for information purposes only, we do not recommend that you change any of the default options in the configuration files unless you are sure you know what you are doing. Also please note that this information is provided as a rough guide only and VirtualAcorn reserve the right to make changes to the specification of the configuration files without notice. If you set an option incorrectly VirtualRPC may no longer load correctly and you may have to re-install it from your original CD. We recommend that all users back up their .cfg files before attempting any changes.

General Overview

When VirtualRPC starts up, it reads the VA.cfg config file to determine configuration options. These options are divided into [sections] which are read by different parts of the application. Each section contains one or more configuration options (keys).

By default VirtualRPC will ask the user which model should be used by opening a dialogue box on screen. Once the model is chosen VirtualRPC then looks in the appropriate directory inside the Models folder and loads the model.cfg it finds there, this describes the model which will be built. Each of the [sections] in the Model.cfg represents one component of the model and it is possible to have more than once instance of a component, for example the [Ram] sections may include options for more than one bank of memory modules.

You can later the configuration options by hand but you should remember the following points:

  • Section names are Case Sensitive
  • Keys names are case insensitive but the key values may be sensitive
  • Integer/Boolean values have no "" and may be postfixed by G,M or K for Giga(*2^30),Mega(*2^20),Kilo(*2^10). The values can be in decimal or hex (preceded by 0x).
  • String values are surrounded by ""
  • True is represented by a 1 and False by a 0
  • Comments inside the .cfg files are not yet supported

If you do decide to edit one of the config files then you can do this using TextEdit, do not try and edit a config file with a word processor as the file may become corrupted.

The VA.cfg file

A default Va.cfg file will have a structure similar to the one shown below, note that not all versions of VirtualRPC may contain all the commands. If a command does not exist in your own Va.cfg then most likely your version of VirtualRPC does not support it.

     [Model]
     forceselect = 1
     Name = "ARM 710"
 
     [DirectDrawRenderer]
     free_scale = 0
     CanChangeMode = 1
     Border = 0
     TripleBuffer = 0
     FrameSkip = 0
     AutoWindowResize = 1
     FullScreenStartup = 1
     Large16BitPalette = 1
     MaxRefresh = 75
     MinRefresh = 58
 
     [DirectXInput]
     WindowsKeyIsBreak = 1
     JoystickEnabled = 1
     JoystickThreshold = 25
     MenuKey = 1
     MouseButton0 = 0
     MouseButton1 = 2
     MouseButton2 = 1
     MouseBuffered = 1
 
     [DirectSound]
     FilterLevel = 36864
     Enabled = 1
 
     [WinUI]
     DeactivateInBackground = 0
     Version = 69
     ProcessorPriority = 1
     UIPriority = 3
     ShowLicence = 1
     ShowSplash = 1
     Licensekey="000000-000000-000000"
 
     [SystemClock]
     AutoDetectProcSpeed = 1
     ProcessorSpeed = 532
 
     [Console]
     Timestamps = 1
     LogFile = "VirtualRPC.log"
 
     [HostPower]
     Idle = 4
     PowerOffOnShutdown = 1
 
     [UI]
     StartInFullscreen = 0
     ShowStatusBar = 1
 
     [Input]
     MouseButton0 = 0
     MouseButton1 = 2
     MouseButton2 = 1

The configuration commands in the file split down like this:

[Model]

     forceselect = 0

VirtualRPC-Adjust will automatically select the appropriate model.

     Name = "ARM 7 RISC OS 4(JIT)"

The name of the model that will be selected.

[DirectDrawRenderer]

The Direct draw renderer is the component used to render the video buffer to the screen. In future it there may be other versions.

     free_scale = 0

A value of 0 means use Software video scaling, a value of 1 means use Hardware video scaling.

     CanChangeMode = 1

With this set to 1 VirtualRPC-Adjust can control the PCs graphics card and change screen modes when running in full screen.

     Border = 0

Draw the RISC OS screen border.

     TripleBuffer = 0

Not currently supported.

     FrameSkip = 0

Speed up display by only drawing some frames. A value of 0 will display all frames, a value of 2 will skip 50% of frames, a value of 9 will skip 90% of frames.

     AutoWindowResize = 1

When VirtualAcorn is running in a Window and RISC OS changes screen mode automatically resize the window to fit.

     FullScreenStartup = 1

Start up in full screen mode if set, if not start up in a window.

     Large16bitPalette = 1

Enable the large 16bit screen palette which speeds up screen redraw in 16bit (32,000 colour) screen modes.

     MaxRefresh = 75

VirtualRPC-Adjust will not choose a Windows screen mode with a refresh rate higher than this figure.

     MinRefresh = 58

VirtualRPC-Adjust will not choose a Windows screen mode with a lower rate higher than this figure.

[DirectXInput]

DirectXinput is used to handle keyboard/mouse/joystick input. In future there may be alternative input methods.

     WindowsKeyIsBreak = 1

Treat the Windows key as a duplicate Break key.

     JoystickEnabled = 1

Enable joystick input.

     JoystickThreshold = 25

The amount an analogue PC joystick as to move before RISC OS receives a digital joystick event.

     MenuKey = 2

The Menu key on the windows keyboard will emulate the mouse button specified here (in this case 2 = MouseButton2 = the Menu Button).

     MouseButton0 = 0

Which mouse button the left mouse button emulate. (0=Select)

     MouseButton1 = 2

Which mouse button the right mouse button emulate. (2=Adjust)

     MouseButton2 = 1

Which mouse button the centre mouse button emulate. (1=Menu)

     MouseBuffered = 1

Enable automatic mouse buffering.

[DirectSound]

Used to handle sound output

     FilterLevel = 36864

The amount of frequency cut off, the higher the value the clearer and less "distorted" the sound. The maximum value is 49152 as shown.

     Enabled = 1

Turn the VirtualRPC-Adjust audio system on or off.

[WinUI]

Controls aspects of the VirtualRPC-Adjust Mac OS X User Interface.

     DeactivateInBackground = 0

Pause VirtualRPC-Adjust when it is not the top window, or is minimised.

     Version = 140

Main application version.

     ProcessorPriority = 0

Set the processor priority thread level. 0=Lowest, 1=Standard, 2=Higher than standard, 3=same as all other Windows processes, values greater than 3 may lock up your PC and require a reboot.

     UIPriority = 1

Set the User Interface priority thread level. 0=Lowest, 1=Low, 2=Standard, 3=same as all other Windows processes, values greater than 3 may lock up your PC and require a reboot.

          ShowLicence = 1

Show the Licence conditions on startup.

          ShowSplash = 0

Show the Splash screen on startup.

          Licensekey="000000-000000-000000"

This keys shows your current license key (Unlock Code). If you lose your written down key (Unlock Code) you can recover it from this entry. Note that you cannot recover a key if VirtualRPC-Adjust asks for a key on startup and the section in the VirtualRPC-Adjust registration window is blank.

[SystemClock]

     AutoDetectProcSpeed = 1

When set to 1 auto detect the processor speed, if set to 0 use the value stored in the ProcessorSpeed key.

     ProcessorSpeed = 532

A manually set value for the speed of the processor in the Host machine.

[Console]

Setting for the information console.

          Timestamps = 1

Sets the timestamp value for the console.

          LogFile = "VirtualRPC.log"

Filename to be used to record output from the console.

[HostPower]

          Idle = 4

Idling time in centiseconds.

          PowerOffOnShutdown = 1

State of shutdown flags. If enabled close emulation of RISC OS is closed down.

[UI]

          StartInFullscreen = 0

Toggle between starting in a Window and in full screen mode (overrides previous value).

          ShowStatusBar = 1

Display the statusbar when running on a window.

VirtualAcorn reserves the right to alter the specification of the va.cfg file at any time and the details shown above should be considered as a guide only.

The Model.cfg file

This is the file that is specified in the [Model] section of the Va.cfg file shown above. A default Model.cfg file will have a structure similar to the one shown below, note that not all versions of VirtualRPC-Adjust may contain all the commands. If a command does not exist in your own Model.cfg then most likely your version of VirtualRPC-Adjust does not support it.

     [PhysicalBus]
     width = 29
 
     [JITArm7]
 
     [Vidc20]
     LineLatency = 25
     MaxLineBatch = 2000
 
     [Iomd]
     vram = 8Mb
     poweronreset = 0
 
     [Rom]
     filename = "Romsets/RISCOSAdjust"
     base = 0
     range = 16Mb
 
     [Ram]
     base = 0x1000000
     size = 64Mb
 
     [CmosRam]
     filename = "cmos.ram"
 
     [37c665]
 
     [IdeDisc]
     Shape = "384 16 63 512"
     Filename = "HardDisc4.hdf"
 
     [CDDrive]
 
     [ClockChip]
 
     [IocI2CBus]
 
     [HostFS]
     mount0 = "HardDisc4 '../../../HardDisc4/' bootopt=2,showext"
 
     [HostServices]
 
     [HostPower]
     Idle = 4
     PowerOffOnShutdown = 1
 
     [HostInternet]
     trace = 0
 
     [HostMouse]
     Enabled = 1

The configuration commands in the file split down like this:

[PhysicalBus]

     width = 29

[JITArm7]

The processor that will be used in this model, in this case an emulation of an ARM7.

[Vidc20]

The type of Video controller that will be used in this model, in this case a Vidc20.

     LineLatency = 25

Latency setting for the video controller.

     MaxLineBatch = 2000

Maximum number of horizontal lines that can be drawn in one pass.

[Iomd]

The iomd chip in discreet processor machines. Ie Arm610/710/StrongArm machines.

     vram = 8Mb

RISC OS checks for up to 8Mb of VRAM.

     poweronreset = 0

Set the POR (PowerOnReset) bit on a hard reset.

[Rom]

     filename = "Romsets\RISCOSAdjust"

The filename of the ROM image that will be loaded. If a directory is specified its entire contents will be loaded.

     base = 0

Base address that the ROM will appear in the memory map

     range = 16mb

The amount of physical space the ROM covers. If this is greater than the image size the ROM will be 'ghosted'.

[Ram]

     base = 0x1000000

The base memory address of the RAM in the memory map.

     size = 64Mb

The amount of RAM that will be allocated to RISC OS. RISC OS 4.39 and later support up to 256Mb of RAM. Note that you should only allocate more than 64Mb of memory if your Mac has at least 512Mb of RAM

[CmosRam]

Set up the CMOS RAM file details.

     filename = "cmos.ram"

The file name to be used to store the CMOS RAM settings, the file is normally saved in the Model directory.

     size = 256

Size of the CMOS RAM in bytes.

[37c665]

The IO chip.

[IdeDisc]

Enable emulation of an ADFS harddisc using an image file

     Shape = "384 16 63 512"

Formatting parameters for the disc image file.

     Filename = "HardDisc4.hdf"

File name for the disc image file.

[CDDrive]

Map the CD/DVD drive in the Mac to CDFS:0 inside RISC OS.

[ClockChip]

The model contains a clock chip.

[IocI2CBus]

This implements an I2CBus interface (to which the clockchip connects) using two pins of the IOC control register.

[HostFS]

A virtual podule which gives access to the host filing system. HostFS implements a full fileswitch filing system, it also provides basic access to the host printer system.

     mount0 = "HardDisc4 '../../../HardDisc4/' bootopt=2,showext"

A mount definition, the mount is the first one (0), the name on the RISC OS icon bar will be HardDisc4, the directory that will be used for the mount is called 'HardDisc4' since this is not specified as a full path VirtualRPC-Adjust will look for the mount in its own directory (for example: Applications\VirtualAcorn\VirtualRPC-AdjustSA\HardDisc4). The mount can be used as a boot disc (the bootopt setting mimics *opt4,x).

In addition to the commands shown a HostFS mount can also have the following attributes applied.

  • readonly - the drive is read only (currently not supported).
  • hidden - the drive does not appear as an icon on the icon bar (currently not supported).
  • showext - show dos file extensions, so that a file with a dot extension is shown with a slash (e.g. Index.htm is shown as Index/htm).
  • notypes - ignore HostFS extensions file
  • defaulttype - filetype for unknown extensions (if this attribute is not supplied unknown files have a filetype of &FFF).

[HostServices]

Enable the HostServices system which provides services to RISC OS using the host OS.

[HostPower]

     Idle = 4

Power management idling time.

     PowerOffOnShutdown = 1

State of shutdown flags. If enabled close emulation of RISC OS is closed down.

[HostInternet]

Enable the HostServices Internet plugin that provides networking facilities for RISC OS.

     trace = 0

Enable tracing for debugging purposes.

[HostMouse]

Use the host machines mouse input.

     Enabled = 1

Enable the mouse.

[Home] [Products] [FAQ] [Order] [Contact] [Press Releases] [Tech Support] [Downloads]

 Copyright (c) 2017 3QD Developments Ltd. All rights reserved. All trademarks are acknowledged. All details are correct at the time of publication, E & OE.
Last Edit Date 01/11/17
info@virtualacorn.co.uk
P