[Lazarus] Why development remains constant for msdos?

Kavalenka Anton anton.k at tut.by
Wed Sep 25 08:46:07 CEST 2013


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 <nickysn at 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 at lists.lazarus.**freepascal.org<Lazarus at lists.lazarus.freepascal.org>
> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20130925/ae7fbc26/attachment-0003.html>


More information about the Lazarus mailing list