xenia-project / game-compatibility

https://xenia.jp
BSD 3-Clause "New" or "Revised" License
466 stars 145 forks source link

4D5307ED - Banjo Kazooie: Nuts & Bolts #49

Open DrChat opened 9 years ago

DrChat commented 9 years ago

Tested with: xenia-project/xenia@08acb6b Marketplace

Plays through the intros fine, then TDRs in the loading screen and crashes.

Screenshots:

krzysztof860 commented 8 years ago

Also state-intro, but logos are displayed correctly. After displaying second logo Xenia crashes and memory leak occurs. memleak Log - http://www1.zippyshare.com/v/RvC76mOy/file.html 11,5MB after unpacking. Screens: 1st logo 2nd logo

kobyaustin1 commented 8 years ago

mine plays music that is past rare logo but it freezes my computer so it didnt load

CatoNator commented 8 years ago

https://www.youtube.com/watch?v=0xlfJzZMZas

As of now, the memory leak no longer occures, but my CPU is maxed out and the performance is killed. The game makes some sounds after freezing, indicating that it might be still running and not completely hung.

DrChat commented 8 years ago

Yeah - it gets in-game fine. Just give it about an hour to compile shaders (not kidding!)

SakataGintokiYT commented 8 years ago

Do you already have compiled shaders ?

CatoNator commented 8 years ago

Are precompiled shaders even possible? I don't think they are.

CatoNator commented 8 years ago

The game's been compiling the shaders for about 1 hour and 20 minutes now, and it's in fact still doing it. So if I leave it alone for about two forevers tomorrow, and it gets the compiling done, do I have to compile the shaders every time I boot the game up or can I just skip that part somehow?

xXHardGriefXx commented 8 years ago

really want to play this game haha. its been compiling already for 15 minutes on a i7 3770. idk how long it will take haha. It has a blackish screen but my cpu is under 80-90% load.

CatoNator commented 7 years ago

https://www.youtube.com/watch?v=GOxMu1uNj5U

It can get into the menus now, but no further than that. Crashes after a little while no matter what you do.

Atvriders commented 7 years ago

i tested the game out today with the 3/7/17 build and it only gets past the rare logo and crashes at a gray screen

BSoD38 commented 7 years ago

As of the 13/03/17 build (master/3cae25f) the emulator runs through the intro videos smoothly, with correct audio, but past those, I get many assertion errors : pic1

pic2

(Those two errors keep repeating themselves when I click ignore) I can still hear the music, then it will cut off, then I can only hear ambience sounds.

After clicking ignore many, many times, the errors stop for a while and the emulator is stuck on this screen : pic2

Then I got errors again after about 5 minutes of waiting, and decided to close the emulator.

MiniGrief commented 7 years ago

Intro cut scenes play fine and if I can hear the main menu music with some glitchy video of spiral mountain. If I press start, it works but text is a broken mess and Banjo's room is also very buggy with some models loading fine, but textures being broken. Crashes soon after.

https://www.youtube.com/watch?v=ZD-5zyl4OlE

jfarre20 commented 7 years ago

I was able to get in game by spamming A at the menu

image

Runs at about 0.2fps and there isn't any visible 3d - but its progress :)

sentriegun16 commented 6 years ago

57d84ce805888dc6f08c4ff5c30a8975 after a few times of starting and crashing, i actually was able to see the intro textured correctly and was able to listen to the music, but it's slow and crashes soon after but most of the time i get this

DrChat commented 6 years ago

Some textures are being uploaded incorrectly. Possibly not handling mips correctly?

BC1_RGBA_UNORM_BLOCK b

BC5_UNORM_BLOCK c

DrChat commented 6 years ago

Loading screen emulation isn't accurate enough.

Xenia

nab

Xbox 360

download 1

Shaders

Vertex Shader

``` /* 0.0 */ exec /* 8 */ vfetch_full r1.yxw1, r0.x, vf0, DataFormat=FMT_16_16_16_16_FLOAT, Stride=6, Signed=true, NumFormat=integer, PrefetchCount=6 /* 9 */ vfetch_mini r3.yxwz, Offset=2, DataFormat=FMT_16_16_16_16, Signed=true, NumFormat=integer /* 10 */ vfetch_mini r2.xyz1, Offset=5, DataFormat=FMT_2_10_10_10, Signed=true /* 11 */ vfetch_mini r0, Offset=4, DataFormat=FMT_8_8_8_8 /* 0.1 */ alloc interpolators /* 1.0 */ exec /* 12 */ vfetch_full r4, r3.x, vf10, DataFormat=FMT_32_32_32_32_FLOAT, Stride=16 /* 13 */ vfetch_full r5, r3.x, vf10, Offset=4, DataFormat=FMT_32_32_32_32_FLOAT, Stride=16 /* 14 */ vfetch_full r6, r3.x, vf10, Offset=8, DataFormat=FMT_32_32_32_32_FLOAT, Stride=16 /* 15 */ serialize mul r7, r4, r0.xxxx /* 16 */ mul r8, r5, r0.xxxx /* 17 */ mul r9, r6, r0.xxxx /* 1.1 */ exec // PredicateClean=false /* 18 */ setp_ne r3.x___, r0.y /* 2.0 */ (p0) exec /* 19 */ (p0) vfetch_full r4, r3.y, vf10, DataFormat=FMT_32_32_32_32_FLOAT, Stride=16 /* 20 */ (p0) vfetch_full r5, r3.y, vf10, Offset=4, DataFormat=FMT_32_32_32_32_FLOAT, Stride=16 /* 21 */ (p0) vfetch_full r6, r3.y, vf10, Offset=8, DataFormat=FMT_32_32_32_32_FLOAT, Stride=16 /* 22 */ serialize (p0) mad r7, r4, r0.yyyy, r7 /* 23 */ (p0) mad r8, r5, r0.yyyy, r8 /* 24 */ (p0) mad r9, r6, r0.yyyy, r9 /* 2.1 */ exec // PredicateClean=false /* 25 */ setp_ne r3._y__, r0.z /* 3.0 */ (p0) exec /* 26 */ (p0) vfetch_full r4, r3.z, vf10, DataFormat=FMT_32_32_32_32_FLOAT, Stride=16 /* 27 */ (p0) vfetch_full r5, r3.z, vf10, Offset=4, DataFormat=FMT_32_32_32_32_FLOAT, Stride=16 /* 28 */ (p0) vfetch_full r6, r3.z, vf10, Offset=8, DataFormat=FMT_32_32_32_32_FLOAT, Stride=16 /* 29 */ serialize (p0) mad r7, r4, r0.zzzz, r7 /* 30 */ (p0) mad r8, r5, r0.zzzz, r8 /* 31 */ (p0) mad r9, r6, r0.zzzz, r9 /* 3.1 */ exec // PredicateClean=false /* 32 */ setp_ne r3.__z_, r0.w /* 4.0 */ (p0) exec /* 33 */ (p0) vfetch_full r4, r3.w, vf10, DataFormat=FMT_32_32_32_32_FLOAT, Stride=16 /* 34 */ (p0) vfetch_full r5, r3.w, vf10, Offset=4, DataFormat=FMT_32_32_32_32_FLOAT, Stride=16 /* 35 */ (p0) vfetch_full r6, r3.w, vf10, Offset=8, DataFormat=FMT_32_32_32_32_FLOAT, Stride=16 /* 36 */ serialize (p0) mad r7, r4, r0.wwww, r7 /* 37 */ (p0) mad r8, r5, r0.wwww, r8 /* 38 */ (p0) mad r9, r6, r0.wwww, r9 /* 4.1 */ exec /* 39 */ dp4 r0.x___, r1, r7 /* 40 */ dp4 r0._y__, r1, r8 /* 41 */ dp4 r0.__z_, r1, r9 + maxs r0.___w, r1.ww /* 42 */ dp3 r1.x___, r2, r7 /* 43 */ dp3 r1._y__, r2, r8 /* 44 */ dp3 r1.__z_, r2, r9 /* 5.0 */ exec /* 45 */ dp3 r1.___w, r1, r1 /* 46 */ rsqc r1.___w, r1.w /* 47 */ mul r1.xyz_, r1, r1.wwww /* 48 */ dp4 o0.x___, r0, c120 /* 49 */ dp4 o0._y__, r0, c121 /* 50 */ dp4 o0.__z_, r0, c122 /* 5.1 */ exec /* 51 */ max o0.___w, c5.yyyy, c5.yyyy /* 52 */ dp3 o1.x___, r1, c120 /* 53 */ dp3 o1._y__, r1, c121 /* 54 */ dp3 o1.__z_, r1, c122 /* 6.0 */ alloc position /* 6.1 */ exec /* 55 */ dp4 r1.x___, r0, c0 /* 56 */ dp4 r1._y__, r0, c1 /* 57 */ dp4 r1.__z_, r0, c2 /* 58 */ dp4 r1.___w, r0, c3 /* 59 */ max oPos, r1, r1 /* 7.0 */ exece /* 7.1 */ cnop ```

Pixel Shader

