Ninja tap

Page 12/17
5 | 6 | 7 | 8 | 9 | 10 | 11 | | 13 | 14 | 15 | 16 | 17

By Danjovic

Champion (321)

Danjovic's picture

12-10-2022, 01:04

Updated the schematics for the Shinobi tap. It was necessary to add an RC network to get rid of ringing on the CLOCK signal when the button changed state..

further details (link).

By sd_snatcher

Prophet (3609)

sd_snatcher's picture

12-10-2022, 16:38

Danjovic wrote:

Regarding compatibility it's more a software issue that can be solved with a patch. After all it was a patch to this game that motivated me to bump this sleepy Ninja Tap topic

Interesting! For those using the joyMega, there's also an alternative: the Sega Multitap for the Mega Drive. It can still be found being sold on eBay etc. HIDlib already has support for it.

Advantages:

  • Better option for those who use Mega drive controllers, like the excellent 8bitdo M30
  • Supports all buttons of the Mega drive controllers on either 3 or 6 button types
  • Has per-port controller detection, so the game can know ahead how many players there will be
  • No need to build one yourself. Can be purchased on eBay etc

Disadvantages:

  • Only works with Mega Drive controllers.

By Danjovic

Champion (321)

Danjovic's picture

12-10-2022, 19:49

And the Shinobi Tap is finally in its case.
I have updated the Schematics and uploaded all the files on the github page.


By aoineko

Paladin (813)

aoineko's picture

13-10-2022, 00:51

Wow.... the Shinobi Tap is super cool!

BTW, I finished the binary driver to be used under Basic : https://github.com/aoineko-fr/MSXgl/raw/main/projects/sample...

To load the driver (at C000h):

BLOAD "s_usr.bin"
DEF USR=&HC007

Then you have 3 functions.

1) To detect Ninja Tap:

A=USR(0)
Return:
  7   6   5   4   3   2   1   0
  │   │   │   │   └───┴───┴───┴── Number of joystick ports available (2, 5 or 8)
  │   │   └───┴────────────────── Tap type pluged in port 1 (0=No Tap, 1=Ninja Tap, 2=Shinobi Tap)
  └───┴────────────────────────── Tap type pluged in port 2 (0=No Tap, 1=Ninja Tap, 2=Shinobi Tap)

2) To update all joystick data (Ninja Tap and normal joystick):

A=USR(-1)

3) To get data from a given joystick (1 to number of joystick given in first function):

A=USR(1~8)
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

The driver is 678 bytes in size.

I took the opportunity to add in MSXgl, the support to generate directly binary files that you can load and use from a Basic program. There is a new target for the build tool: BIN_USR.

By gdx

Enlighted (6006)

gdx's picture

13-10-2022, 02:40

Where do you find quality nes controllers with a DB-9 connector? The ones I have found so far are the worst controllers I have had in my life.

By Danjovic

Champion (321)

Danjovic's picture

13-10-2022, 05:07

I have many famiclone controllers, some are terrible indeed, but some are good enough to play with. It is possible to scavenge controllers for cheap in Ali Express (link), some look good and you have customer ratings and photos to to help you to decide. But controllers can be also found in flea markets, thrift stores and even in recycling facilities.
Original NES controllers can be used too, with a different board with proper NES sockets (link).

By Danjovic

Champion (321)

Danjovic's picture

13-10-2022, 05:17

aoineko wrote:

BTW, I finished the binary driver to be used under Basic : https://github.com/aoineko-fr/MSXgl/raw/main/projects/sample...

Great!!
I think it is possible to scan all the available players in a loop then

...
' on the game menu
NT = usr (0)' detect controllers
NP = NT and 15' number of players
defint P
dim P(NP)'create players
...
...
'on game loop
a=usr(-1)'scan controllers
for i=1 to NP:P(i)=usr(i):next'fullfill data

By Bastion Rebel

Expert (92)

Bastion Rebel's picture

13-10-2022, 07:40

or this PCB board with DB9 and Nes connector !!

By Danjovic

Champion (321)

Danjovic's picture

13-10-2022, 13:51

Cool. Are the footprints for NES controllers available, either as library or drawings? Can you share 'em?

By Bastion Rebel

Expert (92)

Bastion Rebel's picture

13-10-2022, 15:34

I have in DIPTRACE form otherwise I have reported the dimensions of the connector from ALIEXPRESS
con nes

Page 12/17
5 | 6 | 7 | 8 | 9 | 10 | 11 | | 13 | 14 | 15 | 16 | 17