Eric Lafortune Posted February 8, 2021 Share Posted February 8, 2021 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! 16 8 Quote Link to comment Share on other sites More sharing options...
mantadoc Posted February 8, 2021 Share Posted February 8, 2021 I love this game 1 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted February 9, 2021 Share Posted February 9, 2021 Thank you Eric! You have made my day once more! 1 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted February 9, 2021 Share Posted February 9, 2021 Thank you so much for creating and releasing the source code of Rock Runner! The quality of the game is amazing and having developed all that with just the line-by-line assembler is incredible. 1 Quote Link to comment Share on other sites More sharing options...
TheMole Posted February 9, 2021 Share Posted February 9, 2021 Wow, this was one of those days back in the day that convinced me the TI was a capable competitor to its more commercially successful brethren here in Europe in terms of games. Absolutely awesome to see the code released! 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted February 9, 2021 Share Posted February 9, 2021 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? Quote Link to comment Share on other sites More sharing options...
+Vorticon Posted February 9, 2021 Share Posted February 9, 2021 Mini Memory, LBLA and a tape recorder??? Just wow... We are so spoiled today with all the modern tools we have available. 3 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted February 9, 2021 Share Posted February 9, 2021 27 minutes ago, Vorticon said: Mini Memory, LBLA and a tape recorder??? Just wow... We are so spoiled today with all the modern tools we have available. For a short moment, I saw a half-naked Tom Hanks shouting "I HAVE MADE FIRE!" 3 Quote Link to comment Share on other sites More sharing options...
Eric Lafortune Posted February 9, 2021 Author Share Posted February 9, 2021 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. 2 Quote Link to comment Share on other sites More sharing options...
+adamantyr Posted February 9, 2021 Share Posted February 9, 2021 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! 1 Quote Link to comment Share on other sites More sharing options...
Nick99 Posted February 9, 2021 Share Posted February 9, 2021 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? 1 1 Quote Link to comment Share on other sites More sharing options...
Airshack Posted February 9, 2021 Share Posted February 9, 2021 Quote "With all-new documentation, the code is holding up pretty nicely. It can be a fun example of hand-written assembly code for the TI-99/4A." Yes. Thank you! Much to learn while examining such well written AND clearly documented code. 1 Quote Link to comment Share on other sites More sharing options...
jrhodes Posted February 10, 2021 Share Posted February 10, 2021 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: Try this . RockRunner8.bin 32 kB · 139 downloads 1 1 Quote Link to comment Share on other sites More sharing options...
Count9929A Posted February 10, 2021 Share Posted February 10, 2021 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! 6 1 Quote Link to comment Share on other sites More sharing options...
fabrice montupet Posted February 10, 2021 Share Posted February 10, 2021 Excellent! I'm impressed by what you made in years 80 with just a Minimem cartridge, a tape recorder and a documentation that was not as abundant as now. 2 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted February 10, 2021 Share Posted February 10, 2021 20 hours ago, jrhodes said: I've been using this .bin file on my FG99 without issue: Better to use the new version built from the source code. RockRunner.rpk RockRunnerC.bin RockRunnerG.bin 3 3 Quote Link to comment Share on other sites More sharing options...
Nick99 Posted February 10, 2021 Share Posted February 10, 2021 (edited) 36 minutes ago, Asmusr said: Better to use the new version built from the source code. RockRunner.rpk 7.7 kB · 2 downloads RockRunnerC.bin 8 kB · 2 downloads RockRunnerG.bin 16 kB · 2 downloads 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 February 10, 2021 by Nick99 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted February 10, 2021 Share Posted February 10, 2021 9 minutes ago, Nick99 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. You need both RockRunnerC.bin and RockRunnerG.bin. 1 Quote Link to comment Share on other sites More sharing options...
Nick99 Posted February 10, 2021 Share Posted February 10, 2021 18 minutes ago, Asmusr said: You need both RockRunnerC.bin and RockRunnerG.bin. Tried that too, but no difference. Quote Link to comment Share on other sites More sharing options...
Eric Lafortune Posted February 11, 2021 Author Share Posted February 11, 2021 I've now added the binaries as releases on github: * The cartridge image RockRunner.rpk, for Mame (the ROM files inside this zip now follow the naming convention of FinalGROM 99). * The floppy disk image rock.dsk, for the Editor/Assembler cartridge, option 5. 1 2 Quote Link to comment Share on other sites More sharing options...
Eric Lafortune Posted February 11, 2021 Author Share Posted February 11, 2021 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. 1 Quote Link to comment Share on other sites More sharing options...
PeteE Posted February 11, 2021 Share Posted February 11, 2021 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. 5 Quote Link to comment Share on other sites More sharing options...
Nick99 Posted February 12, 2021 Share Posted February 12, 2021 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! Quote Link to comment Share on other sites More sharing options...
Asmusr Posted February 12, 2021 Share Posted February 12, 2021 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. 2 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted February 13, 2021 Share Posted February 13, 2021 (edited) The same thing happens if you try to play it without 32K RAM, but I do have 32K. Is it working on the FinalGROM for anyone else? rockc.bin rockg.bin Edited February 13, 2021 by Asmusr Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.