Simulator/debugger for the original Xbox nv2a vertex shader.
Use
Run nv2adbg with --help to see command line options.
Menus
File menu
Allows inputs to be configured.
Source window
The source window is split into three areas:
- The program view on the left shows the shader instructions
- The inputs panel on the right shows the value of register inputs for the currently selected line. Components of the register that are used will be highlighted.
- The outputs panel at the bottom shows the computed values of the outputs. Components that are written to will be highlighted.
- Cursor up/down, page-up/down, and home/end in the source window navigate source lines.
- "a" will toggle ancestry tracing for the currently selected line, marking
every line that contributes to the line's outputs.
- In tracing mode
- "space" will allow the current line to be locked so moving the cursor will not change the root of the ancestor trace.
- "f" will filter out any lines that do not contribute to the instruction being traced. Press "f" again to return to full source view.
- NOTE: At the time of this writing there is no way to choose between the MAC and ILU component of a paired command, both will be traced. If you only care about one or the other, the best option is to go to the first ancestor that contributes solely to the one you care about and do the trace from there.
- In tracing mode
Helpful hints
- You can convert the contents of a xemu vertex shader using RenderDoc to examine the draw and running it through https://github.com/abaire/renderdoc_util/blob/main/util/xemu_shader_to_nv2a.py to sanitize it.
- You can set initial values with csv dumps from RenderDoc (use
-hto see the appropriate commands, the mesh view will have the input register values and you can expand the uniforms in the pipeline view to get the constant registers)
Metadata
Release files for nv2a-debug 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nv2a_debug-0.2.2.tar.gz | 66.7 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nv2a_debug-0.2.2-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| nv2a_debug-0.2.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.5+ x86-64 | Details |
| nv2a_debug-0.2.2-cp312-cp312-macosx_15_0_arm64.whl | CPython 3.12 | CPython 3.12 | macOS 15.0+ ARM64 | Details |
Total release size: 222.5 kB
Release files / nv2a_debug-0.2.2.tar.gz
| Download URL | nv2a_debug-0.2.2.tar.gz |
|---|---|
| Size | 66.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a611c35284f140bfe74e52619f20054969f96aba0464ea4b134ae83fc9b0d479
|
|
BLAKE2b-256 checksum How to use checksums |
9ee803d1b02c789bae1f13f2df6596ed9e1836fb06e005a0ba197b04792950c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nv2a_debug-0.2.2-cp312-cp312-win_amd64.whl
| Download URL | nv2a_debug-0.2.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 38.4 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
45cb4e0ca9589c0b27c7dc48765b2430aacb4ee0b57921ebd30fa97f5972005f
|
|
BLAKE2b-256 checksum How to use checksums |
b05e00715f24ab8a3d38b506d0609f51fdf02b9ef06e16337b9e3e1c81e916c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nv2a_debug-0.2.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl
| Download URL | nv2a_debug-0.2.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl |
|---|---|
| Size | 62.0 kB |
| Tags | CPython 3.12 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
c5b606d1ea9db77a71641178f881c645b89455e96bbe153cfef9a606412eabb7
|
|
BLAKE2b-256 checksum How to use checksums |
b3700f159e6b28ed9f2b849e2300c5f83fd2b06343137e3edb4fee2693088df4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nv2a_debug-0.2.2-cp312-cp312-macosx_15_0_arm64.whl
| Download URL | nv2a_debug-0.2.2-cp312-cp312-macosx_15_0_arm64.whl |
|---|---|
| Size | 55.4 kB |
| Tags | CPython 3.12 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
39a02359bc4badc2efd9fd202ce26eb376d88451fc5c3db472f19749ee7ef690
|
|
BLAKE2b-256 checksum How to use checksums |
f5421b80c6ddd77275f743a50f1d62bc41327f9666d0e205d0ab8619a5524599
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|