Commit graph

  • ac4a16d9f8 Periodically log audio sync. Paul Holden 2023-09-10 10:21:41 +01:00
  • 311a1d4fe3 Skip render frames if we start running too far ahead of realtime. Paul Holden 2023-09-10 10:16:29 +01:00
  • 9bb8645908 Fix some system constants based on https://n64brew.dev/wiki/ROM_Header. Paul Holden 2023-09-10 10:09:51 +01:00
  • 37e32b9fb5 VI interrupts should be based on the system clock, not the video clock. Paul Holden 2023-09-10 10:08:42 +01:00
  • 56cc957a8a Fix lint warnings. Paul Holden 2023-09-09 22:35:36 +01:00
  • 36bbc78cbf Fix call to unmappedAddressValue. Paul Holden 2023-09-09 22:27:47 +01:00
  • b90eef6171 Update info. Paul Holden 2023-09-09 22:20:22 +01:00
  • b88892c283 Reimplemt EventQueue as a linked list. Paul Holden 2023-09-09 22:11:33 +01:00
  • d8d9e75157 Rename countdown arg to cycles. Paul Holden 2023-09-09 14:02:43 +01:00
  • 7f50c9509e Encapsulate more code in EventQueue. Paul Holden 2023-09-09 14:01:52 +01:00
  • aa542563bf Split event queue out to a separate class. Paul Holden 2023-09-09 13:51:55 +01:00
  • 808dd4388d Move run to CPU0. Paul Holden 2023-09-09 13:29:24 +01:00
  • acf2687ae6 Move runImpl to CPU0. Paul Holden 2023-09-09 13:25:35 +01:00
  • 0f5bab3e72 Move handleEmulatedException to CPU0. Paul Holden 2023-09-09 13:23:09 +01:00
  • 6995b8ba82 Move onEventCountdownReached to CPU0. Paul Holden 2023-09-09 13:20:57 +01:00
  • 75de93a6b8 Rename handleCount -> onEventCountdownReached. Paul Holden 2023-09-09 13:17:19 +01:00
  • 0b43e77b46 Tidy Paul Holden 2023-09-09 13:15:20 +01:00
  • 4e7641a5b4 Simplify kEventRunForCycles handling in speedHack. Paul Holden 2023-09-09 12:13:39 +01:00
  • fc8b48fce4 Tidy Paul Holden 2023-09-09 12:01:53 +01:00
  • fd72639e9a Use for/of. Paul Holden 2023-09-09 12:00:33 +01:00
  • 795170c8de Add an option for whether to run audio task processing. Paul Holden 2023-09-09 11:45:31 +01:00
  • 64932dd261 Implement Audio. Paul Holden 2023-09-09 11:43:09 +01:00
  • 87b84242cd Remove bounds checks for get/setVec. Paul Holden 2023-09-09 11:15:40 +01:00
  • 966e0dba42 Optimise RSP to remove some BigInt conversions. Paul Holden 2023-09-09 11:13:33 +01:00
  • 8603803dac Don't run speedHack when the RSP is running. Paul Holden 2023-09-09 10:00:09 +01:00
  • 1281ecb797 Fix COUNT so that it increments once every 2 instructions. Paul Holden 2023-09-09 09:48:13 +01:00
  • 18a9a09f25 Fix reference to undefined var. Paul Holden 2023-09-08 20:29:42 +01:00
  • 18825cb8d7 Rename getCount to getOpsExecuted. Paul Holden 2023-09-08 20:27:07 +01:00
  • fa871da6df Add accessors for accumulator low/mid/high which avoid BigInt conversions. Paul Holden 2023-09-07 20:42:58 +01:00
  • 5eced9fbd6 Reduce nesting in speedHack. Paul Holden 2023-09-07 20:40:07 +01:00
  • 24cd4d11c5 Remove wrappers around executeX functions. Paul Holden 2023-09-07 20:32:30 +01:00
  • 68d2e11a18 Fix lint warnings. Paul Holden 2023-09-07 09:04:26 +01:00
  • 95a7c58908 Add a getCyclesUntilEvent helper and fix getVblCount. Paul Holden 2023-09-07 09:03:41 +01:00
  • efe98e966a Refactor setGLBlendMode. Paul Holden 2023-09-06 22:05:37 +01:00
  • 3f0ecb7818 Debug color images. Paul Holden 2023-09-06 21:39:33 +01:00
  • a34dd5e01f Fix lint errors. Paul Holden 2023-09-06 21:37:25 +01:00
  • 09027e2afd Add eslint config. Paul Holden 2023-09-06 21:32:00 +01:00
  • 66369c507a Fix lint errors. Paul Holden 2023-09-06 21:31:31 +01:00
  • 108207f5d7 Improve accuracy of SP DMAs. Paul Holden 2023-09-06 08:57:58 +01:00
  • 523d0fb04d Improve accuracy of PI DMA emulation. Paul Holden 2023-09-05 23:12:04 +01:00
  • 59d0f015b8 Make the SystemEvent type a string so it doesn't need to be maintained centrally, and move VI interrupt stuff to vi.js. Paul Holden 2023-09-05 22:50:59 +01:00
  • 0263c6469e Add handler function to SystemEvent. Paul Holden 2023-09-05 22:06:55 +01:00
  • ba6c58c8e1 Improve cpu status table. Paul Holden 2023-09-05 08:48:58 +01:00
  • acc33b1d1d Show single value for VCC/VCO. Paul Holden 2023-09-05 08:44:25 +01:00
  • a0e79f4d16 Fix toHex when bits >= 32. Paul Holden 2023-09-05 08:39:20 +01:00
  • 0be061ee05 Tidy Paul Holden 2023-09-05 08:27:56 +01:00
  • 28c5bfcff0 Add some TODOs. Paul Holden 2023-09-05 08:26:45 +01:00
  • 075779ece2 Add some todos. Paul Holden 2023-09-05 08:25:21 +01:00
  • ff42adbe65 Add a tab for RSP task state. Paul Holden 2023-09-05 08:23:18 +01:00
  • 2c91a2dc78 Rename toString64_bigint to toString64. Paul Holden 2023-09-04 23:25:21 +01:00
  • 249072e5fa Replace uses of toString64 with toString64_bigint. Paul Holden 2023-09-04 23:22:23 +01:00
  • ab46538170 Apply masking in toHex. Paul Holden 2023-09-04 23:19:29 +01:00
  • e531253c9c Fix toString64_bigint formatting (wasn't padding with zeros) and resolve toStringN TODO. Paul Holden 2023-09-04 23:11:52 +01:00
  • 5d1de5af5b Add VCO, VCC, VCE. Paul Holden 2023-09-04 22:57:19 +01:00
  • db40a0e037 Show RSP registers. Paul Holden 2023-09-04 22:51:38 +01:00
  • c313787131 Hoist opsExecuted out as a local var. Paul Holden 2023-09-04 22:03:46 +01:00
  • 5ad78f3f5c Flesh out disassembly for the RSP debugger. Paul Holden 2023-09-04 22:02:19 +01:00
  • 1bceb9a0ff Make imem wrap when disassembling. Paul Holden 2023-09-04 22:01:33 +01:00
  • e8dcfa823f Refactor makeRecentMemoryAccesses to use a helper function to resolve the memory access. Paul Holden 2023-09-04 21:56:24 +01:00
  • b09f0cf66c Wrap up lastPC in CPUDebugState. Paul Holden 2023-09-04 20:45:35 +01:00
  • 4c70f74352 Fix rollup config for rollup v3. Paul Holden 2023-09-04 20:37:47 +01:00
  • 8fb4eaf2d9 Add disassembleRange helper to CPUDebugState. Paul Holden 2023-09-04 08:51:48 +01:00
  • 5f0e9c1ca7 Start wrapping cpu debugger state in a class. Paul Holden 2023-09-04 08:49:00 +01:00
  • 706e923e6f Stub out RSP tab. Paul Holden 2023-09-04 08:42:46 +01:00
  • aa4cf4d3d0 Keep n64js.cpu0 in a local. Paul Holden 2023-09-04 08:40:50 +01:00
  • c2fcc8285d Rename updateDebug to updateCPU. Paul Holden 2023-09-04 08:32:25 +01:00
  • 62be5f8185 Rename Debug tab to CPU. Paul Holden 2023-09-04 08:25:53 +01:00
  • 028e274def Add support for G_BL_CLR_MEM,G_BL_0,G_BL_CLR_MEM,G_BL_1MA. Paul Holden 2023-09-04 08:22:54 +01:00
  • bfab82ad7c Show instruction addresses for disassembleAll. Paul Holden 2023-09-04 08:15:34 +01:00
  • a008d366d8 Fix exception in MemoryRegion.copy when DMAing from short roms. Paul Holden 2023-09-03 12:15:29 +01:00
  • 03bb6452e5 Tidy initialiseRenderer a little. Paul Holden 2023-09-02 11:22:06 +01:00
  • f4fa8d1cba Also log alphaCvgSel and cvgXAlpha. Paul Holden 2023-09-02 11:21:01 +01:00
  • 38111227a5 Missing import. Paul Holden 2023-09-02 11:20:30 +01:00
  • f8020dc558 Mask width/height to 0x3ff rather than 0xfff. Paul Holden 2023-09-01 09:20:22 +01:00
  • e468421115 Appy the uv scaling in the fragment shader. Paul Holden 2023-09-01 09:17:12 +01:00
  • 6f614e0fef Only bind tex1 if it's used. Paul Holden 2023-09-01 09:13:28 +01:00
  • cdd0630492 Update comment. It's nothing to do with shift. Paul Holden 2023-09-01 09:12:12 +01:00
  • b223047c44 Apply the shift factor to uv coords. Paul Holden 2023-09-01 09:10:34 +01:00
  • 0a35466dfd Apply TEXTURE_WRAP mode when the texture is bound. Paul Holden 2023-09-01 09:09:49 +01:00
  • fd959cc1d1 Improve texrect disassembly output (and fix for texrectflip). Paul Holden 2023-09-01 09:07:59 +01:00
  • 52219980df Export color conversion functions. Paul Holden 2023-09-01 09:07:22 +01:00
  • bc1c8eb19c Include cacheID in the texture debug output. Paul Holden 2023-09-01 09:07:06 +01:00
  • aad165f2f8 FillRect for FILL cycle type should use the fill color alpha Paul Holden 2023-09-01 09:06:47 +01:00
  • e189ecfd97 Improve gsSPTexture disassembly. Paul Holden 2023-09-01 09:02:41 +01:00
  • 8803f03339 Make the uniform names consistent. Paul Holden 2023-08-30 22:32:06 +01:00
  • 7a66b8e33f Add support for tex1. Paul Holden 2023-08-30 22:26:44 +01:00
  • 7f2fc23ba9 Make Tile width/height more robust. Paul Holden 2023-08-30 22:07:01 +01:00
  • e1c000d4ea Fix texture cache id. Paul Holden 2023-08-30 21:10:52 +01:00
  • a1a21e035d Fix caching for CI32 textures - entries are quadricated so all 2k data needs hashing. Paul Holden 2023-08-30 21:02:13 +01:00
  • faabaff78b Tidy naming. Paul Holden 2023-08-29 23:15:02 +01:00
  • f9198e5f87 Tidy executeLoadBlock. Paul Holden 2023-08-29 21:09:12 +01:00
  • 0bd18bf83e Tidy tile loading. Paul Holden 2023-08-29 08:52:49 +01:00
  • fd0846def3 Use G_TX_RENDERTILE/LOADTILE aliases in debug table. Paul Holden 2023-08-29 08:51:53 +01:00
  • 1bea165ee6 Only log unhandled blend modes once. Paul Holden 2023-08-29 08:51:11 +01:00
  • 3a42ae92c9 Fix loadtile - padding should be byteswapped on alternate lines. Paul Holden 2023-08-28 23:29:13 +01:00
  • 2da8af7090 Fix CSS for all the condensed tables. Paul Holden 2023-08-28 23:01:39 +01:00
  • 3a593537d3 Make the alpha threshold a uniform. Paul Holden 2023-08-28 22:55:38 +01:00
  • 1392513cee Unconditionally set alpha_threshold when G_AC_THRESHOLD is active. Paul Holden 2023-08-28 22:39:48 +01:00
  • 28daeee015 Fix SetOtherMode disassembly for GBI2. Paul Holden 2023-08-28 22:05:51 +01:00
  • 0d0a0670c5 RSP code size can't be >0x1000 Paul Holden 2023-08-28 19:52:21 +01:00