ApfelTeeSaft
15d788789f
Add interpreter fallback for self-modifying code
2026-01-22 07:55:52 +01:00
KallDrexx
d8afeccbc6
Fixed color palette
2026-01-20 19:48:07 -05:00
KallDrexx
a455bc44ae
Support recompilation of self modifying functions.
...
When a function modifies itself via INC, DEC, STY, STA, or STX calls, the
HAL now notices this. The current function will be returned (without
stack modifications) and the next function's address will be the next
instruction to execute. This will trigger the JIT recompilation and thus
will successfully reload.
2026-01-19 21:18:15 -05:00
KallDrexx
633a0fc8c0
Initial detection of self modifying code
2026-01-19 17:25:49 -05:00
KallDrexx
df3450f8bc
Add CIA interrupt checking, debug hook for ram devices
2026-01-19 16:18:46 -05:00
KallDrexx
861d0f0075
bypass keyboard by by transposing row/col
2026-01-17 16:44:02 -05:00
KallDrexx
3384fab3e1
Initial keyboard support. Returning wrong keys
2026-01-17 15:15:29 -05:00
KallDrexx
0fcce79de0
Updated to main branch of NES decompiler for loopback fix
2026-01-17 12:10:57 -05:00
KallDrexx
25a821502f
Fixed crash on returning from IRQ due to trying to decompile a virtual/fake instruction
2026-01-17 11:55:57 -05:00
KallDrexx
a163dcadf7
VIC generates IRQ. Might have exposed decompilation bug
2026-01-15 23:18:15 -05:00
KallDrexx
5efd9dd23e
CIA implementation
2026-01-15 20:59:46 -05:00
KallDrexx
f6b4ac4ee8
Standard text mode now renders
2026-01-14 21:57:15 -05:00
KallDrexx
987ac2cfde
vic-2 work
2026-01-14 21:30:03 -05:00
KallDrexx
ac08eb5c21
Implemented badlines and started c-access
2026-01-13 21:54:21 -05:00
KallDrexx
c8c277e875
Fixed border sizes
2026-01-13 20:51:44 -05:00
KallDrexx
bf79580291
Fixed incorrect render dimension calculations
2026-01-13 20:23:56 -05:00
KallDrexx
b960f1d6c5
Fix PLA to properly load io area as writable to d0000
2026-01-12 22:13:06 -05:00
KallDrexx
c5ece68895
Fix get code regions to adhere to memory bus override regions
2026-01-12 21:49:46 -05:00
KallDrexx
ccb2aaa7ed
Updated memory mapping to allow more flexible routing
2026-01-06 22:57:24 -05:00
KallDrexx
3431402417
More work towards cia implementation
2026-01-05 23:23:49 -05:00
KallDrexx
0fd5e82aeb
CIA chip wip
2026-01-05 21:59:24 -05:00
KallDrexx
5b22b32b99
Make memory bus reusable so the Io memory area can be segmented to multiple devices
2026-01-05 21:24:23 -05:00
KallDrexx
0e590093d7
Fixed improper ranges
2026-01-05 20:33:04 -05:00
KallDrexx
29378a39e3
Updated color palette
2026-01-05 20:23:34 -05:00
KallDrexx
bcd8457d98
Fixed incorrect dots per scanline
2026-01-04 21:46:20 -05:00
KallDrexx
f612eb2636
Added debugging/logging support
2026-01-04 16:10:30 -05:00
KallDrexx
224590167d
More vic-ii work
2026-01-03 20:41:49 -05:00
KallDrexx
8e41f54cda
More vic-ii work
2026-01-03 16:00:33 -05:00
KallDrexx
ac1aba72dd
Moving towards Vic-II implementation
2026-01-02 21:55:23 -05:00
KallDrexx
ed4e0d6206
Added bare bones vic-II and execution infrastructure
2026-01-01 21:44:02 -05:00
KallDrexx
add3df270c
Removed debug hooks for adc and sbc
2026-01-01 20:04:10 -05:00
KallDrexx
57b9798d3a
SBC works in decimal mode.
...
Only 1 test case out of 80,000 SBC test cases fail due to an
incorrect zero flag value (off but expected to be on). Going to
punt investigating that for now
2026-01-01 19:54:47 -05:00
KallDrexx
b66578de77
Initial decimal mode support
2026-01-01 15:33:13 -05:00
KallDrexx
cf93709692
Add logical not operator
2026-01-01 14:58:05 -05:00
KallDrexx
de86234709
wip
2025-12-31 22:00:27 -05:00
KallDrexx
5558e418e0
Adc with BCD suport for overflow negative, and zero flags
2025-12-31 15:36:14 -05:00
KallDrexx
6fe19d8bbe
Testrunner ignore N and V flags in bcd mode
2025-12-31 15:24:31 -05:00
KallDrexx
a7d960e457
Revert "Adc with BCD suport for overflow and negative flags"
...
This reverts commit 3ab84f4152 .
2025-12-31 14:52:08 -05:00
KallDrexx
3ab84f4152
Adc with BCD suport for overflow and negative flags
2025-12-31 14:02:32 -05:00
KallDrexx
967130dfd6
ADC with BCD correctly sets zero flag now
2025-12-31 10:10:42 -05:00
KallDrexx
5132736899
Initial ADC with BCD support test cases passing
2025-12-30 21:47:57 -05:00
KallDrexx
730f5bc970
Csproj cleanup and always pass unused processor status bit as 1, per 6502 spec
2025-12-30 15:32:34 -05:00
KallDrexx
05b32148d7
Bulk memory changed notifications support in cache
2025-12-30 10:00:23 -05:00
KallDrexx
7488c67936
Memory tweaks and command line parsing
2025-12-29 21:53:16 -05:00
KallDrexx
f34c40bffa
Initial c64 memory mapping
2025-12-29 15:59:42 -05:00
KallDrexx
4108b821ce
Move page lookups for cache into function retrieval operation instead of memory changed event, since the former happens less often
2025-12-24 20:29:36 -05:00
KallDrexx
b646d9f386
Add the ability to invalidate cached functions with instructions
...
at a specific page boundary, and wired up the JIT engine to invalide
the pages at any memory write operation (since the memory bus has no
idea if there are any cached functions at the changed address).
This also creates an LRU to the cached functions, preventing the
cached function list to infinitely grow.
2025-12-24 16:41:14 -05:00
KallDrexx
aaf4f89cf8
Moved executable method caching to its own class
2025-12-21 17:18:40 -05:00
KallDrexx
781b3486ac
.net 10 upgrade, comment out unused variables
2025-12-18 21:08:57 -05:00
KallDrexx
795d5a11c2
Add nes timing mechanism
2025-10-21 00:26:42 -04:00