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,390 of 4,328    |
|    ArcadeAge to Shaun Bebbington    |
|    Re: Something strange going on.    |
|    11 Apr 18 11:55:06    |
      On Wednesday, April 11, 2018 at 12:33:17 PM UTC+2, Shaun Bebbington 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?       >       > Thanks in advance.       >       > Shaun.              I went the "hard" way and traced what happens using VICE's monitor's 'z'       command. I recommend that you do the same, consulting a commented BASIC ROM       listing if necessary.       But there's a much easier way to get the idea: Let your programs start at line       1 instead of 0.              Chris              Edit: The above should read "Let your programs start _with_ line number 1".       Here's a short version of the "hard" way:       - Start x64 from a console window (otherwise breakpoints might not work)       - Enter a one-liner "0 goto 0"       - RUN the one-liner       - Enter VICE's monitor (Ctrl-h)       - Enter 'bk a971' in VICE's monitor       - Enter 'x' in VICE's monitor       - Not(ic)e that the C-flag is set but every other time the breakpoint is       reached              Now repeat the above procedure, but let your one-liner be "0 goto a" instead       this time. Note that the C-flag is set _all_ the time.              --- SoupGate-Win32 v1.05        * Origin: SpaceSST BBS Usenet |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca