Cpcdos OS2

 

 

 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/

 



 

qbx-013.jpg





Système d'exploitation CraftyOS basé sur Cpcdos OS2.0.5

( 16 juillet 2013)

scr-1152x864-16-07-13.jpg

 

Emulation sur tablette , Android

p1040688.jpg

 Consolep1030685.jpg

 

Aperçu du fichier de débugage sur Kernel avec CraftyOS exécuté (sans la séquence ini):

debug.log debug.log

 

 

Depuis le 15 Juillet 2011

Dernière mise à jour 3 avril 2013


But du projet (ancien article qui parle de la 2.0.1) :

http://www.siteduzero.com/forum-83-782057-p1-solution-comment-developper-son-propre-os-en-simplicite.html


Nouveaux screenshots, tout en bas !

anciene version (1.0 & 1.1) ICI


Aimez ma page facebook du Kernel :

facebook-400x400-1.png

https://www.facebook.com/pages/Kernel-Cpcdos-OSx/479523255400921?ref=ts

 

Manuel du Kernel & programmation sur l'interface (non terminée)


 CpcdosC+ 03-05-2013.pdf 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

cpcdosos205-craftyos1-0.jpgCpcdos 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

La plus grande résolution jamais testée, 1600x1200x32b :D

cpcdos-os205-1600-1200.png

27/04/2013

Nouvelles fonctions mathématiques et autres utilisable !
Il est possible d'utiliser et calculer avec :
- SQR (La racine carré)
- COS (Cosinus)
- SIN (Sinus)
- TAN (Tangeante)
- ATAN (ArcTengeante [TAN^-1] )
- INT (Arrondir les valeurs)
- LEN (obtenir le nombre de caractères dans une chaine ou variable)
- LOG (Logarithme)
- MAJ (Mettre une chaine de caractères ou variables en MAJuscules)
- MIN (Mettre une chaine de caractères ou variables en MINuscules)
- HEX (Convertir une valeur en Hexadécimale)
- EXP (Exponentielle)
- FRE (mémoire dispo / et pile)
- CHR (Convertir valeur ASCII en caractère ASCII)
- ASC (Convertir des caractères ASCII en valeur ASCII)

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

Création d'un navigateur de fichiers
Il existera en 2 types, en mode listé (comme en photo là)
et en icônes comme sur Windows, Mac linux etc ... ;-)

noyau-007.png

 

06/04/2013

Système de fenêtre prioritaire en point ;-)
C'est comme le contrôle compte utilisateur avec le fond grisée sur Windows et qu'on peux rien faire d'autre)
hé bein c'est pareil !

La fenêtre reste en premier plan avec le fond grisé tant
on ne peux même pas focuser une autre fenêtre autre pars tant que celle-ci n'est pas fermée!
Peut être utile lors d'un message important ou autre
et il est utilisé pour l'arrêt d'un OS par exemple

noyau-004.png


1/04/2013

Si vous êtes intéressé, téléchargez le code source de ce programme codé en CpcdosC+, afin de voir comment il fonctionne :
http://
microsf01.e-monsite.com/medias/files/src-paques.zip


Ps: Noyau Cpcdos bientôt disponible
 

screenshot.png


31/03/2013

Faire tourner Cpcdos, 9h toute la nuit, Fait !
Aucuns problème quelconque, le système deviens de plus en plus stable

30/03/2013

 

Cpcdos fonctionne désormais sur IBM ! :D

900859-10200336639051015-912549397-o.jpg


- - - - -

 

Dégoûté, la Wii n'est plus assez puissante désormais pour démarrer le mode IUG du Kernel de la version 2.0.5 en 32bit :(

La version OS2.0.0 fonctionnait limite : https://www.youtube.com/watch?v=K8NsLJGDRFY

889380-10200335898672506-1411537566-o.jpg

 

28/03/2013 (Jour de mes 18 ans lol)

