Microsf01 Cpcdos 4.5

2 : Microsf01 Cpcdos 4.5

Voicii Microsf01 Cpcdos 4.5

En résumé , Microsf01 Cpcdos 4.5 n'est pas autonome, il a besoin d'un systeme d'exploitation pour démarrer

J'ai développé un Kernel virtuel , cet a dire , qu'il fonctionne comme un vrais OS , mais sous windows

Pour contrôler le kernel , il faut soit utiliser la console , ou editer un fichier de démarrage Cpc via l'editeur de registre.

Il a besoin des bibliothèques de liaisons dynamiques et la base des api de WINDOWS

Donc sans windows, il ne pourra pas fonctionner !

Il est écrite en VB5

 

Il intègre un language de programmation que j'ai développé (texte) le CPCCOMMAND,

Cpcdos utilise les fichiers .cpc pour démarrer.

Voici un extrait du fichier démarrage ini1.cpc

cpc dem2 -v
rem/ Extraction du registre
shell C:\Cpcsoft\Cpcdos4.5\data\systeme\rarreg.bat
rem/ Initialisation du contenue des dossiers suivants :
drep c:\cpcsoft\cpcdos4.5\
drep c:\cpcsoft\cpcdos4.5\data
drep c:\cpcsoft\cpcdos4.5\data\systeme
rem/ Suppression des fichiers temporaire de l'opération précédente
suppr c:\CPCDOS-temp.bat
suppr c:\CPCDOS-temp-dir.dat

Le but du fichier ini1.cpc est d'extraire le registre

shell C:\Cpcsoft\Cpcdos4.5\data\systeme\rarreg.bat

et informer cpcdos des répertoires a utiliser

drep c:\cpcsoft\cpcdos4.5\
drep c:\cpcsoft\cpcdos4.5\data
drep c:\cpcsoft\cpcdos4.5\data\systeme

puis il supprime les fichiers temporaires

suppr c:\CPCDOS-temp.bat
suppr c:\CPCDOS-temp-dir.dat


Le registre est la base la plus importante de Cpcdos, il contient plus de 15 000 octès fichiers donnéés.

Quand cpcdos est à l'arrêt, il contient 205 fichiers

Quand Cpcdos est en marche (au bureau), il contient 251 fichiers

Soit disant qu'il faut plus de 100 mo libre pour qu'il puisse démarrer

Voicii quelques screenshots avec explications:

Son démarrage , Là c'est un étape important, il extrais le registre,

enregistre des rapport[Calculs pour donner une performance du systeme / Quels sont les fichiers registres extraits / en quelle mode il démarre etc...]

Initialise toutes les API de windows que Cpcdos Utilise grâce a un programme externe ecrit en VB et ce programme ecrit dans un fichier .dat tous les api qui ont fonctionné et ceux qui ne marche pas

exemple de démarche :

Déclaration des api sur user32 pour envoyer des "messages" a windows (avec leur handle)

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Public Const WM_SYSCOMMAND As Long = &H112
Public Const SC_MAXIMISE As Long = &HF120&
Public Const SC_MINIMIZE As Long = &HF020&
Public Const SC_RESTORE As Long = &HF030&
Public Const SC_CLOSE As Long = &HF060
Public Const SC_CONTEXTHELP As Long = &HF180
Public Const SC_DEFAULT As Long = &HF160
Public Const SC_HOTKEY As Long = &HF150
Public Const SC_HSCROLL As Long = &HF080
Public Const SC_KEYMENU As Long = &HF100
Public Const SC_MONITORPOWER As Long = &HF170
Public Const SC_MOUSEMENU As Long = &HF090
Public Const SC_MOVE As Long = &HF010
Public Const SC_NEXTWINDOW As Long = &HF040
Public Const SC_PREVWINDOW As Long = &HF050
Public Const SC_SCREENSAVE As Long = &HF140
Public Const SC_SIZE As Long = &HF000
Public Const SC_TASKLIST As Long = &HF130
Public Const SC_VSCROLL As Long = &HF070

Puis dans le programme, il va simuler son utilisation genre :

Private Declare Function ShowWindow Lib "user32" ( _
                 ByVal hwnd As Long, _
                 ByVal param As Long) As Long

ShowWindow({Handle}, 6)

par la suite il écrit "ShowWindow = 1"

Mais si il y a une erreur retourné (grace a on error) , ce qui veut dire que l'api demandé ne fonctionne pas,

il ecrit "ShowWindow = 0"

Patati patata

Voici le tableau des api utilisé:

Orange : c 'est windows qui le gère

Vert : Api utilisé pour Cpcdos

Rouge : Api non utilisé

Advapi.dll  Bibliothèque de services API avancés gérant de nombreuses API, y compris de nombreux appels de sécurité, de service et de registre.
Comdlg32.dll  Bibliothèque d'API de boîte de dialogue commune.
Gdi32.dll  Bibliothèque d'API pour le périphérique à interface graphique.
Kernel32.dll  Support d'API de base pour les noyaux Windows 32 bits (mémoire, disques, processus, taches, modules).
Lz32.dll  Routines de compression 32 bits.
Mpr.dll  Bibliothèque de routeurs fournisseurs multiples (WNet).
Netapi32.dll  Bibliothèque d'API réseau 32 bits.
Shell32.dll  Bibliothèque d'API Shell 32 bits.
User32.dll  Bibliothèque pour routines d'interfaces utilisateur (fenêtres, menus, messages, ...).
Version.dll

 Bibliothèque de versions.

Winmm.dll  Bibliothèque multimédia Windows (multimédia, son, midi, ...)

 

Ensuite connexion a uns des 3 comptes d'utilisateur :

Il peut y avoir que 3 comptes d'utilisateur (dans cette version)

les mots de passe sont cryptée (Compréssé avec "je vous dirait pas !! XD")

et pareil pour la licence clé de cpcdos ^^

 

Chargement du compte et du bureau d'acceuil

Là il y a aussi pleins de choses,

La barre de progression bleu, indique l'extraction du compte

La barre Noir indique initialisation des paramètres personnalisé (thème,icones,fond ecran,accesibilité etc...)

Extraction des documents perso (niveau de compréssion personalisé par rapport a la taille {sinon c'est long})

Puis une fois extracté, cpcdos inscrit dans la mémoire (dans des variables) les paramètres personnalisée du compte,

Puis il charge le bureau en arrière plan (non visible)

[sinon on voit le bureau qui se modifie le fond ecran, icones etc.. et ça fait pas très beau donc les modifications sont à l'arrière plan ]

Et par rapport aux paramètres ecrits dans les variables, il modifie soit même, son arrière plan, icones, thème etc... pour que l'utilisateur retrouve son Cpcdos personnalisé. ^^

Puis une fois que tout ça est fait , le bureau devient visible

Puis Voici le bureau !!

a la droite, il y a 2 gadgets, on peut les placer n'importe où ^^

puis il y a un pense bête (qui reste même étein)

les icones a gauche sont personnalisables [leus images,nom,et fonction] la fonction se place avec le CPCCOMMAND

cet a dire qu'il faut entrer une commande CPCCOMMAND pour faire fonctionner l'icone

ex: msg -t TITRE -m Coucou ça va ????? XDXD -typ on -frm teste

Cela affiche un message box :

   

Cela provient du noyeau de Cpcdos, cette commande passe par CPCCOMMAND, il identifie la commande msg puis fait appelle a

la procedure qui lui correspond , dedans il va récupérer le titre -t le message -m le type -typ {on = Oui Non / ok = Ok } et frm form {SI c'est une erreur / avertissement  etc...}

L'anciene version (du 4.5) du noyeau, il fallait indiquer le paramètre -esu (Entré Systeme ou Utilisateur) [SUR TOUTES LES COMMANDES] pour savoir (a cpcdos) si les interruption sont Auto ou manuelle cet a dire si l'utilisateur doit intervenir ou pas.

Voicii CPCCOMMAND , la console (le noyeau (moteur) )

Dans cette image, je vous montre un exemple que l'on peut faire avec la console, là c'est pour afficher un msgbox

mais on peut faire plein de choses (mais ils sont pas tous au point)

 

Le Navigateur de fichiers

Ce naviagteur est bien compatique avec tous les systeme de fichiers , dû moment où windows peut lire, cpcdos peut aussi le faire ^^

Dans ce navigateur on peut choisir de trier les fichiers par ordre alphabétiques, Types ou par date<(pas très bien au point)

On peut aussi choisir entre NavigCPC (ci dessu) ou par windowlist (ci dessou)

Mais windowlist ça fait partie d'un api de windows (user32.dll)

il est encore en cour de developpement car pour qu'il reconnaisse si c'est un fichier ou un dossier , jutilise:

if {ficher ou dossier} like "*.*" then {variable} = {fichier : "f" ou dossier : "d" }

plus  loin .. :

If {variable} = f then {icone concerné} = loadpicture(" {cible de l'icone de fichier} )

   ou

If {variable} = d then {icone concerné} = loadpicture(" {cible de l'icone de dossier} )

et plus loin (ce qui est en cour de développement) :

if {variable} = f then

   if {nom fichier} like "*.dll" then {icone concerné} = loadpicture(" {cible de l'icone de dll de windows )

   if {nom fichier} like "*.exe" then {icone concerné} = loadpicture(" {cible de l'icone de exe de windows )

   if {nom fichier} like "*.cpc" then {icone concerné} = loadpicture(" {cible de l'icone de cpc de cpcdos )

   .....

   ....

end if

Tout est personnalisable à partir d'ici

 

C'est là où les modification du registre(cpcdos) se font le plus

on peut aussi changer le fond d'ecran

Gérer les comptes d'utilisateurs

Le truk bien important c'est l'aide

Il peut se mettre à jour par rapport a internet (sur mon site)

Il contient de l'aide pour l'utilisation du registre, modifications personnalisées , les erreurs connues etc ...

Voicii l'éditeur de registre Cpcdos,

Vous pouviez personnaliser vos paramètres ou modification systeme ou autre a partir d'ici

Soit les modification , vous les enregistrez tout de suite (risqué) soit à l'arrêt de Cpcdos, car si vous faites une modification qui n'est pas adapté et que cpcdos plante, quand vous le rallumez, tous redevient comme avant, mais si vous enregistrez avant , même si vous redémarrez cpcdos, vous aurez toujours le même problème donc au démarrage de Cpcdos, faites , CTRL + S et il y aura un menu qui s'affichera :

Séléctionnez mode sans echèc, puis cpcdos démarrera sans le logo, il affichera, restauration en cours ... , il restaura les fichier logo, le REGISTRE etc .. par defaults.

Puis redémarrer cpcdos normalement et puis tout y est bon !! ^^

et il y a un systeme que j'ai développé qui est bien interresant, mais surment un peut dure a vous expliquer , c'est

Le gestionnaire d'erreurs CPCdos (GECPC)  et Gestionnaire Rapport CPCdos (GRCPC):

Aussi il aura la NT. dans la nt il inclurera , GRCPC (Gestionnaire Rapport CPCdos) NT de pointe  !!XD  il est en rapport avec le GECPC (Gestionnaire Erreur CPCdos) le GRCPC traque les erreurs de Cpcdos il détecte et envoie le rapport au GECPC : EU ou EP. EU = Erreur utilisateur (l'utilisateur a fait une erreur) , EP = Erreur Programme (Le programme A fait une erreur dans la procédure) l'erreur peut être dececté que dans un private sub (dans la programmation)et tous ce qui est modules fonction type.... ne peut être détecté.

Une fois une erreur Détécté , un code d'erreur est envoyé au GECPC qui , enregistre un rapport .txt  et qui va etre lu par le GRCPC après 2 sec pour que le rapport .txt soit complet ; Si l'erreur est EU il envoie au GECPC EU pour lui dire : prévient a l'utilisateur avertissant qu'une entré est mauvaise ou autre chose...(prévenir que la faute vient de l'utiliseteur)  dans un MSG et si l'erreur est EP CPCDOS va ouvrir les procedures de réparation/resteuration , il va faire 3 testes     1 : le fichier qui pose problème va être effacé et réinscrit de nouveau  2 : Le programme qui fonctionne mal va donc être réinstallé  3 : Aucuns des 2 testes a marché donc Réinstallation de CPCDOS (avec accord de l'utilisateur). Mais si CPCDOS est réinstallé et le problème perciste alors c'est un problème de compatibilités ou problèmes avec l'ordinateur et cpcdos de sera pas en mesure de résoudre ce problème.

Voici les codes d'erreurs CPCDOS qui sont gérées par le GECPC :

EX : Erreur inconnue ( ? )
E0 : Erreur inconnue (systeme et windows)
E1 : Erreur inconnue (cpcdos 4.5)
E2 : Erreur du programme (problème du programme cpcdos , problèmes de compatibilitées ...)
E3 : Erreur paramètre (mauvaise configuration , fichier configuration emdomagée ...)
E4 : Erreur lancement (processus , programme cpcdos ...)
E5 : Erreur périphérique [e/s ...] (periphérique non disponible, ou endomagée)
E6 : Erreur dossier (dossier non disponible, en cour d'utilisation ou endomagée)
E7 : Erreur fichier (fichier non disponible, en cour d'utilisation ou endomagée)
E7-2 : Erreur fichier registre , clee/fichier non disponible, en cour d'utilisation ou endomagée
E8 : Erreur d'accès données fichier (fichier non disponible, en cour d'utilisation ou endomagée)
E9 : Erreur d'accès réseau (Réseau non disponible , en pane)
E10 : Erreur d'accès dossier réseau (dossier non disponible, en cour d'utilisation ou endomagée)
E11 : Erreur d'accès fichier réseau (dossier non disponible, en cour d'utilisation ou endomagée)
E12 : Erreur modules active X (le module n'est plus disponible , non compatible , ou endomagée)
E13 : Erreur d'accès configuration (le dossier/fichiers configuration de cpcdos n'est pas disponible ' c:\cpcsoft\cpcdos4.5\data ')
E14 : Erreur d'accès données image ... (le dossier/fichiers image de cpcdos n'est pas disponible ' c:\cpcsoft\cpcdos4.5\img ')
E15 : Erreur d'accès son (le dossier/fichiers son de cpcdos n'est pas disponible ' c:\cpcsoft\cpcdos4.5\media ')
E16 : Erreur dossier cpcdos (le dossier principale systeme de cpcdos 4.5 n'est pas disponible ' c:\cpcsoft\cpcdos4.5 '
E17 : Erreur graphique (Problème au niveau de l'affichage , carte graphique )...
E18 : Erreur de compatibilitées de cpcdos 4.5
E19 : Erreur format (format fichier... non attendue , format inconnue..)
E19-2 : ERREUR Le format fichier image n'est pas valide veuillez choisir (bmp,gif,jpg,jpe,jpeg)
E20 : Erreur fichier2 (l'entrée dépasse la fin du fichier) [cet erreur est souvent causé avec des fichiers de 0 octes]
E21 : Le controle ne peut plus être affiché , redémarrez le programme (dans le programme pour qu'il soit invisible on met ' {objet}.visible = false ' mais il se peut qu'il ne soit plus réutilisable dans le sens contraire.)

EU : Erreur utilisateur (L'utilisateur a fait une erreur (entré nom fichier paramètrage...)

EP : Erreur Programme (CPCDOS a faite une erreur (cause virus, mauvais paramètre...)


- Par catégories :

* Erreurs inconnues
EX , E0 , E1

* Erreurs paramètre
E3 , E13

* Erreurs systeme
E5 , E17 , E18

* Erreurs fichiers systemes
E7 , E12

* Erreurs fichiers
E7 E7-2, E8 , E11 , E13 , E14 , E15 , E19 , E20

* Erreurs dossiers
E6 , E10 , E16

* Erreurs Réseau
E9 , E10 , E11

* Erreurs programme
E2 , E3 , E4 , E16 , E18 , E21

ps : X=numéro non attribué dans la variable du gestionnaire d'erreurs cpcdos sf01 4.5 ou numéro mal chiffrée
     Si vous êtes dans le registre cpcdos 4.5 , si il y a l'erreur E2 , c'est que le réaffichage du controle n'est plus disponible
      , il faut redémarrer le registre

 

.

On peut aussi envoyer des messagesbox entre utilisateurs de Cpcdos connecté a un serveur spécifié.

Il intègre aussi un navigateur internet : 

Fonctionne sur tous les protocoles qu'ils sont inscrit dans la base de registre windows (HKEY_CLASSES_ROOT)

je prévoit de créer un nouveau protocole basé sur cpcdos ^^

 

 

CONFIGURATION MIMIMUM

pour faire marcher correctement Cpcdos sf01 4.5:

 ** windows nt + (Windows 2000 / windows XP sp1 > sp3 / Windows Server / Windows Vista / Windows 7)  Il est conseillé d'utiliser les XP SP1 et SP2

** Windows 32 BIT ou 64

** 800/900 mhz processeur intel... (l'assembly est compatible sur tous processeur)

** 256 mo RAM

** 256 mo Carte graphique <(y en a besoin !!)

 

Page en cours d'ecriture ...

4 votes. Moyenne 4.50 sur 5.

Commentaires (3)

1. Alexandre 06/09/2011

Franchement moi je dit GG :) mais bon j'aurrai fais mieux quand même :p (ou pas) (et aufait geek juste un conseil les vrais geek ne font JAMAIS de faute
d'orthographe :p)

2. jiji 12/05/2011

Putin ce truque de barge !!

3. Geek 16/04/2011

Banzail , putin truk que tu as fait !!

Ajouter un commentaire
 

Date de dernière mise à jour : 05/07/2021

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