re: emm386 in C?
Eric Auer <[email protected]>
| Newsgroups | gmane.os.freedos.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, thanks for your hint. So the code of tutorial 15 is GPLed? Should be quite easy to add a few drivers to it - I think the UMB part of FD emm386 is already mostly C, so you could check how it fits into the tutorial 15 v86 monitor. I know that VCPI is not a big API, but I think it is tricky to add the switch to and from protected mode functions to an existing V86 monitor. Did you already investigate that issue? For inspiration on how to do mixed 4/16 k block size allocation for EMS 3.2, 4.0 and VCPI, have a look at the impressive but alas not working VMM386 v86 monitor (includes ems 4.0 and vcpi, but the v86 monitor itself is unstable. The whole thing is written in tasm or masm assembly language, quite interesting to read the source but as I use nasm...). Eric Imre wrote: ... that http://members.tripod.com/protected_mode/alexfru/pmtuts.html contains interesting things, for example a working v86 monitor in tutorial 15. And that Imre is now an VCPI expert, too :-). The things found by Imre are GPLed, Turbo C with little nasm ASM, and seem to be a good foundation for a new FD emm386 (because Turbo C and nasm are free, and the small assembly language part makes maintainance of the big C language part more inviting)... (this was no quote ;-)) PS: I have thouroughly read vmm386 (there is a copy somewhere on http://www.coli.uni-sb.de/~eric/stuff/software/ ) and lots of EMS and VCPI specs, and for reference, you can even download my feeble efforts with writing emm386 like stuff (pmlib and emmsys) on my site as well. Ah. The directories were "specials" and "by-others". I have also some nice docs on the topic copied to http://www.coli.uni-sb.de/~eric/stuff/emm386/ and a very strong opinion about which parts of which API are most important to get started with. So in short: Cool project, have fun with the other stuff from my site and feel free to ask me things. However, I am too busy to contribute actual fresh code in the following weeks or even months. Good luck anyway! Eric