Jump to content

Recommended Posts

This has happened to me twice now in about 6 months.   Seems to only happen when I am really playing the game for a while.  Before this I could play the game for ...4...6? hours with no problems.  Now if I am approaching an hour or more...(drops back to XB)

 

Any ideas on a fix?  Appreciate any insights.  

 

 

20240504_134204.jpg

Link to comment
https://forums.atariage.com/topic/365994-legends-help/
Share on other sites

I am running version 1.1 of Legends.   Instead of a normal 32k I have a SAMS card that @Ksarul made several years ago and offered here.  I think it has a jumper on it for either 1mb or 4mb of RAM.  Should I run some sort of test on either my legends disk or XB or ram?

Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5461705
Share on other sites

26 minutes ago, budz2355 said:

I am running version 1.1 of Legends.   Instead of a normal 32k I have a SAMS card that @Ksarul made several years ago and offered here.  I think it has a jumper on it for either 1mb or 4mb of RAM.  Should I run some sort of test on either my legends disk or XB or ram?

I've not tried it myself, but you might try this after your error occurs.  https://github.com/jedimatt42/ti994a-memtest/releases

 

  • Thanks 1
Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5461715
Share on other sites

Posted (edited)
27 minutes ago, InsaneMultitasker said:

Have you looked at line 771?  For each line referenced by a GOTO or GOSUB or any means, is there a corresponding line?  That would be a good place to start.  

I don't have their disk image, but I looked at a version 1.1 that I have.  Line 771 exists in two files, ISLAND and LGDN/MON.  Both files are almost the same but have some differences.  But the lines in question are the same in each.

 

island
771 CALL AT(P3$,K3,P,TD) :: @C=@C-K3 :: IF @C<1 THEN GOSUB 7640 :: IF @N=0 THEN 1500 :: NEXT V :: GOTO 898
898 NEXT X
7640 DISPLAY AT(15,1):"    THE MONSTER IS DEAD" :: @I=@I+1 :: @N=@N-1 :: @C=@H :: CALL LINK("A",2) :: FOR N=1 TO 10 STEP 2 :: CALL LINK("A",0)       
1500 CALL LINK("A",0) :: CALL LINK("A",6) :: CALL W("  ALL THE MONSTERS ARE DEAD ooooooTHE PARTY GAINSooooooo",14)                                        
lgdn_mon
771 CALL AT(P3$,K3,P,TD) :: @C=@C-K3 :: IF @C<1 THEN GOSUB 7640 :: IF @N=0 THEN 1500 :: NEXT V :: GOTO 898
898 NEXT X
7640 DISPLAY AT(15,1):"    THE MONSTER IS DEAD" :: @I=@I+1 :: @N=@N-1 :: @C=@H :: CALL LINK("A",2) :: FOR N=1 TO 10 STEP 2 :: CALL LINK("A",0)
1500 CALL LINK("A",0) :: CALL LINK("A",6) :: CALL W("  ALL THE MONSTERS ARE DEAD ooooooTHE PARTY GAINSooooooo",14)

 

Since they ran the program fine for months and apparently for 6-8 hours at a time, and I ASS-U-ME they haven't changed anything to the system over that time frame, this makes my hardware spider-sense tingle. 

 

Edited by chris36
  • Thanks 1
Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5461724
Share on other sites

54 minutes ago, chris36 said:
771 CALL AT(P3$,K3,P,TD) :: @C=@C-K3 :: IF @C<1 THEN GOSUB 7640 :: IF @N=0 THEN 1500 :: NEXT V :: GOTO 898

I'm assuming this program disables prescan.  The use of NEXT V in this manner is not valid but without prescan, it will pass through and work.  Barring any other explanation, including a problem with the program or hardware, it might be wise to reconstruct this line. 

  • Thanks 1
Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5461750
Share on other sites

1 hour ago, InsaneMultitasker said:

I'm assuming this program disables prescan.  The use of NEXT V in this manner is not valid but without prescan, it will pass through and work.  Barring any other explanation, including a problem with the program or hardware, it might be wise to reconstruct this line. 

It pairs with the FOR statement on line 770.  Would that be valid then?
 

770 FOR V=1 TO Z :: K3=((W3+_3+J3)*RND)+_W :: CALL C(@A+@B,A3+_A-P,H) :: IF H=1 THEN 771 ELSE GOSUB 2550 :: GOTO 775
771 CALL AT(P3$,K3,P,TD) :: @C=@C-K3 :: IF @C<1 THEN GOSUB 7640 :: IF @N=0 THEN 1500 :: NEXT V :: GOTO 898

 

  • Like 1
  • Thanks 1
Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5461786
Share on other sites

38 minutes ago, chris36 said:

It pairs with the FOR statement on line 770.  Would that be valid then?
 

770 FOR V=1 TO Z :: K3=((W3+_3+J3)*RND)+_W :: CALL C(@A+@B,A3+_A-P,H) :: IF H=1 THEN 771 ELSE GOSUB 2550 :: GOTO 775
771 CALL AT(P3$,K3,P,TD) :: @C=@C-K3 :: IF @C<1 THEN GOSUB 7640 :: IF @N=0 THEN 1500 :: NEXT V :: GOTO 898

 

I didn't want to send anyone down a rabbit hole and in the process, failed to explain myself. Sorry about that.

 

Extended BASIC does not allow FOR..NEXT statements to be coupled with IF..THEN..ELSE statements.  The "IF @N=0 THEN 1500::NEXT V::GOTO 898" portion of line 771 would normally generate a syntax error.  It is possible that there is also a second NEXT V associated with this loop, which would also be considered 'illegal'.   

 

