Thomas Harte
3a0f4a0bfc
Improve const
ness, formatting.
2024-12-01 18:09:19 -05:00
Thomas Harte
8b88d1294d
Remove errant spaces.
2024-12-01 09:04:32 -05:00
Thomas Harte
17ff0c4f65
Fix PLD/PLB sizes.
2024-09-21 21:28:38 -04:00
Thomas Harte
ff6753fcdf
PEI: don't page wrap.
2024-09-21 21:12:04 -04:00
Thomas Harte
a65551f652
Give PLB the same stack behaviour as PLD.
2024-09-21 21:08:02 -04:00
Thomas Harte
f0d807a0fe
Fix [d], y
page-wrapping behaviour.
2024-09-21 20:49:59 -04:00
Thomas Harte
59e1a5e5f6
Correct 6502 JAM behaviour.
2024-07-26 21:43:54 -04:00
Thomas Harte
2621bcc005
Switch to 5/6/7 BBS/BBR timing.
2024-07-05 13:44:31 -04:00
Thomas Harte
e750866ab6
Remove phoney mid-BBR/BBS access.
2024-07-02 22:01:02 -04:00
Thomas Harte
eb9e5fb727
Eliminate various unnecessary uses of std::make_pair
.
2024-05-29 21:46:33 -04:00
Thomas Harte
36d9c40d7b
Yuckily avoid warning.
2024-04-23 22:23:56 -04:00
Thomas Harte
9063852857
Undo spurious text change.
2024-03-14 21:16:38 -04:00
Thomas Harte
6b18d775ab
Eliminate unused variables.
2024-03-12 21:53:26 -04:00
Thomas Harte
61d4c69e45
Fix template parameter reference.
2024-03-04 13:25:40 -05:00
Thomas Harte
d639dc8bcb
Hit up some more = default
opportunities.
2024-02-17 15:42:31 -05:00
Thomas Harte
bc5727af14
Switch to = default
.
2024-02-16 21:50:15 -05:00
Thomas Harte
f14e45f93e
Remove various instances of ';;'.
2024-02-12 14:23:54 -05:00
Ryan Carsten Schmidt
31e261f7e5
Add missing include of cstring for memcpy.
2024-01-24 09:00:10 -06:00
Thomas Harte
a3d37640aa
Switch include guards to #pragma once
.
2024-01-16 23:34:46 -05:00
Thomas Harte
a1f6f2c7f7
Eliminate remaining macros.
2024-01-16 22:42:20 -05:00
Thomas Harte
d85afc0caf
Convert bus access macros.
2024-01-16 22:36:52 -05:00
Thomas Harte
112f3d1e73
Convert 6502 Personality
-related macros.
2024-01-16 22:30:35 -05:00
Thomas Harte
dc53d6e6fa
Convert check_schedule
and bus_access
macros.
2024-01-16 22:28:15 -05:00
Thomas Harte
ca30cf6376
Eliminate surviving uses of old naming convention.
2024-01-16 14:18:29 -05:00
Thomas Harte
980ccbd45b
Eliminate repetition macros.
2024-01-16 14:17:31 -05:00
Thomas Harte
cc635fd3ea
Eliminate set_decimal_rotate_flags entirely.
2024-01-16 13:59:03 -05:00
Thomas Harte
fe34083ab8
Demacroise set_shift_flags, reduce casting.
2024-01-16 13:51:16 -05:00
Thomas Harte
ea4cc4c9b3
Convert set_rotate_flags and decline_conditional macros.
2024-01-16 13:40:44 -05:00
Thomas Harte
5b5ae69a18
Convert set_logical_flags
and set_arithmetic_flags
to lambdas.
2024-01-16 10:13:30 -05:00
Thomas Harte
de038fe28f
Eliminate easy macros from Z80 implementation.
2024-01-16 09:43:41 -05:00
Thomas Harte
66bc1fd6fd
Don't mix constructor delegation and variable instantiation.
2023-12-22 12:29:27 -05:00
Thomas Harte
c07f8d8ef8
Switch ordering.
2023-12-22 10:50:49 -05:00
Thomas Harte
dbb14467ec
Remove redundant using, add extra comment.
2023-12-22 10:48:35 -05:00
Thomas Harte
c266639a0c
Improve commentary; use specialised types for TAS.
2023-12-22 10:46:10 -05:00
Thomas Harte
5b43ea82f3
Lock down interrupt cycle types.
2023-12-21 23:12:14 -05:00
Thomas Harte
7c28a77b2b
Fill in assignment operator.
2023-12-21 23:09:42 -05:00
Thomas Harte
85f814c632
Attempt to build fixed operations into type.
...
This simplifies callees and should make all helper functions automatically able to optimise themselves for fixed operations.
2023-12-21 23:08:18 -05:00
Thomas Harte
213dfe037d
Shift operation stuff into its own namespace, making data_select_active a free function.
2023-12-21 16:03:53 -05:00
Thomas Harte
faaa89bb67
Eliminate all reference to EmuTOS.
2023-12-21 15:28:45 -05:00
Thomas Harte
1f2fbccf1f
Update documentation.
2023-12-20 22:05:45 -05:00
Thomas Harte
356d8f469a
Correct various throaway -> throwaway.
2023-12-20 22:02:51 -05:00
Thomas Harte
60bd81c4cc
Use X.
2023-12-20 22:02:51 -05:00
Thomas Harte
38c3d302a3
Restore JMP (abs, x) length.
2023-12-20 22:02:51 -05:00
Thomas Harte
24c80060c8
Revise guess on JMP (abs, x).
2023-12-20 22:02:51 -05:00
Thomas Harte
d33deb676f
Adjust (abs, y) addressing.
2023-12-20 22:02:19 -05:00
Thomas Harte
bf5ed98f35
Generalise 65c02 behaviour.
...
Partly to convince myself:
1. this change alters behaviour of `CycleAddXToAddressLowRead`
2. which affects only `AbsoluteXw` and the 65c02-specific `JMP (abs, x)`;
3. `AbsoluteXw` is then used only by `AbsoluteXWrite` and `AbsoluteXReadModifyWrite`;
4. `AbsoluteXWrite` is used for abs, x addressing by `SHY`, `STA` and `STZ`;
5. `AbsoluteXReadModifyWrite` is used for `ASL`, `ASO`, `ROL`, `RLA`, `LSR`, `LSE`, `ROR`, `RRA`, `DEC`, `DCP`, `INC` and `INS`.
... though many of the latter are replaced by instance of `FastAbsoluteXReadModifyWrite` for the 65c02 which don't include a dummy
access at all if the page boundary is crossed so the issue is moot.
2023-12-20 22:02:14 -05:00
Thomas Harte
f25aaf2bb3
Adjust 65c02 STA abs,x behaviour.
2023-11-29 15:32:02 -05:00
Thomas Harte
7171e24ccf
Enable further compile-time optimisations.
2023-11-28 13:50:53 -05:00
Thomas Harte
36a4629ce0
Explain new semantics.
2023-11-27 21:49:57 -05:00
Thomas Harte
5c7f94d2ef
Introduce the possibility of operation type as a template parameter.
...
It's already proven possible to provide this for instruction fetch, so I think it'll immediately be a win. But more importantly it opens a path forwards for further improvement.
2023-11-27 11:48:34 -05:00