From: uhclemLOSE.jun08@nemesis.lonestar.org   
      
   Knut Roll-Lund wrote:   
   : The extra ROM is in the unused area between the level 2 ROM and the   
   : memory mapped keyboard (i/o). The model III/4 extra ROM contains code   
   : for higspeed cassette ("1500 baud") some keyboard driver stuff and   
   : RS-232 drivers (anyone know? is there a way to enable/use those from   
   : basic?).   
      
   "Anyone know" what? You mean, what items are in the "C" ROM?   
   It's primary function is to house items that are likely to be   
   hardware model independent, so the cheapest ROM would hopefully be   
   the only one needing replacement. So frequently the difference between   
   the US and French or other keyboard models would be only a different   
   "C" ROM. It didn't always work out that way, but that was the goal.   
      
   Most of the entry points for Model III mode (quite a few are in the   
   "C" ROM or are RAM vectors that point back to the "C" ROM) are   
   documented in the Model III Hard Disk System documentation, and an   
   unofficial list is in the LDOS 5.1.x manual set. The RAM hooks also   
   allowed you to replace the ROM version of a driver with a RAM-based   
   one, or at least get your hands on requests before passing them on   
   to the ROM code.   
      
   The Model III/4/4D "C"* ROM region is 0x3000 to 0x37FF (2,048 bytes)   
   contains the following:   
      
   * This is included in the larger "D" ROM on gate-array Model 4/4D systems   
    that absorbed the "B" and "C" ROMs, plus 2K that could be used as   
    an alternate "C" ROM region, mapped also at 0x3000 to 0x37FF.   
      
   1. Entry point table (mainly "C" ROM documented entry points)   
   2. Hardware initialization, like floppy, interrupt, clock, display (all)   
   3. Low RAM initialization values, including vectors back into ROM (all)   
   4. Floppy boot (all)   
   5. 500 and 1500 baud cassette routines, including "Cass" prompt code,   
    even though the string itself is in the "A" ROM.   
   6. Keyboard driver (US, French, German, KANA, others)   
   7. Network III boot (some educational versions)   
   8. Network 4 boot (some educational versions)   
   9. Clock/Time-of-day routines (there were 50Hz and 60Hz versions)   
   10. RST 38 Interrupt poll routines (all)   
   11. RS232 driver with initialization, input and output routines (all)   
   12. KANA Keyboard hooks (most US versions)   
   13. Daisywheel-II kludge fix-up routine (apparently all)   
   14. Screen print support (all)   
      
   Despite having entry vectors, some routines and even some points   
   within some routines within the "C"/"D" ROM have to be in exact places   
   because popular programs were jumping into the middle of things   
   rather than using the provided vectors, and in a few spots the   
   one ROM does the same sort of direct reference into one another ROM.   
   So some of the internal layout is twisted around these requirements.   
      
   The XROM/XDROM replacement version re-wrote many of the routines   
   in the "C" ROM, except for some sections with specific timing   
   or placement requirements. The original goal was to get more space and   
   it was enough to have Network III and Network 4 boot, floppy boot   
   and a hard disk boot (Tandy, Powersoft, or Misosys SCSI) all present   
   at the same time. (Most of the space came from writing a much   
   more efficient keyboard driver.) XDROM also included Memory, Video   
   and Floppy diagnostics accessible via a motherboard option jumper.   
   Both XROM and XDROM also had room to fix a number of long-standing   
   bugs or limitations and improved quite a few things, most of which   
   are only visible when run in Model III mode.   
      
   Note also that the Model I naming of ROMs varied by Level I or   
   Level II, and both were different than the "A" (8K), "B" (4K) and   
   "C" (2K) of the Model III/4 and the "A" (8K) and "D" (8K) of the   
   gate-array model 4/4D.   
      
      
   Frank Durda IV - send mail to this address and remove the "LOSE":   
    http://nemesis.lonestar.org   
    "I'll huff, and I'll puff, and I'll get promoted." - Old Tandy   
    management saying.   
   Copyright 2008, ask before reprinting.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|