I recently fitted a 2007 Monster 695 engine into a 90's M600, and used an Ignitech TCIP4 ignition unit running the "Ducati 48-2" programming to run the ignition. There's a video on setting it up on my Youtube channel here - Using an Ignitech TCIP4 unit to run a Ducati fuel injected engine converted to carbs - M600. - dealing with an issue I was anticipating, and this is the mentioned blog post with all the maps in an easier to follow (easier to present anyway) format.
The fuel injected engines that originally ran 1.6M, 1.5M or 59M/5AM ECU all use a single pick up / crank angle sensor / rotation sensor running on the timing gear teeth on the LH side of the engine mounted in the alternator cover, or in the crankcases in the 08> ish engines like my M659 engine I'll be fitting this system to in the hopefully near future.
While many of these engines still have the bosses cast into the cases for the carb model Kokusan pick up plate, the holes usually aren't drilled and tapped and, more importantly, there's no big hole to get the wires out. Meaning using the ie sensor with an appropriate ignition system is the easier way to go.
The Ignitech TCIP4 used in this instance is not the same as the TCIP4 to suit Kokusan ignition. Not sure how (that's way above my knowledge grade), but I'm assured that internally, they're not the same. So you need to order the TCIP4 specifically for this application.
It comes with a cable to suit the 3 pin sensor connector, plus 4 other wires for power, earth, horizontal coil trigger and vertical coil trigger. In this instance, horizontal is cylinder 1 (orange wire), vertical is cylinder 2 (white wire). I even drew a picture to work out which was which and still got it wrong - after I'd made a loom up for it to work. Luckily, the terminals are easy to get out of the TCIP4 connector, and I just swapped them over between pins 1 and 10.
I used a relay supplying battery voltage directly to power the TCIP4, as the voltage at the 2 pin connector in the bike's loom was 2V plus down on battery voltage with the coils disconnected and not drawing any current. I've done this to a few carby model Monsters and SS recently, and it's well worth checking if you've got a poor starter.
I'll be showing the 3 pages of the software that are applicable to this set up discussion - "Miscellaneous", "Bike" and "Advance Map". While you can certainly run other features found on the other pages, such as a TPS or IAP input (well worth doing if you can) to run a 3D spark advance map, it's not important to what I'm showing here.
I'll be highlighting the bits I'm talking about in purple. With these units, I tend not to touch things I don't fully understand or need to. Much less self induced complication that way.
As ever, if you want a deeper guide to using the Ignitech TCIP4, get the manual from Liam at Fast Bike Gear > Ignitech Manual.
The supplied map is as follows. I did try running this map briefly, with the result I had expected.
I tend to make some basic changes to the supplied regardless. I always drop the rev limiter, and in this instance went to 9500 RPM and then later 9000 just to be safe, and a long manifold engine isn't going to be doing much worthwhile over 9k anyway.
I like the "Revolutions without ignition" function, as it gets the engine spinning nicely before trying to fire it. I started at 2, but went back to 1 later on to reduce the cranking time. You can hear it when cranking.
I had a look at the M695 ignition map, which on the WOT column goes up to 40 degrees at higher RPM
but I figured 38 would be enough. The flat section of 8 degrees between 600 and 1400 RPM I do for stability of idle RPM, especially ensuring the engine returns to idle nicely. I would usually go 1500 RPM, or maybe higher if it was holding up at all (it wasn't). The reverse taper between 800 and 1100 RPM in the original map above can help with idle on a cold engine, and I use that later. But at this point in the playing, it was all about finding stability of timing - which was the problem - and not trying to be tricky. Basics first, fancy later.
This is the map used in the first video of the engine running, and the timing was erratic, as I had expected.
I think, about this point, I flattened the advance out at the bottom to 0, with 0 base advance, and checked that this gave me firing at TDC, which it did. And stable, because base and map being the same does that. But then, just playing for I'm not really sure why, I changed the base advance to 6 and nothing else and tried that. And that's when I sort of noticed (remembered for later) that the timing, while showing at 6 degrees ATDC on the timing light, was stable. The 6 degrees ATDC was, once seen, completely "as expected". It was an idea to see what would happen, and often the random change playing can teach you as much as anything else. Just need to be observant and accept any result as valid.
I don't have the map on file though, so can't show what I actually did. I tend not to save things on the fly, leading to confusion later when I'm trying to remember it all. I did try to recreate it when writing this, but found that moving the base advance to 6 would sometimes, but not always move the advance map to 6 degrees at the bottom. So I'm not exactly sure why it let me do it now.
And then, I went on a different tack.
The way the Ignitech works is, the base advance is the defining "zero reference" point, for want of a better term. If your map has 10 degrees base advance, and the maximum is 36 degrees, then what really happens is that the Ignitech adds 26 degrees to the base trigger point for the max advance.
That may sound a little captain obvious, but it's important. On the TCIP4 Kokusan replacement units I sell most of, the map as supplied by Ignitech is wrong. They have 36 degrees max advance, but the base and idle advance are both 10. Which means, in practice, that the unit adds 26 degrees to the trailing edge of the flywheel lump. The problem being, that's always 6 degrees BTDC on the carby engines. Therefore, where you think you're getting 36 degrees max advance, you're actually only getting 6 + 26 = 32 degrees. So base advance matters, and if it's wrong, then everything else is offset by the amount it is wrong.
As such, it's also a point you can manipulate for your own ends. I figured I wanted to make the tooth before the specified start advance the new start advance, which is 15 degrees BTDC. But to do that, and thinking on the fly, I changed the "Start advance" numbers from 23 to 22 and 41 to 40 and then, with the base advance at 0 (even though it was 15 degrees BTDC) I subtracted 15 degrees of all the map values to make sure the timing above idle still lined up as before. ie, 0 = 15 degrees, 23 = 38 degrees.
Which, when checked with the timing light, gave a stable 15 degrees BTDC at idle and 38 degrees max. As expected. Then, realising I was making the whole thing much more complicated that necessary, I made the base advance 15 degrees (because it was), put the map back to the desired numbers (added 15) and tried it again. With exactly the same timing on the light, but the important numbers reflecting the reality of what I was doing. As below:
The next step from that was changing the timing at idle, dropping it back to 7 degrees between 600 and 1500 RPM. Initially, I wasn't expecting this to work (neither was Liam), but based on what had happened previously, I was hoping this was going to give me a nice stable 7 degrees. Conveniently, it did.
Then, I tried something else. I'm not sure what prompted it now - maybe I was having a look through Liam's guide - but I was looking at the "Bike" page and saw the "2nd edge" thing and thought "hmmm".

What the "2nd Edge" box does is tells the unit
to trigger / sense / whatever it does at the end of a pulse, not the
start. Given we're using the teeth on the gear here, the 1st Edge of the
tooth and the 2nd Edge are not that far apart. the teeth on the gear are
15 crankshaft degrees apart from 1st Edge to 1st Edge (or 2nd Edge to 2nd
Edge), so depending on where on the side of the tooth the sensor is reading,
the difference between 1st and 2nd Edge has to be less than 15 degrees.
On my M659 engine that will be getting one of these 48-2 units, it will be
reading the ends of the teeth as the sensor is in the crankcase above the gear,
not pointing at the side through the alternator cover as this M695 is.
So, in that instance, the difference between 1st Edge and 2nd Edge will be
less.
But this also brings the need to set the Base advance
accurately, so I tempted fate and put my hoped for 7 degrees in the Base
advance box, then fired it up and checked the advance with the timing
light. The maximum advance tells you if you have the base right, and it
was good. And stable and all that, because it's realistically exactly how
we set the carby engines up - base advance is the last trigger point.
So this is definitely another valid way of achieving the
desired result. Probably the most valid.

But that's not where I left it. I went back to the previous map basis, because I wanted to get a little fancy. Initially, the map in the unit had a reverse taper curve around the idle speed. I reused that idea, but with a couple of changes.
When the engine is cold, one way to help prop up the idle speed is to add more advance. There are limits to how well it works, but generally, it's a pretty good way to get around an issue, especially when you have "choke" functions that are really separate enriched bypass circuits. What is enough fuel to make them fire up from cold fairly quickly becomes too much, and they richen up, start chugging and blowing black smoke, then stop. With the advance as below, the bike would idle cold quite well without choke not long after firing. Realistically, as long as it doesn't stop, it's fine.
The trick to this is to make the RPM you want the idle at hot at the end of the reverse taper, and then have a plateau for a few hundred RPM so that 1/ there's no incentive for the RPM to creep up as it becomes happier, and 2/ it will return to idle nicely without holding up. As it was initially, if the engine picks up advance with RPM, the idle speed will rise with engine heat as it becomes more efficient, and will be less likely to return to the desired idle speed after revving. Generally, 1500 RPM seems to be a good point to start the advancing.
You can start the reverse taper at a lower RPM, but 900 is probably the lowest it's going to idle successfully at, and you want as much as possible at that. You could start the reverse taper at 1000 RPM if you wanted to try it - it's all about making it work, and simply put, what works is good.
Or you could drop the advance at idle from 7 to 5 or 4 degrees, which would require winding the idle screw in some more to give the desired hot idle, so the reverse taper should be more successful. All depends what works best.
One point on that - the amount of advance you run will impact the throttle opening you need at idle. More advance equals less throttle opening. The problem there is that carbs generally have a small range of throttle opening at idle that they work best at. Because they run transfer ports that help the mixture as you go from closed throttle (pilot circuit) to low throttle (needle circuit) running, if the throttle blade is in markedly the wrong place at idle, the pilot circuit outlet and transfer ports will be in the wrong place and you might get off idle weirdness, etc. That's why I'd go for the 7 degrees advance at idle here - it should put the throttle blade in about the expected place.
.