New Compustar Firmware

Update 27th December, 2017:new version 1.70!
Update 29th March 2018: new version 1.71!

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.

There are lots of changes/fixes/news in this firmware, and simply listing them all will make for a messy list. I’m therefore dividing this list in sections, hoping to make things better.

Fixes

Version 1.60
  1. 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).
  2. 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)
  3. Fixed DISP/TIMEDATE that was leaving RA/DEC indicators displayed
  4. Added the possibility to perfom an ABORT during the slew to the selected reference star while doing the BEGIN/ALIGN procedure.
  5. SET/TIMEDATE (and therefore also BEGIN, since the same routine is used) can now input a year starting from year 2000
  6. Doing SLEW/OBJECT after SLEW/COORDS no longer apply atmospheric refraction again (it was already applied to target coords by SLEW/COORDS)
  7. 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).
  8. SET/EPOCH clears the screen before asking for the new epoch.
Version 1.70
  1. 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.
  2. Fixed default options (default options had OPT-9-6 enabled by default and it shoudn’t)
  3. Fixed Lunar tracking speed, which I somehow messed up. Now it’s 14.539 arcsec/s
  4. Key “-” is no longer highlighted in the OPT menu (where it has no use)
  5. Fixed ABORT labels highlight during and after the END procedure
  6. Speed and UP/DOWN indicators are correctly displayed if you exit the END procedure (previously, there were left off)
Version 1.71
  1. Fixed (again) default options (default options had OPT-3 and OPT-5 enabled by default and it shoudn’t).

Misc modifications

Version 1.60
  1. Default site is now Legnano (351 05, 45 36 N, sorry)
  2. Shortened bootup blinking
  3. Firmware revision is shown at boot
  4. Firmware revision can also be shown with DISP/SCOPE/REV
  5. Added DISP/SCOPE/EPOCH to show current Epoch (the one set with SET/EPOCH).
  6. 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
  7. 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.
  8. 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
  9. 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
  10. Added display of (uncalibrated, so it is approximate!) battery voltage together with the firmware revision in DISP/SCOPE/REV
  11. 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.
Version 1.70
  1. Added C8 firmware versions.
  2. Print the observing log header during boot if the OPT-0 option is enabled (and an NVRAM makes it enabled at boot!)
  3. At the end of the END procedure (when the parking slew has been completed) “PARKED” will be shown on the Compustar display
  4. Added a specific sound (something like beeep-beeep-beeep) at the end of a slew.
  5. Added PC mode/ASCOM support protocol on RS232 (see “An ASCOM driver for the Celestron Compustar”, here. For 64K EPROMs only)
Version 1.71
  1. Thanks to Tom Sorbel, I’ve added the EPROMs with both the Y2K-Normal and Y2K-Alt databases

Changed/Added Options

  1. 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.
  2. 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.
  3. OPT-3 disables Site Longitude/Latitude input in the BEGIN function.
  4. OPT-4 disables Date/Time input in the BEGIN function.
  5. OPT-5 displays the Bayer Name instead of the magnitudo for the 100 reference stars (REF 1 to REF 100)
  6. OPT-6 enables/disables ASCOM support.
  7. 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.
  8. 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.
  9. 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

OPT-8-0OPT-8-1Tracking speedREADY LabelComment
Not SetN/A15.041 arcsec/sSteadySidereal speed (normal Compustar tracking speed)
SETNot Set15.000 arcsec/sFlashingSolar speed
SETSET14.539 arcsec/sFlashingLunar (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

OptionAvailable fromDescription
OPT-0Original firmwareObserving log: 1=Active
OPT-1Original firmwareAsk for observing log comment: 1=Active. See note below.
OPT-21.60Date/Time formatting in observing log: 0=Compact, 1=Readable (but the line is longer than 80 chars)
OPT-31.600=Ask, 1=Don't Ask for Site Longitude/Latitude in the BEGIN function
OPT-41.600=Ask, 1=Don't Ask for Date/Time in the BEGIN function
OPT-51.60For the 100 REF stars: 0=Display Magnitudo, 1=Display BAYER name
OPT-61.700=ASCOM support disabled, 1=ASCOM support enabled.
OPT-7Unused
OPT-8-01.600=Sidereal tracking rate, 1=Tracking rate set by OPT-8-1
OPT-8-11.600=Solar tracking rate, 1=Approximate Lunar tracking rate
OPT-8-2Unused
OPT-8-3Unused
OPT-8-4Unused
OPT-8-5Unused
OPT-8-61.600=RA speed up to maximum value, 1=limit RA speed to 50% of maximum speed
OPT-8-71.600=DEC speed up to maximum value, 1=limit DEC speed to 50% of maximum speed
OPT-9-0Original firmwareRatio in RA: 0=360:1, 1=720:1
OPT-9-1Original firmwareRatio in DEC: 0=216:1, 1=432:1
OPT-9-2Original firmware0=Park Folded, 1=Park unfolded
OPT-9-3Original firmware0=Park N/S, 1=Park Horizontal
OPT-9-4Original firmware0=RA Motor normal, 1=RA Motor Reverse
OPT-9-5Original firmware0=DEC Motor normal, 1=DEC Motor Reverse
OPT-9-6Original firmware1=Skip Pole star align in Begin
OPT-9-7Unused

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!
  • OPT-6 cannot be enabled on 32KBytes firmwares.

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 datbase. 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:

FilenameCompustar TelescopeDatabaseEPROM typeASCOM supportChecksum
C8_171_32K-1986.binC8198627C256 (32K)NO0x09C1
C8_171_64K-1986.binC8198627C512 (64K)YES0x6E5C
C14_171_32K-1986.binC11/C14198627C256 (32K)NO0x09B3
C14_171_64K-1986.binC11/C14198627C512 (64K)YES0x6E4E
C8_171_32K-Normal.binC8Y2K+Normal27C256 (32K)NO0x3CBE
C8_171_64K-Normal.binC8Y2K+Normal27C512 (64K)YES0xA159
C14_171_32K-Normal.binC11/C14Y2K+Normal27C256 (32K)NO0x3CB0
C14_171_64K-Normal.binC11/C14Y2K+Normal27C512 (64K)YES0xA14B
C8_171_32K-Alt.binC8Y2K+Alt27C256 (32K)NO0xD4B8
C8_171_64K-Alt.binC8Y2K+Alt27C512 (64K)YES0x3C74
C14_171_32K-Alt.binC11/C14Y2K+Alt27C256 (32K)NO0xD4AA
C14_171_64K-Alt.binC11/C14Y2K+Alt27C512 (64K)YES0x3C66

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.

 

8 comments

Skip to comment form

    • Tom Sorbel on March 30, 2017 at 18:37
    • Reply

    Dear Angelo,

    My apologies on contacting you here like this, but my email and computer time is limited due to family matters.
    You may email me directly, but I don’t know when I will read your reply or respond to it.

    First, thank you(!) for all that you have done in upgrading the Compustar, and what you have provided and will provide to all of us.

    Second, the following is important!

    Maybe you have already performed this software change, but if not, you must! The original “PGM” software must be changed to allow the Compustar to perform from the year 2000 and beyond, due to a +1 day leap century change needed. I have tested this indoors, using the computer module, and it is verified that the software change is need. To add this 1 day calculation, you must go to address “5B95”, and change the original code from “14” to “00”.

    The original code, starting at address “5B93”, of E5 3F 14 F6 E5 3E 14 D3, will now look like E5 3F 00 F6 E5 3E 14 D3.

    Hopefully, you can make this change in your new software, if you have not already done so.

    Thanks again for all you have done.

    Tom Sorbel

    1. Dear Tom,

      First of all, I want to thank you for the excellent work you have done releasing the original Compustar Y2000 firmware. Without that firmware, I probably would never have started using a Compustar!!

      I checked the code and that change has already been implemented. The note for this change went somewhow lost when I translated and organized the original modification list I wrote in italian. Thank for posting the note, however.

      I’m sending an email too with some other details: take your time before replying.

      Besangelo

      • Steve Martenuk on May 25, 2018 at 19:54
      • Reply

      Do you have available ePROM for the Compustar 8

    • Tom Sorbel on May 2, 2017 at 19:24
    • Reply

    Dear Besangelo,

    Just a note to let you know I never received an email from you – could you resend it?

    Thank you.

    Tom

    1. Mail resent. It’s strange you didn’t receive it since I did not get a “not delivered” reply from any server. I’m sending a copy of this email using my aemfoto.it account which I normally don’t use.

      Thanks for notifying me of the problem.
      Best regards
      Angelo

    • Jason Cousins on September 14, 2017 at 21:52
    • Reply

    Trying this again…

    I would like information on how to upgrade my Compustar past Y2K

    I have a Celestron Compustar 8

    1. Hi…
      Sorry for being late, I was on vacation.
      I just came back and I’ll reply to you in the next few days.

      Best regards
      Angelo

    2. Hi

      I have no experience of the Compustar with a C8 telescope. I have a C14 and from what I understand the C11 and the C14 are quite similar, but the C8 is different.
      You could ask in the Compustar group on Yahoo (https://groups.yahoo.com/neo/groups/CelestronCompustar-User/info). There are several people there that can help.

      Best regards
      Angelo

Leave a Reply

Your email address will not be published.

This website stores some user agent data. These data are used to provide a more personalized experience and to track your whereabouts around our website in compliance with the European General Data Protection Regulation. If you decide to opt-out of any future tracking, a cookie will be set up in your browser to remember this choice for one year. I Agree, Deny
588