•  Back 
  •  Main 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help 
  •  Show info about hypertext 
  •  View a new file 
Topic       : The GFA-Basic Compendium
Author      : GFA Systemtechnik GmbH
Version     : GFABasic.HYP v2.98 (12/31/2023)
Subject     : Documentation/Programming
Nodes       : 899
Index Size  : 28056
HCP-Version : 3
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Document not found
@help       : Help
@options    : +g -i -s +z
@width      : 75
@hostname   : STRNGSRV
@hostname   : CAB     
@hostname   : HIGHWIRE
@hostname   : THING   
View Ref-FileVDISYS [opcode[,int_cnt,pts_cnt[,subopc]]]

opcode, int_cnt, pts_cnt, subopc: iexp

With the instruction VDISYS the VDI function with the function code 'opcode'
is called. If opcode is not specified, then the function code must, like the
other parameters, be place in the control block with 'DPOKE CONTRL,opcode' or
'CONTRL(0)=opcode'.

The number of values in the integer and point-coordinate input arrays can be
specified in the parameters int_cnt and pts_cnt. These values need not then be
placed into the Control Block. The optional parameter 'subopc' contains the
sub-opcode of the routine to be called. This must only be specified for some
VDI routines, for example Escape function routines. The parameters int_cnt,
pts_cnt, and subopc will be inserted into the CONTRL block like so:

    opcode  --> CONTRL(0)
    int_cnt --> CONTRL(3)
    pts_cnt --> CONTRL(1)
    subopc  --> CONTRL(5)

Examples:

    ' example #1: long form
    CONTRL(0)=11
    CONTRL(1)=3
    CONTRL(3)=0
    CONTRL(5)=4
    PTSIN(0)=320
    PTSIN(1)=200
    PTSIN(4)=190
    VDISYS
    PAUSE 25
    CLS
    '
    ' example #2: short form
    PTSIN(0)=320
    PTSIN(1)=200
    PTSIN(4)=190
    VDISYS 11,0,3,4
    PAUSE 25
    CLS
    '
    PCIRCLE 320,200,190
    PAUSE

--> Three different ways of drawing the same filled circle.

    VDISYS 5,0,0,13
    PRINT "Inverted"
    VDISYS 5,0,0,14
    PRINT "Normal"

--> Prints 'Inverted' in inverse video and 'Normal' normally.

Memo: Calling a function which does not exist is usually fatal.

      Generates less code: short form
      Faster interpreted: short form
      Faster compiled: short form