2bc8f61e   
   From: uhclemLOSE.sep08@nemesis.lonestar.org   
      
   Jim Leonard wrote:   
   : I know this group is typically for TRS-80 people but I remember seeing   
   : Frank Durda in here (and hopefully Jeremy/Tvdog is still listening) so   
   : I'd like to ask a few questions:   
   :   
   : For fun (actually for a contest, but more for fun) I am developing a   
   : PCjr "demoscene" demo, something that will exercise the extended   
   : graphics and sound simultaneously. To aid development, I was going to   
   : program on a Tandy 1000, because I can put a hard drive in that. But   
   : I have some questions:   
   :   
   : - The PCjr required a hardware modification to run some Tandy 1000   
   : programs that otherwise wouldn't display. Does anyone know why the   
   : mod was required, especially since the Tandy 1000 was supposed to be   
   : PCjr compatible?   
      
   Well, Tandy created the 320x200x16 color mode that the IBM PcJr   
   did not have which was very popular. In addition to Deskmate, lots of   
   other companies wrote software to take advantage of that video mode.   
   If you tried to use such software on a non-Tandy 1000/2500 series   
   computer (like the PCJr), you usually had to tell those programs to   
   run in standard CGA or one of the various monochrome graphics modes   
   that existed back then.   
      
   When Tandy finally went to VGA in the 2500 series, they switched to a   
   Western Digital Paradise 9xxx chipset and the old 1000/2500 video   
   chipset that did the 320x200x16 mode was abandoned and no longer used.   
   The version of Deskmate that was provided on these VGA systems did not   
   use the old Tandy mode, but that also meant this version of Deskmate   
   could be used on any machine that had VGA support (except for audio   
   features).   
      
      
   : - The PCjr has a real video IRQ on IRQ 5 -- does the Tandy support/   
   : emulate that?   
      
   Yes, IRQ-5 was used for something, but I don't recall what. This   
   caused issues later on when the system was supposed to be   
   PC and PC XT compatible and PCJr wasn't mentioned.   
      
   For PC/PC-XT compatibility, IRQ 5 was reserved for printer #2   
   or the hard disk, so after a year or so, Tandy had to choose whether   
   to be compatible with the original 1000 (as the PCJr didn't have   
   ISA slots, no compatibility issues there), or to be compatible with   
   the machines they were now claiming to be compatible with.   
      
      
   :   
   : - The PCjr refreshes DMA via the video controller, so PIT channel 1 is   
   : used for disk drive motor timing instead. Is this also the case on   
   : the Tandy 1000?   
      
   Refresh DMA? Maybe you mean "RAM".   
      
   In the original IBM PC, DMA Channel 0 was used to refresh DRAM, by   
   having the DMA scan endlessly through a region of memory. This   
   caused all the CAS address lines (and RAS address lines since this   
   was a real memory read) to be tickled and so DRAM contents were   
   kept alive. It also meant DMA channel 0 was wasted on this task.   
      
   As I recall, the way 1000 handled refresh was a side-effect of the   
   shared memory model used in the 1000, and refresh was effectively   
   done by the video MC6845 CRTC chip/megacell. Part of the main RAM   
   was used as the video buffer. By doing this, the normal continuous   
   access of the video buffer in DRAM to refresh the CRT image would take   
   care of keeping all of the system DRAM refreshed.   
      
   (In a traditional PC with a plug-in video card, the card would have   
    its own RAM, and so the scan of that RAM by the CRT controller would   
    not access main memory, so some other method would be needed to keep   
    main memory DRAM refreshed. IBM elected to use the DMA chip to solve   
    this issue, which was a very poor idea, a real performance killer.)   
      
   The lack of DMA in base models caused grief for floppy disk controller   
   drivers, as those would normally use DMA channel #2. This   
   caused performance to be poor when floppy I/O was in progress,   
   and could cause stutter or silence in audio output.   
      
      
   :   
   : - The PCjr has a very complete and detailed technical reference   
   : available; is there a similar tech ref for the Tandy 1000?   
      
   There were two thick technical reference volumes as I recall, plus a   
   service manual. No BIOS source, but all the datasheets for all the   
   chips (including home-grown ones) and peripherals, plus BIOS call   
   details, keyboard scan tables, etc.   
      
   There were also two super secret white-cover internal manuals that   
   were similar to the ones produced for the 2000 which covered hardware   
   and software details that were used by in-house programmers as well   
   as third party programmers in the months before the machines release.   
   These books were marked with the project number and little else. The   
   retail manuals eventually had most of the same information in them,   
   and in some cases more information, or at least, more accurate   
   information.   
      
      
   Do remember that what the original 1000 (known internally as   
   "Project 557") was originally planned to do and what it ended up   
   being sold as were two different things, mainly because IBM canceled   
   the PCJr a few months before the 1000 was scheduled to be announced,   
   and announcing a product compatible with the thing your competition   
   just canceled might not seem like that bright of an idea.   
      
   That's why the day-1 magazine reviews and early advertisements touted   
   the PCJr compatibility (the magazines got their sample 1000 machines   
   two or three months earlier so that they could hit the press deadlines   
   of reporting on the machine the day it was released), but those PCJr   
   phrases were removed in subsequent weeks, and the 1000 was then touted   
   as just being PC-compatible with more built-in features.   
      
   Still, there were hardware incompatibilities that didn't get resolved   
   for quite a while, like no -5V power on the ISA slots in the   
   original models, only discovered after someone bought a network card   
   from Tandy that needed -5V power to function and stuck the card   
   in one of those "compatible" slots. That's why later 1000 models   
   have a -5V regulator taped to the motherboard. We also had to   
   have custom hard-drive-cards built that used a different interrupt   
   because of IRQ conflicts on the early 1000 models.   
      
   This also meant that some options included to be at least close   
   to the PCJr were dropped in subsequent models, as the PCJr ceased to   
   be the competition. Now the PC XT and its clones were the   
   competition. However, things like the PCJr I/O port map were   
   maintained until compatibility with the PC AT was required, and   
   dear IBM re-used ports that had been used on the PCJr for other   
   things on the AT.   
      
      
   Oh, and you may or may not be the one that sent me mail asking   
   about whether something was different in how sound was handled in   
   the later 1000/2500 systems, but the answer is that the I/O port   
   addresses of the hardware changed when the sound chip I/O ports   
   had to move (the addresses conflicted with those IBM used for the   
   second DMA chip found in PC/AT systems). Also, the PSSJ (Parallel,   
   Serial, Sound & Joystick) chip behavior also changed at one point   
   (after two years of nagging the hardware group to fix the hardware   
   instead of me spending endless hours trying to work around the   
   short-comings of the original design. (A twenty-five cent   
   after-thought introduced with the SL and TL was now expected to   
   produce sound like a grand piano). Later versions of Deskmate and   
      
   [continued in next message]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|