Kernel Microsf01 Cpcdos OS2
La page ne tien plus de mise à jours, RDV désormais sur le nouveau site ci-dessou
http://cpcdos.fr.nf/
Système d'exploitation CraftyOS basé sur Cpcdos OS2.0.5
( 16 juillet 2013)
Emulation sur tablette , Android
Aperçu du fichier de débugage sur Kernel avec CraftyOS exécuté (sans la séquence ini):
Depuis le 15 Juillet 2011
Dernière mise à jour 3 avril 2013
But du projet (ancien article qui parle de la 2.0.1) :
Nouveaux screenshots, tout en bas !
anciene version (1.0 & 1.1) ICI
Aimez ma page facebook du Kernel :
https://www.facebook.com/pages/Kernel-Cpcdos-OSx/479523255400921?ref=ts
Manuel du Kernel & programmation sur l'interface (non terminée)
http://cpcdos.e-monsite.com/pages/documentation.html
Nouveautés du Kernel
- Mise à jour du Kernel en version 32 Bit
- Accès au mode protégé
- Accès a 4Go de mémoire vive (RAM) (3.32 Go)
Et encore d'autres, allez voir sur ma page FB (+aime):
https://www.facebook.com/pages/Kernel-Cpcdos-OSx/479523255400921
Je le redis a tous qui me pose cette question
Non Cpcdos n'est pas un "OS" ! C'est un KERNEL !
L'OS , c'est VOUS qui le faite AVEC le KERNEL !
A part de tout , je fais actuellement un OS opensource sur ce kernel
que je suis entrain de développer..
( 32 bit émulé sur du 16 via DMPI* )
*( DPMI (DOS Protected Mode Interface )
Qui fonctionne sous DOS.
Accès jusqu'au au mode 32bit sur la carte graphique avec le VESA ( carte obligatoire pour le mode IUG)
Le développement se fait sous CpcdosC+ , Batch ( ms-dos ) ,
et les compilateurs FBASIC + DPMI, Assembleur 16bit 8086 Tasm et Nams.
(CpcdosC+ , est un langage de programmation en développement avec Cpcdos)
Voir : > CpcdosC+ ICI
Ou la documentation/manuel du CpcdosC+ :
http://cpcdos.e-monsite.com/pages/documentation.html
NOUVELLES :
(Source)
04/05/2013
Cpcdos OS2.0.5 + CraftyOS 1.0 ( en développement )
Booté sur USB
ACER ONE D270 - Intel GMA360 1.6Ghz Go Ram 8Mo Vidéo RAM
Résolution 800x600x32
Et tourne en moyenne à 25%
28/04/2013
27/04/2013
25/04/2013
25/04/2013 - Nouvelles mises à jours (OS2.0.5)
- Le SAFE LAUNCHING
Je viens de finaliser le système de lancement sécurisé/sans échec
Dans la console, pour lancer dans ce mode, il suffira juste d’exécuter ceci :
demarrer/ /safe
pour charger le minimum des fichier paramètres et configuration de base de l'OS en cas de problème
et
iug/ /safe
pour lancer l'interface graphique avec une basse résolution et Bit de couleur
que j'ai fixé à 800x600x16, puis enlever les effets graphique comme la transparence et les ombres...
- Les MsgBox sont maintenant programmables via la console ou dans un fichier de commandes (afficher un message personnalisé avec un degré d'alerte)
- Possibilité de "poser des question à l'utilisateur" en console
avec un nouveau paramètre ( /q comme Question ):
fix/ /q MA_VARIABLE
En gros une fois cette commande exécuté, le Kernel attend des entré au clavier que vous validerez avec la touche ENTRER, puis le contenu tapé est enregistré dans MA_VARIABLE
- Nouvelle commande " Pause/ "
( en console ) Permet de mettre en pause le système, jusqu'a l'utilisateur presse une touche
Si cette commande est accompagné d'une valeur, c'est le temps en Milisecondes que le système reste en pause
ex :
pause/ 1500
le système reste en pause 1sec et 500 milisecondes
- Nouvelle commande " touche/ "
Permet de récupérer et l'enregistrer dans une variable la touche que l'utilisateur à pressé sur l'instant
pratique pour les jeux vidéo!
si cette commande est accompagné du paramètre /p
alors le Kernel se met en pause jusqu’à l'utilisateur ai pressé une touche puis elle est enregistré dans une variable
- Explorateur de fichiers en 2 modes ( Liste et Icones ) toujours en codage ;-)
- Possibilité de LISTER toutes les variables en mémoire
- Possibilité de LISTER toutes les propriétés des fenêtre et objets en mémoire
Puis beaucoup d'amélioration et d'ajout de fonctionnalités.. :)
18/04/2013
06/04/2013
1/04/2013
31/03/2013
30/03/2013
- - - - -
28/03/2013 (Jour de mes 18 ans lol)
25/03/2013
Voici une nouvelle vidéo pour la présentation du SCI Version 2.2 du Kernel Cpcdos OS2.0.5
Ps: Il tourne sur CraftyOS en même temps :')
20/03/2013
- - - -
16/03/2013
3/03/2013
FONCTIONNEMENT du noyau :
Le noyau ( Kernel ) de Cpcdos OS2 est un Noyau monolithique modulaire multitache préemptif ( ou plutot Coopératif )
Voici le fonctionnement générale du système IUG ( Interface Utilisateur Graphique ) :
LC (Lignes Commandes) :
Partie en lignes de commandes semblabe à la partie console
Il permet l'introduction de l'interface "Console" en ligne de commandes
IUG (Interface Utilisateur Graphique ) :
Comme son nom l'indique , c'est tout simplement l'interface graphique où l'utilisateur
interagit aux objets etc...
Console :
Partie où l'utilisateur entre ses commandes CpcdosC+
et peux être aux commandes de la partie Kernel
Base de REGISTRE :
Partie du système , il fournis et enregistre les informations et paramètres
système du Kernel.
Il est aussi liée a la Console car on peux interagir au registre via la console avec la commande REG/
THREAD PROCEDURE ET APPLICATION :
Partie où les information des propriétés et objets sont placée , et utilisé afin que la partie Kernel dessine
sur l'interface
MOTEUR CPCDOSC+ :
Partie du système où toutes les commandes CpcdosC+ sont analysée et éxécutées par la partie KERNEL
MATERIEL :
Partie où le Kernel gère le clavier , souris , affichage , imprimantes , USB etc...
KERNEL :
Partie NOYAU .. tout simplement celui "qui gère tout"..
DEBUG :
Partie assez importante qui enregistre ou affiche à la console , toutes le activitées du Kernel !
Schémat du fonctionnement du noyau LC ( Ligne de commandes )
Qu'en suite , je rassemble partie LC et IUG pour former un noyau unique :)
Ce Kernel servira aussi aux amateurs désirant de créer leurs propres systèmes d'exploitation tout
à fait autonome avec simplicité ! Cet a dire ,
que cela évite l'écriture Assembleur
Ce noyau intègre le langage de programmation , le CpcdosC+
L'aventage de ce langage , c'est qu'il est utilisé pour développer SUR ce noyau
et une grosse partie du programme est écrit dans des fichiers texte contenant du code CpcdosC+
non compilé " binaire "
Ce système a but de Booter sur une partition
Charger les drivers ( 16 bit uniquement )
Lancer la phase d'initialisation du noyau
[ Prend pour l'instant 4 / 5 secondes ]
Lancer ensuite l'OS
- - - -
Son interface est principalement en lignes de commandes ( et après , graphique) ,
Son interface graphique est de 32 bit couleurs et une résolution de 1024x768 ( ou plus : 2048p )
( 1024x768x32b )
32 milions de couleurs
enfin , en gros , on a le choix :
320x200 , 320x240 , 320x400 , 320x480 , 400x300 , 512x384 , 640x350 , 640x400 , 640x480 , 720x480 ,
720x576 , 800x600 , 1024x768 , 1152x864 , 1280x960 , 1280x1024 , 1600x1200 , 1920x1080 , 1920x1200 , 1920x1440 , 2048x153
et un choix de couleurs entre 8 , 16 , 32 bit .
Tout cela en utilisant le SVGA et le VESA sur la carte graphique ;)
le language de programmation utilisé en ligne de commandes est ausi le CpcdosC+
avec CPCMD.
Biensûr et heureuseusement q’un programme developpé en CpcdosC+ fonctionne
aussi sur windows ! ;)
( parcontre y a problème sur windows vista / 7 car en utilisant la commande "ecran/" dans le code CpcdosC+, windows refuse le changement de résolution d’ecran ( car c’est du 16 bit ) )
Mais sous DOS , il faut biensûr sur la carte graphique supporte le SVGA :)
Pour vous donner une idée de l'ecriture assembleur , voici un exemple simple pour JUSTE
afficher un massage a l'écran :
.386
LEMess segment use16
assume cs:LEMess , ds:LEMess , ss:LEMess
Org 100h
debut:
mov ah,09h
mov dx,offset message1
int 21h
ret
message1 db 10,13," D‚marrage ...",10,13,'$'
LEMess ends
end debut
Mdr'
Bon pi , j'ai trouvé un super code pour pour passer en mode protégé :
gdt:
db 0, 0, 0, 0, 0, 0, 0, 0
gdt_cs:
db 0xFF, 0xFF, 0x0, 0x0, 0x0, 10011011b, 11011111b, 0x0
gdt_ds:
db 0xFF, 0xFF, 0x0, 0x0, 0x0, 10010011b, 11011111b, 0x0
gdtend:
gdtptr:
dw 0 ; limite
dd 0 ; base
OSEF.. x)
- - -
Fonctionnement du système ( en cours de rédaction ! )
Lorsqu'une application se lance , le CSEE ( Code Secondaire d'Execution d'Evènements ) fait appelle
au SCI ( Service Création et Initialisation )
- - - - - - - - -
Le SCI ( Service Création et Initialisation ) est un service du noyau permettant de créer des objets
C'est pour l'instant le seul service que l'orsqu'il est en execution il peux faire suspendre complètement
le système pendant ~10 à 500 ms l'ors de la création d'un objet via ce service
- - - - - - - - -
Le PAP ( Procedure d'Actualisation des Propriétes) est une procedure qui permet de réactualiser les propriétes
Ceci permet de réafficher la fenêtre tant que focus , l'orsque l'on déplace la fenêtre , on la séléctionne etc ..
- - - - - - - - -
Le CSEE ( Code Secondaire d'Execution d'Evènements ) est le code qui se trouve sous un objet
exemple :
( CpcdosC+ )
---------------------------------------------
Si on clique sur un bouton
proc/ monbouton1_CLICK()
{ ICI le CSEE }
fin/ proc
---------------------------------------------
CSEE fait appelle au SCI avec les paramètres pour créer la fenêtre ,
Il inscrit dans un tableau dynamique de valeurs :
les propriétes , les variables
et en dernier , les objets
Qu'ensuite , le service SCI dans une procédure , il fait appel a une boucle qui va chercher le bouton
correspondant à la fenêtre pour l'afficher ..
L'orcequ'il y a une interaction avec la barre de la fenêtre , la partie application fait appelle au PAP par le noyau
pour appeler ensuite le SCI pour actualiser le "dessin" de la fenêtre + les objets qui vont avec.
- - - - - - - - -
Ce système est en cours d'amélioration !
J'ai découvert un bug sur le multitâche ( rien de grave )
C'est juste quelques millisecondes perdu mais ce n'est rien ! ;)
Il faut attendre l'initialisation complète d'une fenêtre avec ses propriétes , ses objets avant que le systeme soit utilisable car
l'orsqu'une fenêtre s'ouvre , il met un certain temps ( genre 10 à 500 ms ou plus celon ne nombre d'objets )
( Il initialise pas les fonctions [ le code secondaire d'execution d'un evènement ] , car j'ai testé ,
le Service Création / initialisation du noyau immobilise complètement le système et pert
plus de 1 a 1.50 secondes de chargement ]
Donc pendant cette période ,
le système entier est suspendu tant que le service de création / initalisation d'une fenetre du noyau aura pas fini
sa tâche ! ..
Ce n'est pas grave , c'est juste ~300 ms perdu pour chaque ouverture d'une fenêtre ;P
- - - -
Mais j'ai bien très travaillé ce noyau pour ce système préemtif , cet a dire ( apart pour le bugbug de la fenêtre )
que le noyau index dans un tableau dynamique de valeurs deTOUTES les fonctions à l'objet , TOUTES les variables ,
TOUTS les objets attribué TOUTES les propriétés ,
de TOUTES LES FENETRES ! ,
( et optionnellement , il enregistre ce tableau dans un fichier de pagination
sur le disque dure et dans un espace de stockage virtuel sur la ram
Oui sur la ram car l'analyse du fichier pour restaurer est 10x plus rapide que dans le disque dure
et Oui sur le disque dure en cas de fuite/plantage de mémoire ! )
( oui je sais , normalement un fichier de pagination est utilisé l'orsque la ram est complète ,
mais j'ai développé ce système de façon qu'il soit dynamique pour pouvoir mettre
ces infos comme un flux de donnée dynamique dans ce fichier dans le cas où si une application plante ! )
<< Grâce à ce système n pourra le restaurer une application planté
partir du fichier de pagination.. >>
Mais si c'est carrément le noyau / ou l'ordinateur qui a planté ,
Le noyau ( avec accord ) pourra complètement restaurer le tabeau
( on le voit pas dans le schémat , mais le tableau dynamique n'est pas en relation direct avec le fichier pagination
pour des raison complèxes , car c'est les services LOGICIEL qui ordonne une inscription dans le tableau
qu'en suite il fait une dublication dans le fichier pagination , Mais PAS le tableau dynamique qui incrit
dans le fichier pagination , sinon il faudra lui créer son propre service ce qui rend le système complèxe ..)
Ensuite si c'est qu'une simple application qui à planté , la restauration de fera à partir de la ram :)
- - - -
Dans les prochaines version de mon noyau , je prévoirai pour utiliser les autres coeurs d'un processeur
cet a dire utiliser le maximum de ressources de la capacité du processeur pour pouvoir étendre l'execution des services systèmes
dans le 2eme coeur du processeur , soutout pour le SCI !!!
En résumé , le SCI fait << Buguer >>
( en cours de rédaction ! )
Voici les testes matériel :
Configuration minimum requis :
Processeur : 800Mhz/1Ghz Intel 80x86 ou Amd ( AM286 )
Ram : 256 mo
Carte graphique : 8 mo supportant le VGA , EGA , CGA et surtout le SVGA
Disque dure : ( non définit , programme non terminée )
Voici la liste des testés processeurs fonctionnant sous Cpcdos OS2 :
INTEL
Intel 8086
Intel 286
Intel 386
Intel (P5) : Pentium
Intel (P6) : Pentium II , Celeron , Pentium III
Intel ( NetBurst ) : Pentium 4
Intel (P6) Core 2 Duo
AMD
Amd Am286
Amd Am386
Amd K5
Systèmes BIOS
Phoenix , Award Software
( Energy )
Marques Systèmes
Acer , HP , Dell
( problèmes sur les PC IBM pour cause de la carte graphique )
LA VIDEO FUNNY ( Exemple d'utilisation du KernelOS2.0.0) (JANVIER 2012) TESTE N°1 :
Cette vidéo tourne avec Fastone capture et avec l'emulateur Dos : DOSBox 0.74
et les chiffes en haut a gauche c'est l'fps ( de fraps ) car DOSBox tourne sous l'SDL
Vidéo TESTE N°2 Juin 2012 , tout en bas de la page
Cette vidéo montre pas un Système d'exploitation , mais un exemple d'un résultat/utilisation du Kernel Cpcdos OS2
Screenshots :
L’ors de son premier démarrage [Image Fixe du bootloader DOS] ( ancienne photo mise à jour 1 décembre 2012 )
Boot écrit en assembleur 80x86 en NAMS ( boot principale ) et TASM en secondaire
ANCIEN ECRAN DE DEMARRAGE :
Là , il charge tous les pilotes Dos
parcontre il y a une mitraillette de scintillemement l'ors de l'installation du pilotes graphique xD
et des bug t-elle que des bref vive traits de couleurs qui reste apène 0.5 ms..
BREF
NOUVEL ECRAN DE DEMARRAGE :
Annimation sous émulation 80x60 :
Installation des pilotes Souris , clavier , USB ( pas bien en point.. ) , et CD- ROM
Bon sur la photo j'avais pas fini le fichier BOOT-SF.COM , donc il chargai puis il coupait ( mais plus maintenant )
Là , il met en mémoire RAM le Kernel entier , puis l'execute , et lance les premières instructions
( prise en photo a partir d’un appareil a tof )
Premières photos, au plus récent
Voilà une interface graphique généré par le noyau Cpcdos OS2
( du plus vieu au plus récent ! )
- - - - -
( PREMIERE PHOTO DE l'INTERFACE GRAPHIQUE Octobre 2011 )
Début de développement le 15 Juillet 2011
un peux plus près :
Il y a aussi un jeu de Focus ( séléction )
Avec la souris je séléctionne en dernier "Ma 5eme fenetre"
Avec ma souris je séléctionne "Ma 4eme fenetre"
Puis je séléctionne la 5eme et la 3eme
avec 100 fenetres basiques vides
Janvier 2012
j'ai testé les performance CPU avec plus de 120 objets de différentes couleurs dans une fenetre , sans lag ! :D
Pareil mais avec plus de fenetres , plus d'objets, et plus de couleurs pour aussi tester la carte graphique :)
Fevrier 2012
Juin 2012
TESTE N°2 ( JUIN 2012 ) Cpcdos OS2.0.1 :
Directement filmé avec un émulateur Dos ( DosBox ) ;)
Teste de développement d'interface graphique en CpcdosC+
Le Kernel peux aussi gérer la translucidité :Translucidité
Avancement ( 22/07/2012 )
( 20 / 08 / 2012 - DOSBOX )
Ce qui se passe juste derrière l'ecran quand le kernel est en execution ;)
mais là c'étais à l'arrêt :P
16/09/2012 ( Matin )
21 novembre 2012 - au lycée
La console - Sur un vieux Toshiba Satellite
Jouer encore avec les couleurs ^^
Lors du lancement d'un OS
25 Novembre 2012
Avancement de l'OS Cpcdos sur le Kernel en CpcdosC+
ps : Bon je pense que les caractères de la barre d'applications sont un peux gros ^^
Au lycée (En STI)
17/02/2013
Vos avis ? :)
Il y aura regulierement est screenshots du systeme ajouté ou mises a jour.
En ce moment sur le noyau OS2 dans la procédure d'interface grahique ,
avec mon temps , je corrige pleins de "bugs"
il me reste à finir le système d'accès en d'écriture au registre
je comence déjà un OS sur ce Kernel , et à la prochaine sortie , ce code sera OpenSource
- - - - - -
Il aura comme fonctionnalitées sur l'interface graphique :
Ouverture
femeture
rezisement
déplacement
agrandissement
réduction
Lockage ( verrouillement ) / délockage ( Déverrouillement )
Icone ( 4 , 8 , 16 , 32 bit couleurs )
Boutons
Images ( 4 , 8 , 16 , 32 bit couleurs )
Option
Glisseur
Cocheur
Cadre
Liste
TexteBox
Label
et
Timer
1. 26/01/2013
on pourra télécharger ton OS quand ?
2. 17/09/2012
Personne pour répondre sur le forum? :)
3. 19/08/2012
merci de me m'avoir répondu :)
Surtout ne te décourage pas sa serais dommage vu déjà l'avancé de ton kernel :)
Sinon après je n'est plus vraiment de question sur ton kernel mais plus des questions sur tout ce qui est OS kernel en général mais c'est plus des questions de compréhensions de leur fonctionnement.
Donc je sais pas trop si c'est le bon endroit pur les poser^^
Parce que là je suis en train de flooder tes commentaires^^"
Le 19/08/2012
Bein tout simplement tu va sur le forum , et tu crée un nouveau sujet et tu commence :) : http://microsf01.e-monsite.com/forum/fonctionnement-cpcdos-os2/ ( dans nom email et tout .. ) :)
4. 18/08/2012
Ok pas de problème ;)
quand penses tu sortir la première version public de ton Kernel OS2.0.1 avec ton OS? :)
Sinon en regardant ton site je me suis aperçu que certains liens étaient morts :(
Par exemple ton jeu Ptit con n'est plus disponible :/
Autre petite question (tu dois avoir l'habitude que je te pose des question :P):
As - tu codé ton OS en CpcdosC+ ou en un autre langage?
Le 18/08/2012
La première version était censé de sortir fin Août , mais en retour d'Espagne (du 16 au 1er aout) , au parking on m'a volé mon ordinateur portable sous mes yeux où il contenait les dernières mises à jours de mon Kernel , je suis rentré le 1 Aout et j'ai acheté un nouveau PC portable , j'ai pu récupérer la dernière sauvegarde du 15 Juillet sur un serveur de sauvegardes a un ami , donc j'ai perdu 2 semaines de travail , et j'ai perdu de la motiv en se moment mais bon.. Sinon je ne sais pas quand il pourra sortir prochainement . Oui effectivement le Serveur où contenait le ZIP du Jeu à changé les nom de liens , mais j'ai corrigé cela ;) Et il y a aussi la vidéo tutoriel que je viens un instant de publier pour créer un terrain sur ce jeu : http://www.youtube.com/watch?v=JO7AIFRpkrE Eu bien sure , mon Kernel est fait pour que l'on puisse coder du CpcdosC+ pour pouvoir créer un OS mais bien évidement , a la sortie du Kernel , il y aura un petit OS complètement OpenSource et modifiable dans le pack de téléchargement Comme ça vous pourrez voir comment ça fonctionne et pouvoir créer un OS sur ce Kernel :) Il y a le manuel du Kernel que j'ai écrit mais il n'est pas du tout terminée : http://microsf01.e-monsite.com/medias/files/cpcdosc-4.pdf Autres question ?! :)
5. 18/08/2012
Merci une nouvelle fois encore de m'avoir répondu si vite :)
Par contre printf("coucou toi\n"); c'est du C pas du C++ ;)
Je pense ne plus avoir vraiment de questions (si j'en ai tkt je n'hésiterais pas :) ), mais je voudrais savoir: où as tu appris ce dont tu avais besoin pour coder ton kernel et comment t'y es tu pris (pour le coder)?
Si j'ai bien compris tu as, en plus d'avoir coder ton kernel, codé ton OS c'est ça?
Pourrais tu me montrer les sources de ton kernel et/ou de ton OS?(ne t'inquiète pas je comprendrais parfaitement que tu refuses =) ).
salut et merci encore une fois d'avoir pris le temps de répondre à mes questions :)
Le 18/08/2012
Salut Ah oui effectivement , autant pour moi ! x) J'espère que t'en a encore ! :P ( pour partager au public ) Bein , j'ai du apprendre l'assembleur pour coder un boot ( mais finalement j'ai utilisé celui de Microsoft , le fichier IO.SYS ) Coder un intro en NASM & TASM Ensuite apprendre le Basic , du compilateur , j'ai pris celui du PDS7.1 ( Basic ) codage 16 bit (BC.EXE) Vu que je ne prévois pas d'exécution sur les systèmes OS/2 , il est en mode Réel :/ Puis apprendre le MS-DOS (7.1) dans les cas où je fait appel au DOS dans mon Kernel qui "peut" être utile , c'est pou cela que je le garde :) ( Sur ma première version de Cpcdos ( OS1 ) , du C pour je ne sais plu quoi , mais maintenant sur la OS2 yen a plu ) Donc Assembleur , PDS7.1 (QBASIC) , MS-DOS Pour les sources :/ bein pour l'instant je préfère pas dévoiler celui du Kernel Mais je te le dis , pour la première sortie de mon Kernel OS2.0.1 , il y aura la source Assembleur & de l'OS , mais pas du Kernel Puis si mon Kernel arrive bien à se faire connaitre , à s'utiliser et tout , pour les prochaines version , je dévoilerai ma source avec la licence BSD d'où tous les droits sont réservées. Comme le Kernel de Linux tien ! ;) Mais derien :)
6. 17/08/2012
Salut et merci d'avoir pris le temps de répondre à mes questions :)
Pour ton site je l'ai trouvé en faisant des recherches sur google car je souhaiterais faire approximativement la même chose que toi :) (je dois avoir vu le lien vers ton site sur le site du zero je crois et il me semble aussi l'avoir vu sur un autre forum)
J'ai quelques dernières questions à te poser (enfin je crois, je suis embetant un :P) :
Tu as dit qu'il y avait pour ton kernel 2 formats (.CPC et .CPCB)
le .CPC je vois à peut près mais je ne comprend pas comment tu fais pour que ton kernel "lise" les instructions "binairifiés".
Et enfin comment les "comprend-t-il" c'est à dire que si il lit une instruction (même pour les .CPC) comment sait - tu quel opération effectuer? (As - tu mis une table de conversion d'opcodes ou quelque chose comme sa sur ton kernel?(je pense que oui mais je vois pas trop comment le faire :P))
merci de tes réponses et comme dis dans mon précédant post très bonne continuation :)
Le 17/08/2012
Reuh :) Mais de rien ^^ non tkt je répond a tout moi :) Bref bein .CPC c'est format texte ! c'est pas "binairifiés" , le format .CPCB tu voulait dire non ? Si c'est ça , bein enfaite c'est simple , ya 2 cas de figures "binaire" - ya les instruction que le compilateur convertit en Assembleur , puis fait la compilation en un fichier (lib ou executable) Exemple sur windows ou autre : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ( EN CONSOLE ! ) Le fonctionnement d'une compilation genre en C++ , En Basic ou visual basic , exemple : for boucle = 1 to 15 ' les instruction ici vont être exécuté 15 fois next boucle ensuite , à la sortie de compilateur en Assembleur , il va te sortir ca : mov cx , 15 boucle: ' les instruction ici vont être exécuté 15 fois loop boucle Puis ça te compile en un fichier lib ou exécutable :) 2 EME EXEMPLE : en C++ pour ecrire un message sur console , c'est printf("Coucou toi !/n"); en vb : Print("Coucou toi !") Puis quand le compilateur fait son travail , il va te sortir ca : mov ah, 09h mov ds, offset m1 int 21h ret m1 db "Coucou toi !",'$',10,13 Et après il te compile ça "binairement" ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Puis ya les instruction "binaire" qui gardent leurs même forme , mais "codé" , crypté , cet a dire ex : Au début , en .CPC T'a la commande : txt/ coucou %variable% et quand il va te convertir en format .CPCB il va te sortir ( Exemple ! ) : 5$4!@fjaè54!#562"18è # > Et ensuite pour lire ce fichier .CPCB , le Kernel va décoder ligne par ligne , il va donc exécuter cette commande : decode/ VARIABLE= 5$4!@fjaè54!#562"18è # et ensuite en résutat : VARIABLE = txt/ coucou %variable% et ensuite le Kernel peut exécuter la commande txt/ coucou %variable% :) Compris ? pose moi encore des question si tu veux , je te les réponds !! :)
7. 17/08/2012
Bravo mais alors là, super bravo!! :D
sérieux super projet je te respecte là :P
Mais dis moi, comment as tu creer ton propre compilateur?
bonne continuation
Multi Geek
Le 17/08/2012
Salut Anonymous & Multi Geek x) Je vous remercie pour vos appréciations , cela me fais beaucoup plaisir :) Petite question, où avez vous trouvé mon site ?! ^^ ps : c'est pas un OS , mais un Kernel , l'OS , c'est VOUS qui le créerez par dessus ! ;) Bref Bon pour répondre a vos question qui m' alaire pareil Mon "Compilateur" ou plutôt dis , interpréteur du moteur CpcdosC+ n'est pas en générale un "Créateur d’exécutables" c'est en particulier celui qui fait l'interaction entre le fichier qui contiens les instruction qui permet au moteur CpcdosC+ d'utiliser des procédures du Kernel afin de faire fonctionner ce dernier en gros Oui on peux créer des exécutable , mais c'est pas des exécutables compatible Windows / DOS / MAC , ya Juste le démarrage , installation des pilotes & l'execution qui est compatible DOS , qui est lisible pas Windows , mais si il y a l'instruction de changement de résolution d'écran , les version supérieure à Windows XP ne fonctionnerai pas. Il y a 2 format pour mon Kernel L’extension des exécutables Cpcdos c'est .CPC ou .CPCB La différence entre les deux extensions c'est que .CPC c'est un simple fichier exécutable format Texte , totalement modifiable avec bloc notes par exemple ! ^^ Puis le format .CPCB qui lui est un exécutable aussi, mais format "Binaire" / "Crypté" , et donc non modifiable !! ( définitif !) Bref Donc mon "compilateur" , enfaite c'est très simple Quand mon Kernel est exécuté , si le système ( ou l'utilisateur ) veux lire un exécutable CpcdosC+ , il exécute cette commande suivante : exe/ {fichier} /l:{label (optionnel) } Puis le moteur CpcdosC+ via la commande exe/ va lire ligne par ligne les instructions qui se trouve dans ce fichier Puis exécute la commande ! tout simplement (Si c'est une commande qui requière le mode IUG , il fait appel au Service SCI c'est une commande qui interfère sur l'interface utilisateur Graphique !) Bref En Bref Soie tu code ton OS en et tu l'execute au Format .CPC avec un simple editeur de textes Ou soie du le crée aussi en texte , mais ensuite tu exécute une commande CpcdosC+ ( qui est en cour de développement ) qui permet la compilation TEXTE en BINAIRE afin que le contenu soie "chiffré" / "Crypté" , in-modifiable ( Comme les .exe ) = Format .CPCB mais je développerai une application sur le Kernel en CpcdosC+ pour les développeurs qui permet le Débogage , ( si vous savez pas ce que c'est qu'un Debug > http://fr.wikipedia.org/wiki/D%C3%A9bogueur ) ( Mais si l'auteur de ce fichier CPCB a mis un mot de passe sur le débogage , vous ne pourrez pas visionner le contenu ! :/ ) Bref d'autres question ?! :)
8. 17/08/2012
Salut
je tenais vraiment à te laisser un commantaire car franchement châpeau! Ton projet avance vachement bien (et je trouve assez vite pour un OS) et je te souhaite une super bonne continuation!
J'ai cependant une question:
si tu codes ton propre OS, quel serais l'équivalent des .exe sur windows (ou .app sous mac, ect..) sur TON OS?
Et comment fais - tu pour "convertir" ton code source en langage compréhensible par ton OS? (ce que je veut dire c'est que par exemple un compilateur comme code block pour le langage C "convertit" le code source en fichier binaire (.exe), mais alors comment compiles tu tes programmes pour ton OS?) :)
En tout cas très bonne continuation, sincérement c'est du super bon travail :)
9. 03/07/2012
Waw... Chapeau !
J'ai tout de même quelques questions moi aussi :p
Comment à tu crée ton propre language ? Il se base sur la traduction d'un autre (a dans ton language permet de faire b + c dans un autre ?)
A tu fais des études pour parvenir à crée ton OS ? Si oui quelle école ?
Bref, si tu pouvais faire un résumé de toute les connaissances que tu a pour faire cela :)
Le 04/07/2012
Salut Et bien mon langage fonctionne en 2 parties avec 2 format Je sais pas si t'a vu mon site sur http://www.siteduzero.com/forum-83-782057-p1-solution-comment-developper-son-propre-os-en-simplicite.html Mais en gros Lors de l'execution du fichier de commandes de mon langage , si la commande : sys/ PDS = "1" est présente , alors le Kernel va convertir tout le code CpcdosC+ en Langage QuickBasic , et le compiler sous un .exe via le compilateur du PDS7.1 (BC) si elle n'est pas présente , les commandes de conditions etc.. sont minimes Non je suis toujours au lycée , en section SEN (Systèmes électroniques Numériques) on ne fais pas de programmation Ces projets que tu trouve sur tout mon site viens de mes envies , et ma passion. Whoa , bein en résumé mon Kernel s'execute via le BootLoader IO.SYS de microsoft , Puis j'ai plus qu'a faire interface avec les pilotes , et développer , ecrire et ecrire du code via le compilateur du PDS7.1 (BC) pour créer un Kernel. Fin ,c'est long a expliquer ><
10. 25/02/2012
ah ok dacor j'ai pas tellemen bien compri mais merci :P
11. 23/02/2012
bravo bonne continuation !!!
mai commen tu fai tou ca ?
tu utilise quelle logiciel ?
Le 23/02/2012
Salut ThomThom499 x) Merci :D Bein , comme j'ai expliqué , j'utilise mes propres logiciels que j'ai développé , Mais après les compilateur T-elle Nasm et Tasm ( assembleur ) et BC , ce n'est pas de moi , je contente que de leurs convertisseur. Va voir à la page http://microsf01.e-monsite.com/pages/microsf01-cpcdosc.html ( enfin , elle n'est pas terminée ) Enfaite j'utilise mon propre langage de programmation que j'ai développé , le CpcdosC+ , l'avantage , c'est que toutes les commandes sont en français xD , et l'avantage encore plus , c'est qu'il est très optimisé dans le code l'ors de la compilation , il est donc légée , mais surtout , c'est que l'on peut créer une interface graphique très facilement !! mais quand mon Kernel sera disponible , il y aura une documentation complète sur l'utilisation de ce langage CpcdosC+ , comment créer une fenetre ? , un bouton ? , comment déplacer / réduire , fermer , une fenetre ? , comment éteintre le PC ? et aussi , dans ce langage , vous pouvez aussi créer votre propre langage grâce aux commande dit "Spell checker" !! :) Enfin Voilà , si tu veux plus d'informations dis le moi :) Salut. Microsf01 Favier Sébastien 01 http://microsf01.fr.nf/ Copyright©Microsf01
12. 22/02/2012
puis j'ai voté 5
Le 22/02/2012
Mdr' Merci a tous pour votre encouragement :D
13. 22/02/2012
Salu !
Je suis tombé sur ton site par hazard en regardant ta vidéo de ton kernel sur youtube
j'ai tout lu , j'ai regarder te photo ,
beau travail serieux
moi qui es fiere de mes programmes sur windows en visual basic ba didonc t'a fais mieu que nimporte ki dotre surtout a ton age
bonn continuation a+
14. 22/02/2012
franchement , je te souhaite une bonne continuation , tu as bien commencer ton programme , fini le bien , et j'espere quil sera connu !
je suis un jaloux xD
non serieux , Beau travail !
A.P
15. 14/01/2012
Mdr Merci mec pour ton encouragement :)
16. 14/01/2012
nn mé téé srx !!!
tu gere , attend , ta 15 ans tu crée un os en 1 clak de doit , méé tu met la bouche blé srx !!!
bonne continuation le 2em bill gate
17. 15/12/2011
PSM !! Sérieux !!
Date de dernière mise à jour : 27/03/2022