Jump to content
IGNORED

Rock Runner crash issue


Imperious

Recommended Posts

Hi All,

 

For starters I know why the game won't run, which is because I do not have a genuine EA Cart, but have tried with the EA II and other utils like funnelweb

to no avail. The same behaviour is reproduced in Classic 99. Works fine with a genuine EA cart in Classic 99 of course.

 

It would be wonderful if someone talented could come up with either a fix for the non-genuine EA II cart (on a Jon Guidry 64k eprom board), or a load file

that works with Extended basic.

 

It's a bit of a shame that I can't try this on the real hardware. I'm unlikely to ever get a real EA cart, and I'm probably not the only one here that can't get this game to run.

I like Boulderdash type games, and this would be nice to play along with a brilliant 3.5k version for my Vic-20 and the c64 version.

 

Maybe I could try converting it to a bin file for use in a 64k board?

Link to comment
Share on other sites

You might just want to buy one of the XB 2.7 cartridges--it includes the Editor/Assembler. . .

 

On another note, Eric LaFortune, the original author of Boulder Dash for the TI is occasionally here on the forum.

 

Actually, now that I think about it--are you running the Rock Runner version or the one with the original Boulder Dash title? The former is for the E/A, while the latter is for the Mini Memory.

Link to comment
Share on other sites

A quick disassembly of the ROCK file shows that it does indeed use some routines from the EA cart as Rasmus suggested, and as indicated by the branch to >0060 at >F102. To make the program compatible with more environments, one would have to find out what was being used in the EA cart and duplicate it in assembly code. It would probably have been a better approach to just do the required tasks in the assembly code, instead of jumping into the EA cart to do them.

 

Gazoo

 

gallery_29515_833_15065.jpg

Link to comment
Share on other sites

A quick disassembly of the ROCK file shows that it does indeed use some routines from the EA cart as Rasmus suggested, and as indicated by the branch to >0060 at >F102. To make the program compatible with more environments, one would have to find out what was being used in the EA cart and duplicate it in assembly code. It would probably have been a better approach to just do the required tasks in the assembly code, instead of jumping into the EA cart to do them.

 

Gazoo

 

gallery_29515_833_15065.jpg

Well the GPL Code for that area per my using the old EA cart as a template for REA is:

 

G6883  DCEQ  >A55A,@>2000 * Check to see if Lower 8K has loaded support
       BR    G6916        * Show error if not set
       CALL  USSCRN       * Clear user screen and return to EA Cart menu
G688E  DCLR  @CODE        * Clear error code 
       XML   >21          * Execute program in Lower 8K
       BS    G68E3        * Returned ERROR STATUS?
       CLOG  >20,@FLAG2   * Flag for section of EA cart used
       BS    G68A3        * Error or normal return
       INCT  @SUBSTK      * Restore SUBSTACK list count
       DST   G688E,*SUBSTK * New address onto SUBSTACK
       INCT  @SUBSTK      * Add new value to count
       RTN                * Return to GPL Caller program
G68A3  B     G68A8        * Error Reports...

later...
G68A8  CALL  EASCRN       * Reset EA Screen
       CALL  WENTER       * Show errors or return
       BR    GE029        * Restart EA Cart
GE8B0  CALL  EASCRN       * Reset EA Screen
GE8B3  CALL  G68FC        * Reset Graphics mode
       CHE   >08,@CODE    * Must be some type of error
       BR    CHKERR       * Check for any errors
       SUB   >08,@CODE    * Adjust for error check
       CH    >05,@CODE    * Other types of errors 
       BS    G68D4        * Odd ball error
       CALL  CLSALL       * Close all PABs
       CASE  @CODE        * Errors and branch tables
       BR    G690F
       BR    G6908
       BR    G6928
       BR    G692F
       BR    G6936
       BR    G693D
GE8D4  CLOG  >20,@FLAG    * Check for where to return in EA Cart 
       BR    G6767        * Restore EA Assembler menu and PABS start over. (Press enter)
       CLOG  >01,@FLAG2   * Check flag for where to return in EA Cart
       BR    LANDR        * Return to Load & Run in EA Cart
       CALL  CLSPAB       * Close all PABs
       BR    EDITOR       * Return to Editor in EA cart

later...
GE8E3  CALL  G68FC        * Reset Graphics mode 
       CALL  EASCRN       * Restore EA Screen
       CEQ   >0F,@CODE    * Check for Load errors?
       BR    G68F5        * Show error code
       CALL  ERRMSG       * Show error
       DATA  ERRPNF       * ERROR PROGRAM NOT FOUND
       BR    G6949        * Figure out file error for Assembler or Editor
GE8F5  CALL  ERRMSG       * Show error
       DATA  ERRC         * ERROR CODE report
       BR    GE029        * Retart EA Cart
GE8FC  MOVE  1,G@G6271,#1 * Restore VDP Register 1
GE907  RTN

later....
G6916  CALL  ERRMSG       * Show Error message in next data statement
       DATA  ERRPNF       * Error Program Not Found

Hope this helps took a hour to type out for you.

Link to comment
Share on other sites

You fella's are absolute geniuses

 

Ain't it great, this place has the 'creme de la creme' of the all the TI-Guru's on the planet, in essence all the "TI-Gods" in one place. Sometimes I have to put on my sunglasses not to be blinded by their brilliance. (Did I lay it on too thick?) ;)

 

Seriously now, I'm constantly amazed at what the guys here have accomplished.

Just look at what has happened in 2014 alone! We've gotten new games, new carts, new hardware and excitement is at levels I've not seen in quite awhile.

 

Is 2014 the year of the TI?

994ablack.jpg

Or will 2015 be even better?

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

The E/A#5 version of Rock Runner is making 3 calls to a GPL routine in the E/A GROM at >6892. The first call seems to be mirroring some character patterns while the 2nd and 3rd calls are loading two character sets. It seems a bit strange to me that the E/A GROM contains this kind of routines. I asked Eric Lafortune if he remembers what the calls are doing, but he doesn't remember putting them in. Could they have been added be some kind of E/A#5 file creator?

 

In the attached version I have replaced the GPL calls with calls to my own assembly routine at >3600 that mimics the behavior of the GROM calls. This version works with E/A II (which doesn't contain the GROM) and also with the included XB loader. It doesn't work with TI Workshop, but I assume that's because that loader cannot handle all E/A#5 files.

 

ROCKRUNNER.dsk

Link to comment
Share on other sites

The E/A#5 version of Rock Runner is making 3 calls to a GPL routine in the E/A GROM at >6892. The first call seems to be mirroring some character patterns while the 2nd and 3rd calls are loading two character sets. It seems a bit strange to me that the E/A GROM contains this kind of routines. I asked Eric Lafortune if he remembers what the calls are doing, but he doesn't remember putting them in. Could they have been added be some kind of E/A#5 file creator?

 

In the attached version I have replaced the GPL calls with calls to my own assembly routine at >3600 that mimics the behavior of the GROM calls. This version works with E/A II (which doesn't contain the GROM) and also with the included XB loader. It doesn't work with TI Workshop, but I assume that's because that loader cannot handle all E/A#5 files.

 

 

FWIW, >6892 is right in the middle of the E/A “Run” routine:

        *---------------------------------------------------------
        *PA
        *                                   run
        G6838 ALL   >20                     ===
              FMT
              COL   >02
              ROW   >02
              HTEX  '* RUN *'
              FEND
        G6848 ST    >7E,@>8373              sbr stack
              FMT
              ROW   >08
              COL   >02
              HTEX  'PROGRAM NAME?'
              FEND
              DST   >0142,@>8320
              OR    >04,@>8348
              CALL  G@G640A                 input line of text
              DCZ   @>8350
              BS    G@G6883                 none = same
              DST   @>834E,@>8320
              DCH   >0006,@>8350
              BS    G@G6944                 name too long
              ST    >20,@>834A              copy name in mem
              MOVE  >0005,@>834A,@>834B
              MOVE  @>8350,V*>8320,@>834A
        G6883 DCEQ  >A55A,@>2000
              BR    G@G6916
              CALL  G@G6539                 vdp for programs
        G688E DCLR  @>8322                  assem err flag
              XML   >21                     execute program
              BS    G@G68E3                 err
>6892 >>>>>>  CLOG  >20,@>8349     
              BS    G@G68A3
              INCT  @>8373                  gpllnk
              DST   G688E,*>8373            return to prog
              INCT  @>8373                  gpl address
              RTN
        G68A3 CLOG  >08,@>8348
              BR    G@G6DDE                 to subs
        G68A8 CALL  G@G6525                 vdp setup
              CALL  G@G6A27                 wait for enter
              BR    G@G6029                 to start
        *---------------------------------------------------------

...lee

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...