Jump to content
IGNORED

Line Too Long


Recommended Posts

21 minutes ago, Ksarul said:

That's an interesting workaround, Rich, but it totally fails to answer the original question: How did the guy who originally wrote this program get the line (exactly as written) into an Extended BASIC program in the first place? It is too long to enter it by any direct means we have been able to suss out so far--but if we can find the answer to the original question, we find another interesting and potentially useful trick that can be used elsewhere. This one is thorny. Who knows, maybe he did it using CALL LOAD to add the extra bit to the end of that line of the program and then continued typing in the rest of the program using the normal editor. . .

Do you have the original? 

Is it a sector hack? 

Is it a Memory hack?

Just showing the listing is not of much use to figure it out!

 

Link to comment
Share on other sites

On 5/7/2022 at 9:42 AM, senior_falcon said:

Here is an odd one. CONCERTO3 is an XB music program written by ??? (Corey, age 12, Framingham Mass.) and modified by Ollie Hebert. It consists mostly of DATA statements. I found that if you change any digit in line 310 (without changing the length) and try to enter it, you get a "Line Too Long" error message. Or you can delete a digit and enter the line. Then if you try to put that digit back in, you get the "Line Too Long" message.

The person who wrote this was an XB programmer, so presumably this was entered normally from the keyboard. So how was he able to enter this line?

CONCERTO3 is the full program, and CONBUG is just line 310.

 

CONCERTO3 16.38 kB · 10 downloads

CONBUG 384 B · 13 downloads

Not sure how the author did it, but I was able to edit line 310 in CONBUG and add an extra digit without issue.

 

I used Advanced Basic for the Geneve.

 

 

  • Like 1
Link to comment
Share on other sites

47 minutes ago, senior_falcon said:

That's a possibility. Are programs for Myarc Basic 2.12 compatible with regular XB?

Yes, unless they use an unrecognized command that Extended Basic does not support.  Same with Geneve Advanced Basic as well.  As long as the command is recognized, it should not be an issue. 

 

I was able to add an extra character to the line, save the file in Geneve Advanced Basic, then load the program in Extended Basic with the edit without issue.

 

Beery

  • Like 3
Link to comment
Share on other sites

I'll bring up an amateurish possibility, as I'm unfamiliar with XB. I expect to be corrected, but at least I'll learn something.

 

In every version of Commodore BASIC (of which I know), nearly every keyword can be abbreviated as two letters. It's not saved in memory that way, however, so when the program is subsequently LISTed, the full keyword appears. If this expansion happens to force the overall BASIC line beyond the usually allotted two screen lines, everything survives anyway -- unless it's modified, which truncates anything on the third line.

 

Does XB allow an abbreviation for DATA? Could this kind of thing be going on, generally?

 

Or is it literally a memory problem, meaning that the tokenism is what's exceeding the limit, regardless of how it's initially entered?

 

 

 

Edited by Chris+++
Link to comment
Share on other sites

19 hours ago, senior_falcon said:

Here is the troublesome line. I cannot get this to work any better with RXB than it does with normal XB. Any ideas?


310 DATA 784,587,1,880,3E4,1,740,3E4,1,740,3E4,1,740,880,1,1175,587,1,1175,440,1,3E4,740,1,3E4,784,1,1109,880

 

 

3 hours ago, RXB said:

In XB memory tokenized: 01 36 FF 49 9F 93 C8 03 37 38 34 B3 C8 03 35 33 37 B3 C8 01 31 B3 C8 and so on

 

No.  Starting at >F443 (with expansion memory present), that line is tokenized as 00 A0 93 C8 03 37 38 34 B3 C8 03 35 38 37 B3 C8 01 31 B3 C8 03 38 38 30 B3 C8 ... (see spoiler for full tokenized line)

 

Spoiler

