Ninja tap

ページ 19/19
12 | 13 | 14 | 15 | 16 | 17 | 18 |

By mars2000you

Enlighted (6502)

mars2000you さんの画像

24-03-2023, 12:09

The ML driver can be found here: https://web.archive.org/web/19991111052036/http://www.jaist....

I suggest to add it on file-hunter.

By aoineko

Paladin (1011)

aoineko さんの画像

24-03-2023, 14:09

I don't have tool to unpack PMA package on Windows ; How old is the code?
PCCM member sent me the last 2.0 version which is dated April 29th 1995.
I translated the comments and put the sources on the wiki.

By mars2000you

Enlighted (6502)

mars2000you さんの画像

24-03-2023, 14:17

You need Bandizip.

https://fr.bandisoft.com/bandizip/

It's 1995 code.

By Manuel

Ascended (19471)

Manuel さんの画像

24-03-2023, 14:33

Or Lhasa.

By gdx

Enlighted (6223)

gdx さんの画像

24-03-2023, 14:54

It might be useful to add them to the wiki.
https://www.msx.org/wiki/File_extensions_used_on_MSX

By aoineko

Paladin (1011)

aoineko さんの画像

24-03-2023, 16:02

From the documentation, it seems that the Ninja Tap creators had thought about the identification of compatible devices. I have no idea if the Ninja/Shinobi Tap from Bastion Rebel or the Ninja Towns from Danjovic are compatible with this identification and what number they return.

I will test with the Ninja Tap I own.

Documentation translation:

(2) Ninja Tap AP standard

A new Ninja Tap AP standard is available. The Ninja Tap AP standard is designed to connect "fast push machines" and "ghost joysticks" with many buttons, etc., which are based on the Ninja Tap circuit.

All joysticks in the Ninja Tap AP standard have an ID to identify their type. The current assignments are as follows.

==========================================================================
ID number Vendor name Assigned device
--------------------------------------------------------------------------
  15      PCCM        Multiple Joystick Port "Ninja Tap"
  14      Not registered
  13      Not registered
  12      Not registered
  11      Not registered
  10      Not registered
   9      Not registered
   8      Not registered
   7      Not registered
   6      Not registered
   5      Not registered
   4      Not registered
   3      Not registered
   2      Not registered
   1      Not registered
   0      Not registered
==========================================================================

By Danjovic

Champion (336)

Danjovic さんの画像

25-03-2023, 14:08

It is a pity that the original drivers are lost and we only suspect that part of the original code is present on DM System2 code, yet commented, like the GETID routine, which shifts in the 9th bit of all Taps and return such value in register H.

;======================================
; Get ID
;GETID:	PUSH	AF
; 6=H 8=H
;	CALL	PORSEL
; 6=H 4021 Data Load
;	OR	05H
;	OUT	(0A1H),A
; 6=L 4021 Transfer Mode
;	AND	0FAH
;	OUT	(0A1H),A
;
;	LD	B,9
;/// Waste 8 Data and Get 9th Data ////
;GETID0:	LD	A,15
;	OUT	(0A0H),A
;	IN	A,(0A2H)
; 8=H
;	OR	30H
;	OUT	(0A1H),A
; 8=L (Send me Data)
;	AND	0CFH
;	OUT	(0A1H),A
; Data Read
;	LD	A,14
;	OUT	(0A0H),A
;	IN	A,(0A2H)
;	DJNZ	GETID0
;////////////////////////////////////
;	AND	0FH
;	LD	H,A  ; <-- Value is returned here 
; Restore Port (6,7,8=H)
;	LD	A,15
;	OUT	(0A0H),A
;	IN	A,(0A2H)
;	OR	03FH
;	OUT	(0A1H),A
;
;	POP	AF
;	RET
;======================================
; Sub Routine

A Ninja Tap connected would return 0 because the SHIFT-IN pins of all shift registers are tied to ground on the original circuit. but if you complement the 4 least significant bits that would be 15, right ?
A different connection of the SHIFT-IN pins would return different IDs, and that would allow to identify other types of multi button controllers. That is mentioned on the (translation) of the documentation:

Ninja tap AP standard
Ninja Tap was originally developed to create a comfortable multiplayer environment for PCs, but it is essentially an input device that can connect 32 switches. Ninja Tap AP (Applications) is a standard for using Ninja Tap for purposes other than multiplayer play.

The Ninja Tap AP standard assumes multi-button pads for mahjong games and quiz games, and two-lever controllers for elaborate tank games. Ninja Tap itself is positioned as one application within the Ninja Tap AP standard.

Application programs that require such special hardware need to determine more precisely what hardware is connected to general-purpose I/O ports. The Ninja Tap AP standard gives each controller a unique ID number, which can be obtained by application programs.

ID numbers are registered and must be assigned by the Knight's Chamber. Please contact t-seino@jaist.ac.jp for more information about ID number assignment and the Ninja Tap AP standard.”

By aoineko

Paladin (1011)

aoineko さんの画像

25-03-2023, 14:54

I haven't had time to test yet, but I wonder what ID the Ninja Tap made by Bastion Rebel returns.

@Danjovic What about your Ninja Towns?

By Danjovic

Champion (336)

Danjovic さんの画像

25-03-2023, 17:05

Hi @aoineko,
First place I would like to rectify one statement from my previous post. The three circuits, Ninja/Ninja Towns have the SHIFT IN lines tied to Vcc (HIGH) level, so the GETNIN routine will return an ID of 15 for a Ninja Tap connected to the joystick port.
Shinobi will behave according with the controllers connected, because original NES controllers have their SHIFT IN line tied to GND (LOW) while Clone controllers are tied to VCC (high level).

ページ 19/19
12 | 13 | 14 | 15 | 16 | 17 | 18 |