Possibilité de lancer des application Windows (Win32) sur Cpcdos maintenant ! :D
Mais pour l'instant il reste limité qu'en console
Pas d'interface graphique puisse que microsoft ont leurs propre truk fin bref
genre les programmes type console codé en C++ , VB, sur windows tant "console" peuvent désormais fonctionner !! ;D


win32cpcdos.png 

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

La version du SCI (Service Création Initialisation) du module SEU (Service Évènement Utilisateur) va passer à la version 2.2 pour cause d'incompatibilité de la mise à niveau de la version actuelle du Kernel ( 2.0.5 32bit )

j'ai dû supprimer tout ce module pour commencer en refaire un autre (2.2)

A quoi ça sert le SEU ?
Le SEU permet d'interagir des évènements utilisateur par exemple quand il clique sur un bouton, que doit faire le SCI ? quand il sélectionne une fenêtre que fait-il après ?
Quand il passe la souris devant une image, un texte, que fait-il ?

L'interaction d’évènement interne au Kernel (dans son propre code source) fonctionne comme depuis la version 2.0.0 (vous n'avez pas accès à ceci)
Mais l'interaction d'évènement Programmé par VOUS en CpcdosC+ Beuugue ..

Bref ça avance :)


18/03/2013

 

Ajout de nouvelles fonctionnalités :

- Calcul de l'FPS et de l'activité de l'ensemble du système en pourcentage% (Calcul basé sur le FPS et boucle de réponse)
- Possibilité de synchroniser des propriétés sur des valeurs d’environnement dynamiques ( Date, Heure, FPS, Activité en %, Nombre de processus/Threads , batterie(Plus tart), etc.. .. )
- Correction de bugs dans le moteur CCP ( +en cours)
- Mise à jour du manuel utilisateur DOC.1.2013 ( +en cours)
- Correction en cours du service événements


 

Kernel/variables (etc) + Bureau(3 fenetre+14 propriétes & Fond d'écran)) + Services & processus de base + Console + pilotes :
1048 Go (installé ) - 1016 (libre) = 32 mo RAM utilisé par le système :)
ça s'annonce bien d'avoir un Kernel si peux gourmand en mémoire :)


- - - -

Kernel/variables (etc) + Bureau(3 fenetre+14 propriétes & Fond d'écran)) + Services & processus de base + Console + pilotes :
1048 Go (installé ) - 1016 (libre) = 32 mo RAM utilisé par le système :)
ça s'annonce bien d'avoir un Kernel si peux gourmand en mémoire :)

 

887833-10200277156843997-811112365-o.jpg

16/03/2013

Le Kernel est capable de lire le canal Alpha des fichiers BMP afin de "simuler" un .PNG mais avec un fond magenta
Puis des icones fermeture, reduction , messages d'avertissement personnalisables à volonté ;D

CraftyOS - bureau 15/06/2013

5/03/2013

 

Kernel bootable en USB ! :D

 

862101-10200196901317659-1932712198-n-1.jpg

 

3/03/2013

Trool !
On peux même "pirater" le SCI du Kernel sur l'OS en exécution en modifiant les propriétés comme rendre une fenêtre d'origine FIXE
Complètement DEPLACABLE :')

- Il suffit d'aller dans la console (F12)
connaître le nom de la propriété pour l'interpeler puis changer ses valeurs :')
exemple pour la barre de menu :
> F12

ini/ fenetre(
ini;NOM = "CPC_BAR1"
ini;TYPE = "1;M1"
creer/
ini/ fenetre)

le paramètre M1 (d'origine activé par défaut ) veux dire Movable=1

Voilà tout :)

881788-10200185471071910-448225652-o.jpg

- 1er Février 2013 -

 

Bonne nouvelle nouvelle version : Cpcdos OS2.0.5
Nouveautées :

- Système 32bit !!!!!!!!!!!!!!!!!!!!! MOUAHAHAHA




 

FONCTIONNEMENT du noyau :


cpcdoslogo-1.jpg


 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 ) :



kernel-cpcdos-os2.jpg

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 ) ) En pleurs

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 ! .. Criant

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 )

p1000305.jpg

p1000309.jpgBoot écrit en assembleur 80x86 en NAMS ( boot principale ) et TASM en secondaire


ANCIEN ECRAN DE DEMARRAGE :

p1000310.jpg

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 :

qbx-010.png

Annimation sous émulation 80x60 :


p1000307.jpg

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 )


p1000313.jpg

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

 

 

photo0225.jpg

 

photo0223.jpg


photo0318.jpgj'ai testé les performance CPU avec plus de 120 objets de différentes couleurs dans une fenetre , sans lag ! :D

 

photo0319.jpgD'un peux plus près ^^'

 

photo0322.jpgPareil mais avec plus de fenetres , plus d'objets, et plus de couleurs pour aussi tester la carte graphique :)

photo0321.jpg
photo0320.jpg

Fevrier 2012

p1000314.jpgp1000304.jpg

p1000299.jpgp1000300.jpg

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+

cpcdosc-teste.png



qbx-003.png

qbx-005.png

qbx-002.png

Le Kernel peux aussi gérer la translucidité :Translucidité


qbx-008.png

Avancement ( 22/07/2012 )

qbx-013.png

( 20 / 08 / 2012 - DOSBOX )

icones-1.png


Ce qui se passe juste derrière l'ecran quand le kernel est en execution ;)

mais là c'étais à l'arrêt :P

qbx-004.png

16/09/2012 ( Matin )

anti-debord.jpg


21 novembre 2012 - au lycée

imag0280.jpg

imag0283.jpg

La console - Sur un vieux Toshiba Satellite

 

p1030685.jpgJouer encore avec les couleurs ^^

p1030687.jpgp1030696.jpg

Lors du lancement d'un OS

p1030697.jpg

 

25 Novembre 2012

Avancement de l'OS Cpcdos sur le Kernel en CpcdosC+

 

qbx-014.jpg

ps : Bon je pense que les caractères de la barre d'applications sont un peux gros ^^

qbx-013.jpg

Au lycée (En STI)

728867-4794395950224-435258864-o.jpg


17/02/2013

2-0-5png-1.png

2-0-5-2.png

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

21 votes. Moyenne 4.90 sur 5.

Commentaires (25)

1. TeamDoia 26/01/2013

on pourra télécharger ton OS quand ?

2. Anonymous 17/09/2012

Personne pour répondre sur le forum? :)

3. microsf01 (site web) 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. Anonymous 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^^"

5. microsf01 (site web) 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 ?! :)

6. Anonymous 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?

7. microsf01 (site web) 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 :)


8. Anonymous 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 :)

9. microsf01 (site web) 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 !! :)

10. anonymous 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 :)

11. microsf01 (site web) 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 ?! :)



12. Multi Geek 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

13. Anonymous 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 :)

14. microsf01 (site web) 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 ><

15. MosnieurPixel 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 :)

16. thomthom499 25/02/2012

ah ok dacor j'ai pas tellemen bien compri mais merci :P

17. microsf01 (site web) 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

18. thomthom499 23/02/2012

bravo bonne continuation !!!

mai commen tu fai tou ca ?
tu utilise quelle logiciel ?

19. microsf01 (site web) 22/02/2012

Mdr' Merci a tous pour votre encouragement :D

20. Clement lamberet 22/02/2012

puis j'ai voté 5

21. Clément lamberet 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+

22. Antoine.P 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

23. Favier Sébastien 01 14/01/2012

Mdr Merci mec pour ton encouragement :)

24. anomyme 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

25. The Geek 15/12/2011

PSM !! Sérieux !!

Ajouter un commentaire

Vous utilisez un logiciel de type AdBlock, qui bloque le service de captchas publicitaires utilisé sur ce site. Pour pouvoir envoyer votre message, désactivez Adblock.

Date de dernière mise à jour : 30/10/2013

Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site

×