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