Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2013-04-26 15:42:47

RED
Member
From: Japan
Registered: 2012-09-03
Post 308/517

Hicolor

Have you ever heard about hicolor for gbc?
If no, this is a feature of gbc that can load morethan 2000 colors, yeah you readed it right 2000 colors in one picture.

So i want to know how to make one of it, i mean to import it on rom. I already have some tools to convert bmp files to Tga to til.
And i already have the asm for boosting the speed and asm for loading 2 palletes for each color. But i don't know how to insert the converted file to the rom. It is written on .db. I believe that there is a tool for inserting a file like this but i cant find anything. Anyone can help me?

And also if you guys want to have the source code, i can post it here.


わたし の なまえ わ レン レン  でづ

Offline

#2 2013-04-26 15:58:11

AtecainCorp.
Member
Registered: 2013-04-14
Post 32/627

Re: Hicolor

http://gbdev.icequake.net/ - Look Here... I've seen a link for HI COLOUR GBC project... I do not test it... But it looks promising. I can give normal Pokemon RSE tileset without any problems.


http://hax.iimarck.us/topic/3435/ - Pokemon Ruby GEN V GRAPHIC hack Thread
http://hax.iimarck.us/topic/3476/ - Unused Music Midi Thread
http://hax.iimarck.us/topic/3579/ - Some info about region Thonsu

Offline

#3 2013-04-26 16:07:50

RED
Member
From: Japan
Registered: 2012-09-03
Post 309/517

Re: Hicolor

That's the site where do i get my soure. But i don't know h0w to import it.


わたし の なまえ わ レン レン  でづ

Offline

#4 2013-04-26 20:35:30

YORAMRW
Member
From: The Netherlands
Registered: 2013-03-29
Post 129/1,194
Website

Re: Hicolor

Maybe, GIC [Game Boy Image Converter] is useful for you. It doesn't use High-Color, but it gives every 8x8 tile a 4-color palette, and the maximum is 16 palettes. (64 colors). RGBASM can convert the Z80 file of your image to Game Boy Hex data by simply make a .BAT file with this text: ''rgbasm FILENAME.z80 -o FILENAME.bin

pause''.
Maybe, it's useful for you, because if you know much about repointing, you can load color images in the game.


Hacks Gameboy 8-bit music in Pokémon Gen I & II, composes 8-bit music in FamiTracker

Offline

#5 2013-04-27 05:25:03

comet
Member
Registered: 2012-04-09
Post 224/679

Re: Hicolor

as you know, the game boy draws to the screen using 8x8 tile units instead of a 1:1 pixel buffer. palettes are mapped to tiles, so each cover an 8x8 area.

but how do the tiles get drawn to the screen? first off, to update the lcd without damaging it, it has to be turned off momentarily, so drawing needs to be as fast as possible. drawing tile by tile is inefficient and by convention displays render in scanlines.

instead of drawing just one tile in each pass on the scanline, one line of all the tiles on that row are drawn. this means tiles are really drawn line by line, instead of just the whole thing. the game boy has predictable timing with screen updates, so this is exploitable.

what it really means is palettes apply to just one line of a tile at any given time. we can intercept the hardware drawing functions between each line with palette changes. this lets us use 8 palettes per line. the game boy screen is 160x144, so there are 144 scanlines we can mess with (there are actually 160. lines 144-159 are dummy lines that make time for vblank).

this way we can use 8 different bg palettes per line, up to 2304 colors total.

icequake's example is a little misleading. hicolor isn't really a mode, just an exploitable quirk. the method is proprietary, including his c compiler. you can do it any way you like.

telefangcutscene3.png

the caveat is that hicolor images are quite large if you aren't careful. an unoptimized image can take up:

  • 0x2400 bytes for palettes

  • 0x1000 bytes for the tile map

nearly a whole bank for just one image! remember that you can only use 256 unique tiles at once. also, you don't have to worry about using all 2304 colors. even used sparingly it can make a big difference.

with some work images can be compressed enough to produce fmv: Cannon Fodder intro

Offline

#6 2013-04-27 08:56:19

YORAMRW
Member
From: The Netherlands
Registered: 2013-03-29
Post 130/1,194
Website

Re: Hicolor

@Comet
Yes, Cannon Fodder [GBC]. I have that game on my PC. One day, we are able to make intros for our Pokémon hacks with pre-rendered images like that.
@RED
For your Pokémon Emerald devamp, you should make a choice between two styles (like your mini hack), OLD STYLE (the existing appearance), and NEW STYLE (making use of High-Color, which gives 16-color palettes to the tilesets, like the real Pokémon Emerald).

Last edited by YORAMRW (2013-04-27 09:35:02)


Hacks Gameboy 8-bit music in Pokémon Gen I & II, composes 8-bit music in FamiTracker

Offline

#7 2013-04-27 10:59:15

RED
Member
From: Japan
Registered: 2012-09-03
Post 321/517

Re: Hicolor

Hey guess what?
I already  figured it, (but it still need to fix little thing to make it good). And i noticed on the code that, the pointe will be written on the ram . (rom)

i can't show any picture for now but maybe tommorow i will.


わたし の なまえ わ レン レン  でづ

Offline

#8 2013-04-27 14:15:48

FroggestSpirit
Member
Registered: 2012-03-12
Post 168/299
Website

Re: Hicolor

I wanted to do this in pokemon crystal, for the battles, but with all the complications (mainly attack animations, screen shifting (the fact that parts of pokemons sprites will be turned into... well, sprites, and color inversion)) all kind of turned me away from it. Turn off animations, and that's probably a lot easier to work with. Seen as how you can squeeze an extra 6MB or more out of a clean crystal rom, maybe you could do it, but it would require rewriting a lot of ASM i'm sure...


This isn't easy to say, but…
Music and ASM hacker

Offline

#9 2013-04-27 14:27:58

RED
Member
From: Japan
Registered: 2012-09-03
Post 322/517

Re: Hicolor

Yeah it will surely required many asm routines to be changed and added. So it may be hard to implement it.


わたし の なまえ わ レン レン  でづ

Offline

Board footer

Powered by FluxBB