Dernière mise à jour le 06 Mars 2022

Cpcdos est simple éducatif libre innovant

Cpcdos OSx est un co-noyau monolithique modulaire multitâche pour systèmes x86.

Ce projet open source et gratuit a pour but de faciliter la création d'un système d'exploitation 32bit pour tous les passionnés de développement.



Résolutions d'écran SVGA de haute définitions


Support de programmes C++ Windows (.exe) et de LLVM/Clang


Rendu 3D avec GZE et OpenGL


Support réseau


Mise à jours 'automatiques'


Programmation simplifiée


Communauté et support


Open source


Compétences requises

Aucuns requis particuliers!
Cpcdos est éducatif, ouvert à tous, que te sois débutants ou programmeur régulier.
De la méthodologie logique, une petite base mathématique, quelques termes informatique, et de la patience te suffira amplement !


Exemple de code CpcdosC+

CpcdosC+ est hybride ! Français et Anglais ! Tu peux voir un aperçu de la syntaxe anglaise en choisissant Anglais en haut a droite

Bien qu'il est possible de coder dans d'autres langages, afin de te convaincre encore plus qu'il est possible de coder simple, il faut te montrer deux exemples!

Exemple 1

Création d'une fenêtre transparente, et d'un bouton qui affiche un message


Apercu visuel

Syntaxe Française

fenetre/ Ma_Fenetre
    .titre          = "Ma premiere application"
    .px             = "100"
    .py             = "20"
    .tx             = "250"
    .ty             = "150"
    .Opacite        = "200"
    .Parametres     = ""
    .CouleurFenetre = "050,050,250"
    .CouleurTitre   = "055,055,255"
    .CouleurFond    = "050,050,250"
    .event          = ""
    @#Handle_Fenetre creer/
Fin/ fenetre

bouton/ Mon_Bouton
    .Handle         = "%Handle_Fenetre%"
    .Parametres     = "IMGAUTO:2"
    .PX             = "20"
    .PY             = "20"
    .tx             = "100"
    .ty             = "30"
    .opacite        = "255"
    .texte          = "Clic moi!"
    .Image          = "%OS_GUI%/Buttons/BTN_BLUE.png"
    .event      = "%_EXE_PATH_%"
    creer/
Fin/ Bouton

Fonction/ Mon_Bouton.MouseClic()

    msgbox/ Hello ! :-)

Fin/ Fonction

Exemple 2 :

Connexion, envoi, réception, et fermeture d'un serveur tcp

Syntaxe Française

// On se connecte, et on récupère le numéro de handle du client
@#Handle_Serveur client/ 192.168.1.4:1234

si/ "%Handle_Serveur%" > "0" alors:

    // Demander à l'utilisateur de taper un message (q:Question)
    Txt/ Please enter the message :
    fix/ /q Mon_Message

    // Envoyer le message grâce au numero de handle connecté
    client/ /envoyer:%Handle_Serveur% %Mon_Message%

    // Réceptionner le message reçu via le numero de handle connecté
    @#Reception client/ /recevoir:%Handle_Serveur% /Attendre
    txt/ %Reception%

    // Fermer la connexion
    client/ /stop:%Handle_Serveur%

Sinon:

    // Ici, le numero de handle est inférieur à 1, on affiche alors un message d'erreur
    txt/ !!! Erreur lors de la connexion au serveur !!!

fin/ si

Si tu connais le langage C/C++, tu sais bien qu'il te faut beaucoup plus de lignes à écrire ces deux exemples ! En effet, Cpcdos gère pour toi la mémoire, les instances, des opérations ... bref, presque tout ! T'as juste à te servir !
Bien évidemment tu peux approfondir pour aller plus loins dans le code CpcdosC+, et également utiliser le C++ pour écrire ton programme ou ton système d'exploitation.

Nous t'invitons à découvrir cpcdos dans les onglets en haut de ton écran.