Update 27th December, 2017:new version 1.70!
Update 29th March 2018: new version 1.71!
Update 19th December 2018: new version 1.80!
Update 28th November 2019: new version 1.90!
One of the reasons that made me write the Compustar Emulator (see here for the full post) was that I wanted to make changes and improve the Compustar firmware, both because I had a few modifications in mind and because I wanted to simplify how we use our Compustar at the “Osservatorio Città di Legnano“.
Already knowing the 8051 assembly (the Intel 8051 being the Compustar microprocessor) made things easier for me, but I had anyway to go through a lengthy (and funny, at least for myself) analysis process to understand how the original firmware worked and where I could change it to implement all the ideas I wanted to add (like supporting a real time clock addon chip to avoid to have to enter the date every single time).
The firmware I’m now releasing is based on the original Compustar firmware and therefore it is using the original 1986 Compustar Catalog, but it obviously accepts years from 2000 on. I started numbering these release from 1.60 because it is the result of multiple intermediate versions (made in the last few years and which I’m not releasing).
Version 1.70 adds and fixes a few things, but the main news is an updated RS232 protocol which enables ASCOM support, with the help of a driver on the PC! See this post for the full story. Unfortunately, I could not fit this updated protocol in the standard 32KBytes EPROM, and therefore a larger 64K EPROM (and a small hardware modification) is required for the ASCOM support to run. I’ve released 32KBytes firmwares anyway, in case you don’t need ASCOM support but you want everything else.
Version 1.71 fixes a small bug and adds EPROMs with Tom Sorbel’s Y2K-Normal and Y2K-Alt databases. I want also thank Tom Sorbel for giving me the authorization to publish these versions.
Version 1.80 adds support for a dome controller, fixes a few bugs here and there and adds a new acceleration ramp designed by Tom Sorbel (Thanks!)
Version 1.90 fixes a few bugs, improves dome support, add a new menu to support display dimming and generates an hardware signal when the telescope is moving in SLEW speed.
There are lots of changes/fixes/news in these firmwares, and simply listing them all will make for a messy list. I’m therefore dividing this list in sections, hoping to make things better.
- Fixed “Last Day of February” bug. (If date rolled over from the last day of February to the first day of March, due to a Hex 28 used instead of a decimal one, the day becomes 29 Feb, or 30 Feb for leap years).
- Fixed Timer bug (was increasing high byte of clock instead of high byte of timer, so the timer was corrupting the clock after 6553.5 seconds)
- Fixed DISP/TIMEDATE that was leaving RA/DEC indicators displayed
- Added the possibility to perfom an ABORT during the slew to the selected reference star while doing the BEGIN/ALIGN procedure.
- SET/TIMEDATE (and therefore also BEGIN, since the same routine is used) can now input a year starting from year 2000
- Doing SLEW/OBJECT after SLEW/COORDS no longer apply atmospheric refraction again (it was already applied to target coords by SLEW/COORDS)
- SET/EPOCH input function has been rewritten, allowing to input a year from 1900 to 2100 included. As a side note, this epoch (the one set with SET/EPOCH) is used when doing SLEW/COORDS. When doing a slew to a database object, the database epoch is automatically used (but the current epoch is NOT changed).
- SET/EPOCH clears the screen before asking for the new epoch.
- Fixed spurious OPT-0/OPT-1 operation during boot. These were present with the original firmware too, but they were not an issue because you were not able to boot with these options enabled. Now, if you have installed an NVRAM, they may be so.
- Fixed default options (default options had OPT-9-6 enabled by default and it shoudn’t)
- Fixed Lunar tracking speed, which I somehow messed up. Now it’s 14.539 arcsec/s
- Key “-” is no longer highlighted in the OPT menu (where it has no use)
- Fixed ABORT labels highlight during and after the END procedure
- Speed and UP/DOWN indicators are correctly displayed if you exit the END procedure (previously, there were left off)
- Fixed (again) default options (default options had OPT-3 and OPT-5 enabled by default and it shoudn’t).
- Fixed a small bug in the RA calculation when an object database was selected (thanks to Tom Sorbel for finding it!)
- Fixed a spurious log output (if enabled) done during the BEGIN procedure
- Fixed a bug in 32K code that made SCAN/LOOK restart from the begin everytime ABORT was used
- Fixed stack usage that could (at least theoretically) cause overflows and system malfunctions.
- Improved DOME frame serial output (see Compustar output for Dome support)
- Fixed NSEW buttons not working in PC mode when tracking has been halted
- Fixed Declination (pulse) guide rate which was not as reported
- Default site is now Legnano (351 05, 45 36 N, sorry)
- Shortened bootup blinking
- Firmware revision is shown at boot
- Firmware revision can also be shown with DISP/SCOPE/REV
- Added DISP/SCOPE/EPOCH to show current Epoch (the one set with SET/EPOCH).
- SET/SCOPECOORDS/OBJ is no longer same as SYNC, but sets the current object to the current telescope coordinates (same as doing a SLEW/COORDS to current telescope coordinates). Useful to “mark” a place, move around, and going back with SLEW/OBJ
- Screen is partially cleared after an ABORT, trying not to leave confusing informations displayed. I’m not completely sure whether this fix is really useful and functional, though.
- When a CNGC object which happens to be also a Messier object is displayed, the Compustar shows both the “M” and the “CNGC” indicators to the left of the (CNGC) object number. It is now possible to display the Messier number too, using DISP/OBJECT/M
- When a Messier object is displayed (there is only the “M” indicator and the number is 1 to 110), it is now possible to display the corresponding CNGC number, using DISP/OBJECT/CNGC
- Added display of (uncalibrated, so it is approximate!) battery voltage together with the firmware revision in DISP/SCOPE/REV
- When aligning the scope during the BEGIN function, (when there are both the ALIGN and OBJ indicators flashing on the keyboard), the original code had both ABORTs, BACK and the ENTER keys enabled on the keyboard but both BACK and ENTER did actually an ENTER. Now the BACK key is gone and in addition there is the SPEED key allowing you to toggle the speed between SET and SLEW.
- Added C8 firmware versions.
- Print the observing log header during boot if the OPT-0 option is enabled (and an NVRAM makes it enabled at boot!)
- At the end of the END procedure (when the parking slew has been completed) “PARKED” will be shown on the Compustar display
- Added a specific sound (something like beeep-beeep-beeep) at the end of a slew.
- Added PC mode/ASCOM support protocol on RS232 (see “An ASCOM driver for the Celestron Compustar”, here. For 64K EPROMs only)
- Thanks to Tom Sorbel, I’ve added the EPROMs with both the Y2K-Normal and Y2K-Alt databases
- Dome support (see Compustar output for Dome support for more information)
- New DISP/SCOPE/REV output to show also the telescope model (C8 or C14), the database used and the EPROM size
- Added a key in all OPT menus to “reset” the option to their default values (OPT-BEGIN, OPT-8-BEGIN, OPT-9-BEGIN)
- Changed how the DISP/SCOPE/ALT-AZ is output. Instead of displaying altitude and azimuth just once, they are continously updated as long as you stay in that menu. Press ABORT to exit.
- Added new menu SET/SCOPE/DISP to temporary blank the screen (SET/SCOPE/DISP/ALL, then press any key to resume) or reduce the screen brightness (SET/SCOPE/DISP/REV toggles between normal and reduced brightness, SET/SCOPE/DISP/0 or SET/SCOPE/DISP/1 sets the display brightness to normal or reduced)
- Due to 1., SET/SCOPE COORDS is now SET/SCOPE/COORDS
- Added SLEW/ALIGN to force DOME Alignment (64K EPROM only)
- Pin 3 of CN1 (the connector from the Compustar to the Power Box) reports when the telescope is moving at SLEW speeds (Low=normal speeds or not moving, High=at least one axis is moving at SLEW speed). This signal can be used with a modified Power Box to change the motor power supply voltage
- Modified OPT-0 logging option: now date is output with a 4-digit year and an header will be printed when OPT-0 is activated.
- Added OPT-2 to log time and date with separators to make them more readable: (yyyy-mm-dd hh:mm:ss instead of yyyymmddhhmmss). Note that this option will make the log line longer than 80 characters.
- OPT-3 disables Site Longitude/Latitude input in the BEGIN function.
- OPT-4 disables Date/Time input in the BEGIN function.
- OPT-5 displays the Bayer Name instead of the magnitudo for the 100 reference stars (REF 1 to REF 100)
- OPT-6 enables/disables ASCOM support.
- OPT-7 enables/disables dome synchronization.
- OPT-8-6 limits the RA speed to 50% of the maximum RA speed. This can be useful to avoid motor stalls if the telescope is not well balanced.
- OPT-8-7 limits the DEC speed to 50% of the maximum DEC speed. This can be useful to avoid motor stalls if the telescope is not well balanced.
- OPT-8-2 and OPT-8-3 are dome related options and their meaning is left to the dome controller implementation
- OPT-8-4 enables the automatic dome synchronization during BEGIN and stops this synchonization during END
- OPT-8-5 enables new Tom Sorbel’s acceleration ramp
- OPT-8-0 and OPT-8-1 select the tracking speed. See the table below. Note that when a non-sidereal tracking speed is selected, the READY label will flash.
Tracking speed selection
|Sidereal speed (normal Compustar tracking speed)
|Lunar (really approximated!), updated in revision 1.70
For the reason behind OPT-3 and OPT-4, see the next section!
Hardware update: a non volatile memory AND real time clock for the Compustar
This firmware supports a non volatile memory and real time clock installed in a free socket in the Compustar!!! The non volatile memory will allow this firmware to save what you have configured (options, location) and keep them configured even when you power the Compustar off.
The real time clock will allow you to set the clock once (using either BEGIN or SET/TIMEDATE) and have it already set.
For the installation procedure of the required chip, please refer to the Hardware modifications for the Celestron Compustar page, here.
With this IC installed in the Compustar, you can have a faster startup procedure (really useful for fixed installation): activate OPT-3, OPT-4 and OPT-9-6 (the standard option to skip polar align in begin) and then you can begin with the simple reference star slew and sync (with BEGIN). You can also leave OPT-3 and OPT-4 as default and start with ALIGN instead of BEGIN.
Updated options reference
|Observing log: 1=Active
|Ask for observing log comment: 1=Active. See note below.
|Date/Time formatting in observing log: 0=Compact, 1=Readable (but the line is longer than 80 chars)
|0=Ask, 1=Don't Ask for Site Longitude/Latitude in the BEGIN function
|0=Ask, 1=Don't Ask for Date/Time in the BEGIN function
|For the 100 REF stars: 0=Display Magnitudo, 1=Display BAYER name
|0=ASCOM support disabled, 1=ASCOM support enabled.
|1=Dome is required to be in sync with the telescope
|0=Sidereal tracking rate, 1=Tracking rate set by OPT-8-1
|0=Solar tracking rate, 1=Approximate Lunar tracking rate
|Dome controller option
|Dome controller option
|"Auto Dome". If set, OPT-7 will be set during BEGIN, and cleared during END
|1=Use a different motor ramp table to accelerate (made by Tom Sorbel, used both for RA and DEC).
0=Use standard ramp table
|0=RA speed up to maximum value, 1=limit RA speed to 50% of maximum speed
|0=DEC speed up to maximum value, 1=limit DEC speed to 50% of maximum speed
|Ratio in RA: 0=360:1, 1=720:1
|Ratio in DEC: 0=216:1, 1=432:1
|0=Park Folded, 1=Park unfolded
|0=Park N/S, 1=Park Horizontal
|0=RA Motor normal, 1=RA Motor Reverse
|0=DEC Motor normal, 1=DEC Motor Reverse
|1=Skip Pole star align in Begin
A few notes about these options:
- I’ve never found OPT-1 documented. The description above is what I’ve found by looking at the code. The reason for not being documented may be that this numerical input is also shown when the Compustar is doing internal slews that may not be obvious to the user, for example during boot and during the BEGIN, ALIGN or END procedures.
- I have found OPT-9-7 documented as “0=Fork mounting, 1=German mounting”, but the firmware does not ever read this bit.
- You can light up (almost) all the display by doing DISP/SCOPE/ALTAZ and then OPT/<the key between 0 and ENTER>. This works with the original firmware too! This changed with version 1.80, the key to do this is the one right to the ‘5’ (without any label lit) and there is no longer the need to do DISP/SCOPE/ALTAZ beforehand.
- OPT-6 and OPT-7 cannot be enabled on 32KBytes firmwares.
- (version 1.80+) All OPT menus enable the BEGIN key which resets those options to the factory default (in case you messed up and you have an NVRAM)
Experimenting this firmware with the Compustar Emulator
Before programming an EPROM to install this new firmware in a real Compustar, you can try it in the Compustar Emulator.
Simply download the file (below) to some folder, unzip it, start the emulator and load this firmware in place of the original one by selecting (in the emulator!) the Options menu and then Settings. The settings dialog will open, click the button to the right of the “Code (A)” textbox and locate the file you have just unzipped.
You may also simulate an installed NVRAM/Clock chip by checking the “Enable DS1643 (Socket D)” option.
If you want to try 64KBytes EPROMs, you should check the “Enable 64Kbytes code eprom” option.
Click OK, and then restart the Compustar (to load the new firmware) with the Options menu and then “Reset Compustar”.
You will see the firmware starting like the original firmware you know, but with the addition of the number “1.60” (the firmware revision) in the lower left part of the display.
The first thing I suggest to try is to activate OPT-5 and display some star data, for example Schedar (REF 4, Alpha Cassiopeiae) by doing DISP/REF/4/ENTER (you can skip the BEGIN procedure since we are not dealing with the real Compustar, so it’s not a problem). You will see that the Compustar will tell you that the star is ALP CAS (ALPha CASsiopeiae).
Another thing that you can try is this: slew to RA 10h00 and DEC 70 00 deg (SLEW/COORDS/10 00 0/ENTER/70 00/ENTER) and wait for the slew to finish. Let’s assume you see something in the eyepiece and therefore you press FIELD to make the compustar find what it is. The compustar says it is CNGC 3034, but it also lights the “M” indicator to tell you it’s a Messier object (see image on the left). With this new firmware, you may also ask what Messier object it is: press ABORT to exit from the FIELD menu, and then press DISP/OBJ/M. The compustar will tell you it is M82!
Note: this may not work if you have set the compustar in a location where M82 is not visible.
The new firmware
This new Compustar firmware now supports both the original 1986 database and Tom Sorbel’s Y2K update database. Select the firmware for the database you have installed. I have no plan, so far, to update the database myself.
In the ZIP archive you download you will find 12 different files:
Note: 64K EPROMs requires additional modifications to the Compustar Hardware. Please refer to “Hardware modifications for the Celestron Compustar”, here.
After having downloaded the file, you must unzip it and program a blank 32K EPROM (27C256) or 64K EPROM (27C512) with this new firmware and replace the topmost EPROM IC (the one farther from the DB9 joystick connectors). You should leave the other 2 EPROMs (which contains the database) as they are.