Jump to content
IGNORED

You guys can thank UniWarS for this one... (Galaxian?)


PacManPlus

Recommended Posts

1 minute ago, Synthpopalooza said:

If you are talking of only using 2 channels:

 

Alien dives and deaths should all be on first channel as these require 1.79 mhz.  The arcade version does this anyway.  The extra life sound as well.

The player death can be two channels, that's no problem.

 

I think the only sounds that are an issue for me are the ship explosion (as I think you are using three channels?) and the drone (needs to be one channel if possible please)

Thanks, Bob!

Link to comment
Share on other sites

Ok, I have the Flagship point values correct, and displaying on the screen.

image.png.902a2683a25c6fddb278adb1c2b4d77f.png

 

I'm not going to post a BIN, however, until I get the sounds corrected.  So what I have left:

 

- Complete sounds

- Tweak Enemy Shots, Diving, and overall difficulty ramp

- If a Flagship attacks the player alone (no escorts) and makes it past the player off the bottom of the screen, it has 'escaped' the level and shows up on the next one.

- Modify the sound driver to check a specific sound index (the background drone).  If equal, check the number of aliens left in the flock. Use that number for the number of frames for each sound of the drone.  This way, the drone will get automatically faster with the number of aliens left without making a bunch of separate speed sounds.  If zero, no drone.  Possibly divide by 2 (or 4) if too long.

- Level indicator

 

My goal is to have this one be the quickest I've ever had a game done (current record is 1 month - Astro Fighter) :D 

 

  • Like 10
Link to comment
Share on other sites

35 minutes ago, PacManPlus said:

My goal is to have this one be the quickest I've ever had a game done (current record is 1 month - Astro Fighter) :D

Love Astro Fighter and still can’t believe that you completed it in a month. I remember how surprised I was to see it on display at the Classic Game Fest in Austin.
 

Thank you. These ports are amazingly arcade accurate and take me back to the days of my youth.?

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

44 minutes ago, PacManPlus said:

- If a Flagship attacks the player alone (no escorts) and makes it past the player off the bottom of the screen, it has 'escaped' the level and shows up on the next one.

 

Apropos of nothing, I just realised that there's a nod to this in Galaga.

 

Let one of your ships be captured, then kill the alien that captured your ship while the captured ship is still at the top of the swarm.  The next time the captured ship dives to attack, it'll be unescorted.  Let it go off of the bottom of the screen, where it will disappear.  On the next level, it'll be dragged in with the aliens as the swarm is being formed.

 

Doesn't work if the next stage is a Challenging Stage, IIRC.

  • Like 2
Link to comment
Share on other sites

@Synthpopalooza - Having a bit of an issue on the player death.  On real hardware, I can't get it to sound like anything but a solid tone.  I am using:

 

Channel: $03

 

Calling (like you have in the ASM file):

    LDA #$60
    STA AUDCTL

    LDA #$02                                    ;PLAYER DEATH CHANNEL 0
    JSR DOTUNE

 

In the sound data I have:

TUNE02    ; PLAYER DEATH
    .BYTE $50,$00
DURN02
    .BYTE $40,$00

 

Do you know what I am doing wrong?

Link to comment
Share on other sites

18 hours ago, x=usr(1536) said:

 

Apropos of nothing, I just realised that there's a nod to this in Galaga.

 

 

Ok, now I can't get "All I Wanna Do" (Sheryl Crow) out of my head

 

"Apropos of nothing, he says his name is William
But I'm sure he's Bill or Billy or Mac or Buddy"

 

:P

 

 

Edited by PacManPlus
  • Like 2
  • Haha 3
Link to comment
Share on other sites

14 hours ago, Synthpopalooza said:

For that:  Lowering the volume by a step or two, or shortening the decay a bit, might fix that.  I've noticed that decay acts kinda funny on some duration values ...

That did it!  It looks like the decay table index ranges from $00-$3F, and we had $40 in there.  I should have seen that.  Anyway, reducing the length to $3F made it work. :)

Thank you

 

On to the next thing...  background drone...

  • Like 5
Link to comment
Share on other sites

Hi Guys,

 

I'm going to have to do something with these Pokey sounds.  They are interfering with each other.  The 'drone', because I'm using one channel, needs $50 in AUDCTL.  The enemy Dives need $60, and some need $61, and they all seem to be interfering with each other as some need to play together (which isn't possible).

 

Give me a bit - what I may do (forgive me Synthpopalooza), is see how good I can get the TIA sounds, and I'll let you guys decide.  If you think that we will still need Pokey for this, Synthpopalooza and I can (hopefully, and if he's willing) to re-work the sounds. 

  • Like 2
Link to comment
Share on other sites

Also, could you paste me your sound code, so I can look at it?  I might be able to fix your issues ... the way I had it designed, it should all work properly with AUDCTL=$60 ... the first and third channels @1.79 mhz are the dives and alien deaths, and the 2nd and 4th channels are the standard 64 khz channels (dive, shooting, player deaths) ... specifically, the CTLVOLTBL, CHANNELTBL, and all the TUNExx/DURNxx indexes.  The only item that should use AUDCTL=$50 is the opening tune.

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

I went ahead and zipped up all the ones which should be used ... and a short summary, maybe it might help:

 

coin, title tune:  AUDCTL=$50.  First two channels.

 

Everything else uses AUDCTL=$60, as shown below:

 

galaxian-swoop, galaxian-endswoop:  Channel $00, CTLVOLTBL=$Cx (1.79mhz hi pitched channel)

galaxian-hum1a (this is the lower pitched hum):  Channel $01, CTLVOLTBL=$Ax

both alien deaths, extralife sound:  Channel $02, CTLVOLTBL=$Cx (1.79mhz hi pitched channel)

Explosion:  Channel $03, CTLVOLTBL=$0x

 

Player shot was designed using channels $02 and $03, $02 uses $Cx while $03 uses $8x.  If needed, you can omit the channel $02 part to make the shot only use the last channel.

 

Compare this with what you have and see that it matches.  Fingers crossed

galaxian - all.zip

 

EDIT:  If you are using only 2 channels ... the $Cx sounds will all be on the $00 channel whilst everything else goes to channel $01

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

Hi guys...

 

Just checking in...

I have the following done:

 

- If a Flagship attacks the player alone (no escorts) and makes it past the player off the bottom of the screen, it has 'escaped' the level and shows up on the next one.

- I nixed modifying the sound driver.  I made 5 different speed background drones.  The number of enemies left dictate which one is played.

 

@Synthpopalooza - thank you for the above post.  I'll check that out soon...  I'm almost done with the TIA sounds, although I'm not happy with my current enemy swoop sound.  Need to work on that.  That's the only one that might have to be different and start lower in pitch as I don't have all of the higher-pitched sounds. :( Also, just so you have it, here is the finalized sound index:

$00 - Player Shot

$01 - Used to quiet the channel for TIA (not used for Pokey)

$02 - Player Explosion

$03 - Drone 1 (Slowest)

$04 - Drone 2 

$05 - Drone 3

$06 - Drone 4

$07 - Drone 5 (Fastest)

$08 - Enemy Death

$09 - Flagship Death

$0A - Not Used (I had something here but removed it)

$0B - Not Used (I had something here but removed it)

$0C - Final Enemy Swoop Loop

$0D - Not Used (I had something here but removed it)

$0E - Beginning Enemy Swoop

$0F - Not Used (I had something here but removed it)

$10 - Bonus Life

$11 - Coin Insert (Pokey Only)

$12 - Intro Music, Channel 0

$13 - Intro Music, Channel 1

 

Then, it's just making some kind of level indicator, and modifying the shot frequency, dive frequency, and difficulty ramping.  Getting there!

Edited by PacManPlus
  • Like 8
Link to comment
Share on other sites

2 hours ago, Synthpopalooza said:

Thanks for the update.

 

