Difference between revisions of "Sierra 68000 C Compiler"

From Sega Retro

Line 21: Line 21:
 
In a collaborative venture with [[Motorola]], [[Sierra Systems]] released in 1993 the  '''''Sierra 68306 Development Board'''''{{intref|Press release: 1993-09-27 : MOTOROLA AND SIERRA SYSTEMS ANNOUNCE AVAILABILITY OF COMPLETE HARDWARE/SOFTWARE SOLUTION FOR 68306 DESIGN}}, a complete PC-based development system which included a ''68306'' cpu card , a ''68306'' configuration utility , the '''''Sierra 68000 C Compiler''''' and the '''''QuickFix''''' debugger. The ''68306'' microprocessor includes many of the features common to ''68000'' and ''68EC000'' ( a low-cost version of the [[M68000]] used in the [[Sega Saturn]] as the Sound CPU) based designs and is comprised of the ''EC000'' core processor.
 
In a collaborative venture with [[Motorola]], [[Sierra Systems]] released in 1993 the  '''''Sierra 68306 Development Board'''''{{intref|Press release: 1993-09-27 : MOTOROLA AND SIERRA SYSTEMS ANNOUNCE AVAILABILITY OF COMPLETE HARDWARE/SOFTWARE SOLUTION FOR 68306 DESIGN}}, a complete PC-based development system which included a ''68306'' cpu card , a ''68306'' configuration utility , the '''''Sierra 68000 C Compiler''''' and the '''''QuickFix''''' debugger. The ''68306'' microprocessor includes many of the features common to ''68000'' and ''68EC000'' ( a low-cost version of the [[M68000]] used in the [[Sega Saturn]] as the Sound CPU) based designs and is comprised of the ''EC000'' core processor.
  
