chem194@canterbury.ac.nz (John Davis, chem dept, UoC NZ) (08/15/90)
Totally ignoring the heated flame war raging over the status of Noisetracker 2.0, anyone who's tried it on a 2000 will probably have found that the keyboard doesn't seem to work ( in actual fact, all keyboard input winds up in the shell you started it from ). Well, being bored I decide to find out _why_ this was ( works fine on all the 500s I've tried, yet on NONE of the 2000s I've got access too ... that includes rev6 and rev4 machines ) Anyway dived in and started tracing it to see what it was doing wrong .. found a routine that handled the keyboard ( reading the cia's KBDAT reg etc ), back-traced that to a routine that installed the keyboard routine onto the interrupt vector for the CIA ... traced _that_ back from to where it got called from ( by this stage I was getting dizzy indeed :-) ... and found that there's a boolean variable that dictates whether NT should install it's own hardware level keyboard driver, or somehow hook into execbase (haven't totally disassembled that yet ... but plan to as I _really_ want to know why it's normal method only works on 500s). Anyway, the kludge to execbase was the default, and the hardware level handler seemed to be an option .. so traced back from that routine to where the boolean var got set ( Hisoft's MonAm is really useful!! ) and found it's set DEPENDING ON THE COMMANDLINE ARGS!!! Seems if you invoke it via 'st-n2' it does whatever it does that doesn't work on 2000s ( beat that for a confusing statement :-) and if you instead invoke it with a '-H' option ( i.e. 'st-n2 -h' ) it installs it's own keyboard driver and then works FINE on 2000s. Problem solved ( docs .. who needs docs when you've got a disassembler :-). Personally howevewr, I think I'll switch back to MED, as it handles MIDI an _awful_ lot better ( which is my prime consideration ). cheers ... John ----------------------------------------------------------- | o John Davis - CHEM194@canterbury.ac.nz o | | o (Depart)mental Programmer,Chemistry Department o | | o University of Canterbury, Christchurch, New Zealand o | | o o | | o co-sysop AmigaINFO BBS,1200/2400 baud CCITT, o | | o 24 hours a day, ph NZ +3-3371-531 o |