25 Commits

Author SHA1 Message Date
CrashOveride95
b742894b55 New and improved make build system and other cleanups (#13)
* Remove unused C versions of gu functions which will conflict with ASM versions under the new build system
This is a holdover from the decomp, as it must support older libultra versions which used these functions; as we're basing this project off of the final 2.0L, they gotta go

* Comment out bugged unused debug code
Will be removed completely by #12 soon enough anyway, but this will break CI if I don't remove this

* C++ fix in ultra64.h

* New build system
Based off my personal "template" featuring makedepend and support for automatically building and installing all 3 library versions, along with colors
Still needs cleanup to make sure I've brought over everything from the previous makefile

* Fix clang_format

* CI fixes to account for the non-decomp build system

* Remove old makefile

* Remove decomp tools

* Accidentally removed format checker

* Change VERSION to TARGET

* Fix install target by removing unused files and bring back ZSort header

* Fix CI typo

* gzsort header removed, I will figure out how to add it in modsdk later

* just copy the whole PR folder instead and remove install.mk, unnecessary

* SDK installation shall be handled seperately

* Remove RMON and a few leftover KMC things

* Remove MODERN_CC, as everyone is gonna be building this on a modern compiler anyway
2025-08-23 22:58:24 -04:00
someone2639
46f03ca93d Explicitly use clang-format 19 in CI, reintroduce auto format checks for include/ (#7)
* test clang v19

* require clang-format 19

* Try outputting patch as an artifact

* test CI

* actually set the correct filename

* only upload on failure

* try a more descriptive name

* remove intentional test change

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2025-02-18 22:13:12 -05:00
someone2639
c366e0122a Format the Repo (#3)
* set build options

* remove COMPARE and MDOERN_* switches

* remove tools makefile

* AR patching is gone too since we want a fullly decomped version

* AR is modern

* remove cwd changes

* edit my own tool to fix compile errors

* compile files generated with my own tool instead of the originals

* inline modern_gcc makefile

* port mips toolchain detection logic

* add util.mk for find-command

* remove forced AR order and strip/mdebug removal commands

* add -mabi=32 to as flags

* formatting changes

* add clang format files

* formatting changes

* make libgultra CI work

* install mips gcc too

* add format check tools

* Add formatting to CI

* Add CI (#4)

* make libgultra CI work

* install mips gcc too

* remove make setup

---------

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

* we don't use clang-tidy

* use 120 width for formatting

* a

* address clang-tidy messing up

* test

* align consecutive macros and declarations

* only align macros for now

* SpaceAfterCStyleCast: false

* format headers too

* remove cast space switch because its false by default

* pointers on left

* AlignConsecutiveBitFields: true

* install clang-format and clang-tidy on gh actions

* and clang-tools

* show diff in format check tool

* make CI work

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
🙏
2025-02-17 22:56:09 -05:00
someone2639
efbd931cbc Set up Makefile for modern building (#1)
* set build options

* remove COMPARE and MDOERN_* switches

* remove tools makefile

* AR patching is gone too since we want a fullly decomped version

* AR is modern

* remove cwd changes

* edit my own tool to fix compile errors

* compile files generated with my own tool instead of the originals

* inline modern_gcc makefile

* port mips toolchain detection logic

* add util.mk for find-command

* remove forced AR order and strip/mdebug removal commands

* add -mabi=32 to as flags

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2025-02-17 11:28:31 -05:00
Derek Hensley
6c1f3067a1 Add ability to build without needing the original archive (#58)
* Add ability to build without comparing to original

* Remove CFLAGS += -DNON_MATCHING

* Order matters

* Comment

* PR

* PR comments
2024-01-07 18:25:26 -08:00
Derek Hensley
d7dc7177d6 Prepare for recomp update (#54)
* Prepare for recomp update

* Forgor recomp
2023-09-12 17:09:54 -07:00
Derek Hensley
b376559296 Irix support (libultra_rom/libultra OK) (#44)
* WIP

* Add ar

* POC

* WIP libultra_rom

* Simplify Makefile and match initalize

* 1 c 1 s left

* exceptasm OK

* Different weak impl

* COMPARE_AR comment for irix

* Get ar working and clean up makefile

* Some more small cleanup

* Split makefile

* dereference instead of [0]

* Small cleanups

* initialize msp and kmc libultra

* libultra_rom OK

* Warnings

* Add to readme

* Fix ido ci?

* Make libultra_rom default again

* PR review

* libultra OK

* Update Readme

* whitespace removal

* Small exceptasm clean up

* Asm symbols

* Bring over improved asm.h

* build improvements

* asm PR suggestions

* Make comment

* Fix readme table

* strip debug on setup

* GBIDEFINEs
2023-06-27 17:58:03 -07:00
Mr-Wiseguy
0417857a2c Match libgultra_d.a and libgultra.a (#36)
* Begin stages of _d

* Match audio

* Match ldiv

* match llbit

* Match string.c (memcpy matched by wiseguy)

* match syncprintf

* Match flash code and skip libc X files (will do later)

* fix flash formatting and match some voice files

* More voice files

* More voice progress

* voice finish

* Match ai and sched

* Match aisetfreq (done by Tharo) and a few more

* match eep read/write

* more io files

* match epi

* Match gbpak and motor

* PFS mostly matched

* Match PI

* Match SI

* Match SP code

* Match VI code

* Fix alignment

* Match RG

* Fix exceptasm

* parse_gbi fix

* OS part 1

* Fix conflict

* Fix some bugs

* More files

* more matching

* Almost there

* begin some libultra_d code

* add delay

* Match timerintr

* fix for merge

* match logfloat

* printregion match

* log OK

* profile OK

* commonerror OK, plus small cleanups in profile and log

* small cleanup of commonerror

* Start

* Small cleanup

* Defines for constants and other cleanup (#1)

* Integrated fakechroot to match file paths for monutil

* Added generation of symlink to /bin for the chroot

* Matched monutil (#2)

* Added support for libgultra.a building

* Matched profile for libgultra.a

* Fixed host_ptn64 symtab diff, better support for building different versions

* finish libgultra_d (#33)

* finish libgultra_d

* clean up some old comments

* IDO recomp redirect (#35)

* Updates for patched ido

* Some clean up

* new line

* Update table to reflect that libgultra.a and libgultra_d.a are matched

* Change default target to libgultra_rom

* Replaced some magic numbers with defines, removed binlink

* Added explicit alignment to any implicitly aligned variables (#37)

* newlines

* profile cleanup

* va_end

* formating

* WAIT_ON_IOBUSY

* OS_VI_SPECIAL_MAX

* Ido download latest

* yeet useless __assertBreak

* Enable ci for all L libgultra

* Fix NULL syntax

* osViGetCurrentFramebuffer

* Format (#40)

* format

* file modes

* logfloat

* Fix wrong permisions

* left*

* Cleanups

* Missed an rdb.h

* newlines

---------

Co-authored-by: CrashOveride95 <crashoveride953@gmail.com>
Co-authored-by: CrashOveride95 <40003130+CrashOveride95@users.noreply.github.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
Co-authored-by: pixel-stuck <mathmcclintic@gmail.com>
2023-04-02 19:12:00 -07:00
Tharo
c4ff4aeb0a Thread profiler, host files, gio files for libgultra_d (#26)
* Thread profiler, host files, gio files

* Wrap readhost.c and writehost.c files in #ifndef _FINALROM
2022-05-14 09:04:16 -04:00
Ethan Roseman
5bf3c22ba8 fix binutils-2.7 url 2022-04-29 23:37:37 +09:00
Tharo
376e090299 rmon files, initialize files, kdebugserver.c, initrdb.c for libgultra_d (#25) 2022-03-25 22:07:30 -04:00
Tharo
3d291e6912 Disassembly/mdebug: Fix disassembling handwritten asm files (#23)
* Make disassemble_elf friendlier to handwritten files

* Fix exceptasm error
2022-03-17 00:09:05 -04:00
someone2639
5775c6372d osVoice decomp (#15) 2022-03-15 16:44:54 -04:00
Mr-Wiseguy
b6fdd9a6a4 Replaced kmc gcc wrapper with native gcc 2.7 and binutils 2.6 builds 2022-02-03 15:27:53 -05:00
Mr-Wiseguy
2a36620bf2 Added diff.py wrapper for comparing two object files 2022-02-02 23:29:18 -05:00
Mr-Wiseguy
428c761091 git subrepo clone https://github.com/simonlindholm/asm-differ tools/asm_differ
subrepo:
  subdir:   "tools/asm_differ"
  merged:   "4b38c88"
upstream:
  origin:   "https://github.com/simonlindholm/asm-differ"
  branch:   "main"
  commit:   "4b38c88"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"
2022-02-02 23:03:08 -05:00
Mr-Wiseguy
52fbc9372f Matched RDP (dp), audio interface (ai), EEPROM (conteep) files, and some misc files (#12)
* Matched RDP (dp), audio interface (ai), EEPROM (conteep) files, and some misc files

* Addressed PR suggestions
2022-01-04 04:21:15 +00:00
Mr-Wiseguy
4e1b9fb614 Matched RSP (os/sp), region (rg), and libc C files (#11) 2021-12-26 19:34:30 -05:00
Tharo
ec86ead0bb PI IO , EPI IO, Flash (#9)
* Rudimentary type information extraction in mdebug.py, spsetpc OK

* ultratypes.h for setglobalintmask.c

* pi and epi io routines

* Flash files, non-matching elf disassembler tool
2021-12-25 20:56:48 -05:00
Tharo
9832cb909a spsetpc.c (#4)
* Rudimentary type information extraction in mdebug.py, spsetpc OK

* ultratypes.h for setglobalintmask.c
2021-12-24 19:31:49 +00:00
Mr-Wiseguy
c83bf19c24 git subrepo pull --branch=main tools/kmc-gcc-wrapper
subrepo:
  subdir:   "tools/kmc-gcc-wrapper"
  merged:   "904d21e"
upstream:
  origin:   "https://github.com/Mr-Wiseguy/kmc-gcc-wrapper.git"
  branch:   "main"
  commit:   "904d21e"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"
2021-12-23 22:37:15 -05:00
Thar0
bb4be4e6cd Fetch old build of ar when building tools 2021-12-22 06:12:31 +00:00
Ethan Roseman
16ac72b291 git subrepo clone https://github.com/Mr-Wiseguy/kmc-gcc-wrapper.git tools/kmc-gcc-wrapper
subrepo:
  subdir:   "tools/kmc-gcc-wrapper"
  merged:   "5b2bbe7"
upstream:
  origin:   "https://github.com/Mr-Wiseguy/kmc-gcc-wrapper.git"
  branch:   "master"
  commit:   "5b2bbe7"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"
2021-12-22 12:14:11 +09:00
Ethan Roseman
60de990573 delete kmc-gcc-wrapper to prepare for subrepo 2021-12-22 12:13:58 +09:00
Thar0
e919a0bd5a Matching repacking of files 2021-12-22 02:48:25 +00:00