; ; basTalk.sh ; ; Interface to BASIC's weird routines ; ; © 1994-1998 Straylight ; ;----- Licensing note ------------------------------------------------------- ; ; This file is part of Straylight's BASIC Assembler Supplement. ; ; BAS is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 2, or (at your option) ; any later version. ; ; BAS is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with BAS. If not, write to the Free Software Foundation, ; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ;----- Overview ------------------------------------------------------------- ; ; Functions provided: ; ; bTalk_lvblnk ; bTalk_create ; bTalk_store ; bTalk_load ; bTalk_eval ; bTalk_match [ :LNOT::DEF:basTalk__dfn GBLL basTalk__dfn ; --- bTalk_lvblnk --- ; ; On entry: R0 == pointer to variable name to find (not tokenised) ; ; On exit: R0 == address of lvalue ; R1 == type of lvalue ; ; Use: Tries to locate the given BASIC variable. IMPORT bTalk_lvblnk ; --- bTalk_create --- ; ; On entry: R0 == pointer to name of variable ; ; On exit: R0 == address of variable lvalue ; R1 == type of variable created ; ; Use: Creates a variable, if it doesn't already exist. Otherwise ; a pointer to the existing variable is returned. IMPORT bTalk_create ; --- bTalk_store --- ; ; On entry: R0 == lvalue in which to store ; R1 == type of lvalue ; R2 == (integer) value to store ; ; On exit: -- ; ; Use: Stores an integer value in a BASIC variable. The value is ; converted to floating point if required (without loss of ; precision). IMPORT bTalk_store ; --- bTalk_load --- ; ; On entry: R0 == address of lvalue ; R1 == type of lvalue ; ; On exit: R2 == integer value of lvalue ; ; Use: Loads an integer variable from an lvalue. IMPORT bTalk_load ; --- bTalk_eval --- ; ; On entry: R1 == pointer to a control-terminated string ; ; On exit: R0 == value of expression ; ; Use: Evaluates a BASIC expression. IMPORT bTalk_eval ; --- bTalk_match --- ; ; On entry: R1 == ctrl terminated string ; R2 == destination pointer ; ; On exit: -- ; ; Use: Tokenises the given sting, and puts the result in the ; destination buffer given. IMPORT bTalk_match ] ;----- That's all, folks ---------------------------------------------------- END