L'atelier Ninja Tap
Bastion Rebel
Membre non connecté
Conseiller Municipal
Reprise du message précédent
Mais on peut utilisé le NINJA TAP ou PAS ??? sinon on as fait tous ca pour RIEN ???TURBO-R FS-A1ST 512/128ko MSX2+ NMS 8250 F4 /Fix Audio /Ram 1/4Mb VDP9958 VRAM 192ko 2FDD SANYO WAVY PHC35J MSX2 NMS 8280 Ram 4Mb VDP9938 VRAM 192ko 2FDD NMS 8250 128/128ko 2FDD VG8235/39 128/128ko 1FDD SONY HB-F700D MSX1 MC810 32/16k VG 8020 64k HB75F 64k HX-22 64k RS232/ CX5M 32k HB501F EXT : My Exp 4X/[b] MegaFlashSCC 512ko/BERT R2/BEER CF/SUNRISE 2CF/FUNRICE V2.01/MAXIOL/MEGASCSI HDD-CD/SDMSX 1SD/FMPAC SRAM/NMS1205+1160/RS 232 Harukaze/GR8NET/DOS2/ HOMER V2 RAM512ko/Floppy Pack/MAXduino/ROM1664/FM Pak /GR8NET /AMIGA/ PC/ RaspB Pi(B) / ARDUINO
oui avec ces jeux
Cyber Operation
Magical Labyrinth
Magical Labyrinth Remix https://www.generation-msx.nl/software/gigamix/magical-labyrinth-remix/release/3368/
Quizz Atachatte 25% https://www.generation-msx.nl/software/gigamix/quiz-atatchatte-25/release/3367/
F-Nano2 (for MSX-Turbo) https://www.generation-msx.nl/software/xray/f-nano-2---3d-car-action/media/3560/
et cet utilitaire de programmation https://www.generation-msx.nl/software/gigamix/dm-system-2-utility-disk/release/3969/
DM-System 2
après si aoineko arrive a programmer un driver ça ouvre des possibilités
Cyber Operation
Magical Labyrinth
Magical Labyrinth Remix https://www.generation-msx.nl/software/gigamix/magical-labyrinth-remix/release/3368/
Quizz Atachatte 25% https://www.generation-msx.nl/software/gigamix/quiz-atatchatte-25/release/3367/
F-Nano2 (for MSX-Turbo) https://www.generation-msx.nl/software/xray/f-nano-2---3d-car-action/media/3560/
et cet utilitaire de programmation https://www.generation-msx.nl/software/gigamix/dm-system-2-utility-disk/release/3969/
DM-System 2
après si aoineko arrive a programmer un driver ça ouvre des possibilités
aoineko
Membre non connecté
Conseiller Municipal
Le Ninja Tap fonctionne avec quelques jeux déjà existant. Ça ça ne change pas. La question c'est plus pour l'avenir.
J'ai trouvé des infos sur comment lire ses donnés donc je vais refaire le driver (en assembleur). Je le mettrai sur MRC comme ça tout le monde pourra l'utiliser.
Il aura aussi un wrapper en C dans MSXgl (qui pourra facilement être mis dans Fusion-C).
Il me faut juste un moyen de tester. Je vais vérifier mais sur MRC, ils disaient qu'il était supporté par OpenMSX.
EDIT : Je confirme : https://openmsx.org/manual/user.html#ninjatap
J'ai trouvé des infos sur comment lire ses donnés donc je vais refaire le driver (en assembleur). Je le mettrai sur MRC comme ça tout le monde pourra l'utiliser.
Il aura aussi un wrapper en C dans MSXgl (qui pourra facilement être mis dans Fusion-C).
Il me faut juste un moyen de tester. Je vais vérifier mais sur MRC, ils disaient qu'il était supporté par OpenMSX.
EDIT : Je confirme : https://openmsx.org/manual/user.html#ninjatap
On est toujours ignorant avant de savoir.
Bastion Rebel
Membre non connecté
Conseiller Municipal
en regardant mieux y as une difference avec le schema les pins 1 a 4 pour selectionné les ports joysticks sont dans l'ordres sur le schema de DANJOVIC et inversé sur celui de JIPE !!
on fait quoi ??? dans quel ordre ??
on fait quoi ??? dans quel ordre ??
TURBO-R FS-A1ST 512/128ko MSX2+ NMS 8250 F4 /Fix Audio /Ram 1/4Mb VDP9958 VRAM 192ko 2FDD SANYO WAVY PHC35J MSX2 NMS 8280 Ram 4Mb VDP9938 VRAM 192ko 2FDD NMS 8250 128/128ko 2FDD VG8235/39 128/128ko 1FDD SONY HB-F700D MSX1 MC810 32/16k VG 8020 64k HB75F 64k HX-22 64k RS232/ CX5M 32k HB501F EXT : My Exp 4X/[b] MegaFlashSCC 512ko/BERT R2/BEER CF/SUNRISE 2CF/FUNRICE V2.01/MAXIOL/MEGASCSI HDD-CD/SDMSX 1SD/FMPAC SRAM/NMS1205+1160/RS 232 Harukaze/GR8NET/DOS2/ HOMER V2 RAM512ko/Floppy Pack/MAXduino/ROM1664/FM Pak /GR8NET /AMIGA/ PC/ RaspB Pi(B) / ARDUINO
aoineko
Membre non connecté
Conseiller Municipal
Si je suis les explications de danjovic (https://hackaday.io/page/13372-investigating-the-msx-ninja-tap), voici le pseudo code de lecture de l'état des joysticks.
Dite-moi si cela vous semble correct.
Pour le port joystick A :
Set PSG.Reg15 to 00010001b ; bit#0: portA.pin6=HIGH, bit#4: portA.pin8=HIGH, bit#6: select portA
Loop 8 times :
Y a juste sur le début ou je suis pas sûr de comment interpréter en code le "pulse" (il faut mettre les bits à 1 puis à 0 ?).
Dite-moi si cela vous semble correct.
Citation :
The sequence for reading the 4021s is the following
0) the sampling start with pin 8 (CLOCK = HIGH) and pin 6 (PARALLEL/!SERIAL = LOW)
1. pulse (go high, then low) the PARALLEL/!SERIAL line (pin 6). That will latch the input of the keys to the 4021 internal flip flops. Notice that the CD4021 output is already loaded at the Q8 output.
2. Pulse (go high, then go low) the CLOCK line (pin 8). (note: If this pin weren't initialized high, the first bit would be missed)
3. shift in one data bit from TAP 1 at the UP line (pin1) into register H
4. shift in one data bit from TAP 2 at the DOWN line (pin2) into register E
5. shift in one data bit from TAP 3 at the LEFT line (pin3) into register D
6. shift in one data bit from TAP 4 at the RIGHT line (pin4) into register C
7. Repeat steps 2 through 6 for until all 8 bits are read
8. Process the data.
0) the sampling start with pin 8 (CLOCK = HIGH) and pin 6 (PARALLEL/!SERIAL = LOW)
1. pulse (go high, then low) the PARALLEL/!SERIAL line (pin 6). That will latch the input of the keys to the 4021 internal flip flops. Notice that the CD4021 output is already loaded at the Q8 output.
2. Pulse (go high, then go low) the CLOCK line (pin 8). (note: If this pin weren't initialized high, the first bit would be missed)
3. shift in one data bit from TAP 1 at the UP line (pin1) into register H
4. shift in one data bit from TAP 2 at the DOWN line (pin2) into register E
5. shift in one data bit from TAP 3 at the LEFT line (pin3) into register D
6. shift in one data bit from TAP 4 at the RIGHT line (pin4) into register C
7. Repeat steps 2 through 6 for until all 8 bits are read
8. Process the data.
Pour le port joystick A :
Set PSG.Reg15 to 00010001b ; bit#0: portA.pin6=HIGH, bit#4: portA.pin8=HIGH, bit#6: select portA
Loop 8 times :
Set PSG.Reg15 to 00010000b ; bit#0: portA.pin6=LOW, bit#4: portA.pin8=HIGH, bit#6: select portA
Get PSG.Reg14 ; Get 1 joystick state bit
Get PSG.Reg14 ; Get 1 joystick state bit
Y a juste sur le début ou je suis pas sûr de comment interpréter en code le "pulse" (il faut mettre les bits à 1 puis à 0 ?).
On est toujours ignorant avant de savoir.
aoineko
Membre non connecté
Conseiller Municipal
Bon bah encore mieux ; j'ai retrouvé le code en question.
Le voici :
Le voici :
Code ASM :
;====================================== ; NTAP Access GETNIN: PUSH AF PUSH HL ; Select Port and 8pin=H,6pin=L LD A,15 OUT (0A0H),A IN A,(0A2H) AND D OR E OUT (0A1H),A ; 6pin=H (4021 Data Read) OR 05H OUT (0A1H),A ; 6pin=L (4021 Transfer Mode) AND 0FAH OUT (0A1H),A ;/// Get Key Status ////// LD B,8 GETNI0: ; Send me Data LD A,15 OUT (0A0H),A IN A,(0A2H) OR 030H OUT (0A1H),A ;8=H AND 0CFH OUT (0A1H),A ;8=L LD A,14 OUT (0A0H),A IN A,(0A2H) ;Read RRA RL H ;Joy1 RRA RL E ;Joy2 RRA RL D ;Joy3 RRA RL C ;Joy4 DJNZ GETNI0 ;///////////////////////// LD A,H POP HL LD (HL),A ;Joy1 INC HL LD (HL),E ;Joy2 INC HL LD (HL),D ;Joy3 INC HL LD (HL),C ;Joy4 INC HL ; Restore Port (6,7,8=H) LD DE,0FF3FH CALL PORSEL ; LD A,15 ; OUT (0A0H),A ; IN A,(0A2H) ; OR 3FH ; OUT (0A1H),A POP AF RET
On est toujours ignorant avant de savoir.
aoineko
Membre non connecté
Conseiller Municipal
Voir 10 joueurs
(8 via 2 Ninja-Tap + 2 au clavier)
J'ai intégré le driver à MSXgl, mais ça ne détecte pas la Ninja-Tap dans OpenMSX.
@Jipe est-ce que tu pourrais tester la ROM avec le véritable hardware stp (https://github.com/aoineko-fr/MSXgl/raw/main/projects/samples/emul/rom/s_ntap.rom) ?
Le programme affiche le nombre de port trouvé.
(8 via 2 Ninja-Tap + 2 au clavier)
J'ai intégré le driver à MSXgl, mais ça ne détecte pas la Ninja-Tap dans OpenMSX.
@Jipe est-ce que tu pourrais tester la ROM avec le véritable hardware stp (https://github.com/aoineko-fr/MSXgl/raw/main/projects/samples/emul/rom/s_ntap.rom) ?
Le programme affiche le nombre de port trouvé.
2 : Aucun Ninja-Tap trouvé
5 : Un Ninja-Tap trouvé
8 : Deux Ninja-Tap trouvés
5 : Un Ninja-Tap trouvé
8 : Deux Ninja-Tap trouvés
On est toujours ignorant avant de savoir.
Bastion Rebel
Membre non connecté
Conseiller Municipal
Ok !!
pour le PCB j'ai inverser les ports comme sur le schema de JIPE donc tous est OK ..
pour le PCB j'ai inverser les ports comme sur le schema de JIPE donc tous est OK ..
TURBO-R FS-A1ST 512/128ko MSX2+ NMS 8250 F4 /Fix Audio /Ram 1/4Mb VDP9958 VRAM 192ko 2FDD SANYO WAVY PHC35J MSX2 NMS 8280 Ram 4Mb VDP9938 VRAM 192ko 2FDD NMS 8250 128/128ko 2FDD VG8235/39 128/128ko 1FDD SONY HB-F700D MSX1 MC810 32/16k VG 8020 64k HB75F 64k HX-22 64k RS232/ CX5M 32k HB501F EXT : My Exp 4X/[b] MegaFlashSCC 512ko/BERT R2/BEER CF/SUNRISE 2CF/FUNRICE V2.01/MAXIOL/MEGASCSI HDD-CD/SDMSX 1SD/FMPAC SRAM/NMS1205+1160/RS 232 Harukaze/GR8NET/DOS2/ HOMER V2 RAM512ko/Floppy Pack/MAXduino/ROM1664/FM Pak /GR8NET /AMIGA/ PC/ RaspB Pi(B) / ARDUINO
Y'a plus qu'à faire le mode 4 joueurs dans Final Smash
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 + Gotek / Philips NMS 8255 Azerty
Carnivore 2 : 8Mb FlashROM ° 1024Ko RAM ° IDE ° FM-PAC(MSX Music)° SCC+
Wozblaster
aoineko
Membre non connecté
Conseiller Municipal
DataPro :
Y'a plus qu'à faire le mode 4 joueurs dans Final Smash
J'ai déjà parfois 7 sprites sur la même ligne avec 2 joueurs (et la balle)... sur MSX1 ca va pas être possible d'afficher 2 joueur de plus (pas avec ma technique en tout cas). Sur MSX2 par contre...
On est toujours ignorant avant de savoir.
ce matin remis les cartes dans le boitier et testé le fonctionnement avec le jeu Magical Labyrinth Remix
après avoir trouvé 4 joystick fonctionnels réussi a mettre en mode 4 joueurs
et voici le test avec le Ninja Tap dans le port 1 d'un turbo R
donc sur un vrai MSX ça fonctionne
après avoir trouvé 4 joystick fonctionnels réussi a mettre en mode 4 joueurs
et voici le test avec le Ninja Tap dans le port 1 d'un turbo R
donc sur un vrai MSX ça fonctionne
J'ai testé ces 2 jeux avec le Ninja Tap et ça ne fonctionne pas
Quizz Atachatte 25%
se joue avec 2 joueurs au joystick et 3 joueurs au clavier d'après les images du jeu
F-Nano2 (for MSX-Turbo)
il y a bien un mode 4 joueurs mais juste le bouton 1 des manettes est reconnu quand le Ninja Tap est branché que ce soit dans le port 1 ou le port 2 et pas réussi a démarrer le jeu dans ce mode
mais je n'ai pas les originaux contrairement à Magical Labyrinth Remix
Quizz Atachatte 25%
se joue avec 2 joueurs au joystick et 3 joueurs au clavier d'après les images du jeu
F-Nano2 (for MSX-Turbo)
il y a bien un mode 4 joueurs mais juste le bouton 1 des manettes est reconnu quand le Ninja Tap est branché que ce soit dans le port 1 ou le port 2 et pas réussi a démarrer le jeu dans ce mode
mais je n'ai pas les originaux contrairement à Magical Labyrinth Remix
aoineko
Membre non connecté
Conseiller Municipal
Merci
Pourrais-tu aussi essayer mon programme avec un Ninja-Tap branché sur un port, mais aucun joystick branché sur le Ninja-Tap stp ?
Pourrais-tu aussi essayer mon programme avec un Ninja-Tap branché sur un port, mais aucun joystick branché sur le Ninja-Tap stp ?
On est toujours ignorant avant de savoir.
Citation :
Quizz Atachatte 25%
se joue avec 2 joueurs au joystick et 3 joueurs au clavier d'après les images du jeu
se joue avec 2 joueurs au joystick et 3 joueurs au clavier d'après les images du jeu
j'avais une version demo
avec la version complète le Ninja Tap est reconnu dans le port 1 pour valider un joueur il faut appuyer sur UP
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie