You are not logged in.
Pages: 1
I just joined this forum after lurking for awhile. Its nice to see a place with people as fond of the first and second gen games as I am.
I'm in the process of going though and studying the GB Programmers Manual, and being a 4th year BSEE student, I have taken a class on assembly programming(MIPS R2000), so its not too bad, but I just need to get a feel for how the GB hardware works exactly and all the instructions available for the CPU.
My goal is ultimately to implement this: http://tinycartridge.com/post/866743831 … kemon-hack. Whoever came up with the idea really thought about it and made it sound believable, since it seems it should be able to be done within the hardware limits of the GB and without completely rewriting the game engine or anything. I am hoping I can do without expanding the ROM size as well, but I haven't touched the code yet so I have no clue.
I was wondering though, if anyone knew what OAM as in OAM-RAM stands for?
"To some people, Pokemon hacks are just games. Others use them for battling/trading. Us? We study the hacks like a profession. But we don't know everything yet. There are still many mysteries left to be solved. That's why we hack Pokemon every day."--Mateo
Offline
Hi there, and welcome.
If you want to give a fast look at GB hardware specs you can look here or here, before diving into the 300-pages-long official manual.
OAM (located in RAM area $FE00-$FE9F) means Object Attribute Memory. Here is where info about sprites that are independent from background are stored; each sprite (that can be either 8x8 or 8x16 pixels) is defined by a 4-byte data-structure, thus you can have at most 40 sprites at the same time (and 10 sprites per line, but that's another story). In GB/C pokemon games, examples of this kind of sprites are OWs and attacks animation.
From Pandocs:
Byte0 Y position on the screen
Byte1 X position on the screen
Byte2 Pattern number 0-255 (Unlike some tile
numbers, sprite pattern numbers are unsigned.
LSB is ignored (treated as 0) in 8x16 mode.)
Byte3 Flags:
Bit7 Priority
If this bit is set to 0, sprite is
displayed on top of background & window.
If this bit is set to 1, then sprite
will be hidden behind colors 1, 2, and 3
of the background & window. (Sprite only
prevails over color 0 of BG & win.)
Bit6 Y flip
Sprite pattern is flipped vertically if
this bit is set to 1.
Bit5 X flip
Sprite pattern is flipped horizontally
if this bit is set to 1.
I've read that link about that creepy game, and it seems an interesting project; anyway I can't convince myself that it actually is anything more than a fiction (it might be that I'm just too much skeptical, who knows?). Good luck with it, I hope you can make a good game out of it.
Offline
I'm in the process of going though and studying the GB Programmers Manual, and being a 4th year BSEE student, I have taken a class on assembly programming(MIPS R2000), so its not too bad, but I just need to get a feel for how the GB hardware works exactly and all the instructions available for the CPU.
Knowing one assembly language is usually enough to learn another. Some differences between MIPS and the Z80 the Game Boy uses:
Not all registers are equal; most instructions only put their results in the accumulator register, a.
The Z80 has its own stack pointer register. You can push to and pop from it with a single instruction, and call and ret manipulate the address there.
Instructions are not fixed‐width.
hey, welcome to the site. noticed you enjoy the story you posted, and yeah it would be great if you created that. it sort of sounds like the lost silver game thats roaming around the internet, and that game creeps the hell out of me, just people thinking of pokemon like that.
I'm working on Sterling Silver: Cry of Celebi, if you have any questions, suggestions, or comments, feel free to email me
Offline
Pages: 1