#x16-PRos - 16 bit OS written full in assembly
1 messages · Page 1 of 1 (latest)
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.
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
that's the goal of the project. 32 bit is pretty common so I'd like to do something... well special
I also want the OS to work on almost all x86 computers
I would atleast add protected mode because you can check for it
So if its not availible you can just not use it
Yes, but i realy wana do everything in the real mode
In real mode protected mode you can still use the base interrupts
U can then even make a userspace that cant do certain instructions
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.
don't recommend that
use long mode
He is making a 16 bit os so why should he use long mode
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
New version just relised on github:
https://github.com/PRoX2011/x16-PRos
Idk
A lot of the programs look neat.
)))
however
I'd seriously consider having a file system
it's not that complicated to implement
I've tried several times already, but I still can't do it. I need someone who can seriously help me with this.
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?
I'm almost done with developing my interrupt vector.
what's a transformation vector?
oh
interrupt vector
which interrupt number are you using?
like, your kernel seems mostly like a shell with some hard coded commands
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
there are no changes on github yet, but at this stage I made an interrupt that simplifies the output of lines and adds functions for entering numbers and so on
INT 21h
I'm working on it
What's the isue that is holding you back?
Maybe I could help.
sory for bad English, i am from Russia, and only relatively recently I started learning English
First of all, it is the lack of a file system and the necessary skills in developing this kind of software (I have only been involved in OS development for 5 months)
what file system did you try to implement?
FAT12
ah
I've implemented FAT12 multiple times before, so I could definitely help, if you have any particular issue
it would be good, but I don't even have a normal basis for implementation
but i have my implementation of FAt12 bootloader (just load kernel.bin). it was not possible to implement the launch of programs from files, as well as their creation, editing and deletion
@grim axle Can you help me..?
well, could you be more specific?
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
but what prevents you from completing the implementation?
I don't have enough knowledge. Maybe I made a mistake somewhere. I didn't find step-by-step instructions on how to implement FAT12, so... I only managed to make a bootloader(((
Check out nanobyte he has a vid about inplementing fat12
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
Also why dont you try doing some sort of watcom so you can use C
Hete is my realisation
It works not well
And FAT16 (if works better, and it has simple terminal)
I would like to continue working with FAT16
I don`t wana use C
Why not
don't ask, it's just necessary
Why?
here's a simple FAT12/16/32 bootloader I wrote
my implementation has a bootloader, I just don't understand how to manage files from the kernel (sorry for being annoying)
I'd look into how ancient UNIX and DOS 2.0 do it
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
Ok i will try to create this
and ftruncate maybe too
but you wrote FAT16
My realization of FAT16 much better than FAT12 realization
Finally made FAT12
finally an original OS