Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
497 commits
Select commit Hold shift + click to select a range
c36c2a4
Map gwes Display data page 0x000BA000 after DllMain
cursoragent Sep 4, 2026
187f5be
Map gwes .text page 0x00014000 after DllMain
cursoragent Sep 4, 2026
147e54f
Demand-map gwes image pages via firmware PTE
cursoragent Sep 4, 2026
68b9567
Demand-map COREDLL image pages via firmware PTE
cursoragent Sep 4, 2026
778120c
Demand-map ddi_nop VALLOC .data via firmware PTE
cursoragent Sep 4, 2026
a633b83
Alias ddi_nop .data 0x0199B000 to o32.real/dest6
cursoragent Sep 4, 2026
017b67e
Demand-map filesys slot-2 page 0x04011000 via firmware PTE
cursoragent Sep 4, 2026
98b8fa6
Observe filesys 0x0001E534 data-TLBL 0x48D000F0
cursoragent Sep 4, 2026
8d27e9a
Alias tagged 0x48D00000 to gwes-slot 0x08D00000
cursoragent Sep 4, 2026
82240a0
Map uncommitted gwes-slot 0x08D00000 after tagged alias
cursoragent Sep 4, 2026
5b54d07
Generalize filesys-48d for tagged page 0x48D01000
cursoragent Sep 4, 2026
1bba9df
Map filesys slot-4 API page 0x08011BE8
cursoragent Sep 4, 2026
258ef59
Map coredll slot-4 ImageBase view 0x09F574F8
cursoragent Sep 4, 2026
674d704
Observe-only TLBL 0xFFFFFCE1 (KData-ish page)
cursoragent Sep 4, 2026
d01f68a
Map 0xFFFFF000 SharedUserData for FFFFFCE1
cursoragent Sep 4, 2026
831a196
Map gwes 0x00059000 to ROM o32, not dest0 RAM
cursoragent Sep 4, 2026
ed717b8
Map gwes ImageBase page 0x00010000 (headers)
cursoragent Sep 4, 2026
7214ee6
Map gwes page 0x000B9000 (0x000B9FF4)
cursoragent Sep 4, 2026
c0347e8
Map gwes 0x000B9000 via firmware PTE dest0
cursoragent Sep 4, 2026
98db5d5
Skip BindImp-exn on B9FF4 dest0; spin-observe
cursoragent Sep 4, 2026
b14bf08
Observe gwes null-store 0x00021ABC; skip BindImp-exn TLBS 0
cursoragent Sep 4, 2026
ddd472a
Map filesys slot-2 page 0x0407F000 (0x0407FEC0)
cursoragent Sep 4, 2026
725f2f4
Map filesys slot-2 extra pages (0x0405C000)
cursoragent Sep 4, 2026
73486bc
Widen filesys slot-2 extra Lo to 0x04021000
cursoragent Sep 4, 2026
f3c2d62
Observe-only near-null TLBL 0x50 at 0x80052010
cursoragent Sep 4, 2026
bb6cdc7
Observe-only AdEL 0xFFFFFB2A; skip FFFF BindImp-exn
cursoragent Sep 4, 2026
3ac5ed9
Map COREDLL page 0x03FE1000 (widen ImageBase hi)
cursoragent Sep 4, 2026
3275fe9
Observe-only AdEL 0xC6FA7C9A; skip all AdEL BindImp-exn
cursoragent Sep 4, 2026
7827498
Observe-only C2 TLBS 0xC201FE84; skip C2* BindImp-exn
cursoragent Sep 4, 2026
155d918
Observe first C2 $sp; 0x80031D34 is poison stack prologue
cursoragent Sep 4, 2026
fb58a7e
Refuse ERET after adel-pc when $sp is C2 image
cursoragent Sep 4, 2026
f66919d
Replay adel-pc $sp into thread+0xD4 before ERET
cursoragent Sep 4, 2026
695e734
Refuse leftover dest hop when 0x800397B0 returns -1
cursoragent Sep 4, 2026
cf2477b
Refuse ERET while COP0 EPC is adel-pc poison
cursoragent Sep 4, 2026
aa0b26c
Refuse ERET while adel-pc EPC latch is set
cursoragent Sep 4, 2026
3b847b7
Clear adel-pc plant when +EC is a sane resume
cursoragent Sep 4, 2026
e3cc519
Refuse ERET when thread+0xEC is NK idle poll
cursoragent Sep 4, 2026
77ba8c0
Refuse plant-clr when +EC is leftover mid
cursoragent Sep 4, 2026
0332c87
Refuse leftover ERET when plant is leftover dest
cursoragent Sep 5, 2026
8d10132
Replay thread+0xEC over leftover dest plant
cursoragent Sep 5, 2026
3d6387d
Refuse plant-fix to handle-lookup mid 0x800382F8
cursoragent Sep 5, 2026
ac46757
Observe leftover syscall-frame at leftover-halt
cursoragent Sep 5, 2026
ee3e1af
Refuse leftover resume at idle start 0x800356FC
cursoragent Sep 5, 2026
7607343
Skip leftover dest or $ra,$v0 at wait99
cursoragent Sep 5, 2026
a1a969e
Accept null string/regs on Rom and thread-ctx log
cursoragent Sep 5, 2026
b757425
Halt leftover jr to leftover mid 0x800159B0
cursoragent Sep 5, 2026
05a9778
Observe leftover 0x800397B0 frame+4 leftover dest
cursoragent Sep 5, 2026
541bebf
Observe leftover ObjectCall store of leftover dest $ra
cursoragent Sep 5, 2026
8741ab2
Fix leftover-syscall -1630 frame+4 to dump jalr+8
cursoragent Sep 5, 2026
84e6a7f
Fix every leftover dest -1630 frame; refuse +EC 0x800397B8
cursoragent Sep 5, 2026
1f83cb1
Fix leftover dest 0x03F70830 to dump jalr+8 of -938
cursoragent Sep 5, 2026
f4e1b93
Fix leftover dest wrapper $ra to dump jalr+8
cursoragent Sep 5, 2026
78866b8
Fix leftover dest thunk jalr delay; refuse memset mid
cursoragent Sep 5, 2026
0491fa1
General leftover-syscall api jalr+8; refuse jal-mid plant
cursoragent Sep 5, 2026
f919479
Fix leftover dest mid-hash comment wording
cursoragent Sep 5, 2026
8ac997b
Halt leftover dest leftover-syscall jalr+8 resume
cursoragent Sep 5, 2026
7ecd04b
Name leftover wait99 $ra at dest leftover-syscall halt
cursoragent Sep 5, 2026
0381f60
Fix wait99 plant root leftover dest leftover-syscall $ra
cursoragent Sep 6, 2026
a6102f2
Name leftover wait99 dest-live spin after leftover-wait99-fix
cursoragent Sep 6, 2026
2239756
Halt leftover dest leftover-syscall $ra dest-live continue
cursoragent Sep 6, 2026
a2375d3
Halt leftover wait99 plant root after leftover-wait99-halt
cursoragent Sep 6, 2026
0161c2e
Name leftover wait99 OEM tick spin after leftover-wait99-halt
cursoragent Sep 6, 2026
a77cd06
Observe leftover wait99 missing dest-live LoadO32 resume
cursoragent Sep 6, 2026
c673486
Refuse leftover dest GetProc dest-wrapper leftover-syscall
cursoragent Sep 6, 2026
b66258b
Continue leftover dest GetProc leftover dest lw $v0,0($s6)
cursoragent Sep 6, 2026
394f3fd
Continue leftover dest GetProc dump dest-wrapper success
cursoragent Sep 6, 2026
41b58dc
Plant leftover dest GetProc dump Win32 ppfnMethods cache
cursoragent Sep 6, 2026
f316d35
Observe dump WN32 CINFO ppfnMethods at LoadO32 wrap
cursoragent Sep 6, 2026
0e57fb6
Widen WN32 CINFO scan to dump nk.exe ImageBase
cursoragent Sep 6, 2026
f99af0d
Find Win32 ppfnMethods by dump thunks, not WN32 name
cursoragent Sep 6, 2026
509dd8f
Refuse leftover hop to 0x80088828 for leftover-cstk api -78
cursoragent Sep 6, 2026
6ac0299
Resume leftover-api-78-cont at dump-true +EC 0x8003FD04
cursoragent Sep 6, 2026
11cf70a
Refuse leftover hop to 0x80095EBC for leftover-cstk api -54
cursoragent Sep 6, 2026
f0cb076
Resume leftover-api-54-cont at dump-true +EC 0x8005950C
cursoragent Sep 6, 2026
a843fce
Resume leftover-api-54-cont at dest-live m54 0x8005A6D0
cursoragent Sep 6, 2026
58f17ea
Continue leftover-wait99-wrap-cont at GetProc-wrapper $ra
cursoragent Sep 6, 2026
2b0bcf3
Continue leftover-wait99-wrap-cont at $ra with dest-live GetProc
cursoragent Sep 6, 2026
98463a8
Peek wrap-plant table at leftover-wait99-wrap $ra
cursoragent Sep 6, 2026
0c21f53
Halt leftover-wait99 OEM tick mid after leftover-wait99-halt
cursoragent Sep 6, 2026
489b416
Name leftover-wait99-o32-halt: no dest-live LoadO32 resume
cursoragent Sep 7, 2026
c8e54d2
Continue leftover-wait99-o32-cont at wrap $ra LoadO32
cursoragent Sep 7, 2026
6a7f2dc
Halt leftover-wait99-o32 at wrap $ra; peek useg/dump
cursoragent Sep 7, 2026
0142875
Continue leftover-wait99-o32 from wrap 32-byte frame
cursoragent Sep 7, 2026
92eb906
Observe leftover-wait99-o32-halt $sp+0x10..0x1C
cursoragent Sep 7, 2026
db3d277
Observe leftover-wait99-o32-sw-halt first AFBF001C
cursoragent Sep 7, 2026
0ab1b68
Observe leftover-wait99-o32-ra-src prior jalr
cursoragent Sep 7, 2026
183c8f4
Observe leftover-wait99-o32-nk-call real LoadO32 $ra
cursoragent Sep 7, 2026
fbfeebf
Name leftover-wait99-o32-nk-ret dest-word=2 skip200-ce2
cursoragent Sep 7, 2026
0be2cb9
Name leftover-wait99-o32-nk-wrap-after dest-e32/fp50
cursoragent Sep 7, 2026
70cb3ec
Observe leftover-wait99-o32-nk-postcopy after CopyO32 fill
cursoragent Sep 7, 2026
2f63f51
Observe leftover-wait99-o32-nk-e32 after CopyO32 fill
cursoragent Sep 7, 2026
155fa92
Observe leftover-wait99-o32-nk-next wrap-tail jal
cursoragent Sep 7, 2026
84dd0ca
Observe leftover-wait99-o32-nk-imp after CopyO32 fill
cursoragent Sep 7, 2026
26cbe16
Observe leftover-wait99-o32-nk-bind hdr-off after CopyO32
cursoragent Sep 7, 2026
fb2d4b3
Observe leftover-wait99-o32-nk-iat-stub hd.dll BindImp
cursoragent Sep 7, 2026
7bb467b
Name leftover-wait99-o32-nk-iat-stub dump-true hd.dll HdstubDLLEntry
cursoragent Sep 7, 2026
29bdcf2
Restore leftover-wait99-o32-nk-iat-stub hd.dll BindImp slot march
cursoragent Sep 7, 2026
b224522
Name leftover-wait99-o32-nk-e32 text-1010; find dump-true e32_rom Ent…
cursoragent Sep 7, 2026
6cb8c3a
Name leftover-wait99-o32-nk-entry HdstubDLLEntry when e32_entryrva is 0
cursoragent Sep 7, 2026
2b02f4e
Fix leftover-wait99-o32-nk-e32 WrapE32Why vbase compile
cursoragent Sep 7, 2026
a273e3a
Feed leftover-wait99-o32-nk-jalr HdstubDLLEntry startip when e32_entr…
cursoragent Sep 7, 2026
4643c74
Observe leftover-wait99-o32-nk-after CallDLL HdstubDLLEntry ret
cursoragent Sep 7, 2026
37ce7dd
Observe leftover-wait99-o32-nk-chain osaxst0/coredll after Hdstub ret
cursoragent Sep 7, 2026
e65e45c
Name leftover-wait99-o32-nk-chain CallDLL 0x80061CA0 from MODULE
cursoragent Sep 7, 2026
b52708e
Feed leftover-wait99-o32-nk-chain coredll startip when 32($sp) is 0
cursoragent Sep 8, 2026
b51fa7d
Feed leftover-wait99-o32-nk-chain coredll CallDLL startip before 0x80…
cursoragent Sep 8, 2026
0ed7d5c
Feed leftover-wait99-o32-nk-chain coredll CallDLL from wrap when useg
cursoragent Sep 8, 2026
c54dd31
Observe leftover-wait99-o32-nk-chain coredll DllMain ret or body miss
cursoragent Sep 8, 2026
e728aa2
Fix leftover-wait99-o32-nk-after coredll ret local shadow
cursoragent Sep 8, 2026
c7dd951
Name leftover-wait99-o32-nk-chain coredll exn Cause/EPC and ret after…
cursoragent Sep 8, 2026
d6a8de5
Name leftover-wait99-o32-nk-chain coredll DllMain jal at 0x03F6EE0C
cursoragent Sep 8, 2026
f4b2558
Name leftover-wait99-o32-nk-chain coredll DllMain GetProc slot 0x01FF…
cursoragent Sep 8, 2026
4d62343
Name leftover-wait99-o32-nk-chain coredll DllMain I-fetch page 0x03FC…
cursoragent Sep 8, 2026
e6f670d
Name leftover-wait99-o32-nk-chain coredll DllMain jalr/jr dest 0
cursoragent Sep 8, 2026
82b0d37
Name leftover-wait99-o32-nk-chain coredll store TLBS 0xFFFFE380
cursoragent Sep 8, 2026
9f90c5f
Name leftover-wait99-o32-nk-chain coredll sb 0xFFFFE380
cursoragent Sep 8, 2026
734b895
Name leftover-wait99-o32-nk-chain coredll sb l2=0 pair
cursoragent Sep 8, 2026
9b62569
Name leftover-wait99-o32-nk-chain coredll sb-zero-skip
cursoragent Sep 8, 2026
76d3299
Name leftover-wait99-o32-nk-chain coredll load 0xFFFFFE54
cursoragent Sep 8, 2026
221208f
Name leftover-wait99-o32-nk-chain coredll sud-beq0-skip
cursoragent Sep 8, 2026
ab4c991
Fix leftover-wait99-o32-nk-chain coredll sud-beq0-skip stick
cursoragent Sep 8, 2026
f628fa6
Name leftover-wait99-o32-nk-chain coredll sb-jalr-skip 0xFFFFE428
cursoragent Sep 8, 2026
fe1650b
Name leftover-wait99-o32-nk-chain coredll jalr dest load 0x7EB8
cursoragent Sep 8, 2026
5a06a4f
Name leftover-wait99-o32-nk-chain coredll jalr dest load 0x1DB0
cursoragent Sep 8, 2026
8c5855f
Name leftover-wait99-o32-nk-chain coredll reserved insn 0x803426A4
cursoragent Sep 8, 2026
e2d5b1c
Implement leftover-wait99-o32-nk-chain coredll SPECIAL MUL 0x16
cursoragent Sep 8, 2026
5efd98e
Retract leftover-wait99-o32-nk-chain SPECIAL 0x16 MUL
cursoragent Sep 8, 2026
ee912b8
Name leftover-wait99-o32-nk-chain jalr-ri live regs
cursoragent Sep 8, 2026
c761219
Name leftover-wait99-o32-nk-chain jalr-ri s2=s0 THREAD
cursoragent Sep 8, 2026
2724c8f
Fix leftover-wait99-o32-nk-chain jalr-table dest to $t9
cursoragent Sep 8, 2026
07670a8
Name leftover-wait99-o32-nk-chain jalr-t9 msec-scale
cursoragent Sep 8, 2026
d660a21
Fix leftover-wait99-o32-nk-chain ffff-e000 sb-jr dump
cursoragent Sep 8, 2026
8553edf
Name leftover-wait99-o32-nk-chain stk-2470 sw $sp
cursoragent Sep 8, 2026
7ae816b
Fix leftover-wait99-o32-nk-chain stk-2470 dump-sw
cursoragent Sep 8, 2026
9eea658
Name leftover-wait99-o32-nk-chain nest-1670 sb $v0
cursoragent Sep 8, 2026
fcd07f0
Fix leftover-wait99-o32-nk-chain nest-1670 dump-sb
cursoragent Sep 8, 2026
4ee7f9b
Fix leftover-wait99-o32-nk-chain abs-store dump-mem
cursoragent Sep 8, 2026
d2ceddd
Fix leftover-wait99-o32-nk-chain abs-6670 dump-mem
cursoragent Sep 8, 2026
93085c2
Fix leftover-wait99-o32-nk-chain dump-mem self-heal
cursoragent Sep 8, 2026
1bf1ee4
Name leftover-wait99-o32-nk-chain c000-0088 sw $a1
cursoragent Sep 8, 2026
af5d963
Fix leftover-wait99-o32-nk-chain c000-0088 ternary compile
cursoragent Sep 8, 2026
0cb3d43
Fix leftover-wait99-o32-nk-chain dump-mem-skip healed jal
cursoragent Sep 8, 2026
296037e
Fix leftover-wait99-o32-nk-chain dump-mem heal-already fallthrough
cursoragent Sep 8, 2026
479dcc0
Fix leftover-wait99-o32-nk-chain c000 v0-class and 15c28
cursoragent Sep 8, 2026
f9afdbc
Fix leftover-wait99-o32-nk-chain nest dump-mem jal execute
cursoragent Sep 8, 2026
4577e0a
Fix leftover-wait99-o32-nk-chain dump-mem jal execute
cursoragent Sep 8, 2026
f550bee
Fix leftover-wait99-o32-nk-chain dump-mem jal hold dest
cursoragent Sep 8, 2026
4bd64a2
Name leftover-wait99-o32-nk-chain bad-a lhu $a1
cursoragent Sep 8, 2026
7ad9ab2
Fix leftover-wait99-o32-nk-chain bad-a a1 dest-a0
cursoragent Sep 8, 2026
98276c7
Fix leftover-wait99-o32-nk-chain c000 store-skip 15c28 hold
cursoragent Sep 8, 2026
faf00f3
Fix leftover-wait99-o32-nk-chain c000-1070 skip 15c2c
cursoragent Sep 8, 2026
e7f0f37
Fix leftover-wait99-o32-nk-chain ckseg skip 15c28 leave
cursoragent Sep 8, 2026
8f04283
Observe leftover-wait99-o32-nk-chain 15c28 after leave
cursoragent Sep 8, 2026
bbc7f7f
Fix leftover-wait99-o32-nk-chain 15c28 jal 0x80020FA0
cursoragent Sep 8, 2026
b987f7d
Observe leftover-wait99-o32-nk-chain 15c28 ThreadPtr
cursoragent Sep 8, 2026
71fd3f6
Fix leftover-wait99-o32-nk-chain d000 skip 15c28 leave-hold
cursoragent Sep 8, 2026
e9baf25
Fix leftover-wait99-o32-nk-chain e000 skip 59488 dump-subu
cursoragent Sep 8, 2026
2da6f61
Observe leftover-wait99-o32-nk-chain 15c28 memset-ret
cursoragent Sep 8, 2026
f48c2dc
Fix leftover-wait99-o32-nk-chain f000 skip 59488-exec
cursoragent Sep 8, 2026
20f3972
Fix leftover-wait99-o32-nk-chain ffff0288 skip memset-ret
cursoragent Sep 8, 2026
5f45ec7
Observe leftover-wait99-o32-nk-chain 15c28 s1 after memset-ret
cursoragent Sep 8, 2026
c270933
Fix leftover-wait99-o32-nk-chain e000-e288 skip after-memset
cursoragent Sep 8, 2026
738e467
Fix leftover-wait99-o32-nk-chain f000-f088 skip s1-skip
cursoragent Sep 8, 2026
fe74462
Fix leftover-wait99-o32-nk-chain page0-70 skip after-s1-next
cursoragent Sep 8, 2026
97fb310
Fix leftover-wait99-o32-nk-chain lowuseg-1028 skip s1-alu
cursoragent Sep 8, 2026
b235cc9
Fix leftover-wait99-o32-nk-chain 15c28 stk-sw skip bne
cursoragent Sep 8, 2026
d77b740
Fix leftover-wait99-o32-nk-chain 15c28 fp-lw skip rearm-stksw
cursoragent Sep 8, 2026
e3d054d
Fix leftover-wait99-o32-nk-chain 15c28 sp-t9 skip leave
cursoragent Sep 8, 2026
52d67d1
Fix leftover-wait99-o32-nk-chain 15c28 t3/v0 shadow
cursoragent Sep 8, 2026
4878d5b
Fix leftover-wait99-o32-nk-chain 15c28 jal-ra epi skip
cursoragent Sep 8, 2026
1736cd5
Fix leftover-wait99-o32-nk-chain 15c28 outer jal
cursoragent Sep 8, 2026
fcadd59
Fix leftover-wait99-o32-nk-chain 15c28 jal-ra cap na0-ifetch
cursoragent Sep 8, 2026
5d27a34
Fix leftover-wait99-o32-nk-chain 15c28 outer jal dest ALU
cursoragent Sep 8, 2026
1d9baf5
Fix leftover-wait99-o32-nk-chain 15c28 outer jal dest lw
cursoragent Sep 8, 2026
fc282e4
Fix leftover-wait99-o32-nk-chain 15c28 outer jal caller lhu
cursoragent Sep 8, 2026
e5f4369
Fix leftover-wait99-o32-nk-chain 15c28 outer jal caller s3
cursoragent Sep 8, 2026
4a2c700
Fix leftover-wait99-o32-nk-chain 15c28 outer jal lw-skip
cursoragent Sep 8, 2026
da2ecb1
Fix leftover-wait99-o32-nk-chain 15c28 restore IncDest peek
cursoragent Sep 8, 2026
115b501
Fix leftover-wait99-o32-nk-chain 15c28 outer jal cookie jr
cursoragent Sep 8, 2026
2e68147
Fix leftover-wait99-o32-nk-chain 15c28 outer jal caller bne
cursoragent Sep 8, 2026
9f5ef29
Fix leftover-wait99-o32-nk-chain 15c28 outer jal bne land
cursoragent Sep 8, 2026
b7efbff
Fix leftover-wait99-o32-nk-chain 15c28 outer jal sltu
cursoragent Sep 8, 2026
dd85d76
Fix leftover-wait99-o32-nk-chain 15c28 outer jal cap progress
cursoragent Sep 8, 2026
fe68d29
Fix leftover-wait99-o32-nk-chain 15c28 outer jal beq
cursoragent Sep 8, 2026
7964d8a
Fix leftover-wait99-o32-nk-chain 15c28 outer jal sltu t3
cursoragent Sep 8, 2026
87bbfea
Fix leftover-wait99-o32-nk-chain 15c28 outer jal addiu
cursoragent Sep 8, 2026
36e0bb7
Fix leftover-wait99-o32-nk-chain 15c28 outer jal lw-t4
cursoragent Sep 8, 2026
c5d44f3
Fix leftover-wait99-o32-nk-chain 15c28 outer jal lw-s7
cursoragent Sep 8, 2026
e99a90c
Fix leftover-wait99-o32-nk-chain 15c28 outer jal addu
cursoragent Sep 8, 2026
ab51f6e
Fix leftover-wait99-o32-nk-chain 15c28 outer jal lw-fp
cursoragent Sep 8, 2026
417729e
Fix leftover-wait99-o32-nk-chain 15c28 outer jal lw-s6
cursoragent Sep 8, 2026
fac4e01
Fix leftover-wait99-o32-nk-chain 15c28 outer jal lw-s5
cursoragent Sep 8, 2026
c9b2f7a
Fix leftover-wait99-o32-nk-chain 15c28 outer jal lw-s4
cursoragent Sep 8, 2026
8533465
Fix leftover-wait99-o32-nk-chain 15c28 outer jal lw-s3
cursoragent Sep 8, 2026
e18b007
Fix leftover-wait99-o32-nk-chain 15c28 outer jal lw-s2
cursoragent Sep 8, 2026
d5e2773
Fix leftover-wait99-o32-nk-chain 15c28 outer jal lw-s1
cursoragent Sep 8, 2026
ceee1bd
Fix leftover-wait99-o32-nk-chain 15c28 outer jal lw-s0
cursoragent Sep 8, 2026
e466bce
Fix leftover-wait99-o32-nk-chain 15c28 outer jal lw-ra
cursoragent Sep 8, 2026
9fc60b8
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi addiu
cursoragent Sep 8, 2026
ce53ead
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi jr skip
cursoragent Sep 8, 2026
166818f
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi lui
cursoragent Sep 8, 2026
02dffcd
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi v0 addiu
cursoragent Sep 8, 2026
7b548eb
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi v1 addiu
cursoragent Sep 8, 2026
475ffcb
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi sw
cursoragent Sep 8, 2026
dcf9658
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi a3 lui
cursoragent Sep 8, 2026
62b0a8b
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi lhu
cursoragent Sep 8, 2026
5142c73
Fix leftover-wait99-o32-nk-chain 15c28 outer jal 99ff cap
cursoragent Sep 8, 2026
e73cf23
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi a2 addiu
cursoragent Sep 8, 2026
431c33f
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi a1 addiu
cursoragent Sep 8, 2026
479eba6
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi a3 lhu zero
cursoragent Sep 8, 2026
9973a3b
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi sltu
cursoragent Sep 8, 2026
db9d12b
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi beq
cursoragent Sep 8, 2026
71d9731
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi beq addiu
cursoragent Sep 8, 2026
721c102
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi beq slt
cursoragent Sep 8, 2026
75d1028
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi beq bne
cursoragent Sep 8, 2026
d77479b
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi beq bne fall
cursoragent Sep 8, 2026
f438996
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi beq bne fall sw
cursoragent Sep 8, 2026
2b19644
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi beq bne fall jr
cursoragent Sep 8, 2026
c4c77e1
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi beq bne fall jr …
cursoragent Sep 8, 2026
9f2f82d
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi beq bne fall jr …
cursoragent Sep 8, 2026
89f8975
Fix leftover-wait99-o32-nk-chain 15c28 ffff-e000 sb-ea88 skip
cursoragent Sep 8, 2026
1099cb8
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi beq bne fall jr …
cursoragent Sep 8, 2026
5f426bf
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi prologue sw + jal
cursoragent Sep 9, 2026
6e264a7
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi trampoline
cursoragent Sep 9, 2026
17ec945
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret
cursoragent Sep 9, 2026
3da88c8
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret bne
cursoragent Sep 9, 2026
29a9913
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret fall path
cursoragent Sep 9, 2026
749ad1b
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret caller
cursoragent Sep 9, 2026
90d6470
Bump SharpCompress 0.29.0 to 0.50.4 for CVE-2026-44788
cursoragent Sep 9, 2026
d75e3fd
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret caller next
cursoragent Sep 9, 2026
a0e968d
Fix leftover-wait99-o32-nk-chain CS8604 ddi_nop decomp helpers
cursoragent Sep 9, 2026
2412828
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret caller jr ra
cursoragent Sep 9, 2026
ed8acc4
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret caller ra
cursoragent Sep 9, 2026
8cae3af
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret caller ra epi
cursoragent Sep 9, 2026
4b1d20d
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret caller ra lhu
cursoragent Sep 9, 2026
27bea8b
Fix MIPS Guest status bar select-and-copy
cursoragent Sep 9, 2026
5a2878a
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret caller ra s3
cursoragent Sep 9, 2026
8d9d378
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret caller ra t1
cursoragent Sep 9, 2026
f5119a9
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret caller ra bne
cursoragent Sep 9, 2026
545233c
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret caller ra skip
cursoragent Sep 9, 2026
07cb2b3
Fix leftover-wait99-o32-nk-chain 15c28 outer jal epi ret caller ra land
cursoragent Sep 9, 2026
8f64660
Fix leftover-wait99-o32-nk-chain bad-a abort gate after bada-a0-restore
cursoragent Sep 9, 2026
75fab53
Fix leftover-wait99-o32-nk-chain bad-a callee continue to e000-0288
cursoragent Sep 9, 2026
07f8a9a
Fix leftover-wait99-o32-nk-chain dump-true leave; restore ROMHDR cont…
cursoragent Sep 9, 2026
c768b57
Bump guest RAM to ~2 GiB; keep SP at KSEG0 top
cursoragent Sep 9, 2026
e9ece3d
Fix Start: guest RAM just under 2 GiB so byte[] can allocate
cursoragent Sep 9, 2026
0e9d76d
Revert guest RAM to 256 MiB; keep Start catch log
cursoragent Sep 9, 2026
c3e1614
Fix leftover-wait99-o32-nk-chain list-insert TLBS at 0xC0002BC8
cursoragent Sep 9, 2026
a654026
Fix leftover-wait99-o32-nk-chain list-insert TLBS at 0x14E88
cursoragent Sep 9, 2026
037e309
Fix leftover-wait99-o32-nk-chain list-insert any dest-miss
cursoragent Sep 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 59 additions & 51 deletions .github/workflows/auto-release.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# Publish a zip on push/merge to main (release) or dev (prerelease).
# Does not run on pull_request — open PRs must not create a Release or tag.
# Dump bins (nk.bin, etc.bin, UverseDriveE) are never attached.
name: Auto Release

