1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-01-17 05:57:00 +00:00
Commit graph

281 commits

Author SHA1 Message Date
fig02
2b25c31588
Document Target_Draw [Target Docs 2/?] (#2115)
* document Target_Draw

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* fix missed renames

* retail fix

* another fix

---------

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2024-09-01 16:02:13 -04:00
fig02
a21a59c4b5
Target Docs [1/?] (#2110)
* Target Docs Part 1

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* review

---------

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2024-08-31 15:10:25 -04:00
cadmic
a63f0a63b5
Move driverominit and sprintf to src/boot/ (#2105) 2024-08-29 16:34:18 -04:00
cadmic
5e9704b464
[ntsc-1.2] Fix some data / disassembly / undefined_syms (#2103)
* Fix some data splits

* Use real fault functions in cic6105.c

* Fix fault_n64.c data sizes

* Format
2024-08-29 12:05:50 -04:00
cadmic
7079005c83
[ntsc-1.2] Match N64 libultra (#2081)
* Match N64 libultra

* INITIALIZE_FUNC -> OSINITIALIZE_FUNC

* Document osGetIntMask

* Refer readers of osGetIntMask to osSetIntMask comment

* Whitelist new static functions in disasm unksyms check
2024-08-28 21:30:36 -04:00
Dragorn421
7592bf1e42
Check disasm metadata for missed renames (#2069)
* Check disasm metadata (look for symbols in metadata that no longer exist, indicating renames but the metadata was not updated)

* -us.z64

* Update disasm metadata with renamed functions in #2057

* sort IGNORE_NTSC_1_2_SYMS_MISSING
2024-08-28 13:28:03 +02:00
Dragorn421
68818044db
[ntsc-1.2] Decompile fault.c (#2046)
* wip decomp ntsc-1.2 fault.c

* more ntsc-1.2 fault.c

* decompiled fault_v1.c

* name fault_v1 functions, wip

* try to clean up build system (two versions of the fault system coexisting)

* cleanup

* cleanup2

* fix build gc-eu-mq-dbg

* match 2 more, ty anon

* matched

* review

* more review

* fixup spec

* `(uintptr_t)ptr op int` instead of `ptr op (type*)int`

* move fault.h out of global headers, properly include fault.h and versions.h

* compile all fault_*.c files regardless of version by overriding FAULT_VERSION

* n64 FaultMgr.framebuffer s32 -> u16*

* FaultMgr.framebuffer -> FaultMgr.fb

* make gc FaultMgr.fb u16* (yes, thats everything)

* bss

* fix Fault_Printf return type

* noop FaultDrawer_SetFontColor, FaultDrawer_SetCharPad in fault_n64

* fault_color_ stuff is only for fault_gc

* rm empty line in makefile

* I guess `D_80105A90_unknown` is `[sg]TotalAllocFailures`

* bss

* `Fault_WaitInput` -> `Fault_WaitForInput`

* use named fault funcs in pointers array

* FAULT_OOT{N64,GC} -> FAULT_{N64,GC}

* Apply suggestions from code review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* review, sync fault_{gc,n64}

* Apply `FPCSR_CE` suggestions from code review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2024-08-28 09:38:42 +02:00
Tharo
aa97586659
[Audio 6/?] Build Soundfonts and the Soundfont Table (#2056)
* [Audio 6/?] Build Soundfonts and the Soundfont Table

* Improve lots of error messages

* First suggested changes

* Make audio build debugging more friendly

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Some fixes from MM review

* Make soundfont_table.h generation depend on the samplebank xmls since they are read, report from which soundfont the invalid pointer indirect warning originates from

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-27 21:09:59 -04:00
cadmic
7c2e0383f3
In fix_bss.py, really always use BSS section start from map file (#2085) 2024-08-25 16:43:07 +02:00
Dragorn421
7056423e5b
[ntsc-1.2] Decompile cic6105.c, main.c (#2068)
* decompile-OK Main, cic6105.c

* names cleanup / minimal doc

* match versions

* fix bad disasm metadata format

* bss

* bss

* review 1

* review 2

* review 3

* review 4

* cleanup

* bss

* add some sizes to disasm metadata symbols
2024-08-25 16:00:10 +02:00
cadmic
22a00b46fb
Have fix_bss.py deal with symbols referenced in .data or .rodata (#2072) 2024-08-25 10:26:18 +02:00
Dragorn421
b40e51d8c8
[ntsc-1.2] Match kaleido_collect.c, kaleido_scope.c (#2070)
* Match kaleido_{collect,scope}

* review
2024-08-24 00:44:16 -04:00
Dragorn421
bdfa56e72d
Pause docs: page backgrounds vertices and quads (#2065)
* Pause docs: page backgrounds vertices and quads

* update disasm metadata
2024-08-22 08:46:28 -04:00
cadmic
253fac4670
Grab bag of fix_bss.py fixes (#2066) 2024-08-22 01:06:09 -04:00
cadmic
5a08f14449
Fix memmove file splits (#2063) 2024-08-20 22:43:33 -04:00
Dragorn421
942df45892
Match n64dd text in code (#2058)
* match n64dd text

* format

* fixups

* add n64dd segment using baserom

* cleanup syms 1

* cleanup symbols 2

* cleanup D_800FF4B0

* fix declaration usage and linking for D_800FF4B0
2024-08-20 19:20:11 -04:00
cadmic
ec70295357
Move non-libultra libc functions to src/libc/ (#2055)
* Move non-libultra libc functions to src/libc/

* Add explicit nops in delay slots

* Don't rely on CPP expanding undefined macros to 0

* Delete old Makefile rules

* Fix type of memset()
2024-08-20 01:15:24 -04:00
Dragorn421
ebbc820ef6
Add "disasm sym_info.py" script (#2054)
* Add "disasm sym_info.py" script for investigating the expected memory layout

* review

* add friendly error if context.csv is missing

* rom as hexadecimal

* require spimdisasm 1.28.1 (technically not *required* but may as well)

* some fixups on symbol lookup logic
2024-08-19 23:58:41 +02:00
Dragorn421
6bc6cedaf8
[ntsc-1.2] Match boot_main.c, logutils.c, z_locale.c (text) (#2053)
* Match boot_main.c, logutils.c, z_locale.c (text)

* review

* review 2
2024-08-19 16:17:41 -04:00
cadmic
f5fd8daffb
Use incremental link for z_message/z_game_over data shenanigans (#2051)
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2024-08-19 18:16:04 +02:00
cadmic
aed15faaf4
Use BSS section start from map file in fix_bss.py instead of guessing (#2045)
* Use BSS section start from map file

* Expand comment about section start heuristic

* Reword
2024-08-18 22:12:02 +02:00
Tharo
ba5574be6d
[Audio 5/?] Build the Samplebank Table (#2044) 2024-08-17 17:42:15 -04:00
cadmic
b82f54bb95
Decompile N64 anti-piracy checks in overlays (#2042)
* Decompile N64 anti-piracy checks in overlays

* Fix BSS splits (I think)

* Use physical address and comment on meaning

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

---------

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2024-08-15 23:44:05 -04:00
Tharo
d3b9ba17da
[Audio 4/?] Build Samplebanks, match Audiotable (#2032)
* [Audio 4/?] Build Samplebanks, match Audiotable

* Fix some makefile formatting

* Add missing scope in MARK chunk handling

* Add comment to generate asm file when buffer bug data is emitted, remove duplicate CC4 definition

* Adjust comment

* SBCFLAGS

* Remove unnecessary comments on notes_lut

* Split build directories creation command into several to avoid it becoming too long

* objcopy -j -> --only-section

* Fix mkdir warning when extracted/VERSION/assets doesn't exist
2024-08-14 20:54:31 -04:00
Dragorn421
c8ec6042e1
checksums for ntsc 1.2 JP and US, accept both as baserom (#2030) 2024-08-14 18:53:39 -04:00
Dragorn421
137e0d2a10
fix preprocess_pragmas and add tests (#2038) 2024-08-14 19:53:55 +02:00
cadmic
ab1701b57a
Fix a few function names in disassembly (#2036)
* Fix z_message.c function names in disassembly

* Fix more functions
2024-08-14 04:42:22 -04:00
Dragorn421
91a534cbc9
Rewrite preprocess.py with bash and C (#2035)
* add C preprocess_pragmas and Bash preprocess

* "line return" -> newline

* align tools sources

* fix: handle files that are not newline-terminated

* use a temp directory with a same-basename file instead of a temp file

* macos compat

* remove debug code
2024-08-14 04:05:36 -04:00
cadmic
f6338bab1f
Fix tools/ido_block_numbers.py (#2037) 2024-08-12 14:17:04 -04:00
cadmic
8366b8731e
Set up build system and disassembly for ntsc-1.2 (#2021)
* Set up build system for ntsc-1.2

* Set up disassembly for ntsc-1.2

* Add all unnamed functions to functions.txt

* Update docs/retail_versions.md for ntsc-1.2

* Format

* Update docs/retail_versions.md

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Remove mention of US

* OOT_N64 -> PLATFORM_N64, OOT_GC -> PLATFORM_GC

* Move mtxutil to libultra/gu

* Fix libultra/io bss splits

* Fix merge

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-11 06:20:43 -04:00
cadmic
d495436190
Match remaining GC retail versions (#2019)
* Match the remaining GC retail versions

* Fix BSS ordering for existing versions

* Disable clang-format for #pragma increment_block_number

* sramResetCode -> sSramResetCode

* Replace 0xFF3F with or-ing all buttons together

* Revert "Disable clang-format for #pragma increment_block_number"

This reverts commit 406b6d26c9.

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-09 20:58:46 -04:00
Dragorn421
cd2264f018
Handle multiline #pragma increment_block_number (#2023)
* Handle multiline #pragma increment_block_number

* fix: align all continuation characters vertically

* simplify continuation line character alignment

* Update tools/fix_bss.py

Co-authored-by: cadmic <cadmic24@gmail.com>

---------

Co-authored-by: cadmic <cadmic24@gmail.com>
2024-08-09 20:13:59 -04:00
Tharo
ef329e633a
[Audio 2/?] Extract audio samples to wav (#2020)
* [Audio 2/?] Extract audio samples to wav

Co-authored-by: zelda2774 <69368340+zelda2774@users.noreply.github.com>

* How

* Hopefully fix warning I don't get locally

* Pad default sample filenames, comment on the vadpcm frame encoder functions, other suggested changes

* Small tweaks to above

* Remove some obsolete code

---------

Co-authored-by: zelda2774 <69368340+zelda2774@users.noreply.github.com>
2024-08-08 22:39:18 -04:00
cadmic
1021c482af
gc-us OK (#2018)
Match BSS order and delete disassembly data
2024-08-08 03:26:48 -04:00
cadmic
feac688313
Match NTSC file select (#1998)
* Match NTSC file select

Co-authored-by: inspectredc <inspectredc@gmail.com>

* nes -> eng in macros

* Duplicate more code but use less #ifs

* Format

---------

Co-authored-by: inspectredc <inspectredc@gmail.com>
2024-08-08 00:27:02 -04:00
Tharo
29acf96db2
[Audio 1/?] Extract Samplebanks and Soundfonts to XML (#2008)
* [Audio 1/?] Extract Samplebanks and Soundfonts to XML

* Remove config.py and use the version yamls for addresses, other suggested changes

* Adjust setup-audio

* Remove some commented out dead code (MM review)
2024-08-08 00:11:39 -04:00
cadmic
0da402b9de
Automate fixing BSS ordering (#2009)
* Automate fixing BSS ordering

* Typo

* Some cleanups

* Move pragma check after printing BSS info

* Some proofreading

* multiprocessing, require version, some colors

* Tweak output

* Black + mypy

* Move logging and sys.exit out of helper functions

* Use stdout instead of stderr in fix_bss.py

* Add suggestion to conflicting offsets error

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Remove var = list[T]()

* Improve error handling

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Add error if no pointers to BSS

* Add comment about process_file_worker

* Only print updates if stdout is a tty

* Use new binary-search-esque candidate generation algorithm

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Add Wikipedia link

* More comment tweaks

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-02 20:31:15 -04:00
cadmic
5515aa1705
Configure incbins in version config instead of using the Debug ROM (#2005)
* Run CPP for data/*.s

* Configure incbins in version config instead of using the Debug ROM
2024-07-28 00:24:13 -04:00
cadmic
294da9e355
Detect shifted .bss sections in check_ordering.py (#1992)
* Restrict check_ordering.py to .bss sections by default

* Detect shifted .bss sections in check_ordering.py
2024-07-27 22:29:15 -04:00
cadmic
47fd023238
Match NTSC z_kanfont.c and z_message.c (#1997)
* Match NTSC z_kanfont.c and z_message.c

Co-authored-by: inspectredc <inspectredc@gmail.com>

* Apply suggestions from code review

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

* Remove now-unnecessary padding

* Remove msgBufDecoded comment

* Use == NULL for fake match

* Rename Message_DrawText{JPN,NES} -> Message_DrawText[Wide]

* Font_LoadKanji -> Font_LoadCharWide

* Restore FONT_MESSAGE_OFFSET/FONT_MESSAGE_LENGTH

---------

Co-authored-by: inspectredc <inspectredc@gmail.com>
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2024-07-21 21:50:20 -04:00
Dragorn421
a1c7937dba
make format.py clean up extra whitespace, also in .h files (#1991)
* make format.py clean up extra whitespace, also in .h files

* fixup

* cleanup whitespace msg

* Update check_format.py to also check non-src files touched by format.py

* format
2024-07-17 19:32:55 -04:00
cadmic
a6438f0533
Handle messages with different box types/positions between JPN/NES (#1984)
* Handle messages with different box types/positions between JPN/NES

* Remove redundant case

* More asserts

* Be a bit more Pythonic
2024-07-17 17:56:00 -04:00
cadmic
bf3339a16d
Set up build system and disassembly for gc-us (#1982)
* Build gc-us

* Set up gc-us disassembly

* Don't disasm unchanged overlays

* Fix gc-eu-mq BSS

* romalign link_animetion for NTSC

* Explicitly set CPP defines to 0/1

* Add #ifs to segment_symbols.h

* Add sButtonTextures now

* Fix message _SHIFTL usage

* Don't ifdef LANGUAGE_MAX
2024-07-06 21:38:31 +02:00
Tharo
baf1e8c174
Reworked text extraction + add JP text extraction (#1980)
* Reworked text extraction + add JP text extraction

* Format

* Suggested changes

* Correct address for gc-us sJpnMessageEntryTable

Co-authored-by: cadmic <cadmic24@gmail.com>

---------

Co-authored-by: cadmic <cadmic24@gmail.com>
2024-07-02 22:42:52 -04:00
cadmic
1b0e35c89a
Extract NTSC assets for gc-us (#1973)
* Extract NTSC assets for gc-us

* Extract kanji

https://github.com/zeldaret/mm/pull/1536

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: emilybrooks <emilybrooksemilybrooks@gmail.com>

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: emilybrooks <emilybrooksemilybrooks@gmail.com>
2024-06-26 06:22:26 -04:00
cadmic
9def6f4d0d
Set up multiversion assets with ZAPD and match gc-eu (#1967)
* Add ZAPD hack to deal with extracted/VERSION/ in include paths

* Extract assets to extracted/VERSION

* Add ZAPD flags to override virtual address / start offset / end offset

* Configure offsets for code and overlay assets

* Reorganize ZAPD configs

* Match gc-eu-mq

* Match gc-eu

* Remove old asset dirs during distclean

* Revert "Remove old asset dirs during distclean"

This reverts commit fc8027a75f.

* make zapd addresses globals int64_t so they can store uint32_t addresses and -1

* slight cleanup extract_assets.py

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "0285e11f0"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "0285e11f0"
git-subrepo:
  version:  "0.4.6"
  origin:   "git@github.com:ingydotnet/git-subrepo.git"
  commit:   "110b9eb"

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-06-24 15:22:39 +02:00
cadmic
b2d80568b9
Automatically find end of staff message table (#1970) 2024-06-22 09:20:49 -04:00
cadmic
0ddd64fd6c
Introduce version-specific YAML config (#1957) 2024-06-20 22:26:32 -04:00
Dragorn421
adcc1cecb1
Fix check_ordering.py checking for shifted/nonmatching-besides-relocs (#1961) 2024-06-19 00:16:02 -04:00
cadmic
7332e8ee76
Delete unused yaz0tool (#1959) 2024-06-18 20:53:19 -04:00