F440:          00 A0 93 C8 03 37 38 34 B3 C8 03 35 38
F450: 37 B3 C8 01 31 B3 C8 03 38 38 30 B3 C8 03 33 45
F460: 34 B3 C8 01 31 B3 C8 03 37 34 30 B3 C8 03 33 45
F470: 34 B3 C8 01 31 B3 C8 03 37 34 30 B3 C8 03 33 45
F480: 34 B3 C8 01 31 B3 C8 03 37 34 30 B3 C8 03 38 38
F490: 30 B3 C8 01 31 B3 C8 04 31 31 37 35 B3 C8 03 35
F4A0: 38 37 B3 C8 01 31 B3 C8 04 31 31 37 35 B3 C8 03
F4B0: 34 34 30 B3 C8 01 31 B3 C8 03 33 45 34 B3 C8 03
F4C0: 37 34 30 B3 C8 01 31 B3 C8 03 33 45 34 B3 C8 03
F4D0: 37 38 34 B3 C8 01 31 B3 C8 04 31 31 30 39 B3 C8
F4E0: 03 38 38 30 00

 

 

The first 9 tokens are

  1. >00 (not sure of this token, but I think it marks the end of the previous line).
  2. >A0 token count for this line.
  3. >93 is the token for DATA.
  4. >C8 is the token announcing “unquoted string/numeric”.
  5. >03 is the character count.
  6. >37 is ASCII 7.
  7. >38 is ASCII 8.
  8. >34 is ASCII 4.
  9. >B3 is the token for ‘,’.

As you can see, there are exactly 160 (>A0) tokens in the stored line.

 

...lee

  • Like 1
Link to comment
Share on other sites

12 minutes ago, Chris+++ said:

Does XB allow an abbreviation for DATA? Could this kind of thing be going on, generally?

TI XB does not support the kind of abbreviations like the Atari XL or Commodore 64. The DATA statement however is converted to token >93, decimal 147, which can be entered using Ctrl-S

 

10 <Ctrl-S> 10,20

 

will be listed as

 

10 DATA 10,20 

 

But we have a limit of tokens to deal with, which us reached before the maximum line length is reached. The latter could be tricked with the control character.

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

1 minute ago, SteveB said:

TI XB does not support the kind of abbreviations like the Atari XL or Commodore 64. The DATA statement however is converted to token >93, decimal 147, which can be entered using Ctrl-S

 

10 <Ctrl-S> 10,20

 

will be listed as

 

10 DATA 10,20 

 

But we have a limit of tokens to deal with, which us reached before the maximum line length is reached. The latter could be tricked with the control character.

 

Ah, I see. Thanks!

 

Looks like we're going to have to get hold of Corey, then. :)

 

 

 

Edited by Chris+++
Link to comment
Share on other sites

42 minutes ago, SteveB said:

TI XB does not support the kind of abbreviations like the Atari XL or Commodore 64. The DATA statement however is converted to token >93, decimal 147, which can be entered using Ctrl-S

 

10 <Ctrl-S> 10,20

 

will be listed as

 

10 DATA 10,20 

 

But we have a limit of tokens to deal with, which us reached before the maximum line length is reached. The latter could be tricked with the control character.

Just tried this in JS99er. XB took it, TI BASIC complains BAD NAME.

I actually did not know you could do that at all! The only "abbreviation" i was aware of in XB was using ! for REM statements.

Edited by jrhodes
  • Like 1
Link to comment
Share on other sites

19 hours ago, RXB said:

LOL this line is never going to fit!

So it seems that RXB cannot handle line 310 any better than the other flavors of XB.

From the certainty you voiced in the 3 posts quoted below, I just naturally assumed that you had tested this and found that it worked.

   Post #14 "Well the issue is that the Crunch Buffer is 160 tokens long but the Edit Buffer is only 152 tokens in size.

   My solution was use CALL USER..."

   Post #19 "Yes that is shown in the 2011 DEMO Video at 7:20 into video shows it: "

   Post #21 "Again, no problem yes you can load your line using CALL USER!"

Since I couldn't get RXB to work for this, I assumed that I must be doing something wrong. But it turns out that it doesn't work with RXB and so it is clear that you hadn't bothered testing it at all.

Well, you know what happens when you assume...

  • Haha 1
Link to comment
Share on other sites

20 hours ago, Lee Stewart said:

 

 

No.  Starting at >F443 (with expansion memory present), that line is tokenized as 00 A0 93 C8 03 37 38 34 B3 C8 03 35 38 37 B3 C8 01 31 B3 C8 03 38 38 30 B3 C8 ... (see spoiler for full tokenized line)

 

  Reveal hidden contents