``` /* 0.0 */ exec /* 30 */ dp3 r1.___w, r1, r1 /* 31 */ rsqc r1.___w, r1.w /* 32 */ mul r1.xyz_, r1, r1.wwww /* 33 */ dp4 r3, r0, c55 + mulsc r4.x___, c15.z, r2.x /* 34 */ add r3.xyz_, -r3, -c47 + mulsc r4._y__, c15.w, r2.y /* 35 */ tfetch2D r4.xy__, r4.xy, tf12, FetchValidOnly=false /* 0.1 */ exec // PredicateClean=false /* 36 */ serialize mad r4, r4.yxxy, c16.zzwz, -c16.xxyx /* 37 */ setp_gt r4.___w, r3.z /* 1.0 */ (p0) exec /* 38 */ (p0) dp4 r3.x___, r0, c65 /* 39 */ (p0) dp4 r3._y__, r0, c66 /* 40 */ (p0) mad r3.xy__, r3.xyyy, c14.xyyy, c14.xxxx /* 41 */ (p0) mul r4.xyz_, r4.xyzz, c17 /* 42 */ (p0) mad r5, c18.xxzz, r4.xyxy, r3.xyxy /* 43 */ (p0) mad r5, c18.yyww, r4.zxzx, r5 /* 1.1 */ (p0) exec /* 44 */ (p0) tfetch2D r5.x___, r5.xy, tf15, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 45 */ (p0) tfetch2D r5._x__, r5.zw, tf15, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 46 */ (p0) mad r6, c19.xxzz, r4.xyxy, r3.xyxy /* 47 */ (p0) mad r6, c19.yyww, r4.zxzx, r6 /* 48 */ (p0) tfetch2D r5.__x_, r6.xy, tf15, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 49 */ (p0) tfetch2D r5.___x, r6.zw, tf15, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 2.0 */ (p0) exec /* 50 */ (p0) mad r2, c20.xxzz, r4.xyxy, r3.xyxy /* 51 */ (p0) mad r2, c20.yyww, r4.zxzx, r2 /* 52 */ (p0) tfetch2D r6.x___, r2.xy, tf15, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 53 */ (p0) tfetch2D r6._x__, r2.zw, tf15, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 54 */ (p0) mad r3, c21.xxzz, r4.xyxy, r3.xyxy /* 55 */ (p0) mad r3, c21.yyww, r4.zxzx, r3 /* 2.1 */ (p0) exec /* 56 */ (p0) tfetch2D r6.__x_, r3.xy, tf15, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 57 */ (p0) tfetch2D r6.___x, r3.zw, tf15, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 58 */ (p0) dp4 r0.___w, r0, c67 /* 59 */ (p0) add r0.___w, r0.wwww, -c46.wwww /* 3.0 */ exec // PredicateClean=false /* 60 */ setp_inv r4.___w, r4.w /* 61 */ setp_gt_push r4.___w, r4.wwww, r3.yyyy /* 3.1 */ (p0) exec /* 62 */ (p0) dp4 r3.x___, r0, c61 /* 63 */ (p0) dp4 r3._y__, r0, c62 /* 64 */ (p0) mad r3.xy__, r3.xyyy, c14.xyyy, c14.xxxx /* 65 */ (p0) mad r5, c18.xxzz, r4.xyxy, r3.xyxy /* 66 */ (p0) mad r5, c18.yyww, r4.zxzx, r5 /* 67 */ (p0) tfetch2D r5.x___, r5.xy, tf14, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 4.0 */ (p0) exec /* 68 */ (p0) tfetch2D r5._x__, r5.zw, tf14, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 69 */ (p0) mad r6, c19.xxzz, r4.xyxy, r3.xyxy /* 70 */ (p0) mad r6, c19.yyww, r4.zxzx, r6 /* 71 */ (p0) tfetch2D r5.__x_, r6.xy, tf14, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 72 */ (p0) tfetch2D r5.___x, r6.zw, tf14, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 73 */ (p0) mad r2, c20.xxzz, r4.xyxy, r3.xyxy /* 4.1 */ (p0) exec /* 74 */ (p0) mad r2, c20.yyww, r4.zxzx, r2 /* 75 */ (p0) tfetch2D r6.x___, r2.xy, tf14, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 76 */ (p0) tfetch2D r6._x__, r2.zw, tf14, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 77 */ (p0) mad r3, c21.xxzz, r4.xyxy, r3.xyxy /* 78 */ (p0) mad r3, c21.yyww, r4.zxzx, r3 /* 79 */ (p0) tfetch2D r6.__x_, r3.xy, tf14, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 5.0 */ (p0) exec /* 80 */ (p0) tfetch2D r6.___x, r3.zw, tf14, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 81 */ (p0) dp4 r0.___w, r0, c63 /* 82 */ (p0) add r0.___w, r0.wwww, -c46.zzzz /* 5.1 */ exec // PredicateClean=false /* 83 */ setp_inv r4.___w, r4.w /* 6.0 */ (p0) exec /* 84 */ (p0) dp4 r3.x___, r0, c57 /* 85 */ (p0) dp4 r3._y__, r0, c58 /* 86 */ (p0) mad r3.xy__, r3.xyyy, c14.xyyy, c14.xxxx /* 87 */ (p0) mad r5, c18.xxzz, r4.xyxy, r3.xyxy /* 88 */ (p0) mad r5, c18.yyww, r4.zxzx, r5 /* 89 */ (p0) tfetch2D r5.x___, r5.xy, tf13, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 6.1 */ (p0) exec /* 90 */ (p0) tfetch2D r5._x__, r5.zw, tf13, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 91 */ (p0) mad r6, c19.xxzz, r4.xyxy, r3.xyxy /* 92 */ (p0) mad r6, c19.yyww, r4.zxzx, r6 /* 93 */ (p0) tfetch2D r5.__x_, r6.xy, tf13, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 94 */ (p0) tfetch2D r5.___x, r6.zw, tf13, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 95 */ (p0) mad r2, c20.xxzz, r4.xyxy, r3.xyxy /* 7.0 */ (p0) exec /* 96 */ (p0) mad r2, c20.yyww, r4.zxzx, r2 /* 97 */ (p0) tfetch2D r6.x___, r2.xy, tf13, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 98 */ (p0) tfetch2D r6._x__, r2.zw, tf13, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 99 */ (p0) mad r3, c21.xxzz, r4.xyxy, r3.xyxy /* 100 */ (p0) mad r3, c21.yyww, r4.zxzx, r3 /* 101 */ (p0) tfetch2D r6.__x_, r3.xy, tf13, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 7.1 */ (p0) exec /* 102 */ (p0) tfetch2D r6.___x, r3.zw, tf13, MagFilter=point, MinFilter=point, MipFilter=point, AnisoFilter=disabled /* 103 */ (p0) dp4 r0.___w, r0, c59 /* 104 */ (p0) add r0.___w, r0.wwww, -c46.yyyy /* 8.0 */ exec /* 105 */ add r4.xyz_, c52, -r0 /* 106 */ dp3 r4.___w, r4, r4 /* 107 */ rsqc r4.___w, r4.w /* 108 */ mul r4.xyz_, r4, r4.wwww /* 109 */ dp3_sat r2, c51, r1 /* 110 */ add r7, r4, c51 /* 8.1 */ exec /* 111 */ dp3 r7.___w, r7, r7 /* 112 */ rsqc r7.___w, r7.w /* 113 */ mul r7.xyz_, r7, r7.wwww /* 114 */ dp3_sat r7, r7, r1 /* 115 */ log r7, r7.x /* 116 */ mul r7, r7, c0.xxxx /* 9.0 */ exec /* 117 */ exp r7, r7.x /* 118 */ max r7.___w, c12.xxxx, c12.xxxx /* 119 */ max r2.___w, c12.yyyy, c12.yyyy /* 120 */ serialize sge r5, r5, r0.wwww /* 121 */ dp4 r5, r5, c23.wwww /* 122 */ sge r6, r6, r0.wwww /* 9.1 */ exec /* 123 */ dp4 r6, r6, c23.wwww /* 124 */ add r5, r5.xxxx, r6.xxxx /* 125 */ mul r7.___w, r7.wwww, r5.xxxx /* 126 */ mul r5.xyz_, r5.xyzz, c32.xyzz /* 127 */ mul r2.xyz_, r2, r5 /* 128 */ mul r7.xyz_, r7, r5 /* 10.0 */ cjmp !b243, L50 /* 10.1 */ exec /* 129 */ dp3 r3.x___, r4.xyzz, r1.xyzz /* 130 */ mulsc r3.x___, c12.z, r3.x /* 131 */ mad r3.xyz_, r1.xyzz, r3.xxxx, -r4.xyzz /* 132 */ add r5.xyz_, -r0.xyzz, c83.xyzz /* 133 */ dp3 r5.___w, r5.xyzz, r5.xyzz + maxs r6.___w, c12.xx /* 134 */ sqrt r6.__z_, r5.w /* 11.0 */ exec // PredicateClean=false /* 135 */ mad_sat r5.___w, -r6.zzzz, c83.wwww, c84.wwww /* 136 */ setp_gt_push r6.___w, r6.wwww, r5.wwww + rcp r6.__z_, r6.z /* 137 */ (p0) mul r5.xyz_, r5.xyzz, r6.zzzz /* 138 */ (p0) dp3_sat r6._y__, r5.xyzz, r3.xyzz /* 139 */ (p0) dp3 r6.x___, r5.xyzz, r1.xyzz + (p0) log r6._y__, r6.y /* 11.1 */ cexec b244 // PredicateClean=false /* 140 */ (p0) dp3 r6.__z_, r5.xyzz, -c85.xyzz /* 141 */ (p0) add_sat r6.__z_, -c85.wwww, r6.zzzz /* 142 */ (p0) mulsc_sat r6.__z_, c12.w, r6.z /* 143 */ setp_gt_push r6.___w, r6.wwww, r6.zzzz + muls_prev r5.___w, r5.w /* 12.0 */ exec /* 144 */ (p0) mul_sat r6.__z_, r6.xxxx, r5.wwww + (p0) mulsc r6._y__, c0.x, r6.y /* 145 */ (p0) mad r2.xyz_, r6.zzzz, c84.xyzz, r2 /* 146 */ (p0) exp r6._y__, r6.y /* 147 */ (p0) mul r6.__z_, r5.wwww, r6.yyyy /* 148 */ (p0) mad r7.xyz_, r6.zzzz, c84.xyzz, r7 /* 12.1 */ cjmp !b245, L50 /* 13.0 */ exec // PredicateClean=false /* 149 */ add r5.xyz_, -r0.xyzz, c86.xyzz /* 150 */ dp3 r5.___w, r5.xyzz, r5.xyzz + maxs r6.___w, c12.xx /* 151 */ sqrt r6.__z_, r5.w /* 152 */ mad_sat r5.___w, -r6.zzzz, c86.wwww, c87.wwww /* 153 */ setp_gt_push r6.___w, r6.wwww, r5.wwww + rcp r6.__z_, r6.z /* 154 */ (p0) mul r5.xyz_, r5.xyzz, r6.zzzz /* 13.1 */ exec /* 155 */ (p0) dp3_sat r6._y__, r5.xyzz, r3.xyzz /* 156 */ (p0) dp3 r6.x___, r5.xyzz, r1.xyzz + (p0) log r6._y__, r6.y /* 14.0 */ cexec b246 // PredicateClean=false /* 157 */ (p0) dp3 r6.__z_, r5.xyzz, -c88.xyzz /* 158 */ (p0) add_sat r6.__z_, -c88.wwww, r6.zzzz /* 159 */ (p0) mulsc_sat r6.__z_, c12.w, r6.z /* 160 */ setp_gt_push r6.___w, r6.wwww, r6.zzzz + muls_prev r5.___w, r5.w /* 14.1 */ exec /* 161 */ (p0) mul_sat r6.__z_, r6.xxxx, r5.wwww + (p0) mulsc r6._y__, c0.x, r6.y /* 162 */ (p0) mad r2.xyz_, r6.zzzz, c87.xyzz, r2 /* 163 */ (p0) exp r6._y__, r6.y /* 164 */ (p0) mul r6.__z_, r5.wwww, r6.yyyy /* 165 */ (p0) mad r7.xyz_, r6.zzzz, c87.xyzz, r7 /* 15.0 */ cjmp !b247, L50 /* 15.1 */ exec // PredicateClean=false /* 166 */ add r5.xyz_, -r0.xyzz, c89.xyzz /* 167 */ dp3 r5.___w, r5.xyzz, r5.xyzz + maxs r6.___w, c12.xx /* 168 */ sqrt r6.__z_, r5.w /* 169 */ mad_sat r5.___w, -r6.zzzz, c89.wwww, c90.wwww /* 170 */ setp_gt_push r6.___w, r6.wwww, r5.wwww + rcp r6.__z_, r6.z /* 171 */ (p0) mul r5.xyz_, r5.xyzz, r6.zzzz /* 16.0 */ exec /* 172 */ (p0) dp3_sat r6._y__, r5.xyzz, r3.xyzz /* 173 */ (p0) dp3 r6.x___, r5.xyzz, r1.xyzz + (p0) log r6._y__, r6.y /* 16.1 */ cexec b248 // PredicateClean=false /* 174 */ (p0) dp3 r6.__z_, r5.xyzz, -c91.xyzz /* 175 */ (p0) add_sat r6.__z_, -c91.wwww, r6.zzzz /* 176 */ (p0) mulsc_sat r6.__z_, c12.w, r6.z /* 177 */ setp_gt_push r6.___w, r6.wwww, r6.zzzz + muls_prev r5.___w, r5.w /* 17.0 */ exec /* 178 */ (p0) mul_sat r6.__z_, r6.xxxx, r5.wwww + (p0) mulsc r6._y__, c0.x, r6.y /* 179 */ (p0) mad r2.xyz_, r6.zzzz, c90.xyzz, r2 /* 180 */ (p0) exp r6._y__, r6.y /* 181 */ (p0) mul r6.__z_, r5.wwww, r6.yyyy /* 182 */ (p0) mad r7.xyz_, r6.zzzz, c90.xyzz, r7 /* 17.1 */ cjmp !b249, L50 /* 18.0 */ exec // PredicateClean=false /* 183 */ add r5.xyz_, -r0.xyzz, c92.xyzz /* 184 */ dp3 r5.___w, r5.xyzz, r5.xyzz + maxs r6.___w, c12.xx /* 185 */ sqrt r6.__z_, r5.w /* 186 */ mad_sat r5.___w, -r6.zzzz, c92.wwww, c93.wwww /* 187 */ setp_gt_push r6.___w, r6.wwww, r5.wwww + rcp r6.__z_, r6.z /* 188 */ (p0) mul r5.xyz_, r5.xyzz, r6.zzzz /* 18.1 */ exec /* 189 */ (p0) dp3_sat r6._y__, r5.xyzz, r3.xyzz /* 190 */ (p0) dp3 r6.x___, r5.xyzz, r1.xyzz + (p0) log r6._y__, r6.y /* 19.0 */ cexec b250 // PredicateClean=false /* 191 */ (p0) dp3 r6.__z_, r5.xyzz, -c94.xyzz /* 192 */ (p0) add_sat r6.__z_, -c94.wwww, r6.zzzz /* 193 */ (p0) mulsc_sat r6.__z_, c12.w, r6.z /* 194 */ setp_gt_push r6.___w, r6.wwww, r6.zzzz + muls_prev r5.___w, r5.w /* 19.1 */ exec /* 195 */ (p0) mul_sat r6.__z_, r6.xxxx, r5.wwww + (p0) mulsc r6._y__, c0.x, r6.y /* 196 */ (p0) mad r2.xyz_, r6.zzzz, c93.xyzz, r2 /* 197 */ (p0) exp r6._y__, r6.y /* 198 */ (p0) mul r6.__z_, r5.wwww, r6.yyyy /* 199 */ (p0) mad r7.xyz_, r6.zzzz, c93.xyzz, r7 /* 20.0 */ cjmp !b251, L50 /* 20.1 */ exec // PredicateClean=false /* 200 */ add r5.xyz_, -r0.xyzz, c95.xyzz /* 201 */ dp3 r5.___w, r5.xyzz, r5.xyzz + maxs r6.___w, c12.xx /* 202 */ sqrt r6.__z_, r5.w /* 203 */ mad_sat r5.___w, -r6.zzzz, c95.wwww, c96.wwww /* 204 */ setp_gt_push r6.___w, r6.wwww, r5.wwww + rcp r6.__z_, r6.z /* 205 */ (p0) mul r5.xyz_, r5.xyzz, r6.zzzz /* 21.0 */ exec /* 206 */ (p0) dp3_sat r6._y__, r5.xyzz, r3.xyzz /* 207 */ (p0) dp3 r6.x___, r5.xyzz, r1.xyzz + (p0) log r6._y__, r6.y /* 21.1 */ cexec b252 // PredicateClean=false /* 208 */ (p0) dp3 r6.__z_, r5.xyzz, -c97.xyzz /* 209 */ (p0) add_sat r6.__z_, -c97.wwww, r6.zzzz /* 210 */ (p0) mulsc_sat r6.__z_, c12.w, r6.z /* 211 */ setp_gt_push r6.___w, r6.wwww, r6.zzzz + muls_prev r5.___w, r5.w /* 22.0 */ exec /* 212 */ (p0) mul_sat r6.__z_, r6.xxxx, r5.wwww + (p0) mulsc r6._y__, c0.x, r6.y /* 213 */ (p0) mad r2.xyz_, r6.zzzz, c96.xyzz, r2 /* 214 */ (p0) exp r6._y__, r6.y /* 215 */ (p0) mul r6.__z_, r5.wwww, r6.yyyy /* 216 */ (p0) mad r7.xyz_, r6.zzzz, c96.xyzz, r7 /* 22.1 */ cjmp !b253, L50 /* 23.0 */ exec // PredicateClean=false /* 217 */ add r5.xyz_, -r0.xyzz, c98.xyzz /* 218 */ dp3 r5.___w, r5.xyzz, r5.xyzz + maxs r6.___w, c12.xx /* 219 */ sqrt r6.__z_, r5.w /* 220 */ mad_sat r5.___w, -r6.zzzz, c98.wwww, c99.wwww /* 221 */ setp_gt_push r6.___w, r6.wwww, r5.wwww + rcp r6.__z_, r6.z /* 222 */ (p0) mul r5.xyz_, r5.xyzz, r6.zzzz /* 23.1 */ exec /* 223 */ (p0) dp3_sat r6._y__, r5.xyzz, r3.xyzz /* 224 */ (p0) dp3 r6.x___, r5.xyzz, r1.xyzz + (p0) log r6._y__, r6.y /* 24.0 */ cexec b254 // PredicateClean=false /* 225 */ (p0) dp3 r6.__z_, r5.xyzz, -c100.xyzz /* 226 */ (p0) add_sat r6.__z_, -c100.wwww, r6.zzzz /* 227 */ (p0) mulsc_sat r6.__z_, c12.w, r6.z /* 228 */ setp_gt_push r6.___w, r6.wwww, r6.zzzz + muls_prev r5.___w, r5.w /* 24.1 */ exec /* 229 */ (p0) mul_sat r6.__z_, r6.xxxx, r5.wwww + (p0) mulsc r6._y__, c0.x, r6.y /* 230 */ (p0) mad r2.xyz_, r6.zzzz, c99.xyzz, r2 /* 231 */ (p0) exp r6._y__, r6.y /* 232 */ (p0) mul r6.__z_, r5.wwww, r6.yyyy /* 233 */ (p0) mad r7.xyz_, r6.zzzz, c99.xyzz, r7 label L50 /* 25.0 */ exec /* 234 */ mul r7.xyz_, r7, c5 /* 235 */ dp3_sat r1.___w, c82, r1 /* 236 */ mad r2.xyz_, r1.wwww, c81, r2 /* 237 */ max r3, c6, c6 /* 238 */ dp3 r5, r1, r4 /* 239 */ add r5.xyz_, r5, r5 /* 25.1 */ exec /* 240 */ mad r5.xyz_, -r5, r4, r1 /* 241 */ dp3 r4.x___, r5, c53 /* 242 */ dp3 r4._y__, r5, c54 /* 243 */ mad r4.xy__, r4.xyyy, c76.xxxx, c76.yyyy /* 244 */ tfetch2D r4, r4.xy, tf0 /* 245 */ serialize mul r4.xyz_, r4.xyzz, c5.xyzz /* 26.0 */ exec /* 246 */ mad r7.xyz_, c7.xxxx, r4.xyzz, r7.xyzz /* 247 */ max r1.___w, c12.yyyy, c12.yyyy /* 248 */ dp4 r0.x___, r1.wyzx, c35 /* 249 */ dp4 r0._y__, r1.wyzx, c37 /* 250 */ dp4 r0.__z_, r1.wyzx, c39 /* 251 */ add r2.xyz_, r2.xyzz, r0.xyzz /* 26.1 */ alloc colors /* 27.0 */ cexec !b129 /* 252 */ max r2.___w, c8.wwww, c8.wwww /* 27.1 */ cexec b129 /* 253 */ mul r3.xyz_, r3.xyzz, c45.xyzz /* 254 */ max r3.___w, c45.wwww, c45.wwww /* 28.0 */ exec /* 255 */ mad r0, r3, r2, r7 /* 28.1 */ cexece b130 /* 256 */ mad r1.xyz_, r0, c45, c12.yyyy /* 257 */ mul r0.xyz_, r0, c77.xxxx + rcpc r1.x___, r1.x /* 258 */ mul r0, r0, c45 + rcpc r1._y__, r1.y /* 259 */ rcpc r1.__z_, r1.z /* 260 */ mul oC0.xyz_, r0, r1 + maxs oC0.___w, r0.ww /* 29.0 */ cexece !b130 /* 261 */ max oC0, r0, r0 /* 29.1 */ exece ```

