News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Lenophis

Pages: [1]
Up first, Super Communist Mario 3!

Here's the readme to skip:
Code: [Select]
Title: Super Communist All Stars
Author(s): Lenophis
Version: Beta 1
Date: September 19, 2018 4:23 pm
Applies to: Super Mario All Stars (U), Super Mario 3 specifically
Tested on: Snes9x v1.53, bsnes accuracy core, SNES hardware via SD2SNES

Contents: Super Communist All Stars.bps
          Super Communist All Stars.ips
          Super Communist All Stars - readme.txt


A silly "what if" hack I did because Commie Mario 3 was awesome.

About this hack
This hack was inspired from work done by splixel and KP9000, the authors of
their individual Communist Mario hacks. The premise is the same for this hack:


Collecting coins is seen as greedy Capitalism, and is therefore the enemy of
the Communist state. Avoid them at all costs!

How to patch
The archive comes with two patches, a BPS and IPS. You can use Floating IPS to
patch the BPS, or Lunar IPS for the IPS.

Patch this to Super Mario All Stars, with no copier header present.

Load up in your favorite emulator or flash cart, and load up SMB3. Currently
this hack only changes SMB3. SMB1 and Lost Levels may be on the horizon. We'll

Differences between Communist Mario 3 and this hack
Coins will now remove *all* powerups upon contact, making them far deadlier
than the NES hacks' counterparts.

Damage taken from coin contact also gives a *smaller* invincibility window!

Taking damage from any other source (ie enemies) will give a *longer*
invincibility window, since Mario 3 generally had too short of a window in the
first place.

Invincibility from Star power (Diplomatic Immunity Star) is slightly longer now.

The N-Spade game gives far more rewards now. Any powerup Mario or Luigi can use,
as well as utility items can all show up.

Lots of Hammer Bros! Each world has a minimum of 1 more Hammer Bro encounter!
Some will have more. You have been warned.

Beware the Boom Boom!

The rewards from Princess Alexandria (formally Peach) have been shuffled around.

Goal cards remain, and they may give you a random item for every three that
you collect! You will get an audio cue to hint at which item you get.

The P-Switch timer has a longer length, due to SMB3 All Stars having too short
a timer for it.

Known issues!
Mario and Luigi do not do the shrinking animation when in a fully-powered state,
because the sprite becomes glitched when it does.

The P-Wing's palette in the N-Spade game is technically wrong, but it looks
good enough that I don't want to fix it without further-breaking other palettes.

Speaking of palettes, the mini-game houses palettes are off now because the
Hammer Suit insists on using 8 colors, and *something* had to #getreqt.

Spade mini-game still increases the death counter (formally lives counter). They
will be repurposed.

The font tweaking is incomplete. I may just scrap it and use a font from
Pandora's Box.

The palettes for Hammer Bro rewards are off in some cases.

The palettes for Princess Alexandria's rewards are off in some cases.

What still needs to be done
More text needs to be changed.

Graphics need to be changed.

Probably something else I haven't thought of.


splixel - Original Communist Mario creator for Super Mario Bros (NES).

KP9000 - Original Communist Mario 3 creator for Super Mario Bros 3 (NES).

snarf - assembly assistance with KP9000 and in general.

rainponcho - For help figuring out a really stupid bug with doors in castles.
You rock!

DahrkDaiz - For being the encyclopedia of SMB3.

MetroidMst - For beta testing.

It's a big twist from KP9000's Commie Mario 3 hack, for the NES. This one adds more RNG, since the state absolutely will not make it easy for the working man.

For now, Warp Whistles, 1-up Mushrooms, and Spade Extra Lives games are still in. They will be removed in future versions.

Up next, The Dragon's Den!

The Dragon's Den is a self-contained randomizer. All you need to do is patch it up and go. You do not need to have played Final Fantasy VI before to play and/or enjoy this hack.

Code: [Select]
Title: Dragon's Den
Authors: Lenophis
Version: Beta 1a
Date: September 30, 2018 11:14 pm
Applies to: FF6 (US version) v1.0
Tested on: bsnes accuracy core, SNES via SD2SNES

Contents: Dragon's Den Beta 1a.bps
          Dragon's Den.txt


A silly hack of Final Fantasy VI. Emperor Gestahl wishes to test your wits.
Are you up to the challenge?

Although Gestahl will summarize what the hack is about, chances are you aren't
going to read that. Don't worry, I have plans for that.

Coming soon!!!!

Custom songs (provided they work on hardware). I have plans for two at the
moment, but more may follow!

Bug fixes! Mainly battle bugs, but other bugs that may hinder the den's progress
will also be fixed.

More maps to show up! Currently 48 unique maps are in the pool, and now that
things have been streamlined a bit better, more maps can be added.

