Jump to content
IGNORED

Powercore [WIP]


Recommended Posts

Hi Atariage,


I came up with an idea how to create backgrounds with more than two colors per line and decided to revive my 10 year old Atari project. Working title for a potential run'n'gun minigame: Powercore


mock2.png.fe1a8601521a5cab6dd8dc3205995827.png shot1.png.8447aa6966694174ace06d74a174f2a5.png
left: mockup, right: screenshot of 1st test


The 1st kernel test successfully displays the background and a multicolored P0 sprite. It's not featurecomplete, yet. But there're some free CPU cycles left.

 

Horizontal softscrolling test: (not playable)

scrolltest1-ntsc.bin   scrolltest1-pal.bin

Edited by Lazycow
  • Like 16
Link to comment
Share on other sites

Update: Added a color table for the 3-color-background. And a multicolored P1 sprite.

shot2.png.bae57495b3d1e8bc1c6f8028212fe552.png

The available CPU time in the kernel segments is getting critical now, I can only change the P1 sprite color every 2nd line. But that seems to be acceptable for the game graphics.

And I couldn't find a way to change the horizontal sprite pos with RESP1 in the middle of the screen. Backup plan: Moving P1 with HMP1. (Drawback: Enemies can only be placed every 2nd stripe)

@Silvio Mogno Fair enough, I will probably feel more relaxed now when one of the sprites starts flickering... 😉

  • Like 5
Link to comment
Share on other sites

You might take a look at the undocumented instructions too.  They work on all real 2600's and can sometimes save a few cycles that cannot be saved in any other way.  The DCP inst. is particularly useful is sprite drawing.  But clever uses can be found for many of them.

  • Like 2
Link to comment
Share on other sites

shot1.thumb.jpg.4d475cea163eb6f1e2e7a5cf1b1728db.jpg

1st test on real hardware. (PAL) Compared to the emulator, the colors are a bit off. (I wonder if this is caused by a not optimal adjustment of my AV mod)

The horizontal displacement of the enemies is done by HMP1 only. (without RESP1) Seems to work. (Although, there's a bug at sprite #2)

@glurk Yes, I know DCP (and LAX) and I'll keep an eye at them. Right now, there's no need to use them, but we'll see...

@Thomas Jentzsch Yes, maybe at a later date, when there's something to see or something to play.

  • Like 5
Link to comment
Share on other sites

Posted (edited)
4 hours ago, Lazycow said:

Update: Added a Test-Kernel that can display M0 and M1. (Without missiles, a run'n'gun like game would be senseless) It's not working with scrolling. At least, not yet.

missile1.gif.7bef286956cf2b7dd89a7ae465665be6.gif

@Thomas Jentzsch Fair enough, I added the scrolling-test as download in the 1st post.

Thanks! Looks great. Very smart use of background colors. 👍

 

BTW: I notice a small glitch when the bottom sprites are at the very left. Also this kernel will cause in @ZeroPage Homebrew's console (enable Developer Settings/TIA/delay background color), but I suppose there is not much you can do.

Edited by Thomas Jentzsch
Link to comment
Share on other sites

1 hour ago, Thomas Jentzsch said:

BTW: I notice a small glitch when the bottom sprites are at the very left. Also this kernel will cause in @ZeroPage Homebrew's console (enable Developer Settings/TIA/delay background color), but I suppose there is not much you can do.

 

Confirmed! Here's a video capture of the test running on my RGB Modded Light Sixer showing the issue.

 

Very innovative and smooth way to scroll platforms using the ball, love it!

 

- James

 

 

  • Like 1
Link to comment
Share on other sites

16 minutes ago, ZeroPage Homebrew said:

Confirmed! Here's a video capture of the test running on my RGB Modded Light Sixer showing the issue.

I wonder why you invested 100s and 1000s $$$ into your technical equipment for perfect capture. But don't get your 2600 fixed (AFAIK your's is the only one with this problem).

Link to comment
Share on other sites

29 minutes ago, ZeroPage Homebrew said:

Confirmed! Here's a video capture of the test running on my RGB Modded Light Sixer showing the issue.

Does the RGB mod affect only the COLUBK and COLUPF registers or are all colour registers affected?

Link to comment
Share on other sites

46 minutes ago, Thomas Jentzsch said:

I wonder why you invested 100s and 1000s $$$ into your technical equipment for perfect capture. But don't get your 2600 fixed (AFAIK your's is the only one with this problem).

 

If I remember correctly it's a bug in the RGB mod that the developer is not interested in fixing. Unfortunately there's no current alternative RGB/component mods* leaving me with only emulation or a much (IMHO) softer svideo alternative. This bug has not been an issue so far as there usually have been kernel timing fixes by developers.

 

At this point I would rather have the higher quality RGB output than to sacrifice picture quality for a very, very small handful of instances where this issue has a minor effect on the look of a game.

 

EDIT: If it affects the game to the point of distraction I can always play it on my SVID modded 7800. 🙂

 

- James

 

* I still have to investigate the LumaCode TIADigitizer further, but last I read there were some show stopping issues for me.

  • Like 1
Link to comment
Share on other sites

Just now, Thomas Jentzsch said:

AFAIK it's only COLUBK here.

Yes. But the RGB mod is what causes the issue with Quickstep isn't it, which is the COLUPF being affected. I was wondering if the other colour registers are affected in the same way.

Link to comment
Share on other sites

Posted (edited)

Hey, thanks for the feedback!

 

I've analysed the COLUBK RGB-mod bug. It should be possible to add a game option with a workaround for RGB-mod users. (If the game ever gets finished)

 

The sprite glitch at the left is caused by a late write to COLUP1. I'm not sure if I can fix all the color glitches, because there's not enough time in horizontal blank to write to GRP0,GRP1,COLUP0,COLUP1 and COLUBK, is it?

 

By the way, is it possible to use VDELPx in a single line kernel? I supposed that it's possible to update the pixels of P0 and P1 with a single write to GRP0 (or GRP1), but in my test, it didn't work as expected. Has this been done before?

Edited by Lazycow
  • Like 1
Link to comment
Share on other sites

1 hour ago, Lazycow said:

The sprite glitch at the left is caused by a late write to COLUP1. I'm not sure if I can fix all the color glitches, because there's not enough time in horizontal blank to write to GRP0,GRP1,COLUP0,COLUP1 and COLUBK, is it?

Not even close. :) But if you know where your sprite is located, you could update earlier (or later).

1 hour ago, Lazycow said:

By the way, is it possible to use VDELPx in a single line kernel? I supposed that it's possible to update the pixels of P0 and P1 with a single write to GRP0 (or GRP1), but in my test, it didn't work as expected. Has this been done before?

Yes, for sure. E.g. the 48 pixel kernel, mostly used for score display, has both VDELPx enabled to allow more register updates within a limited time.

Link to comment
Share on other sites

  • 2 weeks later...

Update: gravity, background collision detection, scroll speed control

The scrolling tries to always scroll a little bit ahead in viewing direction of the player.

There're still some glitches, but I'll try to fix them later when the kernel is finished.

scroll3.gif.093c9a2a46b4a33e21782d09327db722.gif

@Bomberman94 Yes, but the current kernel cannot display tubes. But there could be rooms without horizontal scrolling. With more content...

 

  • Like 11
Link to comment
Share on other sites

  • 4 weeks later...

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