F440:          00 A0 93 C8 03 37 38 34 B3 C8 03 35 38
F450: 37 B3 C8 01 31 B3 C8 03 38 38 30 B3 C8 03 33 45
F460: 34 B3 C8 01 31 B3 C8 03 37 34 30 B3 C8 03 33 45
F470: 34 B3 C8 01 31 B3 C8 03 37 34 30 B3 C8 03 33 45
F480: 34 B3 C8 01 31 B3 C8 03 37 34 30 B3 C8 03 38 38
F490: 30 B3 C8 01 31 B3 C8 04 31 31 37 35 B3 C8 03 35
F4A0: 38 37 B3 C8 01 31 B3 C8 04 31 31 37 35 B3 C8 03
F4B0: 34 34 30 B3 C8 01 31 B3 C8 03 33 45 34 B3 C8 03
F4C0: 37 34 30 B3 C8 01 31 B3 C8 03 33 45 34 B3 C8 03
F4D0: 37 38 34 B3 C8 01 31 B3 C8 04 31 31 30 39 B3 C8
F4E0: 03 38 38 30 00

 

 

The first 9 tokens are

  1. >00 (not sure of this token, but I think it marks the end of the previous line).
  2. >A0 token count for this line.
  3. >93 is the token for DATA.
  4. >C8 is the token announcing “unquoted string/numeric”.
  5. >03 is the character count.
  6. >37 is ASCII 7.
  7. >38 is ASCII 8.
  8. >34 is ASCII 4.
  9. >B3 is the token for ‘,’.

As you can see, there are exactly 160 (>A0) tokens in the stored line.

 

...lee

I am right here, it takes 5 tokens for XB to represent 784 in memory. >C8 >03 >37 >38 >34 this was my point why this line is way to long, it is a matter of understanding XB.

Link to comment
Share on other sites

5 hours ago, senior_falcon said:

So it seems that RXB cannot handle line 310 any better than the other flavors of XB.

From the certainty you voiced in the 3 posts quoted below, I just naturally assumed that you had tested this and found that it worked.

   Post #14 "Well the issue is that the Crunch Buffer is 160 tokens long but the Edit Buffer is only 152 tokens in size.

   My solution was use CALL USER..."

   Post #19 "Yes that is shown in the 2011 DEMO Video at 7:20 into video shows it: "

   Post #21 "Again, no problem yes you can load your line using CALL USER!"

Since I couldn't get RXB to work for this, I assumed that I must be doing something wrong. But it turns out that it doesn't work with RXB and so it is clear that you hadn't bothered testing it at all.

Well, you know what happens when you assume...

Hmm does this line work in XB 2.9?

What is your point here to find out about how that line was made of just to needle me?

(It looks like the later.)

Link to comment
Share on other sites

Look I have no issue with being wrong and will be first to admit it, but in these forums, it has been my disbelief that others will refuse to ever say they get anything wrong ever.

I am human and admit it freely. What is with people that never admit being wrong, what is wrong with them?

 

RXB can do long lines and yet to see any other XB that can do one as long, that I am not wrong about.

At 7:20 I show this and your can download RXB and show it to yourself.

RXBDEMO1.mov - YouTube

 

 

Try this line in any other XB and see if it will load without using the REDO key to put in rest of line!

 

 1 PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT::PRINT

 

  • Sad 1
Link to comment
Share on other sites

Oh and to answer the original thread I remember a trick in Micropendium from Miller Graphics on how to cheat and make XB lines longer then normally allowed.

You edit the XB program to make it longer and move the line number and line number pointer to account for it.

 

Will see if I can find that trick or maybe someone knew about this already.

Link to comment
Share on other sites

2 hours ago, RXB said:

Will see if I can find that trick or maybe someone knew about this already.

Not saying a 12 year old kid used a trick, but my bet is he likely was using a system with Myarc Extended Basic 2 and a Myarc 512K card written in Assembly and not GPL that was coded a bit differently and allowed a longer line.


