Pour ceux qui connaissent pas CPCDos c'est une ROM qui patch AMSDOS pour pouvoir utiliser un dossier PC comme un lecteur avec WINAPE.
L'avantage est la vitesse (4µs pour charger un fichier), la place illimitée (pour un CPC hein) et que Windows et le CPC émulé partagent les mêmes fichiers sans passer par un DSK. (notepad++ winape maxam dams c'est que du bonheur)
Pour utiliser cette fonctionnalité de WINAPE il faut juste rajouter les lignes suivantes dans le fichier winape.ini :
[CPCDOS] Path=X:\CPC (par exemple)
Pour passer sous ce lecteur il faut juste taper |DOS
Après toute les commandes/API sont patchés pour lire et écrire dans ce dossier.
|DOS active CPCDos |DOS.IN load from CPCDos |DOS.OUT save to CPCDos |CAT |DIR |ERA |REN |CD,"path"
[PARANO]
*** ATTENTION *** WARNING *** ALERT ***
CPCDos donne accès à TOUS les lecteurs du PC.
|cd,"c:\":CAT par exemple
Comme CPCDos permet d'effacer, renommer et écrire des fichiers. Donc risque de virus CPC > PC (je suis ton père Luke)
[/PARANO]
Alors pourquoi je parle de cette ROM ? C'est parce que elle est légèrement buggée :
Impossible de lancer un binaire (bug dans la routine). Le buffer pour le header AMSDOS est trop court. Et surtout il est impossible de l'utiliser en remplacement de l'AMSDOS. AMSDOS doit être obligatoirement présent pour l'activer. Et comme tout le monde initialise l'AMSDOS avec ld c,7:call &bcce CPCDos n'est donc jamais activé et on retrouve sur la discouette. Et la fonction CAT/&BC9B affiche bien le catalogue mais ne remplis pas le buffer avec les noms et la taille des fichiers.
Comme cette ROM est petite (2k) je l'ai donc patchée pour le plaisir de tous !
Possibilité de lancer des binaires. Maintenant le header AMSDOS est de 128 octets pratique pour les bidouilleurs. CASCatalog qui rempli correctement le buffer avec le nom et la taille des fichiers. Deux versions de la ROM, une à placer en 06 pour fonctionner avec AMSDOS (comme la ROM d'origine quoi) et une deuxième à placer en 07 qui remplace AMSDOS et qui est complétement transparente pour le firmware et le basic par exemple :
t=time:for a=0 to 255:save hex$(a),b,&c000,&4000:next:?(time-t)/300
3,5s pour sauvegarder 256 écrans
La "majorité" des jeux et des utilitaires devraient passer en théorie si il utilisent uniquement CASInXXX & CASOutXXX & CASCatalog.
Le lecteur A ou B est complétement ignoré au passage.
Par contre ceux qui utilisent AMSDOS pour lire/écrire des secteurs ou utilise le CPM c'est mort ^_^
Au passage j'ai voulu implémenter la RSX CPM mais Winape désactive l'opcode magique qui permet à CPCDos d'exister. Donc il y a une légère protection pour empècher des vilains CPCistes (ça n'existe pas c'est des Amigiste/Atariste/Spectrumiste déguisés) d'utiliser ce Opcode sur une disquette.
Voilà c'est tout Enjoy !
(le dev sur un vrai CPC ou pas n'est pas le sujet du post hein
version 1.1
Pièce jointe :
CPCDos11.zip
Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 51 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum