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 editor on the PC, I felt that...
Read more »
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?