Some more fun Akai Katana slowdown pics

As an extra footnote to the CPU Slowdown post about Akai Katana, here’s two more fun pictures, showing other stuff that can happens.

First, there are actually some rare occasions where Blitter induced slowdown can matter. This happens very rarely in Akai Katana, but sometimes when there’s a lot of draws going on, the Blitter processing takes more than a frame, and we can see the CPU repeatedly doing ready checks by pulsing CS6.

As mentioned earlier, this is very infrequent in this game, and almost all slowdown is just CPU being slow.

The other fun thing is that the CPU often does enough work that it doesn’t even have time to process it in two frames, which means several frames of slowdown. The example below shows CPU processing and waits causing two extra frames of slowdown, but more can happen too.

It really feels like this was rushed out without much thought given to performance.


CV1000 CPU Slowdown investigated

When looking at CV1000 Blitter performance, one thing I noticed was that behavior seemed to differ heavily between games, and on some games, despite not seeing long Blitter operation lists, there is heavy slowdown.

The main offender here is Akai Katana, which will have very heavy slowdown when in Spirit mode, reflecting bullets. For some PCB footage, here’s an old video I made.

This slowdown comes despite not a lot of draws happening, which indicates that it’s related to CPU. I went ahead and verified this.

When there’s no slowdown and game runs on full speed, we can see the following behavior.

For captures below, the signals from top to bottom are:

  • SH-3 BUS Clock (CKIO)
  • IRQ2 (VSYNC)
  • BREQ (Blitter requests operations)
  • CS3 (RAM CS)
  • CS4 (U2, EEPROM, Audio CS)
  • CS6 (Blitter command CS)

First here’s a non-slowdown section.

No slowdown.

When a VSYNC pulse triggers, Blitter operations kick off. These finish well ahead of the next VSYNC. When looking at CS3 pulses, we can see that these become much less frequent a while before VSYNC. This is when the CPU has finished executing game logic and is waiting for the next frame. Since logic finished before a new pulse, things are fine here.

Now lets look at that chunky Akai Katana slowdown.


The main difference here is that the CPU is actively doing work longer than a single frame, as can be seen by looking at CS3 working past the next IRQ2 pulse. This means that the CPU will ignore the interrupt, and then start spin-waiting for a new one. This causes one frame of slowdown.

So what does that mean?

For some games like Akai Katana, getting the Blitter timing accurate is not going to do anything for accuracy in emulation.

What is instead needed is work on the SH-3 emulation.

Current MAME emulation of the CPU does not support the wait states introduced by RAM accesses that either are uncached, or results in cache misses. The actual cache behavior is described in-depth in the SH-3 datasheet an should be rather simple to implement, but getting the wait-state handling in place seems pretty hard (especially with dynamic recompilation enabled).

There’s also wait states for stuff like U2, Audio, EEPROM, … accesses, but compared to RAM this doesn’t seem to be a big deal.

For some other CV1000 games, the Blitter timing does matter though, so getting both parts right is needed to get something that is truly behaving similar to the actual boards.


Research into CV1000 Blitter performance and behavior

I’ve spent some time in December looking into CV1000 Blitter behavior to figure out how it performs in terms of slowdown. I feel I have a good understanding of how it works now, and have put together a doc describing it.

View/Download it here: CV1000_Blitter_Research_by_buffi.pdf

Why do this?

The current simulation of this Blitter in MAME is quite impressive as a high-level reproduction, but there doesn’t seem to have been much time spent researching the timing of operations.

This document aims to document how the behavior and timing of the Blitter actually works, and people can utilize this to make something that’s mostly accurate.

Also it is very fun to attach a Logic Analyzer to a PCB and figuring out how it works.

Preemptively Answered Questions

Q: But what about tuning Blitter Delay in MAME
A: Trying to tune the existing Blitter Delay slider in MAME doesn’t really make any sense, since the slowdown introduced from it doesn’t have anything to do with how it works on real hardware. It’s still arguably better than no slowdown at all, which used to be the other option, but that’s about it.

Q: Will this make CV1000 emulation run with proper slowdown?
A: Probably not really. While this should make it possible to have the Blitter part of emulation more accurate, there’s still no emulation of SH-3 Wait States either, which means that slowdown that’s due to CPU not having time to finish processing before VBLANK due to waiting will still not be accurate. I have no idea how much this matters for most games.’

Q: How much work is it to implement this?
A: It should be very simple. And the simplest thing to do would be:

  • Rip out all the existing Blitter delay logic.
  • When sending a Command to start Blitter Operations, estimate the time they will take to compute.
  • Don’t return “Ready” for the Ready Requests until that time has passed.

This still doesn’t reflect how it’s performs on real hardware (where Operations are running concurrently with the CPU, and requesting new Operations when the existing ones are done executing), but in practice I don’t think that should really matter in terms of experienced gameplay performance.


If you have feedback on the document, or suggestions for further work, please reach out to me on Arcade-Project forums, Github or in comments on this blog.


Cave 1CC difficulty list

Some Cave game difficulty rankings have been going around the Twitterverse recently, so thought I’d post my opinions and list, with some motivations behind the entries.

This is how I’d rank the difficulty of most Cave games in one credit. Videos of me clearing them are attached for all titles.

  • This does not cover the more difficult modes of the games, so no Mushi Ultra, SDOJ EX or similar.
  • This is for 1-ALL for multi-loop games
  • Entries are grouped into five difficulty groups.
  • Entires within groups are pretty similar in difficulty, but somewhat ordered by hardest (top) to easiest (bottom). This is much more vague than the overall grouping though, since the difficulty will be similar-ish.
  • Some comments why they are placed where they are is attached

“The List”

T1 (Harder)

  • Dangun Feveron (B-Roll or C-Roll)
    Very hectic game that’s easy to mess up in. Don’t go for TLB, and time out last boss (it takes a while). Still hard.
  • Dodonpachi Saidaioujou (A-Shot)
    Overall high difficulty. Last stage is really hard, and its best to try and save bombs for it. Ideally no-miss to S4 midboss extend, which requires pretty strict routing.
  • Ketsui (Type A)
    You get a lot of extends and bombs in this, but even considering this, a lot of routing is needed for the last three stages. The bosses are quite hard. The lock-on system rewards quick lock ons for survival which means strict routing.

T2 (Hard)

  • Ibara (Bond Type C)
    The harder bosses can be skipped by saving up Hadou charges, but you still need to deal with the last two stages, which are hard unless you manage the rank . This means intentionally dieing a lot, and correctly. Requires a good amount of routing, and Garregga-esque rank management.
  • Dodonpachi Saidaioujou Exa Label (D-Shot)
    Overall easier than regular SDOJ if keeping rank low, but still hard. Some boss/midboss patterns are significantly easier.
  • Guwange (Any character, Gensuke is easiest)
    Most of the difficulty comes after full life refill in last stage. Getting to it requires some work, but is easier than the rest of the game. Later part of last stage is hard to no-miss, and you want to have some resources for last boss. Final boss pattern is real random and can mess you up unless you have some life to tank it.
  • Guwange Blue Label (Any character, Gensuke is easiest)
    Overall easier stages due to bullet slowdown on Shikigami, but some patterns are harder (especially phase 1 of final boss). About the same difficulty to clear.
  • ESP Ra.De. (Yusuke or J.B.)
    Last two stages require good routing. S4 boss is a little hard. Final boss has a lot of phases and is tricky.

T3 (Medium)

  • Ibara Kuro (Dio Type D)
    No need to control rank like in regular Ibara. Some easy graze safespots for setting up score for extends. Still need to deal with stage parts of last two stages, but still an easier clear than vanilla.
  • Mushihimesama Futari 1.0 Original (N Palm)
    Plays similar to 1.5, but Ab Palm is garbage, and N Palm is a better option. S4 boss has a pattern with broken safespots that needs bombing. Last boss is also harder. Overall a much harder clear.
  • Akai Katana Exa Label (Type C)
    If keeping rank low, the patterns aren’t too bad. Just like in Shin, you can’t just reflect bullets on hard patterns, so you need to learn them, and bomb the trickier parts. Type C’s Spirit attack is extremely powerful and can melt hard boss phases like S6 boss phase 2.
  • Akai Katana Slash/Shin (Type B)
    Much harder than regular Akai Katana, due to Spirit form not reflecting bullets, and additional stage. Still not too bad. Worst patterns can be bombed, and the sword attack does good damage. Type B is real strong in this.
  • Progear no Arashi (Bolt + Nail)
    Recommend going for 11M extend. That gives a good amount of resources, which helps with the clear. Not much to say otherwise. Medium difficulty patterns, where the hardest can be bombs.
  • Espgaluda 2 (Asagi survival route)
    Tateha/Ageha is very hard, but Asagi can “cheat” due to her Kakusei being so strong. Save gems for bosses, then just melt them. Allows basically skipping last boss. Still needs routing and resource control though.
  • Muchi Muchi Pork (Any character, but Rafute is easiest)
    Some hard patterns, but you get 10+ lives pretty easily, and the bomb is strong, and can be used often. This allows for many mistakes while still clearing.
  • Pink Sweets (Kasumi B, inifinite lives glitch)
    Without infinite lives, this game is extremely hard. Setting up infinite lives require strict routing and careful play, especially on S3 midboss. I’d argue its similar in difficulty to many other clears.
  • Dodonpachi DOJ Tamashii (B-L)
    Basically same as BL. Maybe a little harder, but not much.
  • Dodonpachi DOJ Black Label (B-L)
    Needs some routing, but you get enough resources in terms of hyper and bombs to skip a lot of the harder parts. Some early game scoring is sufficient to hit all score extends.

