| Posted By
Luca on 2017-01-31 04:19:51
| [BASIC] Maximum characters per line
Few days ago, Davide Fichera (Naufr4g0) has twitted a C64 screenshot displaying his quite nice BASIC Tenliners 2017 attempt to the classic GORILLA.BAS game. Of course, I haven't been able to hold me from trying it on Plus/4 too. Ok, I typed it in and it perfectly worked, but I've been forced to split the very long line 7 in two lines, 'coz it was 130 characters long. 130! Even with all the abbreviations you can use, it's absolutely impossible to achieve a 130 characters long BASIC line on a real C64, due to the interpreter's limitations!
Davide has explained it this way:"If you use a cross-development IDE you can write up to about 254 bytes per line. (a command takes up only 1 byte)". Of course, this forces both C64 (80 chars per line) and Plus/4 (88 chars per line) limitations. But hey, once the line is in, the machine runs it flawlessly, so the real limit seems to be just the code designated to insert the single lines. Am I right on all this, or there's something I'm missing here?
EDIT: after some give&take on Twitter, Davide got success in confusing me with this double twit: "emulators and the Real hardware make no difference. Let's try a windows IDE for cross develop like CBMPrgStudio to bypass limit". Mh, so a limit on the real hardware does exist, in the very end...
|
|
Posted By
siz on 2017-01-31 05:43:59
| Re: [BASIC] Maximum characters per line
It's the limitation of the keyboard buffer, not BASIC itself. So if you enter a BASIC line in memory (as Davide wrote) you can run it. But you can't enter it from the standard BASIC editor input.
|
|
Posted By
Litwr on 2017-01-31 05:51:30
| Re: [BASIC] Maximum characters per line
I am using a plain text editor and then PETCAT utility from VICE emulator. It allows to avoid the problems.
|
|
Posted By
Luca on 2017-01-31 06:05:35
| Re: [BASIC] Maximum characters per line
Yes, of course I realized it in the end. The thing that puzzled me is: you' would never have been able to do that with the real hardware alone, am I right? By this point of view, "emulators" (includes crosscoding in general, generically using external editors) and real hardware make difference. Very fruitful case study indeed, now the competition categories make sense to me too :)
|
|
Posted By
Csabo on 2017-01-31 08:21:03
| Re: [BASIC] Maximum characters per line
"You would never have been table to do that..." By "that" you mean create a BASIC line that is longer than what the keyboard buffer allows? This can definitely be done on the real hardware as well. It's just a lot more work, since you must link the BASIC line pointers yourself, and edit some of the BASIC tokens, all in monitor.
|
|
Posted By
Luca on 2017-01-31 08:43:16
| Re: [BASIC] Maximum characters per line
Just trying to do that right now, only to see if that's possible, and it's exactly like you said: a lot more work.
|
|
Posted By
SVS on 2017-01-31 10:29:55
| Re: [BASIC] Maximum characters per line
Just to complete the info. CBM-prg-Studio, in +4 setting, does allow Basic lines more than 255 characters long. Me too I'm coding a source with these features. Austrospeed compiler has no problem with them because it read the lines from disk, byte by byte.
The point is: Despite this, is the interpreter able to parse a so long line? Actually there are some limitations in the Basic syntax, and more in the math formulae (parenthesis levels). This one is the real limit.
|
|
Posted By
Gaia on 2017-01-31 13:35:37
| Re: [BASIC] Maximum characters per line
There was a magazine article somewhere with some code that allowed bypassing the stupid input buffer character limit and have actually 256 byte long BASIC lines even in the old days.
|
|
Posted By
JamesC on 2017-01-31 14:11:03
| Re: [BASIC] Maximum characters per line
The BASIC interpreter in the Plus/4 (as well as the 64 and 128) can handle tokenized line lengths up to 255 bytes. The 256th byte is $00, the end-of-line marker.
On a 128, string together a bunch of ?: commands to reach 160 characters (the size of the 128's keyboard buffer). Save it to disk, move it to the Plus/4, run it. It WILL run, you can even LIST it. You simply can't edit the line, because it's longer than the keyboard buffer.
|
|
Posted By
Luca on 2017-02-02 02:24:25
| Re: [BASIC] Maximum characters per line
RĂ¼diger added Graphic Show into the archive, let's list the BASIC code into it: Ingo Sabel maximized the line buffer for sure
|
|
| |
Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon |