home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 308.lha / Use_A000 / use_a000.doc < prev   
Encoding:
Text File  |  1992-09-01  |  5.1 KB  |  108 lines

  1. **********************************************************************
  2. *        Janus Handler (ROM Extension) Initialization Trigger        *
  3. *                                                                    *
  4. *       Fully Public Domain by Jeff Rush - September 7th, 1989       *
  5. *                                                                    *
  6. *       BIX: jrush         BBS: (214) 231-1372 Rising Star Opus      *
  7. **********************************************************************
  8.  
  9. This program is used to initialize the Janus Handler when it is placed
  10. at segment A000 using the PCPREFS program.  Electrically speaking, the
  11. handler can be mapped to A000, D000 or E000 (XT) or only A000 or D000
  12. on an AT Bridgecard.  A limitation is that the range of addresses a
  13. PC BIOS scans for ROM extension signatures is C000 up to F600 (top end
  14. varies among clone makers).  This means that the handler will not be
  15. initialized (and thereby linked into the system) when placed at A000.
  16. However, it would sure be nice to be able to use A000 since there is
  17. fierce competition for address space in the PC's upper address area
  18. among plug-in boards.
  19.  
  20. This method will *** NOT *** work if you are trying to boot the PC
  21. from the Amiga, using the new features of Janus 2.x.  The reason
  22. is basicly that of the chicken or the egg.  The USE_A000.COM program
  23. must be executed during the startup of the PC in order to establish
  24. communications with the Amiga side, but the PC cannot autoboot if
  25. it cannot talk with the Amiga side first.
  26.  
  27. Be warned, however, that an EGA video card uses the A000-BFFF range
  28. of memory and will conflict with such a choice.  I do not know about
  29. VGA cards.
  30.  
  31.  
  32.               Symptoms of Using A000 w/o USE_A000 Utility
  33.  
  34. Note: The symptoms of placing the handler at A000 in a system -not-
  35. using this utility are:
  36.  
  37.   1) The Janus handler and library version numbers are not visible on
  38.      the screen.  They are printed by the initialization code and
  39.      therefore never performed.
  40.  
  41.   2) Any attempt to use Janus 2.x services such as ATIME results in
  42.      a system hang for the PC side.
  43.  
  44.   3) Any attempt to use a JDisk (DJMOUNT command) will return
  45.      signifying there is no such drive as JH0:
  46.  
  47.  
  48.             Sequence of Changing the Janus Handler Location
  49.  
  50. It is important to change the address of your handler in the proper
  51. sequence.  It obviously is fatal to change the address while you are
  52. executing out of it in another window or using it for a JDisk.
  53.  
  54.   0) Bring up your PC side as you do now, before you change anything,
  55.      and copy the USE_A000.COM program to your PC boot disk.  Go into
  56.      your AUTOEXEC.BAT file and put in a line to execute it (with no
  57.      parameters) as early as possible.  You -must- execute it before
  58.      you invoke ATIME or any other Janus service.
  59.  
  60.   1) Boot from a copy of the PCINSTALL diskette that Janus comes on.
  61.      This insures that you are -not- using the Bridgecard.
  62.  
  63.   2) Click on the PC drawer to open it and click on the PCPREFS
  64.      utility to run it.  Select an address of A000 and save it back.
  65.      [Note - This setting is saved in SYS:PC/SYSTEM/2500prefs.  If
  66.      you, like myself, boot from a floppy but then switch to a
  67.      harddisk, be sure to place a copy of the 2500prefs file on both
  68.      your boot disk and your harddisk for consistency.]
  69.  
  70.   3) Back in the PC drawer, click on the PCHARD icon to perform a
  71.      hardware reset on the PC.  This is because the PC BIOS has
  72.      already made a determination of where the handler memory is
  73.      located, even though you have not run any PC-interaction software
  74.      on the Amiga side.  You should see the floppy light flash a
  75.      little here as the PC resets itself.
  76.  
  77. Your Janus card is now addressed for A000 and ready to roll.
  78.  
  79.  
  80.                     Limitations of This Approach
  81.  
  82.   1) Cannot use it when autobooting the PC from the Amiga side.
  83.  
  84.   2) Cannot use it if you are using any PC device drivers that
  85.      will be invoking Janus services, as they are too early.
  86.      I do not know of any such at this time, but since I am
  87.      developing some, I will be converting this into a device
  88.      driver that must be placed before any Janus-using drivers.
  89.      To avoid consuming PC memory for a one-time operation, such
  90.      a device driver will signal failure for its initialization,
  91.      after it has invoked the ROM extension, which will cause it
  92.      to be removed from the PC's memory.
  93.  
  94.                          The Correct Solution
  95.  
  96. The correct way to implement this is for Commodore to enhance their
  97. Janus software.  While the handler memory moves around, the 16 Kb
  98. or parameter memory is fixed at F000 (XT) or D000 (AT).  These
  99. addresses are in the range scanned by the BIOS for ROM extensions
  100. (the D000 certainly is, the F000 I think is) and could be used to
  101. gain control during the bootup process.  It would be possible for
  102. PCWINDOWS to realize that the PC preference setting is for A000,
  103. and to stuff a dummy ROM extension in an initially-unused portion
  104. of parameter memory that consists solely of a proper signature and
  105. a far jump to the real ROM extension at A000.  The dummy ROM extension
  106. would then be overwritten as the parameter memory is used.
  107.  
  108.