Jump to content



0

"The Quest" by Jim Beck


5 replies to this topic

#1 OX. ONLINE  

OX.

    Chopper Commander

  • 136 posts

Posted Sun Sep 4, 2011 12:46 PM

Was wondering if anyone on here could kindly make this game emulator friendly as it currently crashes out or keeps returning to the naming character section when rolling a character using Classic99 & MESS, it's a protected saved extended basic program which I used CALL LOAD(-31931,0) to then get a listing but not being a TI99 coder have'nt really got a clue what is causing the crash other than I suspect it's to do with disk access (which Classic99 will have a problem with saving to disk, but not MESS).

Any ideas?

OX.

Attached Files


Edited by OX., Sun Sep 4, 2011 5:44 PM.


#2 Tursi OFFLINE  

Tursi

    Stargunner

  • 1,448 posts
  • Location:SJC

Posted Sun Sep 4, 2011 11:55 PM

What are you seeing for the crash?

I tried it here, and it worked fine. I saved my character on DSK2 and put the image in DSK1, that worked fine. It does take a LONG time to load, though, even on CPU Overdrive.

#3 OX. ONLINE  

OX.

    Chopper Commander

  • 136 posts

Posted Mon Sep 5, 2011 10:45 AM

Job done, thanks to InsaneMultitasker

Here's the fixed version if anyone's interested.

Attached Files



#4 OX. ONLINE  

OX.

    Chopper Commander

  • 136 posts

Posted Mon Sep 5, 2011 10:49 AM

View PostTursi, on Sun Sep 4, 2011 11:55 PM, said:

What are you seeing for the crash?

I tried it here, and it worked fine. I saved my character on DSK2 and put the image in DSK1, that worked fine. It does take a LONG time to load, though, even on CPU Overdrive.

For some weird reason It would'nt let you create a character in MESS, just kept returning to the enter character name screen.

#5 InsaneMultitasker OFFLINE  

InsaneMultitasker

    Chopper Commander

  • 210 posts

Posted Mon Sep 5, 2011 1:12 PM

The problem wasn't so much a "crash" as it was poor programming style (IMHO).

The author first asks the user for his/her character name, ie, "DSK1.USER". Once the user hits ENTER, the program asks the user to confirm what was entered and immediately jumps into a CALL KEY loop. Anything besides a Y/y keypress triggered a return to the character name input.

Changing the status condition test may have also cured the INPUT->CALL KEY misfire but instead, by only allowing "YyNn", the program now patiently awaits a proper keypress.

As for the slow load time I'm sure someone could effectively squash the static data into a more quickly loading format. I would probably convert the 1000 or so integers into string representation, save the resulting 5-6 records to an IF255 file, then at game time read the string records and convert each byte of each string back to integer representation. Pack/unpack would look something like this :

100 !pack integer array into string
110 FOR I=1 TO 254 :: A$=A$&CHR$(A(I)) :: NEXT I
200 !unpack variable length string into integer array
210 FOR I=1 TO LEN(A$) :: A(I)=ASC(SEG$(A$,i,1)) :: NEXT I

* Integers must be a value between 0-255.


#6 Tursi OFFLINE  

Tursi

    Stargunner

  • 1,448 posts
  • Location:SJC

Posted Tue Sep 6, 2011 3:42 AM

Thanks for the description, I was curious. :)

The string solution would definately be a lot faster. :)




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users