I wrote a program to view and extract all the maps from the game. I would post it here, but it's written in C# using WPF because I'm looking for a job and recruiters keep asking me if I know C# so I figured I would write something in C#. It turns out that WPF isn't suitable for making a user-friendly level viewer, so I'm going to have to rewrite it in C++ and OpenGL (which is a shame because C# is a pretty decent language, and I enjoyed not having to deal with memory management). Until then, I'll just post the maps as PNG files.
Brief explanation: The Wing of Madoola sometimes has multiple stages that share the same level area(s). Because of this, I refer to each level area as a "room" since that's more concise. Stay tuned for my full disassembly of the game (or my C++ level viewer) and you'll get to know way more about the level format (at least if you can read 6502 or C++). Click on each map to see a full size version.
By the way, if you look at the maps before beating the game, that's cheating and you should feel bad about yourself. These are meant for the true fans.
In case anyone's curious, yes you can jump down from the Stage 4 area to the Stage 9 area (at least if you hack the game so you always have the Wing of Madoola). If someone figures out how to do it without hacking the game, send me an email with video proof (see the bottom of the main page) and I'll give you a shoutout here.
It's kinda cool how the developers shaped the top part of the map like the Wing of Madoola pickup, I didn't notice that until I wrote the level viewer because I'm an idiot.
In case anyone's curious, the reason why there are so many duplicate rooms here is because each one gets assigned to an individual item pickup (the game uses the "camera" coordinates to determine which item to mark as collected when Lucia picks one up). The game uses nested metatiles to store its levels, so the duplication doesn't actually take up any extra ROM space.