PERSEUS-9 2023 Update

New developments in planetary position calculation applications and external PROM modules for PERSEUS-9.

Similar projects worth following
The PERSEUS-9 dual 6502 CPU mobile computer was announced in July 2022. The following new developments made since then until July 2023 are summarized in this project.
1. Application software ( Planet position calculation program )
2. Peripherals ( External PROM Module EXTROM-2, PROM programmer )
The housing, CPU, LED character display module, and other components of the PERSEUS-9 mainframe have not been changed as described in the project PERSEUS-9 homemade mobile 6502 computer posted in 2022. As a result of the new developments described here, the PERSEUS-9 system is now capable of storing and executing multiple applications independently. As for applications, It was challenged of calculating the positions of astronomical objects that make heavy use of built-in trigonometric functions with a home-made floating-point interpreter. It is made possible to realize that, overall, scientific and technical calculations of the 1970s could be performed as they were in those days.

1. Application software

1-1. Planet position calculation program

    I have made an application program for PERSEUS-9 to determine the coordinate positions of the planet's geocentric distance and right ascension and declination on any given day from orbital elements such as the planet's mean longitude, longitude of perihelion, longitude of ascending node, inclination, semi-major axis, and eccentricity [2]. The eccentric anomaly was calculated from the mean anomaly by iterative approximation of the Kepler’s equation [1]. Based on the obtained eccentric anomaly, then orbital vector constants were obtained, and the coordinates of the celestial body from the center of the sun were obtained. This is then converted to a right ascension and longitude coordinate system from the earth center. Here, we need to make extensive use of trigonometric functions, so we can confirm that the trigonometric functions of our home-made floating-point interpreter are implemented correctly. The language specification of this interpreter and the algorithm for generating the elementary functions are described in another project Homemade Floating Point Interpreter for 6502.

    The program created is CALC_PLANET_POSITION_02_5_3.TXT. The parameters such as orbital elements of celestial bodies are set up to 440 lines, and the approximate computation of Kepler's equation is from 465 to 504 lines. The calculation of orbital vectors is from 593 to 720 lines. In the program description, ‘)S’ is the sine function and ‘)C’ is the cosine function. The calculation of the coordinates of the center of the sun is in lines 790 to 850, and the calculation of the coordinates of the center of the earth in lines 890 to 1030. The target object to be calculated is Saturn, and the position on December 27, 2022 is calculated. The result of running this program is shown in Fig. 1; the Julian day corresponding to December 27, 2022 is 2459941. According to published data [2], the geocentric distance = 10.48 au (astronomical unit), right ascension = 21 h 38.9 m, and declination = -15 deg 23 arcmin, the error in the calculation results in Fig. 1 is less than 1 arcmin.

Fig. 1 Example of calculation of planetary positions by Kepler's equation approximation (Saturn, December 27, 2022)

    I also modified the orbital elements of this program and performed calculations for Mars, Jupiter, Uranus, Neptune, and the asteroid 2023BU. The calculation errors against the published position coordinates [2] were 12 arcimin for Mars, 1 arcmin for Jupiter, 2 arcmin for Uranus and 14 arcmin for Neptune so I thought that the calculations were sufficiently correct. The execution of this program is shown in Video 1 below.

Video 1  Execution of the application software for calculating the position of the planet.  (There is no audio commentary, so please turn on the subtitles.)

    Asteroid 2023BU, which made an approach into proximity to the Earth on January 27, 2023, was calculated with CALC_PLANET_POSITION_2023BU_6.TXT with the orbital elements published NASA JPL Small-Body Database Lookup. In this calculation, using the orbital elements after the closest approach, so the date of closest approach result was off by one day. The distance to the center of the earth also became a value of about 34,000 km. This is probably because the influence of the gravity of the earth is not included in the calculation.

2.  Peripherals

2-1. External PROM Module EXTROM-2

    The homemade floating-point interpreter CI-2, which is the system program for PERSEUS-9, does not currently have a program filing function. The only way to switch between multiple application software programs without reprogramming is to load the text data of the application software programs stored on a PC connected to the serial interface. Although this method is practical enough since text data can be edited using a text...

Read more »


Planetary position calculation application program

Adobe Portable Document Format - 19.47 kB - 08/02/2023 at 08:00



Asteroid 2023BU position calculation application program

Adobe Portable Document Format - 18.69 kB - 08/02/2023 at 07:59



All built-in function evaluation application program

Adobe Portable Document Format - 11.47 kB - 08/02/2023 at 07:58



Natural logarithm function evaluation application program

Adobe Portable Document Format - 15.23 kB - 08/02/2023 at 07:57



Poisson distribution application program

Adobe Portable Document Format - 11.45 kB - 08/02/2023 at 07:57


View all 9 files

  • PERSEUS-9 2023 Update log

    Mitsuru Yamada08/02/2023 at 23:44 0 comments

    1. The article was first posted on Aug. 02, 2023.

    2. Revised on Aug. 04, 2023.

        Added description of PROM programmer data and address setting method in chapter 2-2.

        Added calculation errors against published data for Uranus and Neptune in chapter 1-1.

View project log

Enjoy this project?



brian4120 wrote 08/07/2023 at 16:07 point

I absolutely love the design of this. I took a look at the HCMS-2972 and WOW the price per unit is high! Hopefully you picked these up for a good price.

Also I like the keycaps you are using. Are they 3d printed or an off the shelf part? Also are they labeled by hand?

  Are you sure? yes | no

Mitsuru Yamada wrote 08/08/2023 at 06:18 point

Thank you for your comment. I used HCMS-2912 for the character display in order to achieve the design I envisioned for the entire system, including the housing, keyboard, and display. The price has now doubled since I bought it. It is difficult to compare the cost and effort, but it was more difficult to create the machine language source for the floating point interpreter by myself than the cost of the display. The keycaps are the ones that come with the switch DS660RCW. The letters are printed on transparent tape with a stationery label writer and pasted by hand.

  Are you sure? yes | no

Smeef wrote 08/03/2023 at 20:24 point

I am in awe of your knowledge and creativity. Both the form and the function of this device is inspiring!

  Are you sure? yes | no

Mitsuru Yamada wrote 08/03/2023 at 23:48 point

Thank you for your comment! The recent evolution of computer technology in the world is wonderful, but on the other hand, I feel that something that existed about 45 years ago has been lost. I am trying to reproduce it again.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates