1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-01-15 12:47:04 +00:00
Commit graph

166 commits

Author SHA1 Message Date
Tharo
4c88cfd08a
[iQue] Match makerom (#2397) 2025-01-02 23:42:28 -05:00
cadmic
9dafc2f2e4
[iQue] Build some C files with EGCS (#2396) 2025-01-02 03:35:22 -05:00
Tharo
7e082f0c4f
Use IDO for assembling handwritten asm files in src (#2390)
* as0

* Fix ASOPTFLAGS for src/libc, remove unnecessary noreorder region in kanread

* Suggested changes

* Use %half to load the boot bss size for matching

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

* Wrap all of __osProbeTLB in noreorder

---------

Co-authored-by: cadmic <cadmic24@gmail.com>
2024-12-28 15:18:45 -05:00
cadmic
ccfb3594ac
Match iQue compression (#2389)
* Match iQue compression

* Use a dict

* Use Makefile variables for compression settings

* Put COMPRESS_ARGS last

* Pad iQue ROMs to 16 KiB

* Replace --pad-rom with --pad-to and --fill-padding-bytes

* Clarify --fill-padding-bytes
2024-12-27 10:34:45 -05:00
cadmic
e10ecb2fa3
Set up iQue disassembly (#2384)
* Set up iQue disassembly

* Label libultra vimodes

* Format

* skapi.c -> skapi.s

* Fix AudioDebug functions

* Group D_80134488 with fp.s in disassembly

* Label boot bss

* Add bss split for siacs
2024-12-26 08:54:26 -05:00
Tharo
fbeb477e68
iQue text extraction (#2383)
* iQue text extraction

* More consistent terminology

* Fixes for jpn, split each encoding into a separate charmap file, merge enc.nes.h and enc.chn.h

* Merge nes and chn in DEFINE_MESSAGE macros

* Remove redundant defines in nes_message_data_static
2024-12-25 12:07:08 -05:00
cadmic
471fe51c82
Set up build system for ique-cn (#2382)
* Set up build system for ique-cn

* Fix size of fbdemo_circle assets

* Treat iQue as NTSC and Use "NES" for Chinese text

* Revert z_kanfont
2024-12-21 14:13:56 -05:00
Tharo
81df2d4ba3
Move const-qualified data from session_config.c to session_init.c, no longer qualify them as const and incrementally link instead (#2381) 2024-12-20 20:41:14 -05:00
cadmic
bdb3656af9
Use iconv from Homebrew on macOS (#2374)
* Use iconv from Homebrew on macOS

* Use `brew --prefix`
2024-12-15 17:53:07 -05:00
cadmic
c9940faa22
Fix macOS build (#2370) 2024-12-15 11:47:39 -05:00
Tharo
9170902f8d
Move build.c definitions to the makefile, introduce and use libultra version defines in libultra instead of PLATFORM defines (#2353)
* Move build.c definitions to the makefile, introduce and use libultra version defines in libultra instead of PLATFORM defines

* MAJOR+MINOR versions -> VERSION+PATCH, stringify build defines in makefile, let the libultra version determine the OPTFLAGS for libultra files

* Clang format moment

* Remove LIBULTRA_VERSION_ID, tweak OS_VERSION and libultra version definitions

* Better fix for formatting problems
2024-12-13 20:28:28 -05:00
Tharo
df5d4cb467
[Audio 10/10] Loose ends (#2337)
* Introduce afile_sizes, generate headers of sizes for soundfonts and sequences

* Initial tools/audio README

* Versioning for samplebank extraction

* Clean up the disassemble_sequence.py runnable interface

* Add static assertions for maximum bank sizes

* Boost optimization for audio tools

* Samplebank XML doc

* Soundfont XML doc

* More docs in sampleconv for vadpcm

* Various tools fixes/cleanup

* VADPCM doc

* Try to fix md formatting

* VADPCM doc can come later

* Fix merge with PR 9

* Fix blobs from MM

* Try to fix bss

* Try fix bss round 2

* Fix sampleconv memset bug

* Suggested documentation tweaks
2024-12-13 19:26:36 -05:00
cadmic
b2d3c0523d
Name asset extraction tools more consistently (#2316) 2024-12-04 19:44:16 -05:00
fig02
17edb82c0d
Decouple Debug Features From gc-eu-mq-dbg (#2296)
* rename OOT_DEBUG to DEBUG_FEATURES

* makefile changes

* add DEBUG_ASSETS

* fix DEBUG_FEATURES usages

* format

* fix errors

* review

* fix problem and review2

* review

* add DEBUG_FEATURES to DEBUG_ASSETS check

* review

* whoops

* format
2024-11-17 17:02:07 -05:00
cadmic
8ce69c3ac9
Completely match ntsc-1.0/1.1 bss and add to CI (#2294) 2024-11-12 17:39:08 -05:00
Dragorn421
5b27899b9f
libu64 (#2267)
* libu64

* logutils.o -> debug.o in spec

* stackcheck.c is part of libu64

* review

* add paragraph about Overlay_Load calling an external function

* audio code*
2024-11-01 18:47:12 -04:00
cadmic
4f6e33e302
Add multiversion instructions to README (#2247)
* Add multiversion instructions to README

* Direct users toward Makefile

* Modify options "below" instead of "in the Makefile"

* Reword
2024-10-14 19:49:40 -04:00
cadmic
d3bf8ae78b
[ntsc-1.0/1.1] Extract assets (except audio) for ntsc-1.0 and ntsc-1.1 (#2253)
* [ntsc-1.0/1.1] Extract assets (except audio) for ntsc-1.0 and ntsc-1.1

* Fix merge with pal-1.0/1.1
2024-10-09 14:22:57 +02:00
cadmic
f7f38ff874
[PAL N64] Completely match pal-1.0 and pal-1.1 and add to CI (#2246)
* [PAL N64] Match pal-1.0 and pal-1.1 and add to CI

* bss fixes from Jenkins
2024-09-28 20:52:45 -04:00
cadmic
2f3c8084c9
[PAL N64] Set up build system and extract assets for pal-1.0 and pal-1.1 (#2205)
* [PAL N64] Set up build system and extract assets

* TOOD -> TODO

* Apparently this is what the formatter wants
2024-09-26 15:19:23 -04:00
cadmic
5178011b64
[PAL N64] Match handwritten audio sequences (#2210)
* [PAL N64] Match handwritten audio sequences

* Remove offset comments from PAL-only audio code

* Reorder includes
2024-09-21 07:30:52 -04:00
cadmic
306abef46b
Consistently use "OOT_VERSION <" and "OOT_VERSION >=" (#2199) 2024-09-17 15:40:50 -04:00
Tharo
dbbeb656f8
[Audio 8/?] Check-in handwritten sequences, build sequences, automate various sfx arrays (#2137)
* [Audio 8/?] Check-in handwritten sequences, build sequences, automate various sfx arrays

* Fix whitespace in aseq.h

* Fix sequence 0 sfx id generator

* Suggested changes, adjust some MML syntax and add more instruction descriptions

* Correct some formatting in aseq.h

* Add the dir of the input .seq file to the list of includes to sequence assembling so that assembler-level includes like .include or .incbin work intuitively

* aseq.h tweaks

* MM review suggestions, aseq.h adjustments
2024-09-15 18:26:27 -04:00
cadmic
cb7fe4943a
Fix find command error (#2192) 2024-09-12 16:37:13 -04:00
cadmic
f089adf20c
[ntsc-1.2] Match ntsc-1.2 BSS and add to CI (#2187)
* Match ntsc-1.2

* Add ntsc-1.2 to CI

* Apply fixes from Jenkins

* Promote ntsc-1.2 to "supported" in Makefile

* Declare D_80858AD8 as a u64 array

* Tweak wording

* Hopefully make ntsc-1.2 bss more stable

* Restore segmented_address.h include
2024-09-12 14:10:43 -04:00
cadmic
09c1816e2d
Add OOT_PAL_N64 and move other shorthands to versions.h (#2188)
* Move definitions of OOT_NTSC/OOT_PAL/OOT_MQ to versions.h

* Add PAL_N64 shorthand
2024-09-12 05:24:31 -04:00
Derek Hensley
d9af701b88
Make needed extracted directories in extract scripts (#2185) 2024-09-11 09:51:53 -04:00
Dragorn421
c7ec814d78
[headers 9] Add src/libc64/ and new "z64" rand.h (#2164)
* rand.h -> libc64/qrand.h

* Add rand.h with z64 rand wrappers

* yeet comment

* code/rand.c -> libc64/qrand.c

* fixup

* move libc64 source to src/libc64/

* fix

* bss

* update file splits disasm metadata
2024-09-08 17:11:41 -04:00
Dragorn421
e833011ccd
Cleanup: Pass all paths to tools rather than tools constructing them (#2017)
* Pass all paths to tools rather than tools constructing them

* fix: make --baserom-segments required

* sync with mm reviews

* --version everywhere
2024-09-05 03:49:16 +09:00
cadmic
c6d7cc7697
[ntsc-1.2] Match __osMalloc.c and code_800FC620.c (new/delete) (#2106)
* Match __osMalloc

* Match src/code/code_800FC620.c (new/delete)

* Wrap versions-specific files in ifdefs to fix compilation

* Fix bss

* Remove {FAULT,RAND,OSMALLOC}_VERSION in favor of PLATFORM_N64

* Fix __osMalloc data splits, add unused strings

* __osMalloc.h -> osMalloc.h

* Fix merge
2024-09-04 11:10:14 +02:00
cadmic
6e5ea8c7aa
[ntsc-1.2] Update spec for boot and code (#2114)
* Update spec for boot and code

* Fix merge
2024-09-04 00:30:23 -04:00
Derek Hensley
3e200769f1
[ntsc-1.2] LoadFragment2 OK (#2118)
* [ntsc-1.2] LoadFragment2 OK

* Add insight about bssSize
2024-09-03 19:19:13 -04:00
cadmic
2152d1df2d
[ntsc-1.2] Import libleo from Decompollaborate/n64dd (#2104)
* Create stack.h for STACK/STACK_TOP

* Import libleo from Decompollaborate/n64dd

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>

* Use (unsigned) int when in mdebug

* Apply suggestions from code review

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

* Use && in leocmdex.c

* Use proper names for character tables, revert sNonKanjiIndices

* Fix incorrect OSMesg casts

* Use LEO_ERROR_GOOD even where docs say 0

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

* Remove "Presumably" comment

* Whitespace

* Remove redundant (debug-only) returns

---------

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2024-09-03 15:30:14 -04:00
cadmic
a63f0a63b5
Move driverominit and sprintf to src/boot/ (#2105) 2024-08-29 16:34:18 -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
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
3795574878
Add all N64 version defines (#2095)
* Add all N64 ROMs to versions.h

* Remove OOT_ prefix from version defines

* Make it pretty
2024-08-26 11:43:59 -04:00
cadmic
c38adc1036
Add NO_SQRTF_INTRINSIC for z_rumble.c and audio/general.c (#2067) 2024-08-23 03:11:41 -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
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
Tharo
ba5574be6d
[Audio 5/?] Build the Samplebank Table (#2044) 2024-08-17 17:42:15 -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
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
Tharo
fc79632df8
[Audio 3/?] Set up building samples (#2024)
* [Audio 3/?] Set up building samples

* AIFF -> SAMPLE
2024-08-11 17:41:33 +02: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
cadmic
1021c482af
gc-us OK (#2018)
Match BSS order and delete disassembly data
2024-08-08 03:26:48 -04:00