Difference between revisions of "Sierra 68000 C Compiler"
From Sega Retro
Line 11: | Line 11: | ||
}} | }} | ||
}} | }} | ||
− | {{stub}}The '''''{{PAGENAME}}'''''{{fileref|Dr. Dobb's Journal US 162.pdf|page=88}} 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'''), macro assembler ('''asm68/asm68K'''), linker ('''link68'''), librarian ('''lib68'''), up/down loader (both serial and parallel) 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]]{{ref|http://www.smspower.org/forums/files/segadev_front_785.jpg}} 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{{fileref|Cross Products Export Price List - May 1995.pdf|page=3}}, 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 format. | + | {{stub}}The '''''{{PAGENAME}}'''''{{fileref|Dr. Dobb's Journal US 162.pdf|page=88}} 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]]{{ref|http://www.smspower.org/forums/files/segadev_front_785.jpg}} 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{{fileref|Cross Products Export Price List - May 1995.pdf|page=3}}, 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 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. | 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. | ||
Line 20: | Line 20: | ||
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. | ||
+ | |||
+ | |||
+ | ==Sierra C Tools Functions== | ||
+ | {|class="prettytable" | ||
+ | !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. 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. In conjunction with '''asm68''' provides an option called ''relocation hole compression'' which can be used to shrink oversized holes thus reducing the size of a program. If the environment variable '''lib68''' is defined, each of the directories it specifies is added to the search path. | ||
+ | |- | ||
+ | | '''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== | ==Patents== |
Revision as of 05:29, 29 November 2017
Sierra 68000 C Compiler | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Developer: Sierra Systems, Larry Rosenthal | ||||||||||
|
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 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[5] 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[6], 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.
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. 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. In conjunction with asm68 provides an option called relocation hole compression which can be used to shrink oversized holes thus reducing the size of a program. If the environment variable lib68 is defined, each of the directories it specifies is added to the search path. |
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
Expression error: Unexpected < operator. File:Circuit Cellar INK US 046.pdf
References
- ↑ Press release: 1993-02-01: Sierra Systems Upgrades Sierra C Compiler
- ↑ File:Dr. Dobb's Journal US 162.pdf, page 88
- ↑ http://www.smspower.org/forums/files/segadev_front_785.jpg
- ↑ File:Cross Products Export Price List - May 1995.pdf, page 3
- ↑ Press release: 1991-03-01: Source Level Symbolic Debugger
- ↑ Press release: 1993-09-27 : MOTOROLA AND SIERRA SYSTEMS ANNOUNCE AVAILABILITY OF COMPLETE HARDWARE/SOFTWARE SOLUTION FOR 68306 DESIGN