BTW - i have a port of Turbovision -like library called GraphVision (with sources) - window system built entirely on graph unit. I think it is possible to create Lazarus widgetset wrapped around this DOS GUI system. I'll ask the author - if he agrees to give it out for community.
On 23 September 2013 17:47, Nikolay Nikolov <nick...@gmail.com> wrote: > On 22.9.2013 г. 14:59 ч., Florian Klämpfl wrote: > >> Am 22.09.2013 13:46, schrieb Junior: >> >>> Why development remains constant for msdos? >>> >> Because somebody wants to do so. No more, no less. >> > As the person working on the i8086-msdos port, here's the story how it all > started: I wanted to learn how FPC code generators work by porting it to a > new architecture, but I didn't have any computer in my home with a CPU that > isn't supported already (well, except for 6502 :) ). So porting to a new > architecture would require buying some exotic hardware from eBay (say, an > Itanium or SPARC64) that'll likely be already obsolete in a few years > anyway. And one day it occurred to me that I could try an i8086 port. It > seemed perfect to me for the following reasons: > > 1) while, you may consider 16-bit x86 dead, it never really died in the > sense that every modern x86 processor (including 64-bit ones) supports it > in real mode. In fact, unless you have an UEFI system, 16-bit code is > always executed at some point during the boot process, because that's how > the BIOS boots the system - it loads the first sector from the hard disk at > address 0000h:7C00h and jumps to it in 16-bit real mode. In fact, modern > machines are able to boot DOS and it works without issues. If it didn't, > boot loaders of modern operating systems wouldn't work either. So, in 5 > years, everybody will have a machine that is able to execute i8086 code > (and thus, able to test and maintain the port), but that may not be the > case for e.g. Itanium or SPARC64. Also, there are plenty of virtual > machines available, where you can install DOS and test it. There's also > DOSBox. In fact, you can run the FPC testsuite for i8086-msdos on any > 32-bit or 64-bit linux _or_ windows via DOSBox. > 2) I didn't need to learn an entirely new instruction set and OS API, > since I'm already familiar with them, so I could focus only on the compiler > itself. > 3) There isn't a 16-bit x86 pascal compiler that is free/open source. > Borland Pascal is proprietary and while you can download old versions for > free from the Embarcadero museum site, the latest version available gratis > is 5.5. You can't legally use 7.0, unless you bought it back then and even > if you did, you don't have the sources to the compiler, so you can't fix > bugs in it and improve it. > 4) Since x86 compatibility goes all the way back to 16-bit, if FPC would > support it could claim to be the first compiler which supports the full x86 > range going all the way from 16-bit up to 64-bit. It's something unique and > cool :) > OpenWatcom may be the only other compiler that is able to do it, since > they haven't dropped 16-bit support and are supposedly working on 64-bit, > but their 64-bit port is still not ready AFAIK. And of course GCC and LLVM > are extremely unlikely to do such a crazy thing as a 16-bit port. :) > > It all started semi-seriously, I just wanted to see how difficult it would > be to do the port, but I soon reached the point of no return, where I had > almost got it working and I just had to keep working on it in order to get > that next feature going, etc. And also, I'm having a lot of fun, while > working on it. I also bought some vintage 16-bit machines from eBay for the > extra fun and motivation :) > > As for people still using DOS, there's still a community of people using > it for fun or for nostalgia reasons. Check out: > > http://www.bttr-software.de/**forum/forum.php<http://www.bttr-software.de/forum/forum.php> > > There's also the FreeDOS project, which was already mentioned by another > poster: http://www.freedos.org/ > > Also note that DOS has always been supported by FPC via the go32v2 dos > extender (ok, it might have been go32v1 when fpc was started), but it has > always been 32-bit and thus requiring at least a 386. Only the 16-bit DOS > support is new. > > Nikolay > > > -- > ______________________________**_________________ > Lazarus mailing list > Lazarus@lists.lazarus.**freepascal.org<Lazarus@lists.lazarus.freepascal.org> > http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus> >
-- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus