PDA

View Full Version : [Tutorial] GOLD: MeanMrMustad's Big Tileset Hack!


The dude
February 23rd, 2008, 10:00 AM
Mean Mr Mustad's Big Tileset Hack!!! Big tileset Hack! The one I use in Diamond!

Hi! This hack gives you up to 256 tiles for a tileset. Enjoy!

How it works:
It moves the previous tileset to VRAM 1 and since it's empty in gold you have all the 256 free
slots for your own tilesets.

How do I use the extra tiles?:
The Unused bytes at the header become the pointer to the second part of the tileset! Use 2 Tilesets!
The normal tileset pointer loads a tileset from tile 90 to FF and the second tileset from 88-7F (Unused 00s in tile header)
In the block data 00-7F are the Bottom Tiles and 80-FF are the top tiles!!!
In Palletes the 80-FF tiles are set as soon as the 00-7F tiles end!


Tileset Drawing Routine: [Loads the Tileset into VRAM 1]

3E 01 ld a,01 ; Set VRAM bank 1
E0 4F ld (FF00+4F),a ;vram bank ;
21 C3 D0 ld hl,D0C3 ; Get Normal Tileset Pointer from Ram
7E ld a,(hl) ;
23 inc hl ;
46 ld b,(hl) ;
6F ld l,a ;
60 ld h,b ;
FA C2 D0 ld a,(D0C2) ; Get Tileset Bank
11 00 90 ld de,9000 ; Load Tileset at 00:9000
CD F0 0A call 0AF0 ; Decompress Tileset
FA CE D0 ld a,(D0CE) ; Check for a Big Tileset
FE 00 cp 00 ;
28 11 jr z,(pc+h11) ; If not the jump to return
21 CD D0 ld hl,D0CD ; Get 2nd Tileset Pointer from Ram
7E ld a,(hl) ;
23 inc hl ;
46 ld b,(hl) ;
6F ld l,a ;
60 ld h,b ;
FA C2 D0 ld a,(D0C2) ; Get Normal Tileset Bank
11 00 88 ld de,8800 ; Load 2nd Tileset at 01:8800
CD F0 0A call 0AF0 ; Decompress 2nd Tileset
3E 00 ld a,00 ; Set VRAM bank 0
E0 4F ld (FF00+4F),a ;vram bank ;
C9 ret ;

Map Pallete Routine: [Sets the Map Palletes to VRAM 1]

C6 08 add a,08 ; Changes pallete from VRAM 0 to VRAM 1 by Adding 8 to the read pallete byte.
12 ld (de),a ; Huh? - The gameboy Colour uses palletes 0-7 for VRAM0 and 8-F for VRAM1
13 inc de ; 0 and 8 , 7 and F are the same palletes.
0D dec c ;
C9 ret ;

Animations Copy Routine: [Copies the Rooftops to VRAM1]

F5 push af ;
3E 01 ld a,01 ; Set VRAM1
E0 4F ld (FF00+4F),a ;vram bank ;
CD 03 04 Call 4003 ; Copy Tiles
AF xor a ; Set VRAM0
E0 4F ld (FF00+4F),a ;vram bank ;
F5 push af
C9 ret ;

Rooftops Copy Routine: [Copies the Rooftops to VRAM1]

F5 push af ;
3E 01 ld a,01 ; Set VRAM1
E0 4F ld (FF00+4F),a ;vram bank ;
CD 1A 31 Call 311A ; Copy Tiles
AF xor a ; Set VRAM0
E0 4F ld (FF00+4F),a ;vram bank ;
F5 push af
C9 ret ;


You can put these codes anywhere in the rom,
Here's where you call them from.

00:2944 (&H2944)

21 xx xx ld hl,(Pointer to Tileset Drawing Routine)
3E zz ld a,(Bank)
CF rst 08
00 nop
00 nop
00 nop
00 nop
00 nop
00 nop
00 nop
00 nop
00 nop

02:4046 and 02:4091 (&H8046 and &H8091)

CD xxxx call (Pointer to Pallete Routine,keep it in bank 02 - maybe at 7ff0!)

00:1635 (&H1635)

CD xxxx call (Pointer to Rooftops Copy Routine - Keep it in bank 3F!! )

07:401D (&H1C01D)

CD xxxx call (Pointer to Animations Copy Routine - Keep it in bank 07!! )


Q&A: questions from msn.

Q: Will my sprites dissapear? I'm looking at your text and there doesn't seem to be a fix
like in Hyperhax0r's.

A: No, They dont! - Why would they???

Q: Does this make the colours go wierd when you open the Pokegear and exit?

A: No, Why would it? I honestly have no Idea how hyper haxor got those bugs... Im stomped...

Q: How many tiles can I use?

A: 256.

Q: I heard you have 500 pokemon in your hack? is this true? and How can i have 500 in my hack?

A: Erm... With a CP command to choose pointers for Names,Pics,Stats,Palletes,Moves,etc. and find a way to set
a bit to choose pokmn sets. 2 sets of FFs... My old FAKE 255 pokemon hack can be found in Pokecommunity!
although you can only catch 255 pkmn - You can have up to 255 extra ones with a special table!

Q: What happend to powmon?

A: hmm... yeah! I'm going to release it again!




2007 Meanmrmustad

cooley
February 26th, 2008, 01:25 PM
The tileset hack, it is for extra tiles right? So how about the R/S/E Tree tile hack for Gold?
Usually, When you make a tree, It has to be skinny and it has two coloums of one tree per tile. In your game, I see that you have 1 tree for the whole tile, Is it a ASM hack?

These tutorials Are very useful, but hard to understand, You should start off easy Like How to make tiles and insert them or something like that, then work your way up to this Big Tileset hack.

BTW, can I copy and paste that into My Rom? Will it work?

IIMarckus
February 26th, 2008, 07:59 PM
Q: Will my sprites dissapear? I'm looking at your text and there doesn't seem to be a fix
like in Hyperhax0r's.

A: No, They dont! - Why would they???

Q: Does this make the colours go wierd when you open the Pokegear and exit?

A: No, Why would it? I honestly have no Idea how hyper haxor got those bugs... Im stomped...Woo, that's a plus. I've never seriously used HyperHacker's hack because of those glitches.

The dude
February 26th, 2008, 09:38 PM
Yeah... I don't know how he got them...

My hack is simple - load 2 tilesets into VRAM 1.
Then When the Game Reads the PalleteTable - Add 8 to it.

There's some useless code in that hack.

Scream.Aim.Fire
March 28th, 2008, 10:06 AM
I don't understand how to do this.
I feel retarded.
Can someone explain this to me?

Coolboyman
July 25th, 2008, 10:03 AM
If you're using this, and you're having crap showing up during battles, here's a simple fix.

hx3F8ED - Change that to DF, and battles will be clean once again.

Melash
July 29th, 2008, 02:39 PM
I...err...don't really get how to do this! ASM stuff, right?

pixeleye
August 27th, 2012, 03:22 AM
Men i think, you can do a patch? For this, coz it covennient? Don't you think? I wanted to try all the tileset extensions. Thanks men.

Cheers.