My contribution to the KallistiOS project

If you have any questions on programming, this is the place to ask them, whether you're a newbie or an experienced programmer. Discussion on programming in general is also welcome. We will help you with programming homework, but we will not do your work for you! Any porting requests must be made in Developmental Ideas.
Post Reply
User avatar
SiZiOUS
DC Developer
DC Developer
Posts: 404
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Fri Mar 05, 2004 2:22 pm
Location: France
Has thanked: 27 times
Been thanked: 19 times
Contact:

My contribution to the KallistiOS project

Post by SiZiOUS »

Hello there,

Finally, I did a pull request on GitHub to the KallistiOS project, after 10 days of intensive work.

Changes are:
  • Improvement of the compatibility on environments for the dc-chain script. I was mainly focused on MinGW/MSYS but finally I did a lot of test on various environments, and I wrote all the documentation related for that. Tested environments are:
    • BSD
    • Cygwin
    • GNU/Linux
    • macOS
    • MinGW/MSYS
    • MinGW-w64/MSYS2
  • Ajustements on the examples directory, mainly on the conio/adventure sample, allowing its compilation on all environments.
  • Creation of documentation, mainly for dc-chain.
  • Various fixes and conditional instructions allowing compilation on all environments listed above.
The result of my work is, if you are using any of the environment list above, you should be able to create a complete toolchain and compile all KallistiOS related libraries/binaries really easily. Basically you just have to enter make and it should compile everything without any effort.

I also improved a lot the build system on dcload-serial and dcload-ip projects, available in separate repositories. These projects aren't on GitHub, so I've cloned them from the official SourceForge repository. I think it should be great if these components may be installed on the official GitHub repository. These components, dcload-serial and dcload-ip will compile fine on all the environment listed above without any effort as well.

I hope my work will be accepted, feel free to discuss on it there. :grin:

Cheers,
Mike
User avatar
lerabot
Insane DCEmu
Insane DCEmu
Posts: 134
Joined: Sun Nov 01, 2015 8:25 pm
Has thanked: 2 times
Been thanked: 19 times

Re: My contribution to the KallistiOS project

Post by lerabot »

Wow! Merci beacoup!
KingCrazy
DCEmu Crazy Poster
DCEmu Crazy Poster
Posts: 33
Joined: Sat Aug 04, 2018 11:36 am
Has thanked: 2 times
Been thanked: 7 times

Re: My contribution to the KallistiOS project

Post by KingCrazy »

Those improvements to the build system for dcload are very welcomed! I spent hours trying to build it on 3 different environments only to give up and find a pre-built one somewhere. @~@;
User avatar
BlueCrab
The Crabby Overlord
The Crabby Overlord
Posts: 5652
Joined: Mon May 27, 2002 11:31 am
Location: Sailing the Skies of Arcadia
Has thanked: 9 times
Been thanked: 69 times
Contact:

Re: My contribution to the KallistiOS project

Post by BlueCrab »

Contributions are always good, but it's going to take me a long time to review such a large contribution (especially since there are already merge conflicts). I know it's probably not easily doable based on how everything's interleaved in the pull request, but any chance you'd consider breaking it into smaller logical parts (so, for instance, any dc-chain fixes for msys as one pull request, fixes for BSD as another, etc) and rebase it against the current git master branch? Otherwise, I'll pick and choose things as I have time to merge them.

Also, the GitHub repos for KOS and other related things are only mirrors -- the main repos for everything in the project are the ones hosted at SourceForge. That's why not everything is on GitHub.
User avatar
SiZiOUS
DC Developer
DC Developer
Posts: 404
Joined: Fri Mar 05, 2004 2:22 pm
Location: France
Has thanked: 27 times
Been thanked: 19 times
Contact:

Re: My contribution to the KallistiOS project

Post by SiZiOUS »

First of all, thank you for your interest about my work. :wink:
BlueCrab wrote: Mon Oct 22, 2018 11:55 amany chance you'd consider breaking it into smaller logical parts
I understand your point of view and I'll do my best to make smaller pull request instead of a huge one.
BlueCrab wrote: Mon Oct 22, 2018 11:55 amAlso, the GitHub repos for KOS and other related things are only mirrors -- the main repos for everything in the project are the ones hosted at SourceForge. That's why not everything is on GitHub.
I didn't know that. I was thinking that everything was sync. If you don't mind, it would be great if at least dcload-ip and dcload-serial were be on GitHub too as in my opinion, these components are important, even if they are optional. By the way I did a lot of work on them too :wink:
User avatar
SiZiOUS
DC Developer
DC Developer
Posts: 404
Joined: Fri Mar 05, 2004 2:22 pm
Location: France
Has thanked: 27 times
Been thanked: 19 times
Contact:

Re: My contribution to the KallistiOS project

Post by SiZiOUS »

SiZiOUS wrote: Tue Oct 23, 2018 2:31 am If you don't mind, it would be great if at least dcload-ip and dcload-serial were be on GitHub too as in my opinion, these components are important, even if they are optional. By the way I did a lot of work on them too :wink:
For your information, I finally fixed a little bug in the arguments options parser in dcload-serial. Feel free to take this part only :grin:
User avatar
Neoblast
DC Developer
DC Developer
Posts: 314
Joined: Sat Dec 01, 2007 8:51 am
Has thanked: 3 times
Been thanked: 1 time

Re: My contribution to the KallistiOS project

Post by Neoblast »

Hello. That is some nice work indeed.
Thank you man!
User avatar
SiZiOUS
DC Developer
DC Developer
Posts: 404
Joined: Fri Mar 05, 2004 2:22 pm
Location: France
Has thanked: 27 times
Been thanked: 19 times
Contact:

Re: My contribution to the KallistiOS project

Post by SiZiOUS »

Thank you for your message.
I fixed again dcload-serial, this time it's a critical bug, as the -g (GNU Debugger) was not working on MinGW/MSYS (dcload-ip was perfectly working on the other side).

Edit: I fixed another annoying bug. When the debugged program reaches its end, the GDB connection is now properly closed, avoiding GDB client to crash.
Post Reply