What's new
I agree about the pallet swaps, level 3 is very pleasing to my eyes, can't wait to fire this up! I spent a few months working on my DDP 1CC this year, and I'm really looking forward to all the changes and surprises. Great job!!
 
This is hyper impressive!! Wish I could help. Keep it up!
 
Now we're gonna talk about what everyone's been waiting for: Bugfixes

This lists some bugfixes they supposedly made for the actual campaign version. I can only find video evidence of some, but what the hell we fixed them all anyway. And more! For this section I really do have to give some major props to Olifante (you should join the forum here!) who graciously provided me with a very detailed ghidra file of dodonpachi disassembly, and helped work through a number of these bugs with me. He earned the #4 spot on the high scores ('OLI') specifically for his help with the boss 4 glitch.

Here's the full list of what was fixed.

The small star counter for 2P side is properly cleared at the end of each stage
Fixed, simple. A memory-clearing loop (0x13EE) was looking for a final address to stop doing its work, and it was one byte short, so it never cleared this value. cmpa.l #$103f96, A0 becomes cmpa.l #$103f98, A0 and we're done here. Sorry, no photo. You just don't accumulate stars across levels anymore, Player 2.


The Lock Glitch on Boss 4 is gone
If you haven't seen it, this is what it looks like. If you get the timing right, you can avoid the second half of the fight. And while I will admit it takes practice and timing to pull this off, I spent way too much time reprogramming the bullets in the second half of the new boss4 fight. Especially loop 2, it's awesome. So, yeah, you can't skip that anymore! Good luck :)
source.gif



When Boss 4 enters the screen, he no longer flickers for one frame.
I never really noticed that on my pcb but it happens in MAME all the time. That's gone too.
giphy.gif



P1 can no longer keep his chain going, when using a laser bomb, while in Maximum Bonus.
If those words don't mean anything to you, you weren't playing for score. We'll talk about revised score in a later post, but having this would have made P1 the de-facto pick for the new game. We can't have that, so this glitch is gone now! Boom! Here's what it used to look like... you can see how the chain counter just keeps going after the laser bomb finishes. Cheater.
giphy.gif



GLITCHO, the Double GP Glitch, is patched
This one is infamous. Read up on it here and watch the video here but basically this friendly little creature did not have a point value assigned to it, so if you killed it at the right time you could get so many extra points that we have to keep world-records listed as "glitch" or not.

glitcho.png

1702522342994.png

That sucks; he's patched. He's worth 10 points now, lol.


Midboss 2-3 extra bullets now fire at different angles
This one is covered in the previous midboss post. I did have to decide what was "right" and I will say here that the 'parent' originally had bullets that went two different speeds. So in a sense, making the duplicate bullets have two speeds seems right. But the explosion pattern is all about bullets multiple directions, so I went with that in the end.

..and last but not least

HIBACHI FIRES SAME SPEED FOR FINAL PATTERN BOTH PLAYERS
This one was not really a bug. It's not like there's some code in there that's like "oh hey it's player one, let's fire the lame bullets at him". That would have been great. Instead this is basically just the result of how they implemented load-balancing. Read Olifante's post linked at the top of the page for all the details. The short version is that now both P1 and P2 calculate their collisions on the same frame (except when playing co-op) so the 'slowdown experience' should be nearly identical. There's also a concern with one aspect of Hibachi that draws excessive load -- his decorative fire particles that float around him. I load-balance those too now. Here's some imagery using a nice lua script that Olifante also built. The tell-tale is the amount of red lines at the bottom, and the "Speed: %" on the left. Without balancing, P1 side can drop in to the mid sixties - here it's touching 67%. With balancing, both sides still drop frames but the speed is more like a stable 82%

giphy.gif
giphy.gif


Oh and I just had an idea about what is driving the "MAXIMUM" color changes...
 
Last edited:
Oh and I just had an idea about what is driving the "MAXIMUM" color changes...

source.gif
giphy.gif


On the left is footage from the WTN recording. On the right is me, with an invincibility cheat active :)
Similar spot in the game, similar schizophrenic behavior. The maximum color change trigger has been uncovered.
Any last guesses before I reveal it?
 
Is it flashing when you can maximize stars by dropping a bomb and turning bullets into stars?
 
Flashing when there are enemies explosions, in laser mode?
 
