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/--format
isNES
, 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/--format
isNES
, 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, apassword
will 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, apassword
will 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, apassword
will always be gathered from the user by prompt.