mirror of
https://github.com/mre/mos6502.git
synced 2026-01-23 00:16:10 +00:00
Fixes critical bugs in the 6502 emulator and successfully passes the Klaus2m5 functional test suite, one of the most complete test suites for 6502 emulators (~30 million instructions). Along the way, we fixed stack operation bugs that were preventing proper execution: - RTI: Removed extra pull_from_stack() and fixed PCH retrieval - RTS: Removed extra pull_from_stack() and fixed PCH retrieval - PLA, PLP, PLX, PLY: Fixed to use single pull_from_stack() call - pull_from_stack: Fixed to increment SP before reading (6502 SP points to next available slot, not last used) The emulator now passes one of the most rigorous 6502 test suite that I know of, which provides high confidence in our emulation correctness.
23 lines
661 B
Makefile
23 lines
661 B
Makefile
.PHONY: help
|
|
help: ## Show this help.
|
|
@awk 'BEGIN {FS = ":.*?## "; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_-]+( +[a-zA-Z_-]+)*:.*?## / { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
|
|
|
|
.PHONY: test
|
|
test: ## Run tests
|
|
cargo test
|
|
|
|
.PHONY: clean
|
|
clean: ## Clean up
|
|
cargo clean
|
|
|
|
.PHONY: format fmt
|
|
format fmt: ## Format code
|
|
cargo fmt
|
|
|
|
.PHONY: lint
|
|
lint: ## Run linter
|
|
cargo clippy --all-targets --all-features -- -D warnings
|
|
|
|
.PHONY: lint-fix
|
|
lint-fix: ## Run linter; apply fixes
|
|
cargo clippy --all-targets --all-features --allow-dirty --fix -- -D warnings
|