T4 (Easy)

  • Dodonpachi (C-L)
    Just bomb when things are scary.
  • Donpachi (Type C)
    You get so many bombs, and are encouraged to use them due to the end of stage recharges. Some bosses have easy safespots.
  • Espgaluda (Ageha)  
    Very easy except for last boss, which is hard. Practice that a lot.
  • Mushihimesama Futari 1.5 Original (Ab Palm)  
    Very straightforward game. Ab Palm is real strong, not much to say here.
  • Mushihimesama Futari Black Label Original (Reco)  
    A little easier than 1.5 probably, but basically same thing.
  • Dodonpachi 2 – Bee Storm (Without triggering TLB)  
    Keep score low enough to not trigger TLB. Most boss patterns are 100% static so learn the safespots. Abuse energy recharge glitch.
  • Mushihimesama Original  
    Recommend using S-power for the good speed. Fast sparse patterns that aren’t too hard.

T5 (Very Easy)

  • Akai Katana Climax/Zetsu (Type C)
    Similar to regular Akai Katana but one extra stage, thats not very hard. Energy recharge glitch doesnt work, but doesn’t make things much harder.
  • Akai Katana (Type C)
    Spirit form + energy rechage means skipping all hard patterns are possible. All the slowdown also helps. Type C just melts things in spirit form.
  • Deathsmiles (Rosa)
    Learn a simple route for first stages. Use hyper and don’t bomb Jitterbug to get the 2-up, which means you can just bombspam last boss. Silly.
  • Dodonpachi DFK 1.5 (Strong C)
    You can just autobomb through this basically. So many bombs.
  • Deathsmiles 2 (Casper)
    Easy patterns. Easy clear. Bad game.

New game pickup

Picked up a Batsugun PCB, as partial trade for my Ibara Kuro. Looking forward to trying this out. My cab is currently in horizontal mode, so will have to rotate it first though. Might play some more horisontal games for now first.


Goodbye Ibara Kuro

One of my goals for this year is to sell games for more money then I spend, which means getting rid of some of the pricier items I own. This includes my Ibara Kuro PCB that I bought last year. This has gotten so expensive now that it’s hard to motivate keeping it, and I’ve finally sold it and shipped it away to its new owner today.

Ibara Kuro in my cab.

Ibara Black Label (also known as Ibara Kuro) is a remake of Ibara that plays nothing like the original game. Instead of playing like a typical Yagawa shmup, you have a dynamic rank system which increases with medal pickups, and resets on bombs and big cancels. In addition, there’s a multiplier that increments when grazing enemy bullets, which is not a system you’d typically see in Cave games.

Since the PCB is very rare and there’s so far no ports of this game on any non-arcade platform, the price of a PCB has shot up by a lot. While it’s a cool and unique game, I don’t think I’ll play it too much more (I prefer regular Ibara), and I’d rather spend that money elsewhere.

Ibara Kuro PCB

1CC Video and basic strategy

Ibara Black Label 1CC

For character selection, I like Bond Type D for his speed and bomb. I’m not sure how much of a difference it makes in practice.

Stage 1: My execution of the initial scoring is pretty flawed, but start by setting up a Hadou Gun, and build a medal chain to increase your rank. Then later on, move to the top left corner and graze the big stream of bullets, to build a big counter for a cancel, to get some points towards an extend. There’s another nice stream of bullets you can setup later on as well (watch the video). No specific strats for the boss. Don’t be afraid to bomb. No missing this stage shouldn’t be a huge problem

