Comme je l'avais dit ici j'ai pu modifier les caractères de l'OS, j'ouvre donc ce topic pour en discuter
Il est donc possible d'avoir des caractères personnalisés et de les utiliser comme des sprites dans les programmes en basic
Les jeux pourraient simplement avoir une version normale et une spéciale sprites.
Si on arrive à mettre en place un add-in pour gérer ça on peut même envisager des fichiers de sprites qui seraient joints aux jeux.
Mais il reste à voir plusieurs choses :
- Si cela intéresse beaucoup de monde
- Comment procéder (changer l'OS fonctionne, mais à voir avec un Add-in)
- Si c'est faisable, quels sprites intégrer (les créer et se mettre d'accord)
Quelques infos supplémentaire :
Image du 1er essais
Image du 1er essais
Manière dont sont codés les sprites :
Mode texte
Mode texte
- un caractère fait 6x8 pixels, la colonne de gauche et la ligne du bas étant vides pour la plupart des caractères.
- chaque ligne de pixels du caractère est codée sur un octet
- les deux derniers bits de cet octet sont inutilisés, donc des 0
On peut ainsi faire des sprites collables les uns aux autres (pas d'espace entre) comme la pierre sur l'image au dessus.
Mode graphique
Mode graphique
Pour les caractères les moins larges (ex : A,B,C) :
- un octet code pour 2 lignes, on a donc 4 bits par ligne
- un caractère fait 4x6 pixels (on a encore une ligne vide sur le coté et en dessous)
Pour les quelques caractères plus larges (ex: M,Q,W) :
- chaque ligne est codée sur un octet
- un caractère fait 6*6 ?
A vérifier si ça fonctionne bien comme ça pour tous les caractères larges...
De l'aide et des conseils pour mes projets serait génial
Refaire (encore), optimiser et finir mon mario
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Comme c'est liés aux caractères et que je ne veux pas créer un topic je fais un petit déterrage
J'ai obtenus ces caractères en modifiant des valeurs hexadécimales d'un programme :
Ce sont tous des caractères qui ne sont pas dans le menu "CHAR".
X Y et r sont récupérables en faisant VARS -> GRPH
[] est récupérable en copiant une fraction dans le menu RUN-MAT
Pour les autres je ne crois pas qu'on puisse les récupérer directement depuis la calculette ?
A B C D E F sont les caractères utilisés pour afficher des nombre en héxa, par contre je n'avais jamais vu le P avant.
Je peux éventuellement publier un programme pour les récupérer si ça intéresse du monde.
La grande question est savez-vous s'il existes d'autres caractères comme ça ?
De l'aide et des conseils pour mes projets serait génial
Refaire (encore), optimiser et finir mon mario
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Malheureusement s'il ne s'est rien passé depuis 2014 c'est parce que ce système n'est pas exploitable
Pour mes essais je modifiais l'OS, il faudrait donc le flasher à chaque fois ce qui est assez lourd...
Lephenixnoir a essayé de voir si avec un add-in on pouvait directement modifier des caractères, ce qui serait la meilleur solution. Mais on ne peut pas, ils sont stockés dans un bout de la mémoire auquel on a pas accès...
Je n'avais pas vu ce topic qui s'avère extrêmement intéressant ! J'imagine qu'une avancée dans ce projet en entraînerait une autre dans ton oeuvre phare, Remi' !
J'ai quelques questions :
-> penses-tu que la modification des caractères puisse se faire par un simple add-in de "patch" ?
-> sous-entendu : as-tu déjà trouvé une autre méthode que le flashage d'un OS alternatif ?
-> as-tu besoin d'aide pour ladite méthode ?
-> pourquoi cherches-tu de nouveaux caractères, pour en avoir davantage à remplacer, ou pour qu'ensemble nous choisissions ceux qui valent la peine d'être remplacés ?
-> si j'ai bien saisi il faudra que l'on se mette d'accord ici dans notre communauté sur les caractères que l'ont souhaite voir ? Des idées de quelqu'un apte à proposer des dessins ?
-> souhaites-tu ne faire qu'un seul "pack" de caractères ou plusieurs ?
-> actuellement, combien de caractères modifiés penses-tu qu'il soit raisonnable d'intégrer ?
Merci pour ces travaux qui promettent et bon courage !
EDIT : je viens de voir ta réponse Rémi', du coup mes questions tombent à l'eau. C'est dommage, mais j'imagine que ça vous à tout de même permis à toi et Lephé' de vous plonger dans quelque chose de nouveau, ce qui a forcément été une expérience bénéfique.
-> penses-tu que la modification des caractères puisse se faire par un simple add-in de "patch" ?
Je n'en sais rien du tout, le problème c'est de pouvoir écrire dans la mémoire...
Lephenixnoir a essayé de lire/écrire à l'adresse à laquelle j'avais modifié des caractères mais il n'a pas pu le faire...
-> sous-entendu : as-tu déjà trouvé une autre méthode que le flashage d'un OS alternatif ?
Non du coup, un add-in serait vraiment parfait...
-> as-tu besoin d'aide pour ladite méthode ?
Si ça t'intéresse et que tu as le temps de faire des tests : oui
Je peux détailler la manière dont les caractères sont codés pour essayer d'en chercher dans la mémoire ? En fait je ne suis pas 100% convaincu par les adresses qu'on a essayé.
-> pourquoi cherches-tu de nouveaux caractères, pour en avoir davantage à remplacer, ou pour qu'ensemble nous choisissions ceux qui valent la peine d'être remplacés ?
Ma question n'avait rien à voir, je voulais juste savoir s'il existait d'autres caractères intéressants pour coder en basic qui ne seraient pas listés.
-> si j'ai bien saisi il faudra que l'on se mette d'accord ici dans notre communauté sur les caractères que l'ont souhaite voir ? Des idées de quelqu'un apte à proposer des dessins ?
-> souhaites-tu ne faire qu'un seul "pack" de caractères ou plusieurs ?
-> actuellement, combien de caractères modifiés penses-tu qu'il soit raisonnable d'intégrer ?
Si on ne peut pas faire d'add-in j'avais effectivement proposé de se mettre d'accord sur un pack de caractères modifiés.
Je pourrais faire un petit programme pour patcher n'importe quel OS, ça serait semblable à ce qu'on fait pour modifier l'image d'extinction.
Pour les deux dernières questions je ne peux pas vraiment répondre.
Si effectivement on lance le projet il faudra se mettre d'accord sur les caractères "inutiles" qui seront remplacés et par quoi les remplacer.
Ajouté le 10/02/2016 à 19:10 :
Tes questions ne tombent pas totalement à l'eau !
Je pense qu'on a pas trop approfondi le problème et il reste l'idée du pack de caractères modifiés
De l'aide et des conseils pour mes projets serait génial
Refaire (encore), optimiser et finir mon mario
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Ne0tux a écrit : -> penses-tu que la modification des caractères puisse se faire par un simple add-in de "patch" ?
-> sous-entendu : as-tu déjà trouvé une autre méthode que le flashage d'un OS alternatif ?
Remiweb a écrit : Je n'en sais rien du tout, le problème c'est de pouvoir écrire dans la mémoire...
Lephenixnoir a essayé de lire/écrire à l'adresse à laquelle j'avais modifié des caractères mais il n'a pas pu le faire...
Attendez, vous ne m'avez pas compris je pense
Le système d'update le fait bien, c'est donc possible. Je crois qu'il y a des syscalls pour écraser des secteurs : ainsi, on pourrait modifier nous-même.
Sauf que si on fait une connerie, on peut effacer des morceaux de l'OS. Et si vraiment la bêtise est grande, on peut écraser le logiciel de mise à jour, et flinguer la machine pour de bon.
À coté, les risques et périls de l'outil de compatibilité de Ziqumu ne sont pas très conséquents...
Lephenixnoir a écrit : Je crois qu'il y a des syscalls pour écraser des secteurs
Du coup y en a-t-il pour lire ces secteurs ?
Il suffirait de contrôler ce qui s'y trouve avant de faire la modification, comme pour l'image d’extinction ?
(et pour annuler la modification il faudrait comparer avec le caractère qu'on y a mit)
Lephenixnoir a écrit : Je crois qu'il y a des syscalls pour écraser des secteurs
Du coup y en a-t-il pour lire ces secteurs ?
Il suffirait de contrôler ce qui s'y trouve avant de faire la modification, comme pour l'image d’extinction ?
(et pour annuler la modification il faudrait comparer avec le caractère qu'on y a mit)
Pourquoi utiliser des syscalls ? On peut lire directement avec des pointeurs.
Un contrôle est possible, si on pouvait localiser le logiciel de mise à jour cela nous éviterait d'aller écraser la zone de mémoire correspondante. Encore une fois, on ne peut pas être sûrs, même si on peut faire des tests suffisamment conséquents pour s'assurer de ne pas faire trop de bêtises. Ah oui, et si on limite l'utilisation aux version d'OS testées et reconnues, alors on doit pouvoir s'en sortir.
Btw, le logiciel de mise à jour n'est sans doute pas au même endroit de mémoire logique que l'OS (s'il y est). Mais l'écrasement de secteur est plus bas niveau encore...
Lephenixnoir a écrit : Pourquoi utiliser des syscalls ? On peut lire directement avec des pointeurs.
Je ne maîtrise pas du tout ça, désolé je voulais juste demander si on pouvait lire quoi
(enfin je sais ce que sont les pointeurs et les syscall mais comme je n'ai jamais utilisé ça...)
Donc en principe c'est faisable. Du coup à quoi correspondent les tests que tu avais fait pour écrire/lire ?
De l'aide et des conseils pour mes projets serait génial
Refaire (encore), optimiser et finir mon mario
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Remiweb a écrit : Je ne maîtrise pas du tout ça, désolé si je parle des mauvaises choses
(enfin je sais ce que sont les pointeurs et les syscall mais que en théorie...)
Ok. Un pointeur c'est une adresse dans la mémoire logique (de 0x00000000 à 0xffffffff). Les pointeurs couvrent donc 4 Gio de mémoire, dont on ne dispose bien évidemment pas. La mémoire physique ne fait que 4 Mio et de 256 kio à 512 kio de RAM selon les modèles. Une unité sur la puce, appelée le MMU (pour Memory Management Unit), est chargée de convertir les adresses logiques en entrées dans la mémoire physique pour accéder aux données.
L'OS se trouve à un endroit précis de la mémoire logique (0xa0000000, en fait il est aussi à 0x80000000, mais ce n'est pas une réelle copie : c'est le MMU qui redirige ces deux adresses vers la même zone de mémoire physique où l'OS réside), et on peut y lire, mais pas y écrire. Je peux donc parcourir l'OS en lecture si je veux.
Cependant, l'écriture est plus compliquée. On n'a pas les droits pour le faire avec des pointeurs (le MMU, encore une fois, nous empêche de le faire). Cependant, le système le fait : ne serait-ce que par le logiciel de mise à jour qui écrase toute la zone de mémoire dédiée à l'OS. Cela dit, l'écrasement de secteur ça se passe directement dans la mémoire physique donc on ne sait pas trop où on tape.
Mais maintenant que j'y pense, la gestion de la mémoire de stockage nécessite la modification d'une partie de la mémoire morte (les 4 Mio, donc 2.5 sont dédiés à l'OS et 1.5, à la mémoire de stockage), et il n'est pas impossible (quoique très incertain) que les méthodes utilisées permettent d'écrire dans l'OS. Ce serait alors beaucoup moins risqué que les sycalls un peu barbares.
Remiweb a écrit : Donc en principe c'est faisable. Du coup à quoi correspondent les tests que tu avais fait pour écrire/lire ?
J'avais essayé d'aller écrire dans la mémoire logique avec un pointeur.
Matt36230 a écrit : On ne peut pas essayer de modifier sur l'émulateur ? C'est moins dangereux.
Pas vraiment non. L'émulateur n'est qu'un émulateur, on est à trop bas niveau pour qu'il permette de faire ça. Cela dit avec la mémoire de stockage, ça pourrait fonctionner.
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 30/11/2014 15:44 | #
Petit filou
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 30/11/2014 15:51 | #
Superbe !
Beau boulot, continue comme ça !
Citer : Posté le 30/11/2014 19:44 | #
GG ! Ca promet
Citer : Posté le 09/02/2016 20:50 | # | Fichier joint
Comme c'est liés aux caractères et que je ne veux pas créer un topic je fais un petit déterrage
J'ai obtenus ces caractères en modifiant des valeurs hexadécimales d'un programme :
Ce sont tous des caractères qui ne sont pas dans le menu "CHAR".
X Y et r sont récupérables en faisant VARS -> GRPH
[] est récupérable en copiant une fraction dans le menu RUN-MAT
Pour les autres je ne crois pas qu'on puisse les récupérer directement depuis la calculette ?
A B C D E F sont les caractères utilisés pour afficher des nombre en héxa, par contre je n'avais jamais vu le P avant.
Je peux éventuellement publier un programme pour les récupérer si ça intéresse du monde.
La grande question est savez-vous s'il existes d'autres caractères comme ça ?
Citer : Posté le 09/02/2016 21:49 | #
Ça m'intéresse ! Ça pourrait un peu changer les designs des programmes
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 10/02/2016 11:39 | #
Super bien ce projet !
- Mystery Key
- Khi2
Citer : Posté le 10/02/2016 12:42 | #
hebien quand tu en aura fini avec ça les sprites BASIC seront beaucoup plus faciles
Citer : Posté le 10/02/2016 13:55 | #
Bon courage pour poursuivre ce projet très intéressant .
Labyrinthe : un jeu de réflexe unique, élu Jeu Du Mois !!!
Citer : Posté le 10/02/2016 14:27 | #
@Remiweb Ça te brancherait qu'on se fasse une petite alliance Illuminati histoire de péter le BASIC game ?
Citer : Posté le 10/02/2016 18:46 | # | Fichier joint
Malheureusement s'il ne s'est rien passé depuis 2014 c'est parce que ce système n'est pas exploitable
Pour mes essais je modifiais l'OS, il faudrait donc le flasher à chaque fois ce qui est assez lourd...
Lephenixnoir a essayé de voir si avec un add-in on pouvait directement modifier des caractères, ce qui serait la meilleur solution. Mais on ne peut pas, ils sont stockés dans un bout de la mémoire auquel on a pas accès...
@Matt36230 Voilà
Citer : Posté le 10/02/2016 18:48 | #
Salut !
Je n'avais pas vu ce topic qui s'avère extrêmement intéressant ! J'imagine qu'une avancée dans ce projet en entraînerait une autre dans ton oeuvre phare, Remi' !
J'ai quelques questions :
-> penses-tu que la modification des caractères puisse se faire par un simple add-in de "patch" ?
-> sous-entendu : as-tu déjà trouvé une autre méthode que le flashage d'un OS alternatif ?
-> as-tu besoin d'aide pour ladite méthode ?
-> pourquoi cherches-tu de nouveaux caractères, pour en avoir davantage à remplacer, ou pour qu'ensemble nous choisissions ceux qui valent la peine d'être remplacés ?
-> si j'ai bien saisi il faudra que l'on se mette d'accord ici dans notre communauté sur les caractères que l'ont souhaite voir ? Des idées de quelqu'un apte à proposer des dessins ?
-> souhaites-tu ne faire qu'un seul "pack" de caractères ou plusieurs ?
-> actuellement, combien de caractères modifiés penses-tu qu'il soit raisonnable d'intégrer ?
Merci pour ces travaux qui promettent et bon courage !
EDIT : je viens de voir ta réponse Rémi', du coup mes questions tombent à l'eau. C'est dommage, mais j'imagine que ça vous à tout de même permis à toi et Lephé' de vous plonger dans quelque chose de nouveau, ce qui a forcément été une expérience bénéfique.
La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Citer : Posté le 10/02/2016 19:01 | #
Lephenixnoir a essayé de lire/écrire à l'adresse à laquelle j'avais modifié des caractères mais il n'a pas pu le faire...
Je peux détailler la manière dont les caractères sont codés pour essayer d'en chercher dans la mémoire ? En fait je ne suis pas 100% convaincu par les adresses qu'on a essayé.
-> souhaites-tu ne faire qu'un seul "pack" de caractères ou plusieurs ?
-> actuellement, combien de caractères modifiés penses-tu qu'il soit raisonnable d'intégrer ?
Je pourrais faire un petit programme pour patcher n'importe quel OS, ça serait semblable à ce qu'on fait pour modifier l'image d'extinction.
Pour les deux dernières questions je ne peux pas vraiment répondre.
Si effectivement on lance le projet il faudra se mettre d'accord sur les caractères "inutiles" qui seront remplacés et par quoi les remplacer.
Ajouté le 10/02/2016 à 19:10 :
Tes questions ne tombent pas totalement à l'eau !
Je pense qu'on a pas trop approfondi le problème et il reste l'idée du pack de caractères modifiés
Citer : Posté le 11/02/2016 12:58 | #
Merci Remiweb
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 11/02/2016 16:18 | #
Il faudrait un genre de mod flashable comme sur Android
- Mystery Key
- Khi2
Citer : Posté le 14/02/2016 11:05 | #
-> penses-tu que la modification des caractères puisse se faire par un simple add-in de "patch" ?
-> sous-entendu : as-tu déjà trouvé une autre méthode que le flashage d'un OS alternatif ?
Je n'en sais rien du tout, le problème c'est de pouvoir écrire dans la mémoire...
Lephenixnoir a essayé de lire/écrire à l'adresse à laquelle j'avais modifié des caractères mais il n'a pas pu le faire...
Attendez, vous ne m'avez pas compris je pense
Le système d'update le fait bien, c'est donc possible. Je crois qu'il y a des syscalls pour écraser des secteurs : ainsi, on pourrait modifier nous-même.
Sauf que si on fait une connerie, on peut effacer des morceaux de l'OS. Et si vraiment la bêtise est grande, on peut écraser le logiciel de mise à jour, et flinguer la machine pour de bon.
À coté, les risques et périls de l'outil de compatibilité de Ziqumu ne sont pas très conséquents...
Citer : Posté le 14/02/2016 11:39 | #
Je crois qu'il y a des syscalls pour écraser des secteurs
Du coup y en a-t-il pour lire ces secteurs ?
Il suffirait de contrôler ce qui s'y trouve avant de faire la modification, comme pour l'image d’extinction ?
(et pour annuler la modification il faudrait comparer avec le caractère qu'on y a mit)
Citer : Posté le 14/02/2016 11:43 | #
Je crois qu'il y a des syscalls pour écraser des secteurs
Du coup y en a-t-il pour lire ces secteurs ?
Il suffirait de contrôler ce qui s'y trouve avant de faire la modification, comme pour l'image d’extinction ?
(et pour annuler la modification il faudrait comparer avec le caractère qu'on y a mit)
Pourquoi utiliser des syscalls ? On peut lire directement avec des pointeurs.
Un contrôle est possible, si on pouvait localiser le logiciel de mise à jour cela nous éviterait d'aller écraser la zone de mémoire correspondante. Encore une fois, on ne peut pas être sûrs, même si on peut faire des tests suffisamment conséquents pour s'assurer de ne pas faire trop de bêtises. Ah oui, et si on limite l'utilisation aux version d'OS testées et reconnues, alors on doit pouvoir s'en sortir.
Btw, le logiciel de mise à jour n'est sans doute pas au même endroit de mémoire logique que l'OS (s'il y est). Mais l'écrasement de secteur est plus bas niveau encore...
Citer : Posté le 14/02/2016 11:49 | #
Pourquoi utiliser des syscalls ? On peut lire directement avec des pointeurs.
Je ne maîtrise pas du tout ça, désolé je voulais juste demander si on pouvait lire quoi
(enfin je sais ce que sont les pointeurs et les syscall mais comme je n'ai jamais utilisé ça...)
Donc en principe c'est faisable. Du coup à quoi correspondent les tests que tu avais fait pour écrire/lire ?
Citer : Posté le 14/02/2016 11:51 | #
On ne peut pas essayer de modifier sur l'émulateur ? C'est moins dangereux.
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 14/02/2016 11:59 | #
Je pense que non, l'émulateur n'est dispo qu'en 1.0.0
Citer : Posté le 14/02/2016 12:00 | #
Je ne maîtrise pas du tout ça, désolé si je parle des mauvaises choses
(enfin je sais ce que sont les pointeurs et les syscall mais que en théorie...)
Ok. Un pointeur c'est une adresse dans la mémoire logique (de 0x00000000 à 0xffffffff). Les pointeurs couvrent donc 4 Gio de mémoire, dont on ne dispose bien évidemment pas. La mémoire physique ne fait que 4 Mio et de 256 kio à 512 kio de RAM selon les modèles. Une unité sur la puce, appelée le MMU (pour Memory Management Unit), est chargée de convertir les adresses logiques en entrées dans la mémoire physique pour accéder aux données.
L'OS se trouve à un endroit précis de la mémoire logique (0xa0000000, en fait il est aussi à 0x80000000, mais ce n'est pas une réelle copie : c'est le MMU qui redirige ces deux adresses vers la même zone de mémoire physique où l'OS réside), et on peut y lire, mais pas y écrire. Je peux donc parcourir l'OS en lecture si je veux.
Cependant, l'écriture est plus compliquée. On n'a pas les droits pour le faire avec des pointeurs (le MMU, encore une fois, nous empêche de le faire). Cependant, le système le fait : ne serait-ce que par le logiciel de mise à jour qui écrase toute la zone de mémoire dédiée à l'OS. Cela dit, l'écrasement de secteur ça se passe directement dans la mémoire physique donc on ne sait pas trop où on tape.
Mais maintenant que j'y pense, la gestion de la mémoire de stockage nécessite la modification d'une partie de la mémoire morte (les 4 Mio, donc 2.5 sont dédiés à l'OS et 1.5, à la mémoire de stockage), et il n'est pas impossible (quoique très incertain) que les méthodes utilisées permettent d'écrire dans l'OS. Ce serait alors beaucoup moins risqué que les sycalls un peu barbares.
Donc en principe c'est faisable. Du coup à quoi correspondent les tests que tu avais fait pour écrire/lire ?
J'avais essayé d'aller écrire dans la mémoire logique avec un pointeur.
On ne peut pas essayer de modifier sur l'émulateur ? C'est moins dangereux.
Pas vraiment non. L'émulateur n'est qu'un émulateur, on est à trop bas niveau pour qu'il permette de faire ça. Cela dit avec la mémoire de stockage, ça pourrait fonctionner.