I say this as Geneve Advanced Basic was a port from Myarc Extended Basic 2 for the TI-99/4A also written in assembly and it allows editing the line without issue.

 

 

  • Like 2
Link to comment
Share on other sites

5 hours ago, RXB said:

Oh and to answer the original thread I remember a trick in Micropendium from Miller Graphics on how to cheat and make XB lines longer then normally allowed.

You edit the XB program to make it longer and move the line number and line number pointer to account for it.

 

Will see if I can find that trick or maybe someone knew about this already.

Something like this was what I suggested as a possibility earlier in the thread, Rich. I just totally forgot that the method had been published somewhere. On this issue, no one is trying to needle you either--we are all curious as to how the line was put into the original program. We want to figure out how it was done--that's really all there is to it. :)

  • Like 2
Link to comment
Share on other sites

The solution to extending a program line of code is easy.

 

1) type in the line until you run out of space and press<ENTER>

2) if you are using NUM, INT (i.e., 100,10) press <ENTER> to give you a blank line

3) Enter the line # and <FCTN-E>

That will bring up the line you just typed and you can go the the end of the line to enter another line of code or so.

Link to comment
Share on other sites

31 minutes ago, atrax27407 said:

The solution to extending a program line of code is easy.

 

1) type in the line until you run out of space and press<ENTER>

2) if you are using NUM, INT (i.e., 100,10) press <ENTER> to give you a blank line

3) Enter the line # and <FCTN-E>

That will bring up the line you just typed and you can go the the end of the line to enter another line of code or so.

That usually works--but the line here is exactly one character too long for that method, @atrax27407. That is why it has all of us baffled--how did he do that? I am beginning to think that the thought I had earlier was a step in the right direction, especially after @RXB came to the same idea from a different direction.

  • Like 1
Link to comment
Share on other sites

8 hours ago, RXB said:

Hmm does this line work in XB 2.9?

What is your point here to find out about how that line was made of just to needle me?

(It looks like the later.)

It does not work in standard XB or in XB 2.9. I could not get it to work in RXB either, but you sounded so sure of yourself that I thought that surely you had tested this and that I must be missing something. Then, after spending some time trying to understand how RXB was able to succeed where the others failed, you come out with the condescending "LOL this line is never going to fit!". If you had just said at the beginning that you could not be troubled to take 2 minutes to try this out, then I would have known to take your advice cum grano salis and saved some time.

  • Like 1
Link to comment
Share on other sites

Are there older versions of Extended BASIC that might have allowed an extra character such as version 100 or early 110?

 

One of the first XB dev tools I used was SXB (by Steve? Stephen) that required a dongle in the joystick port. The files loaded into XB, into lower 8k RAM if I recall correctly.  I still have the dongle though I no longer have the software disk.  I searched WHT but I don't think the SXB files are the same as what I remember.

  • Like 2
Link to comment
Share on other sites

2 hours ago, senior_falcon said:

It does not work in standard XB or in XB 2.9. I could not get it to work in RXB either, but you sounded so sure of yourself that I thought that surely you had tested this and that I must be missing something. Then, after spending some time trying to understand how RXB was able to succeed where the others failed, you come out with the condescending "LOL this line is never going to fit!". If you had just said at the beginning that you could not be troubled to take 2 minutes to try this out, then I would have known to take your advice cum grano salis and saved some time.

Can you do the Demo line I have showed you and the Youtube I provided in any other XB?

It is also a line that cannot be done in any other XB that I know of.

  • Sad 1
Link to comment
Share on other sites

16 minutes ago, InsaneMultitasker said:

Are there older versions of Extended BASIC that might have allowed an extra character such as version 100 or early 110?

 

One of the first XB dev tools I used was SXB (by Steve? Stephen) that required a dongle in the joystick port. The files loaded into XB, into lower 8k RAM if I recall correctly.  I still have the dongle though I no longer have the software disk.  I searched WHT but I don't think the SXB files are the same as what I remember.

Yes and I disassembled the GPL of SXB and it was pretty much GKXB with some additions of XB Plot added.

I also have disassembled XB3 too both the GPL and ROMs.

And no neither can do anything more then normal XB or XB 2.8 or RXB in edit mode.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...