Popular Post Tursi Posted December 25, 2023 Popular Post Share Posted December 25, 2023 (edited) With the permission of CollectorVision, I have ported my version of Mario Bros over to the TI. It seems to run fine, though be aware it may not be a perfect port! The only issue I know about is that you may occasionally see some glitchiness in the sprites when the load is high. My code used a really aggressive animation engine and sometimes the TI misses the end of frame and the updates happen on screen. It's worse in Classic99 than on real hardware, but shouldn't impact gameplay in either case. I rewrote the copy loops in assembly but there's lots more that could be optimized. It's a 64KB cart that requires the 32KB expansion to run (on the technical side it loads most of the code into RAM and then uses the cart to access graphics and sounds.) I figured since I had the linker system working for Super Space Acer that I'd come back and try this one again. I had to hack in a quick and dirty keyboard mode in case someone wants to play without joysticks. Since there were conflicts with the joystick I made an actual switch - press 'J' or 'K' to change between Keyboard or Joystick mode. You can only play 1 player on keyboard. Anyway, Christmas gift for you all! It's okay to put it up on Gamebase just like Mr Chin. Hope you enjoy! EDIT: Updated release is available here. Edited December 27, 2023 by OLD CS1 Updated per thread owner request. 36 24 Quote Link to comment Share on other sites More sharing options...
+hloberg Posted December 25, 2023 Share Posted December 25, 2023 and a Merry Christmas to you to Tursi. 3 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted December 25, 2023 Share Posted December 25, 2023 Ha! I seent you playing that the other night on Twitch. Very, cool. Yet another on the wish list of games which should have been ported to the TI-99/4A knocked out of the park. Gonna have to whip up a label and create a cartridge for next year's VCF. Thank you, man, and Merry Christmas! 3 Quote Link to comment Share on other sites More sharing options...
Tursi Posted December 25, 2023 Author Share Posted December 25, 2023 hehe, I saw your post when I checked the video after I was done, but I didn't open Twitch while I was working on it. Sorry for missing your post! Most of the challenge was bugs caused by changing variables from char to int or moving the pages around (the Coleco has 16k pages). Only one bug turned out to be compiler based, and I passed that into the thread then worked around it. That's actually not too bad, the compiler is so close now. 5 Quote Link to comment Share on other sites More sharing options...
TheMole Posted December 25, 2023 Share Posted December 25, 2023 Great conversion! 1 Quote Link to comment Share on other sites More sharing options...
Nick99 Posted December 25, 2023 Share Posted December 25, 2023 Thanks @Tursi, Merry Xmas! 1 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted December 25, 2023 Share Posted December 25, 2023 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted December 25, 2023 Share Posted December 25, 2023 Here is the RPK for MAME. Nice port, really! mario.rpk 4 2 Quote Link to comment Share on other sites More sharing options...
+hloberg Posted December 25, 2023 Share Posted December 25, 2023 34 minutes ago, mizapf said: Here is the RPK for MAME. Nice port, really! mario.rpk 30.74 kB · 0 downloads May the great 99 bless you for your endeavor. 2 Quote Link to comment Share on other sites More sharing options...
mrvan Posted December 25, 2023 Share Posted December 25, 2023 11 hours ago, Tursi said: With the permission of CollectorVision, I have ported my version of Mario Bros over to the TI. It seems to run fine, though be aware it may not be a perfect port! The only issue I know about is that you may occasionally see some glitchiness in the sprites when the load is high. My code used a really aggressive animation engine and sometimes the TI misses the end of frame and the updates happen on screen. It's worse in Classic99 than on real hardware, but shouldn't impact gameplay in either case. I rewrote the copy loops in assembly but there's lots more that could be optimized. It's a 64KB cart that requires the 32KB expansion to run (on the technical side it loads most of the code into RAM and then uses the cart to access graphics and sounds.) I figured since I had the linker system working for Super Space Acer that I'd come back and try this one again. I had to hack in a quick and dirty keyboard mode in case someone wants to play without joysticks. Since there were conflicts with the joystick I made an actual switch - press 'J' or 'K' to change between Keyboard or Joystick mode. You can only play 1 player on keyboard. Anyway, Christmas gift for you all! It's okay to put it up on Gamebase just like Mr Chin. Hope you enjoy! MarioBrosTI.zip 31.81 kB · 36 downloads Wow, this is really impressive. Very well done! 1 Quote Link to comment Share on other sites More sharing options...
jrhodes Posted December 25, 2023 Share Posted December 25, 2023 This is awesome Tursi! Also, i like how your posts reactions are split 50%-50% between Like and Thanks (as of the time i posted this); If i could leave both a Like AND a Thanks for you, i would. 1 Quote Link to comment Share on other sites More sharing options...
Appeelicious Posted December 25, 2023 Share Posted December 25, 2023 I won't be able to play it on my 99 until I get home, but I'm thrilled by the surprise. Is it 2 player? 1 Quote Link to comment Share on other sites More sharing options...
PeteE Posted December 25, 2023 Share Posted December 25, 2023 This is great! The feel is very authentic. 2 Quote Link to comment Share on other sites More sharing options...
Tursi Posted December 25, 2023 Author Share Posted December 25, 2023 2 hours ago, Appeelicious said: I won't be able to play it on my 99 until I get home, but I'm thrilled by the surprise. Is it 2 player? Yep! Insert two credits and use joysticks 3 Quote Link to comment Share on other sites More sharing options...
Appeelicious Posted December 25, 2023 Share Posted December 25, 2023 3 minutes ago, Tursi said: Yep! Insert two credits and use joysticks Hurray. Now I’m really excited for when I get home. I’m going to have to find my 2 player joystick adapter. I haven’t had need for it in forever 1 Quote Link to comment Share on other sites More sharing options...
DavidC Posted December 25, 2023 Share Posted December 25, 2023 Thank you Tursi. 1 Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted December 25, 2023 Share Posted December 25, 2023 This arcade game is one of the wonderful classic games! thanks for this conversion. It made my Christmas day! nice gift! 1 Quote Link to comment Share on other sites More sharing options...
Gary from OPA Posted December 25, 2023 Share Posted December 25, 2023 (edited) i need some joysticks to enjoy this better. merry christmas everyone. thanks @Tursi Edited December 25, 2023 by Gary from OPA twitter link 4 Quote Link to comment Share on other sites More sharing options...
dphirschler Posted December 26, 2023 Share Posted December 26, 2023 This is amazing! Thanks for sharing! Darryl 1 Quote Link to comment Share on other sites More sharing options...
+dhe Posted December 26, 2023 Share Posted December 26, 2023 On 12/24/2023 at 10:09 PM, Tursi said: It's a 64KB cart that requires the 32KB expansion to run @anyone Where can I find information on how a 64K cart banks? 1 Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted December 26, 2023 Share Posted December 26, 2023 16 minutes ago, dhe said: @anyone Where can I find information on how a 64K cart banks? Since this file ends with the "8" identifier, that means it would be used with one of the non-inverted cartridge boards (Red boards) if burning a 64K EPROM. The file could be run through a file inverter tool to make it compatible with an inverted cartridge board (64K Guidry board or 128K Black board). The file should work as is with the FinalGROM board or even with the FlashROM99 board, as both of those are compatible with the "8" format. On bank switching in general, there is a really nice tutorial on Stuart's website. Note, the example is for inverted cartridges, but the general principles remain the same for either bank-switched cartridge type. 3 1 Quote Link to comment Share on other sites More sharing options...
retrodroid Posted December 26, 2023 Share Posted December 26, 2023 Amazing! Really top notch job thanks for posting this. I would love to learn more about the history behind this version of the game. It appears that you originally created it in 2009 for Colecovision? How did you (or CollectorVision) get the license? Or is this flying under the Nintendo radar? 1 Quote Link to comment Share on other sites More sharing options...
+hloberg Posted December 26, 2023 Share Posted December 26, 2023 @Tursi do you have a program that translates Coleco to TI99 or do you convert by hand (or maybe a little of both)? 1 Quote Link to comment Share on other sites More sharing options...
+save2600 Posted December 26, 2023 Share Posted December 26, 2023 What a surprise and gift indeed. Thank you @Tursi Easily my favorite version of Mario Bros., such a blast to play. And on the TI-99/4A! 93,190 ...finally took a serious stab at a decent score after reveling in the awesomeness which is this port. 🤩 3 Quote Link to comment Share on other sites More sharing options...
Tursi Posted December 26, 2023 Author Share Posted December 26, 2023 5 hours ago, retrodroid said: I would love to learn more about the history behind this version of the game. It appears that you originally created it in 2009 for Colecovision? How did you (or CollectorVision) get the license? Or is this flying under the Nintendo radar? I can't tell you a lot. CollectorVision was looking for someone to do the game for them and had already done all the graphics. I always wanted to do Mario Bros, and I had done Mr Chin for them, so it seemed like a good deal. I don't know the state of the license but I think they were asked to stop selling it. (Not completely sure. I'm not a part of Collectorvision.) Anyway that's why this does NOT say Collectorvision, leave them out of it. 4 hours ago, hloberg said: @Tursi do you have a program that translates Coleco to TI99 or do you convert by hand (or maybe a little of both)? libti99 I have a ColecoVision port of libti99 which all my Coleco work has used. This makes the titles (mostly) source compatible between the two machines. The interrupt system on the Coleco is non-maskable, so that made things a little more complicated, but I have it sorted now so I can treat it just like the TI. The main challenge has been the word size (the Coleco prefers 8-bit variables and SDCC code for 16-bit is pretty poor, so if I start there I tend to make everything 8 bit. Then we come to the TI, and the GCC code for 8-bit values is pretty inefficient and more likely to have bugs than 16-bit, so I end up tweaking a lot back. Or vice versa.) Banking is the second challenge, and until a couple of months ago I didn't have a solution for GCC and banked code on the TI. But the Coleco pages are 16k and have a fixed 16k ROM space. The TI is 8k with no fixed space. So I have to re-layout all the pages and then fix all the banking code. (Going the other way is trivial if I don't mind wasting 8k per page, I did that when I ported the Thunder Force III tribute to Coleco. I'm not entirely sure why I did that since nobody looked at it. ). There's also the issue that inevitably some of the code is larger, so that also forces things to move. Mario only has 3 banked pages on the Coleco, so I didn't work too hard on it. Super Space Acer has 15 banked pages, though, so that was a bigger job. For that I numbered the TI pages as "a and b" (ie: 1a, 1b, 2a, 2b, 3a, 3b, etc). I put all the Coleco code into the 'a' pages and then built it. Then I started migrating data from the 'a' to 'b' pages and updating the bank commands. That covered nearly all of it, I only had to move a couple things outside of that system (and split one very large array ). 7 3 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.