Commit graph

  • 7caeb3df94 Update Status. Paul Holden 2023-08-28 16:36:13 +01:00
  • e4642b6aa3 Implement CIC-NUS-6105 challenge/response using XScale's algorithm. Paul Holden 2023-08-28 16:33:00 +01:00
  • e12b3b00b1 Reads and writes to flash control/status seem to wrap over the status register (reads) or ignore address (writes). Paul Holden 2023-08-28 15:36:34 +01:00
  • 623d5fe1c8 Ignore the dstOffset for DMAs to flash. Paul Holden 2023-08-28 15:31:04 +01:00
  • dd9df977a9 Fix bounds checks. Paul Holden 2023-08-28 15:30:28 +01:00
  • bc3b85dd2a Fix save type Paul Holden 2023-08-28 11:19:23 +01:00
  • 422d80807c Implement flashRam support. Paul Holden 2023-08-28 11:10:11 +01:00
  • b18f8c6cbe Add a set() helper. Paul Holden 2023-08-28 10:52:20 +01:00
  • 44e592c5cf Fix save types (FlashRAM != FlashRam). Paul Holden 2023-08-27 14:35:50 +01:00
  • 16788e05b0 Mark SRAM as dirty when dmaing to it. Paul Holden 2023-08-27 14:04:58 +01:00
  • a3d6dd7ba7 Use a single MemoryRegion for all save types. Paul Holden 2023-08-27 14:01:13 +01:00
  • 568694c3c5 Add a s32Array helper to ensure any offsets are taken into account. Paul Holden 2023-08-27 11:58:15 +01:00
  • 5bcc7719c7 Use subRegion in PIFMemDevice. Paul Holden 2023-08-27 11:53:34 +01:00
  • a92e4d7772 subDataView isn't used. Paul Holden 2023-08-27 11:48:36 +01:00
  • 7f253f82ac Use MemoryRegions for imem and dmem. Paul Holden 2023-08-27 11:47:45 +01:00
  • 87b52b7d46 Use a MemoryRegion in the disassembler. Paul Holden 2023-08-27 11:46:40 +01:00
  • 86063255a4 Remove n64js.rsp_task_view and use a MemoryRegion. Paul Holden 2023-08-27 11:46:24 +01:00
  • 4b0af873d5 Update simulateBoot to use a MemoryRegion. Paul Holden 2023-08-27 11:34:55 +01:00
  • a8daca82c9 Don't log when writing to PI_BSD_DOM regs. Paul Holden 2023-08-27 11:33:03 +01:00
  • 46c6528a6b Update joybus to use a MemoryRegion. Paul Holden 2023-08-27 11:32:23 +01:00
  • bac4e94959 Allow MemoryRegion to be constructed with an offset and length and add a subRegion helper. Paul Holden 2023-08-27 11:28:40 +01:00
  • ee2c4de48e Use subDataView for the RSP task dataview. Paul Holden 2023-08-27 10:31:14 +01:00
  • fe259a3395 Add a subDataView helper. Paul Holden 2023-08-27 10:27:12 +01:00
  • b8b75ec16e Make memoryCopy a member of MemoryRegion. Paul Holden 2023-08-27 10:17:20 +01:00
  • e008b97039 Split joybus handling into separate configure and execute parts. Paul Holden 2023-08-27 10:12:26 +01:00
  • f2bc5396e0 Remove a TODO Paul Holden 2023-08-26 14:53:00 +01:00
  • 5ec00d302a Tidy Paul Holden 2023-08-26 13:49:09 +01:00
  • 19d0cef44a Keep simplifying execute() Paul Holden 2023-08-26 13:47:25 +01:00
  • 06c98f5d0c Tidy Paul Holden 2023-08-26 13:20:55 +01:00
  • 735714ed1c Use subarray with an explicit length rather than tempOutput. Paul Holden 2023-08-26 13:16:57 +01:00
  • 9aa59f2e9a for loop and switch Paul Holden 2023-08-26 13:08:23 +01:00
  • 66e81b7d8e Split controllers.js out of joybus.js. Paul Holden 2023-08-26 11:49:45 +01:00
  • 6ac1fe2ccb Just pass the inputs into Joybus constructor. Paul Holden 2023-08-26 11:44:45 +01:00
  • e00578a5ed Split Controllers out of Joybus. Paul Holden 2023-08-26 11:43:20 +01:00
  • a3571a6a00 Maintain a single list of channels. Paul Holden 2023-08-26 11:39:00 +01:00
  • b518c24ac6 Move command processing from Joybus Controller/Cartridge. Paul Holden 2023-08-26 11:27:59 +01:00
  • db4ad7868f Improve logging Paul Holden 2023-08-26 11:16:04 +01:00
  • e29e6a4081 Split pif device out into separate module. Paul Holden 2023-08-26 11:15:27 +01:00
  • bc1a6f2a5c Rename "pi ram" to "pif mem". Paul Holden 2023-08-26 11:12:08 +01:00
  • 1db1854839 Log unhandled writes to the PIF RAM control byte. Paul Holden 2023-08-26 11:06:00 +01:00
  • c9972ce6a8 Rename controllers -> joybus. Paul Holden 2023-08-26 11:03:22 +01:00
  • 7773127d7f Simplify rx handling and correctly handle underflow/overflow. Paul Holden 2023-08-26 10:28:35 +01:00
  • ea17f8d88e Add some constants for device ids. Paul Holden 2023-08-26 10:02:04 +01:00
  • 16dd29d449 Tidy cartridge RTC commands. Paul Holden 2023-08-26 09:08:59 +01:00
  • 722ff9b2d1 Tidy eeprom handling. Paul Holden 2023-08-26 00:22:29 +01:00
  • b56ff79176 Eeprom is 4k and 16k bits, not bytes. Paul Holden 2023-08-25 23:54:54 +01:00
  • 36f634349e Add support for checking the address crc. Paul Holden 2023-08-25 23:37:20 +01:00
  • 3a1e1c45e4 Overhaul controllerpak support. Paul Holden 2023-08-25 23:15:24 +01:00
  • 6211b9d29c Move mempacks to Hardware. Paul Holden 2023-08-24 21:12:23 +01:00
  • 1f55d4abde Tidy Paul Holden 2023-08-24 21:04:51 +01:00
  • 3f2c2f4232 Improve the accuracy of TLUT emulation by taking "quadrication" into account. Paul Holden 2023-08-24 00:14:31 +01:00
  • 7c3ac2cc46 Implement some unimplmented ops and improve logging. Paul Holden 2023-08-23 09:20:48 +01:00
  • 435d00d05e Split hle disassembly out into separate module. Paul Holden 2023-08-23 08:52:13 +01:00
  • bd042a0395 Use template strings. Paul Holden 2023-08-23 08:44:04 +01:00
  • fa27ea5653 Fix fillRect alpha blending. Paul Holden 2023-08-23 08:34:58 +01:00
  • 0abf3bb57b Mask rdpSegmentAddress against 8MB. Paul Holden 2023-08-23 08:28:46 +01:00
  • 3e1402a7ee Use template strings. Paul Holden 2023-08-23 08:09:19 +01:00
  • d1d5a50a72 Split out setGLBlendMode. Paul Holden 2023-08-23 08:04:08 +01:00
  • 803ca84c57 Fix winding order in executeGBI2_Tri1. Paul Holden 2023-08-22 23:36:47 +01:00
  • e09d9e0b6f Use template strings. Paul Holden 2023-08-22 23:36:27 +01:00
  • fa06f2401e Show either the normal or color depending on whether lighting is enabled. Paul Holden 2023-08-22 23:23:39 +01:00
  • f12d91b3a8 Fix padding for vertices table. Paul Holden 2023-08-22 23:13:34 +01:00
  • 3000f4b9dc Colorise rgba values in the vertex table. Paul Holden 2023-08-22 22:02:45 +01:00
  • 56f95a2b2d Add disassembly for executeGBI1_CullDL. Paul Holden 2023-08-22 13:33:10 +01:00
  • 9d86752a77 Ignore G_TEXTURE_ENABLE in executeGBI2_GeometryMode. Paul Holden 2023-08-22 13:31:55 +01:00
  • a49d8db763 Make the cycle type check explicit in setProgramState. Paul Holden 2023-08-22 13:31:21 +01:00
  • 54efa1e5c7 Fix Geometry Mode padding. Paul Holden 2023-08-22 08:22:35 +01:00
  • ce87a8b8ab CullDL is implemented the same for GBI1 and 2 (still missing impl though...) Paul Holden 2023-08-21 23:17:29 +01:00
  • 9a503432aa Implement executeGBI2_Quad. Paul Holden 2023-08-21 23:14:47 +01:00
  • 9713873d94 Update flushTris to take triangle count, not vert count. Paul Holden 2023-08-21 23:14:16 +01:00
  • 8d0f9ecccd Fix displaylist indentation - depths of 0 and 1 had the same indent. Paul Holden 2023-08-21 22:07:55 +01:00
  • de33f7fb2f Update comments. Paul Holden 2023-08-21 16:15:56 +01:00
  • 194a8a111b Fix LWC1, LDC1, SWC1, SDC1 dynarec (ExceptPC was wrong). Paul Holden 2023-08-21 16:15:30 +01:00
  • 44108aabd5 Add an assert to check we're not trying to update an already-compiled fragment. Paul Holden 2023-08-21 16:12:20 +01:00
  • 1019c6d8e4 Tidy. Paul Holden 2023-08-21 16:10:22 +01:00
  • f25ff5530c Fix return. Paul Holden 2023-08-21 16:08:42 +01:00
  • df07d5cd77 Fix dynarec when jumping to chained fragment that was partially compiled. Paul Holden 2023-08-21 15:38:24 +01:00
  • 77a417edcc Remove some logging. Paul Holden 2023-08-21 15:12:30 +01:00
  • ceefb3b329 Reset fragment on AdEL exception. Paul Holden 2023-08-21 14:29:38 +01:00
  • f350d8bb1c Remove some debugging that's no longer useful. Paul Holden 2023-08-21 14:14:25 +01:00
  • dfee4bbb15 Rename local var. Paul Holden 2023-08-21 14:11:30 +01:00
  • e7f8c18f3d Rename body_code -> bodyCode. Paul Holden 2023-08-21 12:17:35 +01:00
  • 46ac6d2b0d Tidy updateFragment. Paul Holden 2023-08-21 12:15:29 +01:00
  • 458c6967e3 Reorder dynarec code. Paul Holden 2023-08-21 12:10:49 +01:00
  • 28244e7f85 Invalidate partially compiled fragments rather than returning a null fragment. Paul Holden 2023-08-21 12:08:29 +01:00
  • 2a6a462f98 Add some debug logging to dynarec output. Paul Holden 2023-08-21 12:06:19 +01:00
  • 2ac4629c8d Extract compileFragment. Paul Holden 2023-08-21 12:04:37 +01:00
  • 58e892768d Fix kValidateDynarecPCs. Paul Holden 2023-08-21 12:02:47 +01:00
  • 0b82d92aec Log PCs in hex. Paul Holden 2023-08-21 12:01:44 +01:00
  • b217701c83 Extract some constants for tuning and debugging dynarec. Paul Holden 2023-08-21 10:36:18 +01:00
  • 0a9930d984 Fix cache invalidation - the entire cache line should be invalidated. Paul Holden 2023-08-21 10:34:30 +01:00
  • 8b487c1dd0 Fix event used to trigger redraw when a tab is selected. Paul Holden 2023-08-21 08:22:34 +01:00
  • 619ed942e9 Fix ERET with SR_ERL - was clearing all but this bit. Paul Holden 2023-08-21 08:05:07 +01:00
  • a91a4b28a9 Don't generate HTML output in dynarec comments. Paul Holden 2023-08-21 07:56:07 +01:00
  • 5cc0833176 Fix generated trap instructions. Paul Holden 2023-08-20 23:11:03 +01:00
  • 1c4383a45e Fix generateADDIU - this can't generate overflow. Paul Holden 2023-08-20 23:07:51 +01:00
  • 04c9ba54df Fix generateDADDI - this can raise an overflow exception. Paul Holden 2023-08-20 23:06:51 +01:00
  • b01d253158 Fix generated DADDIU. Paul Holden 2023-08-20 22:55:59 +01:00
  • 99fbce7fb7 Remove generateOpHelper. Paul Holden 2023-08-20 20:40:58 +01:00
  • d0ffec4462 generateCop1 doesn't need fallback code. Paul Holden 2023-08-20 20:31:56 +01:00