#PyCoreOS

1 messages · Page 1 of 1 (latest)

blazing timber
#

PyCoreOS is a hobby OS project I started in January 2026.  The initial development was at a snail's pace and I completed the Memory Manager in February 2026.

I have added

  • A multi-privilege level preemptive scheduler.
  • An initramfs root fs.
  • About 30 system calls, most not that interesting and not much different from each other.
  • Multiple mountpoints in the VFS

DOOM - The Currently Completed Most Impressive Work

The coolest thing I have done so far is port DOOM (Linux version 1.10) to run natively in ring 0. still no sound 🙁

  • The C source (57 files) is statically linked into the kernel.
  • It renders into an internal 320x200 buffer and software scales to the system framebuffer.
  • Full PS/2 keyboard support with scancode support.
  • Software synthesizer for music (MUS) and SFX, mixed into the kernel’s audio buffer.
  • WAD files are mapped using a POSIX compatible shim from GRUB multiboot modules.
  • I updated scripts/build.py to build/link DOOM files into the kernel image, and resolved all undefined references.

TODO:-

Get APIC/SMP (Symmetric Multiprocessing) working, to use multiple CPU cores.

Github:- https://github.com/pycoreos-dev/PyCoreOS

GitHub

A minimalist, operating system simulation and desktop environment featuring a retro UI, built-in productivity utilities, system monitoring tools, and classic games. - pycoreos-dev/PyCoreOS

sly ravine
#

very interesting

#

user-oriented?

#

also get your gh links should go here

blazing timber
#

noice!

compact needle
#

2 months?
how 😭
I'm at 3 months already and I'm still on getting apic working

blazing timber
#

insane 😭

#

thanks for the support

#

everything ring 0?

#

nope only doom runs on ring 0

#

rn i am trying to implement a a consistent, friendly GUI for all apps, including smooth rounded corners, shadows, and hover animations; the ability to resize, drag, and close (the “X” should minimize to a taskbar with icon previews); hehe

sly ravine
#

2 months for the project is insane (feature-wise)

blazing timber
#

updated the desktop a lil bit :

sly ravine
#

damn

#

thats something

#

though just a note, focus on the internals sometimes

blazing timber
#

insanity

#

how is this possible in 2 months 😭

#

every weekend i had dedicated like 5 hrs to this thing

sly ravine
blazing timber
#

i code 8 hours a DAY

#

btw this used to be a older project called QuestOS

#

that in started frm like 2024

#

that failed real bad

#

this os has the same source code kinda since i rewrote it

#

also no repository ?

#

nope

#

i have no idea hwo to make a repo

#

make one if want it open source

blazing timber
#

with Mit licence right?

#

how it works

blazing timber
#

yea ppl can make chnages to this os as they like

#

sure then

sly ravine
blazing timber
#

oh?

sly ravine
#

yes, since as they like can break your kernel

blazing timber
#

ohhh so like sm rights over the os but not full ?

sly ravine
#

what here is actually committing to the main branch

#

which is yours

#

everyone is allowed to fork (make their own version)

#

however they like

#

but the thing is keeping your OWN clone

#

fresh

#

and not accepting every merge from any forks

blazing timber
#

ohhh that even better

sly ravine
#

including commercialize it and amke billions and you got 0 cents

#

thats also why more powerful, copy-left license exist

#

namely GPL

#

for example the linux kernel is licensed under GPLv2

#

and XNU is APSL

#

apple public source license

sly ravine
blazing timber
#

great imma make my repo thx for this precious info

sly ravine
#

also which platform

#

github, gitlab or codeberg?

blazing timber
#

github

sly ravine
#

i really wanna see the source ngl

blazing timber
#

u mean QuestOS?

sly ravine
#

no the current one

#

and also QuestOS

blazing timber
#

idk if i can upload it here on discord

#

cuz ~25mb

sly ravine
#

compress?

blazing timber
#

imma put it on github

sly ravine
blazing timber
#

can sent the link is that okay?

sly ravine
#

oh yeah totally

#

people actually expect a link from the first message of the thread

blazing timber
#

imma edit that then

sly ravine
#