Hopefully my explanation will solve your POKEY issues.   ?  Those AUDCTL settings can be difficult to grasp.

Ok, cool, so let me see if I get this:

 

I've updated the table so that both sound drivers can share it...

New common index table and priority (for both TIA and Pokey) :

$00 - Player Shot			Priority $08
$01 - Drone 6 (Super Fastest)		Priority $06
$02 - Player Explosion			Priority $0F
$03 - Drone 1 (Slowest)			Priority $06
$04 - Drone 2				Priority $06
$05 - Drone 3				Priority $06
$06 - Drone 4				Priority $06
$07 - Drone 5 (Fastest)			Priority $06
$08 - Enemy Death			Priority $08
$09 - Flagship Death			Priority $09
$0A - Beginning Enemy Swoop		Priority $07
$0B - Final Enemy Swoop Loop		Priority $06
$0C - Bonus Life			Priority $0F
$0D - Coin Insert (Pokey Only)		Priority $0F
$0E - Intro Music, Channel 0		Priority $0F
$0F - Intro Music, Channel 1		Priority $0F

 

Note that sounds with the same priority and channel will cancel the prior one and start the new sound, regardless of the order played.

 

For TIA, the player shot and player explosion is in channel 0, and the enemy swoop (both parts), enemy death (both types) and drones are in channel 1.  Bonus life overrides channel 0.  Non in-game music doesn't matter.

So for Pokey, The Channel table should look like this:

 

.BYTE $03,$01,$03,$01,$01,$01,$01,$01

.BYTE $02,$02,$00,$00,$02,$00,$00,$01

 

...and also for Pokey, the CTLVOLTBL should look like this:

 

.BYTE $8X,$AX,$0X,$AX,$AX,$AX,$AX,$AX

.BYTE $CX,$CX,$CX,$CX,$CX,$CX,$CX,$CX

 

Finally, when calling the Coin or Title Tune sounds, set AUDCTL to $50.  Everything else gets $60.

 

Does all of this sound correct?  Sorry about the questions, but I want to make sure everything plays nice.

Thank you!

Edited by PacManPlus
Link to comment
Share on other sites

Everything looks correct except for coin insert ... let me look that over again ...

 

EDIT:  Yes ... coin insert is a 16-bit sound and as such, requires two tune indexes, which are in the .ASM ... so AUDCTL=$50, $00 and $01, AUDCx is $00 and $CX

 

Also, tune start, which is also 16-bit, requires $00 and $01 channels, and AUDCx as $00 and $CX respectively (i.e., first channel needs the volume set to zero)

 

So, these values:

 

$00 - Player Shot			Priority $08
$01 - Drone 6 (Super Fastest)		Priority $06
$02 - Player Explosion			Priority $0F
$03 - Drone 1 (Slowest)			Priority $06
$04 - Drone 2				Priority $06
$05 - Drone 3				Priority $06
$06 - Drone 4				Priority $06
$07 - Drone 5 (Fastest)			Priority $06
$08 - Enemy Death			Priority $08
$09 - Flagship Death			Priority $09
$0A - Beginning Enemy Swoop		Priority $07
$0B - Final Enemy Swoop Loop		Priority $06
$0C - Bonus Life			Priority $0F
$0D - Coin Insert (Pokey Only)		Priority $0F
$0E - Coin Insert, high order       Priority $0F
$0F - Intro Music, Channel 0		Priority $0F
$10 - Intro Music, Channel 1		Priority $0F

 

 

Channel table:

 

.BYTE $03,$01,$03,$01,$01,$01,$01,$01

.BYTE $02,$02,$00,$00,$02,$00,$01,$00,$01

 

CTLVOLTBL:

 

 

.BYTE $8X,$AX,$0X,$AX,$AX,$AX,$AX,$AX

.BYTE $CX,$CX,$CX,$CX,$CX,$00,$CX,$00,$CX

 

Otherwise yes, everything gets AUDCTL=$60, coin insert and tune start get AUDCTL=$50

Edited by Synthpopalooza
  • Thanks 1
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...