New Compustar Firmware

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.

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).
Version 1.80
  1. Fixed a small bug in the RA calculation when an object database was selected (thanks to Tom Sorbel for finding it!)
  2. Fixed a spurious log output (if enabled) done during the BEGIN procedure
Version 1.90
  1. Fixed a bug in 32K code that made SCAN/LOOK restart from the begin everytime ABORT was used
  2. Fixed stack usage that could (at least theoretically) cause overflows and system malfunctions.
  3. Improved DOME frame serial output (see Compustar output for Dome support)
  4. Fixed NSEW buttons not working in PC mode when tracking has been halted
  5. Fixed Declination (pulse) guide rate which was not as reported

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
Version 1.80
  1. Dome support (see Compustar output for Dome support for more information)
  2. New DISP/SCOPE/REV output to show also the telescope model (C8 or C14), the database used and the EPROM size
  3. Added a key in all OPT menus to “reset” the option to their default values (OPT-BEGIN, OPT-8-BEGIN, OPT-9-BEGIN)
  4. 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.
Version 1.90
  1. 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)
  2. Due to 1., SET/SCOPE COORDS is now SET/SCOPE/COORDS
  3. Added SLEW/ALIGN to force DOME Alignment (64K EPROM only)
  4. 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

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-7 enables/disables dome synchronization.
  8. 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.
  9. 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.
  10. OPT-8-2 and OPT-8-3 are dome related options and their meaning is left to the dome controller implementation
  11. OPT-8-4 enables the automatic dome synchronization during BEGIN and stops this synchonization during END
  12. OPT-8-5 enables new Tom Sorbel’s acceleration ramp
  13. 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-71.801=Dome is required to be in sync with the telescope
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-21.80Dome controller option
OPT-8-31.80Dome controller option
OPT-8-41.80"Auto Dome". If set, OPT-7 will be set during BEGIN, and cleared during END
OPT-8-51.801=Use a different motor ramp table to accelerate (made by Tom Sorbel, used both for RA and DEC).
0=Use standard ramp table
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! 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:

FilenameCompustar TelescopeDatabaseEPROM typeASCOM/DOME supportChecksum
C8_190_32K-1986.binC8198627C256 (32K)NO0x0886
C8_190_64K-1986.binC8198627C512 (64K)YES0x2374
C14_190_32K-1986.binC11/C14198627C256 (32K)NO0x0865
C14_190_64K-1986.binC11/C14198627C512 (64K)YES0x2353
C8_190_32K-Normal.binC8Y2K+Normal27C256 (32K)NO0x3B97
C8_190_64K-Normal.binC8Y2K+Normal27C512 (64K)YES0x5685
C14_190_32K-Normal.binC11/C14Y2K+Normal27C256 (32K)NO0x3B76
C14_190_64K-Normal.binC11/C14Y2K+Normal27C512 (64K)YES0x5664
C8_190_32K-Alt.binC8Y2K+Alt27C256 (32K)NO0xDCA9
C8_190_64K-Alt.binC8Y2K+Alt27C512 (64K)YES0xF418
C14_190_32K-Alt.binC11/C14Y2K+Alt27C256 (32K)NO0xDC88
C14_190_64K-Alt.binC11/C14Y2K+Alt27C512 (64K)YES0xF3F7

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.

14 commenti

Vai al modulo dei commenti

    • Tom Sorbel il March 30, 2017 alle 18:37
    • Rispondi

    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 il May 25, 2018 alle 19:54
      • Rispondi

      Do you have available ePROM for the Compustar 8

    • Tom Sorbel il May 2, 2017 alle 19:24
    • Rispondi

    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 il September 14, 2017 alle 21:52
    • Rispondi

    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

    • Jess Jellen il February 15, 2022 alle 21:52
    • Rispondi

    I have a Compustar 8 that I would like to run from my computer. Can you tell me the difference between the Y2K+Normal and the Y2K+Alt database versions? Or, what Normal and Alt mean?

    1. Hi!

      Y2K-Normal and Y2K-Alt are two different database EPROMs made by Tom Sorbel to update the object database (not the Compustar code).
      The difference between them is something about using the TIRION label to indicate different things (maybe using TIRION to indicate new objects, I don’t remember).

      For the reason I don’t have the license to redistribute Tom Sorbel’s EPROMs (and for other reasons too) you will find just the code eeprom here and therefore you will have to use the correct
      code eprom for the object database you have.
      Tom Sorbel is planning to release a new version of his EPROMs with my updated code. You could check in the Compustar user group (celestroncompustar-user) on groups.io

      If you plan on using the Compustar via a PC, you will probably use some planetarium software to drive the telescope, and therefore the database in use is of little importance.

      Ciao
      Angelo

    • Jess Jellen il February 18, 2022 alle 21:18
    • Rispondi

    Thank you very much for clearing that up for me.

    Have a great day,

    Jess

  1. Dear Angelo,

    I just found your website almost by accident. Had I been looking, I am sure I would have found it much earlier. I had no expectation that anyone would be keeping the venerable Compustar current, electronically, in software and database. I congratulate and thank you for your efforts and philanthropy.

    In 1986, Mike Simmonds, brought the first pre-production prototype Compustar 14 to Arkaroola Wilderness Sanctuary. I believe, Celestron at that time needed convincing the system would work in both hemispheres. That week with the Compustar and Mike was something I will never forget. Around 1990 or a little later, we acquired that same Compustar 14 and it worked flawlessly until the computer system was replaced by a OnStep system around 2019. A bit like outstanding electronics in space, it had operated up to around 200 night per year. Simply amazing and it hadn’t failed.

    I still love the Compustar’s simplicity of operation and now plan to do your electronic, software and database upgrades, including ASCOM! If you have any guidance for stepper driver/power supply upgrades to go with it, that would also be wonderful.

    I wish to sincerely thank you for your expertise, passion and philanthropy.

    Doug Sprigg.
    Arkaroola Wilderness Sanctuary
    South Australia
    Australia

    • Gary Totten il October 11, 2023 alle 08:24
    • Rispondi

    Dear Angelo,
    Has Tom Sorbel released a 64K eprom with your updated code to handle the compustar 8″ with a windows 10 computer? Would love to set my Compustar up with that and the non volatile memory and clock in the empty socket. Could I buy these from you or Tom?
    Thanks
    Gary Totten
    Claremont, California
    gtotten@earthlink.net

    1. Hi Gary,

      I think he has, but you can ask him in the Compustar user group on groups.io (https://groups.io/g/celestroncompustar-user).

      I’m personally not actively selling them, especially abroad, since shipping fees from Italy are pretty high.

      Hope this helps.

      Ciao
      Angelo

Leave a Reply to Steve Martenuk Cancel reply

Il tuo indirizzo email non sarà pubblicato.