Dynamic Xtreme Quick Start
| English | Português | Español | 日本語 |
This guide explains how to perform a basic Dynamic Xtreme installation on Windows or Linux.
If this is your first time using the tool, follow the steps in order. You do not need to understand the system's internals to install it.
Requirements
Dynamic Xtreme requires the .NET 8 runtime. Download and install the version for your operating system from Microsoft's official website:
The tool supports Windows and Linux. You only need the .NET runtime, not the full SDK.
You can download Dynamic Xtreme from SNEStorage: SNEStorage - Dynamic Xtreme
Prepare your resources
Before running Dynamic Xtreme, add all the resources you want to install to your project.
Resources for PIXI and UberASMTool
Current resources usually include their
*.asm or *.json file along with the files they
need. Copy the entire package without changing its folder structure.
In PIXI, use the folder for the sprite type:
spritesfor normal sprites.clusterfor cluster sprites.extendedfor extended sprites.- For other types, use the folder specified by the resource.
In UberASMTool, use the folder for the code type:
levelfor level code.overworldfor overworld code.gamemodefor game mode code.- For other types, use the folder specified by the resource.
After copying the resource, add it to PIXI's or UberASMTool's list file as usual.
Resources prepared for Dynamic Xtreme already contain the necessary declarations in their main ASM file. Keep the ASM, JSON, and supplied folders together to preserve their relative paths.
Traditional folders
Some resources use Dynamic Xtreme's traditional folders. In that case, use this arrangement:
These folders are next to the Dynamic Xtreme executable: dxt.exe on Windows or dxt on Linux.
| File type | Folder |
|---|---|
*.dynamicinfo
|
DynamicInfos
|
*.drawinfo
|
DrawInfos
|
*.paleffect
|
PaletteEffects
|
| Graphics, palettes, and other related files | DynamicResources
|
Always use the method specified by the resource. Do not move a modern sprite's or UberASM resource's files into the traditional folders unless its instructions tell you to.
Full installation
Run the tool
Run Dynamic Xtreme from its own folder.
- On Windows, double-click
dxt.exe. - On Linux, open a terminal in the Dynamic Xtreme folder and run:
./dxt
The tool will ask a series of questions to configure the installation.
Configure paths
Your paths and selected features are saved in Settings/Settings.json inside the Dynamic Xtreme folder. The tool uses this file to retrieve your configuration for later installations.
You can type each path or drag the corresponding file into the terminal. Then press Enter to continue.
If you leave an answer blank and press Enter, Dynamic Xtreme uses the value saved in Settings/Settings.json. If no value has been saved and the path is optional, that integration is skipped.
Paths are requested in this order:
- Input ROM
- Select the Super Mario World ROM you want to modify.
- Output ROM
- Enter the path of the ROM that will contain the installation result.
- PIXI executable
- Select the PIXI executable. This path allows Dynamic Xtreme's
- routines and defines to be integrated with PIXI.
- UberASMTool executable
- Select the UberASMTool executable if your project uses
- UberASM code.
- GPS executable
- Select the GPS executable if your project uses
- custom blocks.
- PIXI list
- Select the list file where you registered the sprites
- your project will use.
- UberASMTool list
- Select the list file where you registered the UberASM
- code your project will use.
The PIXI, UberASMTool, and GPS paths and their lists are optional. If you do not use a tool and no path has been saved, leave its answer blank.
To stop using an integration with saved paths, edit Settings/Settings.json and set its values to empty strings (""):
- PIXI:
PixiPathandPixiListPath. - UberASMTool:
UberasmToolPathandUberasmListPath. - GPS:
GPSPath.
Do not delete the fields or replace the entire file. You can then leave those paths blank in subsequent prompts without restoring the previous integration.
Select features
After configuring the paths, Dynamic Xtreme asks which features you want to install.
Answer Y to enable a feature or
N to disable it.
If you press Enter without typing anything, the value saved in Settings/Settings.json is retained. On the first installation, the feature's default value is used.
For a typical installation, you can enable features without warnings. If a red warning appears, read it carefully and check compatibility with your project before enabling that feature.
See Features for what each option does, and Compatibility for possible resource conflicts and RAM usage.
Typical installation example with PIXI and UberASMTool
This example uses PIXI and UberASMTool with the default options. The Windows paths are fictional; replace them with your project's paths. On Linux, provide the paths to the corresponding executables.
| Prompt | Example answer |
|---|---|
| Input ROM | C:\MiHack\MiHack.smc
|
| Output ROM | C:\MiHack\MiHack_DX.smc
|
| PIXI executable | C:\MiHack\PIXI\pixi.exe
|
| UberASMTool executable | C:\MiHack\UberASMTool\UberASMTool.exe
|
| GPS executable | Leave blank if unused and no path is saved. |
| PIXI list | C:\MiHack\PIXI\list.txt
|
| UberASMTool list | C:\MiHack\UberASMTool\list.txt
|
Use these feature settings:
| Feature | Enabled | Answer |
|---|---|---|
GraphicsChange |
Yes | Y
|
PalettesChange |
Yes | Y
|
DynamicPoses |
Yes | Y
|
DrawingSystem |
Yes | Y
|
PalettesEffects |
Yes | Y
|
Free7E2000 |
Yes | Y
|
ControllerOptimization |
Yes | Y
|
FixedColorOptimization |
Yes | Y
|
KevinLMVRAMOptimization |
No | N
|
StatusBarOptimization |
No | N
|
PlayerFeatures |
No | N
|
YoshiFeatures |
No | N
|
On SA-1 ROMs, Free7E2000 is disabled automatically.
Enter retains the saved value if you have used the tool before. To reproduce this configuration, answer Y or N according to the table; defaults are used only when there is no previous selection.
Command-line installation
After an interactive installation, Dynamic Xtreme saves your selected paths and features in
Settings/Settings.json.
You can reuse this configuration for later installations without answering every question again.
On Windows, open a terminal in the Dynamic Xtreme folder and run:
.\dxt.exe -use-settings
On Linux, run:
./dxt -use-settings
If a saved path is no longer valid, Dynamic Xtreme returns to interactive mode to request the configuration.
Available options:
| Option | Alias | Description |
|---|---|---|
-use-settings
|
-us
|
Uses the saved paths and features without displaying the
prompts again. |
-verbose
|
-v
|
Shows more detailed installation information. |
-help
|
Shows help and the available options. | |
-version
|
Shows the installed Dynamic Xtreme version. |
Options can be combined. For example, to use the saved configuration and show detailed information:
Windows:
.\dxt.exe -use-settings -verbose
Linux:
./dxt -use-settings -verbose
To change paths or selected features, run Dynamic Xtreme without -use-settings and answer the prompts again.
Finish the installation
Interactive and command-line installations produce the same result.
The installation result is saved in log.txt next to the Dynamic Xtreme executable. This file contains all installation details.
Dynamic Xtreme prepares the PIXI, UberASMTool, and GPS integrations but does not run those tools. After installing Dynamic Xtreme, run your project's external tools again on the output ROM.
When to reinstall:
- If you change graphics, palettes, or
*.dynamicinfo,*.drawinfo, or*.paleffectfiles, reinstall Dynamic Xtreme and then the tools that use those resources. - If you add, remove, or modify the
;#incdyn,;#incdri, or;#incpaleresource includes in the ASM, also reinstall Dynamic Xtreme and then the tools that use those resources. - If you only change the
*.asmcode without changing those includes, you do not need to reinstall Dynamic Xtreme. Reinsert the code with the appropriate tool.
When Dynamic Xtreme needs to be reinstalled, use this order:
- Run Dynamic Xtreme to regenerate and install its resources.
- Run PIXI, UberASMTool, GPS, and any other
- tool that uses Dynamic Xtreme's generated data again.
This order matters because resource addresses and IDs may change each time Dynamic Xtreme runs.