DrChat commented 6 years ago

Aaand fixed the loading screen. 2_10_10_10 is actually 10_10_10_2. a

Note: In the top half, there is a pixel-wide black line on the right edge. This appears to be because the depth clear is missing this edge (precision errors maybe?)

Atvriders commented 6 years ago

image

I got this far. my xbox one controller doesn't seem to work to push A.

hubslave commented 6 years ago

What graphics card do you have Atvriders? On my radeon hd 7700 it crashes after intro videos.

Atvriders commented 6 years ago

I have the GTX 1080

hubslave commented 6 years ago

Please try to spam start (it’s mapped to X button on keyboard) as soon as the rare logo starts. Someone was able to get to ingame menu by this. PS: I attached debugger to xenia and crash on my computer is caused by invalid or somehow corrupted shader if it helps. Sometimes i can see that grey screen like BSoD38 behind jiggies.

hubslave commented 6 years ago

It's somehow working in benvanik/xenia@0cff9169. Some textures are correctly placed, but it runs for ~2 fps
and does not appear to display any text or image. I am trying to run it again now, so i can document it and take some screenshots.

hubslave commented 6 years ago

IT'S HAPPENING Sorry image wasn't captured, but it somehow rendered main menu 3d bg. And then my computer crashed on VIDEO_DXGKRNL_FATAL_ERROR.

