Close

Investigating the Ninja Tap(5)

danjovicdanjovic wrote 10/06/2022 at 04:02 • 3 min read • Like

Got some time today to investigate the behavior of the original circuit, as well as the fix I have proposed.

I don't have one ACT chip, unfortunately, only got my hands on a 74'00 from  HC, HCT and LS families.


Used the s_ntap program by Guillaume 'Aoineko' from MRC.

As predicted neither one of the three chips is beefy enough to win the fight against the open collector gate inside the MSX, and because of that the software can not "see" on pin 7 the inverted output from the signal on pin 8.

Then I patched the software to keep pin 7 high during the detection routine. 

It takes two bytes on CKNTAP function and one byte at CHECK function.

CKNTAP:
 di
 ld  b, #0 ; b=Max Player
 ld  de, #0xBF0A   ;#0xBF00  <-Here
 call CHECK ; Port1 Check
 ld  c, a
 ld  e, #0x4A ; #0x40 <-Here
 call CHECK ; Port2 Check
 rlca
 or  c
 ....
 ....
CHECK:
 call PORSEL
 inc  b
 and  #0xCA ; #0xC0 <-Here
 out  (0xA1), a ; 6,8=L 7=H
 ex  af, af'  ;'
 ld  a, #14
 out  (0xA0), a
 in  a, (0xA2)
 and  #0x20  ; 7=H ?
 ret  z
 ....
 ....

After that, success..


The program can identify a Ninja-Tap connected with either logic family tested.

And it works with either Ninja Tap or Shinobi Tap feedback loop

Here's the photo of the setup:



Like

Discussions