Zum Inhalt springen

Locator-Rechner mit Weltkarte für den C64

Die Frage war: Was könnte man für Amateurfunk zum Spaß für den C64 bauen. Der Locator-Rechner war ein Experiment wert.

Wie weit ist die Gegenstation, und wohin zeigt die Antenne? Moderne Logprogramme beantworten das nebenbei. Auf dem C64 geht es auch – in BASIC V2, mit etwas Trigonometrie und einer Weltkarte aus PETSCII-Blockzeichen.

Funktionen

Das Programm verarbeitet Maidenhead-Locatoren mit 4, 6 oder 8 Stellen, sowie Koordinaten in Dezimalgrad. Es berechnet Entfernung, Azimut, Gegenpeilung und langen Weg und rechnet zwischen Locator und Koordinaten in beide Richtungen um. Aktuell ist mein Standort JO31jf voreingestellt, aber im Menü änderbar.

Nach jeder Berechnung lässt sich eine Weltkarte aufrufen, die den kurzen Großkreisweg zwischen beiden Stationen zeigt. Auf Tastendruck kommt der lange Weg hinzu.

Die Rechnung

Ein Locator beschreibt ein Rechteck. Das Programm zerlegt ihn in Feld, Quadrat und Unterfeld und rechnet auf dessen Mitte. Entfernung und Richtung ergeben sich aus der Kugelgeometrie mit dem mittleren Erdradius von 6371 km. Da BASIC V2 weder Arkuskosinus, noch einen Arkustangens mit Quadrantenkorrektur kennt, werden beide aus ATN und SQR zusammengesetzt.

Referenzwerte ab JO31jf:

ZielEntfernungAzimut
IO91WM (London)481,0 km276,6°
FN31PR (Connecticut)5875,0 km293,0°
RE78IR (Wellington)18573,4 km44,5°

Die Weltkarte

Der PETSCII-Zeichensatz enthält Viertelblöcke, die zusammen mit der Reversdarstellung alle 16 Muster eines 2 × 2-Rasters abdecken. So verdoppelt sich die Auflösung des Textbildschirms effektiv auf 80 × 48 Zeichen. Grundlage sind die gemeinfreien Küstenlinien von Natural Earth, lauflängenkodiert in 23 DATA-Zeilen.

Den Großkreis zeichnet das Programm in 2°-Schritten. Sinus und Kosinus werden dabei per Drehungsrekursion fortgeschrieben statt neu berechnet – in BASIC V2 eine spürbare Zeitersparnis.

Eine Bildschirmzelle umfasst 9° Länge und 7,5° Breite. Nahe den Polen kann der Pfad deshalb Lücken zeigen, und über Land verdeckt er die Küstenlinie der jeweiligen Zelle.

Laden und starten

load "locator.prg",8
run

Koordinaten werden mit Dezimalpunkt eingegeben, da BASIC das Komma als Trennzeichen versteht.

Fazit

Ein paar Winkelfunktionen, eine saubere Zerlegung des Locators und etwas Kreativität beim Zeichensatz genügen, um dem C64 einen brauchbaren Funkhelfer beizubringen.

Hier gibt es das Programm auch zum -> Download <-

73 de DO6SJR