Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
TRS-80 Color Computer
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Hardware== Internally the CoCo 1 and CoCo 2 models are functionally identical. The core of the system is virtually identical to the reference design included in the Motorola MC6883 data sheet and consists of five [[Large Scale Integration|LSI]] chips: * MC6809E Microprocessor Unit (MPU) * MC6883/SN74LS783/SN74LS785 Synchronous Address Multiplexor (SAM) * [[Motorola 6847|MC6847]] [[Video Display Generator]] (VDG) * Two [[Peripheral Interface Adapter]]s (PIA), either MC6821 or MC6822 chips ===SAM=== The SAM is a multifunction device that performs the following functions: * Clock generation and synchronization for the 6809E MPU and 6847 VDG * Up to 64 KB dynamic random access memory (DRAM) control and [[memory refresh|refresh]] * Device selection based on MPU memory address to determine if the MPU access is to DRAM, ROM, PIA, etc. * Duplication of the VDG address counter to "feed" the VDG the data it is expecting The SAM was designed to replace numerous small LS/[[Transistor–transistor logic|TTL]] chips into one integrated package. Its main purpose is to control the DRAM but, as outlined above, it integrates several other functions as well. It is connected to a crystal at 4 times the television [[colorburst]] frequency (14.31818 MHz for NTSC countries). This is divided by 4 internally and is fed to the VDG for its own internal timing (3.579545 MHz for NTSC). The SAM also divides the master clock by 16 (or 8 in certain cases) for the [[two-phase clock|two phase MPU clock]]; in NTSC this is 0.89 MHz (or 1.8 MHz if divided by 8). Switching the SAM into 1.8 MHz operation gives the CPU the time ordinarily used by the VDG and refresh. As such, the display shows garbage; this mode was seldom used. However, an unusual mode available by the SAM is called the Address Dependent mode, where ROM reads (since they do not use the DRAM) occur at 1.8 MHz but regular RAM access occurs at 0.89 MHz. In effect, since the BASIC interpreter runs from ROM, putting the machine in this mode would nearly double the performance of a BASIC program while maintaining video display and DRAM refresh. Of course, this would throw off the software timing loops and I/O operations would be affected. Despite this, however, the "high speed [[PEEK and POKE|POKE]]" was used by many CoCo BASIC programs even though it [[overclocking|overclocked]] the hardware in the CoCo, which was only rated for 1 MHz operation. The SAM has no connection to the MPU data bus. As such, it is programmed in a curious manner; its 16-bit configuration register is spread across 32 memory addresses (FFC0-FFDF). Writing even bytes sets that register bit to 0, while writing odd bytes sets it to 1. The value (D7-D0) that is written is ignored. Due to limitations in 40-pin packaging, the SAM contains a duplicate of the VDG's internal 12-bit address counter. Normally this counter's settings are set to duplicate the VDG's display mode. However, this is not required and results in the creation of some new display modes not possible when the VDG is used in a system alone. Instead of the VDG requesting data from RAM by itself, the VDG is "fed" data by the SAM's internal copy of the VDG address counter. This process is called "Interleaved Direct Memory Access" (IDMA) by Motorola and ensures that the processor and VDG always have full access to this shared memory resource with no wait states or contention. There are two versions of the SAM. The early one is labeled MC6883 and/or SN74LS783; the later version is labeled SN74LS785. There are some minor timing differences, but the major difference is the support of an 8-bit refresh counter in the 785 version. This allowed for use of inexpensive 16K by 4-bit and certain 64K by 1-bit DRAMs. Some third-party [[bank-switching]] memory upgrades that used 256K DRAMs needed this 8-bit refresh counter to work. ===VDG=== {{more citations needed section|date=September 2021}} [[Image:Coco2boot.png|thumb|320px|CoCo 2 power-on screen]] The [[Motorola 6847]] is display generator capable of displaying text and graphics contained within a roughly square display matrix 256 pixels wide by 192 lines high. It can display 9 colors: black, green, yellow, blue, red, white, cyan, magenta, and orange. ====Alphanumeric/Semigraphics display==== [[Image:Cocobvdg.png|thumb|320px|Sample MC6847 VDG character set display]] In alphanumeric mode, each character is a 5 dot wide by 7 dot high character in a box 8 dots wide and 12 lines high. This display mode occupies 512 bytes of memory from $400-$5FF and is a 32 character wide screen with 16 lines. The ROM character generator only holds 64 characters, so no lowercase characters are provided. "Lowercase" characters are rendered as uppercase with inverted color. On most CoCo generations it is green on very dark green. [[Semigraphics]] is a mode where alphanumerics and low resolution graphics can be mixed together. The 8th bit of a character determines if it is alphanumeric or treated as a 2 × 2 pixel grid. When the 8th bit is set, the next three bits determine the color and last 4 bits specify which quadrants of the character box are either the selected color or black. This allows a 64 × 32 graphics mode with 9 colors, the only mode where it is possible to display all 9 colors simultaneously. There are two color sets. The default has black characters on a green background. The alternate has black characters on an orange background. The color set selection does not affect semigraphics characters. The border is always black. The 6847 is capable of a Semigraphics 6 display mode, where two bits select a color and 6 bits determine which 1/6 of the character box is lit. Only 4 colors are possible, but the colorset bit of the VDG selects two groups of 4 colors. Only two colors are available in graphics blocks when using Semigraphics 6 on the CoCo.<ref>[http://www.cs.unc.edu/~yakowenk/coco/text/semigraphics.html Semi-graphics-6 display mode] {{Webarchive|url=https://web.archive.org/web/20191109215817/http://www.cs.unc.edu/~yakowenk/coco/text/semigraphics.html |date=2019-11-09 }}, By William J. Yakowenko, 25-Mar-1996, [[University of North Carolina]] [https://cs.unc.edu Department of Computer Science] {{Webarchive|url=https://web.archive.org/web/20240409234130/https://cs.unc.edu/ |date=2024-04-09 }}</ref> The default alphanumeric display for the CoCo is Semigraphics 4. ====Additional Semigraphics modes==== By setting the SAM such that it believes it is displaying a full graphics mode, but leaving the VDG in Alphanumeric/Semigraphics 4 mode, it is possible to subdivide the character box into smaller pieces. This creates the "virtual" modes Semigraphics 8, 12, and 24.<ref name=Lomont_CoCoHardware>{{cite web|url=http://www.roust-it.dk/coco/Lomont_CoCoHardware_2.pdf|work=www.lomont.org|title=Chris Lomont's Color Computer 1/2/3 Hardware Programming|access-date=5 May 2020|first=Chris|last=Lomont|date=July 2006|archive-date=27 November 2020|archive-url=https://web.archive.org/web/20201127161948/http://www.roust-it.dk/coco/Lomont_CoCoHardware_2.pdf|url-status=live}}</ref> In these modes it was possible to mix bits and pieces of different text characters as well as Semigraphics 4 characters. These modes were an interesting curiosity but not widely used, as the Semigraphics 24-screen consumed 6144 bytes of memory. These modes were not implemented on the CoCo 3. A programmer's reference manual for the CoCo states that due to a fire at Tandy's research lab, the papers relating to the semigraphics modes were shuffled, and so some of the semigraphics modes were never documented. CoCo enthusiasts created experimental programs to try to [[reverse engineer]] the modes, and were able to reconstruct the missing documentation.<ref><!--[http://home.att.net/~robert.gault/Coco/History/Semi24.htm Semigraphics24 for the Coco1&2. Machine language program to create 8 true colors plus text on screen at one time.]-->[http://aaronwolfe.com/robert.gault/Coco/History/History_files/Semi24.html The Forgotten Graphics Mode Semigraphics-24] {{Webarchive|url=https://web.archive.org/web/20150216051112/http://aaronwolfe.com/robert.gault/Coco/History/History_files/Semi24.html |date=2015-02-16 }}, By Robert Gault, Date: Feb 10, 2010, What's In a Name? Coco ? It Sure Ain't Hot Chocolate</ref> ====Bitmap modes==== Bitmap display modes are divided into two categories: ''resolution'' and ''color''. In resolution modes, each pixel is addressable as either on or off. There are two color sets available: black dots on a green background with a green border, and white dots on a black background with a white border. In color modes, each pixel uses two bits to select one of four colors, with the overall colors determined by the colorset: * a green border with the colors green, yellow, red, and blue; * a white border with the colors white, cyan, magenta, and orange. Resolution graphics store 8 pixels per byte and are available in 128×64, 128×96, 128×192, and 256×192 modes. Color graphics have 4 pixels per byte and are available in 64×64, 128×64, 128×96, and 128×192. The maximum size of a bitmap screen is 6144. ====Artifact colors==== [[Image:6847 NTSC-färg.png|thumb|320px|Orange artifact color generated with the white and black colorset]] The 256×192 two color graphics mode can display four colors due to a quirk in the NTSC television system. It is similar to the Apple II's DHGR graphics but slightly lower resolution and with four rather than six colors. These are called [[composite artifact colors]]. Two 6k pages can be used and the location of them differs depending on whether the disk controller is in use or not. If it is plugged into the expansion port, the graphics page begins at $E00 and at $600 if not (cassette software that utilizes the hi res mode would require the disk controller to be removed to ensure the graphics page is where the software expects it to be in). In the first color set, where green and black dots are available, alternating columns of green and black appear as a muddy green color. With the white and black color set, the result is either orange or blue. Reversing the order of the alternating dots gives the opposite color. In effect, this mode is 128×192 with four colors: black, orange, blue, and white. On [[PAL]] televisions, instead of solid orange and blue, artifacts appear as vertical stripes of green and peach with soft edges and a width of almost four pixels. On a CoCo 3 with an analog RGB monitor, the black and white dot patterns do not artifact. The bit patterns that represent orange and blue can be different each time the system is powered up. Most Color Computer games start with a title screen and ask the user to press the reset button until the colors are correct. This is fixed on the Color Computer 3 and the other color set can be chosen by holding {{Key press|F1}} during reset. ====Lowercase and the 6847T1==== [[Image:Coco2bvdg lc.png|thumb|320px|6847T1 VDG in true lowercase mode]] The 6847 is capable of using an external character generator. Several third-party add-on boards allow the CoCo to display real lowercase characters. Late in the CoCo 2 production run, the enhanced 6847T1<ref name="auto">{{Cite web |title=MC6847T1 MOS Video Display Generator (Motorola) |url=https://colorcomputerarchive.com/repo/Documents/Datasheets/MC6847T1%20MOS%20Video%20Display%20Generator%20(Motorola).pdf |website=Color Computer Archive |access-date=2022-05-15 |archive-date=2021-01-22 |archive-url=https://web.archive.org/web/20210122182134/https://colorcomputerarchive.com/repo/Documents/Datasheets/MC6847T1%20MOS%20Video%20Display%20Generator%20(Motorola).pdf |url-status=live }}</ref> VDG was used. It includes a lowercase character generator and the ability to display a green/orange or black border on the text screen.<ref name="auto"/> The lowercase capability is disabled by default on these CoCo 2s, and is not mentioned in the manual. ===Sound=== There is a four position, software selectable, switch inside the case to determine which audio source is routed to the TV modulator. {| class="wikitable" |- ! Switch position ! Audio source |- ! 0 | Internal 6-bit [[digital-to-analog converter]] |- ! 1 | Audio from cassette tape output |- ! 2 | Audio from expansion port |- ! 3 | None (silence) |} An additional 1-bit sound output is always active.<ref>{{cite book |last=Chatham |first=Dale |date=1981 |title=Color Computer Reference Manual |url=https://archive.org/details/ETC2052 |publisher=Radio Shack |page=31}}</ref> Radio Shack sold two audio devices to attach to the expansion port. The Speech/Sound Pak includes an [[General_Instrument_AY-3-8910|AY-3-8913]] programmable sound generator and a [[General_Instrument_SP0256|SPO256-AL2]] text to speech digital narrator. The Orchestra-90 Pak includes two 8-bit digital-to-analog converters. ===Disk interface=== The CoCo uses an external floppy disk controller that plugsd into the side expansion port. The controller uses a WD 1791 FDC and a ROM-based disk operating system which is immediately available at power-on and does not require an OS disk (the CoCo 2-3 controller also supports booting alternative RAM-resident DOSes in place of the ROM one by typing the DOS command in BASIC). The CoCo 1 uses Shugart SA-400 full-height 5.25" drives which are 35 track single-sided units and formatted disks to 160k. They are similar to the TRS-80 Model I disk drives except for the custom modification of a power switch in the front faceplate. The CoCo 2-3 replaced these with 40 track half-height drives, two per unit (the existing 35 track 160k format was retained for compatibility purposes with the CoCo 1). The stock drives can be replaced by any Shugart-standard 34 pin interface units for additional storage space although the ROM DOS only supports default 160k format. The CoCo 1 controller has an older version of the WD 1791 FDC chip manufactured in enhancement load [[NMOS logic|NMOS]] that needsa three voltages to operate: 12V, 5V, and -5V. The CoCo 2 switched to a newer FDC that used a single 5V power line, and the 12V line was removed from the expansion port. Consequently the CoCo 1 controller will not work on the CoCo 2-3 nor will the latter's controller work on the CoCo 1. The ROM DOS functios as part of BASIC and all disk commands are implemented as BASIC statements. BASIC programs can be loaded from disk by the LOAD command and LOADM for machine language programs. ===PIAs=== There are two [[Peripheral Interface Adapter]] chips in all CoCo models. The PIAs are dedicated to I/O operations such as driving the internal 6-bit digital-to-analog converter, controlling the relay for the cassette motor, reading the keyboard, controlling the VDG mode pins, and accessing the [[RS-232]] serial I/O port. The earliest CoCo models have two standard 6821 chips. Later, after changes in the keyboard design, the 6822 IIA (Industrial Interface Adapter) was used instead. The 6822 was eventually discontinued by Motorola, but was produced for Tandy as an [[application-specific integrated circuit]] with the part number SC67331P. ===CoCo 3 hardware changes=== In the CoCo 3, a new VLSI ASIC called (officially) the Advanced Color Video Chip (ACVC) or (unofficially) the Graphics Interrupt Memory Enhancer (GIME), integrated the functions of the SAM and VDG while enhancing the capabilities of both. The CoCo 3 supports 40- and 80-column text and the ability to run at 1.8 MHz without loss of video. The processor was changed to the 68B09E and the PIA was changed to the 68B21, which are 2 MHz parts.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
TRS-80 Color Computer
(section)
Add topic