Commander X16 ports of existing games and software

All aspects of programming on the Commander X16.
Ed Minchau
Posts: 503
Joined: Sat Jul 11, 2020 3:30 pm

Commander X16 ports of existing games and software

Post by Ed Minchau »



On 1/26/2021 at 6:44 AM, BruceMcF said:




I am expecting if there is a playable "Doom Port", it will be more like an upgraded version of the VIV-20 " Doom port" than something that can actually execute a WAD ... IOW a port of a WAD rather than a port of an engine.



The original Quake was 320x200 pixels.  I've been looking into the math behind representing the range [-1..1] as 1+7 bit numbers; it's a two's complement notation divided by 127.  So far using ~8kb of lookup tables I've got fixed-point multiplication, division, sin/cos/arcsin/arctan, and a very fast 1/sqrt(x^2+y^2+z^2) normalization function, just four lookups and two additions then three multiplications or divisions, faster than the normalization function Quake used, albeit 8 bit instead of floating point.  I'm giving serious thought to making an 8bit 3D game engine.

User avatar
DusanStrakl
Posts: 127
Joined: Sun Apr 26, 2020 9:15 pm
Location: Bay Area, California
Contact:

Commander X16 ports of existing games and software

Post by DusanStrakl »



1 hour ago, Ed Minchau said:




The original Quake was 320x200 pixels.  I've been looking into the math behind representing the range [-1..1] as 1+7 bit numbers; it's a two's complement notation divided by 127.  So far using ~8kb of lookup tables I've got fixed-point multiplication, division, sin/cos/arcsin/arctan, and a very fast 1/sqrt(x^2+y^2+z^2) normalization function, just four lookups and two additions then three multiplications or divisions, faster than the normalization function Quake used, albeit 8 bit instead of floating point.  I'm giving serious thought to making an 8bit 3D game engine.



Go for it, it would be very interesting to see what kind of performance you could get out of it.

BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

Commander X16 ports of existing games and software

Post by BruceMcF »



8 hours ago, Ed Minchau said:




I've been looking into the math behind representing the range [-1..1] as 1+7 bit numbers; it's a two's complement notation divided by 127.  So far using ~8kb of lookup tables I've got fixed-point multiplication, division, sin/cos/arcsin/arctan, and a very fast 1/sqrt(x^2+y^2+z^2) normalization function, just four lookups and two additions then three multiplications or divisions, faster than the normalization function Quake used, albeit 8 bit instead of floating point.  I'm giving serious thought to making an 8bit 3D game engine.



What resolution of multiplication are you doing?



One level of 3d-ish game that is interesting is Castle Wolfenstein, with vertical scaling, given the ease of writing columns of graphical data to Vera.

xanthrou
Posts: 165
Joined: Mon Jan 25, 2021 11:57 am

Commander X16 ports of existing games and software

Post by xanthrou »



On 1/26/2021 at 2:11 PM, AndyMt said:




That probably depends on the game genre. Platform / Jump&Run games like "Giana Sisters", "Prince of Persia" or even "Sonic the Hedgehog" etc should be quite in reach. I'm thinking about doing one of those next ?.



Also horizontal or vertical shooters should be fine, considering Vera's capabilities.



3D stuff like "Starglider" might be a challenge. But hey - Elite ran on the C64, so why not...



All of this limited to 320x240 pixel resolution. I think VGA res would be a real challenge. For "Brixx" I considered it, because it would have been feasible. But decided against it - 320x240 is more retro, it just feels right.



What about fighting games, like Street Fighter, Mortal Kombat, MUGEN, SNK vs Capcom, The King Of Fighters, et cetera?

paulscottrobson
Posts: 305
Joined: Tue Sep 22, 2020 6:43 pm

Commander X16 ports of existing games and software

Post by paulscottrobson »



3 minutes ago, xanthrou said:




What about fighting games, like Street Fighter, Mortal Kombat, MUGEN, SNK vs Capcom, The King Of Fighters, et cetera?



Should be fine, as the limiting factor on such games is the large sprites and backgrounds these games usually have. The problem with such games though has always been getting the skill right.

xanthrou
Posts: 165
Joined: Mon Jan 25, 2021 11:57 am

Commander X16 ports of existing games and software

Post by xanthrou »



On 1/26/2021 at 3:44 PM, BruceMcF said:




I am expecting if there is a playable "Doom Port", it will be more like an upgraded version of the VIV-20 " Doom port" than something that can actually execute a WAD ... IOW a port of a WAD rather than a port of an engine.



In theory, you could make an expansion port (the problem is that it would render the game unplayable once the second phase took off), kinda similar to 32X, but better, to make DOOM work.

BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

Commander X16 ports of existing games and software

Post by BruceMcF »



7 hours ago, xanthrou said:




In theory, you could make an expansion port (the problem is that it would render the game unplayable once the second phase took off), kinda similar to 32X, but better, to make DOOM work.



An expansion card? Phase 2 seems like it would have at least one expansion card ... one aspect of the design of the fully decoded card selects is it allows a single cartridge slot with a riser board for those who want more slots.

xanthrou
Posts: 165
Joined: Mon Jan 25, 2021 11:57 am

Commander X16 ports of existing games and software

Post by xanthrou »



On 1/26/2021 at 2:11 PM, AndyMt said:




That probably depends on the game genre. Platform / Jump&Run games like "Giana Sisters", "Prince of Persia" or even "Sonic the Hedgehog" etc should be quite in reach. I'm thinking about doing one of those next ?.



 



Just in case I made an unofficial box art, for a game or software ported to X16. How's it?


commander x16 box art.PNG
Ed Minchau
Posts: 503
Joined: Sat Jul 11, 2020 3:30 pm

Commander X16 ports of existing games and software

Post by Ed Minchau »



On 1/27/2021 at 10:19 PM, BruceMcF said:




What resolution of multiplication are you doing?



One level of 3d-ish game that is interesting is Castle Wolfenstein, with vertical scaling, given the ease of writing columns of graphical data to Vera.



The numbers I'm using to represent the range [-1..1] are the range -127 to 127.  So, the minimum resolution is 1/254 of that range or values as small as +/- 1/127.  Most of the results of the multiplication function are accurate to within +/- 1/2 bit, and all but 4 of the results are within 1 bit of what they should be.  The division function is even more accurate, if the absolute value of the numerator is less than the absolute value of the denominator, all results are within +/- 1 bit.

I'm going to start by shooting for the moon and then scaling back until I get something workable.  If I can get a 3D engine that works at 160x120 with more than two colors I'll be happy. 

Kalvan
Posts: 115
Joined: Mon Feb 01, 2021 10:05 pm

Commander X16 ports of existing games and software

Post by Kalvan »


I have a wild, wacky suggestion.

While I do approve whole heartedly of the porting of classic arcade, console, and computer franchises like GradiusR-TypeBubble BobbleMule, and early SCUMM Engine LucasArts games, why not also have someone contact the likes of Starsoft, Yacht Club Games, and Humble Games to port modern retro "Pixel Art" games, like Shovel KnightThe Messenger (2018), Cyber ShadowSaviorAxion Verge and the like?  I am trying to imagine The Messenger with SID-like PSG sound exclusively for the Past and PCM and YM2151 audio added for the Future!.

Post Reply