Usage
Usage: nessemble [options] <infile.asm>
<command> [args]
Options:
-o, --output <outfile.rom> output file
-f, --format {NES,RAW} output format
-e, --empty <hex> empty byte value
-u, --undocumented use undocumented opcodes
-l, --list <listfile.txt> generate list of labels and constants
-p, --pseudo <pseudo.txt> use custom pseudo-instruction functions
-c, --check check syntax only
-C, --coverage log data coverage
-d, --disassemble disassemble infile
-R, --reassemble enable reassembly
-s, --simulate <infile.rom> start the simulator
-r, --recipe <recipe.txt> recipe file for the simulator
-v, --version display program version
-L, --license display program license
-h, --help print this message
Commands:
init [<arg> ...] initialize new project
scripts install scripts
reference [<category>] [<term>] get reference info about assembly terms
config [<key>] [<val>] list/get/set config info
registry [<url>] get/set registry url
install <package> install package
uninstall <package> uninstall package
publish <package.tar.gz> publish package
info <package> get info about package
ls list all installed packages
search <term> search for package in registry
adduser [<arg> ...] create user account
login [<arg> ...] login to the registry
logout logout of the registry
forgotpassword [<arg> ...] send password reset email
resetpassword [<arg> ...] reset password
Options
| Option | Description |
|---|---|
| -o, --output |
output file |
| -f, --format {NES,RAW} | output format |
| -e, --empty |
empty byte value |
| -u, --undocumented | use undocumented opcodes |
| -l, --list |
generate list of labels and constants |
| -p, --pseudo |
use custom pseudo-instruction functions |
| -c, --check | check syntax only |
| -C, --coverage | log data coverage |
| -d, --disassemble | disassemble infile |
| -R, --reassemble | enable reassembly |
| -s, --simulate |
start the simulator |
| -r, --recipe |
recipe file for the simulator |
| -v, --version | display program version |
| -L, --license | display program license |
| -h, --help | print this message |
-o, --output <outfile.rom>
The -o/--output flag sets the filename where the output should be written.
Example:
nessemble infile.asm --output outfile.rom
If a outfile of - is set (or the flag is omitted altogether) the
output will be written to stdout.
-f, --format {NES,RAW}
The -f/--format flag specifies the format of the output.
NES- will output an NES ROM, complete with an iNES headerRAW- will output raw assembled 6502 code
Example:
nessemble infile.asm --format RAW
The format is RAW by default, but if iNES headers are present in the assembly
code, the format will become NES unless this flag overrides it.
-e, --empty <hex>
The -e/--empty flag sets the value of an empty byte or unfilled ROM
address value. This defaults to FF.
Example:
nessemble infile.asm --empty 00
-u, --undocumented
The -u/--undocumented flag allows use of undocumented opcodes.
Example:
nessemble infile.asm --undocumented
-l, --list <listfile.txt>
The -l/--list flag sets the filename where a list of labels and constants
will be written.
For disassembly, this flag sets the filename of a list to read to aid in the disassembly process.
Example:
nessemble infile.asm --list listfile.txt
-p, --pseudo <pseudo.txt>
The -p/--pseudo flag sets the filename of the file that indicates what
custom pseudo-instructions to enable. See the section on
Extending to learn more about how to write custom
pseudo-instructions.
Example:
nessemble infile.asm --pseudo pseudo.txt
-c, --check
The -c/--check flag only checks the input assembly file for syntax errors.
Nothing will be output beyond any syntax errors that may arise.
nessemble infile.asm --check
-C, --coverage
The -C/--coverage flag causes the assembler to output ROM coverage
information (amount that the ROM banks have data written to them).
Note
This only works when the-f/--formatisNES, not when it isRAW.
Example:
nessemble infile.asm --coverage
-d, --disassemble
The -d/--disassemble flag will disassemble any 6502 ROM. See the section on
Disassembling for a breakdown of the generated output.
Example:
nessemble infile.rom --diassemble
-R, --reassemble
The -R/--reassemble flag can be used in conjunction with the
-d/--diassemble flag to disassemble to a format appropriate for reassembly.
See the section on Disassembling for a breakdown of the
generated output.
Example:
nessemble --disassemble infile.rom --reassemble
-s, --simulate <infile.rom>
The -s/--simulate flag starts a 6502 simulator with the provided ROM. See
the section on Simulating for a breakdown of the syntax used.
Example:
nessemble --simulate infile.rom
-r, --recipe <recipe.txt>
The -r/--recipe flag can be used in conjunction with the -s/--simulate flag
to provide a recipe of instructions to be run by the simulator. See the section
on Simulating for a breakdown of the syntax used.
Example:
nessemble --simulate infile.rom --recipe recipe.txt
-v, --version
The -v/--version flag prints the version of nessemble.
Example:
nessemble --version
-L, --license
The -L/--license flag prints the license for nessemble. See the section on
Licensing for more information.
Example:
nessemble --license
-h, --help
The -h/--help flag prints the usage for nessemble.
Example:
nessemble --help
Commands
| Command | Description |
|---|---|
| init [<arg> ...] | initialize new project |
| scripts | install scripts |
| reference [<category>] [<term>] | get reference info about assembly terms |
| config [<key>] [<val>] | list/get/set config info |
| registry [<url>] | get/set registry url |
| install <package> | install package |
| uninstall <package> | uninstall package |
| publish <package.tar.gz> | publish package |
| info <package> | get info about package |
| ls | list all installed packages |
| search <term> | search for package in registry |
| adduser [<arg> ...] | create user account |
| login [<arg> ...] | login to the registry |
| logout | logout of the registry |
| forgotpassword [<arg> ...] | send password reset email |
| resetpassword [<arg> ...] | reset password |
init [<arg> ...]
The init command initializes a new project by guiding the user through the
creation of a new project.
Example:
nessemble init
If some/no args are provided, a prompt will appear until they are all satisfied. The order is:
nessemble init [filename] [prg] [chr] [mapper] [mirroring]
filename- String. Filename of file to create.prg- Number. Number of PRG banks.chr- Number. Number of CHR banks.mapper- Number. Mapper number.mirroring- Number. Type of mirroring.
scripts
The scripts command will install optional scripts that will extend the
functionality of nessemble. See the section on Extending to
learn more about how to use custom pseudo-instructions.
Example:
nessemble scripts
reference [<category>] [<term>]
The reference command will display reference information on various aspects
of 6502 development (registers, addressing, etc).
Example:
nessemble reference
config [<key>] [<val>]
The config command will get/set configuration options. Using config with no
additional arguments will list all config options. Using config with just a
<key> will list the value for just that key. Using config with a <key> AND
a <val> will set the config key to that value.
Example:
nessemble config
registry [<url>]
The registry command will get/set the registry URL. Using registry with no
additional arguments will list the current registry URL. Using registry with
a URL will set the registry URL to that value.
Note
This only works when the-f/--formatisNES, not when it isRAW.
Example:
nessemble registry
install <package>
The install command will install a package that can be used in assembly
projects. See the section on Packages for more
information on the usage.
Example:
nessemble install foo
uninstall <package>
The uninstall command will uninstall a package. See the section on
Packages for more information on the usage.
Example:
nessemble uninstall foo
publish <package.tar.gz>
The publish command will publish a package. See the section on
Packages for more information on the usage.
Example:
nessemble publish foo.tar.gz
info <package>
The info command will print info for a given package. See the section on
Packages for more information on the usage.
Example:
nessemble info foo
ls
The ls command will list all installed packages. See the section on
Packages for more information on the usage.
Example:
nessemble ls
search <term>
The search command will search for packages with titles, descriptions, or
keywords that match the given term. See the section on
Packages for more information on the usage.
Example:
nessemble search foo
adduser [<arg> ...]
The adduser command will guide the user in the creation of a new user in the
registry.
Example:
nessemble adduser
If some/no args are provided, a prompt will appear until they are all satisfied. The order is:
nessemble adduser [name] [username] [email]
name- String. Name of user.username- String. Proposed username.email- String. Email address of user.
Note
For added security, apasswordwill always be gathered from the user by prompt.
login [<arg> ...]
The login command will guide the user in the registry login process.
Example:
nessemble login
If some/no args are provided, a prompt will appear until they are all satisfied. The order is:
nessemble login [username]
username- String. User's username.
Note
For added security, apasswordwill always be gathered from the user by prompt.
logout
The logout command will log the user out of the registry.
Example:
nessemble logout
forgotpassword [<arg> ...]
The forgotpassword command will send a password reset email to the user.
Example:
nessemble forgotpassword
If some/no args are provided, a prompt will appear until they are all satisfied. The order is:
nessemble forgotpassword [username]
username- String. User's username.
resetpassword [<arg> ...]
The resetpassword command will prompt the user to reset their password.
Example:
nessemble resetpassword
If some/no args are provided, a prompt will appear until they are all satisfied. The order is:
nessemble resetpassword [username]
token- String. Reset token.username- String. User's username.
Note
For added security, apasswordwill always be gathered from the user by prompt.