I wrote a .NET program which draws and displays the levels in Seiken Densetsu 3. It's a WIP build, and unstable so don't try to edit anything. You can move between level indexes with no problems, though. All 1114 levels draw flawlessly as far as I know, and you can export all levels as images too. I'm only releasing this if anyone out there is willing to reverse engineer the decompression code and make recompressing and saving maps possible. If it never happens, no big deal. In case anyone can expand on this, they're welcome. I'm probably not going to work on this anymore because it's just way too much work, way more than I should be willing to invest time in (more than I already have, at least).Here is the ROM map.
Almost all offsets documented are level-related.
Here is the build: http://home.comcast.net/~giangurgolo/MAPJESTER.zip
Here is the source (the reason for this thread): http://home.comcast.net/~giangurgolo/MAPJESTER_v1.0_20110316_001131.rar
Note that this is a WIP build, not even a beta, so it is not capable of saving. I put an architecture exporting feature which lets you export all the elements of a map into a single file and import it into another game. Lazy Shell v3.5 has the import option available (not released to public yet). Video demonstration of architecture porting.
The decompression is in the Comp.cs file (in the Static folder). SD3 has at least FOUR different compression formats (one each for level graphics, tilesets, solidity, and tilemaps), and possibly more but only these four are used in levels. Ignore the compression code at the beginning of the file (it's for FF5); the 4 SD3 decomp functions are obvious (marked by _SD3). Commented lines are the ASM addresses converted into C#; some functions are named based on the offset of subroutines used by the 4 decomp functions. DP_## variables are named based on the direct page registers in the 65816 asm. The buffer array is where the decompressed data is stored and used by the program. I tried simplifying the code from the ASM to C# conversion as much as possible.