Cargo Features

[dependencies]
vm6502 = { version = "0.1.1", default-features = false, features = ["show_test_debug", "ops_only", "pretty_printing", "debug_instrs", "full_debug_printing", "debug_printing", "short_printing", "show_vm_instr", "show_vm_step", "show_vm_tick_arms", "show_vm_post_op", "show_mode", "show_status", "show_status_get", "show_relative_offset", "show_fetched", "show_vm_instr_tick_match", "vm_errors", "passthrough_failure", "check_heap_bounds", "external_exception_on_null_heap", "show_run_time"] }
default = check_heap_bounds, full_debug_printing, passthrough_failure

These default features are set whenever vm6502 is added without default-features = false somewhere in the dependency tree.

show_test_debug full_debug_printing

Debug features
Useful features.
For using with cargo test to turn off test printing.

ops_only pretty_printing? = show_vm_instr_tick_match
pretty_printing = ops_only
debug_instrs = show_vm_instr, show_vm_instr_tick_match

Debug packs

full_debug_printing default = debug_printing, show_test_debug, show_vm_post_op, show_vm_step
debug_printing full_debug_printing = short_printing, show_mode, show_relative_offset, show_run_time, show_status
short_printing debug_printing? = show_vm_instr, show_vm_tick_arms
show_vm_instr debug_instrs? short_printing?

Debug printing flags

show_vm_step full_debug_printing
show_vm_tick_arms short_printing?
show_vm_post_op full_debug_printing
show_mode debug_printing?
show_status debug_printing? = show_status_get, show_status_set
show_status_set show_status_get show_status?
show_relative_offset debug_printing?
show_fetched
show_vm_instr_tick_match debug_instrs? ops_only?
vm_errors = passthrough_failure

For enabling more strict constraints to passthrough the virtual machine's errors to the rust compiler.
TODO: Rename to virtual bounds panic.

passthrough_failure default vm_errors?
check_heap_bounds default
external_exception_on_null_heap
show_run_time debug_printing?

Printing/Package features