Jump to content
IGNORED

Invaders From Andromeda - beta?


Cisano

Recommended Posts

Hi to everyone. This is my last game.

I have seen on the ZPH show, the game has a problem with Sync, I think.

On Stella in dev mode it works great. Not having the real hardware for the test, can someone tell me what kind of problem is?

Source code here

Thanks.

 

Cisano

 

Invaders From Andromeda BETA V0.9 - by Cisano - 2022 - NTSC.bin

  • Like 1
Link to comment
Share on other sites

VSYNC timing is off. You should enable/disable it at the very beginning of a scanline (that is, right after a "sta WSYNC"), so to have three full scanlines with VSYNC on.

Instead, you're enabling it at cycle 31 on line 259, and disabling it at cycle 5 on line 262/0.

vsync_on.thumb.png.9ae07ca841ad3d8e8c2e81e5869a6cae.png

vsync_off.thumb.png.8e607a2e617097abae3e7ef5e1387a05.png

 

Rearrange the code to strobe WSYNC right before VSYNC, or just use the "VERTICAL_SYNC" macro that's in "macro.h"

  • Like 1
Link to comment
Share on other sites

I tested the ROMs but the sync issue doesn't show up on my display with the initial ROM you posted, so I can't tell if it's fixed or not.

 

I believe it showed up on ZPH because they're using an RGB modified 2600, so they can capture the video for streaming, so best bet would be to get @ZeroPage Homebrew to test it for you.

 

Do note that this issue occurs with many older games, such as the ever popular Warlords for which I posted a fixed ROM:

 

 

@ckrtech also did an in-depth video about the problem that you might find enlightening.

 

 

Link to comment
Share on other sites

The first rom shows very minor jitter on the CRT I use. The screen jumps up and down 1 scanline about once per second in the title screen, and about twice as fast during gameplay, but without showing color loss. The second rom is stable.

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

22 minutes ago, Thomas Jentzsch said:

@Cisano: Set Jitter/roll sensitivity to 10 to be safe for even the most sensitive hardware.

Didn't realize that setting would reveal this bug. When set to 10 version 0.9 rolls the picture:

 

image.thumb.png.73830819a4f98680404bce96189707cb.png

 

While version 0.91 is stable.

 

image.thumb.png.aeb092491e33c52227d1cf8b7140abf8.png

Link to comment
Share on other sites

11 hours ago, Cisano said:

Hi to everyone. This is my last game.

I have seen on the ZPH show, the game has a problem with Sync, I think.

On Stella in dev mode it works great. Not having the real hardware for the test, can someone tell me what kind of problem is?

Source code here

 

I wanted to play on my PAL setup, so I added NTSC/PAL60 color switches to my fork here

 

@Cisano if you like I can open a pull request with the PAL60 changes.

 

 

PAL60 version V0.91:
InvadersFromAndromedaBETAV0.91-byCisano-2022-PAL60.bin

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, Al_Nafuur said:

 

I wanted to play on my PAL setup, so I added NTSC/PAL60 color switches to my fork here

 

@Cisano if you like I can open a pull request with the PAL60 changes.

 

 

PAL60 version V0.91:
InvadersFromAndromedaBETAV0.91-byCisano-2022-PAL60.bin

 

First time I see this. How the switches work?

About pull request, I don't know what exactly is. I must read something about it.

 

Anyway SpiceWare is working on PAL version.

Link to comment
Share on other sites

15 minutes ago, Cisano said:

First time I see this. How the switches work?

it's basically the color constants from @Random Terrain's batariBasic page here:

https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#color_constants_ntsc_pal60

 

I have moved them to the asm include file "NTSC_PAL_colors.h" where they could be switched with the "IS_NTSC" constant. Afterwards all color hex values in the code have to be converted to the constants (e.g. $32 to _32)

 

15 minutes ago, Cisano said:

Anyway SpiceWare is working on PAL version.

PAL or PAL60 ?

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, Al_Nafuur said:

PAL or PAL60 ?


 PAL60, done using color name constants like I described here. I find using color names to be more useful when reading the code:

 

  lda #GREEN+4
  sta COLUP0
  lda #VIOLET+8
  sta COLUP1

 

 

I sent it to Cisano a little while ago, with some other coding tips.

  • Like 3
Link to comment
Share on other sites

In my programming attempts, I usually put the switches to build different versions inside an IFNCONST statement. In that way you can pass their value from the command line (using the -D option) without editing the source each time, and if you omit it, the one defined inside the statement will be used as default.


By using a script/batch file, you can build different versions at once.

 

e.g., if in your source you have

 

    IFNCONST PAL
PAL = 0            ;0=NTSC 1=PAL
    ENDIF

 

You'll build the NTSC version by default, and the PAL version if you use the "-DPAL=1" option from the command line (or in a script).

 

  • Like 2
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...