MSX Village forum

L'atelier Ninja Tap

aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2680

Le 17/10/2022 à 13h23

Reprise du message précédent

C'est le Basic qui oblige à passer par une valeur sur 16 bits.
Ceci dit, si je t'envoie la valeur inverse (bit à 1 = appuyé, bit à 0 = pas appuyé), tu auras de nombre de 0 à 255.
Je vais essayer ton programme mais je n'ai pas compris l'histoire des 7 octets ; le .bin contient déjà l'entête de 7 octet pour que le BLOAD le charge au bon endroit.
Simplement, le USR DEF se fait en C007h pour que le jump du Basic se fasse au début du code binaire (en skippant l'entête).


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: 2680

Le 17/10/2022 à 13h39
J'ai mis à jour la version : https://github.com/aoineko-fr/MSXgl/raw/main/projects/samples/emul/bin/s_usr.bin
- Le USR(1~8) renvois maintenant les valeurs d'index 0-7 ; donc USR(1) correspond bien au premier joueur.
- Dans la valeur renvoyé, les boutons appuyés sont à 1, les autres à 0 (la valeur est toujours positive de 0 à 255).
Code TEXT :
Return:
  7    6   5   4   3   2   1   0
  │    │   │   │   │   │   │   └── Right direction
  │    │   │   │   │   │   └────── Left direction
  │    │   │   │   │   └────────── Down direction
  │    │   │   │   └────────────── Up direction
  │    │   │   └────────────────── Start bouton (for NES pad)
  │    │   └────────────────────── Select bouton (for NES pad)
  │    └────────────────────────── A bouton
  └─────────────────────────────── B bouton


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

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 17/10/2022 à 13h40
pour la valeur inverse j'ai ajouté la commande NOT du basic

55 X=USR(8):Z=NOT X:LOCATE0,1:PRINT"1:",HEX$(Z),Z,BIN$(Z);" "

les retours sont maintenant

Droite 1
Gauche 2
Bas 4
Haut 8
Tir B 64
Tir A-128

j'ai donc ajouté ABS(Z) qui renvoi la valeur absolue

et le Tir A affiche bien 128

ça commence a devenir exploitable :)


:noel
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 17/10/2022 à 13h56
avec ton nouveau .BIN les manettes sont bien dans le bon ordre

plus besoin du NOT, j'ai juste ajouté ABS pour avoir le Tir A positif


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2680

Le 17/10/2022 à 13h59
Oui, j'ai vu ça pour Trigger A (0x80).
Je corrige ce soir.


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

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 17/10/2022 à 14h03
Citation :
mais je n'ai pas compris l'histoire des 7 octets ; le .bin contient déjà l'entête de 7 octet pour que le BLOAD le charge au bon endroit.
Simplement, le USR DEF se fait en C007h pour que le jump du Basic se fasse au début du code binaire (en skippant l'entête).


en fait c'est juste plus propre de charger le programme en C000h
j'ai juste ajouté 7 x 00h aprés le Header pour décaler
mon en tête FE 00 C0 BC C2 07 C0


:noel
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 17/10/2022 à 14h06
au fait sur ton dernier schéma des bits A bouton et B bouton sont inversés pas rapport a MSXgl


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2680

Le 17/10/2022 à 20h22
Je me suis basé sur ce schéma de Danjovic :
9505131663130030103

Comment sait-on si un bouton est A ou B ?


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

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 17/10/2022 à 23h08
Avec une vraie manette MSX


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2680

Le 17/10/2022 à 23h09
Ok, je vais changer la documentation :top


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: 1710

Le 18/10/2022 à 06h59
euh verifier les boutons start et run aussi tand qu'on y est !!!


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: 2680

Le 18/10/2022 à 12h36
La Ninja Tap normale ne détectera jamais l'appuis sur ces touches, non ?
Ou sinon, avec un adaptateur NES>MSX c'est censé fonctionner ? :hum


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: 1710

Le 18/10/2022 à 16h45
exact mais le mien lui je les ai connecté !!!

sinon il faut une shinobi pour utilisé des manettes NES !!!


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: 10287

Le 18/10/2022 à 18h12
il n'y a pas de raison que ces boutons ne soient pas reconnus c'est juste qu'ils ne sont pas câblés dans le vrai Ninja Tap mais les bits existent


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2680

Le 18/10/2022 à 21h24
Ils ne sont reliés à rien, non ?
Du coup, coté code, les bits correspondants seront toujours à 1 ?


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: 1710

Le 19/10/2022 à 07h39
sur mon PCB y as une platine qui gere les 2 boutons par port !!
pcb_ninja8


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    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie