Banner
Views: 844,156,311
Time:
19 users online: AntiDuck, BillyILostMyPasswordScribbles, BrownBuddy, DasFueller, FelMay, FYRE150, ImCos, Infinity,  JamesD28, Jamie-Lee Brotheridge, K3fka, Kusrry, Mario and yoshi,  Samantha, shane, Sonikku, SwampMage, TomatoPhalanges, VecchiaZim - Guests: 44 - Bots: 77 Users: 46,398 (2,772 active)
Latest: ItsGoitsu
Tip: Proofread your message boxes for spelling and grammar mistakes.Not logged in.
Details for Single Screen v1.2
UberASM Repository - Single Screen v1.2 Show random
File Name: Single Screen v1.2
Added:
Version History: View
Authors: TheBiob
Type: Level, Game Mode
Includes GFX: No
Includes Hijack: Yes
Featured: No
Description: This will make the game only show one screen and scroll to the next when the player reaches it.

Uses 4 bytes of freeram as well as a hijack to disable the invisible screen barriers.

V1.1 Changes
Now works with LM3 level sizes
Start can optionally be aligned to a screen but isn't required to anymore
Options to disable horizontal/vertical scrolling separately
More options to change the size of the screen/when the scrolling triggers
Removed the "code per screen" feature since I think it doesn't really work with big level sizes*

V1.2 Changes
Fixed graphics bugging out when pausing the game during a screen transition.
You can choose between pausing the transition or not allowing to pause during transitions.

(Requested by Final Theory)

*yeah, I'm just lazy, if you need that feature you probably know what you're doing anyway so add it yourself.

Note: for best results, combine with the sprite scroll fix patch (be sure to change the default free RAM). Without this, sprites may not spawn when the screen is scrolled leftwards.
Tags: horizontal, lorom, sa-1, screen scrolling, scrolling
Rating: No rating
Download: Download - 2.33 KiB
137 downloads
Screenshots
Image
TheBiob
Originally posted by Deeke
Originally posted by Deeke
There's only one thing I want to bring up:

Guess I'm not done with requests. Is there any way to make it so that the the screen transitions only horizontally or vertically, and otherwise scrolls as normal?


The code already allows that. Check the asm for customization options.


Originally posted by Koopster
I was having trouble with the death routine as well which I initially though was a free RAM conflict, but it wasn't the case. I'm not sure if this is a retry exclusive issue, but death sets $9D to #$30 and this patch immediately sets to #$01, and I tracked that down as the reason why Mario's animation counter went bonkers. I fixed this issue by adding the following check under main:

Code
LDA $9D
CMP #$30
BNE +
RTL
+

edit: this doesn't only affect death, but any other instances of the original game setting its freeze flag as well. I came up with another fix. Under main:, replace the first LDA #$01 with:

Code
LDA $9D
BEQ +
EOR #$FF
BEQ +
RTL
+
LDA #$FF

I don't think the original game ever sets the value #$FF, so this should be safe. The problem here is that this code always clears the freeze flag when it ends, so that last snippet should stop it from running at all if the game is already frozen for another reason.


Interesting, can't say I've ever ran into problems with it but I guess that makes sense. I'm not sure that check takes everything into account but neither do I know why the retry uses $9D for anything death related in the first place.

The way it currently sets $9D was never optimal in the first place, I was just too lazy to come up with a better way so that's something I should probably look into if I ever decide to work on this again.
Posted by: TheBiob - | Link
Deeke
Originally posted by Deeke
There's only one thing I want to bring up:

Guess I'm not done with requests. Is there any way to make it so that the the screen transitions only horizontally or vertically, and otherwise scrolls as normal?
Posted by:  Deeke - | Link
Koopster
I was having trouble with the death routine as well which I initially though was a free RAM conflict, but it wasn't the case. I'm not sure if this is a retry exclusive issue, but death sets $9D to #$30 and this patch immediately sets to #$01, and I tracked that down as the reason why Mario's animation counter went bonkers. I fixed this issue by adding the following check under main:

Code
LDA $9D
CMP #$30
BNE +
RTL
+

edit: this doesn't only affect death, but any other instances of the original game setting its freeze flag as well. I came up with another fix. Under main:, replace the first LDA #$01 with:

Code
LDA $9D
BEQ +
EOR #$FF
BEQ +
RTL
+
LDA #$FF

I don't think the original game ever sets the value #$FF, so this should be safe. The problem here is that this code always clears the freeze flag when it ends, so that last snippet should stop it from running at all if the game is already frozen for another reason.
Posted by:  Koopster - | Link
TheBiob
Originally posted by FedoraFriday
While I like this patch, I just find it far too buggy (for my ROM anyway). I tried removing it by just running it with UBERASM and removing it from the level, but doing so crashes the game on load-up. If I leave it as is its fine, if I move it to another level ID its fine, but as soon as I take it out or modify it somehow it crashes the game. Also it does something funky with the death routine, not sure whats going on.


I'd recommend reading the readme included in the download #tb{;)}
This uberasm applies a small hijack for the screen barrier which needs the "remove.asm" patch to be properly removed



Don't know about the death routine being buggy, might be a freeram conflict, this uberasm uses a pretty common freeram address so not changing it might lead to issues
Posted by: TheBiob - | Link
FedoraFriday
While I like this patch, I just find it far too buggy (for my ROM anyway). I tried removing it by just running it with UBERASM and removing it from the level, but doing so crashes the game on load-up. If I leave it as is its fine, if I move it to another level ID its fine, but as soon as I take it out or modify it somehow it crashes the game. Also it does something funky with the death routine, not sure whats going on.
Posted by: FedoraFriday - | Link
Koopster
Thank you so much for this!
Posted by:  Koopster - | Link
Deeke
This is a fantastic routine, and it's surprisingly great for cutscenes.
There's only one thing I want to bring up: the "cut to black" setting feels too jarring. Could there be an option to make it fade to black and back very quickly (or any configurable time)?
Posted by:  Deeke - | Link
Meirdent
Tested with BSNES v87 (BizHawk), LM 3.11, SA-1 v1.32, UberASM Tool 1.4.
Works as intended, accepted.
Posted by:  Meirdent - | Link

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


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

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