#x16-PRos - 16 bit OS written full in assembly

1 messages · Page 1 of 1 (latest)

devout ravine
#

I am 13 yo btw

#

And i make it completely from scratch

#

Unfortunately I can't make a file system. I'm not that experienced yet.

proper talon
#

Im wondering why dont you use 32-bit for just a little more useful features

#

Because if you really need 16-bit interrupts you can always use vm8086

devout ravine
#

I also want the OS to work on almost all x86 computers

proper talon
#

I would atleast add protected mode because you can check for it

#

So if its not availible you can just not use it

devout ravine
proper talon
#

In real mode protected mode you can still use the base interrupts

#

U can then even make a userspace that cant do certain instructions

devout ravine
#

I have an idea. Since my OS does not have any restrictions on programs, it is possible to implement the necessary 32-bit functionality in a separate program.

wet viper
#

use long mode

proper talon
#

He is making a 16 bit os so why should he use long mode

grim axle
#

with appropriate conventions and restrictions on programs, real mode programs can run in protected and long mode

#

which also have submodes which can run 16-bit programs

#

on 386 and above, you can even preemptively multitask multiple instances of your OS using virtual 8086 mode

devout ravine
devout ravine
#

x16-PRos - 16 bit OS written full in assembly

#

is my OS good or nah?

proper talon
#

Idk

grim axle
devout ravine
grim axle
#

however

#

I'd seriously consider having a file system

#

it's not that complicated to implement

devout ravine
grim axle
#

in addition

#

I mean

#

looking at it, the programs seem to be mainly using BIOS service calls

#

does the kernel provide any system calls or abstractions at all?

devout ravine
grim axle
#

what's a transformation vector?

#

oh

#

interrupt vector

#

which interrupt number are you using?

grim axle
#

and option to load a program from a particular sector on disk

#

it would be closer to an actual OS, if the OS provided services which abstracted over everything

#

so programs don't need to use the BIOS directly

devout ravine
devout ravine
grim axle
#

Maybe I could help.

devout ravine
grim axle
#

ah

#

no problem

devout ravine
grim axle
#

what file system did you try to implement?

devout ravine
grim axle
#

ah

#

I've implemented FAT12 multiple times before, so I could definitely help, if you have any particular issue

devout ravine
devout ravine
devout ravine
#

@grim axle Can you help me..?

grim axle
#

well, could you be more specific?

grim axle
devout ravine
# grim axle what does "normal basis" mean?

as I already said my implementation creates only a bootloader, and the kernel cannot create, manage, and run programs from files. I can send you my unfinished implementation in private message

grim axle
#

but what prevents you from completing the implementation?

devout ravine
proper talon
#

Check out nanobyte he has a vid about inplementing fat12

grim axle
# devout ravine I don't have enough knowledge. Maybe I made a mistake somewhere. I didn't find s...

The FAT file system is a file system used on MS-DOS and Windows 9x family of operating systems. It continues to be used on mobile devices and embedded systems, and thus is a well-suited file system for data exchange between computers and devices of almost any type and age from 1981 through to the present.

#

this is a fairly complete description of the FAT file system

#

it's not that complicated

#

you have the boot sector, the FAT, the root directory, and the data area

proper talon
#

Also why dont you try doing some sort of watcom so you can use C

devout ravine
#

It works not well

devout ravine
devout ravine
proper talon
#

Why not

devout ravine
proper talon
#

Why?

grim axle
#

here's a simple FAT12/16/32 bootloader I wrote

devout ravine
#

my implementation has a bootloader, I just don't understand how to manage files from the kernel (sorry for being annoying)

grim axle
#

namely how the syscall interface looks like

#

and implement it based on that

#

there's open, close, read, write, creat, link, unlink, chmod, lseek, fstat

devout ravine
grim axle
#

and ftruncate maybe too

arctic prism
#

but you wrote FAT16

devout ravine
#

My realization of FAT16 much better than FAT12 realization

devout ravine
#

Finally made FAT12

fair merlin
#

finally an original OS