Jump to content
IGNORED

5200 port of Scorch


pirx

Recommended Posts

After a very difficult struggle with memory requirements and help from @miker we have a version of Scorch (Scorched Earth demake) ported for 5200. Unfortunately I do not have the console, so testing with emulators only. 
And here is the problem - the game works OK in the atari800 emulator (and derivatives), but fails miserably in Altirra. I guess it will fail on the real hardware as well, because of @phaeron prowess and the Altirra emulation accuracy.

By fail I mean it does not recognize joystick being in a neutral position. For analog->digital conversion I used @JAC! procedure from Alien Swarm (almost) verbatim, but I guess I am doing it wrong :) (had to change POTx to PADDLEx because of using deferred VBI - POTs seem to be depleted in deferred)

Anyways, could you try the attached ROM on the real machine?

 

The source code is here: https://github.com/pkali/scorch_src/tree/develop, to compile 5200 version you need to change `TARGET` in scorch.asm. The joy division starts at line 1240 in the same file.

 

The game itself right now uses only joystick and a single button. The texts are from A800 version, will be adjusted. pressing the trigger for a longer time in the game drops you to an inventory where you can select weapons. in the inventory and shop move joy left to switch between defensive and offensive weapons, joystick right selects a weapon. fire gets you back to the game. We'll probably employ numpad keys for easier access to different functions, like on A800.

All comments welcome.

scorch.bin

Edited by pirx
  • Like 9
Link to comment
Share on other sites

This was the first thing I thought of when I read your post, but didn't have time to investigate.  It's funny that in the 5200 programming tutorial video I posted a couple days ago I warned about this exact thing and how a lot of emulators don't handle that bit correctly.

Link to comment
Share on other sites

2 hours ago, pirx said:

Please check if it works on a real hardware.

Seems to work fine ;-)  Stock 2-port 5200, Atarimax SD cartridge, 19" CRT TV.

 

Two things I did notice (and disregard the static; that's a problem on my end and nothing to do with the game):

 

IMG_0747.thumb.jpg.faae29d4e1762a865b645fc9a0c5a93b.jpg

 

It looks as though the top score / status line is overscanned off the top of the screen.  Also, are the black horizontal stripes starting at about the halfway point on the screen and repeating below that point intentional?  Haven't looked at it in emulation, so am not sure if known issue, new bug, or totally normal.

 

Oh, the copyright date on the bootup splash screen shows as 197A.  Again, not sure if known, etc.

 

Three suggestions:

  1. Have the option of using either one stick for all players or one stick per player (up to four players - beyond that, one stick for all).
  2. In the pre-game configuration menu, it'd be a plus if the options could be selected by holding the stick up or down, rather than having the selection move one line at a time and no more.  With the 5200's non-self-centering controllers, you have to pull down, move one line, push back to centre, pull down again, etc.
  3. On the Difficulty screen, allow name entry with the keypad.  This could be done like the old T9 method of text entry for SMS messages.

Plays very nicely, by the way.  I like it a lot, particularly the music.  Excellent job :-D

  • Like 2
Link to comment
Share on other sites

Thank you! it is nice to have it working on the real deal!

197A means 1900 + $7A = 1900 + 122 = 2022 ;)

NOT Y2K COMPLIANT MACHINE!!! :))))

 

Lines are intentional, it was an honest attempt to make the background a little bit more lively in the 80's style, too bad we couldn't really make it more colorful because it was interfering with tanks.

1. we were thinking about it, maybe something can be done!

2. noted!

3. will not be possible, we have just few bytes left, maybe ~50, no way to cram there anything complicated. I hope a simple keypad usage will fit.

I've also noticed the game over sequence is glitching, possibly due to DLIs taking a bit longer on 5200. Should be an easy fix.

 

We could lower down the status a bit, maybe then bottom of the screen would hide... 

Edited by pirx
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

45 minutes ago, pirx said:

Thank you! it is nice to have it working on the real deal!

Glad to see it working!

45 minutes ago, pirx said:

197A means 1900 + $7A = 1900 + 122 = 2022 ;)

NOT Y2K COMPLIANT MACHINE!!! :))))

I was wondering if that wasn't the case :-D

 

45 minutes ago, pirx said:

will not be possible, we have just few bytes left, maybe ~50, no way to cram there anything complicated. I hope a simple keypad usage will fit.

Completely understood.  The current method works fine, so this would have been a nice-to-have but isn't anything that really affects gameplay.

 

And, of course, there's that one more thing that popped up after hitting submit:

 

If you leave the game idle long enough for the 5200's screen saver to kick in on either the title or difficulty screens, it doesn't properly go away until the game starts and the (presumably) new DLIs are set up.  What I mean by this is that colours don't change back to the ones used by the game, but rather stay stuck on whatever the screensaver was last doing.  This can leave the text unreadable on both screens.

  • Like 1
Link to comment
Share on other sites

12 hours ago, pirx said:

Thank you! it is nice to have it working on the real deal!

197A means 1900 + $7A = 1900 + 122 = 2022 ;)

NOT Y2K COMPLIANT MACHINE!!! :))))

 

Lines are intentional, it was an honest attempt to make the background a little bit more lively in the 80's style, too bad we couldn't really make it more colorful because it was interfering with tanks.

1. we were thinking about it, maybe something can be done!

2. noted!

3. will not be possible, we have just few bytes left, maybe ~50, no way to cram there anything complicated. I hope a simple keypad usage will fit.

I've also noticed the game over sequence is glitching, possibly due to DLIs taking a bit longer on 5200. Should be an easy fix.

 

We could lower down the status a bit, maybe then bottom of the screen would hide... 

 

 

great game , thank you for porting it to the 5200

works like a dream on the real thing!

Link to comment
Share on other sites

port is too big a word, they call it "demake" on the scene. it has got a nice number of features of the original game and some different ones like an electric eels powered hovercraft and a "Long Schlong" weapon.

@x=usr(1536) creating tickets from your comments

https://github.com/pkali/scorch_src/issues/140

https://github.com/pkali/scorch_src/issues/141

https://github.com/pkali/scorch_src/issues/142

 

Edited by pirx
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

  • 3 weeks later...

https://github.com/pkali/scorch_src/releases/tag/v1.16

 

2022-10-16

The official release of our game for the Atari 5200 SuperSystem. Grab the `scorch.bin` file and burn a cart!
This is all thanks to @miker who supported us all this time of uncertainty and despair. 
Cramming the game into a 32KiB cart and 16KiB RAM was a big task - it required a rewrite of the RMT player, a crazy number of size optimizations, and counting each byte.

The release is not perfect - we have a number of glitches and improvements to the 5200 controller procedures to work on, but the game is playable.

Changes:
* numerous, but not very visible

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

New release, most noticed problems fixed

https://github.com/pkali/scorch_src/releases/tag/v1.17

 

Mostly 5200 console port and NTSC improvements.
* Updated songs from Miker do not require skipping frames on NTSC machines. Crucial for the next point.
* Bouncy Castle bouncing of Funky Bomb fixed https://github.com/pkali/scorch_src/issues/129
* 5200 version had various graphical and sound glitches. Although mostly harmless, it hurt our sense of aesthetics. First of all the flickering credits roll is all good now.
* Rare hang-ups on NTSC machines fixed
* Screen lowered down by 7 scan lines to help top status line on NTSC CRTs.
* 5200 ATTRACT mode not going away fixed
* Autorepeat added to menus what should help 5200 users with their non-centering abomination of a controller.
* DLI interrupts optimized, few cycles saved.
* 5200 keypad sort-of-works. Please refer to manual for key bindings: https://github.com/pkali/scorch_src/blob/master/MANUAL_EN.md#4-the-main-screen-of-the-game
 

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

  • 1 month later...

This is the final binary of our game for 5200:

 

->link<-

###### Version 1.21
2022-12-10

We couldn't resist! This is the Senior Executive Director's Cut.
By virtue of byte misering we squeezed in a few new features:
* new selectable tank shapes - change the controller enough times to get a different tank model
* lonely bad pixel after Liquid Dirt fixed
* mountain colors (or shades) possible, switch with [Tab] in the main menu (or [5] in Atari 5200)
* active controller number display in the game, store, and inventory screens
* an extraordinary terminator mode for Moron

  • Like 4
Link to comment
Share on other sites

  • 3 weeks later...
On 9/27/2022 at 7:15 PM, pirx said:

Thank you! it is nice to have it working on the real deal!

197A means 1900 + $7A = 1900 + 122 = 2022 ;)

NOT Y2K COMPLIANT MACHINE!!! :))))

 

Lines are intentional, it was an honest attempt to make the background a little bit more lively in the 80's style, too bad we couldn't really make it more colorful because it was interfering with tanks.

1. we were thinking about it, maybe something can be done!

2. noted!

3. will not be possible, we have just few bytes left, maybe ~50, no way to cram there anything complicated. I hope a simple keypad usage will fit.

I've also noticed the game over sequence is glitching, possibly due to DLIs taking a bit longer on 5200. Should be an easy fix.

 

We could lower down the status a bit, maybe then bottom of the screen would hide... 

Have you tried using illegal opcodes to save on memory? Ex. When you need to load 2 identical values into memory and have X available, use LAX instead of LDA and TXA when you need the value again. Sometimes you don't even need the TXA.

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