Commit graph

  • 855dacf357 Specify a minimum fragment length - avoid bailing out after just 1 or 2 ops if we hit a branch Paul Holden 2012-09-04 23:01:36 +01:00
  • 68a5917421 usesCop1 wasn't being set up correctly Paul Holden 2012-09-04 23:00:23 +01:00
  • 5549477b92 Another speedup - run for a lot more cycles. On things like the rotate demo, 100,000 cycles isn't enough to render a complete frame so we end up rendering at half framerate Paul Holden 2012-09-04 21:23:07 +01:00
  • 7d3fbe3f09 Oops - remove reference to highcharts.js Paul Holden 2012-09-04 21:21:55 +01:00
  • b5a49df52b Big speedup for Chrome 23 - the results of eval() are no longer optimised - http://code.google.com/p/v8/issues/detail?id=2315 Paul Holden 2012-09-04 21:19:26 +01:00
  • 046c558d43 Call convert/trunc via n64js namespace Paul Holden 2012-09-04 21:10:58 +01:00
  • 6bb5f7f4b1 Generate calls to execute* functions in the n64js namespace Paul Holden 2012-09-04 21:02:49 +01:00
  • 4f81f10d96 Add getHi32 to n64js namespace Paul Holden 2012-09-04 20:48:48 +01:00
  • 3de6f8a15d load_u32 should call lwu_slow, not lw_slow Paul Holden 2012-09-04 20:43:43 +01:00
  • 915aa2392d Missing semicolon. Fix spurious 'op' argument to generateCache Paul Holden 2012-09-04 20:42:35 +01:00
  • 7258b6032d Put load_u32 etc in n64js namespace object. Preparation for switching from eval() to constructing Function objects Paul Holden 2012-09-04 20:41:41 +01:00
  • 5bc0e4db87 Add a store_64 function and use for SD, SDC1 etc Paul Holden 2012-09-04 20:27:25 +01:00
  • b0528d496f Remove highcharts - it's slower to update the chart than it is to render Paul Holden 2012-09-04 20:21:50 +01:00
  • 045e1938bd Use requestAnimationFrame in preference to setTimeout Paul Holden 2012-09-04 20:17:30 +01:00
  • 1615aad7ea Refresh debug display whenever any tab is changed Paul Holden 2012-09-04 20:15:28 +01:00
  • 8624d183ef Performance charts first pass Paul Holden 2012-09-02 08:36:29 +01:00
  • d476ed1e14 Handle cvt.w correctly Paul Holden 2012-09-01 22:17:00 +01:00
  • 56c00332b7 W/L cop1 dynarec Paul Holden 2012-09-01 21:41:26 +01:00
  • 28f5c2b63d BLTZL/BGEZL Paul Holden 2012-09-01 21:31:20 +01:00
  • 514da175e0 MTC1/MFC1 dynarec Paul Holden 2012-09-01 21:24:53 +01:00
  • 935306a070 Better indentation for dynarec Paul Holden 2012-09-01 21:00:42 +01:00
  • 5acf6e579d Dynarec for MTLO/MTHI/MFLO/MFHI Paul Holden 2012-09-01 20:59:36 +01:00
  • c8721ea283 Better assert text for trivial op post_pc check Paul Holden 2012-09-01 11:34:19 +01:00
  • 0ef3d51fe6 Implement separate handler for memory access instructions - we can avoid a couple of unnecessary instructions. Skip pc updates inbetween trivial ops Paul Holden 2012-09-01 11:31:47 +01:00
  • bb93203ddc Add a newline after NOPped instructions Paul Holden 2012-08-30 22:43:26 +01:00
  • c717457687 Remove some surplus newlines from generated output Paul Holden 2012-08-30 22:40:13 +01:00
  • 334aba71c8 Use genSrcRegLo for b Paul Holden 2012-08-30 22:39:44 +01:00
  • 069643f529 Address calculations should use signed regs. Paul Holden 2012-08-30 22:37:34 +01:00
  • 4c215dd60f Wrap the code to generate register access (for source operands, at least). This means we can easily generate a literal 0 instead of rlo[0] etc Paul Holden 2012-08-30 22:28:36 +01:00
  • b33ad60da9 Code gen for MULT, MULTU Paul Holden 2012-08-30 21:50:14 +01:00
  • 8bc24a507c Use shift for sign extending rather than testing the top bit Paul Holden 2012-08-30 09:15:25 +01:00
  • d399cabfe1 Dynarec debug: sort by total ops executed Paul Holden 2012-08-30 09:14:36 +01:00
  • fbe55aa3d4 Fix a couple of Fish Demo bugs - LOD_Frac wasn't defined in the shader, and microcode has an odd hash Paul Holden 2012-08-30 09:09:40 +01:00
  • e7fc07f009 Added support for direct framebuffer manipulation - some homebrew roms should render now Paul Holden 2012-08-30 09:01:36 +01:00
  • 20a9d5130a Remove the cpu1 s32/f32 accessor functions - just index int32/float32 arrays directly Paul Holden 2012-08-30 08:36:46 +01:00
  • ee289f0505 Fix font (palettised texture bug) in Starfox Paul Holden 2012-08-30 08:33:35 +01:00
  • be14d2dfac Fix a few more places that should ve using rlo/rhi Paul Holden 2012-08-30 00:58:00 +01:00
  • 2dd7846823 Rewrite generateLUI - it was a bit crazy Paul Holden 2012-08-30 00:49:33 +01:00
  • 9ef225f3dd Another epic memory access rewrite: share more code between execute/generate functions. This simplifies the generated code quite a lot. Paul Holden 2012-08-30 00:45:09 +01:00
  • ea83538648 Another big speedup: there's no longer any need to move memory handling code to a separate function, as it no longer deopts Paul Holden 2012-08-29 22:26:33 +01:00
  • 47f5eab2ff Big speedup: pass lo/hi register arrays directly through to fragments, and avoid dereferencing through 'c' Paul Holden 2012-08-29 22:22:31 +01:00
  • 3fc99a2730 Big memory access overhaul - this avoids various deopts and minimises calculations on HeapNumbers Paul Holden 2012-08-28 23:09:17 +01:00
  • d311c3bea7 Tidy pushTri Paul Holden 2012-08-28 21:50:59 +01:00
  • c09918f42a Avoid recreating arrays in setProgramState Paul Holden 2012-08-28 09:32:45 +01:00
  • d5645c6db6 Reuse vertex arrays between Tri calls Paul Holden 2012-08-28 09:29:25 +01:00
  • d2fc1c6dbc Reuse vertex arrays between Tri calls Paul Holden 2012-08-28 09:23:19 +01:00
  • d3f50fd6f9 Use mediump in preference to highp in shaders Paul Holden 2012-08-28 08:58:55 +01:00
  • d5a23f15de Cache the results of gl.get*() calls Paul Holden 2012-08-28 08:15:23 +01:00
  • 2f5d25385a Remove redundant addr calculation in SWC1 dynarec Paul Holden 2012-08-28 00:59:11 +01:00
  • a12f833355 Remove redundant addr calculation in store dynarec Paul Holden 2012-08-28 00:56:09 +01:00
  • cc4296c576 Dynarec BEQL/BNEL Paul Holden 2012-08-28 00:41:01 +01:00
  • a06d1b82b4 No need to flush/finish when presenting the backbuffer Paul Holden 2012-08-28 00:00:02 +01:00
  • 8aaa0bc1f3 10% speed up - rewrite memory accesses to avoid deopt/HeapNumbers Paul Holden 2012-08-27 22:02:17 +01:00
  • 994590233a Improve performance by ensuring SMIs are passed through to lwu/lhu etc. Avoid duplicate >>>0 for a couple of mem handlers Paul Holden 2012-08-27 21:11:28 +01:00
  • b8450c99c9 Render to texture, to avoid flickering in roms which render multiple displaylists/frame Paul Holden 2012-08-27 21:00:55 +01:00
  • 5dc6eff08e Fix dodgy use of combined in some blend modes Paul Holden 2012-08-27 20:59:44 +01:00
  • 9cf1710f3e Remove some redundant state changes. Tidy some get*Location calls Paul Holden 2012-08-27 20:58:45 +01:00
  • 80975c0e75 Enure that depth writes are enabled when we clear the depth buffer Paul Holden 2012-08-27 20:57:19 +01:00
  • 4d860efac6 Add swizzling for RGBA16 textures Paul Holden 2012-08-26 22:14:55 +01:00
  • 5cd45c7699 Check for F3DLP Paul Holden 2012-08-26 22:03:01 +01:00
  • be10b06a2a Add swizzling for CI8 textures Paul Holden 2012-08-26 21:48:01 +01:00
  • df5b175344 Remove copy-pasted code from memory access dynarec Paul Holden 2012-08-26 09:01:09 +01:00
  • 2dd2115b06 Implement all single/double c.* ops Paul Holden 2012-08-23 08:58:49 +01:00
  • 198cb518b9 Format to 80 columns Paul Holden 2012-08-22 07:13:17 +01:00
  • 99d140082c Added MIT LICENSE Paul Holden 2012-08-22 07:11:02 +01:00
  • 6ebb44cfa9 Improve dynarec memory handlers by avoiding read from unsigned regs. Gives something like 4% speedup Paul Holden 2012-08-21 21:42:45 +01:00
  • e204dbb46a Remove halt from dsrl/dsra Paul Holden 2012-08-21 21:40:17 +01:00
  • 7236654836 Don't display an error if romdb doesn't list a save type Paul Holden 2012-08-21 21:39:22 +01:00
  • 99bc8f56bb Support Eeprom16k Paul Holden 2012-08-20 09:05:30 +01:00
  • 9c392e72c8 Display an alert if the savegame type isn't supported Paul Holden 2012-08-20 08:53:27 +01:00
  • 749d7eb7f4 Fix localStorage name when loading Paul Holden 2012-08-20 08:46:53 +01:00
  • afb222b103 Save savegames with different localStorage ids Paul Holden 2012-08-20 08:44:39 +01:00
  • c0f49aced7 dynarec for CACHE Paul Holden 2012-08-19 20:02:42 +01:00
  • 801d02914b Better dynarec debug - show top 20 fragments Paul Holden 2012-08-19 19:43:54 +01:00
  • b137bef93a Ensure we keep running when hitting load whilst already running. Paul Holden 2012-08-19 18:23:43 +01:00
  • 5de045d5df Just link to youtube channel for videos Paul Holden 2012-08-19 18:20:24 +01:00
  • 25f9f1768d Reset the fragment map state correctly - this fixes loading roms without needing to reload the page. Paul Holden 2012-08-19 18:19:14 +01:00
  • e719465898 Small optimisation: for sb/sh/sw, use literal 0 instead of leading from r0' Paul Holden 2012-08-18 09:43:56 +01:00
  • cb69c845dd Show hotted fragment in dynarec debug view Paul Holden 2012-08-18 09:43:08 +01:00
  • d36ea7e69f Better histogram for dynarec Paul Holden 2012-08-18 09:25:31 +01:00
  • 1b3d19b045 Less pessimistic readme Paul Holden 2012-08-18 00:14:56 +01:00
  • df4c20d8c7 Silence some spammy tty (culldl, G_MW_FOG) Paul Holden 2012-08-18 00:04:02 +01:00
  • 229e2b3c29 Braindead branchZ impl, to get AeroGuage running Paul Holden 2012-08-17 23:56:21 +01:00
  • 94a1564a36 Fix DMULT/DMULTU (was just using 32 bits). Fix DIVU (wasn't unsigned) Paul Holden 2012-08-17 23:41:46 +01:00
  • cd4cc1049f Rename link Paul Holden 2012-08-17 23:38:21 +01:00
  • ebb1f1b1f9 Detect WaveRace US ucode Paul Holden 2012-08-17 23:37:27 +01:00
  • c811db3bd3 Display an alert when emulation is halted Paul Holden 2012-08-16 23:56:28 +01:00
  • cf2685070f DADD/DADDU/DSUB/DSUBU Paul Holden 2012-08-16 23:46:44 +01:00
  • 3f9e66879a Make sure that the debug tab refreshes when clicked Paul Holden 2012-08-16 23:27:03 +01:00
  • ab04651984 Support reading from d1a2 and d1a3 Paul Holden 2012-08-16 23:14:56 +01:00
  • 4da6570c3b Add some videos Paul Holden 2012-08-16 08:31:34 +01:00
  • 2191208057 Updated info blurb Paul Holden 2012-08-15 22:57:57 +01:00
  • fb4844b4b2 Fix handleKey - how on earth did this ever work? Paul Holden 2012-08-15 22:17:16 +01:00
  • d5d0218f85 Tidy the ui Paul Holden 2012-08-15 21:53:38 +01:00
  • 02decb66db Remove the load() shortcut 'l' (also used for controls) Paul Holden 2012-08-15 21:22:51 +01:00
  • 170784aa5d Fix flaky run button (was resetting the icon on every tick) Paul Holden 2012-08-15 21:11:20 +01:00
  • 4da8283df7 Remove step 100/1000 buttons Paul Holden 2012-08-15 08:30:21 +01:00
  • dcf323f797 The run icon wasn't beein updated when the game stopped unexpectedly Paul Holden 2012-08-14 09:21:25 +01:00
  • b5e2a06ba8 Updated info Paul Holden 2012-08-14 09:20:34 +01:00
  • da91725569 Wire up the remaining controls Paul Holden 2012-08-14 09:20:03 +01:00