-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extract kernel32.slb? #2
Comments
Dunno whether that's worth it. I think it was rather more a proof-of-concept rather than a useful library. Not even gemma now actually needs it. |
I feel the same, it's perhaps waste of time and resources. Btw Thorsten I had the feeling that you have reimplemented kernel32.slb for gemma? So how come gemma doesn't need it? |
Yes, i did that initially to get a working version of gemma. When i was finished and realized that most of the functions in the slb are just wrappers for gemdos calls, i introduced the _USE_KERNEL32 define. gemma now just uses the bindings from mintbind.h most of the time, only a few functions that are more than just wrappers are reimplement in dosproto.c. |
I see. So the kernel sources are still there and usable? I ask for the hypothetical possibility that somebody at some point realises he likes that idea of a shared GEM library (to be honest I don't know what was supposed to be the killer feature of gemma -- shared gemlib in the end?) and would like to use/extend it - with gemma's test apps as a proof of concept. |
In theory, yes. There is but one quirk with it. As already noted elsewhere, it currently does not come with a static library, because the interface is in inline functions. That is however only true for functions that are actually used by gemma. To make it really usable, you would have to define also inline functions for all the other functions. Or create a static library for it, too, some of the wrappers are already in src/dosproto.c.
It contains some useful functions that are often needed in gem applications, maybe somewhat similar to cflib, just implemented as a shared lib. There is also some documentation for it available. |
Really? When trying to run gemma's test program, I had to put
When looking at test.app, is is really small (about 2 KB, IIRC), for a full-featured GEM program. IMHO that's the killer feature of gemma. Or maybe it is only due to the custom startup code. Anyway: if kernel32 is really useless for gemma, it should be either completely removed, or moved to its own repository. Having duplicated, unused code is never good. |
Maybe some gemma32.slb loaded from somewhere else? I just tried again:
works here. Well, almost. Just noticed that is it apparently does not exit.
Not only, but without that, it would pull in large parts of mintlib, like all other programs do. But that also means you can't use functions like open() because they are not properly initialized, you don't have support for ARGV in your commandline etc. |
The test app was a bit dumb, you could only quit it by pressing Ctrl-Q. I've changed that now so it exits when all windows are closed. Also fixed a crash in configtool. |
What about extracting kernel32.slb to its own repository?
That would make sense, now.
The text was updated successfully, but these errors were encountered: