EMMA 02

Telmac TMC-600

  • Home
  • CDP18S020
    • General Information
    • I/O Map
  • COMIX-35
  • COMX-35
    • General Information
    • F&M
    • Did You Know...?
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Expansion Box
    • Disk
    • Printers
    • Thermal
    • PL-80
    • 32K RAM
    • 80 Column
    • F&M EPROM
    • F&M Joy Card
    • Super Board
    • COMX BASIC V1.00
  • COSMAC Elf
    • General Information
    • I/O Map
    • Front Panels
  • COSMAC Elf 2000
    • General Information
    • I/O Map
    • Memory
    • Video
  • COSMAC Microtutor
    • General Information
    • I/O Map
  • COSMAC Microtutor II
    • General Information
    • I/O Map
  • COSMAC Vip
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • STK
    • Chip-8 and 8X
    • Test-Word
    • Floating Point BASIC 2.2
  • COSMAC Vip II
    • General Information
    • I/O Map
    • Floating Point BASIC 2.2
  • Cidelsa
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
  • Conic
  • Cosmicos
    • General Information
    • I/O Map
    • Front Panels
    • Mops & Hexmops
    • ASCII Monitor
    • HEX Monitor & UT4
  • CyberVision
  • ETI-660
  • FRED 1
    • General Information
    • I/O Map
    • Cassette
    • CARDTRAN Syntax
  • FRED 1.5
    • General Information
    • I/O Map
    • Cassette
    • Cassette
    • FPL-2
    • FPL-4
    • FEL-1
  • HEC1802
  • HUG1802
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Chip-8 ETI-660
  • Infinite UC1800
    • General Information
    • I/O Map
  • JVIP
  • Macbug
  • Membership Card
    • General Information
    • I/O Map
  • Netronics Elf II
    • General Information
    • I/O Map
    • Front Panels
    • Keyboard
    • Giant Board
    • BASIC/Math
  • Oscom Nano
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Casette
  • Pecom 32 and 64
    • General Information
    • Software
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Casette
    • Pecom 32 BASIC
    • Pecom 64 BASIC 1.0 & 4.0
  • Pico/Elf V2
    • General Information
    • I/O Map
  • Quest Super Elf
    • General Information
    • I/O Map
  • RCA Game System
  • RCA Microboard
    • General Information
    • I/O Map
  • RCA MS2000
    • General Information
    • I/O Map
  • RCA MCDS
    • General Information
    • I/O Map
  • RCA Studio II
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • ST2
  • RCA Studio III
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
  • RCA Studio IV
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • ST4 Syntax
  • RCA Video Coin
    • General Information
    • I/O Map
    • Memory
    • GPL-A (2K RAM)
    • GPL-A (2K ROM)
    • GPL-2
    • GPL-3
    • GPL-4
  • SBC1802
  • Studio 2020
  • Telmac 1800
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard
    • Cassette
  • Telmac 2000
    • General Information
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
  • Telmac TMC-600
    • General Information
    • Software
    • I/O Map
    • Memory
    • Video
    • Sound
    • Keyboard
    • Cassette
    • Telmac SBASIC v24.3
  • VELF
    • General Information
    • I/O Map
    • BIOS
    • Video
    • Keyboard
  • VIP2K MC
    • General Information
    • I/O Map
    • Memory
    • Video
    • Chip 8
  • VIS1802
  • VT1802
  • Visicom COM-100
    • General Information
    • I/O Map
    • Memory
    • Video
    • Keyboard

 

 

 

 

 

 

 

 

 

 

 

 

VIS, Video Interface System

The TMC-600 uses the RCA-CDP1869 and CDP1870 Video Interface System (VIS), consisting of the CDP1869 address and sound generator and the CDP1870 colour video generator. Not all details of these two chips are described here but can be found in the data sheets available on the COMX Club ppages

The VIS is using 2 CDP 1802 output instructions, OUT 7 to select the register and OUT 5 for actual data output. Note that for VIS register 4, 5, 6 and 7 the CDP1802 address lines are used and NOT the data bus. For VIS register 2 and 3 the data bus is used.

Video Memory and resolution

Connected to the CDP1869/1870 the TMC-600 has 1KB page RAM, 1024*4 bit colour RAM and 4KB character ROM.

The page RAM stores the ASCII code for each character position on the screen. The screen has 960 characters where position 0 (left top corner) can be accessed by memory location @F800 (before scrolling).

The character ROM stores the character definition for each of the 256 characters (6x9 pixels) and can be read via memory location @F400-@F7FF. Character memory can be accessed via different methods see also the VIS data sheet.

The colour RAM stores the colour definition and blink status. Colour definitions (bit 0 - 2): 0 = black, 1 = green, 2 = blue, 3 = cyan, 4 = red, 5 = yellow, 6 = magenta, 7 = white, Blink status (bit 3) indicates if a character is 'blinking' or not. Each location on the screen (in page RAM) has a equivalent colour/blink definition (4 bits in colour RAM).

Only 6 bits of the character ROM are used for the 6 pixels on the screen. Each character can be shown in the above 8 different colours. The colour RAM is written with the value of VIS register 2 when a character is placed in the page RAM. A total of 8 background colours are available, defined for the whole screen.

The screen is build up of 40 columns x 24 lines, alternatively the width and/or height of the characters can be doubled to generate 20x24, 40x12 or 20x12 all using a lower screen resolution. BASIC supports 20x12 by using statement RES 1.

Timing

The VIS runs on 5.626 MHz. This frequency is divided by 2 and output via the CPUCLK (pin 38), this could be used for timing of the CPU (2.813 MHz) but as far as I understand is NOT done in the TMC-600. Instead the TMC-600 runs on 3.579 MHz but it is not clear to me from where this frequency is derived. The VIS is also responsible for the timing of the non display period via PREDISPLAY (pin 1). Video memory can only be accessed during the non display period which allows for execution of 2160 machine cycles based on a CPU running on 2.813 MHz and VIS running on 5.626 MHz. Any program need to be paused by waiting for a non display period (by checking EF1) before accessing the video memory.