mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-28 10:59:16 -04:00
7c40d33db3
Phase 1a (boot slice): 30 instructions at 0xBFC00000, compiles clean. Phase 1b (instruction coverage): 54 opcodes implemented in strict_translator, 44,629 walker-reachable instructions covered, 0 missing. Phase 1c (function discovery): 76 functions from 2 seeds, 2,988 instructions, 199 call edges, 27 indirect jumps. All validated through StrictTranslator. Phase 1d (indirect control flow): 27 sites classified — 21 A0/B0/C0 dispatch stubs, 4 computed calls, 2 computed tail calls. Ghidra cross-referenced with 0 disagreements. Phase 1e (relocation): ROM-to-RAM copy at FUN_bfc00420 proven with both Ghidra (static) and DuckStation (runtime). 69 address aliases, 68/69 function entries match byte-for-byte in RAM. Normalization rule documented. Includes PRINCIPLES.md and DEBUG.md adapted from recomp-template. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
132 lines
1.8 KiB
CSS
132 lines
1.8 KiB
CSS
/*
|
|
color:#ffffff; white
|
|
color:#e0e0e0; light gray
|
|
color:#f8f8f8; light gray
|
|
color:#003366; dark blue
|
|
color:#555555; gray
|
|
color:#ff9933; light orange
|
|
color:#cc3300; red/brown/orange
|
|
color:#660066; purple
|
|
color:#669900; green
|
|
*/
|
|
|
|
a {
|
|
color:#003366;
|
|
text-decoration:underline;
|
|
}
|
|
|
|
a:hover {
|
|
color:#ff9933;
|
|
}
|
|
|
|
body {
|
|
font-family: verdana, tahoma, helvetica, arial, sans-serif;
|
|
font-size: 90%;
|
|
background-color:#ffffff;
|
|
margin: 1em;
|
|
}
|
|
|
|
pre {
|
|
font-family: courier, serif;
|
|
background-color:#f8f8f8;
|
|
margin: 1.5em;
|
|
font-size:90%;
|
|
}
|
|
|
|
ul {
|
|
list-style: circle outside;
|
|
font-stretch:extra-expanded;
|
|
/* font-size:90%;*/
|
|
}
|
|
|
|
ul.menu { /* inherits from ul */
|
|
padding-left: 1em;
|
|
}
|
|
|
|
|
|
em {
|
|
color:#FF7700;
|
|
font-size:110%;
|
|
}
|
|
|
|
h1,h2,h3{
|
|
color:#FF7700;
|
|
}
|
|
|
|
h1 {
|
|
border-color:#d0d0d0;
|
|
border-style:solid;
|
|
border-width:1px;
|
|
font-weight:bold;
|
|
padding: 0.2em;
|
|
background-color:#f8f8f8
|
|
}
|
|
|
|
h2 {
|
|
font-size:120%;
|
|
font-weight:bold;
|
|
border-bottom-style:solid;
|
|
border-bottom-width:1px;
|
|
border-bottom-color:#d0d0d0;
|
|
}
|
|
|
|
h3 {
|
|
font-size:110%;
|
|
font-weight:bold;
|
|
font-style:italic;
|
|
}
|
|
|
|
tt {
|
|
font-family: courier, serif;
|
|
}
|
|
|
|
tt.classname {
|
|
font-weight:bold;
|
|
}
|
|
|
|
tt.constant {
|
|
font-weight:bold;
|
|
}
|
|
|
|
|
|
p {
|
|
line-height: 1.5em;
|
|
}
|
|
|
|
|
|
p.author {
|
|
/* line-height: 0.5em; */
|
|
font-size:70%;
|
|
}
|
|
|
|
|
|
div.links{
|
|
float: left;
|
|
clear: left;
|
|
width: 12em;
|
|
background-color:#f8f8f8;
|
|
border-style:solid;
|
|
border-width:1px;
|
|
border-color:#d0d0d0;
|
|
margin-bottom: 0.5em;
|
|
padding: 0.5em 0.5em 0.5em 0.5em;
|
|
margin: 0.5em 0.5em 0em 0em;
|
|
}
|
|
|
|
div.main{
|
|
border-style:solid;
|
|
border-width:1px;
|
|
border-color:#d0d0d0;
|
|
margin: 0.5em 0em 0.5em 14em;
|
|
padding: 0.5em 0.5em 0.5em 0.5em;
|
|
}
|
|
|
|
div.by{
|
|
line-height: 0.5em;
|
|
border-width:1px;
|
|
border-color:#d0d0d0;
|
|
margin: 0.5em 0em 0.5em 14em;
|
|
padding: 0.5em 0.5em 0.5em 0.5em;
|
|
}
|
|
|