Commit Graph

37 Commits

Author SHA1 Message Date
Tharo 1d97f2ea08 Handwritten asm: OS functions, libm_vals (#1821)
* Handwritten asm: OS functions, libm_vals

* rm hardware_regs.ld

* andi -> and, addiu -> addu

* CACHE macro
2025-08-19 14:46:43 -04:00
Tharo 086fc5635e Handwritten asm: gu and mgu (#1816)
* Handwritten asm: gu and mgu

* Remove some unnecessary pad_texts

* Consistent add/and instructions
2025-08-16 09:01:46 -04:00
Derek Hensley 9ca02c79b5 Misc fixes (#1800)
* disasm_fix

* dtor

* Fault_LogThreadContext

* rearrange microcode

* sGfxPrintFont size of 0x800

* Move (null) to stackcheck

* vimgr bss

* sfx

* Remove code_801D1E80

* z_en_hy_code

* Fix assembler messages with endlabels and dlabels

* xlitob data

* Move skin unused bss pad to rumble
2025-03-24 10:52:10 -03:00
engineer124 318e391272 Animation Cleanup: En_Z* (#1727)
* cleanup

* more progress

* finish off z

* one more thing

* one more animIndex

* fix spacing
2024-11-06 20:43:28 -08:00
engineer124 b55f8ffe6e sys_math3d.c Decompiled and Mostly Documented (#1450)
* Use matched sys_math3d functions by Tharo

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

* kinda match some unattempted functions

* move sys_math3d function declarations to z64math.h

* Rename some simple functions

* Take matched Math3D_LineVsLineClosestTwoPoints from OoT

* minor fixes to make stuff actually equivalent

* func_8017FB1C

* format

* minor cleanup

* Math3D_PointOnDirectedLine

* func_8017FB1C documentation

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Remove actorfixer

* fix merge

* Apply renames

* more cleanup

* bss cleanup

* match Math3D_CylVsLineSeg

* WIP

* OK

* small cleanup

* Remove macros.h from sys_math3d

* Small cleanup

* Some more small clean up

* cleanup and docs

* cleanup

* PR Review

* cleanup

* fix merge

* fix merge

* merge main

* fix bss

* bss

* fix

* PR Review

* bss fix

* Merge main

* Fix bss

* Fix merge

* Add zero vecs to sys_math3d

* Format

* namefixer run

---------

Co-authored-by: angie <angheloalf95@gmail.com>
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
2024-06-14 22:39:31 -07:00
Derek Hensley f26e77ba40 More General Cleanup (#1638)
* LINKER_FILES in makefile

* COLPOLY_GET_NORMAL

* math header

* libc

* M_PI for cosf and sinf files

* MAXFLOAT

* Revert "MAXFLOAT"

This reverts commit 96b75ffaa8.

* Remove SHT_MINV

* SHRT_MAX

* Add M_PI

* Angle macros

* f suffix

* Format
2024-06-03 14:33:03 -04:00
Derek Hensley 6412ddad50 General Cleanup (#1529)
* Cleanup

* vi define cleanup

* kdebugserver

* osmotor

* Remove sqrtf.c

* Move osFlash out of libultra

* PadUtils_Destroy

* BOOT_ADDRESS_ULTRA

* Fault

* Format

* viconfig.h

* More small cleanups

* gfx cleanup

* Format

* Forgot to save

* variables.h

* dListTable -> dListSides

* Fix header includes
2024-01-15 10:03:13 +11:00
Anghelo Carvajal 6dd1600936 Organize libc64 files (#1492)
* Move qrand to libc64

* use an union to avoid type punning

* __osMalloc

* math64.c

* fixed_point.h

* sleep

* aprintf.h

* sprintf

* malloc

* use original names on aprintf.c and malloc.c

* qrand cleanup pass

* use original names of sleep.c

* og names for sprintf

* more cleanup

* format

* fixes

* whoops

* use ARRAY_COUNT again

* comment

* Use `fu`

* forgot this one

* review

* fix

* sneak a tiny cleanup
2023-11-27 12:01:42 +11:00
Anghelo Carvajal 506e215547 Yet another header cleanup (#1508)
* lights.c

* z64skin_matrix.h

* Move out some stuff from macros.h

* gamealloc.h

* move most transition functions to z64transition.h

* z64lib.h

* `include` cleanup on transition files

* z_overlay cleanup

* z64malloc.h

* format

* forgot to remove those

* forgot this

* fix borken includes
2023-11-23 13:55:05 +11:00
Anghelo Carvajal 6475196f0f Yet another libultra cleanup (#1384)
* os symbols

* various variables

* more variables

* more cleanup

* yeet HW_REG

* OS_PHYSICAL_TO_K0 and other cleanups

* Rename r4300.h

* migrate pimgr data and cleanup on initialize.c

* rename osFlash symbols

* cleanup gu

* vimodes

* yeet rmon, do libc files

* some os files

* hardwareinterrupt

* cleanup a lot of os files

* cleanup osVirtualToPhysical

* various io files

* another io chunk

* final io chunk

* yeet hardware.h

* yeet PHYSICAL_TO_VIRTUAL and VIRTUAL_TO_PHYSICAL

* fix typo

* fix merge

* remove global.h from libultra files

* fixes and format

* brief explanation

* review

* review

* review

* review

* SEGMENTED_TO_K0

* Revert "SEGMENTED_TO_K0"

This reverts commit f8d62d670f.

* take two

* bss

* bss
2023-10-26 10:44:27 -03:00
Anghelo Carvajal 4fa13e4132 Move libultra function declarations to libultra headers (#1196)
* Delete unused headers

* Move PR and io to ultra64

* move headers to ultra64

* more cleanups

* more reorganizing

* i think that should be all

* format

* ifdef guards cleanup

* Add IO_READ and IO_WRITE macros for future use

* warnings

* review

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

* warnings again

* warn

* ifdef guards

* fix merge

* fix merge

* fix merge

* bss

* padutils.h

* bss

* bss

* bss

* fix merge

* bss

* bss

* bss

* fix merge

* fixes

* fixes

* bss

* bss

* fix merge

* fix

* fix

* fix includepaths

* fix paths

* bss

* fix

* ultra64/ -> PR/

* header guards

* fix ehader guards

* fix

* fix++

* format

* bss is borken

* prevent 2

* :despair:

* bss

* rename assert to dbg_hungup

* fix

* a

* fix

* bss

* fix

* bss

* bss

---------

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2023-09-02 15:34:29 -04:00
engineer124 4b25b4d8e6 Misc Cleanup 2 (#1260)
* more misc cleanup

* PR suggestions

* more abs alt, csId

* more cleanup, can't help it

* fix incorrect sq

* more fixes
2023-06-02 14:39:39 +10:00
Derek Hensley 823746d495 Angle Conversions (#1216)
* Angle Conversions

* Format

* namefixer

* Renames in ObjHsStump_Appear

* Format

* once more

* Explicit cast in EnSsh

* Update src/overlays/actors/ovl_En_Fishing/z_en_fishing.c

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

---------

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2023-04-18 16:34:58 -04:00
Derek Hensley 63447c5649 General Cleanup 7 (#944)
* (f32*) cast

* fireobj

* BgKeikokuSaku h file newline

* dmchar07 flag defines

* EnKakasi h file comments

* ObjKibako2Contents

* ++ ^ 1

* func_80B4BA84

* EnBji01

* EnShn

* render modes

* D_80097F90

* xprintf

* WeatherTag

* Sram_InitDebugSave

* func_80C1DF18

* func_80183430

* ObjRaillift_Move

* DmChar00Struct

* format

* DmNb csAction

* Revert "EnKakasi h file comments"

This reverts commit a6b5f97826.

* title
2022-07-23 15:15:09 -04:00
engineer124 260be2c36b Hex Cleanup (#960)
* Hex Cleanup

* PR Suggestions
2022-07-23 14:57:47 -04:00
EllipticEllipsis 8049dec339 sys_matrix OK, documented, rename some other mathematics functions (#787)
* Import data and bss, add some name options

* Decomp rest of stack functions,
remove RSPMatrix,
split header

* sys_matrix OK (thanks Tharo)

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

* pragma weaks in sinf and cosf, change documentation
change mcros to use 0x8000

* Rename sinf and cosf

* Correct initialisation of sMtxFClear

* More minor cleanup

* Rename stack functions

* Matrix_InsertMatrix -> Matrix_Mult

* The big transpose rename

* Fix MirRay_DrawReflectedBeam

* Matrix_InsertTranslation -> Matrix_Translate

* Matrix_Insert.Rotation_s -> Matrix_Rotate$1S
+ RotateY -> RotateYS

* Matrix_Insert(.)Rotation_f -> Matrix_Rotate$1F

* Matrix_RotateStateAroundXAxis -> Matrix_RotateXFApply
Matrix_SetStateXRotation -> Matrix_RotateXFNew

* Matrix_MultiplyVector3fByState -> Matrix_MultVec3f

* Matrix_MultiplyVector3fXZByCurrentState -> Matrix_MultVec3fXZ

* Matrix_GetStateTranslation -> Matrix_MultZero

* Matrix_GetStateTranslationAndScaled(.) -> Matrix_MultVec$1

* Matrix_FromRSPMatrix -> Matrix_MtxToMtxF

* Matrix_MultiplyVector3fByMatrix -> Matrix_MultVec3fExt

* Matrix_TransposeXYZ -> Matrix_Transpose

* Matrix_ToRSPMatrix -> Matrix_MtxFToMtx

* Matrix_AppendToPolyOpaDisp -> Matrix_MtxFToNewMtx
and document the conversion functions

* Matrix_NormalizeXYZ -> Matrix_ReplaceRotation

* Matrix_InsertRotationAroundUnitVector_f -> Matrix_RotateAxisF and S

* Matrix_InsertRotation -> Matrix_RotateZYX

* Document the last functions

* Small cleanup

* Matrix_JointPosition -> Matrix_TranslateRotateZYX

* Matrix_SetStateRotationAndTranslation -> Matrix_SetTranslateRotateYXZ

* func_8018219C -> Matrix_MtxFToYXZRot

* func_801822C4 -> Matrix_MtxFToZYXRot

* Fix files

* Format

* Review 1

* Renames

* Fix warning in EnDragon

* Format

* Convert `mode` to an actual enum

* Add enums, typedefs, externs to sys_matrix header

* Review

* One more

* More review

* Fix function names

* Format

* Fix names

* Format

* Review

* engineer's review

* Fix build

* Format

* Fix again

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2022-05-25 23:24:39 -04:00
EllipticEllipsis dfc146663f aisetfreq OK, some libultra improvements (#416)
* aisetfreq OK

* Add a lot of HW_REG and some other macros to libultra

* Format

* Remove extra volatile

* Review

* De-C guNormalize

* Correct typo in crc.c
2021-11-18 15:15:09 -03:00
EllipticEllipsis 30ff2e12b0 guS2DInitBg OK (#426) 2021-11-10 23:16:44 -05:00
Anghelo Carvajal e70a8fbb99 Add stddef.h and libc headers cleanup (#396)
* Move headers to include/libc

* stddef

* move math.h

* General cleanup

* move fabs, sqrtf and sqrt to math.h

* move alloca and assert

* whoops
2021-11-05 23:44:58 -03:00
Tharo b1b114e142 Decompile graph.c (#274)
* Decompiled, 1 non-matching, add some bss reordering helpers

* Document stuff

* Review suggestions

* graphutil.c -> graphalloc.c

* Try to fix fault callback warnings

* Remove extra comments in GfxMasterList

* char pad -> u32 pad

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

* Fix gameState

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

* Other suggestions

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
2021-10-29 15:30:48 -03:00
EllipticEllipsis c72b5788a3 sys_math, cosf OK and documented, sinf, coss, sins documented (#289)
* OK, data imported, document

* spec

* Match cosf, document sinf and cosf

* Some more documentation, switch fu back

* Format

* Little more documentation

* Document coss too

* Move macros

* Review, add some .s

* Fix headers, review
2021-09-27 17:41:07 -04:00
EllipticEllipsis 0ebd082592 position OK (#296)
* position OK

* Actually remove the function pragmas
2021-09-21 19:54:15 -04:00
EllipticEllipsis fa95f9e6e8 Migrated a lot of boot bss, matched a few NON_MATCHINGs in boot (#266)
* Import bss to boot_main and idle, match last function in idle

* Some pointer cleanup in idle, spec

* Clean up idle, add build.c, add bss to CIC6105

* Import rand bss

* sptask bss and a macro

* sptask updated to use libultra macros

* siacs.c bss

* Macros in CIC and idle

* controller bss

* seteventmesg bss

* spec

* pimgr and piacs bss

* initialize OK, threadsave, initialize, pimgr bss

* Match DmaMgr_Start

* Fix bss reorder using separate file

* Small cleanup of hex/dec in buffer sizes

* Add comment, remove unused bss from spec

* Merge remote-tracking branch 'upstream/master' into boot_bss

* Format

* Delete files

* remove commented-out structs

* Bit more cleanup

* Addressed reviews

* Format
2021-08-18 11:12:35 -04:00
EllipticEllipsis 5dc98392e0 sqrtf.c OK (#257)
* sqrtf OK

* spec

* format

* Move to libultra
2021-08-12 18:57:21 -04:00
Tharo 82cc274b6a Sort boot files (#260) 2021-08-10 22:15:31 -04:00
Tharo 7743e5a2c4 Overhaul the build system (#234)
* wip

* fix

* add disassembler

* Disasm builds OK

* Variable addends

* More wip

* Rodata migration implemented

* Cleanup old tools

* Try fix submodule -> subrepo merge

* git subrepo pull --force --remote=https://github.com/zeldaret/ZAPD.git tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "602e609"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "602e609"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Builds again but assets are totally broken

* git subrepo pull --force tools/asm-processor

subrepo:
  subdir:   "tools/asm-processor"
  merged:   "1ffdb08a"
upstream:
  origin:   "https://github.com/simonlindholm/asm-processor.git"
  branch:   "master"
  commit:   "1ffdb08a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* More cleanup, move functions.txt and variables.txt to tools/disasm and rm tables

* rm z64compress in preparation for subrepo

* git subrepo clone (merge) https://github.com/z64me/z64compress.git tools/z64compress

subrepo:
  subdir:   "tools/z64compress"
  merged:   "eb11085c"
upstream:
  origin:   "https://github.com/z64me/z64compress.git"
  branch:   "main"
  commit:   "eb11085c"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Fix asset extraction

* Fix diff-init make rule

* Split code bss

* Split assumed linker bug padding from assembly files

* add filelists for mm.us.rev1

* Maybe working, but I'm not sure

* add overlays to spec

* Add rodata to actos

* Everything compiles

* Make a lot of C files for code

* Add almost every file in code to spec

* whoops

* 3 code files left

* add scenes to spec

* More progress on progress.py

* Fix skelanime in spec

* audio files!

* Fix merge issues

* Fix some C files in code

* Fix remaining code files

* Use existing O1 C files in spec

* reorder boot order in spec

* update spec

* fault.c

* Convert relocs on completed actors, fixbaserom uses current rom name

* more boot files

* Add VT macros and script

* finish already existing boot files

* most of  libultra

* fix 64bits libultra files

* Use C files for libultra, wrap some functions in NON_MATCHING

* Remove duplicate of OS_CLOCK_RATE from fault.c

* C files for fbdemos

* delete dumb files

* bootstrap C files, still need to add them to the spec

* update fixbaserom

* boot OK?

* I forgot to commit the spec

* C for gamestates

* C for kaleido

* Change all includes to ""

* copy actor sizes script from oot

* I forgot to delete those files

* Basic C files for effects

* Add effects initvars names

* Remove mislabelled boot functions from header/txt

* Begin porting bootstrap_fx, some sizes

* Fix <>

* Fix enum

* Fix diff.py

* fix libultra stuff

* update regconvert

* update setup warnings

* add some missing ;

* Fix some makefile stuff and other fixes on some non_matching functions

* add executable flag in extract_baserom and fixbaserom

* fix relative path

* copy assist from oot

* fix map path

* another assist path fix

* Delete C files for handwritten files

* add code_801A51F0 to spec

* add gfxbuffers to spec

* Move rodata to top of each file when possible

* UNK_TYPEs for func_801A51F0

* Remove kaleido rodata from spec

* Update spec and undefined_syms for recent merge

* GCC warnings and fix errors in nonmatchings,

* round percentage numbers

* progress script: format changes

* progress: error on non-existing files

* fix warning in z_scene_table

* Match 2 nonmatchings in z_actor

* Warnings in lightswitch and invadepoh

* Fix warning in z_actor_dlftbls

* I though I fixed this one

* whoops

* Comment out CC_CHECK

* Removed redundant ultra64.h includes

* Update asm_processor, sorted boot_O1 into other folders, completed the fbdemo bootstrap, cleaned up undefined_syms

* Completed gamestates bootstrap

* Split kaleido_scope

* Remove section.h and segment.h, move keep object externs to a common location in variables.h

* Completed effects bootstrap

* Segmented address externs for effects, fbdemos, gamestates and kaleido

* Move actor data externs out of the if 0

* Segmented address externs for actors

* Prepare actionfunc detection

* fix script, how did it even work before

* Fix actionfunc script again, re-introduce some more intermediate prints to the disassembler

* Automated actionFunc detection in actors

* Segmented addresses from player .text

* rm old segment addrs script and fix build

* Move sizes folder to tools

* Make build.py executable

* New Jenkinsfile Prayge

* Remove numpy dependencies

* Add warnings_disasm_current.txt

* my bad

* Update spec and undefined_syms

* Add z_eff_ss_hahen to pametfrog

* git subrepo pull (merge) --force tools/z64compress

subrepo:
  subdir:   "tools/z64compress"
  merged:   "163ca2af"
upstream:
  origin:   "https://github.com/z64me/z64compress.git"
  branch:   "main"
  commit:   "163ca2af"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"

* Make z64compress print to stdout

* sneeky commit to update warnings tooling

* test

* Another test

* Mark fixing overlay reloc generating as a TODO

* Update warnings stuff

* Communicate the return code from running z64compress back to the Makefile through the wrapper

* Run formatter, remove extra commented copy of function

* Re-fix some includes

* Convert atan to hex to conform to decided style

* Some tidying up, remove c for fp and the other two handwritten code files

* BSS in z_collision_check & z_scene_proc

* add static back in

* Fix timerintr bss, add file to spec, some cleanup

* Remove externs

* Newline

* Readd enums

* Typo

* Colours

* Comments for hitmark enum values

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* Improvements and suggestions

* Organize and remove unused imports and use env for python3 scripts, delete unused overlay.py

Co-authored-by: angie <angheloalf95@gmail.com>
Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com>
Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
2021-08-03 23:21:31 -04:00
Zach Banks dea3c8fd79 Fix all warnings raised by IDO (#152)
* Fix all warnings raised by IDO, ignore trailing commas

* Set -woff=624,...; keep const in printf functions

* Remove redefined macros in irqmgr.c

* Remove DECR macro & reformat

* Address PR comments from AngheloAlf
2021-05-18 22:28:04 -04:00
Anghelo Carvajal c56934038a Format everything (#141)
* Add trailing comma

* Run format and add some missing trailing commas

* Enforce the same clang-format version for everybody

* z_en_m_fire1
2021-05-18 20:00:36 -04:00
Rozelette d2c181a0a9 z_lib fully matched (#85)
* z_lib OK

* Documentation

* Added stdbool and stdint

* Fixup for new names

* Fixup bad merge

* Feedback

* Use u/s32 for intptr_t
2021-04-07 17:16:16 -04:00
Lucas Shaw 623b6d5318 Some OOT transfers, some renaming, etc (#75)
* Progress on various files

* gfxprint stuff

* split some rodata, add iconv for rodata string parsing

* z_std_dma rodata

* 2 nonmatchings in gfxprint

* mtxuty-cvt ok

* more

* match a function in idle.c

* progress

* Cleanup

* Rename BgPolygon to CollisionPoly

* progress

* some effect stuff

* more effect progress

* updates

* made suggested changes

* z_effect_soft_sprite_old_init mostly ok

Co-authored-by: Lucas Shaw <lucas.shaw1123@gmail.com>
Co-authored-by: Rozelette <Rozelette@users.noreply.github.com>
2021-03-27 16:17:41 -05:00
rozlette dc37a6f9f5 Move variables in .data for most of boot files that have been decompiled 2020-02-28 15:16:12 -06:00
rozlette 930b8bc242 Port a bunch of libultra files from sm64 2020-01-20 23:27:02 -06:00
rozlette 7f4a682072 Port perspective.c from sm64 2020-01-17 01:04:40 -06:00
rozlette 60a7168cea Add a few files in boot that have matching .rodata 2020-01-16 16:02:37 -06:00
rozlette c10a68cf07 Remove more tabs 2018-12-20 18:33:50 -06:00
rozlette a309571228 Updata current progress 2018-12-06 13:47:07 -06:00
rozlette 55bece5060 Decompile sinf.c 2018-11-17 02:16:20 -06:00