In 1999, the '''''Sierra 68000 C Compiler''''' was licensed to and included by [[Texas Instruments]] in their '''TI-89''' and '''TI-92 Plus'''{{fileref|TI-89 - TI-92 Plus Sierra C Assembler Reference Manual (Texas Instruments).pdf}} graphing calculators Software Development Kit. This version was modified by Texas Instruments under Sierra Systems license to support, only, the 68000 processor and TI BCD (Binary-coded decimal{{ref|https://en.wikipedia.org/wiki/Binary-coded_decimal}}) floating-point numbers and support for other processors and coprocessors was removed.
+
In 1999, the '''''Sierra 68000 C Compiler''''' was licensed to and included by [[Texas Instruments]] in their '''TI-89''' and '''TI-92 Plus'''{{fileref|TI-89 - TI-92 Plus Sierra C Assembler Reference Manual (Texas Instruments).pdf}} graphing calculators [https://web.archive.org/web/20080727180142/http://education.ti.com/educationportal/downloadcenter/SoftwareDetail.do?website=US&appId=178 Software Development Kit]. This version was modified by Texas Instruments under Sierra Systems license to support, only, the 68000 processor and TI BCD (Binary-coded decimal{{ref|https://en.wikipedia.org/wiki/Binary-coded_decimal}}) floating-point numbers and support for other processors and coprocessors was removed.
  
 
==Sierra C Tools Functions==
 
==Sierra C Tools Functions==

Revision as of 04:49, 12 December 2017

n/a

Sierra 68000 C Compiler Graphical User Interface(Alt).png

Sierra 68000 C Compiler
Developer:
Release Date RRP Code
IBM PC compatibles
US
$2,0002,000[1] CC010 (Cross Products ref Nº)

This short article is in need of work. You can help Sega Retro by adding to it.


The Sierra 68000 C Compiler[2] is a MS-DOS software-based PC hosted C cross-compiler, developed by Sierra Systems and released in 1987, for the Motorola 68000 Family microprocessors, composed by a 68000 C compiler (com68), assembler and macro assembler (asm68/asm68K), linker (link68), librarian (lib68), up/down loader (both serial and parallel), symbol table name utility (nm68), object file size utility (size68) and a high end C source level debugger called QuickFix. It was largely used in the early 90's in 68000-based applications ranging from navigational systems to printer applications and video games (the Sega Channel BIOS and the Western Technologies Genesis Development Card[3] firmware, were both programmed with the Sierra 68000 C Compiler) and was licensed to and included by Sega in their Sega Mega Drive Development Kit sold to Third-Party video game development companies (listed in old Cross Products Price lists[4], which was, at the time, part of Sega). It contains several key features such as highly optimized code, rapid compilation times, ROMable code, position independent and reentrant code generation and support for resident libraries, fragmented address space and IEEE floating point[5] format.

The Sierra 68000 C Compiler comes with several compiler drivers which intelligently examine the command line, sort the input files by suffix, and then call the various tools (compiler, assembler, linker, etc) as needed to create a linked executable. The drivers accept certain switches and translate them into comparable switches needed for each tool.

QuickFix[6] debugger key features includes a window-based user interface, continuously updated windows, full C expression evaluation and versatile stepping capabilities including source and machine-level stepping. The debugger retains descriptions of all symbols and types defined in the source code, including templates for aggregate types, typedefs and all variables. These symbols can be combined into arbitrarily complex C expressions accepted by a wide range of QuickFix commands. As a result, QuickFix is extremely intuitive for C language programmers. In most development environments, QuickFix eliminates the need for in-circuit emulators, thus reducing development costs.

A special parallel download/upload capability is possible through the use of an optional proprietary ROM communication cable provided with the QuickFix debugger, which once connected to the printer port of the host computer and plugged under a EPROM on the target board allows for "blazing fast" downloads.

In a collaborative venture with Motorola, Sierra Systems released in 1993 the Sierra 68306 Development Board[7], a complete PC-based development system which included a 68306 cpu card , a 68306 configuration utility , the Sierra 68000 C Compiler and the QuickFix debugger. The 68306 microprocessor includes many of the features common to 68000 and 68EC000 ( a low-cost version of the M68000 used in the Sega Saturn as the Sound CPU) based designs and is comprised of the EC000 core processor.

In 1999, the Sierra 68000 C Compiler was licensed to and included by Texas Instruments in their TI-89 and TI-92 Plus[8] graphing calculators Software Development Kit. This version was modified by Texas Instruments under Sierra Systems license to support, only, the 68000 processor and TI BCD (Binary-coded decimal[9]) floating-point numbers and support for other processors and coprocessors was removed.

Sierra C Tools Functions

Tool Description
com68 Converts C language statements into 68000 assembly code. It generates highly efficient code and supports ROMable and position-independent code generation for the 68000.The C compiler, com68, was developed by Sierra Systems to support certain Motorola processors and coprocessors and IEEE format floating-point numbers.
asm68/asm68k The assembler asm68 was designed to assemble source files generated by the Sierra 68000 C compiler, com68. The second assembler asm68k was designed to assemble code written for the M68000 Resident Structured Assembler[10]. Its directive set has been extended to offer many of the features provided by asm68, while remaining compatible with code written for the Motorola assembler. Either assembler can be used to develop assembly language programs and assemble source files generated by the Sierra 68000 C compiler. They both support the entire Motorola 68000 instructions and modes. The main difference between the two assemblers, other than syntax, is that asm68k provides macro support and structured control facilities whereas asm68 does not.
link68 Combines object files to create an executable output file. Loads standard library files searching for the specified library in the directories specified by the environment. If the environment variable lib68 is defined, each of the directories it specifies is added to the search path. In conjunction with asm68 provides an option called relocation hole compression[1] which can be used to shrink oversized holes thus reducing the size of a program.
nm68 The nm68 utility displays the symbol table embedded in a 68000 COFF object file, as well as information on the file header, section headers, relocation entries, and line number entries.
size68 The size68 utility takes Sierra Systems object files as arguments and prints size and address information on each file and its sections.

Patents

Promotional material

Expression error: Unexpected < operator. File:Embedded Systems Programming 01.pdf

PDF
<div style="width:Expression error: Unexpected < operator.px; padding-left:2px; padding-top:5px; padding-right:2px;"> Print advert in Embedded Systems Programming magazine, Volume 1 issue 01, November 1988

Expression error: Unexpected < operator. File:Circuit Cellar INK US 046.pdf

PDF
<div style="width:Expression error: Unexpected < operator.px; padding-left:2px; padding-top:5px; padding-right:2px;"> Print advert for the Sierra 68306 Development Board in Circuit Cellar INK Magazine issue 46, May 1994

References