Vidicode Argus Basic Programmers Reference Manual
Have a look at the manual Vidicode Argus Basic Programmers Reference Manual online for free. It’s possible to download the document as PDF or print. UserManuals.tech offer 9 Vidicode manuals and user’s guides for free. Share the user manual or guide on Facebook, Twitter or Google+.
ARGUS Programmable Modem BASIC Programmers Reference Manual © 1990 - 1997 Vidicode Datacommunicatie BV 238 TRACE trace program execution TRACE provides a debugging aid which monitors program execution by printing the number of each line as it is executed. Line numbers are printed in square brackets to the port requested, or the default output port as defined by OPORT. Events and errors are printed as text between the line numbers. For example: 10 TRACE ON 20 READ x 30 FOR i=1 TO x 40 PRINT i 50 NEXT 60 DATA 3 Output will be: [20] [60] [30] [40] [50] [30] [40] [50] [30] [40] [50] Examples: TRACE#7 TRACE OFF Syntax: TRACE ( #[port] , ) (...) ([ON | OFF])
ARGUS Programmable Modem BASIC Programmers Reference Manual © 1990 - 1997 Vidicode Datacommunicatie BV 239 TRIM$ remove spaces TRIM$ is used to remove all spaces from a string. Examples: PRINT TRIM$ Test Adjusted$ = TRIM$ Input$ Syntax: [string-var] = TRIM$ [string] See also: LTRIM$, RTRIM$
ARGUS Programmable Modem BASIC Programmers Reference Manual © 1990 - 1997 Vidicode Datacommunicatie BV 240 UCASE convert ASCII to uppercase UCASE is used to calculate the upper case ASCII value of a character. Examples: PRINT UCASE 97 B=UCASE98 Syntax: [num-var] = UCASE [num] See also: LCASE$, LCASE, UCASE$
ARGUS Programmable Modem BASIC Programmers Reference Manual © 1990 - 1997 Vidicode Datacommunicatie BV 241 UCASE$ convert string to uppercase UCASE$ is used to convert all characters in a string to upper case. Characters that are already in upper case remain unchanged. This command (or LCASE$) is frequently needed to standardize keyboard input. Examples: PRINT UCASE$ QwErTy result$ = UCASE$ input$ Syntax: [string-var] = UCASE$ [string] See also: LCASE, LCASE, UCASE$
ARGUS Programmable Modem BASIC Programmers Reference Manual © 1990 - 1997 Vidicode Datacommunicatie BV 242 VAL convert string to number VAL is used to convert a string expression representing a numeric value into the actual value it represents. The string may comprise any expression resulting in a numeric value, providing that this does not exceed 32767 - the largest integer value that may be used on the modem. In the following example the integer variable Code is set to 345: Code=VAL(345) Examples: F=VAL(W1$+W2) Nr(i)=VAL(Code$(i)) PRINT VAL Tel$ Syntax: [num-var] = VAL [string] See also: VAL$
ARGUS Programmable Modem BASIC Programmers Reference Manual © 1990 - 1997 Vidicode Datacommunicatie BV 243 VAL$ convert number to string VAL$is used to convert a numeric value or expression into its string form. This is the reverse of the VAL function described earlier. In the following example the string variable Code$ is set to 276: code$=VAL$(300-24) The tilde symbol ~ may be used to convert numbers to hexadecimal format before being converted into strings. Examples: Title$=Number +VAL$(Codenum) PRINT VAL$~(D1+D2) Syntax: [string-var] = VAL$ (~) [integer] See also: VAL
ARGUS Programmable Modem BASIC Programmers Reference Manual © 1990 - 1997 Vidicode Datacommunicatie BV 244 VOICE set modem to receive voice The VOICE command puts the modem-chip in voice-mode and prepares it for playback or recording. If the modem-chip was in sleep-mode (low power), it is first waken up (see RESET MODEM 2). After VOICE, the commands PLAY, RECORD or SOUND MODEM can be used. Controlling the microphone, Automatic Gain Control (AGC) and other features is done with the PEEK and POKE commands. The related addresses and their actions are listed below (Argus Programmable Modem and T.C.Lite): POKE &49B,2 : POKE &311,5 : POKE &311,&6A : Microphone local on ( when on-hook). POKE &49B,2 : POKE &381,5 : POKE &381,&6A POKE &49B,0 : POKE &311,5 : POKE &311,&68 : Microphone local off. POKE &49B,0 : POKE &381,5 : POKE &381,&68 POKE &49C,&C0 : POKE &180,&C0 : Microphone to line on (when off-hook). POKE &49C,&40 : POKE &100,&40 POKE &49C,0 : POKE &180,0 : Microphone to line off. POKE &49C,0 : POKE &100,0 1.POKE &49B,2 : POKE &311,5 : POKE &311,&6A 2.POKE &FE,PEEK&FE OR &40 3.POKE &104,PEEK&104 OR &80: Automatic Gain Control on. This is only available when recording directly from the line (microphone must be off). 1.POKE &49B,2 : POKE &381,5 : POKE &381,&6A 2.POKE &8,PEEK&8 OR &10 3.POKE &304,PEEK&304 OR &80 1.POKE &49B,0 : POKE &311,5 : POKE &311,&68 2.POKE &FE,PEEK&FE AND &BF 3.POKE &104,PEEK&104 AND &7F: Automatic Gain Control off. 1.POKE &49B,0 : POKE &381,5 : POKE &381,&68 2.POKE &8,PEEK&8 AND &EF 3.POKE &304,PEEK&304 AND &7F POKE &FE,PEEK&FE AND &FB : Speaker enabled. POKE &8, PEEK&8 AND &DF POKE &FE,PEEK&FE OR &04 : Speaker disabled. POKE &8, PEEK&8 OR &20 POKE &101,PEEK&101 AND &3F : Speaker & Headset mute. POKE &301,PEEK&301 AND &3F POKE &101,(PEEK&101 AND &3F) OR &C0 : Speaker & Headset Volume 1. POKE &301,(PEEK&301 AND &3F) OR &C0 POKE &101,(PEEK&101 AND &3F) OR &40 : Speaker & Headset Volume 2. POKE &301,(PEEK&301 AND &3F) OR &40 POKE &101,(PEEK&101 AND &3F) OR &80 : Speaker & Headset Volume 3. POKE &301,(PEEK&301 AND &3F) OR &80 POKE &FC,PEEK&FC OR &1 : Off-hook relay active (or use OLINE0 ON or HOOK OFF). POKE &0,PEEK&0 OR &40 POKE &FC,PEEK&FC AND &FE : Off-hook relay non-active (or use OLINE0 OFF or HOOK ON/HANGUP). POKE &0,PEEK&0 AND &BF POKE &0,PEEK&0 OR &40 : Shorten-line relay active. POKE &0,PEEK&0 AND &BF : Shorten-line relay non-active. POKE &49A,2 : POKE &310,5 : POKE &310,&6A : Earth-pulse relay active. POKE &49A,0 : POKE &310,5 : POKE &310,&68 : Earth-pulse relay non-active. POKE &49A,&80 : POKE &310,5 : POKE &310,&EA : High-impedance relay active. POKE &49A,0 : POKE &310,5 : POKE &310,&68 : High-impedance relay non-active. The last 3 relays are not available in a T.C.Lite. The shorten-line relay is used during pulse dialing and also when a hook- flash is generated. The earth-pulse relay is only used during the earth-pulse connect-through method. The high-impedance relay is used when the modem must ‘listen’ to the line, whitout taking it (modem must be on-hook).
ARGUS Programmable Modem BASIC Programmers Reference Manual © 1990 - 1997 Vidicode Datacommunicatie BV 245 Syntax: VOICE See also: PLAY, RECORD, RESET MODEM 2, SPEAKER, VOLUME
ARGUS Programmable Modem BASIC Programmers Reference Manual © 1990 - 1997 Vidicode Datacommunicatie BV 246 VOLUME set loudspeaker volume This command is used to set the volume level of the modems internal loudspeaker and the volume in the headset at the same time. The levels 1, 2 or 3 can be set only. The VOLUME command itself nevers has immediate effect. It must always be followed by SPEAKER ON. Controlling the volume of the headset directly must be done with a POKE command (see VOICE). Example: VOLUME 3 Syntax: VOLUME (=) [integer 1, 2, 3] See also: SPEAKER, VOICE
ARGUS Programmable Modem BASIC Programmers Reference Manual © 1990 - 1997 Vidicode Datacommunicatie BV 247 WAIT pause program execution WAIT is used to introduce a delay in program execution. A single parameter is used to specify the length of the delay in one hundredths of a second. For example: WAIT 120 will pause program execution for 1.2 seconds before execution resumes normally at the command following WAIT. Alternatively the delay may be specified in seconds or minutes. Then the delay given has to be followed by SEC or MIN. Note: A maximum delay of 32767 (% of a second, seconds, or minutes) may be specified. WAIT commands do not affect the operation of any ON function, or LINK. The second way to use WAIT is to wait for an AT or “A/”. Here, you should enter the command: WAIT AT SLASH and the program will stop and scan for an AT or A/ on the input port. If ECHO is set to ON the command will respond with AT or A/ after the proper baud rate is set. To determine whether an AT or an A/ was received, you can read the system variable MATCH. MATCH returns 1 if it was AT, and 0 if it was A/. Examples: WAIT 10 WAIT Pause SEC WAIT FOR 1 MIN WAIT2*I WAIT FOR AT SLASH#1 Syntax: WAIT (FOR) [integer] (SEC|MIN) WAIT (FOR) AT (SLASH) (#[port]) (#...)