top of page

Foire Aux Questions

Q : Pourquoi démarre t-il encore avec FreeDOS ?
R : Cpcdos n’est pour le moment, incapable de gérer seulement 4 fonctionnalités :

  1. Le boot.

  2. Quelques interruptions du 21h.

  3. Pilotes disques FAT, FAT32.

  4. Pilotes FR/EN du clavier, souris USB, et NDIS2.0.


Seulement ceux-ci sont nécessaires au fonctionnement de Cpcdos. FreeDos, Dr-Dos, MS-DOS, NTVDM, équivalent ou émulateurs en font l’affaire.

 

Il faut absolument retenir

Le système «DOS» n'a aucune influence sur les performances et les possibilités, en effet Cpcdos à son propre gestionnaire IRQ, timer, fonctions relatif à ses possibilités.

 

Et si Cpcdos devient indépendant de DOS ?
Qu'il soit dépendant ou non, la manière dont Cpcdos utilise le processeur, les IRQs, le système, la RAM seront identiques. Être indépendant du DOS changera uniquement la façon dont nous emploierons le nom du projet.

Il passera du nom du «Co-noyau» à «Noyau».

​

Oh! nous somment pas seuls

Juillet 1998 à 2001, le projet de ReactOS historiquement parlant, a commencé exactement pareil, ils ont développé leur noyau sous DOS et ont finit par devenir indépendant fur et à mesure des années de développement et de sa popularité. C'est ce que Cpcdos va futurement procéder, mais ce n'est pas une grande priorité. PATIENCE POUR LES GRANDES GUEULES.

Q : Peut-on utiliser le moteur 3D GZE en plein écran ?
R : Oui il est possible, il suffit de démarrer le moteur GZE Engine en lui indiquant le pointeur vidéo actuel. Il est conseillé de créer une nouvelle page vidéo afin de pas avoir des interférences avec d'autres éventuels "actualisations graphique" du style heure, date, curseur, CPU en %, contenu dynamique des fenêtres etc... La résolution native de GZE est de 800x600x32.

​

Q : Et Fenêtré ?

R : Oui, il suffit de créer une fenêtre, démarrer le GZE Engine et en un second temps, un PictureBox de 800x600, et indiquer le pointeur du type ARGB généré par GZE, dans le PictureBox puis, définir la valeur en millisecondes du GUI Update afin que ce dernier crée un thread qui va blitter l'affichage XX fois par secondes. 

​

< en cours de rédaction + exemple 29/08/2016 >

​

​

Q : Je peux coder une application hors Cpcdos en C++ de manière "externe" qui s'exécute sous Linux, Windows et Cpcdos ?
R : Oui de 2 manières

 

  1. Il est possible depuis le pack Cpcdos SDK, via le compilateur CLANG 3.8 (.LL ou .BC)
    Pour générer un fichier exécutable en langage IR, voici un exemple d'arguments fonctionnel :
    clang.exe -m32 -fno-exceptions -target i686-pc-mingw32-elf -S -emit-llvm

    Et puis pour exécuter votre fichier exécutable IR généré sous Cpcdos, c'est depuis la commande CpcdosC+ :
    EXE/ /LLVM MonApplication.LL​
     

  2. Depuis un exécutable Win32 format PE (Expérimental) :
    depuis la commande CpcdosC+ :
    EXE/ /PE MonApplication.EXE
    A ce jour cette méthode est fonctionnel, mais les fortes dépendances des fichiers du noyau NT de microsoft  (KERNEL32.DLL,  USER32.DLL, MSVCRT.DLL ...) et d'autres librairie sont complexes à utiliser.

    Les exécutable Win32 PE n'ayant besoin d'aucune ou d'une faible dépendance Windows peuvent fonctionner à 99% sous Cpcdos. Il peuvent utiliser les fonctions du noyau Cpcdos. Vous trouverez ses fonctions dans le manuel utilisateur CpcdosC+ partie  «Wrapper Cpcdos C/C++»

    Actuellement nous travaillons sur l'allocation mémoire des importations des liens dynamiques dépendants, afin que les exécutables Win32 puissent utiliser ses DLLs Microsoft&Non Microsoft, aisément.

Q : Je peux coder une nouvelle fonction DANS Cpcdos en C++ de manière "native" ?
R : Oui il est possible depuis pack Cpcdos SDK
 

Ce pack contient également un fichier de déclaration «header .H» pour les développeurs, il s'agit du wrapper Cpcdos/CPinti Core avec des exemples d'utilisation simples en C++, ainsi du compilateur G++/DJGPP déjà configuré pour Cpcdos, afin que vous puissiez développer vos projets et générer votre propre "NOYAU.EXE"
Votre nouvelle fonction se trouvera dans les binaires du noyau que vous pourrez utiliser depuis

  • La console / CpcdosC+ (.CPC)

  • Clang/LLVM IR (.LL ou .BC) 

  • Win32 PE (.EXE)

​

Vous pourrez aussi nous faire part de votre fonction, des tests et des votes seront mis en place. Si votre fonction est jugée utile, elle sera disponible dans les prochaines updates officiel de Cpcdos. :)

Ici sont présent les questions les plus récurrentes

Q : Je peux exécuter une application Windows ?
R : Oui il est possible mais il faut que votre application soit «quasiment indépendant». Explications :
 

En plus des fonctions du C/C++ de base, Cpcdos supporte actuellement environ 10 à 15% des fonctions du noyau Microsoft NT (Windows), comme l'allocation dynamique, les sections critiques etc... Mais ça reste cependant minime...

 

C'est pour cela que notre chère ami Michael BANVILLE, le concepteur du moteur graphique GZE, a développé un compilateur basé sur GCC/Clang sous le nom de CWave Collection (CWC) qui est capable de supporter la compilation simplifiée et multi-plateforme qui permet d'adapter les fonctions de l'executable.

 

Il est donc capable de "Traduire" certaines fonction Windows en fonction Cpcdos en restant compatible avec les 2 systèmes!

​

Le compilateur CWC est disponible ICI.

Les exemples de code C++ compatible Cpcdos et Windows se trouvent dans le repertoire Specific Platform.

Amusez vous!

bottom of page