[net.micro] How to make GEM run on Sanyo MBC 555 VB

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