Sam M W
dbbb4a5ccf
remove lint for pointer_structural_match
, this is now a hard error
2024-07-29 13:13:07 +02:00
omarandlorraine
265ef6941e
Cmos support ( #99 )
2024-06-07 15:29:40 +01:00
Matthias Endler
467b3ff436
Code Cleanup ( #97 )
...
This adds some new directives for clippy and fixes all warnings.
Also updated the dependencies to their latest versions.
2024-04-27 19:51:39 +01:00
Sam M W
4847744518
correction to comment
2024-04-24 14:51:08 +01:00
Matthias Endler
11d9540729
fix typo
2024-04-24 15:41:25 +02:00
Sam M W
bf06ad8924
better commenting inside of AddressingMode enum
2024-04-24 15:41:25 +02:00
Sam M W
54dd0cd536
rename IndirectWithFix to Indirect
2024-04-24 15:41:25 +02:00
Sam M W
2444ef52d1
fix typo in comment
2024-04-24 15:41:25 +02:00
Sam M W
ad622bc930
formatting
2024-04-24 15:41:25 +02:00
Sam M W
97d6b3fd89
split the Indirect addressing mode into BuggyIndirect and IndirectWithFix
2024-04-24 15:41:25 +02:00
Sam M W
da30c8c67d
change arr_to_addr to address_from_bytes
2024-04-24 15:41:25 +02:00
omarandlorraine
11499b6bc8
Starting on implementing different variants ( #88 )
...
* start on separating 6502 variants from cpu itself
* add a single variant: the NMOS one
* get examples & tests running again
* Add the Revision A variant, one that has no ROR
* disable failing lint in build-time dependencies
* Variant with no decimal mode
* Revert "disable failing lint in build-time dependencies"
This reverts commit c87975e937
.
* some doc comments
* specify the variant in unit test now the API has changed
---------
Co-authored-by: Sam M W <you@example.com>
2023-10-31 16:45:15 +01:00
omarandlorraine
b52e47bbb5
Fix the PHP opcode ( #92 )
...
* unit test for php
* get test passing
---------
Co-authored-by: Sam M W <you@example.com>
2023-10-30 02:22:37 +01:00
omarandlorraine
6ce85db45c
boring crate related maintenance ( #95 )
...
* remove Cargo.lock
* remove num
---------
Co-authored-by: Sam M W <you@example.com>
2023-10-30 02:20:46 +01:00
omarandlorraine
4d2621d603
use cargo test now instead of skeptic to run tests ( #93 )
...
* use cargo test now instead of skeptic to run tests
* formatting
---------
Co-authored-by: Sam M W <you@example.com>
2023-10-29 15:06:41 +00:00
omarandlorraine
aa1a47a76f
Fix addition and subtraction ( #72 )
...
* extract decimal logic into separate function
* squash me
* I think we should be doing unsigned arithmetic here
* squash me
* remove unused function
* update the sign checks
* cargo fmt
* get tests to compile again
* get tests passing again
* squash me
* remove pointless conversion from u8 to u8
* cargo fmt
* accumulator is now u8
* add adc test from solid65
* pass the new test
---------
Co-authored-by: Sam M W <you@example.com>
2023-06-29 12:13:49 +02:00
omarandlorraine
849f891e24
Merge pull request #67 from mre/rts
...
Implementation of RTS
2023-04-16 07:08:25 +01:00
Sam M W
bd1ab13dc1
point INY instruction at the correct register
2023-04-15 21:47:17 +01:00
Sam M W
f0fc9829db
PLA opcode should update the flags
2023-04-15 21:44:05 +01:00
Sam M W
26a2f51bc6
don't overshoot the stack pointer! (pla and plp)
2023-04-15 21:37:47 +01:00
Sam M W
62424070a1
disable interrupts after BRK instruction
2023-04-15 21:34:07 +01:00
Sam M W
a8d53f926d
implement BRK
2023-04-15 21:17:28 +01:00
Sam M W
1c31a73a2b
correct endianness for program counter push
2023-04-15 21:01:08 +01:00
Sam M W
239992ea6c
first stab at implementing the JSR instruction
2023-04-15 20:58:31 +01:00
Sam M W
70e85a2eaf
bugfix for the bit opcode
2023-04-15 16:42:05 +01:00
Sam M W
8e797b70fa
implement BNE
2023-04-15 16:17:51 +01:00
Sam M W
18164c7abf
implement RTI as well
2023-04-15 15:36:53 +01:00
Sam M W
1b90243738
implementation of RTS
2023-04-15 15:36:43 +01:00
Sam M W
9f75d1a6b5
the get_byte method needs to take mutable reference to self
...
the reson for this is it's possible for external hardware to have some
side effect on a read.
2023-04-03 22:46:46 +01:00
Sam M W
26926a9feb
set_byte method does not need to return old_value
2023-04-03 22:44:02 +01:00
Sam M W
d2043dc6fb
less verbosity, more expliciteness
2023-04-03 21:07:06 +01:00
Sam M W
7222388c5e
get rid of silly xextend function; just use the .into()
2023-04-03 21:00:17 +01:00
Sam M W
3accd8ce40
as clippy suggests, convert from bool to u8/i8
2023-04-03 07:39:30 +01:00
Sam M W
672defd817
remove now dead code
2023-04-03 07:39:30 +01:00
Sam M W
0708a1084c
fix the tests back up
2023-04-03 07:39:18 +01:00
Sam M W
12c901e8aa
generic argument for CPU represents memory
2023-04-03 07:02:32 +01:00
Sam M W
a8dac6e805
extract memory functionality into a trait
2023-04-03 06:59:40 +01:00
Sam M W
f3f15de8cc
remove memory.get_slice
...
real hardware won't have the ability to dive in and grab a slice from
memory
2023-04-03 05:50:13 +01:00
Sam M W
4254c02f55
Remove unit test test_memory_set_bytes
...
This is the right thing to do because its pass depends on
zero-initilization. Real memory will not behave this way
2023-04-03 05:50:13 +01:00
Sam M W
131b0f312d
remove get_byte_mut_ref method from Memory
...
This is the right thing to do, because the actual hardware will perform
a read and then perform a write. This could have observable side effects
on a real system
2023-04-03 05:50:06 +01:00
Sam M W
766143d52f
remove is_stack_address; it's never used
2023-04-02 21:21:46 +01:00
omarandlorraine
61b8dfe1f2
add single_step function ( #62 )
...
Co-authored-by: Sam M W <you@example.com>
2023-03-27 00:27:44 +02:00
dependabot[bot]
fdf71425d3
Bump bitflags from 1.3.2 to 2.0.2 ( #60 )
...
* Bump bitflags from 1.3.2 to 2.0.2
Bumps [bitflags](https://github.com/bitflags/bitflags ) from 1.3.2 to 2.0.2.
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/1.3.2...2.0.2 )
---
updated-dependencies:
- dependency-name: bitflags
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Derive `Copy` and other traits for `Status`
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias <matthias-endler@gmx.net>
2023-03-20 14:58:45 +01:00
Matthias Endler
c3438c14e7
Make code more idiomatic ( #61 )
2023-03-20 14:11:44 +01:00
Sam M W
c2e77b5f52
also test subtractions
2022-10-23 07:05:08 +01:00
Sam M W
2bcbfa63b5
fix panic
2022-10-23 07:05:04 +01:00
Sam M W
bf543e2fbe
add failing test
2022-10-23 07:04:52 +01:00
Sam M W
11e48c1691
add missing CLI instruction
2022-10-22 12:26:03 +01:00
omarandlorraine
32f925feb2
Merge branch 'master' into incdec
2022-10-21 09:10:18 +01:00
Sam M W
f821dce70f
do increments in the same way
2022-10-21 06:45:40 +01:00