Register - Login
Views: 99380854
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-23-22 11:40:44 PM
Jul - Posts by yoshiman
Pages: 1 2 3 4 5
yoshiman
Member
Level: 23


Posts: 61/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 05-17-08 10:39:30 PM, in Behaviour Scripts Link
Sorry I got distracted but it was worth it, as can be seen in my latest video on YouTube (yoshielectron as I'm known there) I've found the variable that globally sets how many yellow coins a Goomba gives out after it's defeated. I found that thanks to my RAM hacking and converted it to a code and patched the NTSC expanded ROM also.

I was looking at the Goomba behaviour script to see if there was an instruction that wrote to variable offset 0x198 in a Goomba's object structure which determines the pay out. Nothing so I then had a loot at the 0x0C call from the behaviour script to the initialization ASM and found the instruction that loads the value from the RAM.

If you want to patch the ROM so that all Goombas pay out jackpots then go to address 0xED8C7 in your hex editor and alter the 0x01 to how many coins you want the Goombas to give. However, I had to use a program to fix the checksum since Project64 got stuck in a loop after changing the value.

Be warned, too high values will crash the game and be sure to collect all the coins or most of them before defeating the next Goomba.

James S.

____________________
We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 62/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 05-17-08 11:18:42 PM, in Strange color code Link
I tried the code on Project64 and found nothing strange about the colours so could it have been his monitor/TV? Colour codes DO work on the N64 like my Yellow Yoshi code, the problem is adding the many codes to an N64 cheat device like the Equalizer I used.

James S.

____________________
We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 63/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 05-18-08 01:25:34 AM, in Behaviour Scripts Link
I'll put in more detail when I can but to make clear, in the Goomba's behaviour script their is a 0x0c call to ASM used for initialization. It is that coding that loads a value from the RAM and copies it to offset 0x198 the number of coins a Goomba gives out.

I will do an ASM thread but it's annoying because of the differences between PAL and NTSC. However, it would probably be best to gives NTSC examples especially as it's the NTSC expanded ROM that we use.

James S.

____________________
We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 64/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 05-18-08 11:08:07 PM, in The size hacking craze Link
Thanks to me looking at the coding to do the size mod hacks like Luigi size Mario; surely an ASM thread would be a good idea?

James S.

____________________
We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 65/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 05-18-08 11:20:40 PM, in Behaviour Scripts Link
Not only are the addresses different but the coding is also as there were likely bug fixes in the PAL version. What does stay the same is when segment/offset method is used since those values are used to calculate an actual address.

The part of the behaviour script used for init. the object is the start of the behaviour script. VL-TONE said that the behaviour script starts with zero but accrding to the pointers used by the RAM objects it's the next instruction. Then somewhere within the behaviour script is constantly called by the object while playing to update the object.

I had to change the coding to alter how many coins a Goomba gives out, there wasn't an instruction in the behaviour script at least not for Goombas. And in my latest videos I've modified the coding even more so that a Bob-omb comes out of a Goomba instead of a coin.

There are two main values used to spawn the coin:

0x0074 is the graphic ID for a yellow coin (with a shadow)
0x09A4 is the offset to the start of the behaviour script to create the coin

Change these values in the coding and you get a totaly different object from the Goombas. Perhas I could explain more about the coding in an ASM thread?

James S.

____________________
We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 66/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 05-19-08 01:09:09 AM, in The size hacking craze Link
Yes, thank you is just people might get confused as my username's different on this forum to YouTube. If I start an ASM thread then I can help people even if they're new to MIPS programming.

James S.

____________________
We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 67/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 05-19-08 01:15:06 AM, in Behaviour Scripts Link
I first noticed the graphic ID or model ID when I found the item box item table which lists what each item looks like and how it behaves that you can get from an item box. The table could be expanded whith the necessary changes to the coding to add new items or change the existing ones.

I'll do the ASM thread-please don't delete it!

James S.

____________________
We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 68/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 05-19-08 01:28:43 AM, in ASM hacking Link
Don't worry if you know nothing about the N64's ASM as I'm here to help and I'll start off simple and then use examples to show you how the game works and how it can be altered to go beyond simple level editing.

The N64's processor is a RISC (Reduced Instruction Set Computing) so its instructions are quite simple and are designed logically with each instruction using 4 bytes (32-bits). Remember that Nintendo most likely used C or C++ to program SM64 so we will be actually looking at the result when converted to ASM. This means you may see coding that looks a little strange but is actually very logical.

Some important registers that are used for temporary storage:

r0 is register zero which always contains the value zero so it can be used as a constant and also for arithmetic operations.

sp is the stack pointer which you can ignore as long as you don't change it

Then there are various others such as at, a3, vo, etc.

The N64's processor features offset calculations which is ideal when it comes to reading or writing to a certain variable in an object structure. You'll often see in the behaviour coding that a register will be loaded with a pointer-to-object value and then an offset will be added to get at the variable.

Being 64-bit you need to know:

double word=64-bit
word=32-bit
half world=16-bit
byte=8-bit

Although the processor's instructions can read or write up to 64-bits from memory, immediate data (i.e. values that are part of the instruction) can only be up to 16-bit. This is the reason that Gameshark codes on a real N64 cheat device only allow up to 16-bits for the code.

That's you starter.

James S.

____________________
We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 69/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 05-19-08 09:12:10 PM, in ASM hacking (last edited by yoshiman at 05-19-08 08:54 PM) Link
Yes, at the start of a function and at the end the register sp (stack pointer) will be modified. However, make sure you follow the jumps and brances carefully and there will be a lot of them for most objects. Remember, jumps and branches use the delay slot so the next instruction will be executed before the jump/branch but Nemu will tell you.

Today I went one better and changed the coding so that exploded Bob-ombs are replaced with King Bob-omb! It's amazing, you can fight loads of them (as can be seen in my YouTube video (yoshielectron) and get a star from each of them. Also, take note of what happens to the music which I was unable to show in the video due to the short length.

I tried the debug Project64 and although it's a great help it's a bit lacking for my needs. For example, you can only set a breakpoint when the pc is at a certain address; Nemu allows you to halt the game when the CPU reads or writes to a specific address.

James S.

____________________
We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 70/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 05-20-08 08:51:03 PM, in ASM hacking Link
I'll add some examples later but first about Nemu and seting breakpoints. Most likely you will want to set up a breakpoint when the game reads and/or writes to a specific vaiable belonging to an object. Someone requested I do a hack so that the Bob-ombs do not react at all to Mario so I used Nemu.

First of all I found a Bob-omb in memory using Nemu's memory viewer and then went to offset 0xF8. I knew that when that variable has the value 0x01 the Bob-omb ignites so I had the write option only checked and then right-clicked on the memory location.

The game will continue playing but as soon as the Bob-omb tries to ignite itself Nemu paused the game allowing me to check out the coding. For other objects there maybe many times that a certain variable is read or written to so you may have to click 'Go' to jump to the next read/write of that variable.

Remember, emulators are a pain if you want to change coding, I've found that you have to edit the RAM or activate the code(s) before the title screen.

James S.

____________________
We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 71/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 05-20-08 10:03:08 PM, in ASM hacking (last edited by yoshiman at 05-21-08 08:30 PM) Link
I'll upload here (Editing the RAM objects) and to my site an updated list of the uses of the object variables. Looking at the ASM you can confirm the size of various variables which really helps with listing what each variable does. For example, if you see something like:

lh t6, 0x0014(v0)

Then you know that the variable at offset 0x0014 is 16-bit, though that's a general rule and may not always apply.

In one of my recent videos the code caused Bob-ombs to be spawned from trees instead of leaves. Here is the coding that spawns the leaves:

802B0AB4 lui a2, 0x1300
802B0AB8 addiu a2, a2, 0x13C4
802B0ABC lw a0, 0x1160(a0)
802B0AC0 jal 0x8029EDCC
802B0AC4 addiu a1, r0, 0x00a2

0xa2 is the gfx ID for a leaf and 0x1313C4 is the segment/offset pointer to the leaf's behaviour.

____________________
We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 72/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 05-21-08 11:13:39 PM, in Editing the RAM objects Link
Here is an updated list of the variables used by each object; looking at the ASM has really helped with this:

(f/p) is a floating-point value.
0x?? or 0x???? are hexadecimal values.

[0x00] 0x001800 Always that value, should not be changed as it marks the start of an object structure.
[0x02] 0x0025 Collection of bits that alters how the object behaves in relation to the camera. 0x25 causes the object to always face the camera as is the case of the 2D objects like trees and other objects so that it appears 3D (billboarding), however it can be used with 3D objects. 0x21 is used for true 3D objects so the object isn't forced to always face the camera since rotating the camera will show other parts of the object.
[0x04] 0x8030B0B8 Usually pointer to the previous object. If this is the first object, it will point to the last object.
[0x08] 0x8030B578 Usually pointer to the next object. If this is the last object, it will point to the first object.
[0x0C] 0x80386A20 Always equals this value, points to a structure that contains variables which affect all the objects.
[0x10] 0x00000000 ?
[0x14] 0x80195084 Pointer to the object's graphics structure.
[0x18] 0x01 Use graphics flag: =0x00 don't display object's graphics, =0x01 do display object's graphics.
[0x19] 0x01 Appears to have no effect on the object; usually equals 0x01 if [0x18]=0x01, sometimes is 0xFF.
[0x1A] 0x0000 ?
[0x1C] 0x00000000 ?
[0x20] 0xC4A6A000 (f/p) Some form of coordinate?
[0x24] 0x4431C000 (f/p) Some form of coordinate?
[0x28] 0x44EB2000 (f/p) Some form of coordinate?
[0x2C] 0x3F800000 (f/p) X size modifier (scaling value).
[0x30] 0x3F800000 (f/p) Y size modifier (scaling value).
[0x34] 0x3F800000 (f/p) Z size modifier (scaling value).
[0x38] 0x00000000 ?
[0x3C] 0x80060030 Pointer to the object's animation structure; if zero, object is not animated.
[0x40] 0x00000000 ?
[0x44] 0x00000000 ?
[0x48] 0x00010000 ?
[0x4C] 0x00000000 ?
[0x50] 0x00000000 ?
[0x54] 0x3F751000 ?
[0x58] 0xC2D2C670 (f/p) Some form of coordinate?
[0x5C] 0xC444B1C0 (f/p) Some form of coordinate?
[0x60] 0x8030FA58 Pointer to object ?
[0x64] 0x8030F598 Pointer to object ?
[0x68] 0x8030F7F8 For objects that follow another (e.g., coin in a Boo) this is a pointer to the object to follow.
[0x6C] 0x00000000 ?
[0x70] 0x00000000 ?
[0x74] 0x01 ?
[0x75] 0x01 Determines if the object is active: 0x00=remove the object (the structure remains), 0x01=continue using this object.
[0x76] 0x0001 ?
[0x78] 0x803194B8 Pointer to object collided with (usually pointer to Mario's object structure even before collision has occurred)?
[0x7C] 0x00000000 ?
[0x80] 0x00000000 ?
[0x84] 0x00000000 ?
[0x88] 0x00000000 ?
[0x8C] 0x0000
[0x8E] 0x0001 How much object reacts to Mario (not used by some behaviours) 0x0001=Do not react to Mario.
0x0009=?
0x0449=Follow Mario.
0x2041=?
0x2049=Respond to Mario.
0x20C9=?
0x2449=Rotate to face Mario.
[0x90] 0x00000000 ?
[0x94] 0x0000 ?
[0x96] 0x0001 ?
[0x98] 0x00000000 ?
[0x9C] 0x00000000 ?
[0xA0] 0x45A54000 (f/p) X position in level.
[0xA4] 0x43C4FD52 (f/p) Y position in level.
[0xA8] 0xC4480000 (f/p) Z position in level.
[0xAC] 0x00000000 ?
[0xB0] 0x00000000 ?
[0xB4] 0x00000000 ?
[0xB8] 0x00000000 ?
[0xBC] 0x00000000 ?
[0xC0] 0x00000000 ?
[0xC4] 0x00000000 X collision rotation?
[0xC8] 0xFFFFBA00 Y collision rotation?
[0xCC] 0x00000000 Z collision rotation?
[0xD0] 0x00000000 X object rotation.
[0xD4] 0xFFFFBA00 Y object rotation.
[0xD8] 0x00000000 Z object rotation.
[0xDC] 0x00000000 ?
[0xF3] 0x00 For ! boxes, controls its colour (does not change what it gives out; use [0x147]):
0x00=red (wing cap).
0x01=green (metal cap).
0x02=blue(vanish cap).
0x03=yellow (other item such as coins).
For ordinary boxes changes the texture of its graphics: 0x00=Shifting Sands box texture.
0x01=Bob-omb Battlefield box texture.
For coins selects texture to use to animate its spinning; ranges from 0x00 to 0x07.
[0xF8] 0x3FC00000 (f/p) For Goombas and Boos, single value to be used for the three size modifies at [0x2C], [0x30] and [0x34]. This allows you to alter an object's size qually along the 3 axis; the game will use this value for the three individual size modifiers.
For Koopa, 0x00000000=run around as if lost his shell.
0x00000001=act like small Koopa (walk around, pause; run away if Mario nears).
0x00000002=behave like Koopa the Quick.
[0xFC] 0x0000009E For Bob-ombs, this is a timer that continually increases while its fuse is lit; when it reaches a set value the Bob-omb explodes.
[0x102] 0x8A90 ?
[0X120] 0X0801DA4C Affects how object is animated?
[0x124] 0x00000001 For small box that you can pick up: 0x00000000=Not moving or being carried
0x00000001=Being carried by Mario
0x00000002=?
0x00000003=?
For Bob-omb: 0x00000000=Not being carried by Mario.
0x00000001=Being carried by Mario.
0x00000002=Thrown.
[0x130] 0x20 0x20=Do electric shock to Mario ([0x183] determines how much damage).
[0x131] 0x80 0x00=Solid object; can be punched, kicked and climbed onto its top.
0x01=Nothing?
0x02=Nothing?
0x04=Nothing?
0x08=Nothing?
0x10=Similiar to 0x40.
0x20=Cause Mario damage upon contact ([0x183] determines how much damage); can't jump on top or bounce off.
0x40=Cause Mario damage upon contact ([0x183] determines how much damage); can jump onto top and bounce off.
0x80=Can be read like a signpost and climbed onto its top.
[0x132] 0x80 0x00=Cannot be broken but can climb onto and stand on its top.
0x02=Can be broken like a box
0x40=Act like a cannon?
0x80=Cause Mario damage upon contact ([0x183] determines how much damage); can jump onto top and bounce off.
[0x133] 0x40 0x00=Solid object.
0x01=Act like quicksand?
0x02=Object can be picked up and carried.
0x04=Act like a door.
0x08=Cause Mario damage upon contact ([0x183] determines how much damage).
0x10=(used for red coin)?
0x20=Nothing (used by wing cap item so you can pick it up)?
0x40=Object can be climbed like a tree.
0x80=Nothing ?
[0x136] 0xA0 0x00=[0x131] or [0x133] specify what should happen when Mario collides with this object.
0xA0=Ignore [0x131] and [0x133]. Sometimes set to 0xA0 by game after collision.
[0x147] 0x32 Message to use for signposts and Bob-omb buddies (0x00 is the first message).
For ! boxes it controls what object is given after the box is broken (has no affect on the colour of the ! box unless a code is active before entering the level):
0x00=Wing cap.
0x01=Metal cap.
0x02=Vanish cap.
0x03=Koopa shell.
0x04=x1 yellow coin.
0x05=x3 yellow coins.
0x06=x10 yellow coins.
0x07=1-up mushroom (moves slowly).
0x08=Level star 1.
0x09=1-up mushroom (moves fast).
0x0A=Level star 2.
0x0B=Level star 3.
0x0C=Level star 4.
0x0D=Level star 5.
0x0E=Level star 6.
0x0F=nothing.
For Bob-ombs: 0x00=Move (patrol).
0x01=Don't move.
0x02=?
For Bob-omb Buddy: 0x03=?
[0x14C] 0x00000001 Current action. For Koopa shell: 0x00000000=Mario is not on Koopa shell (don't follow Mario).
0x00000001=Mario is on Koopa shell (do follow Mario).
For Peach (intro sequence): 0x00000000 ?
0x00000001 ?
0x00000002 ?
0x00000003 Fade away
For Bob-omb: 0x00000000 Patrol
0x00000001 Explode while not moving?
0x00000002 Chase Mario
0x00000003 Explode while moving
For Goomba: 0x00000000 ?
0x00000001 Jump up and land
0x00000002 Fall (from jump)
For a platform lift: 0x00000001=Moving straight upwards.
0x00000002=Turning over.
0x00000003=Moving straight downwards.
0x00000004=Moving horizontally.
For Bowser 0x01=Lay down and try to get up.
0x02=Jump high and then land.
0x03=Swipe attack
0x04=Thrown back and land on shell; defeated.
0x06=Walk forward slowly.
0x07=Run fast and try to trample Mario.
0x08=Breathe fire breath upwards.
0x09=Breathe fireballs quickly.
0x0A=Standing on tiptoes as if about to fall off edge.
0x0B=Turning round.
0x0C=Thrown back.
0x0D=Jump, land and do shockwave.
0x0E=Walk about slowly.
0x0F=Breathe fire breath while standing still.
0x10=Vanish and reappear near Mario.
0x11=Jump high and land causing vibration
For Yoshi: 0x00=Stop walking.
0x01=Walk.
0x02=Talk to Mario.
[0x154] 0x00000033 Timer that increases until it reaches a certain value, resets to 0 and counts up again. Used by objects such as the platform lifts to decide when to change its movement type. For ! boxes it is used to delay the 'return' of the box.
[0x170] 3F800000 ?
[0x174] 40000000 ?
[0x17C] 0x000000FF Level of transparency for object's graphics. Examples of objects that use this variable are Peach, Bowser and the Toads. 0x00000000=completely transparent, 0x000000FF=opaque.
[0x183] 0x01 How many segments of damage to do Mario for objects that cause him harm; if zero enemy objects will push Mario away but not do him any harm.
[0x187] 0x04 For Wiggler: 0x00=Don't move
0x01=Walk very slowly
0x02=Run around very fast and try to trample Mario
0x03=Run around and try to trample Mario
0x04=Walk around
[0x194] 0x447A ?
[0x19B] 0x01 For a Goomba, pond skater or breakable box, number of yellow coins to give out after its defeated.
[0x19C] 0x457A (f/p) Controls what distance from the camera the object appears. Higher values will cause the object to appear further in the distance.
[0x1AC] 0x802FCA68 Pointer to external data used by the object. For Tox box, it points to the values in RAM that control its set path.
[0x1B3] 0x01 For Tox box, index into path data pointed to by [0x1AC], increases by 1 each time.
[0x1B8] 0x0029 For Koopa the Quick, this is the value copied from the RAM pointed to by [0x1C0].
[0x1C0] 0x801A8280 Pointer. For Koopa the Quick points to data in the RAM it uses.
[0x1C4] 0x5063B081 ?
[0x1CC] 0x800E3B50 Pointer to behavoiur script.
[0x1D3] 0x01 ?
[0x1D4] 0x800E3B50 Pointer to behaviour script.
[0x1DB] 0x00 ?
[0x1DC] 0x800E0BC8 Pointer to behaviour script?
[0x1F8] 0x42A00000 For trees, sets start of tree where Mario can grab at before climbing.
[0x1FC] 0x43FA0000 For trees, determines height of tree and thus, when Mario can do a handstand.
[0x20C] 0x800E3B20 Pointer to start of behaviour script (used for initialization?)

James S.

____________________
We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 73/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 06-03-08 11:05:00 PM, in Behaviour Scripts Link
While working on another hack I discovered exactly how Bullet Bill works. It is NOT spawned from the blaster but instead already exists and after it is 'destroyed' it resets its position, hidden by the blaster until it fires itself. As was suggested, the blaster behaviour just sets up its own collision or something like that.

What's strange is that the Bullet Bill behaviour-without even a graphic change-when used outside the castle crashed the game.

____________________
James S.

We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 74/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 06-05-08 10:49:05 PM, in Strange color code Link
The code changes value in Mario's polygon data, near what appear to be RGB lighting of some sort. Since the pictures you provided were taken with a camera it's hard to compare.

____________________
James S.

We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 75/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 06-05-08 11:01:15 PM, in Why a Peach 64 hack is not impossible, but would require a lot of work! Link
I'm having trouble finishing the Peach hack so for now I'll show you what I've done so far which I call version 1.5. Basically I've used the Mario model since it's designed for Mario's animation and swapped body parts over as well as some other changes.

Could someone please tell me why there isn't a rotation geometry layout command as that would really help or can that only be done with the other commands that point to ASM?

The screen caps are on my site:

http://james.boshikoopa.googlepages.com/home

____________________
James S.

We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 76/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 06-06-08 09:27:01 PM, in Strange color code (last edited by yoshiman at 06-08-08 07:22 PM) Link
I've got a capture device, that's how I record my videos from my N64. I've converted the code from NTSC to PAL and here are the screen captures:







Looking at the memory the code alters, it's not what I first assumed it to be.

____________________
James S.

We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 77/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 06-07-08 10:07:50 PM, in Why a Peach 64 hack is not impossible, but would require a lot of work! Link
How did you get Peach and Yoshi's graphics in Bob-omb Battlefield, did you replace them with other graphics? The only way I thought you could do it was to change the level commands that load the graphics.

____________________
James S.

We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 78/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 06-07-08 10:09:49 PM, in Editing the RAM objects Link
Yes, only Project64 seems to like the extended ROM so I use the normal ROM with Nemu for RAM viewing. As for ROM editing the expanded ROM I use a hex editor and after making changes load it into Project64.

____________________
James S.

We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 79/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 06-08-08 09:35:46 PM, in Why a Peach 64 hack is not impossible, but would require a lot of work! Link
That's very helpful as for my Peach hack we'll need her graphics in all levels and VL-TONE's doc seems outdated. Can you please confirm that you swapped someone's graphics/layout with Peach's rather than adding.

____________________
James S.

We English do things a little differently...Anyone for a cup of tea while we hack?!
yoshiman
Member
Level: 23


Posts: 80/95
EXP: 67008
For next: 715

Since: 12-21-07

From: London, England

Since last post: 13.2 years
Last activity: 12.9 years

Posted on 06-10-08 10:00:00 PM, in Strange color code Link
I am not sure exactly what the code alters in the RAM, could it be the actual colour data?

____________________
James S.

We English do things a little differently...Anyone for a cup of tea while we hack?!
Pages: 1 2 3 4 5
Jul - Posts by yoshiman


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

26 database queries, 51 query cache hits.
Query execution time:  0.076259 seconds
Script execution time:  0.029034 seconds
Total render time:  0.105293 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 147 column 135 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 95 - Warning: unescaped & or unknown entity "&page"
line 149 column 128 - Warning: unescaped & or unknown entity "&page"
line 149 column 161 - Warning: unescaped & or unknown entity "&page"
line 149 column 196 - Warning: unescaped & or unknown entity "&page"
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 231 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 190 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 192 column 9 - Warning: missing <tr>
line 210 column 13 - Warning: missing <tr>
line 218 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 220 column 9 - Warning: missing <tr>
line 238 column 13 - Warning: missing <tr>
line 248 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 250 column 9 - Warning: missing <tr>
line 268 column 13 - Warning: missing <tr>
line 276 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 278 column 9 - Warning: missing <tr>
line 296 column 13 - Warning: missing <tr>
line 315 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 317 column 9 - Warning: missing <tr>
line 335 column 13 - Warning: missing <tr>
line 343 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 345 column 9 - Warning: missing <tr>
line 363 column 13 - Warning: missing <tr>
line 373 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 375 column 9 - Warning: missing <tr>
line 393 column 13 - Warning: missing <tr>
line 424 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 426 column 9 - Warning: missing <tr>
line 444 column 13 - Warning: missing <tr>
line 456 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 458 column 9 - Warning: missing <tr>
line 476 column 13 - Warning: missing <tr>
line 490 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 492 column 9 - Warning: missing <tr>
line 510 column 13 - Warning: missing <tr>
line 530 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 532 column 9 - Warning: missing <tr>
line 550 column 13 - Warning: missing <tr>
line 762 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 764 column 9 - Warning: missing <tr>
line 782 column 13 - Warning: missing <tr>
line 792 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 794 column 9 - Warning: missing <tr>
line 812 column 13 - Warning: missing <tr>
line 820 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 822 column 9 - Warning: missing <tr>
line 840 column 13 - Warning: missing <tr>
line 854 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 856 column 9 - Warning: missing <tr>
line 874 column 13 - Warning: missing <tr>
line 890 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 892 column 9 - Warning: missing <tr>
line 910 column 13 - Warning: missing <tr>
line 918 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 920 column 9 - Warning: missing <tr>
line 938 column 13 - Warning: missing <tr>
line 946 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 948 column 9 - Warning: missing <tr>
line 966 column 13 - Warning: missing <tr>
line 974 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 976 column 9 - Warning: missing <tr>
line 994 column 13 - Warning: missing <tr>
line 1002 column 17 - Warning: missing <tr>
line 1002 column 17 - Warning: discarding unexpected <table>
line 1005 column 35 - Warning: missing <tr>
line 1005 column 95 - Warning: unescaped & or unknown entity "&page"
line 1005 column 128 - Warning: unescaped & or unknown entity "&page"
line 1005 column 161 - Warning: unescaped & or unknown entity "&page"
line 1005 column 196 - Warning: unescaped & or unknown entity "&page"
line 1005 column 50 - Warning: missing </font> before </td>
line 1005 column 231 - Warning: missing </font> before </table>
line 1007 column 35 - Warning: missing <tr>
line 1007 column 50 - Warning: missing </font> before </td>
line 1007 column 135 - Warning: missing </font> before </table>
line 1009 column 17 - Warning: discarding unexpected </textarea>
line 1009 column 28 - Warning: discarding unexpected </form>
line 1009 column 35 - Warning: discarding unexpected </embed>
line 1009 column 43 - Warning: discarding unexpected </noembed>
line 1009 column 53 - Warning: discarding unexpected </noscript>
line 1009 column 64 - Warning: discarding unexpected </noembed>
line 1009 column 74 - Warning: discarding unexpected </embed>
line 1009 column 82 - Warning: discarding unexpected </table>
line 1009 column 90 - Warning: discarding unexpected </table>
line 1011 column 9 - Warning: missing </font> before <table>
line 1023 column 25 - Warning: discarding unexpected </font>
line 1032 column 58 - Warning: discarding unexpected </font>
line 1010 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 112 - Warning: <img> lacks "alt" attribute
line 161 column 161 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 195 column 22 - Warning: <img> lacks "alt" attribute
line 195 column 63 - Warning: <img> lacks "alt" attribute
line 195 column 112 - Warning: <img> lacks "alt" attribute
line 195 column 161 - Warning: <img> lacks "alt" attribute
line 206 column 15 - Warning: <img> lacks "alt" attribute
line 223 column 22 - Warning: <img> lacks "alt" attribute
line 223 column 63 - Warning: <img> lacks "alt" attribute
line 223 column 112 - Warning: <img> lacks "alt" attribute
line 223 column 161 - Warning: <img> lacks "alt" attribute
line 234 column 15 - Warning: <img> lacks "alt" attribute
line 253 column 22 - Warning: <img> lacks "alt" attribute
line 253 column 63 - Warning: <img> lacks "alt" attribute
line 253 column 112 - Warning: <img> lacks "alt" attribute
line 253 column 161 - Warning: <img> lacks "alt" attribute
line 264 column 15 - Warning: <img> lacks "alt" attribute
line 281 column 22 - Warning: <img> lacks "alt" attribute
line 281 column 63 - Warning: <img> lacks "alt" attribute
line 281 column 112 - Warning: <img> lacks "alt" attribute
line 281 column 161 - Warning: <img> lacks "alt" attribute
line 292 column 15 - Warning: <img> lacks "alt" attribute
line 320 column 22 - Warning: <img> lacks "alt" attribute
line 320 column 63 - Warning: <img> lacks "alt" attribute
line 320 column 112 - Warning: <img> lacks "alt" attribute
line 320 column 161 - Warning: <img> lacks "alt" attribute
line 331 column 15 - Warning: <img> lacks "alt" attribute
line 348 column 22 - Warning: <img> lacks "alt" attribute
line 348 column 63 - Warning: <img> lacks "alt" attribute
line 348 column 112 - Warning: <img> lacks "alt" attribute
line 348 column 161 - Warning: <img> lacks "alt" attribute
line 359 column 15 - Warning: <img> lacks "alt" attribute
line 378 column 22 - Warning: <img> lacks "alt" attribute
line 378 column 63 - Warning: <img> lacks "alt" attribute
line 378 column 112 - Warning: <img> lacks "alt" attribute
line 378 column 161 - Warning: <img> lacks "alt" attribute
line 389 column 15 - Warning: <img> lacks "alt" attribute
line 429 column 22 - Warning: <img> lacks "alt" attribute
line 429 column 63 - Warning: <img> lacks "alt" attribute
line 429 column 112 - Warning: <img> lacks "alt" attribute
line 429 column 161 - Warning: <img> lacks "alt" attribute
line 440 column 15 - Warning: <img> lacks "alt" attribute
line 461 column 22 - Warning: <img> lacks "alt" attribute
line 461 column 63 - Warning: <img> lacks "alt" attribute
line 461 column 112 - Warning: <img> lacks "alt" attribute
line 461 column 161 - Warning: <img> lacks "alt" attribute
line 472 column 15 - Warning: <img> lacks "alt" attribute
line 495 column 22 - Warning: <img> lacks "alt" attribute
line 495 column 63 - Warning: <img> lacks "alt" attribute
line 495 column 112 - Warning: <img> lacks "alt" attribute
line 495 column 161 - Warning: <img> lacks "alt" attribute
line 506 column 15 - Warning: <img> lacks "alt" attribute
line 535 column 22 - Warning: <img> lacks "alt" attribute
line 535 column 63 - Warning: <img> lacks "alt" attribute
line 535 column 112 - Warning: <img> lacks "alt" attribute
line 535 column 161 - Warning: <img> lacks "alt" attribute
line 546 column 15 - Warning: <img> lacks "alt" attribute
line 767 column 22 - Warning: <img> lacks "alt" attribute
line 767 column 63 - Warning: <img> lacks "alt" attribute
line 767 column 112 - Warning: <img> lacks "alt" attribute
line 767 column 161 - Warning: <img> lacks "alt" attribute
line 778 column 15 - Warning: <img> lacks "alt" attribute
line 797 column 22 - Warning: <img> lacks "alt" attribute
line 797 column 63 - Warning: <img> lacks "alt" attribute
line 797 column 112 - Warning: <img> lacks "alt" attribute
line 797 column 161 - Warning: <img> lacks "alt" attribute
line 808 column 15 - Warning: <img> lacks "alt" attribute
line 825 column 22 - Warning: <img> lacks "alt" attribute
line 825 column 63 - Warning: <img> lacks "alt" attribute
line 825 column 112 - Warning: <img> lacks "alt" attribute
line 825 column 161 - Warning: <img> lacks "alt" attribute
line 836 column 15 - Warning: <img> lacks "alt" attribute
line 859 column 22 - Warning: <img> lacks "alt" attribute
line 859 column 63 - Warning: <img> lacks "alt" attribute
line 859 column 112 - Warning: <img> lacks "alt" attribute
line 859 column 161 - Warning: <img> lacks "alt" attribute
line 870 column 15 - Warning: <img> lacks "alt" attribute
line 879 column 318 - Warning: <img> lacks "alt" attribute
line 881 column 515 - Warning: <img> lacks "alt" attribute
line 883 column 712 - Warning: <img> lacks "alt" attribute
line 895 column 22 - Warning: <img> lacks "alt" attribute
line 895 column 63 - Warning: <img> lacks "alt" attribute
line 895 column 112 - Warning: <img> lacks "alt" attribute
line 895 column 161 - Warning: <img> lacks "alt" attribute
line 906 column 15 - Warning: <img> lacks "alt" attribute
line 923 column 22 - Warning: <img> lacks "alt" attribute
line 923 column 63 - Warning: <img> lacks "alt" attribute
line 923 column 112 - Warning: <img> lacks "alt" attribute
line 923 column 161 - Warning: <img> lacks "alt" attribute
line 934 column 15 - Warning: <img> lacks "alt" attribute
line 951 column 22 - Warning: <img> lacks "alt" attribute
line 951 column 63 - Warning: <img> lacks "alt" attribute
line 951 column 112 - Warning: <img> lacks "alt" attribute
line 951 column 161 - Warning: <img> lacks "alt" attribute
line 962 column 15 - Warning: <img> lacks "alt" attribute
line 979 column 22 - Warning: <img> lacks "alt" attribute
line 979 column 63 - Warning: <img> lacks "alt" attribute
line 979 column 112 - Warning: <img> lacks "alt" attribute
line 979 column 161 - Warning: <img> lacks "alt" attribute
line 990 column 15 - Warning: <img> lacks "alt" attribute
line 1017 column 25 - Warning: <img> lacks "alt" attribute
line 1022 column 267 - Warning: <img> lacks "alt" attribute
line 147 column 135 - Warning: trimming empty <font>
line 149 column 231 - Warning: trimming empty <font>
line 1002 column 17 - Warning: trimming empty <tr>
line 1005 column 231 - Warning: trimming empty <font>
line 1007 column 135 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 211 column 27 - Warning: <nobr> is not approved by W3C
line 239 column 27 - Warning: <nobr> is not approved by W3C
line 269 column 27 - Warning: <nobr> is not approved by W3C
line 297 column 27 - Warning: <nobr> is not approved by W3C
line 336 column 27 - Warning: <nobr> is not approved by W3C
line 364 column 27 - Warning: <nobr> is not approved by W3C
line 394 column 27 - Warning: <nobr> is not approved by W3C
line 445 column 27 - Warning: <nobr> is not approved by W3C
line 477 column 27 - Warning: <nobr> is not approved by W3C
line 511 column 27 - Warning: <nobr> is not approved by W3C
line 551 column 27 - Warning: <nobr> is not approved by W3C
line 783 column 27 - Warning: <nobr> is not approved by W3C
line 813 column 27 - Warning: <nobr> is not approved by W3C
line 841 column 27 - Warning: <nobr> is not approved by W3C
line 875 column 27 - Warning: <nobr> is not approved by W3C
line 911 column 27 - Warning: <nobr> is not approved by W3C
line 939 column 27 - Warning: <nobr> is not approved by W3C
line 967 column 27 - Warning: <nobr> is not approved by W3C
line 995 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 239 warnings and 0 errors!


The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md