Commit Graph

2376 Commits

Author SHA1 Message Date
TakaRikka 2473e04818 Merge pull request #11 from TakaRikka/26-02-24-fix-assert-lines
Use real line numbers for asserts
2026-02-24 14:16:47 -08:00
PJB3005 2ac86ddc4a Use real line numbers for asserts
Redefine the macros to use __LINE__
2026-02-24 23:15:01 +01:00
TakaRikka 0b24a2bcd3 Merge pull request #10 from TakaRikka/26-02-24-error-fix
Error handling fixes
2026-02-24 14:04:10 -08:00
PJB3005 80e09302ac Make JUT showAssert_f_va just log and exit
Normally it tries to draw the error on screen, but the wait on vblank just infinite loops for us.
2026-02-24 23:01:29 +01:00
TakaRikka d01a596804 Merge pull request #9 from TakaRikka/msvc-linkfix-dev
Merged wip/linkfix branches and show first logos on MSVC
2026-02-24 14:01:27 -08:00
PJB3005 0cdbd764b4 Make OSPanic abort properly, don't unwind stack
Existing abort code is a bad idea on a modern compiler. Just call abort()
2026-02-24 23:00:23 +01:00
PJB3005 696cf75ed3 Fix getMaxAllocatableSize & CMemBlock::getBlock on 64-bit 2026-02-24 21:39:45 +01:00
PJB3005 6e0c9f2637 Add BIT_64 define to types.h
I'll be using this
2026-02-24 21:39:11 +01:00
PJB3005 a000b79584 Translate memory allocation failure error 2026-02-24 21:04:48 +01:00
PJB3005 61abd3b353 Make OSReport_Error less hideous to look at 2026-02-24 21:03:05 +01:00
PJB3005 78c91adcf6 Fix AR DMAs & async DVD reads on 64-bit
We get to the health and safety screen!!
2026-02-24 20:48:16 +01:00
Lurs 26b3ffb303 Fix JSUOutputStream uintptr_t operator conflict on MSVC x86.
uintptr_t == u32 == unsigned int on 32-bit MSVC since u32 was changed from unsigned long to unsigned int for TARGET_PC. Guard the uintptr_t overload to x64 only where uintptr_t != u32.
2026-02-24 20:42:46 +01:00
Lurs ae76a2e614 Changed loading for already static loaded .rel files. Added gamepad init 2026-02-24 20:42:45 +01:00
PJB3005 cf5eca0910 Fix JKRArchive on 64-bit
They store the data address in the same struct that's directly loaded from archive files. This means it's impossible to expand to 64-bit directly, and instead we need to allocate the data pointers in a separate array.
2026-02-24 19:55:15 +01:00
PJB3005 4e0a8292e9 Fix JKRExpHeap on 64 bit 2026-02-24 18:16:45 +01:00
PJB3005 08ab1e1106 Fix wrong forward declares (struct/class)
Requires removing the now-matching symbols from jsystem_stubs.cpp
2026-02-24 16:58:12 +01:00
PJB3005 99e0ca4a46 Use BE(T) for JKRArchive 2026-02-24 16:55:08 +01:00
PJB3005 78be0f28fa Revert accidental changes to JKRArchive.h
(not mine)
2026-02-24 16:51:27 +01:00
PJB3005 1061a79070 I apparently missed JUTCacheFont 2026-02-24 16:36:16 +01:00
PJB3005 2900265ceb Use BE(T) for JUTPalette 2026-02-24 16:35:45 +01:00
PJB3005 4c98a536af Use BE(T) for JUTFont 2026-02-24 16:29:13 +01:00
PJB3005 6e385ad102 Add template-based BE(T) endianness conversion helper types
Doesn't require modification at the call sites thanks to the implicit conversion operator.
2026-02-24 16:29:00 +01:00
PJB3005 38b02dbc41 Replace some hardcoded 4 -> alignof(max_align_t)
Hope this fixes the allocator issues
2026-02-24 16:04:53 +01:00
PJB3005 c925d2483a Fix JKRSolidHeap on 64-bit 2026-02-24 15:49:28 +01:00
PJB3005 8257cab1fe Add CMake option to re-enable warnings in game build 2026-02-24 15:40:26 +01:00
PJB3005 436a500c65 Compile fixes for previous commit
oops
2026-02-24 15:29:08 +01:00
PJB3005 4fb2389b43 Fix primitive int types on 64-bit non-Windows targets
`long` is variable-sized on non-Windows targets, so don't use it.

