Hi,
FAT is annoying me so much and i've decided to make my really simple filesystem, codenamed RSFS - Really Strong File System... and i have few questions:
1.) The bootsector I'm trying to write isn't compatible with FAT, it doesn't have the BPB, but it has a "boot sector signature" on the end of code - dw 0xaa55 . Will be the bootsector bootable on *every* systems?
2.) I am trying to convert EXE to binary (COM). The whole kernel is programmed in borland pascal and EXE2BIN cannot convert it. Is it possible to convert my kernel to binary file with other utility?
Thanks for advice.
inflater
Few questions...
Few questions...
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Re: Few questions...
1. Yes (unless the system integrators are bloody ************ idiots, but I doubt that since all other FSes don't do that either).inflater wrote:Hi,
FAT is annoying me so much and i've decided to make my really simple filesystem, codenamed RSFS - Really Strong File System... and i have few questions:
1.) The bootsector I'm trying to write isn't compatible with FAT, it doesn't have the BPB, but it has a "boot sector signature" on the end of code - dw 0xaa55 . Will be the bootsector bootable on *every* systems?
2.) I am trying to convert EXE to binary (COM). The whole kernel is programmed in borland pascal and EXE2BIN cannot convert it. Is it possible to convert my kernel to binary file with other utility?
2. There should be a reason why it doesn't, IE, you use more than 64k total or you don't start at 0x100 or such. Fix that problem and then try again.
You need to ensure that your code is being compiled with the 'tiny' memory model. I don't know whether BP can do this or not -- it's been a while since I used it -- but the NASM documentation on interfacing with it implies not:I am trying to convert EXE to binary (COM). The whole kernel is programmed in borland pascal and EXE2BIN cannot convert it. Is it possible to convert my kernel to binary file with other utility?
http://nasm.sourceforge.net/doc/html/na ... tion-7.5.1
Specifically, it suggests that 'retf' should be used at the end of a procedure, which means that a memory model that needs (at the least) to know its own CS is in use. .COM file loaders don't give you the info you need to find your CS, so EXE2BIN will refuse to convert them.
BTW - You're making me all nostalgic. My first kernel was written in Borland Pascal 7. Well, I call it a kernel, but it didn't run on bare hardware, it used a DOS extender, same as Windows 3 did, and provided an executable loader (just .COM format files) with a simple API that could do terminal IO (either to a TurboVision window or through a pipe) and start new programs, and had a cooperative multitasker. I wrote a simple shell, a little calculator program, and a filter to pipe stuff through that reversed the lines of output. Yes, piping happened immediately, not at the end of execution like in DOS.
That was fun, mainly learning the intricacies of stack switching.
That was fun, mainly learning the intricacies of stack switching.
If you can't get BP to output a tiny-mode program, the other way of doing it is to do the conversion from EXE to flat binary yourself. Look up the EXE file format, it should be fairly simple. You'll need to know the segment address that your code will be loaded at, but you should know that already, right?
Unfortunately, as far as I know, Borland Pascal doesn't allow you to create flat binary formats. This speaks for Borland Pascal 7.0 but *fortunately* you *can* create COM files with Borland Pascal 1.0. This was the first version of the compiler and it doesn't have an IDE. There are a lot less run time routines and you have to shovel your backyard to get it compile a program for you. Anyway, if you like to download Borland Pascal 1.0, you can search for Abandonware in Google.
I maked my own filesystem - called RSFS - Really Strong File System.
I was very surprised, when I saw PXLDR (portixos boot loader) running under DOS, Windows 95, Windows NT or even Windows 3.1 (or normally like as a OS ) - that is a little advantage of my file system
I think that PARTCOPY is the best tool for making any file systems.
Here is screenshot running PXLDR in Windows 3.1:
And this is screenshot in Windows NT 4.0:
I think it's cool, no?
I was very surprised, when I saw PXLDR (portixos boot loader) running under DOS, Windows 95, Windows NT or even Windows 3.1 (or normally like as a OS ) - that is a little advantage of my file system
I think that PARTCOPY is the best tool for making any file systems.
Here is screenshot running PXLDR in Windows 3.1:
And this is screenshot in Windows NT 4.0:
I think it's cool, no?
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English )
Derrick operating system: http://derrick.xf.cz (Slovak and English )