Jump to content
Sign in to follow this  
Vorticon

ELIZA

Recommended Posts

Hi.

I got a question from Brett about not being able to run Eliza from tape in XB with 32K. I don't see why he shouldn't be able to do it so I thought I'd pick your brains here :) Here's the original message:

 

My name's Brett and I'm a TI user in Memphis. I've been downloading games from your site, converting them to wav files, and playing them out to my TI. And I recently found a PEB at an estate sale, and have been trying out some 32k XB games. Everything's been working great so far!

 

I've hit a snag with "Eliza" (eliza.bin, not TI Psychiatrist). Your site says I shouldn't need to use a disk, just a cassette, and the game runs perfectly in Classic99. On my TI, though, the game loads, the data looks right, and it runs - but I get an error code after I type my first answer.

 

This might be something particular to the program that I need to figure out, but I was wondering if there was some common reason a program would work in Classic99, but fail on the hardware. Or does this program actually need to run from a disk?

 

(The error code, for what it's worth, is "SYNTAX ERROR IN 1780 IN VARI CALLED FROM 340") 

 

 

 

Eliza

Share this post


Link to post
Share on other sites
Posted (edited)

CALL INIT seems to fail; this would normally mean that there is no memory expansion. At least that error message occurs when there is no 32K memory expansion.

Edited by mizapf

Share this post


Link to post
Share on other sites

Though it should not be a problem when the memory expansion is present and working, there is certainly no need to CALL INIT more than once in the program unless something is known to be overwriting the low-RAM utilities.

 

...lee

  • Like 1

Share this post


Link to post
Share on other sites

Could this be a fault in the memory expansion where some memory addresses have errors? If this is the case, if you list the offending lines there  should be a difference between Classic99 and the real hardware.

 

 

Share this post


Link to post
Share on other sites

So it sounds like the 32K RAM might be at fault. Is there a program out there that can do a comprehensive test on it by any chance?

  • Like 1

Share this post


Link to post
Share on other sites

It is also possible that only the lower 8K of the memory card is bad/unstable, as that's the memory area the CALL INIT is working with. A regular Extended BASIC program without Assembly support would run fine on the card, but anything trying to use that lower 8K would probably bomb out at some point.

Share this post


Link to post
Share on other sites

The 32K test program from PeteE would be one possibility there, as would the CorComp memory test (less comprehensive though) or the original TI Diagnostics cartridge (also somewhat less comprehensive). All three would expect to run from cartridge space though. . .and Diags needs GROM space.

 

If the original poster has a FinalGROM or a FlashROM99, that would let him load the programs to perform the testing.

Share this post


Link to post
Share on other sites
2 hours ago, Ksarul said:

It is also possible that only the lower 8K of the memory card is bad/unstable, as that's the memory area the CALL INIT is working with. A regular Extended BASIC program without Assembly support would run fine on the card, but anything trying to use that lower 8K would probably bomb out at some point.

Not necessarily. The program is kept in high memory, so any flaws there would cause problems as well. I will look at the program tonight to see if something is obvious.

 

Share this post


Link to post
Share on other sites

I see nothing wrong with the code and it works perfectly on Real Iron loaded from TIPI.  From what Vorticon wrote the guy has 32K attached and that error would only occur with the lack of 32K or a defective memory, like Mizapf and Ksarul mentioned.  Definitely have him run a memory diagnostic.  What puzzles me is he said, "everything has been great so far", so is it only this one program?  What happens when he types CALL INIT in XB without any program in memory?

  • Like 1

Share this post


Link to post
Share on other sites

As Omega et al have said, it seems that the TI is not seeing the memory expansion. You can check this easily enough:

QUIT, then select XB

SIZE

 

With no memory expansion this gives 11828 BYTES FREE

With memory expansion this gives 11840 BYTES OF STACK FREE, 24488 BYTES OF PROGRAM SPACE FREE

 

For those who want to see this error, type CALL INIT::CALL LOAD(-31868,0,0,0,0) This sets expansion memory so XB cannot see it.

Then load ELIZA and run it

 

What this part of the code does is to RESTORE the variable LN, which is not permitted in XB. Line 1800 is modified which you can see if you list the program after running it

1765 SUB VARI(LN)
1770 LN$=CHR$(INT(LN/256))&CHR$(LN-256*INT(LN/256))
1780 CALL INIT :: CALL PEEK(-31952,A,B):: L=A*256+B-65534 :: CALL PEEK(L,A,B):: L=A*256+B-65534
1790 CALL LOAD(L,ASC(SEG$(LN$,1,1))):: CALL LOAD(L+1,ASC(SEG$(LN$,2,1)))
1800 RESTORE 1530 :: SUBEND

For what it's worth, XB 2.8 G.E.M. can do this easily. In the ELIZA program:

340 LN=R(K)*10+540 :: CALL VARI(LN):: READ F$

Instead of CALL VARI(LN) you can CALL RESTORE(LN)

Of course, many features in G.E.M. require the 32K, so this doesn't help the original poster very much. 

 

Edited by senior_falcon

Share this post


Link to post
Share on other sites

Hi. I'm the person Vorticon was posting on behalf of. Thanks for all the ideas!

 

Like you all said, it's a problem with my 32k card. I just found the PEB at an estate sale, and had only tried one other program from tigameshelf - Galaxy Lander. It worked fine, so I assumed my card was working. Maybe this program doesn't actually need 32k to run?

 

Anyway, I loaded XB and tried SIZE - just 11828 KB. 

 

Now to troubleshoot the card... cleaning contacts, checking the firehose cable, any number of things, etc.....

Share this post


Link to post
Share on other sites

There is a decent chance it could be the contacts after sitting for so long.  If you end up needing or wanting to replace the 32K card be sure to check prices because a new 1 meg SAMS sometimes sells for less than an old used card on Ebait.

Share this post


Link to post
Share on other sites
1 hour ago, Omega-TI said:

There is a decent chance it could be the contacts after sitting for so long.  If you end up needing or wanting to replace the 32K card be sure to check prices because a new 1 meg SAMS sometimes sells for less than an old used card on Ebait.

I have to build some more of those soon, as I only have one or two assembled cards in stock right now (plenty of bare boards though).

Share this post


Link to post
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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...