Hi, it seems there isn't much of a dev community for GB as there is for NES.
Do you know any forum or site about Gameboy development, similiar to this one?
I don't think there are any remaining active sites for GBDev. There are people here though who are into GBDev (I'm one of them, but I don't know that much about it). Perhaps it'd be nice if a GBDev forum was opened up like the SNESDev forum here. If you have any questions regarding it, I'm sure you could for now place them in the "General Discussion" area.
There's decent documentation though. If you google it, you can find some info. If you want GBC info, either google "Pan Docs" or go into the "Gameboy Color Info Wanted" thread. I have a link there that has pretty much the best info around about GBC technical aspects.
http://gameboygenius.8bitcollective.com/gbdev/index.php
It's a forum, alright. Nitro2k will probably answer you, but that place is so deserted I have the last post there from a month ago!
Adding a GB/C forum like the SNES would sounds cool. I mean, since this forum is pretty active.
Yeah, after all, it's still nintendo, it's still retro.
1 vote for the GB sub-forum
I agree, it would make sense for GB/GBC to have a sub-forum here.
tomaitheous wrote:
Adding a GB/C forum like the SNES would sounds cool. I mean, since this forum is pretty active.
I do agree. Let's ask for it then.
Wouldn't Memblers be the right one to ask? I thought he was in charge of that kind of stuff.
I guess we could open up a pole of some sort. Though I don't think many people who go to the thread would vote "no" for opening up a new sub forum for GB dev (and why would you?).
Celius wrote:
Wouldn't Memblers be the right one to ask? I thought he was in charge of that kind of stuff.
I guess we could open up a pole of some sort. Though I don't think many people who go to the thread would vote "no" for opening up a new sub forum for GB dev (and why would you?).
Just sent a PM to Memblers. I don't think we need to vote for this. Either we make a new forum or not. Instead of posting in the general forum people will post in that one. And nobody is forcing anybody to post there so I don't see any issue. Can't wait to see the posts there since I like that platform too.
Yeah there is that other GBdev forum that seems.... half active. There *is* people arround to answer, but not that many. If anyone of use wants serious GBdev we could just as well goes there and since the guys that are already over here will figure out that there is people coming they will check the forum more often and that'll be a good thing.
I'm interested in GBdev too, but the surface-mounted technology used inside cartridges was a bit discouraging to me. I don't know how you're supposed to remove the mask ROMs on it and replace them by your own
Banshaku wrote:
Can't wait to see the posts there since I like that platform too.
Me too! (I did lots of testing and wrote a reference for, what else, its
sound hardware)
There seems to not be any objections, I would open a poll but I agree that it does seem pointless.
I still have my original Gameboy (and Super GB), but I always liked the NES more. And it seems like when I was working on this site, there were a lot more Gameboy development sites than NES. What happened, everyone move on to GBA?
Quote:
I'm interested in GBdev too, but the surface-mounted technology used inside cartridges was a bit discouraging to me. I don't know how you're supposed to remove the mask ROMs on it and replace them by your own
There are some shortcuts, one that comes to mind is a product called Chip Quik, an alloy that melts at a lower temperature and stays molten long enough to pull off the chip. It cleans up with solder wick/braid.
Memblers wrote:
And it seems like when I was working on this site, there were a lot more Gameboy development sites than NES. What happened, everyone move on to GBA?
As far as I can tell, the GBA scene overwhelmed all. Bung collapsed, stopped selling GBC flash equipment, and appeared to have reformed into Visoly, the company behind the first commercially successful GBA flash card.
The GBA's processor is well-suited to the C language and ROM space is expansive, so reusable libraries are very practical. This allows abstraction from the hardware, making the learning curve shallower. There is still plenty of room for assembly optimizations, and the processor's architecture is elegant like the 6502, so you don't lose the low-level tinkering ability.
I actually find Gameboy more nostalgic than the NES. I have a good collection of GB games, and I think I have about half of what I used to (somehow, I lost a whole bunch of games, and I didn't sell them or throw them away). But I used to play that as my brothers owned all the consoles and I had to get their permission to play them, but I owned my Gameboy so I always played that. I'm actually going through Donkey Kong Land at the moment, as an irrelevant/sort of relevant side note.
So I hope to see a discussion section opened up. Then I think the discussions in this area should be moved over there, and maybe the one about where to get GB/GBC info should be stickied.
Oh it would be great to have a GB/GBC section here, altough there is already that other board that is not very active. People over there would probably love seeing other people come up, since they were left by all the guys who moved to GBA.
Altough I personally prefer the NES and SuperNES by a small amount probably because I have much more game (that doesn't mean I don't like the GB/C), here in my country everyone else seems to have Gameboys, even non-games, while only most verterans gamers knowns about the NES and SNES. So if I ever do GB/GBC dev I may get more popular than by doing (S)NES dev.
And honneslty I consider the GB, GBC and GBA to be completely separate consoles (despite their backwards compatibility). Because the GBA is out and is a great piece of hardware doesn't mean that GB dev is not interesting any longer I guess.
Also, screens from the older Gameboys looks really like pure craps, with terrible motion, forcing you to scroll terribly slowly if you want any chance to figure what is happening. Thanks god the backwards compatibility of GBC/GBAs and the Super Gameboy mean you can play them with a decent screen.
Oh and by the way, I don't know how many people agree, but as I find playing NES and SNES games emulated on a PC is about as fun as playing the original (if the emulation works correctly), playing emulated GB/GBC/GBA games emulated is just a pain and is not fun at all. The real hardware is really needed to have any fun. Altough Lameboy for the NDS is the only way I can have really fun playing emulated Gameboy games, because it really feels authentic.
EDIT : Oh and I just noticed that not only the homebrew scenes, but also the commerical developpers dropped the old GBC in favor of the GBA incredibly quickly, despite the popularity of the GBC. Released on the end of 1998, the GBA was released in 2001, and the latter developped GBC games are end of 2001, after that nobody cared abotu the GBC any longer, giving it a very short lifespan of about 3 years. It's amazing a console with such a short lifespan has become this popular, while the NES who had about 8 years of lifespan is less popular.
And I guess it took much longer to commerical developpers to forget about the GBA in order to move on the DS (about 3 years), and even longer to forget the PS2 in order to move to the PS3 (considering crap sales of the latter it's not surprising).
Bregalad wrote:
It's amazing a console with such a short lifespan has become this popular, while the NES who had about 8 years of lifespan is less popular.
No, believe me, in terms of worldwide cultural capital, the NES is
far more popular than the GBC.
Maybe in some contries, but here in Switzerland, I'm pretty sure the GBC is far popular than the NES (at least the GB is *much* more popluar, maybe the GBC a bit less).
This doesn't include the fact that all modern Nintendo and Sony consoles are all indirectly derivates of the NES.
You are right about the screens. They blur like mad and it's a real pain when games are face paced like Contra. It's very hard to see what is going on and react. But thanks to the GBA SP, they can be played now with a backlight too.
I disagree with emulated GB and GBC games on the PC. They are still fun to me to play. Even if they were meant to be portable games.
I really should get around to properly documenting all my findings on the GBC (and eventually the DMG when I've done more testing). Unfortunately I'm up to my neck in stuff that needs to be done, so for now there's only emulator source code and cryptic test ROMs. Of course, some of it comes down to priorities, there are just too many things I want to do, and I'm a pretty selfish person at that.
I always felt it was the perfect console to learn on (the GB more than the GBC) and still do. The hardware is very simple and easy to understand (especially the video interfacing), the no$cash debugger is pretty adequate, and the cpu is fairly popular and easy to understand. Though I already had experience with 386/486 assembly, the GB was my first console coding experience. It couldn't have been a better choice.
Ccovell: Hey, I keep just missing you over at utopiasoft. Wait... that sounds a bit weird <_<;
I'd love to have an active game boy dev forum. I would have liked to make a game boy game more than a NES game since I like game boy a tad more than NES, but I personally found NES much easier to work with since this active and searchable forum/wiki is around.
Yay! Thank you SO much Memblers, this'll be great for future purposes. Though you should name it "GameboyDev", though it's still understandable.
Also, I think it should be clear that it's for both GB and GBC. Again, thanks a lot
!
Thanks for creating the forum. Hope that it will be very active.
YAHOOOO ! Long live the GB dev !
Woohoo
I think it's great that there are GBDev and SNESDev forums here, because I think the NES is kind of the "latin" for these systems. Since the systems are both branches of the NES, many people here have interests in the systems so lots of people here will have knowledge of them and can answer questions that other people might have.
So I think SNESDev and GBDev have a better chance of survival as sub forums here than they do as separate communities. If GBDev had a separate community, it probably wouldn't be very active, and then when people see that no one's posting anything, they stop checking, thus making the community REALLY dead. However, here, there's always activity, so it's more likely that if you have a question, someone with knowledge will scan through the forums, find it, and answer it, because like I said, a separate community might be dead because no one's checking it.
I agree with you Celius. It really makes sense for GB to have a section like SNES does as they are related to the NES and popular in the same way. It should hopefully encourage more GB related activity too.
Wow the thread I started ended up creating a forum! I feel somewhat important.
No, not really.
But as soon as I finish my NES library I'll submerge in the GBdev world!
Petruza wrote:
Wow the thread I started ended up creating a forum! I feel somewhat important.
No, not really.
But as soon as I finish my NES library I'll submerge in the GBdev world!
Celius wrote:
(From second post in thread)...Perhaps it'd be nice if a GBDev forum was opened up like the SNESDev forum here.
Oh, I think that was all my doing
Someday I'll move onto GBDev. I just can't dive into it right now, because I have too much going on. I'll port some of the NES games I make to GB/GBC when I finish them.
It could be great if we could have a tool that would convert 6502 code to GB-Z80 codes automatically
Of couse a lot of fixes would have to be done and all I/O routines would have to be fully rewritten (along with any routine where speed matters). But it could still save some work.
I don't know, I don't think I'd like to convert 6502 code automatically. Pretty much any straight conversion proves to make slow code, and I really want to be sure of every single instruction that I execute. Otherwise I feel cheap. And besides, I kind of like how working with the Z80 feels.
Celius wrote:
Oh, I think that was all my doing
Damn. Ok I'll recognize 50% responsibility to you. Not more.
Celius wrote:
I'll port some of the NES games I make to GB/GBC when I finish them.
Which are? It would be great to have like a main list with each forum member and his games, available for download or in video demos, so everybody can appreciate the work of the others.
Celius wrote:
I don't know, I don't think I'd like to convert 6502 code automatically. Pretty much any straight conversion proves to make slow code
Because the GB-Z80 has many more registers. 6502 code will tend to push things on the stack or make use of zero-page, while GB-Z80 code will keep things in other registers. A translator will have a hard time doing this, since it can have a hard time knowing whether a zero-page value is just used as a temporary, or later read by the calling routine.
Quote:
And besides, I kind of like how working with the Z80 feels.
Like working with the x86, unpleasant? You get more operations, but there are more obscure limitations, timing differences, and opcoding encoding inconsistencies. On the other hand, the GB-Z80 has lots more things directly supported:
- Register-to-register operations, like A=A AND B
- 16-bit arithmetic, like HL=HL+BC, DE=DE-1
- 16-bit memory indexing using a register pair, and auto-increment/decrementing
- Easy stack-local variables by being able to add signed 8-bit immediate to stack pointer, and load HL with stack pointer + signed 8-bit immediate
- Push/pop any register pair
- Set/reset bit in register/memory byte
- Conditional call and return
Petruza wrote:
Celius wrote:
Oh, I think that was all my doing
Damn. Ok I'll recognize 50% responsibility to you. Not more.
Are you sure? Not even 75%? Haha, just kidding.
Petruza wrote:
Which are? It would be great to have like a main list with each forum member and his games, available for download or in video demos, so everybody can appreciate the work of the others.
I was going to update my site to have information about the games I'm working on. These are far from completion, and I'm more focusing on one in particular, which is a Castlevania spoof. My site doesn't have the information about it right now, because I'm in the middle of rearranging it. I'll try and get it up soon. I'll let you know when it's all updated.
blargg wrote:
Like working with the x86, unpleasant?
What do you mean by that? I've never worked with x86. The only assembly languages I've worked with are 6502, 65816, and GB-Z80. Oh, and when I said Z80 before I meant GB-Z80.
I like how in GB-Z80 you kind of load-and-store in one line. But I suppose they are really more of statements like TAX or TAY when you say something like:
ld a,h
It was really easy to dive right into with this intuitive format.
What makes me really complaining about the GB-Z80 is that there is no indexed adressing *at all* and I use it all the time on the 6502 so I'd have a really hard time to port code.
The only way to acess an array is to use indirect adressing and you have only *one* indirect pointer to do that woks. So if you want to do such a smple thing as copy an array to another in reverse order, while it's very easy on the 6502, it would end up a headache on the GB-Z80.
Maybe I'm missing something, but doesn't this do what you describe?
Code:
; Copy 3 bytes from foo to bar, in reverse order
ld b,3
ld de,foo+3
ld hl,bar
- dec de
ld a,(de)
ld (hl+),a
dec b
jr nz,-
Are you commenting on indexed addressing like the 6502's LDA table,X? The GB-Z80 equivalent is to either align the table to a 256-byte boundary and set the low byte to X,
Code:
.align 256 ; or whatever hell wla-dx uses
table:
; ...
; l is set to index already
ld h,table>>8
ld a,(hl)
or add X to the address.
Code:
; l is set to index already
ld h,0
ld bc,table
add hl,bc
ld a,(hl)
Quote:
The only way to acess an array is to use indirect adressing and you have only *one* indirect pointer to do that woks. So if you want to do such a smple thing as copy an array to another in reverse order, while it's very easy on the 6502, it would end up a headache on the GB-Z80.
There's:
ld a,(BC)
ldi (HL),a
inc BC
Edit: Blargg beat me to it.
Oh I didn't note the (BC) instruction. Well you are right guys it sounds like less an headache I originally tought. Still not as cool as the indexed, but workable. I would probably spend most of the time in my programm to load, store and add stuff to BC and HL.
LD A,(n16) //n16= (16-bit addr)
LD A,(r16) //r16= (BC),(DE),(HL)
LD (n16),A //n16= (16-bit addr)
LD (r16),A //r16= (BC),(DE),(HL)
Only LDI and LDD are restricted to HL.
The GBC cribsheet is your friend