@ekorz it turns to red if you pick up a bomb in MAXIMUM mode ?
It initially turns red (and stays red) when you pick up the first extra bomb. But then it starts its weird behavior after your first hyper.
It's the weird behavior, shown above, that was so confusing... for a while.
Is it flashing when you can maximize stars by dropping a bomb and turning bullets into stars?
It will also flash heavily after a boss kill, when all the bullets are already stars. So no, but you're close.
Flashing when there are enemies explosions, in laser mode?
If you're laser-ing, and lots of enemies are exploding, it does have a greater chance to happen. But that's not the actual trigger for switching colors.

The actual trigger is... SLOWDOWN. Yes, it’s a slowdown sensor. No slowdown? The color stays. One frame of slowdown detected? Color switches.

The cpu has to finish computing everything that's happening, that frame, in 17ms. If it doesn't, the circuitry renders the same frame again. You see/feel that as a moment of slowdown. They just set a couple trackpoints in the code to see if the cpu finished in time, and if it didn't, they switch from the red to the blue palette next frame. So sometimes you'll just have one brief hiccup and the palette switches just once. Other times (like when you've got a lot of explosions, bullets, etc) it will toggle back and forth a lot.

Good times. And yes, I implemented it. So after your first hyper, the maximum bar flashes between color palettes as a slowdown indicator.
 
Last edited:
Getting down to the wire here. I was going to make these separate posts, but they're all so related, so here we go.

Hyper, Bullet Cancels, Bees, and you.
(The -New- Scoring System)

giphy.gif

Let's just take in this holy-shit moment for a second. There's a lot packed into these 6 seconds, so here's a short list. In the upper left corner, a second bar/meter creeps up from blue into white, and finally reaches the top. That's your Hyper meter. When it maxes out, you see a screen flash, a bullet cancel, the words "DOUBLE!" start scrolling in the HUD, and an invincibility/flame animation on the ship. Also note the HIT combo meter, which jumps instantly from ~40 to ~180 and then zooms insanely up to 220. (btw, this is the midboss bullet pattern on loop 2; pretty cool yeah?!). Finally, note the chain meter stays green even after the boss dies. Yes, your chain will never drop during the ~15 seconds it takes to drain down that Hyper meter.

If you play for survival, I will leave you at "invincibility" and you can just plan your route carefully to trip Hyper when you need it most. It's automatic. The invincibility is about as long as when you respawn from death. Speaking of death, if you die your Hyper meter goes to zero. Sorry.

If you play for score, read on... In this version you accrue HITs by killing enemies or sustaining damage on them with the laser. It's accrual is faster in certain circumstances, and notably so during Hyper. Also, bullet cancels add the on-screen-bullet-count to the HIT meter. There are several added bullet cancels to the game, keep an eye out. As a result of these new mechanics, and some new enemy placements, it will be common to chain entire levels, and it will be common to hold chain above 1000+ HITs throughout. Why is this important?

Bees.
They're important, now. Like really important.

Here's the tale of two bees. First, I give you:
"YAY I found a bee"
giphy.gif
1702693287953.png

(Don't spend all those 100 points in one place young'un!)

Now I give you:
"I held a decent chain and collected ALL the other bees"
giphy.gif
1702693257080.png

That was 100,000 x 298 (HITs) which is, pragmatically speaking, bigger than 100. Computationally speaking, it's also pretty big but not too bad. The problem is that the bees can of course be worth much more. If you collect all the bees, they top out at 1,000,000 per bee. And let me tell you that 1000000 x 2000 is actually too large of a number for the previous score-keeping engine, which only handled 8 decimal digits (they ignored the ones place, so 9 total). Code-wise it was a super big pain in the butt, but I'll save you that detail. You'll at least notice some repercussions like...

the high scores (and max HITs) wouldn't fit anymore, so they ditched the silver frame:
0000.png
0134.png


they reoriented the top of the screen so you could fit all those gigantic numbers next to each other:
0001.png
top_board.png


and of course, they 10x'd the extends!
0132.png


So I hope you enjoy the new meta, score-seekers.
Don't drop your chain, maximize the bullet cancels and Hyper windows, and get all the bees.
May your million point bees and your thousand-count HIT meters counter-stop all 10 digits!

P.S. If you get hyper while in Maximum, buckle up. It's called xHyper mode, and it persists until you die...
 
Last edited:
Back
Top