= = = = = = = = = = = = = = = = = = = *** Cpcdos OS2.0.5 Alpha 4.0 T4 *** for ultima testers *** 15 Juillet 2016 *** = = = = = = = = = = = = = = = = = = = - Cpcdos : ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** Optimsation ultime et reecriture particelle du noyau ** ** et de la communication avec CPinti Core. ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** - Cpcdos : Ajout du moteur de rendu graphique 3D, GZE. - Cpcdos : Ajout de la fonction de récupération de la mémoire RAM. - Cpcdos : Optimisation graphique du menu info de la console. + Suppression des effets de scintillements. - Cpcdos : Correction de bugs des variables au niveau 2 dans le moteur CpcdosC+. - CpcdosC+ : Commande SYS/ ajout des parametres "/ECRAN" ou "/SCREEN" Exemple : Lister les resolutions d'ecran disponibles en 16 bits (16, 24, 32) SYS/ /ECRAN /LISTE 16 ou SYS/ /SCREEN /LIST 16 Tester une resolution SYS/ /ECRAN /TEST 1024x768x16 ou SYS/ /SCREEN /TEST 1024x768x16 - CpcdosC+ : Commande SI/ ajout de 2 nouveaux operateurs ~= : Contient !~= ou N~= : Ne contient pas Exemples : Tester si la chaine "1234567890" contient "4" si/ "1234567890" ~= "4" alors:Txt/ ok! Tester si la chaine "Bonjour tout le monde" ne contient pas "z" Si/ "Bonjour tout le monde!" !~= "z" alors:Txt/ ok! - CpcdosC+ : Correction commande telecharger/. Désormais si aucun protocole (http, ftp..) n'est specifié, un message d'avertissement AVT_061 se produira. (Remerciement a Esteban) - CpcdosC+ : Commande CCP/ /FIX.NIVEAU (ou /SET.LEVEL) peut afficher le niveau en cours. Exemple : CCP/ /FIX.NIVEAU = 4 @#Toto CCP/ /FIX.NIVEAU txt/ Le niveau est de %Toto%. - CpcdosC+ : Ajout de la commande d'execution de fonction C/C++ wrapped via le SDK de Cpcdos OSx. SYS/ /WRP {Numero de FunctionID} - CpcdosC+ : Ajout du parametre \#NON-VAR ou \#NO-VAR (A METTRE EN FIN DE LIGNE) qui permet de ne pas lire la variable. Exemple : Txt/ Contenu est %TOTO% \#NON-VAR Affiche : Contenu est %TOTO% - CpcdosC+ : Ajout de la commande ECRIRE/ ou WRITE/ Qui permet d'écrire directement dans un fichier exemple: Ecrire/ Dossier\Fichier.txt = Coucou! Ca va ? ##### CPinti Core for Cpcdos OSx ##### - Réecriture complete de CPinti Core du C++98 (1998) en C++14 (2014) + Utilisation des pointeurs intelligents RAII de GCC 5.1 + Réecriture de la fonction de lecture de fichiers en C++14 + Réecriture complete de la partie reseau (Serveur TCP, client TCP, ping ICMP) + Réecriture du gestionnaire de threads + Réecriture de la routine d'interruption ISR + Réecriture de la séquence de d'initialisation (x10 plus rapide) - Fonctions externes desormais wrappable via un SDK de Cpcdos. - Ajout d'un debug centralisé pour CPinti Core + Reecriture des messages avec l'inclusion de la langue Anglophone pour le debuggage. - Ajout d'une LLVM (Low-Level-Virtual-Machine) pour executer du code JIT native compilé depuis CLANG (C/C++). (Format .LL ou .BC) ----------------------------------------------------------------------------------------------------------- = = = = = = = = = = = = = = = = = = = *** Cpcdos OS2.0.5 Alpha 4.0 T4 *** for ultima testers *** 12 Février 2016 *** = = = = = = = = = = = = = = = = = = = - Moteur CCP: Correction du bug 'AVT_008' comme quoi la variable 'existe pas' si on tape une commande du type: SI/ "%" = "%" alors: ... ou SI/ "%" = "%%" alors: ... (Remerciements au contributeur Esteban) - Moteur CCP: Ajout des exception des NOMS DE VARIABLES (Commande FIX/ ou resultat @#) Seul les caracteres autorises sont : -> A, B, C, D, E, F, G, H, I, J, K, L, M, O, P, Q, R, S, T, U, V, W, X, Y, Z -> a, b, c, d, e, f, g, h, i, j, k, l, m, o, p, q, r, s, t, u, v, w, x, y, z -> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 -> _, ., -, $, /, \, (, ), [, ], ~, &, #, ^, @ - CpcdosC+ : Ajout du parametre /TEMP dans la commande TELECHARGER/ Possibilité de choisir --> le dossier de destination (garde le nom de fichier d'origine. Ou 'index.htm' si non définit) --> le nom de fichier destination (Garde le dossier cible TEMP\NET) --> le dossier ET le dossier de destination Vous pouvez choisir un dossier temporaire permanant en manipulant la variable %CPC_TEMP.NET% (Remerciements au contributeur Esteban) ----------------------------------------------------------------------------------------------------------- = = = = = = = = = = = = = = = = = = = *** Cpcdos OS2.0.5 Alpha 4.0 T3 *** for ultima testers *** 03 Février 2016 *** = = = = = = = = = = = = = = = = = = = - Moteur CCP/ CpcdosC+ : Ajout d'un nouveau parametre dans la commande CCP/ /Optimisation ou /Optimization en anglais Cette commande active l'analyse du fichier de commande avant son execution, afin de chercher d'eventuels optimisations. En moyenne, avec ce parametre, vous gagnez un gain de +20% a +50% de performances sur la lecture de vos programmmes. Exemple: Activer l'optimisation: CCP/ /Optimisation = 1 Desactiver l'optimisation: CCP/ /Optimisation = 0 - Moteur CCP: Correction d'un bug provoqué au niveau 5 des variables si plus de 6 variables sont enregistrés. - CpcdosC+ : Possibilité de faire des "algorithmes calculatoire en ligne". Ce qui permet de faire plusieurs opérations arithmétiques sur 1 ligne. Comme sur vos calculatrices!! :) Il suffit d'utiliser le /C(VotreCalcul) Exemple 1: txt/ /c(4 * (8 * 12.8964) + 23 / 0.5) Renvoie: 458.6848 Exemple 2: fix/ toto = 123 fix/ toto = /c(%toto% * 2) txt/ Valeur de toto = %toto% renvoie: Valeur de toto = 246 Problemes remarqués: Soustractions des nombres négatifs renvoie un mauvais résultat. --> En correction pour la prochaine MàJ - CpcdosC+ : Ajout du parametre /SRVINFO ou /+SRVINFO dans la commande TELECHARGER/ Ceci donne la possibilité de dissocier les informations du serveur Exemple : Telecharger/ http://MonsiteWeb.com/toto.html --> Telecharge uniquement le contenu de toto.html Telecharger/ /SRVINFO http://MonsiteWeb.com/toto.html --> Telecharge uniquement les information du serveur (HEAD http command) Telecharger/ /+SRVINFO http://MonsiteWeb.com/toto.html --> Télécharge les informations du serveur ET le contenu du fichier (Association) - CpcdosC+ : Ajout de la commande POS/ (ou LOC/ en anglais) pour positionner votre curseur console. (Type en 8x8). (Type font graphiques pour la prochaine version!) Exemple : Positionne a la position 34 en X POS/ x:34 Positionne a la position 14 en Y POS/ y:14 Positionne a la position 34 en X et 15 en Y POS/ x:12 y:15 Positionne a la position 23 en Y et 56 en X POS/ y:23 x:56 - CpcdosC+ : Ajout de la commande SI/ ou IF/ pour executer du code sous une condition. Exemple mono ligne: SI/ "5" = "5" alors:Txt/ Ok! --> Renvoie : Ok! Si/ "8" = "6" alors:Txt/ Ok! Sinon:txt/ Faux.. --> Renvoie : Faux.. Exemple multi ligne: Si/ "5" = "5" alors: txt/ Ok! txt/ C'est le bon resultat! sinon: txt/ Faut! txt/ c'est le mauvais! fin/ si --> Renvoie : Ok! C'est le bon resultat! Si/ "5" > "8" alors: txt/ Ok! sinon: si/ "8" > "5" alors: Txt/ Ah! 8 est plus grand que 5! fin/ si fin/ si --> Renvoie : Ah! 8 est plus grand que 5! ----------------------------------------------------------------------------------------------------------- = = = = = = = = = = = = = = = = = = = *** Cpcdos OS2.0.5 Alpha 4.0 T2.1 *** for ultima testers *** 28 decembre 2015 *** = = = = = = = = = = = = = = = = = = = - Moteur CCP: TRES GROSSE correction de bugs non exploités. (21h->2h du mat!) -> Niveau de privacité 1 et 2 ne fonctionnaient pas correctement. -> Problème acces en ecriture d'une variable niveau supérieur. -> CCP/ /CHANGE:[Variable] qui acceptait les valeurs #NULL - Moteur CCP: Optimisation acces test/ecriture/lecture de varibles CpcdosC+. - Cpcdos : Optimisation temps priorite des threads --> Reseau CPinti. - Cpcdos : Correction des bugs mineures. - CpcdosC+ : Correction probleme affichage du message d'avertissement de variable introuvable. ##### CPinti Core for Cpcdos OSx ##### - Réseau : CORRECTION CRASH: Limitation à 1024 octets (+entete) par paquets TCP Serveur et client. (Problème temporaire) + Correction de crash en cas de "spoil" de la part d'un serveur. (1/5 crash possible) - Réseau : Optimisation du code + changement temps de priorite des threads (Gain de 1% à 5% gagné). # Remerciement à Esteban, Diderot (et ses 13 clients TCP) et Léo pour leur participation aux crash tests. ----------------------------------------------------------------------------------------------------------- = = = = = = = = = = = = = = = = = = *** Cpcdos OS2.0.5 Alpha 4.0 T2 *** for ultima testers *** 26 decembre 2015 *** = = = = = = = = = = = = = = = = = = - Pilote réseau : Ajout du support des carte réseaux de séries 2015 et antérieur. - Realtek 8168 10/100M Gigabit Ethernet PCI. - Realtek 8111 10/100M Gigabit Ethernet PCI. - Cpcdos : Optimisation du démarrage du noyau. (Gain gagné:20%) - Cpcdos : Correction des bugs mineures. Et fuites de mémoire intempestives lors des instances de nouveaux threads. - Cpcdos : Ajout d'arguments de démarrage de Cpcdos. - /DOSBOX --> Mode dosbox (Pilote souris interne, pas de support réseau) - /NONET ou /SANSRESEAU --> Sans support réseau. - /NODBG ou /SANSDBG --> Masquer les informations de démarrage (Plus propre  ) - /CPINTICOREDBG --> Démarre directement le mode debug+console de CPintiCore - /CCP:"Commande CpcdosC+ " --> Exécuter une commande CpcdosC+ après l’initialisation. Exemple sous DOS: KRNL32.BAT /CCP:"TXT/ Coucou !" KRNL32.BAT /SANSDBG ... - Console : Correction du bug graphique lors de la navigation dans l'historique des commandes. avec la police activée. (Toujours en amélioration) - Console : Correction du curseur volant. (Decallage provoque par un autre thread utilisant le curseur) - Console : Optimisation de l'activité du thread. - CpcdosC+ : Ajout de la variable %CPC.REP% (REPertoire) ou %CPC.DIR% (DIRectoty) qui contient le chemin d'acces du noyau. Cette variable peut servir comme repertoire de base pour vos programmes. ** Exemples ** exe/ %CPC.REP%\Dossier\Programme.cpc exe/ %CPC.REP%\..\dossier\programme.cpc --> Possibilité de remonter des repertoires '..' txt/ Vos polices d'ecritures sont dans le dossier : %CPC.REP%\fonts - CpcdosC+ : Ajout de la commande "CCP/ /pause:TempsEnMillisecondes" pour mettre en pause un thread pendant un temps définit en milliseconde (Micro-seconde possible) - CpcdosC+ : Ajout de la commande "CCP/ /Change:VARIABLE" pour bloquer le thread en cours jusqu'à que VARIABLE change de contenu. - CpcdosC+ : Possibilité d'afficher le caractere pourcent '%' sans qu'il soit pris en compte tant que encapsulateur du nom de variable. Pour ceci vous devez mettre \% et il sera remplacé par % - CpcdosC+ : Ajout du parametre de reformatage d'une commande si une variable contient une autre variable à lire. \#REFORMAT-VAR ou \#VAR-REFORMAT ou \#REFORMATER-VAR ou \#VAR-REFORMATER - CpcdosC+ : Ajout de parametre dans SYS/ /DEBUG /CpintiCore = [0 à 2] 0 : Désactiver le mode console debug CPinti Core. 1 : Activer le mode console debug CPinti Core. 2 : Activer le mode console CPinti Core uniquement. - CpcdosC+ : Ajout des parametres dans SERVEUR/ pour créer/connecter un serveur TCP /client Gestion de clients : /client {Machine/IP}:{Port} --> se connecter à un serveur TCP /client /set:{Numero de PID} Blabla.. --> Envoyer "Blabla.." /client /get:{Numero de PID} --> Recupérer les données reçu. /tcp:[port] /set:0 Envoyer en broadcast :>0 Envoyer à 1 client précis. /tcp:[port] /get (En révision) /tcp:[port] /mode:VAR --> Methode par variable (Par defaut) ** Exemples ** Serveur/ /tcp:2316 --> Crée un serveur TCP port '2316' Serveur/ /client 127.0.0.1:2316 --> Se connecte à notre serveur. Exemple de PID recu '56789' Serveur/ /client /set:56789 Hello! --> Envoyer "Hello" au PID 56789 qui LUI est connecté au serveur. Serveur/ /client /get:56789 --> Receptionner les donnees du serveur Serveur/ /client /stop:56789 --> Se deconnecter du serveur Serveur/ /stop:2316 --> Arreter le serveur TCP. - Moteur CCP : Correction du crash si on entre uniquement des '%' # Merci à Ronsgeek! [Sujet: 14/11/2015 "CRASH DE CPCDOS !!! (YEAH)"] - Moteur CCP : Optimisation générale du moteur. (Gain gagné:10%) + Optimisation acces lecture des variables CpcdosC+ - IUG/PNG : Optimisation de la lecture des fichiers images PNG. (Gain gagné:10%) - IUG/Police : Correction du problème d'affichage après désactivation de la police # Merci à Angels74! [Sujet: 07/11/2015 "Bug d'affichage lors de la désactivation de polices"]. - IUG/Police : Ajout de deux polices d'écriture - Cloudy - Chiller ##### CPinti Core for Cpcdos OSx ##### - CPintiCore: Code désormais compilé avec GCC 5.3 - CPintiCore: Optimisation générale du coeur. (Gain performances gagné:30%) - CPintiCore: Correction de quelques fuites de mémoires. - CPintiCore: Réecriture et optimisation du gestionnaire de création et exéution de threads. - CPintiCore: Amélioration de l'affichage des informations de débuggage. - Réseau : Optimisation/Correction générale des fonctions réseaux et instances. - Réseau : Correction des crash du serveur TCP. - Réseau : Ajout des fontionnalités client TCP. - Réseau : Correction (Réecriture COMPLETE) du protocole ICMP pour ping des machines. - IO : Optimisation de la lecture des fichiers. (Gain gagné:60%) ----------------------------------------------------------------------------------------------------------- = = = = = = = = = = = = = = = = = = *** Cpcdos OS2.0.5 Alpha 4.0 T1 *** for ultima testers *** 06 novembre 2015 *** = = = = = = = = = = = = = = = = = = << Première sortie pour les Ultima testers >> Autres : - Optimiser le zoom du logo selon les perfs du systeme [OK] ' - Creer une fonction qui donne une note (Calcul../Calcul../Graphisme/..) [OK] ' - Probleme commande si il y a un espace " " il ajoute un espace dans les parametres [OK] ' - 05-09-2015 : Reecriture complete de io.C et desormais prorement instanciable + desallocation memoire - init.c ajouter le debug texte [OK] ' - Execution a partir d'un label / No ligne [OK] ' - Rendre le serveur TCP/client multi-instanciable et destructable + buffer