Battles are currently not really touched at all, except for formations. No stats
have been adjusted yet.

Renaming of specific items, spells, monsters, and equipment.

Updated item descriptions.

Reworking treasure logic.


How to patch:

Go get FLIPS if you don't have it...

...and patch it to an FF6 US rom v1.0 with no header, and you're good to go.

The headerless v1.0 rom has the following checksums:
MD5: e986575b98300f721ce27c180264d890
SHA1: 4f37e4274ac3b2ea1bedb08aa149d8fc5bb676e7
CRC32: a27f1c7a

Things changed since previous alpha (and beta):

Fixed Tzen's map. No exits would be available if you rolled the map. Effectively
means you won't be softlocked/stuck if you reach Tzen.

Tweaked the song logic so songs can change every 7 to 11 rooms now. There is
still a base 19.92% chance to skip once it reaches the magic number.

Lowered the power of every Blitz.

Fixed the Burning House. Two of the exits were broken.


Configurable controls are now in. They do not yet work with Blitz inputs in

Step count will now read 0 when starting the game.

In-game time will now be 0:00:00 when starting the game.

When a Desperation Attack is executed, the game will now choose one from the 12
at random.

Added assassin17's Sketch Fix and Jump Megafix.

Added the evade fix. Physical attacks will no longer look at magic evade.

Vanish/Spell (notably Death) has been fixed. Vanish will be removed from a
target whether an instant-death spell connects or not.

Rippler fix has been applied.

Timers associated with status and their automatic removal have been fixed.
Notably, if a status is manually removed their timers were not reset.

Targets under the influence of the Air Anchor will no longer die with a poison,
regeneration, or seizure tick, who are brought back to life with
Life 3 (Auto-Life), or who have a status automatically removed.

The Throw command will be disabled if the user is Blinded.

Attached an MP cost to the Shock command.

Pray and Shock will be disabled if the user is an Imp.

All commands have had their wait timers adjusted. Some are faster, but many
are slower.

Another World of Beasts and Silent Light have been added from Pandora's Box.

Cancel-dashing has been added. Encounter rate is slightly higher if you use

Encounter rate goes up the more rooms you visit.

Monster stats go up the more rooms you visit.

Gestahl will report on how many steps you've taken with the cancel-dash, how
many times you've fled, how many battles you've fought, how many rooms you've
visited, how many espers the Den has given, how many spells the Den has given,
and how many treasure boxes you've opened.

Stamina now adds to HP and MP growth on leveling.

Added in more status outline auras. Purple is Seizure, Orange is Regen, Life 3
is yet to have a color assigned.

The ATB gauge will now change color based on the status of the player. Red for
Haste, Pink for Stop, and Gray for Slow.

HP displayed will change colors based on if the player is at near death or dead.

Applied ArmorVil's SwdTech Speedup patch.

Rages are added to the pool after battle.

Dances and Lores will now be added if the user has the command. Their normal
rules to learn still apply.

Genji Glove damage reduction will no longer apply to users without two weapons

FC 05 (basic counter attack check) will no longer become an Omni-counterattack.

Economizer now reduces MP cost by 75%.

Spell names have been increased to 9 letters (technically 8 plus the icon).

Lores and the "monster spells" have been increased to 16 letters.

Player can decide if they want to listen to battle music or not. Option is in
the Config menu.

Rearranged the item properties screen so all 8 elements can be displayed per
category, and also allows for all 8 elements to appear.

Added more item type descriptions to the item menu. Item names will not be

Up to five Lores can be added to the pool at startup.

If a player has the Tools command, you are guaranteed to start with either the
Autocrossbow, Bio Blaster, or Debilitator.

If a player has the Throw command, some throwing items will be added to the
item pool. Quantities can vary.

If the Den attempts to give an esper, whether one is given or not, all players
will receive a stat boost.

You have less than a 1% chance to start the game with an esper.

At the start of the game, you will be given a variable assortment of items.
Quantities can vary.

Maps currently in the pool:

Narshe, Narshe mines, Figaro Castle, Nikeah, Mobliz (WoB),
Mobliz (WoR), Kefka's Tower (various rooms), Vector's Imperial Castle,
Doma Castle (indoors), Mt. Koltz, Cave of South Figaro, Zozo, Phantom Forest,
Three Stooges section of Cyan's Dream, Daryl's Tomb, Albrook (indoors),
Cultist's Tower, Thamasa, Burning House in Thamasa, Returner's Hideout,
Cave of the Veldt, Cave of the Sasquatch, Dragon's Neck Colosseum, South Figaro,
Imperial Camp near Doma, Magitek Research Facility, Espers Gathering Place,
Mt. Zozo, Tzen (WoR)


