<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sneslab.net/mw/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vawlpe</id>
	<title>SnesLab - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://sneslab.net/mw/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vawlpe"/>
	<link rel="alternate" type="text/html" href="https://sneslab.net/wiki/Special:Contributions/Vawlpe"/>
	<updated>2026-06-10T08:28:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://sneslab.net/mw/index.php?title=User:Vawlpe&amp;diff=2273</id>
		<title>User:Vawlpe</title>
		<link rel="alternate" type="text/html" href="https://sneslab.net/mw/index.php?title=User:Vawlpe&amp;diff=2273"/>
		<updated>2022-11-23T18:46:02Z</updated>

		<summary type="html">&lt;p&gt;Vawlpe: Might aswell make a page for this ig :p&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Vawlpe pfp.png|300px|right|Vawlpe]]&lt;br /&gt;
Nerdy Romanian catgirl Vawlpe (Hazel) with constant identity crisis and a nick for messing around with old tech and speedrunning retro games and hardware. Mostly works on RetroMole and other programming/robotics projects in her free time, occasionally streams/uploads ROM-hacking, speedrunning, and devlog content on YouTube &amp;amp; Twitch. gremlin.&lt;br /&gt;
&lt;br /&gt;
== ROM-hacking/SNES projects ==&lt;br /&gt;
* [https://github.com/RetroMole RetroMole] (TBA, in early dev)&lt;br /&gt;
:Open-source cross-platform retro-game level-editor for various 8/16-bit console games, supports editing common graphics and map formats, applying assembly patches, applying [[IPS patch|IPS]]/BPS patches, an IDE-like interface  with a custom build system that re-constructs the ROM from a clean one and all the various extracted and modified sections, complete with plugin support to implement game specific systems.&lt;br /&gt;
&lt;br /&gt;
* RetroMole SMW &amp;amp; SMB Example Hacks (TBA)&lt;br /&gt;
:Example ROM-hacks for [[Super Mario World|SMW]] (SNES) and SMB1 (NES) made with RetroMole&lt;br /&gt;
&lt;br /&gt;
* SMW NG+ Patch (Lost to time, might re-write)&lt;br /&gt;
:Simple &amp;quot;New Game+&amp;quot; utility assembly patch that replaces the 1p/2p options with NG/NG+ options where the latter is hidden by default until a flag is set&lt;br /&gt;
&lt;br /&gt;
* Unnamed [[Super Mario World]] Kaizo Hack 0 (TBA)&lt;br /&gt;
:Dumb kaizo hack I probably won&#039;t finish lol&lt;br /&gt;
&lt;br /&gt;
== Socials ==&lt;br /&gt;
* Discord: Vawlpe#0116&lt;br /&gt;
* [https://twitter.com/vawlpe Twitter]&lt;br /&gt;
* [https://www.youtube.com/@vawlpe YouTube]&lt;br /&gt;
* [https://www.twitch.tv/vawlpe Twitch]&lt;br /&gt;
* [https://github.com/Vawlpe/ Github]&lt;br /&gt;
* [https://vawlpe.github.io/ Website]&lt;/div&gt;</summary>
		<author><name>Vawlpe</name></author>
	</entry>
	<entry>
		<id>https://sneslab.net/mw/index.php?title=File:Vawlpe_pfp.png&amp;diff=2269</id>
		<title>File:Vawlpe pfp.png</title>
		<link rel="alternate" type="text/html" href="https://sneslab.net/mw/index.php?title=File:Vawlpe_pfp.png&amp;diff=2269"/>
		<updated>2022-11-23T17:55:53Z</updated>

		<summary type="html">&lt;p&gt;Vawlpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vawlpe&#039;s profile picture&lt;/div&gt;</summary>
		<author><name>Vawlpe</name></author>
	</entry>
	<entry>
		<id>https://sneslab.net/mw/index.php?title=LZ1&amp;diff=2090</id>
		<title>LZ1</title>
		<link rel="alternate" type="text/html" href="https://sneslab.net/mw/index.php?title=LZ1&amp;diff=2090"/>
		<updated>2021-10-07T15:52:32Z</updated>

		<summary type="html">&lt;p&gt;Vawlpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:LZ1}}&lt;br /&gt;
LZ1 or LC_LZ1, as named by [[Lunar Compress]], is a lossless data compression format, used by [[A Link to the Past]] to compress graphics. It is also used by [[Super Mario World]] &amp;lt;sup&amp;gt;japanese version only&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Compression ==&lt;br /&gt;
&lt;br /&gt;
The compressed data consists of &amp;quot;chunks&amp;quot;, each with a header:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bits&lt;br /&gt;
76543210&lt;br /&gt;
CCCLLLLL&lt;br /&gt;
&lt;br /&gt;
CCC:   Command bits&lt;br /&gt;
LLLLL: Length&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the header byte is $FF, the end of the compressed data has been reached, and decompression will be aborted.&lt;br /&gt;
&lt;br /&gt;
Here is a list of commands bits which the LZ1 decompression function can use during the decompression:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
000    &amp;quot;Direct Copy&amp;quot;&lt;br /&gt;
       Followed by (L+1) bytes of data&lt;br /&gt;
001    &amp;quot;Byte Fill&amp;quot;&lt;br /&gt;
       Followed by one byte to be repeated (L+1) times&lt;br /&gt;
010    &amp;quot;Word Fill&amp;quot;&lt;br /&gt;
       Followed by two bytes. Output first byte, then second, then first,&lt;br /&gt;
       then second, etc. until (L+1) bytes has been outputted&lt;br /&gt;
011    &amp;quot;Increasing Fill&amp;quot;&lt;br /&gt;
       Followed by one byte to be repeated (L+1) times, but the byte is&lt;br /&gt;
       increased by 1 after each write&lt;br /&gt;
100    &amp;quot;Repeat&amp;quot;&lt;br /&gt;
       Followed by two bytes (small endian byte order, this being the only difference between LZ1 and LZ2) containing address (in the&lt;br /&gt;
       output buffer) to copy (L+1) bytes from&lt;br /&gt;
101    (Unused command)&lt;br /&gt;
110    (Unused command)&lt;br /&gt;
111    &amp;quot;Long length&amp;quot;&lt;br /&gt;
       This command has got a two-byte header:&lt;br /&gt;
       111CCCLL LLLLLLLL&lt;br /&gt;
       CCC:        Real command&lt;br /&gt;
       LLLLLLLLLL: Length&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Decompression ==&lt;br /&gt;
During the decompression, the decompressed chunks are outputted into a buffer in the RAM.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
You can use the LZ1 compression to mainly compress graphics. Technically you can compress anything with this format, but graphics is preferred due to their big size. Seeing the SNES isn&#039;t fast, the decompression takes a while to finish, so whenever you overuse the compression the loading time will increase.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
[https://fusoya.eludevisibility.org/lc/index.html Lunar Compress], a library by [[FuSoYa]] made to handle loading various game graphics format, including LZ1.&lt;/div&gt;</summary>
		<author><name>Vawlpe</name></author>
	</entry>
	<entry>
		<id>https://sneslab.net/mw/index.php?title=LZ1&amp;diff=2089</id>
		<title>LZ1</title>
		<link rel="alternate" type="text/html" href="https://sneslab.net/mw/index.php?title=LZ1&amp;diff=2089"/>
		<updated>2021-10-07T15:48:03Z</updated>

		<summary type="html">&lt;p&gt;Vawlpe: Create LZ1 page, mentions of addresses in SMW removed due to discrepencies with the Japanese version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:LZ1}}&lt;br /&gt;
LZ1 or LC_LZ1, as named by [[Lunar Compress]], is a lossless data compression format, used by [[A Link to the Past]] to compress graphics. It is also used by [[Super Mario World]] &amp;lt;sup&amp;gt;japanese version only&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Compression ==&lt;br /&gt;
&lt;br /&gt;
The compressed data consists of &amp;quot;chunks&amp;quot;, each with a header:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bits&lt;br /&gt;
76543210&lt;br /&gt;
CCCLLLLL&lt;br /&gt;
&lt;br /&gt;
CCC:   Command bits&lt;br /&gt;
LLLLL: Length&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the header byte is $FF, the end of the compressed data has been reached, and decompression will be aborted.&lt;br /&gt;
&lt;br /&gt;
Here is a list of commands bits which the LZ1 decompression function can use during the decompression:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
000    &amp;quot;Direct Copy&amp;quot;&lt;br /&gt;
       Followed by (L+1) bytes of data&lt;br /&gt;
001    &amp;quot;Byte Fill&amp;quot;&lt;br /&gt;
       Followed by one byte to be repeated (L+1) times&lt;br /&gt;
010    &amp;quot;Word Fill&amp;quot;&lt;br /&gt;
       Followed by two bytes. Output first byte, then second, then first,&lt;br /&gt;
       then second, etc. until (L+1) bytes has been outputted&lt;br /&gt;
011    &amp;quot;Increasing Fill&amp;quot;&lt;br /&gt;
       Followed by one byte to be repeated (L+1) times, but the byte is&lt;br /&gt;
       increased by 1 after each write&lt;br /&gt;
100    &amp;quot;Repeat&amp;quot;&lt;br /&gt;
       Followed by two bytes (small endian byte order, this being the only difference between LZ1 and LZ2) containing address (in the&lt;br /&gt;
       output buffer) to copy (L+1) bytes from&lt;br /&gt;
101    (Unused command)&lt;br /&gt;
110    (Unused command)&lt;br /&gt;
111    &amp;quot;Long length&amp;quot;&lt;br /&gt;
       This command has got a two-byte header:&lt;br /&gt;
       111CCCLL LLLLLLLL&lt;br /&gt;
       CCC:        Real command&lt;br /&gt;
       LLLLLLLLLL: Length&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
You can use the LZ1 compression to mainly compress graphics. Technically you can compress anything with this format, but graphics is preferred due to their big size. Seeing the SNES isn&#039;t fast, the decompression takes a while to finish, so whenever you overuse the compression the loading time will increase.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
[https://fusoya.eludevisibility.org/lc/index.html Lunar Compress], a library by [[FuSoYa]] made to handle loading various game graphics format, including LZ1.&lt;/div&gt;</summary>
		<author><name>Vawlpe</name></author>
	</entry>
	<entry>
		<id>https://sneslab.net/mw/index.php?title=LC_LZ2&amp;diff=2086</id>
		<title>LC LZ2</title>
		<link rel="alternate" type="text/html" href="https://sneslab.net/mw/index.php?title=LC_LZ2&amp;diff=2086"/>
		<updated>2021-10-07T15:06:56Z</updated>

		<summary type="html">&lt;p&gt;Vawlpe: Undo change about Long header ot using L+1, seems to have been an inaccuracy from smwiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:LC_LZ2}}&lt;br /&gt;
LZ2 or LC_LZ2, as named by [[Lunar Compress]], is a lossless data compression format, used by [[Super Mario World]] to compress graphics. It is also used by [[A Link to the Past]] and [[Super Mario World 2: Yoshi&#039;s Island]].&lt;br /&gt;
&lt;br /&gt;
== Compression ==&lt;br /&gt;
&lt;br /&gt;
The compressed data consists of &amp;quot;chunks&amp;quot;, each with a header:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bits&lt;br /&gt;
76543210&lt;br /&gt;
CCCLLLLL&lt;br /&gt;
&lt;br /&gt;
CCC:   Command bits&lt;br /&gt;
LLLLL: Length&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the header byte is $FF, the end of the compressed data has been reached, and decompression will be aborted.&lt;br /&gt;
&lt;br /&gt;
Here is a list of commands bits which the LC_LZ2 decompression function can use during the decompression:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
000    &amp;quot;Direct Copy&amp;quot;&lt;br /&gt;
       Followed by (L+1) bytes of data&lt;br /&gt;
001    &amp;quot;Byte Fill&amp;quot;&lt;br /&gt;
       Followed by one byte to be repeated (L+1) times&lt;br /&gt;
010    &amp;quot;Word Fill&amp;quot;&lt;br /&gt;
       Followed by two bytes. Output first byte, then second, then first,&lt;br /&gt;
       then second, etc. until (L+1) bytes has been outputted&lt;br /&gt;
011    &amp;quot;Increasing Fill&amp;quot;&lt;br /&gt;
       Followed by one byte to be repeated (L+1) times, but the byte is&lt;br /&gt;
       increased by 1 after each write&lt;br /&gt;
100    &amp;quot;Repeat&amp;quot;&lt;br /&gt;
       Followed by two bytes (ABCD byte order) containing address (in the&lt;br /&gt;
       output buffer) to copy (L+1) bytes from&lt;br /&gt;
101    (Unused command)&lt;br /&gt;
110    (Unused command)&lt;br /&gt;
111    &amp;quot;Long length&amp;quot;&lt;br /&gt;
       This command has got a two-byte header:&lt;br /&gt;
       111CCCLL LLLLLLLL&lt;br /&gt;
       CCC:        Real command&lt;br /&gt;
       LLLLLLLLLL: Length&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Decompression ==&lt;br /&gt;
&lt;br /&gt;
During the decompression, the decompressed chunks are outputted into a buffer which is either RAM or SRAM. SMW uses the RAM address $7E:AD00 as its decompression buffer.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
You can use the LC_LZ2 compression to mainly compress graphics. Technically you can compress anything with this format, but graphics is preferred due to their big size. Seeing the SNES isn&#039;t fast, the decompression takes a while to finish, so whenever you overuse the compression the loading time will increase.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
You can see an LC_LZ2 decompression routine setup at SNES $00:B888. The decompression routine itself is located at SNES $00:B8DE.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
[https://fusoya.eludevisibility.org/lc/index.html Lunar Compress], a library by [[FuSoYa]] made to handle loading various game graphics format, including LZ2.&lt;/div&gt;</summary>
		<author><name>Vawlpe</name></author>
	</entry>
	<entry>
		<id>https://sneslab.net/mw/index.php?title=LC_LZ2&amp;diff=2085</id>
		<title>LC LZ2</title>
		<link rel="alternate" type="text/html" href="https://sneslab.net/mw/index.php?title=LC_LZ2&amp;diff=2085"/>
		<updated>2021-10-07T14:41:26Z</updated>

		<summary type="html">&lt;p&gt;Vawlpe: Long commands dont add +1 to the length&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:LC_LZ2}}&lt;br /&gt;
LZ2 or LC_LZ2, as named by [[Lunar Compress]], is a lossless data compression format, used by [[Super Mario World]] to compress graphics. It is also used by [[A Link to the Past]] and [[Super Mario World 2: Yoshi&#039;s Island]].&lt;br /&gt;
&lt;br /&gt;
== Compression ==&lt;br /&gt;
&lt;br /&gt;
The compressed data consists of &amp;quot;chunks&amp;quot;, each with a header:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bits&lt;br /&gt;
76543210&lt;br /&gt;
CCCLLLLL&lt;br /&gt;
&lt;br /&gt;
CCC:   Command bits&lt;br /&gt;
LLLLL: Length&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the header byte is $FF, the end of the compressed data has been reached, and decompression will be aborted.&lt;br /&gt;
&lt;br /&gt;
Here is a list of commands bits which the LC_LZ2 decompression function can use during the decompression:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
000    &amp;quot;Direct Copy&amp;quot;&lt;br /&gt;
       Followed by (L+1) bytes of data&lt;br /&gt;
001    &amp;quot;Byte Fill&amp;quot;&lt;br /&gt;
       Followed by one byte to be repeated (L+1) times&lt;br /&gt;
010    &amp;quot;Word Fill&amp;quot;&lt;br /&gt;
       Followed by two bytes. Output first byte, then second, then first,&lt;br /&gt;
       then second, etc. until (L+1) bytes has been outputted&lt;br /&gt;
011    &amp;quot;Increasing Fill&amp;quot;&lt;br /&gt;
       Followed by one byte to be repeated (L+1) times, but the byte is&lt;br /&gt;
       increased by 1 after each write&lt;br /&gt;
100    &amp;quot;Repeat&amp;quot;&lt;br /&gt;
       Followed by two bytes (ABCD byte order) containing address (in the&lt;br /&gt;
       output buffer) to copy (L+1) bytes from&lt;br /&gt;
101    (Unused command)&lt;br /&gt;
110    (Unused command)&lt;br /&gt;
111    &amp;quot;Long length&amp;quot;&lt;br /&gt;
       This command has got a two-byte header:&lt;br /&gt;
       111CCCLL LLLLLLLL&lt;br /&gt;
       CCC:        Real command&lt;br /&gt;
       LLLLLLLLLL: Length&lt;br /&gt;
       Of note: In long commands, anything that says (L+1) earlier is just L, you don&#039;t add 1.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Decompression ==&lt;br /&gt;
&lt;br /&gt;
During the decompression, the decompressed chunks are outputted into a buffer which is either RAM or SRAM. SMW uses the RAM address $7E:AD00 as its decompression buffer.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
You can use the LC_LZ2 compression to mainly compress graphics. Technically you can compress anything with this format, but graphics is preferred due to their big size. Seeing the SNES isn&#039;t fast, the decompression takes a while to finish, so whenever you overuse the compression the loading time will increase.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
You can see an LC_LZ2 decompression routine setup at SNES $00:B888. The decompression routine itself is located at SNES $00:B8DE.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
[https://fusoya.eludevisibility.org/lc/index.html Lunar Compress], a library by [[FuSoYa]] made to handle loading various game graphics format, including LZ2.&lt;/div&gt;</summary>
		<author><name>Vawlpe</name></author>
	</entry>
</feed>