MSX Village forum

L'atelier [DIY] Adaptateur de manettes (presque) universel

MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 7062

Le 24/02/2026 à 16h57

Reprise du message précédent

DataPro :
j’estime que le port manette spécifique Amstrad est superflu. J
Comme l'a fait remarquer Jipé, la manette Amstrad GX4000/CPC+ se branche directement sur le port MSX/FM-Towns.


de toute facon, si je l enleve, j'ai un vide :lol
a moin de trouver autre chose, je vais laisser mais tu as parfaitement raison ;)


Mon Github ->[/b] github.com/msxlegend
challenge 2013 -> neodream MSX 2013
Concepteur du -> KCX Bluetooth transmitter
Demo Terminator2 T2.zip
DataPro Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 14/06/2011 à 10h12

Messages: 1102

Le 25/02/2026 à 10h02
Sauf erreur de ma part, si tu enlèves le port Amstrad, tu peux mettre le port souris en bout perpendiculairement aux autres et tu gagnes un peu en longueur.


MSX1: Yeno DPC-64 - Sanyo PHC-28S - Sanyo PHC-28L - Canon V20 - Sony HB-75F - Yeno MX-64
MSX2: Panasonic FS-A1F 128Ko RAM 128 Ko VRAM / Gotek/ I/O Expander / Carnivore 2 ~8Mb FlashROM~1024Ko RAM~IDE~FM-PAC(MSX Music)~SCC+ / Wozblaster
          Philips NMS 8255Azerty 128Ko RAM 128 Ko VRAM
   
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 7062

Le 25/02/2026 à 17h00
apres avoir fait des recherches, j'ai decidé de faire sauter le port amstrad

A l'epoque, bien que cablé, les manette officiel n'avais qu'un seul bouton fire. ça c'est democratisé avec la GX4000.

Voila c'est reglé :)


Mon Github ->[/b] github.com/msxlegend
challenge 2013 -> neodream MSX 2013
Concepteur du -> KCX Bluetooth transmitter
Demo Terminator2 T2.zip
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 7062

Le 26/02/2026 à 20h38
Voici l'idée pour la securité

> Le Polyswitch (500mA) : Il est soudé juste après l'arrivée du 5V du connecteur MSX. (Fusible réarmable) de 500mA (ex: MF-MSMF050)

> Les LEDs de contrôle : Une LED (avec sa résistance de 1 ou 2kΩ) derrière chaque sortie de jumper pour confirmer visuellement quel port est "vivant".

> Le Jumper (Sélecteur 1 vers 7) : Il distribue ce 5V vers le port de notre choix.
Avantage : Un port non sélectionné est totalement inerte (pas de court-circuit possible, pas de LED allumée, pas de conflit).

jumper_multi_manette Edité par MSXlegend Le 26/02/2026 à 20h50


Mon Github ->[/b] github.com/msxlegend
challenge 2013 -> neodream MSX 2013
Concepteur du -> KCX Bluetooth transmitter
Demo Terminator2 T2.zip
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 7062

Le 28/03/2026 à 12h30
Bon c'est compliqué mais je pense que je vais enfin pouvoir faire une version de test. Je vais vers l'inconnu concernant la souris par le port ps/2. Le code a été entierement refait !! :gne

voici mon programme pour l'arduino pro micro (ATmega32U4) 5V 16Mhz
si quelqu'un maitrise l'arduino, peut il m'aider a verifier si mon code est correct?

Code C++ Souris pour MSX :

/* * ==========================================================
* PROJET : Adaptateur SOURIS ps/2 pour MSX
* AUTEUR : MSXLegend
* VERSION : 1.0 (2026)
* CARTE : Arduino Pro Micro (ATmega32U4) 5V / 16MHz
* ==========================================================
* CORRESPONDANCE PHYSIQUE (Pattes 1-24) :
* ---------------------------------------
* [5] -> Data Souris PS/2 | [10] -> MSX Pin 4 (DROITE)
* [6] -> Clock Souris PS/2 | [11] -> MSX Pin 8 (STROBE)
* [7] -> MSX Pin 1 (HAUT) | [12] -> MSX Pin 6 (BOUTON 1)
* [8] -> MSX Pin 2 (BAS) | [13] -> MSX Pin 7 (BOUTON 2)
* [9] -> MSX Pin 3 (GAUCHE) | [21] -> VCC (+5V MSX)
* ==========================================================
*/

#include <PS2Mouse.h>

// --- CONFIGURATION LOGICIELLE DES PINS ---
// (Les numéros ci-dessous correspondent aux labels D2, D3, etc. de l'IDE)
#define MOUSE_DATA 2 // Patte physique 5
#define MOUSE_CLK 3 // Patte physique 6

const int MSX_UP = 4; // Patte physique 7
const int MSX_DOWN = 5; // Patte physique 8
const int MSX_LEFT = 6; // Patte physique 9
const int MSX_RIGHT = 7; // Patte physique 10
const int MSX_STROBE = 8; // Patte physique 11
const int MSX_BTN1 = 9; // Patte physique 12
const int MSX_BTN2 = 10; // Patte physique 13

PS2Mouse mouse(MOUSE_CLK, MOUSE_DATA);

void setup() {
Serial.begin(9600);

// Signature MSXLegend au démarrage
Serial.println(F("================================"));
Serial.println(F(" MSX MOUSE ADAPTER v1.0 "));
Serial.println(F(" By MSXLegend - 2026 "));
Serial.println(F("================================"));

// Initialisation sécurisée en entrées (Haute Impédance)
int outputs[] = {MSX_UP, MSX_DOWN, MSX_LEFT, MSX_RIGHT, MSX_BTN1, MSX_BTN2};
for(int i=0; i<6; i++) {
pinMode(outputs[i], INPUT);
}
pinMode(MSX_STROBE, INPUT);

mouse.begin();
}

void loop() {
MouseData data;
mouse.getData(&data);

// 1. Gestion immédiate des boutons
sendToMsx(MSX_BTN1, data.left);
sendToMsx(MSX_BTN2, data.right);

// 2. Protocole Quadrature MSX (Synchro sur Pin 8 / Strobe)
// Le MSX demande les données en 4 étapes (Nibbles)
while(digitalRead(MSX_STROBE) == LOW);
sendNibble(data.x >> 4);

while(digitalRead(MSX_STROBE) == HIGH);
sendNibble(data.x & 0x0F);

while(digitalRead(MSX_STROBE) == LOW);
sendNibble(data.y >> 4);

while(digitalRead(MSX_STROBE) == HIGH);
sendNibble(data.y & 0x0F);
}

// Envoie 4 bits sur les lignes de direction (H, B, G, D)
void sendNibble(uint8_t n) {
sendToMsx(MSX_UP, n & 0x01);
sendToMsx(MSX_DOWN, n & 0x02);
sendToMsx(MSX_LEFT, n & 0x04);
sendToMsx(MSX_RIGHT, n & 0x08);
}

// Fonction de pilotage propre pour le port MSX
void sendToMsx(int pin, bool active) {
if (active) {
pinMode(pin, OUTPUT);
digitalWrite(pin, LOW); // Tire la ligne à 0V (état actif sur MSX)
} else {
pinMode(pin, INPUT); // Laisse la ligne flotter (état repos)
}
}
Edité par MSXlegend Le 28/03/2026 à 18h31


Mon Github ->[/b] github.com/msxlegend
challenge 2013 -> neodream MSX 2013
Concepteur du -> KCX Bluetooth transmitter
Demo Terminator2 T2.zip
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 7062

Le 16/04/2026 à 17h08
Grace a Bastion Rebel, je vais pouvoir ajouter un port USB pour les souris optiques enciennes generations

adaptateur_ps_2_usb_pour_souris_pc_-_google_gemini_-_google_chrome_16_04_2026_16_59_37 Edité par MSXlegend Le 16/04/2026 à 17h08


Mon Github ->[/b] github.com/msxlegend
challenge 2013 -> neodream MSX 2013
Concepteur du -> KCX Bluetooth transmitter
Demo Terminator2 T2.zip
MSX34 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 05/04/2025 à 18h27

Messages: 262

Le 16/04/2026 à 17h09
Au top. Tu pourras me transmettre les dimensions afin que je réalise un boitier avec l'imprimante 3D ?

Edité par MSX34 Le 16/04/2026 à 17h10


MSX2 Sony HBF-700F / Ecran Sony KX-CP1
MSX Turbo R A1 ST / Ecran Panasonic TC-14S3RC
Site web    
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 7062

Le 16/04/2026 à 19h33
je ferais ça apres les essais. c'est la V3, les 2 autres ont échoué, j'ai voulu aller trop vite :(

visu_3d_16_04_2026_19_29_23

Une fois que tout sera validé et assemblé, le plus simple sera que je t'envoie un modèle complet (PCB assemblé). Je t'enverrai également les cotes principales (position des trous, etc.).


visu_3d_16_04_2026_19_37_25 Edité par MSXlegend Le 16/04/2026 à 19h40


Mon Github ->[/b] github.com/msxlegend
challenge 2013 -> neodream MSX 2013
Concepteur du -> KCX Bluetooth transmitter
Demo Terminator2 T2.zip
DataPro Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 14/06/2011 à 10h12

Messages: 1102

Le 17/04/2026 à 09h27
Je reconnais qu'avec l'ajout du port souris, ce gadget devient indispensable. Surtout si on peut avoir un boitier.


MSX1: Yeno DPC-64 - Sanyo PHC-28S - Sanyo PHC-28L - Canon V20 - Sony HB-75F - Yeno MX-64
MSX2: Panasonic FS-A1F 128Ko RAM 128 Ko VRAM / Gotek/ I/O Expander / Carnivore 2 ~8Mb FlashROM~1024Ko RAM~IDE~FM-PAC(MSX Music)~SCC+ / Wozblaster
          Philips NMS 8255Azerty 128Ko RAM 128 Ko VRAM
   
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 7062

Le 18/04/2026 à 02h34
c'est du travail d'equipe :top


Mon Github ->[/b] github.com/msxlegend
challenge 2013 -> neodream MSX 2013
Concepteur du -> KCX Bluetooth transmitter
Demo Terminator2 T2.zip
MSXlegend Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 7062

Le 07/05/2026 à 23h36
Je vais avoir du maille ce week end. PCB recu, je suis pressé de tester la souris. juste une erreur, j'ai sous estimé la taille du module arduino pro micro qui viens deborder sur la connectique USB :(

img_20260507_223415


Mon Github ->[/b] github.com/msxlegend
challenge 2013 -> neodream MSX 2013
Concepteur du -> KCX Bluetooth transmitter
Demo Terminator2 T2.zip
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie