[add-in] multijoueur en Basic
Posté le 05/02/2018 20:54
Bonjour communauté ! ici je partage mon idée de projet d'
add-in d'ajout de commandes basic pour gérer le multijoueur (quête ultime du flemmard qui n'a pas envie d'apprendre le C...
). Le chemin sera long et difficile, mais je compte sur vous pour partager vos conseils et idées ! si vous voulez participer à la création du programme, toute aide est la bienvenue !
projet multijoueur en basic :
EDIT: je pense utiliser les syscalls pour modifier les fonctions Send, Receive, Send38k et Receive38k pour en faire des commandes permettant la communication entre deux calculatrices. Voici les types de communications que j'envisage:
> Send :envoi de une ou plusieurs informations sans attente de confirmation de réception via le port 3 pin
> receive38k : met le programme en pause le temps de recevoir quelque chose ( n'importe quoi ) ( faire par exemple receive→ A va déterminer le type de données que receive pourra recevoir, ici une variable, mais ca peut être une liste ou autre : receive→List x )
> Send38k : envoi de données par le port USB
> Receive : recoit les données sans mettre le programme en pause ( la syntaxe est la même que Receive )
> OpenComport38k : permettra de mettre la calto en receive permanent en background de l'exécution du programme
> CloseComport38k : stoppe le receive en background
Je pense aussi ajouter quelques nuances et fonctions supplémentaires pour varier les types de communications et palier le fait de ne pouvoir modifier que 4 commandes...
en avant !
EDIT :
Le projet ici a été abandonné, mais rassurez vous : c'est parce que Sentaro21 a été plus rapide que moi : téléchargez
C.Basic qui permet de gérer la communication par le port série et bien d'autres choses !
Citer : Posté le 25/03/2018 15:17 | #
Merci beaucoup Lephenixnoir pour ces éclaircissements ! Alors si j'ai bien compris, s'il s'agit de la création d'un OS alternatif, il faut reprendre sa création depuis zéro... mis à part le temps, techniquement c'est possible (motivation+connaissances ), mais pour gagner du temps, on ne pourrait pas tout simplement récupérer le code source de l'OS existant ( celui de SimLo) pour le modifier où du moins récupérer les parties qu'on aura pas à toucher ?
merci de ton aide !
Dijkstra - The Witcher
Citer : Posté le 25/03/2018 15:21 | #
Oui, techniquement, c'est possible ! On peut le même le faire dans un add-in, comme en témoignent FiXOS ou dans une moindre mesure, gint.
Edit : Dans ce cas, le système alternatif s'arrête avec l'add-in.
Le problème c'est qu'on n'a pas les sources de l'OS ! Casio est une entreprise, pas une association caritative. On n'a qu'on gros blob binaire, et on ne peut rien modifier de son code sous peine de casser plein de trucs. Si tu as fait de l'assembleur, imagine-toi essayer de remplacer une séquences de deux instructions par une séquence de trois... c'est perdu d'avance.
D'un autre côté, le rétro-engineering est une tâche très fastidieuse et à ma connaissance personne ici ne connaît ne serait-ce que la structure générale du système. De là à modifier des points précis, on n'y pense pas.
Citer : Posté le 25/03/2018 18:30 | #
Ça me paraissait pas clair, donc je précise :
Oui, techniquement, c'est possible ! On peut le même lancer l'OS alternatif en live depuis un addin, comme en témoignent FiXOS ou dans une moindre mesure, gint.
Citer : Posté le 28/03/2018 15:05 | #
ok ok ok je pense qu'on va procéder ainsi: on va créer deux topic, le premier est celui ci et concerne un projet d'OS alternatif, et le second portera sur un add-in. Les deux auront bien sûr le même but.
Je pense prendre les choses comme ceci car je ne dispose pour le moment de trop peu d'éléments pour savoir lequel est le mieux, mais je pense pouvoir trancher bientôt !
A bientôt !
Dijkstra - The Witcher
Citer : Posté le 28/03/2018 19:18 | #
Le mieux ? Tu t'occuperas de faire un OS en Flash quand tu sauras faire avec un add-in, pas avant...
Citer : Posté le 29/03/2018 20:21 | #
je pense (après réflexion) que tu as raison Lephenixnoir...
Actuellement, je suis dans le bain infernal des syscalls (looooonnngue liste de fonctions), mais je suis motivé, donc l'add-in sortira un jour !
Dijkstra - The Witcher
Citer : Posté le 29/03/2018 20:26 | #
... t'es sûr que t'as compris le but d'un OS ?
Edit : Tu peux pas utiliser ces syscalls dans ton add-in, je veux dire.
Citer : Posté le 29/03/2018 20:38 | #
ah bon ? on peut pas modifier les commandes Send, receive et Co comme le précise SimLo ?
Comme je l'avais compris, on pouvait le faire depuis un add-in (sans modifier ou recréer un OS)
Dijkstra - The Witcher
Citer : Posté le 29/03/2018 20:40 | #
Ah ben tu fais plus un OS, alors. Suffit de le dire.
Citer : Posté le 29/03/2018 20:46 | #
oui désolé, --' j'avais oublié de le préciser dans un message précédent... j'ai pensé (et tu m'as aidé a prendre cette décision) qu'un add-in permettrait que les modifications et les ajouts que je souhaite apporter soient accessibles au plus grand nombre tout en préservant (je pense !) sa validité lors des examens.
Ajouté le 07/06/2018 à 10:37 :
donc j'ai précisé mon projet dans la description du topic, si vous avez des idées ou des questions, allez y
Dijkstra - The Witcher
Citer : Posté le 07/06/2018 11:23 | #
Je te conseille de regarder du coté de PGRM2
À la réflexion, c'est ce qui me parait le plus adapté à ton cas. Le plus gros est déjà fait, tout ce que tu dois ajouter ce sont les commandes de communication
Citer : Posté le 07/06/2018 11:28 | #
Ta méthode est valide, en tous cas. As-tu commencé à regarder la doc de SimLo pour savoir comment modifier les syscalls ?
Citer : Posté le 07/06/2018 11:47 | #
@Lephe
oui, mais côté add-in, je pars presque de zéro, donc pour tout comprendre, à risque de me prendre du temps. Je sais programmer en C normal ( pour ordi quoi ) donc pour la calto, il me faudra un temps d'adaptation, je pense déjà me familiariser avec la programmation d'add-in, puis jeter à nouveau un coup d'œil à la doc de SimLo.
@Darks
oui, je pense m'y mettre si tu penses que ça pourrait me servir, mais comme eux ce qu'ils voulaient faire était un IDE en C pour créer des add-ins depuis la calto, en ce qui me concerne je ne pense pas aller aussi loin
Dijkstra - The Witcher
Citer : Posté le 07/06/2018 13:42 | #
Ah non non, pas du tout. Le principe de PRGM2, c'est d'augmenter la puissance du Basic, en ajoutant des fonctions supplémentaires, comme l'affichage de sprites complexes.
En fait, je relis le truc, et y'a déjà tout ce qu'il faut pour faire un jeu multi en Basic
Confère l'exemple Serial fourni dans le zip.
Citer : Posté le 14/06/2018 09:07 | #
ah oui ! donc si je comprends bien, ce projet a déjà été fait avant !
je pensais pas que PRGM2 avait icorporé la possibilité de communiquer entre calculatrices...
Dijkstra - The Witcher
Citer : Posté le 14/06/2018 09:08 | #
C'est toujours intéressant de faire un état de l'art avant de commencer... '
(m'enfin ça ne casse pas l'intérêt de ton travail à toi, de loin)
Citer : Posté le 18/06/2018 17:39 | #
... Après test de PRGM2, je peux lui donner deux gros problèmes ( et ce n'est pas que mon avis à moi ), qui sont:
> l'add-in est très instable, même sur des SH3
>l'add-in a vieilli et sa compatibilité SH4 aussi
Je compte donc faire mieux sur ces deux points ( pour le 2eme ca devrait être plus facile )
Dijkstra - The Witcher
Citer : Posté le 04/09/2018 14:27 | #
Bonjour lightmare
Je serais partant pour t'aider a faire cet add-in mais il va me faloir de l'aide sur comment sa a progresse car si j'ai des meilleurs détails, je serais plus avancé pour essayer de te faire des corrections de bugs ou quoi
S'il te plait mets un téléchargement en texte pour que je regardes sa
Bonne continuation sur le projet
Citer : Posté le 04/09/2018 16:52 | #
@Maxipoint : a vrai dire, ce projet ci n'est pas ma priorité actuellement car je suis encore en phase d'apprentissage des syscalls... D'autant plus que j'ai été doublé : PRGM2 et C.Basic ont déjà intégré le multijoueur programmable depuis sa calculatrice...
Dijkstra - The Witcher