Madsiur - Some editor and assembly assistance.

Gi Nattak - Some event scripting and assembly assistance. Also beta testing.

Aerdan - Beta testing.

Imzogelmo - For all of the tools, knowledge, and pretty much everything else
you were awesome for during Pandora's hey-day. Viva la hax!

Dragonsbrethren - For all of the tools, knowledge, and pretty much everything
else you were awesome for during Pandora's hey-day. Viva la hax!

assassin - For a bunch of patches.

Master ZED - Original person to come up with the basic idea that this hack would
employ. Also for bug fixes.

JCE3000GT - Music?!

Torgue - I have one question, and one question only. EXPLOSIONS?!

Dessyreqt - Beta testing.

ArmorVil - SwdTech Speedup HYPE!

Nitrodon - Beta testing.

LeviathanMist - Beta testing.

Many more to be mentioned soon...

Both hacks will work on hardware and your favorite emulator. Both are still in beta stages, though Super Commie Mario 3 is closer to completion. Any feedback and questions are welcome. Enjoy!

Personal Projects / Dragon's Den
« on: December 29, 2017, 11:58:21 pm »
The Gestahlian Empire has chosen you!

Quote from: Readme
A silly hack of Final Fantasy VI. Emperor Gestahl wishes to test your wits. Are you up to the challenge?

This hack is effectively a randomizer, and can be likened to the Ancient Cave hack of FF5, or the Ancient Cave itself from Lufia II: Rise of the Sinistrals. This is broken down a bit more though. The hack will be entirely self-contained, no outside program is ever needed to generate a seed or anything else like that. Just load it up in your favorite emulator and go.

Object of the hack: SURVIVE. Last as long as you can. You will occasionally be rewarded by the Empire for progressing through the Den. However, monsters will continue to get stronger the deeper you go. As of now, no "end" is planned, but with some of the bosses I'm including an ending of some sorts may happen.

Gestahl showing you the avatars you can choose from.

You can choose your palette!

Obviously, you can name your avatars.

Once four members have been chosen...

Starting stats are randomized.

Starting abilities are randomized.

Starting equipment is randomized!

Minor changes to the config menu. You have the option of disabling battle music if you just want to chill out to the BGM.

Configurable controllers cause why not.

Here's a video showing off preliminary treasure chest logic. Very preliminary video showing off encounter logic, sorta.

And so much more that screenshots really can't do justice.

This hack will run on the SNES console. It has been tested on console and the bsnes accuracy core. Public testing will commence in the near-future. Suggestions are welcome, but I make no promises that they won't fall on deaf ears. Being a dick, sarcastic, or just crass will earn silence in return.

Obligatory disclaimer: This is in no way that silly and pathetic dungeon that was in Final Fantasy VI Advance. It will not be included. It should die and feel bad.

Stay tuned for updates.

Help Wanted Ads / Super Mario All Stars
« on: May 14, 2017, 01:51:16 pm »
So I'm doing a small hack for Super Mario Bros 3 for Super Mario All Stars, but I've hit a really odd snag I can't figure out.

Going through this door to Boom Boom...

Takes you back to the first room of the fortress.

Going through the spike room door in the world 2 fortress also does the same thing, takes you back to the first room of the fortress. The only thing either of these rooms have in common is both rooms scroll.

I updated the HUD code to support 3-digit coin numbers. If I don't include the updated HUD, the doors work fine. That leads me to believe my HUD code is broken in some fashion:
Code: [Select]
org $29E6ED

LDA $1D80,X  ; with indexing, it should be at $1DA2 for mario
ADC $0422
STA $1D80,X
BCC _ThirdCoin  ; first logic check, making sure a third digit is incremented!
INC $1D82,X
; so now we need to do display stuff, essentially just adding in support to increment the third digit
JSL $3BF400  ; update coins
STZ $0422

padbyte $00 : pad $29E72F

org $3BF400
REP #$20
PHA  ; save upper A before it gets destroyed, just in case it's needed
SEP #$20
LDA $1D82,X
LDA $1D80,X
REP #$20
CMP #$03E8  ; 1000 coins?
BCC not_maxed_out ; this branch will generally always be taken
; but if for some reason it's not, let's do max numbers
PLA  ; restore A
SEP #$20
LDA #$E8
STA $1D80,X
LDA #$03
STA $1D82,X
LDA #$99
STA $1F30
STA $1F48
STA $1F49

STA $1F60  ; store it away for now
SEP #$20
LDA #$03  ; 3 loops
STA $1F62
PHY  ; preserve Y, we likely need it
LDY #$00
REP #$20
LDA numbertable,X
STA $1F63  ; for math
STZ $1F65  ; and more math
LDA $1F60  ; load our original value
SBC $1F63  ; and subtract our LUTs value, either 100, 10, or 1
BCC mathloop2  ; if carry is clear, we wrapped
STA $1F60
INC $1F65
BRA mathloop3
ADC $1F63
STA $1F60  ; effectively restoring our original value
SEP #$20
LDA $1F65
ORA #$90
STA $1F67,Y
DEC $1F62
BNE mathloop1
REP #$20
SEP #$20
; now that all of the conversions are done, we need to get them to display
LDA $1F68
STA $1F48  ; ten's digit
LDA $1F69
STA $1F49  ; one's digit
LDA $1F67
STA $1F30  ; hundred's digit

DW $0064
DW $000A
DW $0001

I've used different values for my math, including scratch DP and other locations in ram that don't look like they're used. I've run comparison traces from original and this hack, and no appreciable differences have been spotted. This HUD is updated every frame, but doesn't execute while Mario is in the process of going through a door. The stack is still stable, correct bank is still in play, and register sizes are what they should be.

My best guesses are either I've triggered some goofy copy-protection, or my code is just too slow. If it's too slow, it's only by a matter of cycles, since the vanilla game uses a rather sloppy method to do 2-digit coin display.

Would anyone be willing to take a look at it and see what could be wrong?

ROM Hacking Discussion / FF6 randomizer
« on: August 27, 2014, 03:02:03 pm »
Hi ho. Dessyreqt and myself have been working on a little project for Final Fantasy 6, aptly called "FF6 randomizer." You can find it here. It is meant to just have some fun, and if racing is your thing, you can race a buddy with this as well. Current version is VI, released on October 15, 2014.

What this does randomize:
  • Character starting stats. It takes the maximum stat a character has, for instance Gau's 99 battle power, and the lowest, Strago's 10 battle power, and picks a number in that range for each character. Most stats will generally be higher as a result.
  • Treasure chests. All treasure chests in the game, save for the Striker in the Cave of the Veldt, have been put into tiers and will be chosen at random. This means you will not get a Ragnarok in Figaro Castle. If a chest contains a Potion, that chest will have something similar to a Potion. Also because of the tiers, a couple of Monster-in-a-Boxes have been added.
  • Character skillsets. Terra gets Rage? Sabin can Steal? Umaro can Runic? Sure, why not. To account for non-Gau getting Rage, and because of Gau's recruitment in the WoR, Leap has been removed entirely. Don't worry, leaning Rages is very, very easy now.
  • Natural abilities. The starting Rages, Lores, and spells of whoever has those skills has been shuffled around.
  • Shops! Items that appear in shops are shuffled around, except the Sprint Shoes. Any shop that sells the shoes will still have them.
  • Character names and palettes. Should be fairly self-explanatory.
  • Equipment. Specifically, who can equip what. This also accounts for starting equipment.
  • Espers. The spells they teach, and the rate they teach at have been shuffled around. It will be generally easier to learn spells now. However, there is no guarantee every spell will be available.
  • vVI - Colosseum items. The items you win in Dragon's Neck have been shuffled around.
  • vVI - Enemy drops and steals. They have been grouped into a tier system similar to the treasure chests and shops.
  • vVI - The RNG table. How a random number is fetched hasn't been changed, but the table from which those numbers have been generated are.

Bug fixes:
  • vVI - Psycho Cyan. Cyan, under certain circumstances would counter-attack his own attacks, which will eventually kill all enemies on the field.
  • vVI - Vanish/Doom. Vanish will now behave according to how it does in Final Fantasy VI Advance.
  • Evade. The evade stat was never referenced for any dodging, so the stat was useless.

New feature!
The interface of the randomizer will now let you set your configurations of the game before you generate your rom, basically so you never have to do it unless you need to change something mid-game. Whatever settings you use will be saved so you never have to redo them for each new rom.

Just in case the text above doesn't tell the whole story, both Dessy and myself have streamed a few sessions of the randomizer. My older one from mid-July can be found here, and a highlight from Dessy from just 3 days ago (August 24) can be seen here. While the whole video is still there, you can watch that too, but with recent changes to Twitch it won't be available for very long.

What this does not, and will not change, ever:
  • Dialogue
  • Story

So yeah, please check it out, and if you have any bugs to report, do so here so we can squash them! Any feedback is also welcome! Most importantly, have fun! :laugh:

Clarifying who did what:
Dessyreqt did all of the UI/program stuff, and I did all of the game hacking stuff.

ROM Hacking Discussion / What's a demo? Open that box and find out.
« on: July 17, 2013, 02:33:56 pm »
The most highly-unexpected-update of all time! May the haters hate and the enjoyers enjoy.

Pages: [1]