Tangerine Microtan 65: Difference between revisions

Content deleted Content added
m dash style (MOS:DASH), https, move comma
 
(168 intermediate revisions by 70 users not shown)
Line 1:
{{More footnotes|date=June 2017}}
== Introduction ==
{{Infobox information appliance
| name =
| image = Tangerine Microtan 65 In System Rack (white bg).jpg
| caption = The Microtan 65 in the full System Rack enclosure and with the [[ASCII]] keyboard
| manufacturer = [[Tangerine Computer Systems]]
| type = [[Personal Computer]]
| releasedate = {{Start date and age|1979}}<ref>{{cite web|url=http://www.old-computers.com/Museum/computer.asp?c=166&st=1|title=OLD-COMPUTERS.COM : The Museum|website=Old-computers.com|accessdate=2017-06-23}}</ref>
| price = £90.85 (assembled)<br />£79.35 (kit)
| connectivity =
| lifespan =
| unitssold =
| media =
| os = <!-- operating system -->
| input = [[ASCII]] [[Computer keyboard|Keyboard]] or 20-key [[Hexadecimal|Hex]] keypad
| camera =
| power =
| cpu = [[MOS Technology 6502|6502]] clocked at 0.75&nbsp;MHz
| storage =
| memory = 1–48&nbsp;KB [[Random-access memory|RAM]], 1–14&nbsp;KB [[Read-only memory|ROM]]
| display = 32 × 16 monochrome text, 64 × 64 with graphic characters<ref name="geoff.org.uk">{{cite web|url=http://www.geoff.org.uk/microtan/character_sets.htm|title=Character Sets|website=Geoff.org.uk|accessdate=2017-06-23}}</ref>
| audio =
| service = <!-- online service/s offered -->
| dimensions =
| weight =
| touchpad =
| predecessor =
| successor = [[Oric-1]]
| related =
}}
 
The [[Tangerine Computer Systems|Tangerine]] '''Microtan 65''' (M65sometimes forabbreviated the purposes of this article'''M65''') was a [[MOS Technology 6502|6502]] -based single board [[microcomputer]], whichfirst sold in 1979, that could be expanded into what was, for its day, a comprehensive and powerful system. The design became the basis for what later became the [[Oric-1 | ORICAtmos]], ATMOS and later [[computer]]s. TheThose basis of all these highly integratedlater machines canhave besimilar seenkeyboard in the Microtan 65,addressing and although[[Magnetic the detail of thetape|tape]] I/O addressingas variesthe between theMicrotan M6565. andThe theMicrotan ORIC65 etc,has thea fundamentalhardware methodsingle ofstep keyboardfunction addressing,that tapecan I/Obe wereused allfor [[debugging]] theresoftware in theboth M65.ROM Inand addition,RAM. theThe M65computer was veryavailable muchas a handsready-onbuilt machine[[Printed -circuit itboard|board]]s hador aas powerfulkits singleconsisting stepof functionboard thatand could[[Electronic becomponent|components]] usedrequiring for debugging at the hardware[[soldering]] leveltogether.
 
The Microtan 65 was intended as a general purpose microcomputer which could be used by [[Laboratory|laboratories]], [[original equipment manufacturers|original equipment manufacturers (OEMs)]], and computer enthusiasts, and it was designed with expandability in mind.<ref>{{cite web|url=http://www.microtan.ukpc.net/|title=Tangerine Microtan 65|website=Microtan.ukpc.net|accessdate=2017-06-23}}</ref> In this way the customer could customise the system, be it as a specialised [[control system]], as a learning tool, or as a general purpose computing device.<ref>{{cite web|url=http://www.computinghistory.org.uk/det/23946/Tangerine-Microtan-65/|title=Tangerine Microtan 65 - Computing History|website=Computinghistory.org.uk|accessdate=2017-06-23}}</ref>
== Hardware ==
 
Price of the Microtan 65 board in 1981 was £79.35 (inc. [[Value-added tax|VAT]]) in kit form or £90.85 ready-assembled. The system was not generally available in the shops.
The M65 was quite simple by today's standards, comprising:
 
* a NMOS 6502 [[CPU]] running at 750 kHz [[clock rate]]
To accompany the hardware and to offer further support to users, a magazine was created, the ''Tansoft Gazette'' (name inspired by the ''[[Liverpool Software Gazette]]''). This was edited by Tangerine employee Paul Kaufman who continued as editor when the magazine was renamed ''Oric Owner''. Tansoft also became the name of Tangerine Computer's official software house which supplied a number of software products and books for the Microtan system and subsequently for the [[Oric computers|Oric range of computers]].
* 1K byte of [[Random_access_memory | RAM]]
 
* 1K byte of [[Read-only_Memory | ROM]] for the monitor program (not even called an operating system)
== Main board ==
* a [[television]] [[RF modulator]], for the 16 rows of 32 characters display
[[Image:Tangerine Microtan 65 Main Board.jpg|thumb|300px|right|The Microtan 65 Main Board]]
* a cassette interface for storing and retrieving programmes (300 and 2400 [[baud]])
 
* a software scanned [[hexadecimal]] keypad
The Microtan 65 was quite simple by today's standards, with:
* an optional [[ASCII]] keyboard
* an NMOS [[MOS Technology 6502|6502]] [[Central processing unit|CPU]] running at 750 [[kHz]] [[clock rate]]
* 1K byte of [[Random-access memory|RAM]], used both for display memory and user programs
* 1K byte of [[Read-only memory|ROM]] for the [[Resident monitor|monitor program]]
* video logic and a [[television]] [[RF modulator]], for the 16 rows of 32 characters display
* a [[software]] scanned [[hexadecimal]] [[keypad]]<ref>{{cite web|url=http://www.microtan.ukpc.net/Schematics/MT65_HEXKEYPAD.PDF |title=Microtan Hex Keypad Design Details |website=Microtan.ukpc.net |accessdate=2017-06-23}}</ref>
* an optional [[ASCII]] [[Computer keyboard|keyboard]]
* a [[DIN 41612]] connector for expansion
 
Although the board + keypad could be used stand-alone, only 423 bytes were available for user program/data/stack and there was no facility for storing/loading programs.
 
=== Display ===
The major advance that the Microtan 65 had over a lot of the competition at that time was that the [[Graphics card|video display]] was flicker free. At the time a lot of microcomputers would either access the screen memory [[Asynchronous operation|asynchronously]] to the video timing (causing flicker and splats on the screen), or would write to the screen memory during a non-display period (which was slow). The Microtan 65 got over this problem by making use of an incidental feature of the [[MOS Technology 6502|6502]]. The 6502 (unlike most other CPUs) has a regular period in each instruction cycle when all CPU activity is inside the chip, leaving the external memory available without using complex external arbitration logic. This made video display design simpler and meant that video accesses could be made at maximum speed. This technique is also used on the [[Oric-1]] and [[Oric Atmos|Atmos]], and in the unrelated [[Apple II]].
 
The 32×16 characters<ref name="geoff.org.uk"/> was the reason that the 6502 was [[Clock rate|clocked]] at 750&nbsp;kHz. To get the circuitry to work at a (nearly) standard video rate meant that the [[pixel]] clock had to be 6 [[MHz]]. When the Microtan 65 was designed only a 1&nbsp;MHz 6502 was available, and so 750&nbsp;kHz was used (6&nbsp;MHz divided by 8).
 
[[File:Tangerine Microtan 65 Hex Keypad.jpg|thumb|upright|The Microtan 65 Hex Keypad]]
 
=== Software ===
The 1K byte [[Operating system|monitor]] program (later increased to a 2K) is called TANBUG. The [[software]] facilities were rudimentary:
* M = Memory modify / examine
* L = List a block of memory
* G = Go command (Run a program)
* R = [[Processor register|Registers]] display / modify
* S = set Single step mode
* N = set Normal mode (cancel S command)
* P = Proceed command (execute next instruction in Single step mode)
* B = set [[Breakpoint]]s
* O = calculate Offset for use in branch instructions
* C = Copy a block of memory
 
=== Memory map ===
The Microtan 65 memory map is shown below ($ representing a [[hexadecimal]] memory address):
* {{mono|$0000}} [[Zero page|Zero Page]]
* {{mono|$0100}} [[Stack (data structure)|Stack]]
* {{mono|$0200}} Screen [[RAM]]
* {{mono|$0300}} Screen [[RAM]]
* {{mono|$0400}} End of Microtan 65 RAM—map continued from {{mono|{{mono|$040}}0}} to {{mono|{{mono|$070}}0}} as RAM on TANEX
* {{mono|$8000}} I/O
* {{mono|$C000}}
* {{mono|$F800}} TANBUG V2
* {{mono|$FFFF}}
 
The screen memory occupies the space between {{mono|$200}} and {{mono|$3FF}}. In addition to the standard 8 [[bit]]s of screen [[RAM]], there was an (optional) additional 1-bit RAM shadowing the {{mono|$200}} to {{mono|$300}} space. This was used by the Microtan 65 to implement rudimentary [[Minitel]] type block graphics which worked as follows:
 
* After a CPU read from {{mono|$BFF0}} all subsequent CPU writes to the screen memory set the 1-bit RAM for the associated screen ___location
* After a CPU write to {{mono|$BFF3}} all subsequent CPU writes to the screen memory clear the 1-bit RAM for the associated screen ___location
* When the video logic reads the screen memory, a screen ___location in which the 1-bit RAM is clear is treated as an ASCII code and rendered using data from the character generator [[ROM]]. A screen ___location in which the 1-bit RAM is set is treated as a bit-map which controls the combination of 2 (horizontal) x 4 (vertical) blocks to render as bright/dark.
 
The display is 32 characters across by 16 lines down (64 x 64 graphics blocks), with memory address {{mono|$200}} representing the top left hand displayed character, {{mono|$220}} the second row, etc. The character representation is standard [[ASCII]]. Several pieces of Microtan 65 software write to the bottom line by writing to memory starting at {{mono|$3E0}}—the leftmost character on the bottom line, rather than vectoring through TANBUG.
 
=== Input/output ===
[[Input/output|I/O]] in the Microtan 65 is decoded into a 16 KB space to simplify the hardware. In fact the 1 KB of RAM is mirrored through the bottom 32 KB, the I/O through the next 16 KB, and the [[EPROM]] through the top 16 KB. If you added an expansion board (see TANEX below) the decoding was modified and the wasted space reclaimed.
 
In common with other [[MOS Technology 6502|6502]] designs, I/O is [[Memory-mapped I/O|mapped]] into the memory space. There is no dedicated I/O space as on the [[Zilog Z80|Z80]], [[Intel 8086|8086]] etc. The I/O ports are (when fully decoded):
 
* Write to {{mono|$BFF0}} Clear [[Computer keyboard|Keyboard]] Flag (Keyboard would generate an [[Interrupt request|IRQ]])
* Read from {{mono|$BFF0}} Turn Graphics On (enables "9th [[bit]]" graphics writes)
* Write to {{mono|$BFF1}} Used by the hardware single step
* Write to {{mono|$BFF2}} To write a scan pattern to the [[Hexadecimal|hex]] [[keypad]] (if fitted)
* Write to {{mono|$BFF3}} Turn off Graphics (disable "9th [[bit]]" graphics writes)
* Read From {{mono|$BFF3}} Read Keyboard Port (either keypad or [[ASCII]] keyboard)
 
== TANEX expansion board ==
[[Image:Tangerine Microtan 65 Tanex Board.jpg|thumb|300px|right|The Microtan 65 Tanex board. The EPROM chip with the green spot (centre) contains the XBUG monitor extension, the other three EPROMs the Microsoft Extended BASIC. The bottom row of chips are the 7K static RAM—14 X 2114. The 6522 VIA is at left, with an empty socket for an additional 6522 alongside. The empty green socket at top centre is for the 6551 UART.]]
 
Adding a TANEX board provided a number of features:
* an add-on to TANBUG called XBUG
* space for an additional 7K bytes of [[RAM]]
* five [[EPROM]] sockets
* two 6522 VIAs
* a 6551 [[UART]], providing a [[cassette tape|cassette]] interface for storing and retrieving programs (300 baud [[Kansas City standard|CUTS]], and 2400 [[baud]]), and a [[serial port|serial interface]]
 
Without a TANEX board, and due to deliberately ambiguous address decoding, the address {{mono|$F7F7}} would appear to the [[MOS Technology 6502|6502]] to have the same data as {{mono|$FFF7}}. In TANBUG, this is a jump to an internal monitor routine. With TANEX installed, {{mono|$F7F7}} is decoded properly, and that address is an entry point into XBUG. XBUG provided features such as cassette tape loading and saving, a simple [[Assembly language assembler|assembler]] / [[disassembler]], [[Hexadecimal|hex]] calculator.
 
The [[Read-only memory|ROM]] sockets on TANEX could be used to run a 10K [[Microsoft BASIC|Microsoft Extended BASIC]], a [[two-pass assembler]], or even (and more likely given the hardware bias of the Microtan 65) code written for a specific hardware control application.
The major advance that the M65 had over a lot of the competition at that time was that the [[computer_display | video display]] was flicker free - that is expected now, but at the time a lot of micros would either access the screen memory asynchronously to the video timing (causing flicker and splats on the screen) or would only write to the screen memory during a non-display period (which was slow). The M65 got over this problem by making use of a major feature of the [[6502]]. The [[6502]] (unlike most other [[CPU]]s) has a regular period in its processing when all [[CPU]] activity is inside the chip, leaving the external memory available without using complex external arbitration logic. This made [[computer_display | video display]] design simpler and meant that video accesses could be made at maximum speed. This technique is also used on the ORIC and ATMOS computers.
 
Price of the TANEX board in 1981 was {{£|49.45}} as a "minimum configuration" kit—lacking one of the 6522 VIAs and the 6551 and with 1K of RAM—and £60.95 for a similar board fully assembled. TANEX was also available with the board fully populated with chips (although excluding XBUG, ROMs & BASIC) and in this form the costs were {{£|103.16}} for the kit and {{£|114.66}} ready assembled.
The 32*16 characters was the reason that the [[6502]] was [[Clock_rate | clocked]] at 750 kHz. To get the circuitry to work at a (nearly) standard video rate meant that the [[pixel]] clock had to be 6 MHz. When the M65 was designed only a 1 MHz [[6502]] was available, and so 750 kHz was used (6 MHz divided by 8).
 
== SoftwareFurther expansion ==
[[Image:Tangerine Microtan 65 System Rack Interior.jpg|thumb|300px|right|The interior of a System Rack Microtan 65 with the front panel removed and the ''Microtan 65'' & ''Tanex'' boards at the left]]
 
The Microtan 65 was designed as a modular system able to be expanded as required, and for this each board included an 80-pin connector at one end allowing it to be plugged into a backplane-type [[motherboard]]. A simple two-socket "Mini Motherboard" connected the Microtan 65 and TANEX boards for minimum expansion and in this form the system was also available ready-built from Tangerine, complete with case and full ASCII keyboard, as the '''Tangerine Micron''', costing £395.00 in 1981. For further expansion the builder could purchase the full "System Motherboard" which featured an additional ten sockets, bringing the total available sockets to twelve. For housing this, a "System Rack", rack-based case was available, in black and silver with a black front panel trimmed in Tangerine's trademark orange.
The 1K byte monitor program (later increased to a 2K) in keeping with all the early monitors was called a bug, presumably a bad joke, in this case TANBUG. The software facilities were rudimentary:
* Modify memory
* Display a block of memory
* Run a program
* Display Registers
* Single Step
* Set Breakpoints
* Copy a block of memory
* .....
 
Additional boards became available with time, including a 40K memory board—TANRAM, made up of 32K of [[Dynamic random-access memory|dynamic]] and 8K of [[Static random-access memory|static]] [[Random-access memory|RAM]], bringing the total non-paged memory to 48K, a dedicated [[Series and parallel circuits#Parallel circuits|parallel]] [[input/output|I/O]] board featuring 16 parallel input/output [[Computer port (hardware)|port]]s; a similar dedicated [[Series circuits|serial]] I/O board featuring 8 serial input/output ports, a [[disk controller]] board for use with [[Hard disk|disk drives]], a [[Disk Operating System]]—TANDOS 65, a high resolution [[graphics]] board featuring 8K of static graphics RAM giving a resolution of 256 × 256 [[pixel]]s, a dedicated 32K [[Read-only memory|ROM]] board, (aimed mainly at [[Original equipment manufacturer|OEM]] and general purpose applications or for use with [[AIM-65|AIM]], [[KIM-1|KIM]] and [[SYM-1|SYM]] systems), capable of holding either 8 × 2732 or 16 × 2716 EPROMs; and a 32K RAM board featuring two 16K banks of 4116 dynamic RAM, again intended for similar purposes to the 32K ROM board. In addition, several [[Third-party developer|third-party]] suppliers offered boards designed for use with the Microtan 65 system.
=== Memory Map ===
 
In addition to the BASIC [[programming language]] Tangerine also released on disk TANFORTH, an extended version of [[Forth (programming language)|FIG FORTH]] featuring a full FORTH [[compiler]] and [[Source-code editor|editor]].
The M65 memory map is shown below ($ representing a [[hexadecimal]] memory address):
* $0000 Zero Page
* $0100 Stack
* $0200 Screen RAM
* $0300
* $0400 End of M65 memory
* $8000 I/O
* $C000
* $F800 TANBUG V2
* $FFFF
 
== See also ==
The screen memory occupies the space between $200 and $3FF. In addition to the standard 8 [[bit]]s of screen [[RAM]], there was an additional single bit [[RAM]] shadowing the $200 to $300 space. This was configured as a 9th [[bit]] write-only plane, and was used by the M65 for rudimentary graphics. Setting the 9th [[bit]] displayed a Minitel type block graphic.
* [[Research Machines 380Z]]
* [[Tangerine Computer Systems]]
$300 is the top left hand displayed character and the display is 32 characters across by
* [[Oric_(computer)|Oric]]
16 lines down. The character representation is standard [[ASCII]]. Several pieces of M65
* [[List of British computers]]
software write to the bottom line by writing to memory starting at $3E0 - the left hand
character on the bottom line, rather than vectoring through TANBUG.
=== Input / Output ===
I/O in the M65 is decoded into a 16 KB space to simplify the hardware. In fact the 1 KB of [[RAM]] is mirrored through the bottom 32 KB, the I/O through the next 16 KB, and the [[EPROM]] through the top 16 KB. If you added an expansion board (see TANEX below) the decoding was modified and the wasted space reclaimed.
 
==References ==
In common with other [[6502]] designs, I/O is mapped into the memory space. There is no dedicated I/O space as on the [[Z80]], [[8086]] etc. The I/O ports are (when fully decoded):
{{Reflist}}
*Write to $BFF0 Clear Keyboard Flag (Keyboard would generate an [[IRQ]])
*Read from $BFF0 Turn Graphics On (enables "9th [[bit]]" graphics writes)
*Write to $BFF1 Used by the hardware single step
*Write to $BFF2 To write a scan pattern to the [[Hexadecimal |hex]] keypad (if fitted)
*Write to $BFF3 Turn off Graphics (disable "9th [[bit]]" graphics writes)
*Read From $BFF3 Read Keyboard Port (either keypad or [[ASCII]] keyboard)
 
== TANEXExternal Expansion Boardlinks ==
* This article was based on: {{webarchive |url=https://web.archive.org/web/20081024034120/http://oric.ifrance.com/microtan_hardware.txt |date=October 24, 2008 |title=Microtan 65 Hardware and Software Description by Ray Gannon and credited ''Distribute as you like. Credit me if you do.'' }}
* [https://www.geoff.org.uk/microtan/index.htm Geoff Mcdonald's webpage] – author's experience with the Microtan 65
Adding a TANEX board provided a number of features - an add-on to TANBUG called EXBUG, extra [[RAM]], [[Read-only_memory | ROM]] sockets, a couple of [[6522]] [[Peripheral_Interface_Adapter | PIA]]'s, and a [[6551]] [[UART]]. At [[Reset]], TANBUG looks at the connected [[Input/output | I/O]], and enables various features ([[Computer_printer | Printer]], [[UART]] comms, [[Compact_audio_cassette | Cassette]] etc). Incorporating EXBUG into the system was
* [http://oric.free.fr/microtan.html Fabrice Frances' website] – includes a Microtan 65 [[emulator]] written in [[Java (programming language)|Java]]
automatic.
* [https://www.binarydinosaurs.co.uk/Museum/Tangerine/microtan65-box.php Binary Dinosaurs] – tracing the history of computers
* [http://www.microtan.ukpc.net www.microtan.ukpc.net ] – manuals, ROM images, magazine and newsletter articles
Without a TANEX board, and due to deliberately ambiguous address decoding, the address $F7F7 would appear to the [[6502]] to have the same data as $FFF7. In TANBUG, this is a jump to an internal monitor routine. With TANEX installed, $F7F7 is decoded properly, and that address is an entry point into
* [http://www.personalcomputernews.co.uk/pcna/html/026/personal_computer_news_026_hardware_microtan_65.html Personal Computer News: Back From The Brink ] – A new look at the Microtan 65—a DIY micro that narrowly escaped extinction
EXBUG. EXBUG provided features such as [[Compact_audio_cassette | cassette tape]] loading and saving, a simple [[assembler]] / [[disassembler]], [[Hexadecimal | hex]] calculator.
* {{Cite news
|title=The Oric-1 is 30
The [[Read-only_memory | ROM]] sockets on TANEX could be used to run a 12K [[BASIC]], a two pass [[assembler]], or even (and more likely given the hardware bias of the M65) code written for a specific hardware control application.
|url=https://www.theregister.co.uk/2013/01/28/the_oric_1_is_30_years_old/
|date=28 Jan 2013
|author=Tony Smith
|journal=[[The Register]]
}}
 
[[Category:6502-based home computers]]
[[Category:Computers designed in the United Kingdom]]
[[Category:Home computers]]
[[Category:Early microcomputers]]
[[Category:Computer-related introductions in 1979]]
[[Category:Tangerine Computer Systems]]