Starting Coding again (AtariOwl)
- BlueCrab
- The Crabby Overlord
- Posts: 5666
- https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
- Joined: Mon May 27, 2002 11:31 am
- Location: Sailing the Skies of Arcadia
- Has thanked: 9 times
- Been thanked: 69 times
- Contact:
Re: Starting Coding again (AtariOwl)
Like I said, you might want to start with some KOS examples, rather than ones that were designed to be used without KOS. You'd probably find it easier to look at those and backport whatever functionality you need rather than trying to bolt KOS onto something it wasn't designed to be used with.
- AtariOwl
- DCEmu Freak
- Posts: 96
- Joined: Fri May 23, 2008 5:57 am
- Has thanked: 0
- Been thanked: 2 times
Re: Starting Coding again (AtariOwl)
Yeah
My KOS installation was wrong, its working now.
That's the problem when you don't know what you're expecting
Having said that... how worthwhile is KOS?
The elf files are about 900k, even the bins are 200k+ whereas that non KOS example was 54k
That seems like a pretty big overhead... how useful IS KOS really?
My KOS installation was wrong, its working now.
That's the problem when you don't know what you're expecting
Having said that... how worthwhile is KOS?
The elf files are about 900k, even the bins are 200k+ whereas that non KOS example was 54k
That seems like a pretty big overhead... how useful IS KOS really?
- BlueCrab
- The Crabby Overlord
- Posts: 5666
- Joined: Mon May 27, 2002 11:31 am
- Location: Sailing the Skies of Arcadia
- Has thanked: 9 times
- Been thanked: 69 times
- Contact:
Re: Starting Coding again (AtariOwl)
ELF files contain debugging symbols (which makes up most of their large size), so they're not a point to compare against to start with.
As for how useful it is, what do you think all that 150K extra is? Padding?
KOS pretty much supports every piece of hardware the Dreamcast has to offer, hence why it tends to make your binary larger. KOS also supports a full C library (through newlib) and a complete libm (also through newlib), neither of which were linked against your 54k example from before, most likely. KOS also has things like a network stack, not to mention many libraries ported to it to make your life easier.
It's not particularly difficult to strip out the pieces you don't need, but at the same time I doubt that 150K is going to make much of a difference in the grand scheme of things.
Basically, unless you want to reinvent the wheel, you're going to need to use some library for accessing the hardware in a sane manner. You basically have three choices: KOS (which is pretty much the dominant library), libdream (from which KOS was originally spawned), and libronin (used by a few homebrew programs, most notably DreamSNES and ScummVM). The latter two of these will produce smaller binaries for basic things, but you'll be pretty much on your own for figuring out how to use them. Not to mention that if you're looking for other useful libraries to use with them, you'll be stuck porting them yourself.
![Wink :wink:](./images/smilies/icon_e_wink.gif)
As for how useful it is, what do you think all that 150K extra is? Padding?
![Laughing :lol:](./images/smilies/icon_lol.gif)
KOS pretty much supports every piece of hardware the Dreamcast has to offer, hence why it tends to make your binary larger. KOS also supports a full C library (through newlib) and a complete libm (also through newlib), neither of which were linked against your 54k example from before, most likely. KOS also has things like a network stack, not to mention many libraries ported to it to make your life easier.
![Smile :)](./images/smilies/icon_e_smile.gif)
It's not particularly difficult to strip out the pieces you don't need, but at the same time I doubt that 150K is going to make much of a difference in the grand scheme of things.
![Wink :wink:](./images/smilies/icon_e_wink.gif)
Basically, unless you want to reinvent the wheel, you're going to need to use some library for accessing the hardware in a sane manner. You basically have three choices: KOS (which is pretty much the dominant library), libdream (from which KOS was originally spawned), and libronin (used by a few homebrew programs, most notably DreamSNES and ScummVM). The latter two of these will produce smaller binaries for basic things, but you'll be pretty much on your own for figuring out how to use them. Not to mention that if you're looking for other useful libraries to use with them, you'll be stuck porting them yourself.
- AtariOwl
- DCEmu Freak
- Posts: 96
- Joined: Fri May 23, 2008 5:57 am
- Has thanked: 0
- Been thanked: 2 times
Re: Starting Coding again (AtariOwl)
It may seem odd, but remember where i'm coming from.
On the Jaguar, those were the facts of life.Everything was done from scratch, no OS at all, essentially no libraries. Coded in ASM.
And every byte had to be fought for.
On the Jaguar, those were the facts of life.Everything was done from scratch, no OS at all, essentially no libraries. Coded in ASM.
And every byte had to be fought for.
- RyoDC
- Mental DCEmu
- Posts: 366
- Joined: Wed Mar 30, 2011 12:13 pm
- Has thanked: 2 times
- Been thanked: 0
Re: Starting Coding again (AtariOwl)
I think that on Dreamcast situation didn't changed drastically. You have a 16 Mbytes of memory, were you need to fight for every kilobyte - that's it, the more memory you have, the more larger worlds you can load and display.AtariOwl wrote:It may seem odd, but remember where i'm coming from.
On the Jaguar, those were the facts of life.Everything was done from scratch, no OS at all, essentially no libraries. Coded in ASM.
And every byte had to be fought for.
You will never understood and share Russian mentality.BlueCrab wrote:If I want people to respect the copyrights/licenses on the software I write, then I should probably respect the copyrights and licenses of the other software I use.
Btw, Crab, is there's any way to not to link the unneeded libraries, for instance, if I don't need a math lib or tcp\ip part of a KOS?
How do I try to build a Dreamcast toolchain:
![Image](http://www.millsworks.net/blog/wp-content/uploads/2009/04/writing_process.gif)
![Image](http://www.millsworks.net/blog/wp-content/uploads/2009/04/writing_process.gif)
- BlueCrab
- The Crabby Overlord
- Posts: 5666
- Joined: Mon May 27, 2002 11:31 am
- Location: Sailing the Skies of Arcadia
- Has thanked: 9 times
- Been thanked: 69 times
- Contact:
Re: Starting Coding again (AtariOwl)
If that mentality is that it is perfectly fine to steal from corporations simply because they are corporations, then no, I won't. Just like I don't find it proper to pirate games that aren't on the market anymore, and why I don't accommodate those that do find it proper to do so in my programs. As I said before, if I want others to respect my ownership of my intellectual property, then I feel I should respect that of others.RyoDC wrote:You will never understood and share Russian mentality.
![Wink :wink:](./images/smilies/icon_e_wink.gif)
Well, if you don't want libm, don't link against it. As for the parts of KOS' kernel, you can cut them out from the compilation and remove any references to those portions to do so. It shouldn't be all that hard to do, although I don't have specific directions on how to remove any individual piece.Btw, Crab, is there's any way to not to link the unneeded libraries, for instance, if I don't need a math lib or tcp\ip part of a KOS?
I respectfully disagree. I really doubt you'll find much in the way of homebrew that will ever push that limit for worlds or anything else of that sort. Sadly, I don't see the homebrew community moving in that general direction this long after the console's death.RyoDC wrote:I think that on Dreamcast situation didn't changed drastically. You have a 16 Mbytes of memory, were you need to fight for every kilobyte - that's it, the more memory you have, the more larger worlds you can load and display.
That said, if someone is fighting for every single KB they can get, then that person is better off writing everything from scratch to start with. It's entirely possible to write very small pieces of code that do a lot of interesting things if you set your mind to it. Take my PSO patcher, for instance. The actual resident patching code is less than 768 bytes in total length (actually, I think in v2.0, I got it down to less than 512 bytes). Obviously that piece of the code doesn't use KOS (and in all actuality, v2.0 of the patcher doesn't use KOS proper at all, as mentioned before -- only a few small pieces of it which I separated out from the rest of the code).
- AtariOwl
- DCEmu Freak
- Posts: 96
- Joined: Fri May 23, 2008 5:57 am
- Has thanked: 0
- Been thanked: 2 times
Re: Starting Coding again (AtariOwl)
Well, back from racing and looking at things again.
I got that issue sorted out, basically as soon as i found out about hvcounter.
Very useful to have the Video Registers to hand.
This is not so bad.
Its very difficult to tell if its perspective correct.
Theres some warping visible, but i'm not sure if that's an uncorrected perspective transform
I'll have a bit more of a leisurely play and see how i feel.
Cheers
I got that issue sorted out, basically as soon as i found out about hvcounter.
Very useful to have the Video Registers to hand.
This is not so bad.
Its very difficult to tell if its perspective correct.
Theres some warping visible, but i'm not sure if that's an uncorrected perspective transform
I'll have a bit more of a leisurely play and see how i feel.
Cheers