edit
Hi emilpohl,
I do not think your changes to the code caused the problem. My assembler version just did not mind upper/lower case.
The randomness of operation might be due to:
1) You are not using 4 MHz crystal/resonator.
2) The voltage levels on the RS232 are not right.
All the delays in the software are based on the 4 MHz clock. Both RS232 and the infrared. The IR signal is most sensitive to wrong timing so that exactly 4 MHz is required.
The 2k2 resistor on the RS232 interface is also a sensitive thing. Be sure you have the right value. Or, if you have 2k2 and it has problems, try another value, 1.5 … 3.3 k or so.
Seppo
edit
Hi Emilpohl
It may be that the serial port tolerances vary from PC to PC so much that the lower than specified voltages that the interface provides will not be enough. I earlier tested it on a desktop and on one or two laptops and it worked on all. The disadvantage is that you will need a power supply for Max232 but it might solve the problem.
In addition, you should check the polarity of the logical one and zero if you take serial data directly from the pic pin. If I remember right, it should be inverted but I'm not 100% sure now…
…and the GKOS Kbd + Mouse is just sending IR signals to what you already have built, so it should not be dependent on the operating system, at least the kbd part. For the trackpoint part you need a 'sharp' soldering station and a magnifying glass! That was not too easy for me at least but I made it anyway successfully.
Seppo
I did some checking about _WRT_OFF. If you have that setting, it seems that the debug executive takes memory locations 0x700 TO 0X7FF which should be available for GKOS routines. I think you should study that further… Why did you change that parameter in the first place? Could that be the reason?
edit
Congrats! Your GKOS general-purpose configurable board looks really professional. I'm glad you made it work too.
If you are going to make typing speed tests, I suppose the the circuit will not be a bottleneck regarding speed. The keypad status is scanned once per 10 ms which should be enough.
Next, it is important that the keys are pleasant to type if you are measuring learning curves etc. Make also sure that Key A is under the index finger of the left hand before starting to gain skills!
I would expect that finally 60 WPM (300 chars/min) could be reached with good quality keys. The learning curves might vary a lot person to person and would be interesting to see. Some might not get even close to that speed.
Please keep us on the forum informed of how things are progressing.