Jump to content
IGNORED

Moon Patrol body shop !


TIX

Recommended Posts

Here's a video of what we have in action. The previous screen shots and development was done under Atari800OSX and this video was made was made with Altirra (2.90) I'm noticing the color is slightly different between the two. I imagine Altirra is closer to true. If so, I can adjust the colors.

 

 

(5200 version coming hopefully tomorrow....) ;)

Edited by doctorclu
Link to comment
Share on other sites

Great job, much better looking :grin: :grin:

 

Yes the Atari800 colors looks close to perfect ! Altirra looks way off..

Someone should try it on real hardware.

 

you think you can make the (egg yolk) saucer, more yellow ?

 

Yes, if some Atari 8-bit computer gamer could try this on real hardware will help a lot. (5200 gamers can try this version to check out the colors for now....)

 

More yellow for the saucers? I believe it should be in the bank of colors found, so when we nail down which is more hardware accurate (Atari800 or Altirra) we can adjust it all then.

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

A bit puzzled by this. Woke up, tried alternate video modes on both emulators to try to figure out what was going on. Tried GTIA and CTIA modes. Wondered if having this in x2 mode on Atari800 made the difference but both are still different. I know we'll settle this eventually.

 

post-4709-0-96486400-1537786964_thumb.png

post-4709-0-19888700-1537786966_thumb.png

[Altirra on the left and Atari800 in the small window on the right.]

 

-----

 

0832 CST

Posted a message on the Atari 8-bit forum to enlist help.

 

0839 OST

Posted a message on the Atari 5200 forum to enlist help.

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

 

This is very easy to do. You only need to set bit 5 on GTIA's PRIOR register. It's only a tiny change, but it is a code change.

 

Where the two sprites overlap you will get a third color.

 

This hack wouldn't help with the flying enemies, since you need to combine two player objects to get the color effects and all available players seem to be in use for the enemies.

 

But, the setting affects all player/missile (sprite) objects, so it would also affect the flying enemies, unintentionally. The enemies would take on an extra color whenever one flies over the other. You can avoid that by setting the multicolor bit in a DLI for only the portion of the screen (the moonscape) where it's needed.

 

If you could get a coder to help with this hack I think the results would be worth it.

 

I found some possible information here:

https://www.atariarchives.org/dere/chaptE.php

 

I originally thought this was what we were looking:

post-4709-0-87743000-1537787361.png

 

But I realize this is more like it...

post-4709-0-76162800-1537787559.png

 

So looks like I will be looking for D6 and D7 assigned to 00 if we are talking about mode 5.

 

Still not sure what the hex code is for PRIOR and still trying to figure out what I can on this. No far no matches with D7 and D6 with 00 in varying combinations. I've posted this to the main Atari 8 bit thread programming thread to see what else we can find out.

Edited by doctorclu
Link to comment
Share on other sites

 

I found some possible information here:

https://www.atariarchives.org/dere/chaptE.php

 

 

 

The specific bits you're looking at will affect everything on the display, including the background graphics. They're for the GTIA modes that give you 16 colors you can use anywhere on the display, but with chunky (double-width) pixels and some restrictions on the palette.

 

Here is some information on the multi-color sprite bit from Wikipedia. You are looking at setting bit 5 on the PRIOR/GPRIOR register. (PRIOR is a direct write to the hardware. GPRIOR is a "shadow copy" the OS keeps in RAM, and updates from time to time since it is not possible to read values back from the direct hardware register). These registers are at different memory locations on the 8-bit versus 5200 hardware.

 

https://en.wikipedia.org/wiki/CTIA_and_GTIA#PRIOR_$D01B_Write

 

Multi-Color Player

PRIOR bit 5, value $20hex/32dec enables Multi-Color Player objects. Where pixels of two Player/Missile objects overlap a third color appears. This is implemented by eliminating priority processing between pairs of Player/Missile objects resulting in CTIA/GTIA performing a bitwise OR of the two colored pixels to output a new color.

Example: A Player pixel with color value $98hex/152dec (blue) overlaps a Player pixel with color value $46hex/70dec (red) resulting in a pixel color of $DEhex/228dec (light green/yellow).

The Players/Missiles pairs capable of Multi-Color output:

  • Player 0 + Player 1
  • Missile 0 + Missile 1
  • Player 2 + Player 3
  • Missile 2 + Missile 3
Edited by FifthPlayer
  • Like 1
Link to comment
Share on other sites

Thanks FifthPlayer, got some good pointers from Xuel, who found this when he disassembled Moon Patrol

 

"Looks like PRIOR is set at 82E9:
lda #$11 ; 82E9: A9 11
sta PRIOR ; 82EB: 8D 1B D0

So you can edit location 82EA to change the PRIOR setting."

Found 3 occurrences of A9 11, changed 11 to 00 and got some fun results. As you said, everything interfaced everything...

post-4709-0-43964100-1537806852.pngpost-4709-0-88829900-1537806860.png

Flying layers did not interact for some reason

post-4709-0-38679800-1537806897.png

And the rocket car was just broken

post-4709-0-70494400-1537806921.png

But did see some layers overlap which could give us something to play with if I can turn the black layer on the buggy into another color.

Link to comment
Share on other sites

3rd alien ship (bomber) closer to the arcade,

I used the bigger sprite, to be more in analogy with the arcade..

The flickering/flashing I was talking about yesterday, is more evident in the big sized bomber,

maybe it's intentional, it seems to alternate between violet/buggy color and pink ?!??! you can see it in the screenshot.

Not so good.. you think we can remove it completely ? (the flashing I mean)

 

Check it out :)

 

  • the Atari aliens below appear more flat than in game.. maybe its the editor I use.
  • thinking about reducing the rotation/animation of red saucer to be more like the arcade.
  • also maybe cut the edges of the yellow egg to be more oval
  • maybe I use the smaller bomber .. I don't know..
  • more revisions coming..

post-65-0-69670000-1537806325.jpg

post-65-0-23856100-1537807317.jpg

Edited by TIX
Link to comment
Share on other sites

Thanks FifthPlayer, got some good pointers from Xuel, who found this when he disassembled Moon Patrol

 

"Looks like PRIOR is set at 82E9:
lda #$11 ; 82E9: A9 11

sta PRIOR ; 82EB: 8D 1B D0

So you can edit location 82EA to change the PRIOR setting."

Found 3 occurrences of A9 11, changed 11 to 00 and got some fun results. As you said, everything interfaced everything...

Flying layers did not interact for some reason

And the rocket car was just broken

But did see some layers overlap which could give us something to play with if I can turn the black layer on the buggy into another color.

 

 

Try changing the $11 to $31, rather than 00. $31 should set the multi-color sprite mode without disturbing the other settings for sprite layering.

 

The extra color you get in multi-color sprite mode isn't under your direct control. It's a mixture (a logical-or) of the two sprite colors.

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

 

 

Try changing the $11 to $31, rather than 00. $31 should set the multi-color sprite mode without disturbing the other settings for sprite layering.

 

The extra color you get in multi-color sprite mode isn't under your direct control. It's a mixture (a logical-or) of the two sprite colors.

 

Here is how all this went down when I tried it:

 

post-4709-0-96026700-1537812907.png 02E8

post-4709-0-11012900-1537812918.png 033C

post-4709-0-46152400-1537812924.png 246C

 

Still plan on playing with this more later though.

 

Xuel recommended this in the programming area:

"To get the players to blend you need to set bit 6 of PRIOR but note players 1&2 blend only with each other and likewise for players 3&4."

Edited by doctorclu
Link to comment
Share on other sites

Xuel recommended this in the programming area:

"To get the players to blend you need to set bit 6 of PRIOR but note players 1&2 blend only with each other and likewise for players 3&4."

 

 

Yes, he's correct on that. You will need to check that the game code is using Players 1 and 2 as a pair for the buggy, or else Players 3 & 4. This might be something you could check with Altirra while the game is running, by turning on and off individual player objects using Altirra controls.

 

Also, to get the additional color, you need to set a pixel at the same place with both sprite objects. Where the two sprites overlap pixels, you get the extra color.

 

Lastly, one tiny yet important detail: I said bit 5 of PRIOR, Xuel says bit 6. We're both correct, it depends whether you count starting at 0 or 1 for the right-most bit.

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

 

And now we'll colorize that...

 

doctorclu I like the new colors static, but there is something funny about them in motion that make my eyes hurt..

Maybe it is the pink over green, or the orange ground is too bright.. I can't put my finger on it !

 

Also green alien city, Yeah ! :-D !

Link to comment
Share on other sites

 

doctorclu I like the new colors static, but there is something funny about them in motion that make my eyes hurt..

Maybe it is the pink over green, or the orange ground is too bright.. I can't put my finger on it !

 

Also green alien city, Yeah ! :-D !

 

Color matched to the arcade, though I had hoped we would have had more people (than one) play this on real hardware. Still need to see which most are getting, the Atari800 or Altirra colors. Colors can be the lightened or darkened, or changed entirely.

 

And green cities is actually arcade canon... :)

post-4709-0-15745800-1537875648.png

 

Hey now that we have a bunch of programmers here, can we do something about the (ugly) edges of the screen ?

 

I respect the problem. :D (That is to say currently no immediate idea.)

 

Yes, he's correct on that. You will need to check that the game code is using Players 1 and 2 as a pair for the buggy, or else Players 3 & 4. This might be something you could check with Altirra while the game is running, by turning on and off individual player objects using Altirra controls.

 

(sigh) Ok, I've done this before with Altirra while working on the sounds for the Jaguar version of Moon Patrol. :D Need to look this up as apparently this is a key command and not in the drop down menus.

Link to comment
Share on other sites

DMACTL register can set playfield width to either narrow, standard, or wide. What is it set in Moon Patrol?

 

Xuel provided a disassembly of Moon Patrol and looking at that...

 

DMACTL equ $D400 ; Access: 803F 80A3

 

 

l802F ; Callers: 8029
lda CASINI+1 ; 802F: A5 03
bne l8021 ; 8031: D0 EE
lda l0006 ; 8033: A5 06
sta DLISTH ; 8035: 8D 03 D4
lda l0005 ; 8038: A5 05
sta DLISTL ; 803A: 8D 02 D4
lda l0007 ; 803D: A5 07
sta DMACTL ; 803F: 8D 00 D4 ...
l809D ; Callers: 80A9
sta AUDF1,x ; 809D: 9D 00 D2
sta HPOSP0,x ; 80A0: 9D 00 D0
sta DMACTL,x ; 80A3: 9D 00 D4 ...
Link to comment
Share on other sites

 

And green cities is actually arcade canon... :)

 

That's what I said man! I love the green alien city :)

 

I know that recoloring is a work in progress, but I certainly prefer the darker pallet as it appears in the atari800 emu !

Question is it possible to change background colors per level ??

If yes, then it would be cool to highlight the buildings with yellow..

 

post-65-0-85219400-1537893373.jpg

post-65-0-78227400-1537893386.jpg

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