Page Index
- Main Source directory - All the software visible in one place.
- Tools - The various software and tools we use in this project.
- SC Software -
- Host & XPRESS Compiler -
- COMM-Link Software -
- PIC & Mini-Link software -
- HCS II FPGA software -
- HCS_C Software -
- HCS_C Development environment -
- HCS_C Hardware -
- 2nd Generation COMM-Links -
- Other software -
- Full Index - Full index of all the available software on this site.
- HCS II SC Source code - this is a temporary section until I'm done with cleanup (I merged the Tools & Software pages).
- HCS II SC Source Links - this is a temporary section until I'm done with cleanup (I merged the Tools & Software pages).
Software & Tools
Note: Some of the source files are not yet available (I'm still working on it).
The original development environment for the HCS II was DOS and goes back to 1985! Quite an effort was put in to pull together all the tools that were used to build the HCS II, the COMM-Links and the DOS application. Luckily we somehow managed to find and purchase almost all the tools we needed to support the HCS II.
Today we have a more flexible choice in our development enviroment. Most of the tools we need can be replaced by Open Source tools or run under DOS emulator (for Linux x86) or a command line (under Windows). For other OS's there are project like DOSBox to emulate a DOS environment.
The HCS II's XPRESS compiler was written in C and used Borland's Turbo C 2.0 or Boland C 2.0 (sorry I can't remember which one is the correct one). Borland has been kind enough to allow people to download these tools free so we can still build the compiler (try this link). Thank you Borland!. Also we put some effort into making it more portable so that it compiles correctly under the GNU compiler.
The HCS II's Host program (a DOS GUI) was also written in C but has not been ported to the GNU compiler because of the use of Borland/DOS specific libraries not found under Unix (Window placement & mouse routines).
HCS II SC software
The HCS II SC's firware was written in Z180 assembly language and we put quite an effort into moving it over to work properly under AS.
- AS a macro assembler. It comes with the sources and has binaries for DOS and Windows. This is currently the assembler I'm using to assemble the source code. I'm using the Beta release. The reason I chose this one is that it supports macros. This makes the HCS source code much easier to understand.
- V2.00 source
- V2.11 source
- V3.01 source
- V3.02 source
- V3.5x source
- V3.60a source - source code for use with the Zilog Z180 (can be used with the S180 but the extra features of the processor will not be turn on .
- V3.61 source
- V3.62 source
- V3.62a source
- V3.63 source
- V3.64 source
- V4.00 source
- V4.01 source - source code for use with the Zilog S180 upgrade to the HCS II. Do not use this version with the Z180.
- OSMACRO.ASM - RTOS macros
- PORTS.LIB - port equates
HCS II Host & XPRESS Compile software
DOS Host software, WINHost and JHost
- Borland Turbo C Compiler - This actually takes you to Borland's museum where you can download the compiler. This was used with the original Host. Compile seems to work fine with almost any C compiler.
- Open WATCOM C/C++ Compiler - Open Watcom is a joint effort between SciTech Software Inc, Sybase®, and the Open Source development community to maintain and enhance the Sybase Watcom C/C++ and Fortran compiler products. Plans for Open Watcom include porting the compiler to the Linux and FreeBSD platforms, as well as updating the compilers to support the latest C and C++ ANSI standards. I intend to use this compiler for WINHCS (what I'm calling WINHOST).
- Make - a DOS comand line make
- Compile - HCS II XPRESS compiler source.
- Host - DOS Host V4.00 source.
- WINHost - Windows Host source
- JHost - Java Host source.
COMM-Link software
Ed Nisley wrote the firmware for the 8051 based COMM-Links in C. The C compiler he used is still produced and can be purchased at Dunfield Development Systems.
- PL-Link source code
- DIO-Link source code
- ADIO-Link source code
- MCIR-Link source code
- HCS-Voice source code
- HCS-DTMF source code
- All the COMM-Links - Ed Nisley's collection of all the COMM-Link files
Here's the SDCC C compiler for the Z80, 8031/8051 family of chips, the AVR and PIC 14 bit processors. When it comes to programming nothing beats a high level language for getting it started quickly. No effort has been made to port the COMM-Link code over to SDCC yet.
PIC & Mini-Link software
During Mike Baptiste's reign he put forth quite a few useful replacements for the COMM-Links, based on Microchip's flash PIC family of processors. Mike has been gracious enough to open the code as Open Source. All the code is in C and uses the C compiler from CCS.
HCS II FPGA software
Robert Morris did a 3 part article (Circuit Cellar March 2003 #152 - May 2003 #154)on upgrading the HCS II with an FPGA & XPRESS V5.0
- morrison154.ZIP - code and sample upgrade events.
HCS_C software
With the HCS_C we are trying to stick to Open Source software (ECOS, gcc, g++, gdb etc.) so that we don't have to spend a whole lot of money on the tools (most of the money required is going into the hardware which is not free). Even the JTAG debugging interface is cheap by using the simple design found on Bob Morrison's web page. Make sure you get GCC V3.2.1 or better as we're going to need to make use of the -mthumb (ARM's 16 bit instructions) for size of the code. More links to follow on how to compile your own GNU environment. Windows users please be sure to download the Cygwin enviroment.
HCS_C Development environment
OK, this gets a bit complex (to say the least) since the HCS_C Supervisory Controller (SC) is made up of the ARM cpu and FPGA (and various memory and I/O). The entire HCS_C system is made up of the SC, I/O, networked modules and a PC to act as a GUI. This requires quite a bit of software to create the entire system and some of it is inherited from the original HCS II.
Here is the currently list of software we expect to use:
- Eclipse IDE
- CDT, C/C++ Development plugin for Eclipse
- ARM GNU GCC (includes the compiler and GDB)
- Macraigor's JTAG interface
- Altera's Quartus II Web Edition Software (FPGA compiler)
Here's a list of the software used to develope the Host, the XPRESS Compiler, the HCS II and the comm-links:
- Borland 3.0 C/C++ compiler
- Dunfield's Micro-C compiler(dk51)
- CCS PIC C compiler
- ASL, Z180 assembler/linker
- Java for use with jHost & jCompile. Please be sure to use 1.4.0.2 or better.
- WATCOM C/C++ compiler
- GNU C/C++ compiler
- MINGW - Minimalist GNU for Windows
- Cygwin - Linux-like environment for Windows
This is not to say that others can't develop with different tools or languages. These are more guidelines to make the transition of getting started easier. As you can see above there is a lot of software and trying to stay compatible is difficult (but not impossible).
Hopefully I'll have complete packages and instructions to use what we need from above.
HCS_C hardware
Bob Morrison has put a lot of time an effort into the HCS II.V (based on the Zilog Z380 which they discontinued, argh!) and the HCS_C. All the information about how to go about building the HCS_C can be found on Bob's Zeta Engineering site. I'll make an effort to clean up his pages so that they're more presentable. What his pages lack in beauty bis hardware more than makes up for.
2nd Generation COMM-Links
No work has yet begun on the second generation COMM-Links. What we want to see is high speed COMM-Links with a new protocol to support a few more features. This generation is still connected via the RS485 network. We'd like to see the 3rd generation COMM-Links be TCP/IP attached but that's get way in front of ourselves.
- Nothing to see here, move along, move along ... ;-)
Other software
Initially we didn't have all the source code to the SC's firmware and needed to disassemble the code and comment it by hand. After doing this Mike Baptiste was able to find the source code to the latest 3.6x code. Some more work needs to be done on the 4.00 code but having the original code was a major step forward! This is the disassembler used to do the initial work.
- Z80/Z180/HD64180 disassembler - A very good disassembler but the code output is not directly compatible with the Baldwin assembler or the ASL assembler. For now, corrections by hand are necessary.
- JAL programming language - Jal is a high-level language for a number of Microchip PIC (16c84, 16f84, 12c508, 12c509, 16F877, etc.) and Ubicom SX (SX18 and SX28) microcontrollers. Wouter van Ooijen created Jal because he did not like any of the low-cost (or free) languages for these chips and implementing a high level language looked like a nice project. Implementing an existing HLL seemed more difficult and less fun than creating my own, so I just started writing the compiler and the language evolved on with it.
Full Software Index
Here's the full index to all the software on these pages:
Source Code Links
Vesion 4.00 - for SC's with the S180 upgrade processor.
- HCS 4.00 assembly language source (.zip) (.tgz) - this is the source file for generating the SC's ROM image. It was assembled with AS (see tools links).
- HCS 4.01 hex - this is the intel hex file for burning the SC's ROM image.
- Compile 4.10 C source - This is the C source to the XPRESS Language compiler.
- Compile 4.01 EXE - This is the DOS executable for the XPRESS Language compiler.
- Host 4.01 C source - This is the C source to the Host interface program.
- Host v4.01 EXE - This is the DOS executable for the Host interface program. The exe file runs under DOS, Win 3.1, Win95/98, WinME and Win2K (?) (in a DOS shell) and under Linux (under DOS emulation).
- 4.00 Floppy package - everything you'd need in one place. Contains: Host.exe, Compile.exe, & hcsII.hex
Version 3.60 - for SC's with the default Z180 processor.
- HCS 3.60 assembly language source (.zip) (.tgz) - this is the source file for generating the SC's ROM image. It was assembled with AS (see tools links).
- HCS 3.60 hex - this is the intel hex file for burning the SC's ROM image.
- Compile 3.60 C source - This is the source to the XPRESS Language compiler.
- Compile v3.64 EXE - This is the DOS executable for the XPRESS Language compiler.
- Host 3.60 C source - This is the C source to the Host interface program.
- Host 3.60 EXE - This is the DOS executable for the Host interface program. The exe file runs under DOS, Win 3.1, Win95/98, WinME and Win2K (?) (in a DOS shell) and under Linux (under DOS emulation).
- 3.64 Floppy package - everything you'd need in one place. Contains: Host.exe, Compile.exe, & hcsII.hex
Source Code Links
Vesion 4.00 - for SC's with the S180 upgrade processor.
- HCS 4.00 assembly language source (.zip) (.tgz) - this is the source file for generating the SC's ROM image. It was assembled with AS (see tools links).
- HCS 4.01 hex - this is the intel hex file for burning the SC's ROM image.
- Compile 4.10 C source - This is the C source to the XPRESS Language compiler.
- Compile 4.01 EXE - This is the DOS executable for the XPRESS Language compiler.
- Host 4.01 C source - This is the C source to the Host interface program.
- Host v4.01 EXE - This is the DOS executable for the Host interface program. The exe file runs under DOS, Win 3.1, Win95/98, WinME and Win2K (?) (in a DOS shell) and under Linux (under DOS emulation).
- 4.00 Floppy package - everything you'd need in one place. Contains: Host.exe, Compile.exe, & hcsII.hex
Version 3.60 - for SC's with the default Z180 processor.
- HCS 3.60 assembly language source (.zip) (.tgz) - this is the source file for generating the SC's ROM image. It was assembled with AS (see tools links).
- HCS 3.60 hex - this is the intel hex file for burning the SC's ROM image.
- Compile 3.60 C source - This is the source to the XPRESS Language compiler.
- Compile v3.64 EXE - This is the DOS executable for the XPRESS Language compiler.
- Host 3.60 C source - This is the C source to the Host interface program.
- Host 3.60 EXE - This is the DOS executable for the Host interface program. The exe file runs under DOS, Win 3.1, Win95/98, WinME and Win2K (?) (in a DOS shell) and under Linux (under DOS emulation).
- 3.64 Floppy package - everything you'd need in one place. Contains: Host.exe, Compile.exe, PDF manual & hcsII.hex
For further info email me at: ncherry@users.sourceforge.net.