Jump to content
IGNORED

Rock Runner now on github


Eric Lafortune

Recommended Posts

You can now find the source code of my game Rock Runner on github.

 

Rock Runner is a 4-way scrolling action/exploration/puzzle game written entirely in assembly. I wrote it in the 80s with the Mini Memory module, the line-by-line assembler, and a tape recorder. That means that I didn't have the resulting source code -- a lot of the original development consisted of editing hexadecimal opcodes. Now, decades later, RalphB's excellent xdt99 tools allowed me to disassemble the binaries and recover the source code. I've documented the code and refactored it to create a cartridge image. The game introduced the colorful half-bitmap display mode. The code is holding up pretty nicely. Feel free to explore it or just play the game; maybe create new objects, new creatures, and new worlds. Enjoy!

  • Like 16
  • Thanks 8
Link to comment
Share on other sites

1 hour ago, mizapf said:

When I am hit by a rock or a diamond, I just see a field of 3 by 3 diamonds, hear "try again" or similar from the speech synthesizer, and the time keeps counting down. Do I have to press the space bar to continue?

Yes. It gives you the opportunity to see how life in the world goes on. The speech is sarcastic at times, but I absolutely wanted to use the speech synthesizer that I had, with its limited vocabulary. You can press the space bar to move on. Depending on whether you still have lives, the game restarts in the same world or it returns to the title screen.

  • Like 2
Link to comment
Share on other sites

Wow awesome! And that is a technical accomplishment, building it in the line by line assembler.

 

I bought this back in the day from Asgard, and was just blown away by the bitmap graphics. I'd heard of a "half bitmap mode" but none of the few assembly books mentioned it. It wasn't until the TI Tech Pages that I got the technical rundown on it. (And even that's incomplete; apparently in half-bitmap you only have eight sprites due to the address masking mucking about with sprite usage.)

 

One thing I especially liked about the game was you could just choose to play any level you wanted, rather than force the player to play them through sequentially. A very good game design decision!

  • Thanks 1
Link to comment
Share on other sites

5 hours ago, Nick99 said:

I think I missed out of this game back in the day (have to take a look at the games I bought from Asgard), what I see on the screenshots it looks great.

Please, is there a FG99 .bin to download?

I've been using this .bin file on my FG99 without issue:

On 8/1/2016 at 4:10 AM, Asmusr said:
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Thanks Eric!!

 

 I am just beginning the enterprise of studying ASM on the TI (with a 40- years delay!), my dream would be to become a real developer for the machine and to create some nice game. The existence of this community, consisting of extremely competent and very generous people in making their knowledge available to everyone, gives me great confidence and encourages me to be successful!

 

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

36 minutes ago, Asmusr said:

Tried RockRunnerC.bin on my TI with FG99, it starts but the graphics don't show, just the time counter and score on top of the screen, rest is just black. The version Rhodes shared works.

Edited by Nick99
Link to comment
Share on other sites

2 hours ago, Nick99 said:

Tried that too, but no difference. 

The FinalGROM 99 documentation warns that file names are truncated on the flash file system. That may be why the GROM file is not recognized. Can you try renaming the files to something like romc.bin and romg.bin? The code on github now uses this naming convention.

  • Thanks 1
Link to comment
Share on other sites

Thanks for sharing the source code.  I learned a few things from it that I didn't previously know about xas99.py:

 

Quote

The TEXT directive also supports hex strings, e.g.,


pattern text >8040201008040201

binary literals introduced by :.


binval  equ :01011010

 

 

By the way, you could use the 'stri' directive to automatically prepend the length byte in the cartridge header:

Quote

The STRI directive is similar to TEXT, but prepends a length byte. In other words,


stri 'HELLO WORLD'

is equivalent to


text >0b, 'HELLO WORLD'

 

 

The quotes are taken from the XDT99 documentation.

  • Like 5
Link to comment
Share on other sites

On 2/11/2021 at 1:34 AM, Eric Lafortune said:

The FinalGROM 99 documentation warns that file names are truncated on the flash file system. That may be why the GROM file is not recognized. Can you try renaming the files to something like romc.bin and romg.bin? The code on github now uses this naming convention.

renamed to romc.bin and romg.bin, still the same result with a black screen text on top of the screen (the four hearts is visible) and I can hear the sound that is played while the graphics should appear.

My TI is a PAL maschine and I use SAMS memory, if that can be information that helps solve this mystery.

 

Still, the old version works great!

Thanks Eric!

Link to comment
Share on other sites

5 hours ago, Nick99 said:

renamed to romc.bin and romg.bin, still the same result with a black screen text on top of the screen (the four hearts is visible) and I can hear the sound that is played while the graphics should appear.

My TI is a PAL maschine and I use SAMS memory, if that can be information that helps solve this mystery.

 

Still, the old version works great!

Thanks Eric!

Hmm, it doesn't work on my FG either, with the same symptoms. And not with the version @Eric Lafortune posted either. They work fine under emulation.

  • Like 2
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...