Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
Acmlm's Board - I2 Archive - - Posts by HyperLamer
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409
User Post
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4942/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-12-05 04:37 PM, in Captain Tsubasa Vol 2 Link
You sure it's not using some form of compression then?

Also the " just gives it a 'b' sound, just like how the circle does 'p'.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4943/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-12-05 04:49 PM, in Mario 64 - Amazing Stuff Link
Just been tinkering around a lot with the game. It seems to have some sort of protection or something? No matter what I do to the compressed level files it just goes into an endless loop.

Anyway, here's some notes:
347A50 - level 6 textures (probably layout too, didn't check though)
3E76B0 - first file before level 1 data
3FC2B0 - level 1 data (ends @ 405A5E with byte sequence EE E4 FF FF)
405FB0 - first file after l1
2AC0EE - some kind of pointer table?
405CCD - pointer to l1?
7CC700 - free space

RAM addys:
07E64E - pointers from 2AC0EE in RAM
0FA45D - in-RAM from 405CCD when in l1
32DDF9 - level #
380608 - reads from 0FA45D loading l1
380574 - reads level number loading l1

;Disassembled from 380574
;$at = 8039000C
;$t2 = 00000001
;$ra = 80380624
lui $t0,8033
lh $t0,DDF8($t0) ;$t0 = level #
lui $at,8039
sw $t0,BE24($at) ;level # -> 8039BE30
beq $zero,$zero,3805A0
nop

3805A0:
lui $t2,8039
lw $t2,BE28($t2) ;$t2 <- 8039BE29
lui $at,8039
lbu $t3,0001($t2) ;$t3 <- ($t2 + 1)
addu $t4,$t2,$t3 ;$t4 = $t2 + $t3
sw $t4,BE28($at); $t4 -> 8039BE34
jr $ra
nop

At both 2AC0ED and 405CCD in the ROM are the bytes 3F C2 B0, which just happens to be the location in the ROM file of level 1's graphics and level layout data. Changing the pointer at 2AC0ED doesn't seem to do anything? Changing the one at 405CCD crashes the game when you go into level 1 (but not level 2, which uses the same textures and music, so it's not either of those). This means this is probably the pointer we need. I wasn't able to repoint the data however. Moving the compressed file to 7CC700 and updating both pointers still only crashes the game when entering the level (it goes into an endless loop). I also tried decompressing the file, deleting some of the graphics (blanking them out for better compression as my compressor is not quite as efficient as Nintendo's) and re-inserting the (now much smaller) re-compressed file but this still only crashes the game, though with real error messages this time. It really seems as if there is some mechanism in place to prevent this from working, but I have got minor results from just making small random edits to the compressed data right in the ROM, so I'm not sure what to think...

Keep in mind that you'll need to fix the ROM's checksum after you edit anything if you want it to actually run.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4944/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-12-05 04:58 PM, in This guy is nuts! Jumping to stop Global warming Link
OK so we're all floating on this big piece of rock in the water. What do we do? Jump on it! ...Yeah, great idea, until your country sinks and causes tidal waves.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4945/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-12-05 05:00 PM, in You're favuorite number Link
Originally posted by RT-55J
1/0

OMFG D00D! YOU CAN'T DO THAT! *head explodes*
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4946/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-12-05 05:05 PM, in Ninji Saga 2 - Ideas thread and request Link
I always liked the idea of a world that takes place inside various machines. Lots of gears and wires around and all that fun stuff.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4947/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-12-05 11:19 PM, in Stuff doesn't work. Link
Yeah, ME did that to me too but that's just files with the wrong icons. In this case the extensions are actually being un-registered.
I don't see how the gamepad could be broken as it's two different problems and works fine in PJ64. It is a USB pad.
I know BMP doesn't support transparency, but many programs fake it by not drawing pixels of a certain colour. XP's title bars do that, for example.
As for intl.cpl, if it were broken restoring it from the CD should have fixed it, since it worked before. How is doing that going to screw anything up?
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4948/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-12-05 11:27 PM, in Mario 64 - Amazing Stuff Link
I do have a few ideas which I'm going to try out in a minute. These don't really pan out though. I couldn't find any sign of another pointer, I don't know where any other level's data is (possibly level 6 but I haven't tested it, and doing so would be very tedious on such a large level; pointing it to that just crashed it), and since the level data is compressed any pointers inside it that pointed to itself would have to be relative, which shouldn't be affected by being moved. (Unless they could point to things in RAM? Hmm...)

BTW, forgot to mention - the pointer at 2AC0EE seems to be part of a table. It contains a pointer to the first file before level 1's file (3E76B0) and level 1's file itself, but there's also a few between them that don't point to compressed files at all. Changing this doesn't seem to do much anyway, unless it was sound-related. The pointer at 405CCD looks as though it might be in some type of data block, possibly the level header.

[edit] Just thought I'd dump my latest notes into here.

405CCD definetely seems to be part of a level header of some sort.
405CEF - change 05 to 06, game crashes when a water bomb appears
-change to 04 to really screw up graphics - many objects/Mario missing, textures smear, screen duplicates into a small rectangle and flattens, PJ64 gives continuous exception errors but runs anyway

addr: 00 01 02 03|04 05 06 07|08 09 0A 0B|0C 0D 0E 0F 0123456789ABCDEF
405CC0 07 04 00 00|1B 04 00 00|18 0C 00 07|00 3F C2 B0 .............?..
405CD0 00 40 5A 60|1A 0C 00 09|00 32 D0 70|00 33 4B 30 .@Z`.....2.p.3K0
405CE0 18 0C 00 0A|00 2A C6 B0|00 2B 8F 10|18 0C 00 05 .....*...+......
405CF0 00 13 4D 20|00 13 B5 D0|17 0C 00 0C|00 13 B5 D0 ..M ............

405CC0 - 07040000 \
405CC4 - 1B040000 if changed, game crashes > these could be coords/size?
405CC8 - 180C0007 crash on change /
405CCC - 003FC2B0 pointer to level 1 layout
405CD0 - 00405A60 pointer to 2 bytes past the end of level 1 layout file (no file here O_o)
405CD4 - 1A0C0009
405CD8 - 0032D070 pointer to GFX (bars, wall, etc)
405CDC - 00334B30 pointer to GFX (textures)
405CE0 - 180C000A if changed, PJ64 just kinda stops O_o (tried 1810000A and 1808000A)
405CE4 - 002AC6B0 pointer to GFX (clouds, water)
405CE8 - 002B8F10 pointer to GFX (BGs?)
405CEC - 180C0005 graphic-related (value=1.80946e-024)
405CF0 - 00134D20 pointer to GFX (big weird balls - ones that roll down mountain?)
405CF4 - 0013B5D0 looks like a pointer, but doesn't point to a compressed file
405CF8 - 170C000C
405CFC - 0013B5D0 again
note frequent occurrences of 180Cxxxx - 32-bit float, ~1.8

also note pattern:
405CC0 - 07040000 (float)
405CC4 - 1B040000 (float)
405CC8 - 180C0007 (float) <-- pattern starts here
405CCC - 003FC2B0 (pointer)
405CD0 - 00405A60 (pointer)
405CD4 - 1A0C0009 (float)
405CD8 - 0032D070 (pointer)
405CDC - 00334B30 (pointer)
405CE0 - 180C000A (float)
405CE4 - 002AC6B0 (pointer)
405CE8 - 002B8F10 (pointer)
405CEC - 180C0005 (float)
405CF0 - 00134D20 (pointer)
405CF4 - 0013B5D0 (pointer)
405CF8 - 170C000C (float)
405CFC - 0013B5D0 (pointer)

The float-pointer-pointer pattern is very interesting. Most of these point to graphics used in level 1. Changing the floats just seems to crash the game, maybe they tell what to do with the graphics? The pointer at 405CD0 is also intruiging as it seems to point right to the end of the compressed file that holds the level layout. Maybe the game needs to know where the file ends? (But why not just specify its size?) This seems likely as AFAIK the game needs to DMA everything from ROM into RAM, and thus should know exactly how much data it needs before doing so.

[edit again] W0000000T! I was right! To repoint the level layout, you not only have to change the pointer at 405CCC, but also the one at 405CD0 (it has to point to two bytes past the end of the level file - not sure on this, it might just need to point to the next 32-bit-aligned addy). I now have the game running successfully with the level data moved. Excuse me while I change my pants.

[guess what, an edit] Well I can't seem to get anything besides the original level data to work. Even if I just decompress the file, compress it again, and stick it back in, boom. This could mean several things:
  • Some sort of checksum or filesize check.
  • The MIO0 spec we've been using is wrong, or the game isn't following it exactly (maybe some additional technical limitations).
  • Every compression program released thus far doesn't work. (I only know of one other than mine and I don't think it even comes close to working right. Mine seems to work (it decompresses to exactly what went in), but it's possible that the compression has some kind of flaw that causes problems with the game but not with my own decompressor.)
  • Bad decompressor? Looking at the graphics in Tile Molestor, there seems to be one byte missing from the very beginning of the file, but adding a byte there doesn't seem to help. (Bug in TM maybe? Or the game's byte-swapping the graphics?) Both mine and the other give the same output, though.
  • There's more to the process that needs to be figured out.


I'm not giving up yet though. Mario Kart 64 contains code to compress this stuff...


(edited by HyperHacker on 06-12-05 06:27 AM)
(edited by HyperHacker on 06-12-05 08:50 AM)
(edited by HyperHacker on 06-12-05 09:10 AM)
(edited by HyperHacker on 06-12-05 10:45 AM)
(edited by HyperHacker on 06-12-05 10:46 AM)
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4949/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-13-05 04:22 AM, in Help with some N64 code Link
Hmm, that makes sense. Wouldn't I have to ensure the lower half of $a1 is zero before I do that though?
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4950/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-13-05 04:41 AM, in Help with some N64 code Link
Well that fixed the crashing, now I just need to figure out why it isn't doing anything.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4951/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-13-05 07:07 AM, in Help with some N64 code Link
Yeah, I think I just need to find another place to stick the code. It doesn't seem to be getting executed in some places.

[edit] Well I found another place to put the code, tweaked it a bit ($s2 and $s3 aren't used so I don't have to use the stack anymore) and it's once again throwing logic out the window.

lui $s2,801C
addiu $s2,$s2,8D75 ;Get joypad status
addiu $s3,$zero,0000
lb $s3,0000($s2)
addiu $s2,$zero,0030 ;Value for L+R
and $s3,$s3,$s2 ;L+R pressed?
bne $s3,$s2,.end ;No
nop
lui $s2,8011
addiu $s2,$s2,C089 ;Language addr
addiu $s3,$zero,0000
lb $s3,0000($s2)
addiu $s3,$s3,0001 ;Next
andi $s3,$s3,0001 ;But don't go past 1
sb $s3,0000($s2) ;Store it

.end:
[original op: addiu $s3,$zero,0004]
j 0A2EBC
[original op: or $s2,$zero,$zero]


If L and R are pressed, it should be getting the language byte, modifying it, and storing it again. But it's not. If I put an invalid opcode in there, the CPU crashes when I hit the buttons just like it should, but somehow this code is just not doing anything. Also, I can't get the buttons to work right. The way it is now, it activates if L or R are pressed. Removing the 'and' that really doesn't need to be there anyway just disables it entirely.


(edited by HyperHacker on 06-12-05 03:34 PM)
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4952/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-13-05 08:37 AM, in Mario 64 - Amazing Stuff Link
If you'd read the post, I managed to move the level file without the game going boom. Actually editing anything, though, kills it. And I am not a geek.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4953/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-14-05 03:04 AM, in Post your bedroom. Link
Originally posted by Tanookirby
The diagram is a little confusing. Maybe you should indicate where the doorways are.
Behind the cat.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4954/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-14-05 03:06 AM, in Juice me up! Link
Grape juice pwns.

Pop is even better, but it's hell on teeth.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4955/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-14-05 03:07 AM, in Laptops Outsell Desktops for First Time! Link
At those prices? Hah!
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4956/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-14-05 03:09 AM, in 10 years since PHP 1.0 was released! Link
Wait wait wait...
PHP stands for PHP Hypertext Processor? So that means PHP Hypertext Processor Hypertext Processor, which means PHP Hypertext Processor Hypertext Processor Hypertext Processor, which [...] PHP [ Hypertext Processor x 4375648735], which *stack overflow*
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4957/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-14-05 05:36 AM, in New Desktop, anyone? Link
You can imagine why I use it as a test pic often. Good way to keep awake.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4958/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-14-05 05:48 AM, in Help with some N64 code Link
I was considering doing C089($s2) instead of setting $s2's lower half, but since it's above 7FFF I figured that might not work right (like 80110000 - 3F77 or something). Using an unsigned byte for the controller layout, though it seems right, doesn't seem to work. Also yes, for some weird reason the game constantly checks its language setting and switches the text and fonts accordingly.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4959/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-14-05 08:01 AM, in Help with some N64 code Link
There's Nemu if by some miracle I can get it running, and the Gameshark which doesn't help a whole lot without step-by-step execution. All instructions are 4 bytes.
(restricted)
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 4961/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-14-05 08:09 AM, in Having trouble with computer powering up Link
The hard drive could actually be the entire problem. My old computer does similar things with certain defective HDs I have laying around. With one the RAM fails (text on the screen gets jumbled and the OS won't boot), the other won't spin up until I give it a good thwack and until then the BIOS hangs waiting for it.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409
Acmlm's Board - I2 Archive - - Posts by HyperLamer


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.036 seconds.