[ckernel] split by game version (#1559)

* temp

* split up kprint, other than format

* start kmachine

* split kmachine

* split kscheme

* split klink

* split klisten

* split remaining

* jak2 ckernel gets to nokernel loop
This commit is contained in:
water111
2022-06-26 18:17:11 -04:00
committed by GitHub
parent 3b177d47c0
commit e630b50690
135 changed files with 7733 additions and 3159 deletions
+5 -3
View File
@@ -89,7 +89,8 @@ u32 scan_for_symbol_table(const Ram& ram, u32 start_addr, u32 end_addr) {
fmt::print("got {} candidates for #f:\n", candidates.size());
for (auto addr : candidates) {
auto str = addr + BASIC_OFFSET + SYM_INFO_OFFSET;
// todo: this is wrong
auto str = addr + BASIC_OFFSET + jak1::SYM_INFO_OFFSET;
fmt::print(" trying 0x{:x}:\n", addr);
if (ram.word_in_memory(str)) {
auto mem = ram.word(str + 4); // offset of str in SymInfo
@@ -125,12 +126,13 @@ SymbolMap build_symbol_map(const Ram& ram, u32 s7) {
LastSymbol = symbol_table + 0xff00;
*/
auto symbol_table = s7 - ((GOAL_MAX_SYMBOLS / 2) * 8 + BASIC_OFFSET);
// todo wrong
auto symbol_table = s7 - ((jak1::GOAL_MAX_SYMBOLS / 2) * 8 + BASIC_OFFSET);
auto SymbolTable2 = symbol_table + BASIC_OFFSET;
auto LastSymbol = symbol_table + 0xff00;
for (u32 sym = SymbolTable2; sym < LastSymbol; sym += 8) {
auto info = sym + SYM_INFO_OFFSET; // already has basic offset
auto info = sym + jak1::SYM_INFO_OFFSET; // already has basic offset
auto str = ram.word(info + 4);
if (str) {
auto name = ram.string(str + 4);