# Restores the old ci.yml "Build & Auto Release" path (last working
# cut was v1.0.7). PRs do not publish a release. Merging a PR is a
# push to main (release) or dev (prerelease), and that is what cuts
# the GitHub Release. Leave the empty/no-jobs ci.yml alone.
on:
push:
branches: [main, dev]
Expand All @@ -13,8 +12,8 @@ permissions:
contents: write

jobs:
build-and-release:
name: Build and release
release:
name: Build and publish zip
runs-on: windows-latest
steps:
- name: Checkout
Expand All @@ -25,68 +24,77 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
dotnet-version: '8.0.x'

- name: Restore
run: dotnet restore ProcessorEmulator.csproj

- name: Build
run: dotnet build ProcessorEmulator.csproj --configuration Release --no-restore
run: dotnet build ProcessorEmulator.csproj -c Release --no-restore

- name: Tag next version
id: tag
- name: Publish
run: dotnet publish ProcessorEmulator.csproj -c Release -f net8.0-windows -o publish

- name: Next version
id: version
shell: pwsh
run: |
$latestTag = git describe --tags --abbrev=0 2>$null
if ($LASTEXITCODE -ne 0 -or [string]::IsNullOrWhiteSpace($latestTag)) {
if ("${{ github.ref }}" -eq "refs/heads/dev") {
$newTag = "v1.0.0-dev.$(Get-Date -Format 'yyyyMMddHHmm')"
} else {
$newTag = "v1.0.0"
git fetch --tags --force
$tags = git tag -l "v*" | Where-Object { $_ -match '^v\d+\.\d+\.\d+$' }
$latest = $null
$maxMajor = -1; $maxMinor = -1; $maxPatch = -1
foreach ($t in $tags) {
$p = $t.TrimStart('v').Split('.')
$maj = [int]$p[0]; $min = [int]$p[1]; $pat = [int]$p[2]
if ($maj -gt $maxMajor -or ($maj -eq $maxMajor -and $min -gt $maxMinor) -or ($maj -eq $maxMajor -and $min -eq $maxMinor -and $pat -gt $maxPatch)) {
$maxMajor = $maj; $maxMinor = $min; $maxPatch = $pat
$latest = $t
}
}
if (-not $latest) {
$next = "v1.0.0"
} else {
$version = $latestTag -replace '^v', '' -replace '-.*$', ''
$parts = $version.Split('.')
$major = [int]$parts[0]
$minor = [int]$parts[1]
$patch = [int]$parts[2]
if ("${{ github.ref }}" -eq "refs/heads/dev") {
$newTag = "v$major.$minor.$($patch + 1)-dev.$(Get-Date -Format 'yyyyMMddHHmm')"
} else {
$newTag = "v$major.$minor.$($patch + 1)"
}
$next = "v$maxMajor.$maxMinor.$($maxPatch + 1)"
}
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git tag $newTag
git push origin $newTag
"NEW_TAG=$newTag" | Out-File -FilePath $env:GITHUB_ENV -Append
"new_tag=$newTag" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
Write-Host "Tagged $newTag"
$isDev = '${{ github.ref }}' -eq 'refs/heads/dev'
if ($isDev) {
$stamp = Get-Date -Format "yyyyMMddHHmmss"
$tag = "$next-dev.$stamp"
$prerelease = "true"
} else {
$tag = $next
$prerelease = "false"
}
"tag=$tag" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
"prerelease=$prerelease" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
Write-Host "Latest release tag: $latest"
Write-Host "Publishing: $tag (prerelease=$prerelease)"

- name: Package
- name: Zip Windows build
shell: pwsh
run: |
$out = "bin\Release\net8.0-windows"
if (-not (Test-Path $out)) {
Write-Host "Build output missing at $out"
Get-ChildItem bin -Recurse -ErrorAction SilentlyContinue | ForEach-Object { Write-Host $_.FullName }
exit 1
}
New-Item -ItemType Directory -Path release-package -Force | Out-Null
Copy-Item -Path "$out\*" -Destination release-package\ -Recurse -Force
if (Test-Path README.md) { Copy-Item README.md release-package\ }
Compress-Archive -Path "release-package\*" -DestinationPath "ProcessorEmulator-$env:NEW_TAG.zip" -Force
$src = "publish"
$stage = "release-stage"
if (Test-Path $stage) { Remove-Item $stage -Recurse -Force }
New-Item -ItemType Directory -Path $stage | Out-Null
Copy-Item "$src\*" $stage -Recurse -Force
$dumpNames = @('nk.bin','etc.bin','sec.bin','raven_fw.bin','UverseDriveE')
Get-ChildItem $stage -Recurse -Force | Where-Object {
$dumpNames -contains $_.Name
} | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
$zip = "ProcessorEmulator-${{ steps.version.outputs.tag }}.zip"
Compress-Archive -Path "$stage\*" -DestinationPath $zip -Force
"zip=$zip" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
id: pack

- name: Create GitHub Release
- name: Publish GitHub Release
uses: softprops/action-gh-release@v2
with:
files: ProcessorEmulator-*.zip
tag_name: ${{ steps.version.outputs.tag }}
name: ${{ steps.version.outputs.tag }}
generate_release_notes: true
prerelease: ${{ github.ref == 'refs/heads/dev' }}
tag_name: ${{ env.NEW_TAG }}
name: Processor Emulator ${{ env.NEW_TAG }}
body: |
Automated release from `${{ github.ref_name }}` (`${{ github.sha }}`).
prerelease: ${{ steps.version.outputs.prerelease == 'true' }}
files: ${{ steps.pack.outputs.zip }}
fail_on_unmatched_files: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
51 changes: 34 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,48 @@
# One Windows job on open PRs. Uploads a zip artifact. Does not create a Release or tag.
# Dump bins (nk.bin, etc.bin, UverseDriveE) are never attached.
name: CI

on:
push:
# Only run CI on version tag pushes
tags: ['v*']
pull_request:
# Run CI on PRs targeting dev
branches: [dev]

branches: [main, dev]

permissions:
contents: read

jobs:
build:
name: Build on Windows
windows:
name: Windows build
runs-on: windows-latest
steps:
- name: Checkout repository
- name: Checkout
uses: actions/checkout@v4

- name: Setup .NET SDK
uses: actions/setup-dotnet@v3
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'

- name: Restore dependencies
run: dotnet restore Processor-Emulator.sln
- name: Restore
run: dotnet restore ProcessorEmulator.csproj

- name: Build
run: dotnet build ProcessorEmulator.csproj -c Release --no-restore

- name: Build solution
run: dotnet build Processor-Emulator.sln --configuration Release --no-restore
- name: Publish
run: dotnet publish ProcessorEmulator.csproj -c Release -f net8.0-windows -o publish

- name: Run tests (if any)
run: echo "Skipping tests: no test projects defined."
- name: Zip (no dump bins)
shell: pwsh
run: |
$dumpNames = @('nk.bin','etc.bin','sec.bin','raven_fw.bin','UverseDriveE')
Get-ChildItem publish -Recurse -Force -ErrorAction SilentlyContinue | Where-Object {
$dumpNames -contains $_.Name
} | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
Compress-Archive -Path publish\* -DestinationPath ProcessorEmulator-pr.zip -Force

- name: Upload zip artifact
uses: actions/upload-artifact@v4
with:
name: ProcessorEmulator-windows
path: ProcessorEmulator-pr.zip
if-no-files-found: error
5 changes: 1 addition & 4 deletions .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,12 @@ on:
pull_request:
types: [opened, reopened, synchronize, closed]
branches: [main, dev]
workflow_dispatch:

permissions:
contents: write
pull-requests: write

permissions:
contents: read
pull-requests: write

jobs:
update_release_draft:
runs-on: ubuntu-latest
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup .NET 6 SDK
uses: actions/setup-dotnet@v3
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.0.x'
dotnet-version: '8.0.x'
- name: Build Dev (Debug)
run: |
dotnet restore
dotnet restore ProcessorEmulator.csproj
dotnet build ProcessorEmulator.csproj --configuration Debug
dotnet publish ProcessorEmulator.csproj --configuration Debug --output dev-artifacts
- name: Upload Dev Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: dev-build-${{ github.run_number }}
path: dev-artifacts
Expand All @@ -41,13 +41,13 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup .NET 6 SDK
uses: actions/setup-dotnet@v3
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.0.x'
dotnet-version: '8.0.x'

- name: Cache NuGet packages
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
Expand All @@ -56,7 +56,7 @@ jobs:

- name: Build solution
run: |
dotnet restore
dotnet restore ProcessorEmulator.csproj
dotnet build ProcessorEmulator.csproj --configuration Release

- name: Publish artifacts
Expand Down
2 changes: 1 addition & 1 deletion App.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ protected override void OnStartup(StartupEventArgs e)

var host = new MediaroomHostForm();
if (!string.IsNullOrEmpty(feed))
host.DumpPath = feed;
host.DiskFolder = feed;
System.Windows.Forms.Application.Run(host);
Shutdown();
}
Expand Down
21 changes: 21 additions & 0 deletions CP0.cs
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,27 @@ public TlbTranslateStatus TryTranslate(uint vaddr, out uint paddr)
return TlbTranslateStatus.Miss;
}

// Live 674d704: page 0xFFFFF000 TLBL. Scan VPN
// even if ASID mismatches. Do not invent a PFN.
public bool TryFindTlbPfn(uint vaddr, out uint pfn, out bool valid)
{
pfn = 0;
valid = false;
uint vpn2 = (vaddr >> 13) & 0x7FFFF;
bool odd = (vaddr & 0x1000) != 0;
for (int i = 0; i < TLB_ENTRIES; i++)
{
uint tlbVpn2 = (_tlb[i].EntryHi >> 13) & 0x7FFFF;
if (tlbVpn2 != vpn2)
continue;
uint lo = odd ? _tlb[i].EntryLo1 : _tlb[i].EntryLo0;
pfn = (lo >> 6) & 0xFFFFF;
valid = (lo & 2) != 0;
return true;
}
return false;
}

public void PrepareTlbException(uint vaddr)
{
BadVAddr = vaddr;
Expand Down
Loading
Loading