Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.sys.cbm    |    Discussion about Commodore micros    |    53,866 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 53,860 of 53,866    |
|    Tilmann Hentze to Grant Weasner    |
|    Re: list running prog c64 basic v2    |
|    10 Feb 26 08:49:32    |
   
   From: 0xcafe@directbox.com   
      
   Grant Weasner schrieb:   
   > If I had just put:   
   > 10 list   
   > 20 goto 10   
   > it wouldn't work because list executes something like a run-stop first.   
      
   This works silmilarily as your program for me: The programm lists itself and   
    then stops. I wonder why.   
   I tested this with vice and yapesdl.   
      
   I'll try to comment your program:   
      
   Lines 5 to 9 copies the BASIC keywords to k$() array.   
   5 print "initializing...": dim k$(255): rp=41111   
   6 for t=124 to 255: w$="": rem --- fill the cache ---   
   7 b=peek(rp): w$=w$+chr$(b and 127): rp=rp+1   
   8 if b<128 goto 7   
   9 k$(t)=w$+" ": if rp < 41581 then next t   
      
   The BASIC program starts at 2049, this is the addres of the first line;   
   clear the screen   
   10 ad = 2049: print chr$(147)   
      
   The next BASIC line number is at this address   
   20 nx = peek(ad) + 256 * peek(ad+1)   
      
   This is the end of the program   
   30 if nx = 0 then end   
      
   Get the BASIC program line number and print it   
   40 ln = peek(ad+2) + 256 * peek(ad+3)   
   50 print ln; " ";   
      
   Loop from line's start of text to end of line   
   60 for i = ad + 4 to nx - 2   
      
   Get a byte. If its value less than 128 then it is a character, print it   
   70 c = peek(i): if c < 128 then print chr$(c);: goto 100   
      
   It is a BASIC token, lookup in keywords table and print it.   
   80 print k$(c);   
      
   Loop end; print an empty line; next BASIC line address; restart loop   
   100 next i: print: ad = nx: goto 20   
      
   Best regards,   
   Tilmann.   
   --   
   Wo sich noch Bit und Byte gute Nacht sagen.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca