You can also replace the BIOS with ntoskrnl.exe or vmlinux, and you will have full USB flash drive FAT32 access with long file name support only a "BIOS" call away.mikegonta wrote:My whole point (before the big guns came out) was that someone could use io.sys to replace the BIOS functions that their real mode
OS was currently using without losing their OS status to DOS. Instead of the limited sector based drive access they would have full
USB flash drive FAT32 file access with long file name support and only a "BIOS" call away.
when DOS is not DOS
-
- Member
- Posts: 5588
- Joined: Mon Mar 25, 2013 7:01 pm
Re: when DOS is not DOS
Re: when DOS is not DOS
Seems like a lot of work for such a little gain.Octocontrabass wrote:You can also replace the BIOS with ntoskrnl.exe or vmlinux, and you will have full USB flash drive FAT32 access with long file name support only a "BIOS" call away.mikegonta wrote:My whole point (before the big guns came out) was that someone could use io.sys to replace the BIOS functions that their real mode
OS was currently using without losing their OS status to DOS. Instead of the limited sector based drive access they would have full
USB flash drive FAT32 file access with long file name support and only a "BIOS" call away.
-
- Member
- Posts: 5588
- Joined: Mon Mar 25, 2013 7:01 pm
Re: when DOS is not DOS
So is writing an OS.mikegonta wrote:Seems like a lot of work for such a little gain.
Re: when DOS is not DOS
I think we have reached the conclusion that you can replace MS-DOS with another operating system. On that bombshell....
Re: when DOS is not DOS
Code: Select all
______________________ ______________________
| | | |
| "Standard BIOS PC" | | "Non-BIOS PC" |
|______________________| |______________________|
| |
______________________| |______________________
| | | |
| "Standard IO.SYS" | | "OEM's IO.SYS" |
|______________________| |______________________|
|____ ____|
|
__________|___________
| |
| "IO.SYS Interface" |
|__________ ___________|
|
__________|___________
| |
| "MSDOS.SYS" |
|__________ ___________|
|
__________|___________
| |
| "command.com" |
|______________________|
There is a huge OSDev-ethical controversy. In this context, I am not sure how a project like this is interesting. As a DOS-programming experiment, why not.mikegonta wrote:Instead of the limited sector based drive access they would have full USB flash drive FAT32 file access with long file name support
Re: when DOS is not DOS
Okay, so the whole point is about terminology?mikegonta wrote:My whole point (before the big guns came out) was that someone could use io.sys to replace the BIOS functions that their real mode OS was currently using without losing their OS status to DOS.
If you do this, I think we all agree that you're running on a DOS kernel, and you're technically just a DOS application. You would probably have to leave file system, memory and possibly to a certain degree also task management to the DOS kernel if you don't want to break it.
What makes your question interesting is that DOS applications have full access to everything, so they can do very OS-like things. So there is some point at which the user perception is that your application really provides more OS-like functionality than your (DOS) kernel does. We know that the perception changed from "just a graphical shell" to "an OS" with the change from Windows 3.1 to 95, even though both have a DOS running underneath. At this point, Windows already didn't use the DOS file system drivers any more, but bypassed them and used its own drivers.
So perhaps this gives an idea on when the combination of a DOS kernel with some additional software starts being perceived as a separate OS.
Re: when DOS is not DOS
There is (or was) a third branch to your diagram - "Non-standard BIOS PC".Antti wrote:The basic idea was not bad if there really were plenty of OEM's IO.SYS implementations widely in use. However, it seems that the non-BIOS branch is almost non-existing.
In the early days, before the 5150 became the de facto standard, there were a number of manufacturers producing PCs that were essentially clones of the IBM offering but had slightly different BIOS routines. Examples that spring to mind are Apricot, Sirius, and early Compaqs. Each of these required their own version of MS-DOS to interface between their BIOS routines and the DOS API. But each of these machines - like just about every computer - had some sort of ROM-based I/O routines. It is certainly true that some of the earliest hobby computers did not contain such ROMs and had to be bootstrapped by entering the initial code via toggle switches, and this was very common with the very earliest computers; this, I think, is irrelevant to the present discussion.
Your right-hand branch ("Non-BIOS PC") is, I believe, an empty branch. And, in the context of MS-DOS - which is implied by the fact that this discussion is predicated upon io.sys and msdos.sys - the idea of "Before there was a ROM BIOS" is just nonsense. As fas as MS-DOS is concerned there has always been a ROM BIOS. MS-DOS was designed for the 5150, and the 5150 had such a BIOS; there is no "before" in this context.
It is, of course, easy to denigrate experience and rely upon half-understood information from web sites.
Re: when DOS is not DOS
It was an artistic impression of a historic scene. Pure logical approach was not considered (as it seems to me).iansjack wrote:I think we have reached the conclusion that you can replace MS-DOS with another operating system.
My previous account (embryo) was accidentally deleted, so I have no chance but to use something new. But may be it was a good lesson about software reliability
Re: when DOS is not DOS
Here you can follow a link to download the original source code for MS-DOS v1.1. The file io.asm assembles to the disk based io.sys.iansjack wrote: ... in the context of MS-DOS - which is implied by the fact that this discussion is predicated upon io.sys and msdos.sys - the idea of
"Before there was a ROM BIOS" is just nonsense. As fas as MS-DOS is concerned there has always been a ROM BIOS. MS-DOS was
designed for the 5150, and the 5150 had such a BIOS; there is no "before" in this context.
In this early MS-DOS version; which we know from history was adapted from 86-DOS (and says so in the file) by the original author
Tim Paterson (who is mentioned in the header comment of msdos.asm; there are absolutely no BIOS calls - all input/output is
accomplished through port I/O.
Sheesh.iansjack wrote:It is, of course, easy to denigrate experience and rely upon half-understood information from web sites.
Re: when DOS is not DOS
Yes, or with your own DOS emulators. I once had this, but since I no longer maintain them, they probably aren't functional anymore. If I get a lot of time some day I might try to update them and check some old DOS apps.Octocontrabass wrote:You can also replace the BIOS with ntoskrnl.exe or vmlinux, and you will have full USB flash drive FAT32 access with long file name support only a "BIOS" call away.mikegonta wrote:My whole point (before the big guns came out) was that someone could use io.sys to replace the BIOS functions that their real mode
OS was currently using without losing their OS status to DOS. Instead of the limited sector based drive access they would have full
USB flash drive FAT32 file access with long file name support and only a "BIOS" call away.
- Kazinsal
- Member
- Posts: 559
- Joined: Wed Jul 13, 2011 7:38 pm
- Libera.chat IRC: Kazinsal
- Location: Vancouver
- Contact:
Re: when DOS is not DOS
Read closer yourself -- that particular io.sys is an io.sys providing glue for Seattle Computer Products CPU support cards and disk controllers, not generic IBM PCs, thus the lack of BIOS calls.mikegonta wrote:Here you can follow a link to download the original source code for MS-DOS v1.1. The file io.asm assembles to the disk based io.sys.
In this early MS-DOS version; which we know from history was adapted from 86-DOS (and says so in the file) by the original author
Tim Paterson (who is mentioned in the header comment of msdos.asm; there are absolutely no BIOS calls - all input/output is
accomplished through port I/O.
If you're using the DOS kernel as a basis for your operating system, you are both using DOS as your operating system kernel (making your OS some weird hybrid of a DOS clone and MS-DOS itself) and are likely violating a few nice license agreements about unauthorized redistribution of Microsoft code.
And it's just a weird idea on top of everything. An interesting project for a bored rainy day, sure -- what exactly *can* you do with DOS? But as a real project? It'd be more worth your time to write a real operating system
Re: when DOS is not DOS
My lead in was that originally io.sys was the BIOS, it was others who started the IBM PC thing (which, by the way, IBM never shipped anKazinsal wrote:Read closer yourself -- that particular io.sys is an io.sys providing glue for Seattle Computer Products CPU support cards and diskmikegonta wrote:Here you can follow a link to download the original source code for MS-DOS v1.1. The file io.asm assembles to the disk based io.sys.
In this early MS-DOS version; which we know from history was adapted from 86-DOS (and says so in the file) by the original author
Tim Paterson (who is mentioned in the header comment of msdos.asm; there are absolutely no BIOS calls - all input/output is
accomplished through port I/O.
controllers, not generic IBM PCs, thus the lack of BIOS calls.
io.sys - their licensed version was called ibmbio.sys. Also, if you read closer, you might discover that Microsoft purchased 86DOS from
Seattle CP and hired Tim Paterson to shape it into MS-DOS version 1.0 of which this is the source code for (other OEM vendors had their
own BIOS-less versions).
Thanks for the input - that's the subject of this discussion - when is DOS not DOS. The "DOS BIOS" is not DOS because on a classic PCKazinsal wrote:If you're using the DOS kernel as a basis for your operating system, you are both using DOS as your operating system kernel (making your
OS some weird hybrid of a DOS clone and MS-DOS itself) ...
(Compatibility Support Module enabled UEFI) it is only a BIOS wrapper. The DOS file system functions (while part of the DOS kernel)
of and by themselves can not be considered a DOS Operating System.
That hair has been split many times - io.sys was freely distributable on all bootable floppy disks formatted back in the day, yadda yadda.Kazinsal wrote:... and are likely violating a few nice license agreements about unauthorized redistribution of Microsoft code.
That "flame" is not worth the match head it's printed on.Kazinsal wrote:And it's just a weird idea on top of everything. An interesting project for a bored rainy day, sure -- what exactly *can* you do with DOS?
Show us yours and we'll talk.Kazinsal wrote: But as a real project? It'd be more worth your time to write a real operating system
Re: when DOS is not DOS
Technically it might be possible to turn this into a valid statement but you will have difficulties in convincing people. Those file system functions are not just providing mechanism but significant policy is involved. And that policy is very DOS.mikegonta wrote:The DOS file system functions (while part of the DOS kernel) of and by themselves can not be considered a DOS Operating System.
A little bit rude comment. However, I kind of agree with you. In the hobby OSDev scene, there seems to be very few "production quality" operating systems available. All the common IO.SYS implementations are production quality although someone could probably list a truckload of flaws. If you built your OS based on that, assuming that your code is high quality too, you could have an operating system that can be valid in production use.mikegonta wrote:Show us yours and we'll talk.
Still, there is a huge OSDev-ethical controversy.
Re: when DOS is not DOS
From the relevant Microsoft Licence agreement:mikegonta wrote:That hair has been split many times - io.sys was freely distributable on all bootable floppy disks formatted back in the day, yadda yadda.Kazinsal wrote:... and are likely violating a few nice license agreements about unauthorized redistribution of Microsoft code.
You may not distribute or publish the software or Derivative Works.
Re: when DOS is not DOS
And I apologize for that, but it was meant to be tongue in cheek (I'm not a big user of the funny face). It's sort of like when someoneAntti wrote:A little bit rude comment.mikegonta wrote:Show us yours and we'll talk.
makes an informal (not requested) business proposal and the response is "OK, we'll talk" (a sort of brush off), or "my people will contact
your people". I should have said "Show us yours and we'll have lunch"