Added some static_asserts to confirm this is the case.
2026-02-24 15:23:52 +01:00
PJB3005 a526eab880 Use calloc instead of malloc followed by memset
Avoids forcing pages to be allocated until actually needed.
2026-02-24 15:17:47 +01:00
PJB3005 df50d57ca9 Make heap init work on 64-bit
Larger pointer sizes means the normal heap limits don't work.

Expand them even when on 32-bit because we're already allocating 256 MB
of MEM1 anyways
2026-02-24 15:14:57 +01:00
PJB3005 ed6e31c88b Make console UTF-8 & VT sequences work reliably on Windows 2026-02-24 14:54:53 +01:00
PJB3005 59119622f8 Fix mDoPrintf_vprintf_Interrupt on 64-bit
This is an ABI hazard so I'm just gonna call vprintf directly.
2026-02-24 14:08:15 +01:00
PJB3005 defe78c4a2 Fix compile with Dusk's mtx lib
Move Mtx33 and similar types to JMath

Rename mtx.h in decomp to _mtx.h so Aurora's header is used instead.
2026-02-24 13:15:21 +01:00
PJB3005 cce53f356e Move source file listing to separate CMake file
Huge
2026-02-24 13:14:12 +01:00
PJB3005 811e50b452 Remove some GX stubs now implemented by Aurora 2026-02-24 13:13:46 +01:00
PJB3005 a616aa954d Move Aurora include before setting compile options
Fixes our compile options breaking Aurora build
2026-02-24 13:13:32 +01:00
PJB3005 aaf75a2ac9 Remove manual C++20 compile option from MSVC
Not necessary, we already set CMAKE_CXX_STANDARD
2026-02-24 13:11:35 +01:00
Lurs 0faa2568ad Bringing aurora to remote origin again 2026-02-23 21:47:34 +01:00
Lurs 1513f896ed Added a bunch of Diag functions to diagnose the black screen issue (was a bug in GXGeometry.h). Resumed to old ClearEfb function, no pink screen anymore.
Updated aurora with local changes for TP
2026-02-23 14:33:29 +01:00
Lurs 472debc53a stubbed unresolved symbols again after updating aurora 2026-02-22 07:31:22 +01:00
Lurs c76ba99ef2 Update aurora 2026-02-22 07:18:58 +01:00
Lurs d5c5bb8708 tests with edited aurora 2026-02-22 07:06:54 +01:00
Lurs 22a86deb76 First pink screen! 2026-02-21 22:15:39 +01:00
Lurs a41c3d59b4 first try to draw first logo 2026-02-20 21:13:50 +01:00
Lurs 8020eb64ba OS threading, DVD I/O, Endianness fixes, ARAM emulation, GX vertex fix
Major changes:

- Implement Big-Endian to Little-Endian byte-swapping for all RARC archive
  types (JKRCompArchive, JKRMemArchive, JKRDvdArchive, JKRAramArchive)
- Implement DVD file I/O via DvdEmu (DVDOpen, DVDFastOpen, DVDReadPrio,
  DVDReadAsyncPrio, DVDConvertPathToEntrynum)
- Fix YAZ0 decompression endianness in JKRDvdRipper, JKRDecomp, JKRAram,
  and JKRDvdAramRipper (use JKRDecompExpandSize instead of direct header read)
- Emulate ARAM with 16MB malloc buffer and synchronous memcpy in ARQPostRequest
  instead of hardware DMA transfers that hang on PC
- Add real OS threading implementation (OSContext, OSThread, OSMutex) using
  native Windows threads with side-table pattern for GC struct compatibility
- Fix font endianness for JUTResFont and JUTCacheFont
- Redirect GXVert.h to Aurora's PC implementation to prevent FIFO writes to
  the GameCube hardware address 0xCC008000
- Add Z-buffer texture format support (GX_TF_Z24X8, GX_TF_Z16, GX_TF_Z8)
  in Aurora's texture converter
2026-02-19 10:35:42 +01:00
Lurs 43847d81b1 first start with aurora after linking on MSVC 2026-02-17 22:28:42 +01:00
Lurs f6cba82a91 Merge origin/wip/linkfix2 into msvc-linkfix-dev (local dev branch) 2026-02-15 20:36:46 +01:00
Jeffrey Crowell 3391680faf call game_main 2026-02-14 16:04:12 -08:00
Jeffrey Crowell cc2b506476 now it links (except for no main!) 2026-02-14 15:55:43 -08:00
Jeffrey Crowell 5bf60a807d change ifdef instead of copying function blocks 2026-02-14 00:03:10 -08:00
Jeffrey Crowell 71c072389b Merge pull request #8 from TakaRikka/buildinstructions
update build instructions to show how to use configure.py
2026-02-13 14:55:38 -08:00