MSX Village forum

L'atelier Ninja Tap

Bastion Rebel Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 21/09/2013 à 07h42

Messages: 1887

Le 25/09/2022 à 14h24

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
E-mail    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 25/09/2022 à 15h48
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


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 25/09/2022 à 15h49
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


On est toujours ignorant avant de savoir.
Github    
Bastion Rebel Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 21/09/2013 à 07h42

Messages: 1887

Le 25/09/2022 à 16h46
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 ??


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
E-mail    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 25/09/2022 à 16h59
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.

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.
9505131663130030103


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


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.
Github    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 25/09/2022 à 17h49
Bon bah encore mieux ; j'ai retrouvé le code en question. ^^
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.
Github    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 25/09/2022 à 20h15
avec le Ninja Tap que peut t'on faire ?

un Bomberman à 4 joueurs :top


:noel
Site web    
msx45 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 09/12/2009 à 21h08

Messages: 907

Le 25/09/2022 à 20h37
GAUNTLET a 4 joueurs
TENNIS a 4 joueurs
E-mail    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 25/09/2022 à 20h42
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. :moue
@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


On est toujours ignorant avant de savoir.
Github    
Bastion Rebel Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 21/09/2013 à 07h42

Messages: 1887

Le 26/09/2022 à 07h08
Ok !! :top :top

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
E-mail    
DataPro Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 14/06/2011 à 10h12

Messages: 978

Le 26/09/2022 à 08h12
Y'a plus qu'à faire le mode 4 joueurs dans Final Smash :siffle


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

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 26/09/2022 à 08h44
DataPro :
Y'a plus qu'à faire le mode 4 joueurs dans Final Smash :siffle


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... :top


On est toujours ignorant avant de savoir.
Github    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 26/09/2022 à 10h38
ce matin remis les cartes dans le boitier et testé le fonctionnement avec le jeu Magical Labyrinth Remix

magical-1

après avoir trouvé 4 joystick fonctionnels réussi a mettre en mode 4 joueurs

magical-2

et voici le test avec le Ninja Tap dans le port 1 d'un turbo R

test_ninja_tap

donc sur un vrai MSX ça fonctionne :top


:noel
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 26/09/2022 à 11h52
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


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 26/09/2022 à 13h11
Merci :)
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.
Github    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 26/09/2022 à 14h51
Citation :
Quizz Atachatte 25%
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


:noel
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie