|
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.
|