indra@utai.UUCP (Indra Laksono) (07/22/85)
The reason why the gem for ibm pc doesn't run off the shelf is a rather amusing one. One of the things GEM does is to set an interrupt vector for INT EF. Fine for the ibm as it's not used. However, on the sanyo, it is a critical-extremely low-level routine (haven't figured out what it does, has to do with the 8251A chip). So, after the INT 21H fcn 25 is executed, this routine is forever GONE, so the system hangs. The solution is a simple one. The tricky part lies only in patching GEM.EXE, this is where int ef is set up. You have to look for : PUSH BP ; 55 MOV AL,EF ; B0 EF CALL SET-VEC ; SET-VEC does int 21h fcn 25 There should be two occurences. In both cases, change EF to 40. (I picked 40 because it's not used. Any other unused INT will do. But, I hope everyone sticks to this to make future patches compatible with mine. Now, with the remaining of the files, DESKTOP.APP, OUTPUT.APP, GEMSETUP.APP, you have to : [1] replace all INT EF ( CD EF ) with INT 40 (CD 40) [2] replace all references to 03bc (BC 03) to 100 (00 01) [3] replace all references to 03be (BE 03) to 102 (02 01). You also have to do the same for GEM.EXE! Of course, [2] and [3] simply lets you look up the correct address for int 40 instead of int ef in the int vector table. These have to be patched as ALL gem programs check to see if GEM has been installed. NOW for the bad parts. [1] You can't drag icons unless you buy a mouse that uses the serial port. This is due to the fact that you "drag" by [shift][HOME]. In IBMCHMP2.SYS installed for keyboard, INT 16H with AH = 2 is called twice. This checks for shift status. You can't do that on the sanyo. [2] GEM DRAW runs out of memory. Unless you expand mem, there is no way you can run it. /* All in a day's work. */ ..{allegra cornell decvax ihnp4 linus utzoo}!utcsri!utai!indra