|  
      
     | 
     
      
         Dragon Hardware
      
      
         Hardware Architecture
      
      Dragon 32 Overview:  
      
        -  Motorola MC6809EP (1 MHz) 8-bit CPU clocked 
          at 0.9 MHz
 
        -  32K DRAM
 
        -  2*8K or 16K EPROM comprising Microsoft Extended 
          BASIC
 
        -  16K Cartridge/External ROM memory
 
        -  Motorola MC6847 Video Display Generator 
          provides text and graphics output
 
        -  2*Motorola MC6821 Peripheral Interface Adaptors 
          (PIA) provide interface to on-board peripherals: keyboard, parallel 
          printer port, cassette, joystick and other io activity eg. VDG mode 
          selection.
 
        -  Motorola MC6883 (74LS783) Synchronous Address 
          Multiplexer (SAM) provides system clocks to CPU and VDG, DRAM refresh 
          and memory sizing, PIA, VDG, DRAM, EPROM, and cartridge address decode 
          logic.
 
        -  Cartridge expansion port providing access 
          to most of the CPU signals, along with address decode and select lines
 
        -  2 analogue joystick ports, cassette port, 
          composite monitor port, TV 75 ohm connector and centronics parallel 
          printer port.
 
       
      Dragon 64 includes in addition to this:  
      
        -  SY6551 Asyncronous Communications Interface 
          Adaptor (ACIA) along with RS232 logic connecting to 7-pin DIN RS232 
          socket.
 
        -  Extra 32K DRAM, mappable via the SAM chip 
          into the upper 32K (switching out ROMS and cartridge area) giving 64K 
          contiguous memory or into the lower 32K swapping the existing 32K out 
          of the map allowing the use of 'shadow RAM'.
 
        -  Modified 16K Extended BASIC providing RS232 
          i/o calls, removal of the USR bug present in the D32 ROM (all USR calls 
          on the D32 are USR0n, on the D64 they are USRn where n is from 0-9) 
          and calls to allow the additional interpretor to be invoked
 
        -  Additional 16K Extended BASIC EPROM re-compiled 
          to run from a higher memory address. When invoked, the machine is switched 
          into 64K RAM mode and the interpretor copied from EPROM to RAM giving 
          an extra 16K BASIC workspace.
 
       
       
      Tandy Colour Computer (CoCo) key differences: 
         
       
        -  Both come in 32K or 64K RAM variants, the 
          extra BASIC EPROM and RS232 port are not implemented. CoCos may come 
          with Color BASIC (8K EPROM) as opposed to the full Extended BASIC command 
          set. RAM and BASIC EPROM upgrades are easily accomplished by additional 
          chips and jumper settings - D32's are not easily upgraded to D64s.
 
        -  Parallel printer port is replaced by an 
          RS232 port driven off one of the PIAs (bit banger)
 
        -  Although both BASIC interpretors provide 
          the same language, the ROMS differ such that most ROM calls on one machine 
          will fail on the other.
 
        -  Different BASIC tokens are used on each 
          machine - saved BASIC programs from one machine will appear as gibberish 
          on the other. This can be rectified by saving the program in ASCII or 
          using a re-tokenising program (see DragonDOS 
          software for copies of re-tokenising programs).
 
        -  The keyboard lines are mapped differently 
          into the PIAs
 
       
      See Up2Date articles on converting 
      a CoCo to a Dragon.  
       Add Ons
      Both machines provide a disk interface by means 
      of a cartridge plugging into the machine. This maps an extra 8K EPROM into 
      the area reserved for cartridge memory and the disk IO chip into a spare 
      I/O slot. The 8K EPROM provides a set of additional BASIC and m/code ROM 
      calls to talk to the disk controller - DragonDOS on the Dragon and RSDOS 
      on the CoCo. They are completly incompatible with each other - in addition 
      numerous DragonDOS or compatible variants exist, which while providing BASIC 
      command compatability do not provide full m/code call compatability.  
      Both 64K machines are capable of running OS9 
        Level 1 in 64K RAM mode.  
      External connections 
      Pinouts of external connectors 
       
      Schematics 
      Dragon 32 
       DragonDOS Cart 
       DeltaDOS Cart 
        (I think!)  
       Memory Maps
      D32 and D64 Initial Settings: 
      
0000 - 8000 32K DRAM
8000 - FF00 Basic and Cartridge ROMS
FF00 - FFFF I/O and CPU vectors 
      D64 Extended BASIC Map Mode: 
      
0000 - BFFF 48K DRAM
C000 - FF00 16K DRAM loaded with BASIC intepretor
FF00 - FFFF I/O and CPU vectors 
      Default ROM power-up:  
              Address         Description
        0000-0400h      System workspace
        0400-05FFh      Text Screen
        0600-0BFFh      Graphics Page 0 or DOS workspace
        0C00-1DFFh      Graphics RAM
        1E00-23FFh      Graphics RAM if DOS present
            -7FFFh      User RAM (BASIC & M/C)
        8000-BFFFh      Basic ROM
        C000-FF00h      Cartridge ROM or DOS ROM (DOS=C000-DFFFh)
        FF00-FF5Fh      IO Ports
        FF60-FFF1h      SAM (Synchronous Address Multiplexor) chip vectors
        FFF2-FFFFh      CPU vectors 
      System Page 0 (0-255) 
      System Page 1-3 (256-1024) 
       DOS Workspace (1536-3071) 
       SAM Chip Vectors & CPU 
        Vectors 
       IO Page 255 (including Disk 
        chip) 
       Basic ROM - some useful calls 
        Data Sheets
      WD2797 (Disk Controller) 
      - scanned PDF, not brilliant quality!  
       74LS783/MC6883 - 
        SAM Chip 
        MC6847 - 
        Video chip  
       Other References: 'Inside 
        the Dragon' by D. Smeed & I. Sommerville is invaluable if you 
        can get hold of it, back issues of 'Dragon User' particularly around Sept 
        '85-April 
        '86 which has a pretty good breakdown of the memory map/ROM routines. 
        
        |