Atvriders commented 6 years ago

Does it really work now!

hubslave commented 6 years ago

Yes, but my radeon 7700 isn't the best, which is probably cause of those BSODs (i was able to create new save and it played intro sequence for 5 seconds and then BSOD) EDIT: Recorded one video showing intro sequence. After 3 minutes, i got very very weird images on screen (recorded video and i am currently uncorrupting it) and after one minute my computer VIDEO_DXGKRNL_FATAL_ERRORed EDIT: ****! The mp4 is so corrupted, that even VLC cannot play it. Do you know how to uncorrupt mp4 file? For now i recorded another test run in avi, but it didn't show that funny stuff on screen :( EDIT: this is that another testrun. Too bad the first testrun is so corrupted. https://youtu.be/mGyYNm70YNE

DrChat commented 6 years ago

Fonts

b

Font (originally 1920x1920)

a

The issue is that we're flipping color channels (k_4_4_4_4) around, and the font embeds different characters on different channels.

Fixed as of xenia-project/xenia@f54ac240a49c91d7c6d65acbf0ab51e69b7c5f19

Vertex Shader

``` // /* 0.0 */ exec // /* 3 */ vfetch_full r0._xy1, r0.x, vf0, DataFormat=FMT_32_32_FLOAT, Stride=6, Signed=true, NumFormat=integer, PrefetchCount=6 // /* 4 */ vfetch_mini r1.xy__, Offset=2, DataFormat=FMT_32_32_FLOAT, Signed=true, NumFormat=integer // /* 5 */ vfetch_mini r1.__xy, Offset=4, DataFormat=FMT_32_32_FLOAT, Signed=true, NumFormat=integer // /* 0.1 */ alloc position // /* 1.0 */ exec // /* 6 */ mad r2.xy__, r0.wwww, c6.xyyy, c255.yyyy // /* 7 */ mad r0.xy__, r0.yyyy, c3.xyyy, r2.xyyy // /* 8 */ mad r0.xy__, r0.zzzz, c4.xyyy, r0.xyyy // /* 9 */ mul r0.xy__, r0.yxxx, c0.yxxx // /* 10 */ add oPos.0y01, -r0.xxxx, c255.xxxx // + subsc oPos.x___, -c255.x, -r0.y // /* 1.1 */ alloc interpolators // /* 2.0 */ exece // /* 11 */ mul o0.xy__, r1.xyyy, c2.xyyy // /* 12 */ max o2, c1, c1 // /* 13 */ mul o1.xy__, r1.zwww, c2.zwww // /* 2.1 */ cnop ```

Pixel Shader

``` /* 0.0 */ exec /* 9 */ add r0.___w, c1.xxxx, c1.xxxx + maxs r1.__z_, r0.xx /* 10 */ add r6.x___, r0.wwww, r0.xxxx + maxs r2._, -r0.ww /* 11 */ add r5._y__, r0.wwww, r0.yyyy + adds_prev r0.__z_, r0.y /* 12 */ add r3.x_z_, -r0.wwww, r0.xyyy + maxs r5.___w, r5.yy /* 13 */ max r5.x___, r3.xxxx, r3.xxxx + maxs r5.__z_, r6.xx /* 14 */ dp3 r7.x___, c3.zyxx, c255.yyyy + maxs r3._y__, r0.yy /* 0.1 */ exec /* 15 */ max r6._yz_, r0.yyzz, r0.yyzz + maxs r1.___w, r5.yy /* 16 */ tfetch2D r4.xyz_, r1.xy, tf1 /* 17 */ tfetch2D r8, r6.xy, tf0 /* 18 */ tfetch2D r9, r5.zw, tf0 /* 19 */ tfetch2D r10, r6.xz, tf0 /* 20 */ tfetch2D r11, r3.xy, tf0 /* 1.0 */ exec /* 21 */ tfetch2D r12, r5.xy, tf0 /* 22 */ tfetch2D r3, r3.xz, tf0 /* 23 */ tfetch2D r13, r0.xy, tf0 /* 24 */ tfetch2D r14, r1.zw, tf0 /* 25 */ tfetch2D r1, r0.xz, tf0 /* 26 */ serialize sgt r0.___w, c1.zzzz, c255.xxxx /* 1.1 */ exec /* 27 */ dp3 r5.x___, c4.zyxx, c255.yyyy /* 28 */ dp3 r6.x___, c2.zyxx, c255.yyyy /* 29 */ dp4 r1.x___, r1.wzxy, c0.wzxy /* 30 */ dp4 r1._y__, r14.wzxy, c0.wzxy /* 31 */ dp4 r1.__z_, r13.wzxy, c0.wzxy /* 32 */ dp4 r3.x___, r3.wzxy, c0.wzxy /* 2.0 */ exec /* 33 */ dp4 r3._y__, r12.wzxy, c0.wzxy /* 34 */ dp4 r3.__z_, r11.wzxy, c0.wzxy /* 35 */ dp4 r0._y__, r10.wzxy, c0.wzxy /* 36 */ dp4 r0.x___, r9.wzxy, c0.wzxy /* 37 */ dp4 r0.__z_, r8.wzxy, c0.wzxy /* 38 */ add r4.xyz_, r4.zyxx, -r2.zyxx /* 2.1 */ exec /* 39 */ mad r4.xyz_, r4.zyxx, c1.yyyy, r2.xyzz /* 40 */ mul r7._yzw, r3.xxyz, c2.xxzy + mulsc r5._y__, c4.x, r0.y /* 41 */ mul r6._yzw, r1.xxyz, c3.xxzy + mulsc r5.__z_, c4.z, r0.x /* 42 */ add r6, r7.xzyw, r6.xzyw + mulsc r5.___w, c4.y, r0.z /* 43 */ add r5, r6, r5.xzyw /* 44 */ dp3 r2.__z_, r5.yzww, c255.yyyy + rcp r2.x___, r5.x /* 3.0 */ exec // PredicateClean=false /* 45 */ mul r2.__z_, r2.zzzz, r2.xxxx /* 46 */ max_sat r2.x___, r2.zzzz, r2.zzzz + setp_ne r2._, r0.w /* 3.1 */ (!p0) jmp L10 /* 4.0 */ exec // PredicateClean=false /* 47 */ sgt r0.x___, r3.xxxx, r1.zzzz /* 48 */ setp_ne r2._, r0.x /* 49 */ (p0) mad r2.__z_, r3.xxxx, c5.wwww, r2.xxxx /* 50 */ (p0) subsc r0.x___, c255.y, r2.x /* 51 */ (p0) mul r0.xyz_, r0.xxxx, c5.xyzz /* 52 */ (p0) mad r4.xyz_, r2.xxxx, r4.xyzz, r0.xyzz /* 4.1 */ jmp L15 label L10 /* 5.0 */ exec // PredicateClean=false /* 53 */ sgt r0.___w, c1.wwww, c255.xxxx /* 54 */ setp_ne r2._, r0.w /* 5.1 */ (!p0) jmp L15 /* 6.0 */ exec /* 55 */ max r2._y__, r1.xxxx, r3.xxxx /* 56 */ max r2._y__, r0.yyyy, r2.yyyy /* 57 */ max r2._y__, r3.zzzz, r2.yyyy /* 58 */ max r2._y__, r0.zzzz, r2.yyyy /* 59 */ max r2._y__, r3.yyyy, r2.yyyy /* 60 */ max r2._y__, r1.yyyy, r2.yyyy /* 6.1 */ exec // PredicateClean=false /* 61 */ max r2._y__, r0.xxxx, r2.yyyy /* 62 */ sgt r0.x___, r2.yyyy, r1.zzzz /* 63 */ setp_ne r2._, r0.x /* 64 */ (p0) mad r2.__z_, r2.yyyy, c5.wwww, r2.xxxx /* 65 */ (p0) subsc r0.x___, c255.y, r2.x /* 66 */ (p0) mul r0.xyz_, r0.xxxx, c5.xyzz /* 7.0 */ (p0) exec /* 67 */ (p0) mad r4.xyz_, r2.xxxx, r4.xyzz, r0.xyzz label L15 /* 7.1 */ alloc colors /* 8.0 */ exece /* 68 */ mul r4.___w, r2.zzzz, r2.wwww /* 69 */ max oC0, r4, r4 /* 8.1 */ cnop ```

CatoNator commented 6 years ago

The game throws a "graphics device lost" error on me in the loading screen before the title screen loads. The build is 9a158963.

The log file reveals that the TextureCache staging buffer is too small. xenia.log

xNano01x commented 6 years ago

bk 12 terror wow bk 10 bk 1

The game is being made playable, there are texture errors to review yet! Water for example, and in some worlds, appear either white or yellow The same is already a breakthrough for this game!

PC AMD: FX 8350 and R9 270X :D

CatoNator commented 6 years ago

I can't manage to get beyond the title screen, as the game crashes due to the loss of the graphics device.

How on earth did you manage to get to actual gameplay though? The game runs at about 1 frame every 10 seconds for me. I'm using an i5 3570k and a GTX 970.

xNano01x commented 6 years ago

Patience and an xbox 360 joystick hahaha Ami also goes to 1 FPS @CatoNator

xNano01x commented 6 years ago

Gameplay!

https://www.youtube.com/watch?v=nQJvvv8vJ6Q

Spokehedz commented 5 years ago

I have gameplay, and some graphics corruption.

some-username-here1 commented 5 years ago

Build: commit 37e59464 (commit aee5f582 with 0xFFFFFFFF in xam_content.cc)

Issues:

audio lagging behind, and upon the jiggies loading screen, Xenia gives out a Internal GPU Lost error, but if left as is, without clicking on "OK", the music would start playing, but after 3 seconds or so, it would immediately cut off, but audio would still be playing, most likely from the vehicles in the titlescreen

Unknown if the Internal GPU Lost error is with just with Nvidia GPUs', as @Spokehedz said that they were able to get in-game, or just incompatible recent drivers

Logs:

BK-N&B.log

Screenshots:

BK-N&B

Labels:

EDIT: Even after spamming "A" after the Rare logo doesn't help get me into the main menu

some-username-here1 commented 5 years ago

Build: commit 00adfcad (w/ 0xFFFFFFFF in xam_content.cc)

Downgraded the nvidia drivers down to Version 390.77 from 399.24+ and got Xenia working!

Intro

some-username-here1 commented 5 years ago

Got into starting the story mode, but the screen has froze during the loading screen right after pressing A

Frozen

During the intro cutscene, the audio is synced but later the foreground (voicelines, etc.) and background audio (music, narrator) becomes desynced near the end of the narrrator voicelines

Logs:

Spokehedz commented 5 years ago

I think I am using the D3D12 build and it always crashes right when you try and go up to LOG.

Brokemono commented 5 years ago

image image image image Lots of lag and stutter, grass didn't render right and some other stuff like those decorations on the buildings and some vines, 30 minutes of gameplay and no crashes to report. This is running on the DX12 version and the latest build as of 1/17/2019. Despite all of this I made it to the highest place in this world. There is also slight input delay but that's to be expected at this framerate and stutter. It averages around 13fps most of the time. and sometimes going even above 15fps but after it hits 15+ fps after a second or so it hangs for ca. 3 seconds and then it goes to normal.

Specs: CPU: AMD FX-8300 (overclocked to 3.7Ghz) GPU: Palit Nvidia GeForce 670 RAM: GSkill Ripjaws X Series 2 x 8Gb Dual Channel Motherboard: GA-78LMT-USB3 OS: Windows 10 Pro Version 1803 (OS Build 17134.523)

PS: I had Chrome, Discord, Steam and MSI Afterburner running in the background while testing the game.

Atvriders commented 5 years ago

What version of video card driver did you have installed?

Brokemono commented 5 years ago

What version of video card driver did you have installed?

version: 417.01 date: 11/26/2018 Sorry for the late reply. I still use this driver.

Atvriders commented 5 years ago

Thanks. I'll have to get that version. The game runs for me but audio lags and extreme texture glitching.

Brokemono commented 5 years ago

image image image image image image image Compared to my last one there is quite some improvement here. No more texture issues but the grass still isn't rendered right but it's not that big of a problem right now. The fps averaged 13 this time but it had far fewer stutters and felt smoother but there was still this audio delay and input delay. but I climbed the tower faster. This time I ran xenia at high priority and at full-screen. My monitor is 1680x1050 which is 16:10 Aspect Ratio...The game looks fine with it. I think someone with better specs than mine and better drivers and all that could actually play this smoothly right now. I ran this with the latest build as of right now: xenia (detached/9dd62c1e/Jan 21 2019)

Specs: CPU: AMD FX-8300 (overclocked to 3.7Ghz) GPU: Palit Nvidia GeForce 670 RAM: GSkill Ripjaws X Series 2 x 8Gb Dual Channel Motherboard: GA-78LMT-USB3 OS: Windows 10 Pro Version 1803 (OS Build 17134.523)

PS: I yet again had Steam, Discord, Chrome and MSI Afterburner running in the background.

thareh commented 5 years ago

The grass goes where it's not supposed to go, the skybox in the first level doesn't show at all and some UI stuff that doesn't show sometimes but otherwise it works pretty damn well! Getting almost max FPS on my computer, can't wait for it to work fully - this is my favorite game!

some-username-here1 commented 5 years ago

screenshot 95 screenshot 96 screenshot 97 screenshot 98 screenshot 99 screenshot 100 screenshot 101 screenshot 102 screenshot 103 screenshot 104 screenshot 105 screenshot 106 screenshot 107

Issues:

When starting out fromt the intro, the sound effects, music and voicelines are all off. But the music is ahead of both, while the sound effects are slightly behind (or ahead, don't remember) of the voicelines and cutscene.

Once we're travelled to showdown town, though, the game crashes.

Specs:

Log:

BK-N&B.zip

Crazedtech commented 5 years ago

So i tried this for a little today because i can't find the power cable for my xbox 360, here's my results Issues: Grass is off position, something that's been said here before on the way up the tower i could see to the left on the ledge at the foot of the ramp was alot of sugarcane-looking glitched grass Mild input delay (1-0.5 secs) Horrible audio delay (sometimes various sound effects just don't play, others take about a minute to play unless cancelled

Tested on DirectX12 version of Xenia I'd supply a log, but i re-opened the game after this session, erasing the old one i assume

Specs: Palit GTX 1050ti StormX (No extra overclocking beside Palit mod) Ryzen 3 1200 No sound cards installed, running off Asus A320m-k mobo built-in sound

Crazedtech commented 5 years ago

Another round of testing, but this time i tried to do the first Jiggy challenge. Performance is really bad in the first level, and graphics device was lost after completing the challenge and getting to the farm.

BanjoLog.zip

momermop commented 4 years ago

Hello tried to test the game preformance was a bit thuggy laggy the loading screens were a bit long sometimes could play the game till the logbox world after the mungo antenna mission it crashed

(the log file is 2,75 GB so i can't upload it but i can upload the last part with the crash dump Xenia (small part including the crash dump).txt

GTX 2070 Super I5-8600k 16GB DDR4 Ram

if anyone wants the full log here is it on google drive https://drive.google.com/file/d/1HoyFps7qtCSjKn34i2ca9dkdvGYhSHF6/view?usp=sharing it is 2,8 GB so ALOT of text :)

Note this log is from more then 1,5 hour gameplay without 1 crash so thats why its pretty big

Margen67 commented 4 years ago

@momermop You can put the log in a zip to make it smaller.

momermop commented 4 years ago

A yeah mb i uploaded it now to google drive since it is 40 MB and still to large for github can't compress it any smaller

https://drive.google.com/open?id=1DCHsHGw2gdZXRmnR1bi6s1z3Xc5xBB_Y

momermop commented 4 years ago

i dunno i could play to the second world but after that is crashed.

the game worked ok but the sound had a 7- 8 second delay

nicklas321123-zz commented 4 years ago

anybody know why i just get a white screen after this shows up? seems to be as far as i am able to get image