The reason this caught my eye is that I have encountered similar inconsistent errors/crashes in programs where prescan masked incorrect syntax. I don't know if this illegal usage is benign or if over time it causes a stack or memory issue; I have never tried to determine the effects, if any.  What I do know is that you can check for prescan sins by removing the statement that disables prescan, namely, any instance of "!@P-", then run the program and see if XB complains. 

 

Here are a few relevant excerpts from the 99er.net online XB manual (quite handy) via TI Extended Basic Manual with links.doc (99er.net)

 

image.thumb.png.726fa99c5354053131f4158d091f495d.png

 

image.thumb.png.758764550a877090636bf51d0f438541.png

  • Like 1
  • Thanks 2
Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5461808
Share on other sites

More, probably useless, trivia.  LOAD has comment that it was generated by SysTex V1.0 By Barry Boone.  From ninerpedia, "Systex (used to embed Assembler code into XB so that you could load an XB file which would then push the embedded assembler routines into Low memory expansion without having to use the horribly slow XB object code loader)".  So there's that.

  • Thanks 1
Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5461818
Share on other sites

Hi everyone!

 

I apologize for the delay in responding and really appreciate everyones help!  Yesterday I was able to replicate the error, but this time it was a different.  Still seems to only happen during combat.   I did some LIST of the lines I thought might be relevant, hoping these clues help?  I also looked at the memtest link, but the description on that github link says it's for fixing a conflict between corcomp and Myarc cards.  Should I still try to run that?

20240512_211156.jpg

20240512_211348.jpg

Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5465537
Share on other sites

That was a description of changes made to that particular release of the software.  The link I posted is directly to the last compiled release.  The file ending in bin is the one you want to run from Final Grom.  Here is the link to the "front page" of the memtest utility with full description. 

https://github.com/jedimatt42/ti994a-memtest

  • Thanks 1
Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5465885
Share on other sites

Is the disk image (that you are using) posted somewhere?

 

I downloaded LEGENDS2.DSK (not Legends1) and there are two files with similar lines.  Removing prescan reveals that in both LDN2/MON and ISLAND, lines 634, 708, 771, and 858 contain syntax errors.  After the IF statement, the "::NEXT V::GOTO 898" statements should be removed.   See first screenshot.

image.thumb.png.c7700eb187e9c147505653c8ca230a48.png

 

A quick test also shows that an ELSE in this case is implied, which isn't what I expected. 

image.thumb.png.b77540242439fe99f4264c05d4b24d41.png

If we replace "200" with a PRINT statement, the logic flow is different. I don't remember if this particular flow is called out as a bug in XB or is truly expected. For the two programs, this logic difference doesn't matter because in all four lines, the next line number contains the needed "NEXT V ::GOTO 898" statements.  I don't know that this will fix your gameplay but it can't (shouldn't) hurt anything. 

 

image.thumb.png.28970f63815fac8d0fcc554cfa91c0f3.png

 

 

 

  • Like 1
  • Thanks 1
Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5465936
Share on other sites

Sorry again for the delay.   Really appreciate all the help thus far!

 

I had to purchase an adapter so I could get memory test program to my SD card.  Looks like that result turned out OK?

 

Tim -- I have a strange request on the legends program...  Would it be possible for me to upload what I have somewhere directly from my DSK1?  Like to the keep or somewhere else and maybe you could check it out?  I have a TIPI that I could use to help transfer it, but I am not sure I can get it directly here to atariage.  Maybe there is another site like whtech ftp or something?  Or should I try to update the code myself? .... I am hesitant to update anything myself because I am amazing at breaking things 😅

20240519_193003.jpg

Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5469710
Share on other sites

I am good at breaking things, too. ;) 
 

If you are able to get to the TIPI files via your PC, you can drag and drop the two files into this topic or a PM.  
 

Updating the files yourself would require you to load each program using OLD, edit the four lines, and SAVE each file back to disk. 

  • Thanks 1
  • Haha 1
Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5469727
Share on other sites

Ahhhh sorry I forget all the awesome functionality of the TIPI ...

 

Do I need to convert these files at all?  Seems the TIPI can do that also! ....I think I used to use a program called Ti99Dir made by Fred Kaal.  I really need to 'modernize' myself with all these new TI toys.

 

Sorry these is probably way too many files, but I wasn't sure exact which ones were the files in question?  This is everything on the disk.  Really appreciate all your help so far and any future help!  If I need to convert or reupload or anything else I am happy to try :)

DOASAVE GENERATE ISLAND LEGI LEGSAVE LOAD LPDT M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M17 M18 M19 M20 M21 M22 PDATA S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 S14 S15 S16 S17 S30 SCT SD WR

  • Like 1
Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5469766
Share on other sites

On 5/19/2024 at 9:01 PM, InsaneMultitasker said:

The files that I saw were in my earlier post:  LDN2/MON and ISLAND

I don't see LDN2/MON listed above.  Maybe this is a different version.  I won't have time to look before Memorial Day weekend. 

 

You'll want to be careful with file transfers from PC to TI, as the original Legends and Legends II had file names with a forward slash in them. This isn't valid on an IBM file system, since it's used to denote paths. Most versions of Legends have changed the filename both on the disk and in the programs themselves to correct the problem.

Link to comment
https://forums.atariage.com/topic/365994-legends-help/#findComment-5473365
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...