Stage 2: I tend to use 5 Way for most sections with small enemies, and rockets for the larger ones. I don’t do any impressive scoring at all on this stage, but just focus on keeping the medal chain alive. The trickiest section to route is the part before the two flame towers. I recommend just replicating the video for that.
On the boss, start by staying above the first phase and taking it out that way, similar to regular Ibara. For phase two, follow a Hadou Gun up the right side of the screen to build rank from medals, and then park yourself in the safe spot right below the health bar. This will allow milking a lot of points towards an extend.

Stage 3: Rockets feel quite strong here. Try to keep medal chain going and start getting a lot of bombs. I’ll use a hadou gun or two towards the later trains, but like to reach the boss with full bomb meter. For the boss, I’ll hadou it once when it gets to unmanageable, and that should be enough.

Stage 4: For the extend ship, I start by damaging it’s right side with a hadou gun activation that I fire on the left side. Then I can sit and safe spot it above the right bullets while building multiplier for some free points towards extend. 5 Way is very strong in this stage, and should basically be used at all times until the big end ships which Napalm work better against. Try to be at max bombs for the boss.
The boss itself is pretty easy in phase 1, but will likely require a hadou gun for it’s second phase which has very dense patterns.

Stage 5: For the first section, small movements with rockets are kep. You can use the same trick with double hadou guns to get full bomb pickups from the tanks as in big Ibara. Just place them in a way so that they’ll destroy both sides of the tanks tracks, without hitting the tanks themselves. 5 Way is very strong at the later parts of the stage since there’s so many small enemies.
For the boss, I quick kill phase 1 by placing a hadou gun shot at the edge of it’s sprites. It then has some pretty silly safe spots for phase 2, which trivializes that part of the fight (see video). You can milk this quite a bit if you want. The last phase is total bullshit and will need two hadou gun shots.

Stage 6: 5 Way is once again very strong. I trigger a pretty late third extend here in my video. Ideally I’d have it earlier, but three extends is what I’d typically end up with on my route.
For the boss, I just rely on my hadou gun shots for anything that looks scary. In my clear, I get really really awkward hadou gun shots, since hitting the enemies that the boss spawns will do very little damage. This causes me to have to do some pretty silly dodges. If you can instead tag the boss in its last phase with two of them, it should be enough.


Pink Sweets 1CC and Infinite lives tutorial

Pink Sweets is easily one of Caves hardest games, but on PCB there’s an infinite lives glitch that can be triggered, which trivializes the rest of the game.

This requires getting 4 extends without dieing, which is not much easier than a typical Cave 1CC. I got this a while ago, but finally took the time to record a quick commentary on how to trigger the glitch, if others are curious.

Extends spawn when you destroy 2500 enemies or destructible bullets, and then kill an enemy. This means you want to try to destroy as many destructible bullets as possible, especially on midbosses and bosses. This requires pretty careful planning.

Pink Sweets Infinite Lives Guide

On a good Stage 1 run, you should be able to get the zan counter to about 2000, triggering the first extend early on stage 2. If you trigger the first extend later in Stage 2, that’s not a huge problem since you can make up some on the Stage 2 boss, where I don’t care much about going for zan in this run.

S3 midboss is the make or break section of the run, since it’s very easy to mess it up, and it will sometimes give you random movements which makes it hard to trigger the deaths of side capsules when you want it.

For MAME practice, you can use the following lua script, to display the zan counter when playing, which simplifies routing. This will obviously not be helpful when playing for real on a PCB later as in the video above.

// Put this in pinkswts.lua
cpu = manager:machine().devices[":maincpu"]
mem = cpu.spaces["program"]
s = manager:machine().screens[":screen"]

function draw_hud()
 cnt = string.format("CNT : %d", mem:read_i16(0x0c4a3ab6));
 s:draw_text(225, 3, cnt);
emu.register_frame_done(draw_hud, "frame")

// And run game with mame64.exe pinkswts -autoboot_script pinkswts.lua

For completitions sake, here is my full 1CC using the glitch, but the rest of the run isn’t very exciting.

Pink Sweets 1CC (PCB)

The game itself is pretty interesting. It plays sortof like Yagawa’s earlier games, but is much less forgiving, and rank control isn’t as doable since you no longer get point extends.

Going for a non-infinite lives 1CC is very hard, and seems easiest by completely skipping item pickups and playing very carefully. It seems unlikely that I’ll get back to doing that, since this isn’t really one of my favorite games.

Stuff from the collection

Pink Sweets PCB
360 port. No infinite lives glitch on it, and not a great port. Arrange mode is fun though.

Messing around with Cave PCBs

Other than playing arcade games, I also enjoy messing around with the hardware, and I’ve finished up a few small CV1000 related projects recently.

U13 CPLD Replacement

Analyzing U13 behavior

I reverse engineered the behavior of the U13 CPLD, and wrote a compatible bitstream, that can be programmed to EPM7032 CPLDs. This allows repairing boards where the internal flash has gone bad. An indepth description of this is available at the project page:

Ideally, it would be better to use the original bitstream of the CPLD, but it’s read protected, and no public dumps are available, so this is the second best thing.

JTAG of CV1000 PCBs

I figured out how to use the JTAG port of the PCB’s to easily read/write the prog rom (U4) as well as the EEPROM. U2 reads/writes are also possible, but not recommended since they require some pretty sketchy bitbanging.

This allows for very simple dumping of U4, as well as upgrading to bugfix releases.

Upgrading a Mushihimesama PCB

I’m fairly certain that more than a few other people have also figured this out earlier, but the information was not public until now. More info is available at the project page:


Battle Garegga 1CC

After a few weeks of trying, I managed to get 1CC in Battle Garegga with Golden Bat on both the PS4 port and the original PCB this week.

Battle Garegga 1CC (Golden Bat) on PCB, October 2020
Battle Garegga 1CC (Golden Bat) on PS4, October 2020

Definitely a game that lives up to the hype. It’s also a game with a lot of stuff going on, so not going to try and write up any real strategies for it (just read about it on the shmups wiki). Rank management is extremely important for setting up the last few stages to be reasonably hard.

My Garegga PCB

Since I did write down my overall route, I’m pasting it below though, hoping that it might be useful. Otherwise I’d just watch the videos. I feel like this route is a pretty good approach to a survival 1CC.

My Golden Bat 1CC route for Golden Bat

Overall stuff:
While this is a survival run, it aims to hit the 7M extend (and can hit 8M). You want to do some scoring in Garegga to get more extends to lower your rank.
If you drop the medal chain before S4, reset the game.
I always mess up at least a few things in my runs, but this can be seen as the general goals I have.

Stage 1:
– Get two options.
– Die to boss once to reduce rank..
– End stage at 0.3-0.4M, 1 Life, rank at around 1-2%

Stage 2:
– Should be at about 1.5M after birds.
– For the big thank, count seven waves of red planes and then follow it down along the screen to pointblank it.
– Try to avoid activating “search hidden formation” which increases frame rank. This might mean not shooting some of the last enemies.
– Die to boss and go on top of it to quick-kill with a bomb.
– End stage at about 2M, 2 Life, rank at around: 1-2%

Stage 3:
-Bomb the initial rails and silos for big medal points.
-Afterwards, try to not pickup any bomb fragments.
– Die once before 3M (you should be at one spare lives afterwards).
– Get the hidden extend (reset the game if you don’t).
– End stage at about 3M, 3 Life, rank at around: 2-3%

Stage 4:
– Avoid bomb fragments unless you need them for destroying stuff.
– Bomb the small pipes before the orange tank, and all tank silos at the start of the stage.
– On orange tanks, start from the right tank, then move left (bombing the silos) and finally take the second right tank.
– Intentionally die to the four green tanks to do damage to their threads. Try to pick up 2-3 big bomb fragments.
– Leave five bomb fragments before the boss to setup homing formation.
– Die down to 1 spare lives before the 4M extend.
– End stage at about 3.8M, 1L, about 3 Bombs, Homing formation, rank at around: 2%

Stage 5:
– Avoid hitting max bombs since it increases rank.
– Power up to 4 options, max power.
– On Mad Ball, if run is going well it might make sense to not die and just bomb it. If you feel like your rank is too high, die to it and bomb it similar to on Stage 2.
– Start slayer at about 5M, 2L, 4-5% rank (or 3L, 8-9% rank if not dieing to Mad Ball).
– Leave five bomb fragments at end of slayer to setup for Homing formation at start of S6.
– Start Blackheart at about 5.5M, 2-3L, 7-11% rank and try to not die 🙂

Stage 6:
– Power up to max if you aren’t already. Raise autofire to 15hz. Get homing formation.
– Ignore medals (chaining them here are hard).
– Use one bomb on turret wall.
– Reach boss at 6M+, 3L, max power, homing, 3-4 bombs, about 25% rank.
– Bomb both phase 1 and 2.
– End at: 6.5M, 3L, 27-30% rank.

Stage 7:
– Blackheart 2 at 6.5M, 3L, 30% rank, some bombs.
– Die once probably. End at around 7M. Only use bombs on the pattern where he goes downwards if you need more score to hit the 7M extend due to messing up earlier.
– Reach Glow Squid at 30-35% rank, 3L.


Guwange and Blue Label 1CC’s and differences

Went ahead and rom-swapped my Guwange PCB into Blue Label to get 1CC on that as well. Very easy swap, and that mode is a lot of fun!

Guwange (Regular) 1CC from June 2020
Guwange Blue Label 1CC from September 2020

What is Guwange Blue Label?

Blue Label is a modified version of the game Guwange, developed eight years after the original game. It has a large number of changes (detailed further below) to its gameplay, but overall has the same enemy placements with changed patterns, and a modified gameplay system.

Originally it was made for a Cave event (matsuri) in 2007, but it was released as part of the Xbox 360 Guwange release, and the Blue Label roms could be extracted from that.

Turning your Guwange PCB into Blue label

Turning your regular Guwange PCB into Blue Label is as easy as switching two program roms (27C040 EPROM works) on the PCB. I use a TOP3000 programmer for burning the EPROM’s, but any EPROM programmer should work.

Guwange with Blue Label roms installed.
Blue title screen!

Version differences

A lot is similar between the versions. Characters play the same, enemy placement is the same and the chaining system is very similar. Blue Label has some significant changes to core gameplay though:

  • Grazing bullets (walking near them) when shikigami is active increases your chain.
  • Quick taps of A while holding autofire and having about 1000 gold will no longer cause additional gold to spawn.
  • Bullets touched by Shikigami will slow down for their full duration, while they speed up in regular Guwange afterwards. Killing anything with Shikigami will cancel all slowed down bullets.
  • You get a lot more gold in blue label
  • Some enemies have additional “revenge bullets” added to their deaths (especially noticeable on S6 boss).
  • Bombing will not stop your chain. Skulle meter stops being reduced at two skulls.
  • Some patterns are harder on Blue label. Especially the first pattern of the S6 boss.
  • The safespot on S4 boss (see 12:10 in regular 1CC above) does not work on Blue Label
  • S5 boss will grow during the boss fight until he covers half the screen!
S4 boss on Guwange Blue Label
S4 boss on Regular Guwange

1CC survival tips

Playing for survival is pretty similar in both games. In general, this game is heavy on dodging and not so heavy on routing, so most of it just comes down to practice of dodging the harder patterns.

I recommend not playing Kosame, since she does very poor damage compared to the other characters. Gensuke does the most damage, but the difference between him and Shishin isn’t that significant, so either of those are good.

There’s a full life refill on S6 if you kill enough of the early spiders, so beating the game can basically be broken down into two parts.

  1. Survive until S6 life refill
  2. Finish the rest of the game from there

The first two stages have very little in terms of threats, except the S2 boss. Using a bomb there is fine.
Ideally you want to not have lost a full life until S3, because there is a small life pickup from one of the statues at the end of the horizontally scrolling section (shoot the biggest statue first).

Stage 4 has a one-bar life pickup from the midboss. If you have more than two bars of life here and want more bombs, consider dropping down to the second bar to get two bombs back. Section before boss often needs a bomb. Boss is not too bad.

On Stage 5, you want to practice a route for the spinning vampires. After you shoot them, you need to step on them in order for them not to respawn. The section before the boss can be tricky, so consider bombing there. Boss is generally not that hard. Patterns are easy to memorize, with the exception of the very fast ones towards end of phase 1, which may need a bomb.

Stage 6 until the spiders is not too bad, but after that things get real tricky, and I don’t have a lot of specifics tips here other than to just practice this section a LOT. You want to have about 2 full life bars reaching the boss, so you can fill up to around full health with the health pickup of the boss.

The last pattern of the boss is real rough, and you want to preserve as much life as possible for it, so you can tank some hits. It seems generally better to be hit by the yellow orbs than the blue bullets. The last pattern is highly random, so hope for good random numbers!