Comx-35
   HOME

TheInfoList



OR:

The COMX-35 was a home computer that was one of the very few systems to use the RCA 1802
microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
, the same microprocessor that is also used in some
space probe A space probe is an artificial satellite that travels through space to collect scientific data. A space probe may orbit Earth; approach the Moon; travel through interplanetary space; flyby, orbit, or land or fly on other planetary bodies; or ent ...
s. The COMX-35 had a keyboard with an integrated
joystick A joystick, sometimes called a flight stick, is an input device consisting of a stick that pivots on a base and reports its angle or direction to the device it is controlling. A joystick, also known as the control column, is the principal cont ...
in place of cursor keys. It was relatively inexpensive and came with a large collection of software. COMX-35 was manufactured in
Hong Kong Hong Kong ( (US) or (UK); , ), officially the Hong Kong Special Administrative Region of the People's Republic of China ( abbr. Hong Kong SAR or HKSAR), is a city and special administrative region of China on the eastern Pearl River Delt ...
by ''COMX World Operations Ltd'' and was released in the
Netherlands ) , anthem = ( en, "William of Nassau") , image_map = , map_caption = , subdivision_type = Sovereign state , subdivision_name = Kingdom of the Netherlands , established_title = Before independence , established_date = Spanish Netherl ...
, the United Kingdom,
Sweden Sweden, formally the Kingdom of Sweden,The United Nations Group of Experts on Geographical Names states that the country's formal name is the Kingdom of SwedenUNGEGN World Geographical Names, Sweden./ref> is a Nordic country located on ...
,
New Zealand New Zealand ( mi, Aotearoa ) is an island country in the southwestern Pacific Ocean. It consists of two main landmasses—the North Island () and the South Island ()—and over 700 smaller islands. It is the sixth-largest island count ...
,
Australia Australia, officially the Commonwealth of Australia, is a Sovereign state, sovereign country comprising the mainland of the Australia (continent), Australian continent, the island of Tasmania, and numerous List of islands of Australia, sma ...
,
Finland Finland ( fi, Suomi ; sv, Finland ), officially the Republic of Finland (; ), is a Nordic country in Northern Europe. It shares land borders with Sweden to the northwest, Norway to the north, and Russia to the east, with the Gulf of B ...
,
Norway Norway, officially the Kingdom of Norway, is a Nordic country in Northern Europe, the mainland territory of which comprises the western and northernmost portion of the Scandinavian Peninsula. The remote Arctic island of Jan Mayen and t ...
,
Italy Italy ( it, Italia ), officially the Italian Republic, ) or the Republic of Italy, is a country in Southern Europe. It is located in the middle of the Mediterranean Sea, and its territory largely coincides with the homonymous geographical re ...
,
Singapore Singapore (), officially the Republic of Singapore, is a sovereign island country and city-state in maritime Southeast Asia. It lies about one degree of latitude () north of the equator, off the southern tip of the Malay Peninsula, borde ...
,
Turkey Turkey ( tr, Türkiye ), officially the Republic of Türkiye ( tr, Türkiye Cumhuriyeti, links=no ), is a list of transcontinental countries, transcontinental country located mainly on the Anatolia, Anatolian Peninsula in Western Asia, with ...
and the People's Republic of China.


Hardware


Technical specifications

*
CPU A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
: CDP 1802 at or (NTSC) *
Random-access memory Random-access memory (RAM; ) is a form of computer memory that can be read and changed in any order, typically used to store working Data (computing), data and machine code. A Random access, random-access memory device allows data items to b ...
: ( max) *
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * R ...
: with
Basic BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
interpreter *VIS: ( Video Interface System) CDP1869/CDP1870 **Text modes: 40 columns x 24 lines. Alternative , and **Character set: 128 Programmable characters, the default character set displayed only uppercase characters **Character size: 6x9 (PAL) or 6x8 (NTSC) pixels, alternative up to 6x16 **Graphics modes: None, but the character-set was re programmable to simulate a High Resolution display **Colours: A total of 8 foreground colours are available (with a limited choice of 4 per character and 1 per line of that character) and 8 background colours (defined for the whole screen). *Sound: 2 channels: one for tone generation with a span of 8
octave In music, an octave ( la, octavus: eighth) or perfect octave (sometimes called the diapason) is the interval between one musical pitch and another with double its frequency. The octave relationship is a natural phenomenon that has been refer ...
s, and 1 for special effect/white noise. Volume programmable in 16 steps.


Memory map


RAM

The 'COMX 35' was called '35' due to the RAM in the machine, this included actual User RAM of which roughly was available for actual BASIC and the rest was used for system parameters and reserved for use by the BASIC System ROM. An additional was included as video RAM, for details see the Video Interface System (VIS) chapter.


Video interface system

The COMX used the RCA CDP1869 and CDP1870 Video Interface System (VIS), consisting of the CDP1869 address and sound generator and the CDP1870 colour video generator. The COMX automatically selected operation in PAL or
NTSC The first American standard for analog television broadcast was developed by National Television System Committee (NTSC)National Television System Committee (1951–1953), Report and Reports of Panel No. 11, 11-A, 12–19, with Some supplement ...
, this was done via the PAL/NTSC input on the VIS. Also during start-up the system ROM detected PAL/NTSC by checking EF2. EF2 gave PAL/NTSC information before the first pulse on the Q line, after this EF2 was used for keyboard handling. The VIS ran on for a PAL and for an NTSC machine. This frequency was divided by 2 and output via CPUCLK (pin 38) to the CDP 1802 for timing of the CPU (2.813 and ). The VIS was also responsible for the timing of the interrupt ()S and timing of the non display period via PREDISPLAY (pin 1). Video memory could only be accessed during the non display period which allowed for execution of 2160 machine cycles on a PAL and 1574 on an NTSC machine. Provided that not more instructions were executed than the indicated maximum number of machine cycles video memory could be accessed during the interrupt routine. Alternatively the program could be paused by waiting for a non display period by checking EF1. The Video memory consisted of 2 parts, RAM page memory and RAM character memory. The page memory stored the ASCII code for each character position on the screen. The screen had 960 characters where position 0 (left top corner) could be accessed by memory location @F800 (before scrolling). The character memory stored the character definition of each ASCII character and could be accessed by memory location @F400-@F7FF. Character memory could be accessed via different methods see also the VIS data sheet.


Models

The COMX 35 came in two colours, either a white or black keyboard. Later models also included a monitor connection. The second COMX home computer was called the COMX PC1 which was basically the same hardware as the COMX-35 with a better keyboard and a joystick connection. There was also a clone of the COMX PC1 also known as the Savla PC1, which is sold in
India India, officially the Republic of India (Hindi: ), is a country in South Asia. It is the seventh-largest country by area, the second-most populous country, and the most populous democracy in the world. Bounded by the Indian Ocean on the so ...
.
Advertisement for the Savla PC1 in Elektor India


Peripherals

The COMX 35 had one 44-pin external connector for additional expansion options in the form of interface cards. Memory location @C000-DFFF was reserved for use by any interface card, either to connect ROM, additional RAM or for other purposes. The following hardware was available: ; Expansion box: The expansion box allowed up to 4 interface cards to be connected to the COMX 35. The expansion box also included a
firmware In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
ROM connected to memory location @E000-@EFFF which extended basic with commands and logic to switch between different interface cards. Next to the standard firmware ROM there was an adaptation made by F&M (Frank and Marcel van Tongeren) this ROM added a screen editor feature to COMX basic. ; Floppy disk controller: The COMX Floppy disk controller allowed connection of 5.25" disk drives. The controller used the WD1770 clocked at . The DOS ROM was selected between address C000-DFFF and was also mapped over address DD0-DDF of the basic ROM. COMX DOS supports 35 tracks for both single and double sided disks and 70 tracks on single sided disks. Every track consisted of 16 sectors and every sector of 128 bytes, resulting in disk files of max . ; Printer card: The COMX Printer card allowed connection of parallel and serial printers. Depending on what type of printer was connected the firmware ROM was selected either with the parallel firmware between memory location @C000-@CFFF and the serial firmware between memory location @D000-@DFFF or the other way around. ; Thermal printer and card: The COMX Thermal Printer came including a dedicated interface card, printing was done on thermal paper by using a head that with which could heat the paper and as such print both text and images. You needed to be careful when writing your own printer drivers, which was needed for graphic printing, as it was very easy to 'burn' the printer head. ; 32K RAM card: The COMX RAM card placed additional RAM from address @C000 to @DFFF, i.e. only one bank of the available at a time. To switch to a different bank the OUT 1 instruction needed to be used via 1802 assembler code. Bit 5 and 6 were used for the RAM bank selection (bit 1 to 4 were used for the expansion box slot selection). ; 80-column card: The COMX 80-column card added possibility to use basic with a text mode of . The MC6845 was used as video chip. ; F&M Joy Card: This card was not developed by COMX but was a homemade extension by F&M: only a handful were ever made. The card had connections for 2 joysticks and came with a simple game and supporting software.


Software

A screenshot from ''Trainspotting'' A screenshot from ''Get your gadget'' The company importing the COMX in The Netherlands, West Electronics, provided almost all their software for the COMX for free and without copyrights (or for a small fee for tape, disk and/or shipment). West Electronics also organized different competitions for homemade software. Probably the most popular game on the COMX was 'Worm' known in The Netherlands as 'Eet een wurm'. This was a very basic game where you had to direct a snake over the screen and eat all the worms. If you managed to play 'Worm' long enough it would eventually run out of places to put new 'food' and as such slow down the game almost to a stop. There was a correction made for the game by F&M including some additional improvements. The COMX was probably most popular in The Netherlands mainly due to the efforts from West Electronics to provide free software. As a result of the competitions quite a few excellent games were written by enthusiastic users. Here is a small subset of a list too extensive to publish here: * Get Your Gadget by JunioR (Jeroen Griffioen and Robbert Nix) * Boulderdash by AHON (Arjan Houben and Oscar Nooij) * Donkey The Kong by MP-Soft (Michel Peters) * Happiehap and Trainspotting by F&M (Frank and Marcel van Tongeren)


Emulator

An emulator (Emma 02) running on Microsoft Windows, Linux and Mac OS X is available and can be downloaded from th
Dutch COMX Club
site or th
Emma 02
site. The screenshots shown here are generated with this emulator. The emulator also supports the following other 1802 systems

COSMAC VIP The COSMAC VIP (1977) IP means Video Interface Processorwas an early microcomputer that was aimed at video games. Essentially, it was a COSMAC ELF with a supplementary CDP1861/CDP1864 video display chip. For a price of US$275, it could be purc ...
, COSMAC ELF, Netronis Elf II, Quest Super Elf, RCA Studio II, Victory MPT-02, Visicom COM-100, Cidelsa, Telmac TMC-600, Telmac TMC-2000, Telmac Nano, Pecom 64 and the ETI-660.


Known bugs

The most famous bug in the COMX basic ROM was when you typed in the line number 65535 this resulted in the COMX hanging and the screen getting all messed up. A similar thing as when using line number 65535 was typing in 'READY', after this the COMX was not 'READY' anymore. F&M discovered this one when they designed the F&M screen editor and pressed 'CR' (return) on the 'READY' prompt. As such they decided to change the prompt into 'OK' to avoid too many accidental hangings when using a screen editor. This fault was actually caused by the basic READ command, when a READ Y (or any other READ) instruction is given when there is no DATA statement in the loaded basic program the COMX hangs. Another bug in the standard character set was the '!' which displayed a red dot just above the black dot.


References


External links

{{commonscat, Comx-35
hobby-site.com - Emma 02
including COMX Emulator
hobby-site.com - The COMX-35 at the COMX Club Netherlands

old-computers.com - The Comx-35 at old computers.com
Home computers 8-bit computers