Commit Graph

197 Commits

Author SHA1 Message Date
Tharo db90c9fc88
Unbreak gcc builds (#2493) 2025-03-01 19:20:06 -05:00
Dragorn421 70fde8ac3b
Macroify MML opcodes (#2485)
* add defines for sequence opcodes

* name aseq_cmd_id defines from the corresponding macro names

* ASEQ_CMD_ID_ -> ASEQ_OPC_

* remove previous opcode defines

* ASEQ_OPC_LAYER_STEP3_ -> ASEQ_OPC_LAYER_

* sync with MM and fixups

* format

* ASEQ_OPC_ -> ASEQ_OP_

* ASEQ_OP_CTRLFLOW_ -> ASEQ_OP_

* tab-align

* ASEQ_OP_SEQUENCE_ -> ASEQ_OP_SEQ_

* ASEQ_OP_CHANNEL_ -> ASEQ_OP_CHAN_

* define MML_VERSION in the Makefile for seqplayer.c
2025-02-23 06:43:15 -05:00
Tharo 3d61fb85ef
Add `n64texconv` and `bin2c` tools to convert extracted .png and .bin to C arrays during build (#2477)
* n64texconv and bin2c

* mv tools/n64texconv tools/assets/

* fix

* more light fixes

* Silence -Wshadow for libimagequant

* Add reference counting gc for palette objects in python bindings

* Fix missing alignment in n64texconv_*_to_c functions

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

* Check palette size in n64texconv_image_from_png

* accept memoryview as well as bytes for binary data

* minimal doc on n64texconv_quantize_shared

* fix a buffer size passed to libimagequant

* assert pal count <= 256 on png write

* Disable palette size check for input pngs, ZAPD fails the check

* No OpenMP for clang

* When reading an indexed png into a CI format, requantize if there are too many colors for the target texel size

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2025-02-17 17:09:42 -05:00
cadmic be1f9e75f0
Read static symbols from .mdebug in sym_info.py (#2460)
* Patch .mdebug for data_with_rodata objects

* Read static symbols from .mdebug in sym_info.py

* Add ability to print all symbols

* Add license

* Fix bug when missing .mdebug section

* /patch_data_with_rodata_mdebug.py license + nitpicks
2025-02-09 18:16:18 -05:00
cadmic e63d2b73b7
Use CIC 6102 for iQue decompressed ROMs (#2457)
* Use CIC 6102 for iQue decompressed ROMs

* Future-proof is_ique

* Make things more readable
2025-02-06 21:10:30 +01:00
Tharo c028db03b4
Finish matching ique-cn (#2451)
* git subrepo clone git@github.com:Thar0/com-plugin.git tools/com-plugin

subrepo:
  subdir:   "tools/com-plugin"
  merged:   "e8543312d"
upstream:
  origin:   "git@github.com:Thar0/com-plugin.git"
  branch:   "main"
  commit:   "e8543312d"
git-subrepo:
  version:  "0.4.6"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "110b9eb"

* ique-cn OK

* Review suggestions

* Most suggestions

* git subrepo pull tools/com-plugin

subrepo:
  subdir:   "tools/com-plugin"
  merged:   "81595ed1c"
upstream:
  origin:   "git@github.com:Thar0/com-plugin.git"
  branch:   "main"
  commit:   "81595ed1c"
git-subrepo:
  version:  "0.4.6"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "110b9eb"

* Fix other versions
2025-02-04 06:55:04 -05:00
cadmic ef53bfd693
[iQue] Match z_file_copy_erase (#2447)
* [iQue] Match z_file_copy_erase

* Reword comment
2025-01-29 14:17:13 -05:00
Sirius902 dfe232533f
Fix /bin/bash -> /usr/bin/env bash (#2448)
* Fix /bin/bash -> /usr/bin/env bash

* Add curl to docker container
2025-01-28 18:45:56 -05:00
Dragorn421 b0c713b2bc
spec_includes/ -> spec/, spec -> spec/spec (#2422) 2025-01-28 11:23:01 -05:00
cadmic 06904e1ee7
[iQue] Match z_message (#2435)
* [iQue] z_message: work around EGCS bug

* [iQue] z_message: finish matching

* Yabusame -> Horseback archery

* Add missing PRINTF parameter

* Collapse for loops

* Better-looking macros

* gold stars -> gold skulls
2025-01-21 21:16:39 -05:00
Tharo afa0842de4
[iQue] Import libultra audio library files (#2433)
Note about comments in these files:
The libultra audio library was originally available to developers in
source code form, unlike most of libultra. These files are based on
these source code forms, adapted to meet the style of this project.
The comments in the files as of this commit are, apart from the style,
comments from the original SGI authors.
2025-01-21 15:21:48 -05:00
cadmic 284ecb114e
[iQue] Match z_actor (#2431)
* [iQue] Match z_actor

* Reword comment
2025-01-19 22:29:35 -05:00
cadmic c3806155c3
[iQue] Don't use -funsigned-char for z_std_dma (#2427) 2025-01-19 21:41:57 -05:00
cadmic c76d2a8a4d
[iQue] Match z_kanfont (#2428) 2025-01-19 19:41:14 -05:00
cadmic d066586872
[iQue] Match z_sram (#2426)
* [iQue] z_sram: Use iQue-specific read/write macros

* [iQue] z_sram: Make checksum a struct

* [iQue] z_sram: Finish matching

* Call the trigraph usage a bug

* Fix bss

* Sram_iQueReadWrite -> Sram_ReadWriteIQue

* Use SRAM_HEADER_MAGIC for loop bound

* Rename sZeldaMagic -> sSramDefaultHeader and use less char literals
2025-01-17 06:56:22 -05:00
cadmic e2ed5568e5
[iQue] Match ovl_kaleido_scope (#2421)
* [iQue] Match ovl_kaleido_scope

* Add bug comment for OOB reads

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

* Preemptively fix merge conflicts

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2025-01-14 08:32:00 -05:00
cadmic bdc6b50153
[iQue] Define EGCS macro instead of relying on `__GNUC__` (#2423)
* [iQue] Define EGCS macro instead of relying on __GNUC__

* Revert longlong.h
2025-01-13 08:32:25 -05:00
cadmic 7aa9808b7e
[iQue] Use CPP includes in spec and update for iQue (#2399)
* Update spec for iQue

* Use CPP includes for spec overlays, scenes, and libultra

* Fix iQue + DEBUG_FEATURES

* Define BBPLAYER, merge function definitions

* Add Makefile dependency on spec_includes

* Fix libc order for iQue

* Match src/libultra/bb/sa/common.c to fix linker errors

* Use C versions of getcount/setcompare for iQue

* Format

* Small fixes to line up boot segment

* Remove zlib.c
2025-01-11 22:44:14 -05:00
Tharo b19b06a531
[iQue] Match remaining libultra/os files (#2414)
* Match remaining libultra/os files

* Align box id macros

* Fix bss, format

* Fix BSS

* Clarify some comments

* More bug comment

* Comment

* Fix BSS
2025-01-10 18:54:02 -05:00
cadmic 1549f34e8e
[iQue] Update permuter/decompme import (#2415)
* [iQue] Update permuter/decompme import

* Fix GCC build
2025-01-10 18:05:10 -05:00
cadmic 0f6c2f9e78
Fix circular Makefile dependency with assets/text/*.o (#2419) 2025-01-10 13:47:09 -05:00
cadmic e4ad4e5eee
[iQue] Match remaining src/boot files (#2417)
* [iQue] Match remaining src/boot files

* Fix debug ROM

* Use -funsigned-char

* Sort ique before gc in LNx macros
2025-01-10 18:47:55 +01:00
cadmic 26f91bd3bb
[iQue] Match gzip/zlib decompression (#2416)
* [iQue] Match gzip/zlib decompression

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* Update missed renames in disassembly

* Fix some formatting

---------

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2025-01-10 14:31:20 +01:00
cadmic 8118370f4e
Only build .o files listed in the spec (#2410)
* Only build .o files listed in the spec

* Remove useless CPP guards
2025-01-10 07:03:51 -05:00
Tharo 94971a61b4
[iQue] Match handwritten asm files in libultra/os, match C replacements of osGetCount and __osSetCompare (#2413)
* [iQue] Match handwritten asm files in libultra/os, match C replacements of osGetCount and __osSetCompare

* Format

* Adjust some label names in dcache functions
2025-01-10 06:16:19 -05:00
cadmic f329507f97
[iQue] Create/update macros for printing debug strings (#2398) 2025-01-08 10:33:49 -05:00
Tharo a3c3c38fea
[iQue] Match libultra/libc (#2407) 2025-01-07 04:19:18 -05:00
cadmic c6cceea85b
[iQue] Match src/libc (#2405) 2025-01-06 04:09:35 -05:00
Tharo 9a60c941fe
[iQue] Match exceptasm.s and parameters.s (#2401) 2025-01-06 02:23:23 -05:00
cadmic 3aafbf3971
Match remaining IDO files for iQue (#2394) 2025-01-06 01:45:12 -05:00
Tharo bd606ba038
[iQue] Match skapi.s, create bbskapi.h documenting the syscalls (#2400) 2025-01-03 22:58:26 -05:00
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