got the repo yet @blazing timber

blazing timber
sly ravine
#

cool

blazing timber
#

progress:

sly ravine
#

hmm

#

that should be in build steps

#

the readme is usually not just for build steps

blazing timber
#

so like a description of it?

sly ravine
#

this is my entire readme

blazing timber
#

oh thx for the reference

sly ravine
#

upload?

#

learn how to use git soon

blazing timber
#

okay

sly ravine
#

the build system is insane

#

this is not a kernel shell again

blazing timber
sly ravine
compact needle
blazing timber
compact needle
#

im just watching others debug lol

balmy venture
#

Your OS is so good! Keep going!

blazing timber
#

UPDATE :I transitioned from manual file uploads to a proper Git workflow by initializing a local repository, linking it to GitHub, committing my project as a clean root snapshot, renaming the branch to main, and force-pushing to overwrite the remote history so my WSL PyCoreOS directory became the authoritative source.

#

also updated the OS to use rings

sly ravine
#

as usual i think this project should be using limine

blazing timber
#

imma try implementing it

sly ravine
#

yes

#

also how you test your os with qemu right?

#

note to also try vmware, vbox and bochs

#

and real hw (using CSM)

blazing timber
#

okay

#

can i do it in liek 4 hrs

#

cuz i do have an exam to attend to rn

#

i promise to work on it after

sly ravine
#

cool

#

using limine is better than mb2

#

very good starter pack

blazing timber
#

okay

sly ravine
#

but also

blazing timber
#

?

sly ravine
#

i highly recommend you fix the build system

#

raw python is not a build system

#

the current script offers NO flexibility

#

makefile is just there to run the script

blazing timber
#

so u want me implementing both of these into the makefile?

sly ravine
#

no like

#

do it properly

#

either makefile

blazing timber
#

okay later

sly ravine
#

or a python-based build system

#

just point that out

blazing timber
#

rn i need to run

sly ravine
#

when you have time

#

you can use Makefiles

#

SCONS (if you want python)

#

or Meson

#

but i personally prefer CMake

blazing timber
#

python build system is crazy

sly ravine
#

it can sometimes be nice

#

but this is not

#

here

blazing timber
#

updated the bootloader to limine and it works on VirtualBox ,qemu and my old Lenovo ThinkPad x390

#

could sm1 implement audio to this

#

i already pulled my hair out trying to do soo

sly ravine
blazing timber
#

yep forgot abt

#

that

sly ravine
#

your project will took 1000 years to clone if you keep it this way

blazing timber
#

Just use .gitignore 😭

sly ravine
#

the thing is

#

even if you use gitignore

#

you already made tye damage

#

to the tree

blazing timber
#

Yes

#

mahn

sly ravine
#

so unless you use --depth=1

#

git clone time will explode in no time

blazing timber
#

great my pc is like already cooked

#

now this

sly ravine
#

what?

blazing timber
#

yea kinda

#

the screen is like fractued into 4 pieces

sly ravine
#

about the build systen you switched from make -> raw python to scons -> makefile!?

blazing timber
#

both

sly ravine
blazing timber
#

scons is an altrnative methord

blazing timber
#

imma sent after i come

sly ravine
#

wow, the iso size is 13M

sly ravine
blazing timber
#

idk mahn u told me to switch

sly ravine
#

and choose one

blazing timber
#

the thing abt me is i might mess up smgt and have 15 hrs to debug

sly ravine
#

i never use and, i use or

#

though the gui is insane

#

but sadly, this is an os-in-kernel

#

most straightforward type

blazing timber
#

No userspace?

sly ravine
#

but what you see on screen is not in it

blazing timber
sly ravine
#

and the kernel is like a game

#

its main loop is baked with compositor draw

#

net poll

#

and cli handling

blazing timber
#

insane

sly ravine
#

maybe this better suits at a simulator

#

hmm

#

i think thats actually not a bad idea

radiant juniper
#

still a good project

#

i like it

sly ravine
#

doom isnt too complex to port

fallen bloom
fallen bloom
#

Secondly, unfortunately it's AI generated.

fallen bloom
sly ravine
#

