1
0
mirror of https://github.com/mre/mos6502.git synced 2026-01-23 00:16:10 +00:00
Files
mre-mos6502/Makefile
Matthias Endler 673e7e42e3 Functional Test (#81)
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.
2025-12-30 18:42:23 +01:00

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