#IlyoDOS 1.0 SE
1 messages ยท Page 2 of 1
usb 3.0 is a superset
we are still not on USB 3.0 yet
if you implement XHCI, you get USB 1.1 and USB 2.0 for free
oh
that way you don't have to have separate drivers for 1.1 and 2.0 controllers
also, USB 1.1 is virtually nonexistent
why?
because it wasn't popular during its time
i think your talking about 1.0
and it didn't really have a long lifespan, USB 2.0 was released just 2 years later
1.1 is when USB started getting attraction
started, yes, but it still wasn't very popular
yes
definitely not anywhere close to where it is today
USB is not very everyday for me tho bc i use internet and internal storage
you use a keyboard don't you?
yes
it more than likely uses USB
oh yea its USB-C
even a lot of network cards use the USB protocol in some way or another
yes, even PCIe ones
PCIe is its own port tho
UPDATE: i started USB 1.1 coding
also FYI, EHCI (USB 2.0) doesn't support USB 1.1 controllers
also, why are you doing USB 1.1?
because its the easiest, and its a start to USB
also
im doing USB this early into the kernel
cuz currently the OS runs on a USB
and i need to read data from USB to proeed
proceed*
just do xhci
you're just going to triple the work if you wanna implement newer stuff
hmm let me look into it
well. you should've looked in to it before writing any usb related things.
i still have barely started into USB tho
alright, i think im gonna implement XHCI
please do
nice cool fire W๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ
Ty
after taking a short break for school
im now continuing developemtn
(school just wasted my time), but atleast i dont study (i use chatgpt, next best thing)
how do you pass exams without studying?
study in school i guess
hey guys update, FAT12 build is gonna be bult first
sorry earlier i said FAT12 was discontinued:)
UPDATE
THE BOOTLOADER HAS PROGGRESSED TO THE SECOND STAGE
i planned for just a 512 byte bootloader
but now im moving 1.5 KB bootloader
which the second stage is a full KB
which is not alot, with todays standards.. but it will be a new refreshing stage after i suffered through 512 bytes
the first signs of life for the seond stage
hey guys!
this project was abandoned for a bit
but i have returned
and i even made some reforms as better assembly and basic 16 bit C that will be important
so ive came back to this project:)
right now, ive ditched protected mode, we are sticking to real mode
and i might run DOOM on this OS since it doesent really focus much on DOS, it mianly interacts with hardware itself
or ill port it
You cant
DOOM ran on a DOS extender
32bit
You cant port as well unless you wanna be another copy of DOS
also
70s?
do you know what era your talking about
actually I dont think the IBM PC's were made in the 70's
you're gonna have to invent a time machine and bring a IBM PC
well, first of all
this is an 80s type of OS
not a 70s
and yes, i am planning to switch to protected mode, but my first attempt failed due to relying heavily on BIOS
but that will be fixed
and DOOM can be ported to my OS
as long as i provide the necessary APIs required for DOOM
such as file loading etc etc
and this is meant to be a temporary DOS
i might make an extension for the OS like windows 1.0
you had to boot MS DOS to run windows, and i think this goes up to 3.1
(correct me if im wrong)
just make a container for DOS programs
DOS was extremely weird
and if you want programs to work natively
you'll have to create a lot of weird API's
some legacy garbage
and some just outright weird because at the time no one knew how to use the 80386 to its fullest
also
you might have to switch to fat16 or fat32
DOOM was 2MB
thats an absolute pain and a waste of space on fat12
for now, im deciding that programs will be stored only in memory, we dont need specifically to make it reside in disk
thats even worse
also you cant really bring programs into memory
they need to reside on a disk
unless you hard code them
even on BIOS read int 13h, if your gonna read from floppy, or anything, it cannot write floppy>internal storage, the only option available is writing to memory
int 13h ah=3 is write
but mainly, reading from floppy has only the option to memory
yeah thats because it cant fit any where else
you cant fit a 512 byte sector on a register
your still reading from a floppy
the program still resides on a floppy
a floppy is a storage device
or a block device, whatever you wanna call it
also I am pretty sure thats with every storage device
they all dump it into RAM to take from RAM
no not really
as long as you reference back
it was designed for diskettes
aka floppies
thats why it uses cylinder, head, sector
actually HDD, floppy
or track, head, sector addressing
im not sure about CD
Nope
because i dont use it
it emulates for HDD
check the IBM XT/AT system bios PDF
IBM never accounted for HDD's
it literally just emulates
Think it has its own thing
Doesn't exist on most bios
i think CD uses it
it came too late
actually in most modern BIOSes, there a chance for it to be tehre
CD was a thing LONG LONG before int 13h,42h was a thing
yes
those are UEFI
UEFI with CSM
not a true IBM Bios
plus UEFI is starting to get rid of CSM
UEFI class 3
is an example
and intel is pushing it heavily
Yes, but theres a reason it was replaced
it became duct tape on duct tape
every vendor did stuff differently
clones were all over the place
yes
the IBM XT system bios was fairly clean
it was simple
and provided everything you needed
well, i know some other UEFI will come out with different functions
and it matches its name "Basic I/O services"
nope those are non standard
you never know lol
there are still some UEFIs that are generally the same, but with extra useless functions we dont need
No otherwise the point of UEFI would be ruined
i guess
Btw
if you wanna be for the 80s/90s
you can just assume floppy
everyone used floppies
they were the main thing
HDD existed in the 80s tho
yes but floppies were dominating
they were 5-12 MB
Yep
but the average user didn't have a HDD
it wasn't cheap
no one wanted to spend more money on a larger "floppy" that they cant even swap out easily if it fails
it was atleast for the rich people
also MS/PC-DOS and other operating systems were stupidly small and simple
they could run on anything
which is why clones were actually able to work
so i might aswell add it
IBM system/360, AT&T bell lab's PDP
etc
used by big fat machines
I am pretty sure those fat machines didn't use the 8086/8088 tho
or anything X86 at that
those machines used industrial grade CPUs
you wont have to do much work
yeah
They were insanely expensive
and got very hot
going up to a million USD at some point
mostly used by governments or colleges / uni's
i agree
anyways you probably will support other drives without knowing
the BIOS emulated a lot of stuff
just dont try speaking directly to hardware controllers and your good to go
UEFI + CSM emulate USB's as super floppies
weird I know
yup
Also you might wanna throw support for the IBM XT system bios out of the window
just use the IBM AT system bios
IBM XT system bios was simple, but very very tuned to what IBM wanted
what if i release a seperate version for it?
Thats fine, but note that this version only support floppies
its alright
because you're gonna have to talk to a hardware controller if you want to be a real OS
my OS supports both tho
alright then just release another version for the IBM XT
I am just setting my baseline at IBM XT
8088 and IBM XT is my baseline
It was cheap and mass produced
so probably still exists
but its also probably gate kept by retro nerds
then im releasing a seperate version
like seriously cheap
IBM cut cost a lot
they didnt even wire some stuff
anything they didnt need
wasn't wired
just to cut cost
you cant even tell when the floppy is ready for I/O operation because IBM didn't wire the pins
oh
the IBM XT system bios would just wait the worst case
which was ~500ms
and assume the floppy was ready for I/O operation
like I said
well that was unpractical..
stupidly simple
very dumb
and very cheap
IBM wanted cheap not advanced and not smart
it would prob cost like an extra cent to include floppy ready or no
yeah and IBM didnt want that
they wanted that extra cent for themselfs
greed
Actually some higher end models did have it wired
oh nice
You probably won't need to read the READY bit from the FDC tho
i do tho
you should check if it was wired by IBM
seriously
they didn't even wire the pins for DRIVE CHANGED
my OS has to brute force it
by checking the file system signature and a per drive special ID cached on RAM
and comparing it with the one on DISK
to detect if the drive was changed
you know sense you can swap floppies
in and out
with ease
alright it was nice talking to you
I gotta go
yup
thanks
its nice talking to u too
also guys
HUGE UPDATE!!
IDT WORKED!
I PURPOSEFULY DID A DIV BY 0
TO TRIGGER IDT ENTRY 0
AND IT WORKED!
much better
now lets see if it triggers while not div error
IT DIDNT:D
WE MADE A SUCCESSFUL INTERRUPT HANDLER!
i did bound overflow
so you went with protected mode?
L
yoOS ๐ฅ
yup
?
protected mode ๐
i might add a featurye to go back to real mode then
feature*
like MS DOS and windows 1.0-NT
i think NT had MS DOS
join me guys in voice 1 if youd like to see the development of the IDT
Windows 1.0-NT?
i meant windows 1.0 to NT
NT only had a DOS box for compatibility, i.e. NTVDM.
the kernel has nothing to do with DOS
the kernel of early windows booted from MS DOS
yeah
but Windows NT is completely different
the NT kernel also basically has nothing to do with early Windows either
XP was also built on NT and 9x
mostly just NT
some of the codebase was 9x tho
which part?
AOL?
anyway, maybe some userspace utilities were brought over from 9x
but that's not really part of the core OS
a lot of the userspace codebase was already shared between NT and 9x since the mid to late 90s
Windows XP is essentially Windows NT in all ways that matter
like, I suppose Windows XP was the first NT version to have Windows Movie Maker
which was introduced with Windows ME
also, NT never had any feature to go back to real mode
yup
also
bruh everyone left as i was showcasing my IDT
Windows/386, 386 Enhanced Mode Windows, and Windows 9x never went back to real mode unless you exited Windows completely (i.e. what Windows 9x called MS-DOS mode)
yup
i have a copy
of windows 95
on my PC
and ill show u how it looks like
lemme boot
I mean
into windows 95
Linux boots from DOS
oh
Hell yeah
Although I thought it boots from FreeDOS
sense its free
it can load from any DOS
back in the day, before FreeDOS was even a thing, most people booted Linux from MS-DOS
I usually will make my extension of the OS boot from IlyoDOS which is the current developing version we are on
PART 2 OF COMPLETING IDT NOW IN VOICE 1
??
stream of the development of IDT in voice 0
UPDATE:
I FINISHED THE IDT
AND HERES EACH PANIC SCREEN:
BLUE = NOT VERY SEVERE
PROGRAM ERROR OR A SMALL SYSTEM ERROR
YELLOW = MEDIUM SEVERITY
A MEDIUM ERROR IN A PROGRAM OR MEDIUM SEVERITY SYSTEM ERROR
BLACK = WORST SEVERITY
A BIG ERROR IN A PROGRAM, VIRUS, OR WORSE SYSTEM ERROR
CHANCE OF HARDWARE ISSUES.
THAT IS ALL PANIC ERRORS YOUD GET IN ILYODOS FOR NOW
HERES ALL ERRORS AND WHAT DO YOU GET FOR IT
wait are these not idt's and how recoverable they are
well
no revory yet
recovery*
the kernel is still in early dveelopment:)
so recovery might come soon
Debian still bundles it in their isos
also they are IDT entries
Ilyomaria, you've inspired me! Your OS being in such early development, yet you're brave enough to post it here! I'll too post my OS here! Well..maybe tomorrow, I want to sleep first ๐ค (also still in very early stage of development)
very nice, really look forward to seeing other OSes grow aswell:)
UPDATE:
THE KERNEL HAS BEEN ASSIGNED TO 128 SECTORS
MEANING 65536 BYTES
OR 64 KB
STARTING FROM MEMORY ADDRESS 0x7e00
AGAIN, DEVELOPMENT STREAM IN VOICE 0 AS ALWAYS.
so much wasted linear memory
the stuff starting at 0x500 is supposed to be the important stuff as the FAT, the root directory entries, etc etc
dump it to 0000h:0500h or 00000500h
bro
you do not need that MUCH memory
unless your going for multiple drive caching
its also gonna hold the stack, the small programs, and more
which in that case yes you do
that adds up fast
if you cache fully for 2 fat12 floppies
you'll be using around ~20KiB or more worst case
actually probaably like ~30KiB
with the kernel reaching just 64KB it would probably take just a little memory
also
ill decrease it
now it wont run on the IBM XT
this is the general PC (for 80386+) version
ill probably put them in an allocated memory
i would probably not cache tho
sense the user can actually choose and you can tune it way easier for IBM XT or AT depending on what you want
or other computers on the 80386+
general PC version is a minimum of 4 MB tho?
maybe less
not predicted yet
its in early development
but i say itd reach 2 MB
at worst case
4
Bro how
I have an extremely simple and dumb custom C compiler that can easily be ported to my OS for the 8086 and floppy handling and etc
ill show you my plan
and I still dont get near to ~32KiB
in the lower memory
meaning below 1 MB
theres s apce from 0x7e00 to 0x7FFFF
space*
its 480.5KB
if 64KB is allocated for the kernel
(may be reduced)
416.5 will remain
that could be used for programs, the shell
or the extended kernel
thatll be developped after the development of the main kernel is made
thats my plan
probably.. but im gonna reduce it once the kernels finished
PART 5 STREAMING VOICE 0
UPDATE: IVE CREATED A SEPERATE FILE CALLED KEYBOARD.ASM (IN DISK ITS KEYBOARD.BIN) FOR THE KEYBOARD PS/2 DRIVER (MIGHT ADD SUPPORT FOR MORE KEYBOARDS)
ALSO
KERNEL ALLOCATED SIZE IS REDUCED TO 32.5 KB
(0x7e00-0x10000)
I HAVE LEARNED NOT TO PUT EVERYTHING IN 1 FILE
Question: why all caps?
caps lock is on
I ate his non caps
lmao
HAHAHAHAHAHA
AHAHAHHAHAHAHAHAHAHAHA
OK
by using lowercase
BE MY ENEMY
OK
we are rival!!!
idk
OH
well anyway bye
BYE
merry christmas everyone
is it too early?
idk im muslim so i dont know whens the date but early merry christmas:)
It's already 6 days since then dude..
Well anyway
ty
see you guys till december 25th:) (maybe)
UPDATE:
UPDATED KEYBOARD CODE
NOW THE OS SUPPORTS PS/2 SET 1, 2, AND 3.
MOST COMMON SET IS SET 2 KEYBOARDS
BUT WE ARE AIMING FOR MAXIMUM COMPATIBILITY
SO THIS IS THE BEST WE CAN DO FOR NOW
Sorry guys I ate his non caps again
yea bro semester's been a blur
don't worry, we'll all get used to it
YOU WILL GET USED TO IT, MAYBE MY CAPS KEY IS BROKEN AND I CANT SWITCH IT BACK OFF OR EVERYTHINGS FINE AND IM JUST DOING CAPS
Bros code probably looks something like this:
MOV AX, AX
MOV AX, BX
MOV BX, AX
MOV BX, AX
MOV CX, AX
SUB AX, AX
ADD AX, AX
INC AX
DEC AL
where's the repository
send the link
Lemme see
Lemme check my github
Wait
Did i delete it?
Prob lost my acc
Lemme make a new one
And see if that repository exists
what
Found it
Still not updated
And still buggy
Also MORE CAPS:
THE OS IS NOW CLOSED SOURCE
THE ONLY FILE YOULL BE ABLE TO ACCESS IS THE MAIN floppy.img
SOURCE CODE WILL REMAIN HIDDEN.
Why?
boooo
whyyy
anyways good luck
i wont check this thread out now
alr guys i guess source code it is
we had too much votes opposite
against it
its open source again now
its ur code what are they gonna cry about
who
cuz you only use ASM?
well yes, it would be ideal. but if your whole project gimic is pure ASM feel free to do it
i dont make fun of anyone of what programming style, or programming language they use
but people keep making fun of me for using asm
thats not WHY
why :D
"asm is the best language" "I dont like compilers"
idk
I can go on
and im not making fun of him. just the idea
because it is funny
i dont like compilers is really funny tbh
never said that
you did but I am not going to contend this
if they like writing their OS in asm let them, some cool shit has been made with assembly
personally i dont judge anyone with the style of their programming, or their programming language
everyone has their own preffered language
mine just happens to be asm
just fix it 
but it doesent need fixing?
ur js diggin ur own grave atp broski ๐ ๐ฅ
prob lol
but seriously
making fun of people by their programming language
is not good
who said we were making fun of u
@eternal ember does in voice calls
Bro
No one really cares
Assembly is fairly hard in this day and age
Itโs hard for our era
Just even being able to understand it is good enough
Youโll get better day by day
No one gets better if they keep hating on themselves
ty mekebabman
I already clarified this, I dont appreciate you saying incorrect things about me
do you have any evidence of me saying incorrect things?
the message I responded to
What the HELL do you use for an 8086/8088 OS?
Try getting one of those old ancient K&R C compilers for the 8086 to work and you'll die
yup
Try using one of those DOS era C compilers and you'll realize there large and fat
and slow
plus i dont know much of high level languages
DOS era C compilers are literally the worst C compilers you could use
openwatcom I suppose
Yep
fat guy
cant even run in 1MB
then theres K&R C compilers who ran perfectly and smoothly with 1MB
of memory
Mostly for the PDP-11
but im not working for the PDP-11
Yep
im working for 80386+
Oh
then you can use a C compiler
I THOUGHT THIS WAS FOR THE 8086
I GOT SCAMMEDDD
GCC works perfectly
What
1MB?
For what
What does bro have
Most 80386 OS's only need 200KiB and thats if there being evil
Minix ran with less than 1MB
and Minix had multi tasking and etc
educational OS as well
so not even professionally made
C compiler wasn't smart
meaning they didn't even try saving bytes
is this writing for real hardware or just qemu
but either way, why is it in pure asm
what is the point
like genuinely
hell why are we even writing dos
DOS doesn't really mean MS-DOS or PC-DOS
although its referred to MS/PC-DOS normally
it could literally mean he is making a DISK OPERATING SYSTEM
thats all
You could call Linux, UNIX, Minix, windows a DOS if you wanted
it'd be weird but uhh its also kind of correct
That I dont know
A good reason would be C is annoying to deal with for the 8086/8088
but his OS is for the 80386+
which C runs extremely well on
without flaw
i guess guys we are back to open source
but didnt u hate open source
changed it back due to alot of downvotes
GITHUB REPOSITORY UPDATES
UPDATED*
GUYS DONT HATE ME NOW ITS OPEN SOURCE PLUS UPDATED GITHUB REPOSITORY NOW
why are you under the impression that people hate you
sir thats not literal
never know with you
you could lol
500 lines of asm without a singular comment ๐ ๐ฅ
comments are evil
i agree
@indigo needle make sure to not have any comments because they take up extra space on the disk
well
thats my style:)
dont use comments
instead
i manually decode eac instruction
also
i use labels
to define sections of my code
guys
i use VSCODE for making my life a bit easier
and theres a problem with it not updating files that have been left in another editor before it ran??
how nice
UPDATE:
MANAGED TO GET LOOPS FOR KEYBOARD WORKING
AND VOTE:
MAKE THE DEVELOPERS DO EVERYTHING, AND MAKE IT HARDER FOR DEVELOPERS OR
MAKE INTERRUPTS AND MAKE IT EASIER FOR DEVELOPERS?
UPDATE AGAIN:
ADDING A CONFIG FILE FOR SETUP
HOW CONFIG SHOULD WORK:
CONFIG FILE WOULD BE 512 BYTES
FIRST BYTE WOULD INDICATE IF SETUP WAS FINISHED, IF SET TO 0, ITS NOT FINISHED (SETUP RESTART)
IF SET TO 1, SETUP FINISH (SETUP SKIP)
(by 0 and 1 i mean ASCII)
MINIMUM REQUIREMENTS ALSO CHANGED:
MINIMUM REQUIREMENTS FOR (MODERN PCs)
1 MB MINIMUM MEMORY
80386
AND FPU (NOT REQUIRED)
SET 2 KEYBOARD
THATS ALL
fpu in kernel ๐ญ
1 mb damn.
im gonna add images so its prob gonna be 1 MB
images for the UI btw
ehmm AuroraOS at 10mb be like:
It needs atleast 20 mb to even run lol
bru
wait what
currently
mine only needs like 10 KB
but considering all the UI and images
and future files
it might end up only at 1 MB
OR EVEN LESS
ehmm limine dosen't even boot at 10kb
flanterm throws out of mem error at 1M
at 10 it gets all the way to FS
my 512 byte MBR configures the FS..
at 17 it can run (M)
here it is
so
34816 bytes
wait
oops
34304 bytes is the total
peak math skills
i like the inefficiency
ty
it's padded with like 33280 0's
eh DOS mixed with graphics kinda
two loop functions
gonna be reduced once the kernel is finished
that do the same thing
its just a placeholder
then two million functions to fill the screen with color n
how do I buld this btw
Bro
just assemble using netwide
and write to image (or just format to the FS he's using and dump)
problem solved
check how the boot sector works first btw
@indigo needle also wym for 70s 80s machines
the IBM PC was released in 1981
Protected Mode came with the 386 only a few years later
your right i need to change it
to 90s machines
cuz they have the requirements i need
Disable interrupts in the boot sector
be more specific also, indicate that it targets IBM PC compatibles
how do I buld this btw
and not my obscure ppc32elzbnmxf board that casually happens to have support for a 3000$ Amiga OS clone
Crazy
Is it open source?
Like you were debating on making it closed source
You can try using old S16's FS
https://github.com/mekebabman/S16/blob/master/s16fs
democracy also allows me to say that the entire license is wrong, speaking of votes
that's not the main problem
Accessing, copying, decompiling or distributing any NilOS code [...] is strictly prohibited
mr tim sweeney ova here you uploaded the code for everyone to see?!?!?
THAT WAS THE OLD LICENSE๐ญ
lemme change it
yall your voting this time on the new license:
not modifieble, or modifiable?
modifiable*
by jean valjean's ghost ask yourself a question give yourself an answer
no matter what licence you use it's NOT going to get modified
because its in assembly?
Yea
i dont know much about license so..
It's a big mess too
Use MIT
Simplest one out there
i'm used to GPLv2 but MIT is good too
lemme just change it
changed
all is good now
you cant modify it, but its open source, and usable
reverse-engineer source code ?
is that in the new license?
@indigo needle Im suing you for breaking the licence of ilyodos
it clearly says "Any permitted redistribution must clearly display the original attribution: "ยฉ 2025 Ilyomaria โ IlyoDOS 1.0 SE""
modified just some parts tho
and yet your copy doesn't display this
so what happens if i violate this license
He can sue you
If it works properly that is
Other than that not much
Passive aggresive letter, actually prob nothing at most
๐
UPDATE:
where SETUP.BIN will reside
honestly i think this DOS wont be that big
the only files thatll take the disk space
are image files
and kernel BIN
One question, why caps?
Why do you need your kernel.bin in your fs for?
๐
in my OS its called boot.asm, and its the MBR
my whole bootloader is the MBR:)
I thought he had it in the ramdisk lol
rip so I can't boot your kernel on my pc
oh
umm
well i do use CSM for my whole PC
im using UEFI natively, but i boot everything on CSM
yeah my system just doesn't have it entirely
my windows boots on CSM
honestly
i want BIOS to be revived
easier then UEFI.. in assembly
uefi is piss easy tho
hm better idea. ||not doing that at all||
and tbh I'm thankful for uefi
embrace c
you can do uefi in asm
idk why you would when you can use c
im very thankful for the blessed soul who came to this mother earth and nurtured us with.. basic input output system..
uefi stands for ultimate bios replacement
we need a petition to bring back BIOS
the u in bios stands for "usable"
exactly?
UEFI: ```// Example using gBS (Boot Services) to find a protocol and then ReadBlocks
EFI_BLOCK_IO_PROTOCOL *BlockIo;
// ... code to locate the BlockIo protocol for a specific handle ...
UINT8 Buffer[512]; // Buffer for one sector of 512 bytes
UINTN LBA_to_read = 0; // Example: reading LBA 0
// Call ReadBlocks function
Status = BlockIo->ReadBlocks(
BlockIo,
BlockIo->Media->MediaId,
LBA_to_read,
sizeof(Buffer),
Buffer
);
if (EFI_ERROR(Status)) {
// Error handling
} else {
// Process the data in the Buffer
}```
BIOS:
mov al, 1
mov dl, 0
mov bx, 0x1000
xor cl, cl
xor dh, dh
xor ch, ch
int 13h```
ez
this reads LBA 0 into 0x1000
from disk 0 (FLOPPY A:)
mhm
also
if ur wondeirng where i got above code
it was in stack overflow..
I DONT KNOW C
๐คทโโ๏ธ
reading a file from the boot partition
uefi:
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *SimpleFs;
EFI_FILE_PROTOCOL *Root;
EFI_STATUS Status;
Status = uefi_call_wrapper(
SystemTable->BootServices->HandleProtocol,
3,
ImageHandle,
&gEfiSimpleFileSystemProtocolGuid,
(void**)&SimpleFs
);
if (EFI_ERROR(Status)) {
// handle error
}
Status = SimpleFs->OpenVolume(SimpleFs, &Root);
EFI_FILE_PROTOCOL *File;
Status = Root->Open(
Root,
&File,
L"test.txt",
EFI_FILE_MODE_READ,
0
);
HAR8 Buffer[256];
UINTN Size = sizeof(Buffer);
Status = File->Read(File, &Size, Buffer);
bios:
first parse find out which drive you need to read (in dl) then parse the filesystem using a filesystem driver (you will 100% need to boot to vbr since there is no way you can do this in less then 512 bytes and it be good)
then you can read the file
I already said that...
that isn't the hard part ๐ญ
wait
lemme show u
bits 16
%define endl 0x0d, 0x0a
bpb:
jmp short start
nop
oem db "ILYOOS1 "
bytes_per_sector dw 512
sectors_per_cluster db 1
reserved_sectors dw 1
num_of_fats db 2
root_dir_entries dw 224
total_sectors_16_bit dw 2880
media_descriptor_type db 0xF0
sectors_per_fat dw 9
sectors_per_track dw 18
heads dw 2
hidden_sectors dd 0
total_sectors_32_bit dd 0
ebpb:
drive_num db 0
db 0
signature db 0x29
volume_id_serial db "ILYO"
volume_label db "ILYOOS_SE1 "
system_identifier db "FAT12 "
start:
configure_boot:
xor ax, ax
mov ds, ax
mov es, ax
mov ss, ax
mov [drive_num], dl```
here
my boot code
oh
its easy
you dont necessarily need to read the filesystem
when
your using allocated fixed sizesa
sizes*
thats for the user experience
but in boot
doesent matter
oh great because I hate being able to mount my boot partition and having the files accessible
valid statement
but
i do sure appreciate the simplicity
of BIOS
both have different purposes
I guess but at the same time if you don't understand uefi you still have alot of learn
well idk if rolling your own bootloader is a good learning experience tbh
still good enough
for some people maybe
like
from this OS
i learned
that putting all ur code in a single file
is bad
and decided kernel.asm is just for the main practices
and not the whole kernel
GUYS FIRST TIME READING TO FLOPPY WITHOUT BIOS
what the
this is like prettending telephones in the 80s were better because they were simpler
UNIX system V7 is better than windows 11
actually even that analogy doesnt really work because bios is not simple
ive never seen a telephone before 1980
im not yapping about whatever it is you are
i have an i think 1985 telephone i still use rn
IBM XT is pretty simple
BIOS is atleast a bit simple in very basic tasks like reading/writing from disk, and printing etc etc
uefi is simpler
i would prob say no
