home bbs files messages ]

Just a sample of the Echomail archive

Cooperative anarchy at its finest, still active today. Darkrealms is the Zone 1 Hub.

   CBM      Commodore Computer Conference      4,328 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 2,393 of 4,328   
   Janne Johansson to All   
   Something strange going on.   
   13 Apr 18 09:53:58   
   
   On 2018-04-11 02:33, Shaun Bebbington : All wrote:   
   > Hi,   
   >   
   > I found something odd today in the powerful CBM BASIC v2.0.   
   >   
   > Having worked with Sinclair BASIC quite a lot recently, I use GOTO X   
   > where X is a valid line number (i.e., LET X = 100). But I know that's   
   > not possible with Microsoft BASIC. Of course there is the ON X GO TO   
   > 100,200 ...   
   >   
   > So I thought "I know, I'll try and use a function, could CBM BASIC use   
   > this as a look up table". The following, I expected to go to the value   
   > in the function A() which returns 10, but...   
   >   
   > 0 DEF FN A(X) = 10   
   > 1 PRINT FN A(0)   
   > 2 GO TO FN A(0)   
   > 3 PRINT "END GRACEFULLY"   
   > 4 END   
   > 10 PRINT "STOP"   
   > 11 STOP   
   >   
   > Try it for yourself. What's going on here?   
      
   BTW, I got reminded of someone devising a way to make selfmodifying   
   BASIC on C64, by printing out the line you wanted to have, then moving   
   the cursor to that line on the screen, adding "RETURN" and R, U, N and   
   "RETURN" into the keyboard input buffer and telling the system the   
   buffer has 5 CHARS in it, then ending the program, whereupon the system   
   will enter that line you generated and then re-ran your program.   
      
   Of course you have to write it so it can restart nicely on the second   
   and upcoming runs, but with such a scheme, you could make a   
   10 GOTO    
   thing actually work, at the cost of losing more or less all variables   
   and state of course.   
      
   But it was a nice trick.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: SpaceSST BBS Usenet  Fidonet Gateway (255:255/999)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca