Skip to content

afs nf_vdi

Thorsten Otto edited this page Feb 6, 2018 · 1 revision

FVDI driver

FVDI (7) is a replacement VDI like the well-known NVDI. It allows usage of custom video and printer (among others) drivers to be used on your Atari system. 'fvdi.prg' is a TOS resident program that must be run from the AUTO folder. It has a config file 'fvdi.sys' at the root of the boot drive. In the config file, you'll find the line PATH= which points to a directory ('c:\gemsys' as default) where to find its drivers (and fonts).

ARAnyM needs its 'aranym.sys' driver to be put there. Near the end of the 'fvdi.sys' file, you'll find a line like this, which tells FVDI to map VDI device 01 (default video device) to aranym.sys driver:

  01r aranym.sys mode 1024x768x16@70 assumenf

Setting FVDI's video resolution

Near the end of 'fvdi.sys' configuration file, you'll see you can pass the resolution as a parameter to the driver:

  01r aranym.sys mode 1024x768x16@70 assumenf

The resolution is fixed here and can not be changed after FVDI is started. You can also force a resolution in ARAnyM's [AUTOZOOM] section of its config file, for example for a 640x480 screen, and FVDI will use it instead:

  [AUTOZOOM]
  FixedSize = Yes
  Width = 640
  Height = 480

Now ARAnyM does not need to emulate the Falcon's VIDEL video chip anymore, and so it is much faster at displaying GEM graphics, because it is also the host's CPU that does all the drawing, instead of the emulated m68k CPU. Beware that non-GEM applications will not work correctly in this mode.

Using host mouse cursor

If you think the mouse cursor is a bit slow and jerky, it is because everything is managed from Atari side. You have first mouse movement that goes through the emulated IKBD 6301 processor, then the emulated m68k VDI driver must delete current mouse cursor drawed on Atari screen, take the new mouse position into account, then redraw the mouse cursor at a new position. Wheew.

In ARAnyM, you can configure the VDI driver to use directly the host mouse cursor, so all the steps mentionned above will be short-circuited. Just fill the [NFVDI] section of ARAnyM's configuration file this way:

  [NFVDI]
  UseHostMouseCursor = Yes

Restart ARAnyM, and check the super fast mouse cursor. There is still a problem remaining: At start, the Atari OS thinks the mouse position is at position x1,y1 on the Atari screen, whereas in reality, you see it at position x2,y2. So when you click, nothing may happen, or you'll see yourself not clicking where it should be. You need to 'calibrate' the host mouse cursor, so the Atari OS and the host both have the same mouse position. To calibrate the mouse cursor, just move it to all sides of the Atari screen, and it should be OK.

Selecting VDI renderer

If your host system has hardware accelerated OpenGL, and your ARAnyM is compiled with OpenGL support, then you can try the OpenGL VDI backend instead of the pure software backend.You select it in the [NATFEATS] section of ARAnyM config file:

  [NATFEATS]
  Vdi = opengl

Default value is Vdi = soft for the software backend. You must also enable global OpenGL usage for ARAnyM in the [OPENGL] section:

  [OPENGL]
  Enabled = Yes

As usual, you need to restart ARAnyM for changes to taken into account.
Note: currently you can't use the ARAnyM GUI when OpenGL is enabled, because GUI routines are still software-rendering only.

Clone this wiki locally