Home > Vidicode > Communications System > Vidicode Argus Basic Programmers Reference Manual

Vidicode Argus Basic Programmers Reference Manual

    Download as PDF Print this page Share this page

    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 
    178
      
    PTOP    program top 
    This is an important (read-only) system variable that contains the address where a BASIC program ends.  The length of the 
    program can be determined by subtracting the value of PBOT from PTOP: 
    PRINT PTOP-PBOT
    PTOP is useful when more than one program is stored in memory: 
    start1=PBOT
    PBOT=PTOP-1
    (NEW)
    LOAD ...
    PBOT=start1
    RENUM
    Examples: 
    End=PTOP
    PRINT ~PTOP
    Syntax: 
    [num-var]=PTOP
    See also: 
    PBOT
      
    						
    							ARGUS Programmable Modem 
    BASIC Programmers Reference Manual 
    © 1990 - 1997 Vidicode Datacommunicatie BV 
    179
      
    PULSE    pulse dialing 
    PULSE is used to select pulse dialing in dial commands, or to dial just one or more digits. 
    Examples: 
    DIAL PULSE 123456
    PULSE 8
    PULSE 2,6,4
    Syntax: 
    DIAL PULSE [string]
    PULSE [integer] (,[...])
    See also: 
    TONE
      
    						
    							ARGUS Programmable Modem 
    BASIC Programmers Reference Manual 
    © 1990 - 1997 Vidicode Datacommunicatie BV 
    180
      
    PUT    write byte value to port 
    PUT is used to write single byte values to the specified output port(s). 
     
    If the port number is omitted, the default output port as defined by OPORT will be assumed.  The character to be written is 
    given as a single byte which represents its ASCII value. 
     
    For example, the command: 
    PUT#1,65
    will write ASCII character 65 (the letter A), to port 1 and is therefore equivalent to: 
    PRINT#1,CHR$(65)
    Multiple-byte data can be sent with a single PUT command by separating each ASCII value with a comma: 
    PUT#2,12,9,9,10,10,65
    When the PUT function is used to send a Carriage Return, the modem does NOT automatically append a Linefeed. 
     
    PUT is often used in conjunction with GET as a simple means of passing characters received from one port as output to 
    another: 
    10 REPEAT
    20 PUT#2,GET#1
    30 UNTIL FALSE
    In this example, the byte value returned from GET#1 is used as the parameter for the PUT function, so that all characters 
    received from port 1 are written to port 2. 
    Examples: 
    PUT 12
    PUT#2,32,32,32,13,10
    PUT 30,13,13,255
    PUT#2,#4,12
    Syntax: 
    PUT ( #[port],)(#... ) [integer 0..255]
    See also: 
    PRINT, PUT$
      
    						
    							ARGUS Programmable Modem 
    BASIC Programmers Reference Manual 
    © 1990 - 1997 Vidicode Datacommunicatie BV 
    181
      
    PUT$    write character to port 
    PUT$ is used to write single ASCII characters to the specified output port(s). 
    If the port number is omitted, the default output port as defined by OPORT is assumed.  The character to be written is given 
    as a single character string. 
    For example: 
    PUT$#1,A
    will print the character A to port 1.  If the parameter string is longer than a single character, only the first character in the 
    string is used so that: 
    PUT#1,Name$
    is equivalent to: 
    PRINT#1,LEFT$(A$,1);
    PUT$ may be used in conjunction with KEY$ as a simple means of passing received characters from one port as output to 
    another: 
    10 REPEAT
    20 PUT$#1,KEY$#2
    30 PUT$#2,KEY$#1
    40 UNTIL FALSE
    Examples: 
    PUT$ KEY$#1
    PUT#1,#7,Id$
    Syntax: 
    PUT$ ( #[port], ) (#...) [string var]
    See also: 
    PRINT, PUT
      
    						
    							ARGUS Programmable Modem 
    BASIC Programmers Reference Manual 
    © 1990 - 1997 Vidicode Datacommunicatie BV 
    182
      
    READ    read data items 
    READ is used to read information stored in DATA commands into integer or string variables.  As many items of data are 
    read as is necessary to assign to the variables given in the READ command. 
     
    If there is insufficient data to satisfy the READ, an Out of Data error message will be given. 
    Examples: 
    READ Name$,Code
    READ Port(I),Rate(I),Wlen(I)
    READ X,X$(X),Y,Y$(Y)
    Syntax: 
    READ ( [num-var] | [string-var]),...
    See also: 
    DATA, RESTORE
      
    						
    							ARGUS Programmable Modem 
    BASIC Programmers Reference Manual 
    © 1990 - 1997 Vidicode Datacommunicatie BV 
    183
      
    RECEIVE    receive file or data 
    RECEIVE is one of the most powerful commands available with this modem, and provides a simple means of transferring 
    data into the modem under program control, with minimum effort. 
     
    There are 3 basic forms of the command: 
    RECEIVE [port],[address]   : receive data using Xmodem 
    RECEIVE [port],[filename],[type] : receive file 
    RECEIVE ALL: receive a backup of the disk 
     
    In addition, the second form can be used with one of a number of options which are dealt with individually in the following 
    sections. 
      
    						
    							ARGUS Programmable Modem 
    BASIC Programmers Reference Manual 
    © 1990 - 1997 Vidicode Datacommunicatie BV 
    184
      
    RECEIVE #[port], [address]    receive data 
    Here, RECEIVE is used to transfer data as opposed to a file, using the Xmodem file transfer protocol to prevent the 
    occurrence of errors. 
     
    The command is followed by a port number (1 - 3 only) and an address, which are both optional. 
     
    If the parameters are omitted, the default input port as defined by IPORT, and the start address defined by PBOT, will be 
    used. 
    Examples: 
    RECEIVE#2
    : receive data and store at PBOT 
    RECEIVE &3000 
    : receive data and store at address &3000. 
    RECEIVE Location: receive data and store at address defined by variable 
    Location. 
    RECEIVE#3,&4321: receive data via modem (port 3) and store at address 
    &4321 
    This form of the RECEIVE command cannot be used to download BASIC programs in ASCII format into the modem, 
    because during receive, data is simply copied into the modems memory, and would not undergo the tokenization process 
    required by the BASIC interpreter. 
     
    During a data RECEIVE, the ESCAPE and XOFF settings for the specified port will be temporarily disabled, and the 
    character length will be set to 8 bits.  The original settings will be restored after completion of file reception. 
     
    An error message (28) will be generated if, after 180 seconds, no characters have been received.  If this is likely to occur, 
    you should trap the error using the ON ERROR command.  The same error message will be given if more than nine 
    Xmodem transfer errors occur during reception of the same block. 
    Examples: 
    RECEIVE
    RECEIVE#2
    RECEIVE &4000
    RECEIVE#Port,Address
    Syntax: 
    RECEIVE ( #[port], ) ( [integer] )
    See also: 
    SEND#[port],[address] 
    						
    							ARGUS Programmable Modem 
    BASIC Programmers Reference Manual 
    © 1990 - 1997 Vidicode Datacommunicatie BV 
    185
      
    RECEIVE [filename], [type]    receive file 
    When followed by a string, the RECEIVE command is used to receive and store complete files in the filing system: 
    RECEIVE [filename]
    All types of files discussed under the DIR command may be received, and there are various options which are discussed 
    below. 
    RECEIVE [filename] (,T/N) 
    RECEIVE without a parameter, or with the ,T parameter, prepares the modem to receive a text file.  On executing the 
    command a file is opened and the message: 
     Please enter your message: 
    will be transmitted. 
     
    You may suppress this message by using ECHO OFF before RECEIVE, if necessary.  Any text now received by the 
    modem will be stored in the specified file (if the file already exists it will be overwritten).  Text storage is terminated and the 
    file closed when a single line containing NNNN or NNNNE is received.  At the same time the file directory will be updated 
    to include the date and time at which the file was received. 
     
    The sender may cancel the transfer at any time by entering CCCC on a line by itself, in which case none of the received 
    text will be stored.  The transfer will also be aborted if an ESCAPE is entered, or the RESET buttons is pressed. 
     
    All event handlers such as ON TIMEOUT will remain active during the transfer. 
     
    On completion of the transfer, the DIR command can be used to check whether the file has been successfully received, how 
    much memory it occupies, etc.  The message can be read back out of the modem by using the appropriate form of the 
    SEND command. 
     
    One further variations is used to receive text files from systems which do not support the [CR]NNNN[CR] convention: 
    RECEIVE [filename],N
    In both cases the prompt message is suppressed and the modem will wait for the first character to be received before 
    initiating a countdown timer.  Whenever a character is received it is stored in the file and the timer is reset.  The file is closed 
    when no characters have been received after a certain time (specified with RECEIVE TIMEOUT); or when either of the 
    [CR]CCCC[CR] or [CR]NNNE[CR] sequences have been received; or when ESCAPE has been entered. 
     
    On exit the system variable ERN can have the following values: 
    ERN = 0 OK
    : File stored 
    ERN = 6 Cancelled
    :  CCCC sequence detected 
    ERN = 22 Out of memory
    : Disk full 
     
    RECEIVE [filename],F 
    RECEIVE,F is used to capture all incoming data, including control codes, into a file of the specified name.  Received 
    characters are not echoed, and capture will terminate automatically when no data has been received after a timeout that is 
    specified with RECEIVE TIMEOUT.  Detecting ESCAPE is disabled during reception with the ,F option. 
     
    RECEIVE,F can also be used to copy or manipulate files within the modem by using the BUFFER (port 8).  The following 
    program demonstrates how this can be done: 
    10 CLEAR
    20 BUFFER &1000 
    						
    							ARGUS Programmable Modem 
    BASIC Programmers Reference Manual 
    © 1990 - 1997 Vidicode Datacommunicatie BV 
    186
      
    30 REPEAT
    40 INPUT Enter Source file : ; Src$
    50 MATCH Src$
    60 IF NOT MATCH PRINT No such file : GOTO 40
    70 INPUT Enter Destination file : ; Dest$
    80 CLEAR#8
    90 SEND#8, Src$, F
    100 RECEIVE#8, Dest$, F
    110 Print File copied OK
    120 UNTIL FALSE
    In this case, no timeout condition is applied and the RECEIVE will terminate automatically when the buffer is empty.  The 
    buffer size specified must be large enough to accommodate the entire file.  If the file size is greater than 16K (i.e. larger than 
    the maximum buffer size), copies must be made by using SEND [source],P (part) and RECEIVE [dest],A (append). 
     
    Of course, you will normally use the command COPY to copy files! 
    RECEIVE [filename](,T/F),A 
    This command allows you to append data to the end of an existing file.  The file must be the last file in a RAM-disk otherwise 
    ERN 93 (“Not last”) will be generated.  For a Hard-disk filing system it doesn’t matter which file on the disk is used.  When 
    the file does not exist, it is created first. 
     
    The input is determined by the ,T  or ,F options (text or binary).  When the disk becomes full, the system variable ERN is 
    set to 22 (“Out of memory”) and the RECEIVE is aborted. 
    RECEIVE [filename],X 
    RECEIVE,X  is used to transfer files using the Xmodem / Ymodem error correction protocol.  Any type of file may be 
    received from a compatible Xmodem / Ymodem system with complete safety, and although binary files may contain data 
    from other computers and cannot be used by the modem itself, they can be stored for access by other systems using the 
    SEND,X command. 
    The PROTOCOL command must be set first to select the right transfer protocol.  If Ymodem-Batch is used, the filename is 
    included in the transfer and can be a dummy filename in the RECEIVE,X command. 
     
    After receiving, the system variable ERN must be checked to see if the receive was successfull. For example: 
    PROTOCOL 7
    RECEIVE dummy,X
    IF ERN GOTO Err ELSE GOTO Ok
    On exit the system variable ERN can have the following values: 
    ERN = 0 OK
    : File stored 
    ERN = 7 Failed
    :  Timeout or too many errors 
    ERN = 22 Out of memory
    : Disk full 
    ERN = 23 Subscript
    :  File too big (>16 Mbyte) 
    ERN = 33 Aborted
    :  CTRL-X detected twice 
    ERN = 72 Bad name
    :  Filename not correct (Ymodem-Batch)  
    						
    							ARGUS Programmable Modem 
    BASIC Programmers Reference Manual 
    © 1990 - 1997 Vidicode Datacommunicatie BV 
    187
      
     
    If Ymodem-Batch is used, the system variable MATCH contains the number of files received. 
    RECEIVE [filename],C 
    The RECEIVE,C command is very useful in combination with the SEND,C command to create and restore file copies.  
    The used filename is not important (but must be filled in), because the received file contains all the original Argus filenames.  
    All other Argus-filing-system related information is also included in the copy for each file.  The Xmodem-CRC protocol must 
    be used and is set automatically with RECEIVE,C (PROTOCOL 1).  Example: 
    RECEIVE dummy,C
    On exit, the system variables ERN and MATCH can have the same values as with RECEIVE,X. 
    RECEIVE [filename],B 
    For every file stored in the modem, a 32-byte information block is created.  This block is provided for use by the programmer 
    in storing additional information about the file, and may contain items such as telephone numbers, user names, date & time, 
    etc. 
     
    The information block is editted by using POKE, to put the appropriate data into memory locations &2BE0 to &2BFF.  This 
    32-byte memory block is always saved together with the file after a successfull RECEIVE command (this is also true for 
    SAVE and RECORD).  Setting the memory block before the RECEIVE command is more efficient, because in that case 
    the RECEIVE,B command can be omitted.  RECEIVE,B is only used to incorporate the block into an existing file. 
     
    The block on memory locations &2BE0 to &2BF0 and the block in a file are never changed or used by the filing system itself.  
    So, the block is completely free for use by the programmer. 
     
    SEND ...,B is used to extract the information block from a file and store it back into memory at locations &2BE0 to 
    &2BFF.  The information can then be read using PEEK. 
     
    DIR,B can be used to send the information block to a port (a Carriage Return will be automatically appended to the end of 
    the block). 
     
    For example: 
    10 RECEIVE TESTMESSAGE, T
    20 POKE$ 240,INFORMATION+SPC$(21)
    30 RECEIVE TESTMESSAGE, B
    40 SEND TESTMESSAGE, B
    50 PRINT PEEK$ 240
    60 DIR TESTMESSAGE,B
    Line 10 is used to create the test message, which must be terminated with [CR]NNNN[CR] as usual. 
     
    Lines 20 and 30 are then used to fill the information block afterwards. 
     
    Line 40 extracts the information block from the file, and lines 50 and 60 illustrate the two methods of displaying the block. 
    RECEIVE ROM [filename], [type] 
    RECEIVE ROM is used to receive one file or a group of files to a RAM chip in socket 2 of an Argus Programmable Modem. 
    See ROMfor further details. 
    The type and options are used in the same manner as with the normal RECEIVE command.  
    						
    All Vidicode manuals Comments (0)