me and @blazing timber is trying to find yesterday

#

and no success

fallen bloom
#

The doom files are so obvious

sly ravine
#

doom?

#

i though its a doom port

#

not even a port

#

just gluing

#

i only looked at kernel sources

#

OOHH

radiant juniper
#

made an os that can handle doom in 5 days

#

idk how to explain

sly ravine
#

quite something then

radiant juniper
#

not very proud, i just copy pasted most of the internals from otos

#

but porting newlib was from scratch

#

if all that was from scratch, this would have took me a week or two lmao. im a fast writer when i actually want to work

#

anyways sorry for offtopic

fallen bloom
#

The only possible way to do that is with AI.

#

You didn't use AI you just copied OTos which is also possible

#

Copying stuff from other OS's..

radiant juniper
#

otos mine so i have all rights lol

fallen bloom
#

just that you cant claim that you can do all of that in five days without using some sort of AI.

#

or copy from others

radiant juniper
#

no ai, by the way

fallen bloom
#

but why newlib

#

anyways this is offtopic

rigid knoll
#

what happend here?

sly ravine
rigid knoll
#

is that good or bad?

#

this is the github repo btw

rigid knoll
sly ravine
rigid knoll
#

ohh

sly ravine
#

too bad i don't have the repo

#

i deleted it

rigid knoll
#

then why is this post still online?

sly ravine
#

after seeing the insane build system

rigid knoll
#

what was it?

sly ravine
sly ravine
rigid knoll
#

damn

sly ravine
#

it used to be raw python and makefile

#

which was even worse

rigid knoll
#

The gui looks good and also doom u sure he used AI?

sly ravine
#

the os have doom in days

sly ravine
#

AI are designed for webapps

#

*at least whats its not suck

rigid knoll
#

so he did use ai?

sly ravine
#

likely

#

the 5.5KLOC compositor is comment-less

#

and the doom glue contains quite obvious traces

rigid knoll
#

comment-less? he might have removed them

sly ravine
rigid knoll
#

again if he was using AI to make this

#

then he might not want to be get caught

#

so he removed them

sly ravine
rigid knoll
#

and when he did got caught then he did remove everything and left

sly ravine
sly ravine
#

when he removed it

#

its a red flag

#

initially no one thought this is vibe coded

rigid knoll
#

then i am 95% sure it is ai

#

since he deactivated or deleted his account

#

see more proof

sly ravine
#

yeah

misty hedge
#

At this point I’ll just admit when something is fully AI

rigid knoll
#

waste of everyone's time

sly ravine
misty hedge
#

I kinda liked his UI

#

Looked pretty

sly ravine
#

though im quite impressed by the ui

sly ravine
#

i wonder how much tokens

rigid knoll
#

he is likely the no 1 guy who caused the ram shortage

misty hedge
#

Claude is honestly the best for programming, but programming a full OS in Claude on a 20 dollar plan would still take over 4 months because of tokens and how precise you need to be with everything

misty hedge
#

I’ve used Claude to fix some issues… and used Codex to help me start.

#

Though don’t make an OS with ONLY AI

#

Because where’s the fun in that?

sly ravine
#

im not hostile against ai

#

just dont make slopware

rigid knoll
#

coffeeOS

#

or smgt like that

misty hedge
#

For my start, I used Codex to make my interpreter and compiler for my programming language, I designed my language myself. Then I… used AI to make the boot sectors, and to set up MINIX V1 and helping me out with my existing TRAPS design. Though things like the CLI, my memory allocator, and other stuff were quite easy to do myself

#

I’ll replace the AI bits in the future

misty hedge
rigid knoll
#

ohh thax

#

*thx

sly ravine
#

does it comes with a pack of sugar

rigid knoll
#

nah black coffe

sly ravine
rigid knoll
#

kinda but with AI

sly ravine
#

what

blazing timber
#

Never judge a OS by it's aesthetics true

rigid knoll
#

to debug chill not like that guy

sly ravine
#

@blazing timber btw they actually doesnt use the channel

blazing timber
rigid knoll
blazing timber
#

oh #1461674570846175417 ?

sly ravine
#

was enjoying my meal