Views: 853,264,522
18 users online:  Anorakun, chickaDEE Magazine,  E-man38, GlitchedRS, HamOfJustice, Hayashi Neru, JonnyManjiro, josee_544, kiki79250, MecchaSugoiTntn,  Ninja Boy, person311, Schneider912, shovda, Swaguy14256, thebros_grimm, tjb0607, Zandro - Guests: 54 - Bots: 62 Users: 47,065 (2,511 active)
Latest: frolicswithmoose
Tip: Try not to use the exact same background more than once or twice in a row.Not logged in.
Profile for xfix
Name:   xfix
Forum posts:  1328 (0.34 per day) (View)
Forum threads:  59 (22.51 posts per thread)
Since:  (registered for 10 years, 7 months and 3 days)
Last post:  , in [104] I hope I win (The 12th Vanilla Level Design Contest)
Last activity:  (7 hours, 50 minutes and 14 seconds ago)
Files:  View
Submissions:  6 (View)
Local time:  (1 hour from the server)
Groups:  JUMP Team
User Bio
Oh no, have some very experimental spoilers:
Hello, spoilers. How are you today?
Another spoiler, just for demonstration.

Neat tricks (vanilla)

Vanilla 1UP point checkpoints:
Super Mario World has four 1UP checkpoints objects. They don't appear if you already collected them all in a level (even if you die), so they can be used for checkpointing. Essentially, you can hide blocks (for instance warp pipes) by putting 1UP checkpoints over those. Then, when time comes you can guarantee getting 1UP checkpoint (by putting multiple 1UP checkpoints in a row).

Display Level Message 2:
Put two Display Level Message 1 sprites in the same place.

Inverse switch palace blocks:
To be written, but I somehow managed to do that in vanilla (hint: bottom tiles of palace switches are solid, the object doesn't appear when switch is already pressed, so you can put something below it).

Neat tricks (ASM)

Hardware registers:

Disable statusbar IRQ:
	LDA #$01
	STA $0D9B

JSL to subroutine ending with RTS (credit: I don't know, possibly Alcaro):
This code works by pushing five bytes on stack (bank, return address, address of byte 6B (RTL) minus 1 (to handle PC implicitly changing) in a given bank. Then it jumps to RTS function, which uses RTS opcode to move PC to RTL opcode, which returns to a provided location
PEA.w .ret-1
PEA.w $varies
JML $subroutineaddress

varies table depending on bank (fast ROM banks are identical, so change 8X into 0X):
00 - $84CE
01 - $80C9
02 - $B888
03 - $827E
04 - $8574
05 - $8124
07 - $FC50
0C - $9398
0D - $A104
7X - don't use eval with untrusted data
Show Trophies
ROM Hacking Contests

Other Contests

Site Events

SMW Central




Sample Post
Originally posted by Sample quote

Sample code

Sample post

Legacy ports zip (now that those went down because Dropbox)

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2020 - SMW Central
Legal Information - Privacy Policy - Link To Us


Follow Us On

  • YouTube
  • Twitch
  • Twitter


  • Super Mario Bros. X Community
  • Mario Fan Games Galaxy