Auch 2015 immer noch:   Neues von BasiCode

 

AC1-Bascoder für Dateiarbeit erweitert

 

Startbildschirm von BasiCode auf dem DDR-Selbstbau-Computer AC1 (c) Frank Heyder

Startbildschirm von BasiCode auf dem DDR-Selbstbau-Computer AC1   © Frank Heyder

 

Im August erreichte mich über den betreffenden Bereich unserer JUAG-Homepage eine Anfrage zu BasiCode. Rolf Weidlich, ein Nutzer des DDR-Selbstbau Computers AC1, hatte sich vorgenommen, den Bascoder dieses Computers um die dort bisher noch nicht vorhandenen Routinen zur Arbeit mit sequentiellen Dateien (K71/85f) zu erweitern und wollte sich dafür noch über ein paar Details vergewissern. Nach ein paar Mails hin und her konnte er auch schon sehr schnell den Erfolg präsentieren.

Der AC1 (Amateur-Computer 1) ist ein vom Amateurfunker Dipl.-Ing. Frank Heyder entwickelter Computer, der 1983/84 in der DDR-Zeitschrift „Funkamateur“ der Öffentlichkeit vorgestellt wurde und auch eine beachtliche Verbreitung erreichte. Der anvisierte Verwendungszweck des Computers, dessen Urversion fast so spartanisch wie der ZX81 ist, war zwar der Amateurfunk, aber man achtete von Anfang an auf Erweiterungsfähigkeit bis zur CP/M-Tauglichkeit und sogar darüber hinaus (siehe Übersicht weiter unten).

Von unseren gemeinsamen Treffen mit dem Spectrum & SAM Proficlub kennen wir den ZX Spectrum, aber auch den ZX81 in recht unterschiedlichen Varianten, was Monitore, Tastaturen und Massenspeicher betrifft. Aber beim AC1 beginnen die Unterschiede schon beim Computer selbst: sogar für das Gehäuse mußte man selbst eine Lösung finden, das konnte eine zweckentfremdete Schublade sein oder ein professionell wirkendes Gehäuse mit Einschüben wie beim später gängigen Tower-PC. Die gleiche Vielfalt herrscht bei Tastaturen, von umfunktionierten Weichenstellern der Modelleisenbahn über Eigenbau aus Telefontasten, eine Schreibmaschinentastatur oder ein C64-Chassis bis zu „normalen“ PS2-Tastaturen des IBM-Kompatiblen gibt es nichts, was es nicht gibt.

Nicht nur die Hardware stellte vor Herausforderungen – auch die Software konnte damals nicht einfach so aus dem Internet heruntergeladen werden. Zunächst mußte man sie aus dem "Funkamateur" abtippen, später gab es "Musterkassetten" des AC1-Klubs Berlin. Herr Weidlich erinnert sich „... ich bin damals selber mal nach Berlin zu solch einer "Kopierveranstaltung" im "Haus des Radioklubs der DDR" gefahren". Die User tauschten die Kassetten auch untereinander aus und heute ist natürlich das www der Verbreitungsweg. Ausdrücklich erwähnt Herr Weidlich den „SCCH (Studio-Computer-Club Halle), dem wir einige tolle Programme und auch Hardware-Erweiterungen verdanken".

Über die ursprünglichen und zwischenzeitlich erreichten Daten des AC1 hat mir Herr Weidlich eine Übersicht zukommen lassen:

Eckdaten "AC1" "Ur-AC1" (1984) Modern ("AC1-2010")
ROM 2 kB Betriebssystem,
2 kB Mini-BASIC
4 kB Betriebssystem,
ROM-Bank, ROM-Disk bis 1 MB
RAM 2 kB Bildwilderholspeicher
2 kB Nutzer (davon 256 Byte Betriebssystem-Arbeitszellen)
2 kB Bildwilderholspeicher
62 kB Nutzer/Betriebssystem
RAM-Disk 256 kB/512 kB
Speicheradressen 0000h...0FFFh = ROM (System)
1000h...17FFh = RAM (BWS)
1800h...18FFh = RAM (System)
1900h...1FFFh = RAM (Nutzer)
2000h... unbelegt
0000h...0FFFh = ROM (System)
oder AM (bei CP/M)
1000h...17FFh = RAM (BWS)
1800h...18FFh = RAM (System)
1900h...0FFFFh= RAM (Nutzer)
Peripherieadressen 00h...03h = CTC
04h...07h = PIO(System/Nutzer)
00h...03h = CTC
04h...07h = System-PIO
08h...0Bh = Nutzer-PIO
0Ch...0Fh = Steuerung ROM-Bank
10h...1Fh = Steuerung ROM/RAM u.a.
40h...48h = FDC
80h...8Fh = GIDE/RTC
E0h...E7h = RAM-Floppy
FCh...FFh= USB
Bildschirm 64 Zeichen, 16 Zeilen 64 Zeichen, 32 Zeilen
Pixelgrafik nein mit Zusatzbaugruppe ("Vollgrafik")
256x256 Pixel, aber nur monochrom
Farben monochrom mit Zusatzbaugruppe, Vordergrund und Hintergrund jeweils neben schwarz 7 Farben in 2 Helligkeitsstufen, dann aber keine Pixelgrafik
Sound 1 Kanal (Hörkapsel, "Piepser") 1 Kanal, Rechtecksignal
ca. 240 Hz bis 20 KHz
Massenspeicher Tonband Tonband, Diskette, Festplatte/SSD/CF (per GIDE), USB-Stick
Anschlüsse Systembus herausgeführt Tonband (in/out)
BAS und HF (Modulator)
Eigenbau-Tastatur über PIO
V.24, PIO (2x 8Bit universal),
USB (BOMS),
Joystick,
PS/2-Tastatur

Zwischen beiden Extremen liegen zahlreiche Varianten...

Quelle: http://www.ac1-info.de/

Man erkennt, wie bei anderen Heimcomputern auch gab es im Laufe der Jahre Weiterentwicklungen - wer wollte abstreiten, daß die Arbeit mit Disketten oder gar USB-Sticks bequemer ist als das Hantieren mit Musikkassetten? Die neue Version des AC1-Bascoders geht von einer vorhandenen USB-Erweiterung aus.

Interna: Da das verwendete AC1-BASIC keine OPEN-, PRINT#- und INPUT#-Anweisungen besitzt, erfolgte die Realisierung der Unterprogramme komplett in Maschinencode. Die Systemzeilen 500-580 enthalten daher nur die entsprechenden CALLs:

500 IN=0:CALL*2010:RETURN
540 IN$="":CALL*2016:RETURN
560 CALL*2019:RETURN
580 CALL*201C:RETURN

Die CALLs lesen und schreiben die BASICODE-Variablen NF, NF$, IN$ und IN direkt aus dem Maschinencode heraus. Die Angabe von IN bzw. IN$ in den Zeilen 500 und 540 ist nur nötig, damit die beiden Variablen ordnungsgemäß initialisiert und so auch gefunden werden können (NF, NF$ und SR$ werden vor dem GOSUB benutzt und sind daher schon "vorhanden").

Erstellt: Rolf Weidlich, Stand: August 2015

Anmerkung: Der Entwickler von BACOBAS 2.1, Frank Heyder, wurde hinsichtlich meiner Weiterentwicklungen informiert. Bislang liegen keine Rückinformationen bzw. Einwände seinerseits vor.

 

 

Thomas Rademacher  //  August 2015

Hier geht's zum Download: BACOBAS v3 und KC85 Token-zu-Text-Konverter