gheja / gbdk

GameBoy Developer's Kit (GBDK) 2.96a from 2002 tuned so it can be compiled on a modern system (Ubuntu 18.04 LTS and 16.04 LTS).
84 stars 10 forks source link

Work together with GBDK-N? #17

Open clobber opened 7 years ago

clobber commented 7 years ago

You're supporting the old GBDK which is based around a 15+ year old version of the compiler/assembler/linker in an ancient SDCC, full of bugs.

GBDK-N has been updated to work with the latest SDCC suite and is good moving forward to get people off of such an old compiler. Maybe it's a good idea to combine efforts so people, oblivious to an updated library, such as those doing homebrew in the gbdev scene can start using a modern set of tools?

gheja commented 7 years ago

The GBDK-N is indeed a great suite but it has a few issues that are not present in this ancient GBDK version, one for example is the bank switching/banked code support and this is unfortunately a serious one as it limits the final binary to 64 kilobytes.

I am not actively developing this project or back-porting the changes (I don't really have the expertise this project requires), I just merely want to adapt it to modern OS-es and compilers to have the suite working for a bit longer.

PikalaxALT commented 7 years ago

Maintaining the ancient compiler has its own merits, in that disassembly projects such as Keitai Denjuu Telefang would want to evolve into decompilation projects, in which the immediate goal would be to generate C source code that compiles to a matching ROM. In this sense, the correct compiler is key. I have reason to believe, based on comparison of math functions, that Telefang was compiled from some version of gbdk.

ISSOtm commented 6 years ago

The problem of maintaining the ancient compiler is that it's full of bugs, has a very unoptimized lib (I'm thinking especially of the VRAM functions, which are heckin' slow). While it's OK by me for preservation purposes, every C user I know is using this buggy version of GBDK, and having a lot of trouble because of compiler bugs, for example. I agree that GBDK-n lacking banking support is a big bummer (also, it's limiting to 32kB, not 64k), but I think that a disclaimer should be added that this is ancient and shouldn't be used for game development anymore.

(As a side note, is there anyone maintaining the SourceForge page ?)