###   Projekte und Informationen rund um den KC85   ### 


Top-Themen:

  • KC als Speicheroszilloskop
  • Mauspfeiltreiber für CAOS
  • Dateibetrachter ML.COM
  • TRANSFER für MS-DOS-Disketten
  • Nachlese Clubtreffen 1995

Einleitung

von Klaus Witzenhausen

Nachdem ich durch höhere Gewalt (Deutsche Post AG), nicht mehr dazu gekommen bin, den versprochenen Beitrag (Nachlese zum Clubtreffen) rechtzeitig einzusenden, möchte ich dieses Vorwort noch zu meinem Beitrag hinzufügen.

Als erstes möchte ich einige Sätze zum letzten Vorwort sagen: Die Annahme, daß das Vorwort vielleicht nur von wenigen gelesen wird, möchte ich nicht teilen. Ich hoffe, daß ich damit einigen aus dem Herzen spreche, aber in diesen scheinbar so verpönten Zeilen steht eigentlich immer sehr viel Informatives drin.

Zu den NEWS

Nach fast 100 Seiten KC-News (4/94, 1/95, 2/95) kann man wohl sagen, daß sich bei uns mitlerweile alles eingespielt hat. Das heißt, daß wir langsam und allmählich in die Oberliga aufsteigen (professionell werden)!

Der Grund dafür liegt nach meiner Meinung bei den Mitgliedern, welche nach und nach aktiver werden und ihre Scheu ablegen. Gerade in diesem Punkt haben wir manch anderen Userclubs einiges voraus. Daran müssen wir auch weiterhin arbeiten. Also, 'ran an die Tastatur und eine persönliche Vorstellung geschrieben!

Bei uns erfolgt keine Zensur und es ist keiner fehlerfrei. Wir zählen auf Euch!!

Clubtreffen 1996 - Nummer ZWEI !

Ich würde mich bereiterklären, das nächste Treffen zu organisieren. Nach mehreren Kontakten (Gesprächen) mit dem "Herbergsvater" kann ich folgendes Angebot unterbreiten:

Clubtreffen Nr.2 vom 08.03.1996 bis 10.03.1996

Ein großer Raum für unsere Veranstaltung ist vorhanden. Wir können unsere Anlagen aufbauen (max. 6-8). Der Preis für Übernachtung und Vollverpflegung ist angenehm günstig - nur 33,00 DM! Dieser Preis setzt sich folgendermaßen zusammen:

  1. Übernachtung und Frühstück 20,00 DM
  2. Mittagessen 7,00 DM
  3. Abendessen 6,00 DM

Bettwäsche kann für 6,50 DM in der Jugendherberge ausgeliehen werden. Wer das aber nicht möchte, kann eigene Bettwäsche mitbringen. Der Preis für die Bettwäsche wird übrigens nur einmal bezahlt.

Sicherlich werden jetzt einige schon wieder stöhnen und sagen, daß es bis dahin noch viel Zeit ist. Das stimmt auch, doch unsere Herberge ist sehr gut besucht und fast immer ausgebucht. Das Wochenende wird extra für uns freigehalten!

Also ihr seht, daß die Planungen auch diesbezüglich schon wieder losgehen. Das ist erst einmal das Angebot, welches ich für unser zweites Treffen machen kann. Wenn es natürlich keine annembare Variante ist, bitte ich das umgehend mitzuteilen, weil ich dann noch rechtzeitig absagen kann.

Aber meiner Meinung nach, ist es verkehrsgünstig und kostengünstig gelegen. Wenn aber jemand noch einen besseren Vorschlag hat und diesen auch umsetzen will, dann soll er Jörg oder mich umgehend informieren! Auch unser Termin für das Treffen ist wieder in der Vorsaison wegen den oben genannten Gründen!

Wie sagte Jörg schon im letzten Vorwort? "Es ist eigentlich egal, wo das nächste Treffen stattfindet, Hauptsache ist, daß es stattfindet!"

Übrigens: Die Anmeldeformulare werden diesmal mit den nächsten KC-News (4/95) verschickt. Alles weitere könnt Ihr diesen dann entnehmen. (Selbstverständlich gibt's auch wieder eine Skizze, um unseren Treffpunkt besser zu finden!)

Computer-Flohmarkt

Die Zeitschrift bietet für unseren Club eine Chance, wieder in einer (Fach)Zeitschrift beachtet zu werden, nachdem uns der FA im Stich gelassen hat. Aufgrund dieser Tatsache und einem längeren Gespräch mit Ralf Kästner, läßt das nur einen Schluß zu:

Wir brauchen eine eigene Rubrik!

Bei anderen Rubriken geht das auch, und die haben teilweise nur eine Anzeige drin! Das müßte doch auch für uns zu schaffen sein. Einziger Nachteil, der sich kurzfristig wieder ergeben hat, ist die zweimonatige Erscheinungsweise.

Ein Wort zum Schaltungsunterlagenversand

Da es immer noch ziemlich lange dauert, bis ich Post beantworten kann, möchte ich mich an dieser Stelle bei allen entschuldigen, die immer noch auf Antwort warten und mich gleichzeitig für die unendliche Geduld bedanken.

Kontakte zu anderen Z-80 Clubs

Durch meine Doppelmitgliedschaft (KC-Club, ZX-Team) bietet sich ein Erfahrungsaustausch zwischen unseren Computerclubs an. Ich werde mich bemühen, auch dieser Aufgabe gerecht zu werden und beide Clubs über die jeweilige Entwicklung auf dem laufenden zu halten, denn es kann nur zum Nutzen aller sein.

Das soll es erst einmal von mir gewesen sein.

Viel Spaß bei der Lektüre wünscht
Klaus Witzenhausen


Diskussion zu ZAS

von Mario Leubner

Nachdem ich in den letzten KC-News meine neue Steuerschleife ZAS veröffentlicht habe, gab es Beschwerden über die Art und Weise, wie ich die Steuerschleife erweitert habe. Besonders Uwe Felgentreu hat Probleme mit seinen Programmen bekommen. Da es sich hier um Grundsatzentscheidungen handelt, will ich meinen Standpunkt dazu darlegen und zur Diskussion auffordern:

ZAS ist mit den Gedanken entstanden, allen KC-Usern ein allgemein nutzbares Paket an universell verwendbaren Routinen zur Verfügung zu stellen. Ich wollte mit ZAS auch anderen die Möglichkeiten erweiterter Zeichensätze, inverser Schrift, Fenstertechnik, Grafik und Farbe auf einfache Weise zugänglich machen.

Da ich der Meinung bin, daß nicht jeder über die erforderlichen Kenntnisse verfügt, solche "Treibersoftware" selbst zu schreiben, habe ich eine Form gewählt, die an das Konzept der Mühlhäuser Entwickler anknüpft und dazu kompatibel ist. Alle vorhandenen Programme sind weiterhin lauffähig und Erweiterungen sind jederzeit möglich. Warum sollen solche von vielen Programmen allgemein nutzbaren Funktionen nicht in einen "Gerätetreiber" wie ZAS laufen?

Jeder müßte sonst seine eigenen Routinen zusammenstellen und jedesmal neu in das Grundgerät übertragen. Dabei werden die Anwenderprogramme unnötig lang, was Diskettenkapazität, doppelten Programmieraufwand und zu kleinen TPA-Speicher bedeutet.

Die Methode, mit ZAS die Steuerschleife komplett zu ersetzen hat mehrere Gründe:

  • Die Fülle an neuen Funktionen lies eine Einbindung nach dem Prinzip der Umbiegung von Sprungadressen nicht mehr zu. Ich hätte so viele Sprünge einbauen müssen, daß fast zwei Steuerschleifen im Grundgerät vorhanden wären, die alte und für alle ersetzten Funktionen eine ersetzte. Von der Verschwendung des ohnehin knappen Speichers im Grundgerät mal abgesehen - was wäre, wenn dann jemand den OTIR-Befehl von ESC-R "umbiegt" und mein ESC-R vorher abgefangen wurde? Ich bin der Meinung, dies ist nicht der richtige Weg!

  • Wenn ich Funktionen in Programme einbinden will, von denen ich nicht genau weiß, ob es schon verschiedene Versionen gibt, kann ich nicht einfach irgendwo Sprünge einbauen! Wer garantiert mir, daß Mühlhausen nicht schon im Laufe der Zeit verschiedene EPROM's in die D004-Basis eigebaut hat? Mein D004 meldet sich bei JUMP FC FF mit Version 2.0, man kann also davon ausgehen, daß es mindestens schon mal eine Version 1.0 gegeben hat. Mit der kompletten Ersetzung bin ich auf der sicheren Seite. Ich gehe lediglich davon aus, daß die Funktionen zum Übertragen von Daten funktionieren.

Uwe Felgentreu schreibt "Der RAM von 400h bis 1100h ist TABU!", ich gehe noch einen Schritt weiter: von 400h bis 2000h hat kein Programm außer der Steuerschleife (mit ein paar Ausnahmen, siehe unten) etwas zu suchen! Dort läuft die Steuerschleife, egal welche! Schon weil keiner weiß, ob alle in Mühlhausen gebauten Floppys den selben EPROM haben, darf keine Modifikation der Steuerschleife vorgenommen werden.

Im oben genannten Bereich dürfen also weder Bytes umgepokt, noch Sprungadressen verändert werden! Wenn eine andere Steuerschleife benötigt wird, dann nur komplett ersetzen! Den Quelltext zu ZAS und dem entsprechenden Ladeprogramm gebe ich bei Interesse gern weiter, damit jeder, der sich dazu in der Lage fühlt, seine eigenen Treiber einbinden kann. Natürlich verlange ich, daß bestehende Funktionen erhalten bleiben, ansonsten bewegen wir uns wirklich "mit Lichtgeschwindigkeit auf einen inkompatiblen KC85 zu."

Nun zu den Ausnahmen, die eine Modifikation zulassen:

  • Die Tastaturtabelle mit 3*64 Tastencodes. Auf der Adresse FFB4H (KTABAD) im Koppel-RAM steht die Adresse dieser Tabelle, genutzt z.B. von den Programmen COMPUMOD.COM und TYPEMOD.COM. Auch hierbei ist es erforderlich, zuerst die Lage der Tastaturtabelle zu ermitteln, ehe die neuen Codes übertragen werden dürfen! (wegen der verschiedenen Versionen)

  • Die ESC-Tabelle mit 3*63 Bytes. Auf der Adresse FFB7H (ESCTAB) im Koppel-RAM steht die Adresse dieser Tabelle, die sich aus einem Byte für die Länge und einem Wort für die Adresse jeder Routine zusammensetzt. Mit den möglichen Funktionen ESC-41H bis ESC-7FH sind es genau 63 Einträge in dieser Tabelle. Wird eine spezielle Funktion gebraucht, kann einfach die eigene Routine in den RAM (z.B. RAM4) kopiert und in der ESC-Tabelle die Werte und die Parameteranzahl eingetragen werden und schon ist die Funktion eingebunden. Vorbildliche Programmierer tragen mindestens am Programmende die alten Werte wieder ein.

Tip! Aus der Adresse ESCTAB läßt sich übrigens auch das erste freie Byte der Steuerschleife ermitteln. Es ist zwar sehr riskant, da nirgends dokumentiert, aber die Steuerschleife (auch ZAS) endet mit der ESC-Tabelle. Addiert man also 189 Bytes zur Anfangsadresse der ESC-Tabelle, weiß man wie lang die Steuerschleife ist.

Uwe's Argumente zur Unverträglichkeit von ZAS mit anderen Programmen halten einer genaueren Betrachtung auch nicht Stand. So enthält ZAS 1.0 mit ESC-Y und ESC-Z genau die Funktionen, die er durch sein "Umpoken" von ESC-R erzeugt hat.

Die Idee zu ESC-Y und ESC-Z stammt übrigens aus Turbo-PASCAL-Routinen, die ich für Torsten Harder für "CyLogic" ZAS-tauglich gemacht habe. Und wo ist der Rest der WINDOW's-Bibliothek für Turbo-PASCAL? Wenn die Quellen mal veröffentlicht würden, wird sich sicher eine saubere Lösung im Zusammenspiel mit ZAS finden. Vielleicht gibt es sogar noch ein paar nützliche Erweiterungen von ZAS?

Mein Angebot lautet nach wie vor:

Her mit weiteren Ideen für ZAS. Der Speicher bis 2000H und der Funktionsumfang bis ESC-7fh kann ruhig ausgeschöpft werden. Und Versionsnummern für ZAS gibt es auch noch genügend! Wer unbedingt Wert auf eine Originalsteuerschleife legt, um bestimmte Aufgaben zu realisieren, der muß eben ohne ZAS arbeiten.

Ich zwinge ZAS niemandem auf! Auch habe ich mir schon überlegt, ob es sinnvoll wäre, eine Option "ZAS /OFF" beim Aufruf einzuführen, dann könnte auf einfache Weise zur Originalsteuerschleife zurückgekehrt werden.

Übrigens habe ich mit der angeblich hohen "Wahrscheinlichkeit, daß dann jemand genau diese Bytes umpoken will", bisher nur Programme von Uwe Felgentreu aufgespürt. Daß es auch anders geht, beweist sein sehr gutes Programm KCFORMAT.COM von der letzten KC-News-Diskette, das zwar für ein Formatierungsprogramm mit 26 KByte recht lang ist, dafür aber auch zwei Programme (das grafische und das mit der Kommandozeile) vereint. Ein Lob dem Programmierer!


KC 85/4 als Speicheroszilloskop

von E. Bauer

Nicht nur für den Profi-Elektroniker ist das Oszilloskop ein unentbehrliches Werkzeug, auch dem Amateur kann es gute Dienste leisten. Für ihn ist aber das Verhältnis von Preis zu Nutzungshäufigkeit recht ungünstig. Ich habe deshalb einen vorhandenen KC 85/4 mit ADU-Modul (M010) zum "Oszilloskop" gemacht.

Diskontinuierliche Messung

Erste Frage ist, inwieweit die Eigenschaften des KC die Möglichkeit des Oszilloskops bestimmen. Die Umsetzung analoger Signale in Digitalwerte erfolgt in der ADU-spezifischen Umsetzzeit. Signaländerungen in dieser Zeit können nicht erfaßt werden, d. h. Signale mit einer Frequenz oberhalb eines bestimmten Grenzwertes bildet das Oszilloskop nur "bruchstückhaft" ab! Das ADU-Modul besitzt eine Umsetzzeit zwischen 25 und 40 µs. Im weiteren wird von einem "optimistischen" Wert von 30 µs ausgegangen!

Soll eine Schwingung einer sinusförmigen Wechselspannung durch 16 Pixel dargestellt werden, dann muß diese die Periodendauer von 16*30 µs = 480 µs haben! Der obere Frequenzgrenzwert für das KC-Oszilloskop liegt also bei etwa 2 kHz, ein fast entmutigender Wert!

Arbeitsgeschwindigkeit

Der KC hat die Aufgabe, die Meßwerte vom ADU zu übernehmen und auf dem Bildschirm als Pixel im X-t-Koordinatensystem abzubilden. Hierzu sind drei Aktivitäten nötig:

Die Umrechnung des digitalen Meßwertes (X) in einen Abstandswert zur Zeit-(t)-Achse, das Setzen eines Pixels an die brechnete Stelle sowie das periodische Verschieben des gesamten Bildes. Bei einer Taktfrequenz von rund 1,75 MHz liegt die durchschnittliche Befehlsausführungszeit bei etwa 2,3 µs. Während einer Meßwertumsetzung des ADU können also 13 Maschinenbefehle abgearbeitet werden. Die Visualisierung eines Signalverlaufes ist mit 13 Befehlen unmöglich! Was nun?

Den oberen Frequenzwert wollte ich auf keinen Fall herabsetzen, um Zeit für den Bildaufbau zu gewinnen. Ein anderes Konzept mußte her!

Funktionsprinzip des KC-Oszilloskops

Da eine direkte Anzeige der Meßwerte im 30-µs-Takt unmöglich ist, werden die Meßwerte im RAM abgelegt. Der so entstehende Datensatz ist natürlich begrenzt und bedingt bei Erreichen des Datensatzendes die Unterbrechung des laufenden Meßvorganges. Anschließend werden die Meßwerte dem Datensatz entnommen und zur Visualisierung des Signalverlaufes genutzt. Das ergibt zwangsläufig ein Speicheroszilloskop!

Zum Darstellen langsamer Signalverläufe genügen Messungen in größeren Zeitabständen. Die Zeit zwischen zwei aufeinanderfolgenden Messungen, die Tastzeit, soll deshalb veränderbar sein.

Willkürlich wurden als Größtwert 10 s festgelegt und der Bereich zwischen 30 µs und 10 s Tastzeit in drei Intervalle - Sekunden, Milli- und Mikrosekunden - unterteilt. Innerhalb eines Intervalls ist die Tastzeit als ganzzahliger Wert einstellbar. Der Datensatz umfaßt etwas mehr als 2000 Meßwerte. Da diese nicht zeitgleich auf dem Bildschirm darstellbar sind, werden Meßbilder von je 192 Meßwerten ausgegeben. Der Übergang von einem zum anderen Bild erfolgt fließend. Zur Auswertung des Meßbildes werden die Möglichkeiten des KC genutzt.

Ergebnis in Stichpunkten

Tastzeit:
30 µs < Ta < 10 s
 
Datensatz:
2039 Meßwerte; normiert auf +-5 V Eingangsspannung
 
Trigger:
alternativ auf den Kanälen 2-4; Auslösen des Meßvorganges beim Überschreiten der Triggerspannung Utr (+0,1 V < Utr < +5,0 V)
 
Meßfehler:
< 10 % in allen Tastzeitintervallen
 
Ausgabe:
- auf Bildschirm: X,t-Koordinaten; X,t-Intervall numerische Werte;
- auf Kassette: Schreiben/Lesen des Datensatzes;
- mit V24-Modul auf Steckplatz 08 kann eine Hardcopy des Meßbildes über den Drucker ausgegeben werden
 
Menü:
dreistufiges Menü:
- Kalibrieren des ADU
- Messen
- Auswerten

Alle Bedienfunktionen sind über die Cursor- und Entertaste steuerbar. Die Bilder 1, 2 und 3 sind Kopien der Bildschirmausgabe - X,t-Koordinatensystem - und sollen einen Eindruck zum Menü 'Auswerten' geben. Zu erkennen sind zwei positionierbare Meßlinien, an denen die zugehörigen X- und t-Werte numerisch angezeigt werden. Die Zeitdauer eines Meßvorganges wird rechts unten mit "Tmeß" ausgewiesen.

Vorsicht - Stroboskopeffekt

Betrachtet man Bild 4, meint man, zwei Signalverläufe zu erkennen; dem ist aber nicht so! Hier wurde eine Wechselspannung von 50 Hz mit einer Tastzeit von 11 ms (etwas größer als die halbe Periodendauer) aufgenommen. Dies führt dazu, daß einem Meßwert ein nur gringfügig abweichender weiterer folgt, aber mit anderem Vorzeichen. Dabei werden Meßwerte verschiedener Perioden des Originalsignals in einer Periode der Signalabbildund dargestellt. Der so wiedergegebene Signalverlauf ist weder amplituden- noch frequenzrichtig! Alle getasteten Meßsysteme unterliegen dem Stroboskopeffekt, der sich nicht immer wie in Bild 4 zu erkennen gibt.

Zur Vermeidung dieses Effektes bin ich bisher nach folgender Methode vorgegangen:

  1. Aufnehmen eines unbekannten Signalverlaufes mit einer Tastzeit, bei der ein annähernd geschlossener Kurvenzug entsteht; Messen des zeitlichen Abstandes zwischen zwei signifikanten Werten (Signalspitzen; an periodischen Signalen: Amplituden)
  2. Wiederholen der Meßwertaufnahme mit einer größeren/kleineren Tastzeit, die kein geradzahliges Vielfaches/Kehrwert der Tastzeit der ersten Messung ist; im Kurvenzug den gleichen signifikanten Signalverlauf messen wie oben.

Sind die Meßwerte (Amplitude, zeitlicher Abstand) der beiden Messungen identisch, ist der Stroboskopeffekt auszuschließen.

(aus FA 12/92 S. 679)


Ein Mauspfeiltreiber für CAOS

von Mario Leubner

Anlehnend an die MOUSEALL-Treiber, die bereits in den KC-News 1/95 vorgestellt wurden, möchte ich heute mal zwei "echte" Mauspfeiltreiber für den KC85/4 vorstellen. Die Ideen und Programmstrukturen stammen ebenfalls wieder von Henrik Haftmann, der auf diesem Gebiet gute Vorarbeit geleistet hat. (siehe P.S. im letzten Beitrag.) Ich habe die Quelltexte bearbeitet, ein paar Schwächen beseitigt und etwas erweitert. Prinzipiell wäre es auch möglich, die Treiber für den KC85/3 umzuschreiben, wenn man bei der Spritegrafik den Bildaufbau des KC85/3 beachtet.

Die Spriteverwaltung macht eine Umlenkung aller Betriebssystemroutinen erforderlich. In den heute vorgestellten Treibern leite ich die CRT-, die KBD- und die Scroll-Routine um, ohne dabei alle Erfordernisse abgedeckt zu haben. Programmteile aus CAOS4.3 sind ebenfalls mit eingeflossen: der blinkende Strichcursor und das wählbare Cursormuster.

Zum Testen der Treiber reicht dies vorerst aus, später müssen alle Bildschirmroutinen (auch LINE, CIRCLE... ) die Maus berücksichtigen. Ich habe geplant einen Maustreiber in irgendeiner Form in ein neues CAOS einzubauen. Mit diesem Beitrag möchte ich die Diskussion eröffnen, welcher Treiber es sein soll. Ein MOUSEALL-Treiber wäre ja kein Problem, aber ich glaube ein Mauspfeil steht unserem KC besser!

Ich habe zwei Treiber geschrieben, die (fast) gleichwertig benutzt werden können. MOUSEP2 ist für die 2-Tasten-Maus (Microsoft-Modus) und MOUSEP3 für die 3-Tasten-Maus (Mouse-Systems-Modus). Beim Austesten des Treibers für die 2-Tastenmaus ist mir aufgefallen, daß die Beschreibung der Sendeworte von Henrik Haftmann noch nicht ganz korrekt ist, hier die korrigierte Aufstellung:

1. Byte: Tastenstati und Richtungsinfo

6 5 4 3 2 1 0
1 L R Y Y X X
| | | | | | + Bit 6 der X-Schrittanzahl
| | | | | + Bit 7 der X-Schrittanzahl
| | | | + Bit 6 der Y-Schrittanzahl
| | | + Bit 7 der Y-Schrittanzahl
| | + R=1 rechte Maustaste gedrückt
| + L=1 linke Maustaste gedrückt
+ 1 Kennung für erstes Byte der Übertragung

2. Byte: Schrittanzahl in X-Richtung

6 5 4 3 2 1 0
0 x x x x x x

Die Bits 0 bis 5 sind mit den Bits 0 und 1 des ersten Sendebytes zu einer 8-Bit Zahl zu ergänzen und entsprechen dann der X- Schrittzahl im Zweierkomplement, negative Zahl bedeutet von rechts nach links.

3. Byte: Schrittanzahl in Y-Richtung

6 5 4 3 2 1 0
0 y y y y y y

Die Bits 0 bis 5 sind mit den Bits 2 und 3 des ersten Sendebytes zu einer 8-Bit Zahl zu ergänzen und entsprechen dann der Y- Schrittzahl im Zweierkomplement, negative Zahl bedeutet von unten nach oben.

Nun zu den Mauspfeiltreibern

  • bis auf die Abfrage der mittleren Taste sind MOUSEP2 und MOUSEP3 in der Reaktion identisch. Der wesentliche Unterschied besteht nur in der internen Verarbeitung der Richtungsinformationen
  • beide sind wegen der vom Bildaufbau abhängigen Spritegrafik nur auf dem KC85/4 lauffähig
  • Treiber sind verschieblich, werden ab 200H geladen
  • IRM muß permanent eingeschaltet sein
  • unterstützt werden 2 Interruptquellen am ersten V.24-Modul im System
  • eine Umlenkungsroutine erlaubt das Schreiben und das Cursorblinken unter dem Mauspfeil

Anwendung

%MOUSE kanal usertaste

usertaste=0
holt bei Betätigung der rechten Maustaste den Cursor zur Mausposition, sonst wird der angegebene Tastencode emuliert

kanal
= Kanalnummer des V.24-Moduls (1 oder 2)

%MOUSE 0

Totlegen des Maustreibers

%MOUSE

Ohne Parameter
Übernahme der vorhergehenden Parameter zur Aktivierung des Maustreibers.

Belegung der Maustasten

Links
Cursor zur Mausposition holen und <ENTER> emulieren

Mitte
(nur bei MOUSEP3!)
aktuelles Zeichen unter Mauspfeilspitze zum momentanen Cursor holen (emulieren)

Rechts
Cursor zur Mausposition holen oder Code der USER-Taste

Die Mauspfeiltreiber haben am Anfang eine Sprungverteilertabelle mit folgenden Funktionen:

0200H Holen Mickey-Counter nach HL,DE (HL=x, DE=y-Koordinate)
0203H Mauspfeil wegnehmen
0206H Mauspfeil setzen
0209H Init Maustreiber entsprechend Menüwort
020CH Mauspfeil fesseln (Bewegung verbieten)
020FH Mauspfeil freigeben (Bewegung erlauben)
0212H Maustasten ausschalten (Symbol: Sanduhr)
0215H Maustasten aktivieren (Symbol: Pfeil)

Auf diese Funktionsbibliothek müßten im Idealfall alle Bildschirmroutinen zugreifen! Das Anwählen des Menüwortes %MOUSE bzw. Sprung zur Adresse 0209H aktiviert den Maustreiber und lenkt die CRT- und KBD-Routine um. Für Scrolling wird ebenfalls eine neue Routine eingetragen.

Etwas für Insider

Wem an dieser Stelle das nötige Verständnis fehlt, der kann beim nächsten Abschnitt mit dem Spielprogramm Minesweeper weitermachen...

Ich habe in einer weiteren Studie versucht, das ständige Flackern des Mauspfeiles bei der Bewegung zu beseitigen. Dazu müßte das Zeichnen der Spritegrafik in dem Augenblick erfolgen, wenn der Elektronenstrahl des Monitors das Mauspfeilsymbol gerade passiert hat. Die Zeit bis zum nächsten Elektronenstrahl dürfte ausreichen, um den Mauspfeil auf der neuen Position zu haben.

Den genauen Zeitpunkt könnte man per Interrupt aus dem Signal /BI ermitteln. /BI liegt z.B. an den Zählereingängen der CTC-Kanäle 2 und 3 des System-CTC und am PIO des Joystickmoduls. Da man nicht voraussetzen kann, daß sich ein Joystickmodul im System befindet, kann dieses nicht verwendet werden. Die beiden System-CTC-Kanäle sind jedoch auch schon belegt:

CTC2 für das Blinken der Vordergrundfarbe und die Tonlänge.
CTC3 zur Zeiterfassung der Tastatur-Interrupts.

Es ist also nicht ohne weiteres möglich, einen dieser CTC-Kanäle auch noch für die Maussteuerung zu verwenden. CTC2 läuft zwar ständig und könnte über Interrupt die Mausbewegung mitsteuern, aber dann würde die Maus nicht mehr frei beweglich sein, sondern im Blinkrhythmus springen. Oder das Blinken muß bei einer Mausbewegung im 50Hz-Takt erfolgen, was auch nicht akzeptabel ist.

CTC3 läuft, sobald die KC-Tastatur betätigt wird. Hier habe ich angesetzt mit dem Treiber MOUSEPF.KCC (nur für die 2-Tastenmaus): Er demonstriert, daß die Synchronisation mit den Bildimpulsen funktioniert, einziger Nachteil daß während der Mausbewegung eine Tastaturbedienung fehlerhafte Zeichen bringt. Wer also nicht gleichzeitig mit der einen Hand die Maus bewegt und mit der anderen auf der Tastatur schreibt, kann den Treiber MOUSEPF.KCC mal ausprobieren.

Im M003 befinden sich noch zwei freie CTC-Kanäle, die sich geradezu für die gewünschten Aufgaben anbieten. Doch leider ist auf der Anschlußleiste des M003 an der Stelle, wo sich der Kontakt B25 (Signal /BI) befinden sollte nicht einmal eine Kontaktfläche vorhanden. Somit ist es schwierig, dieses Signal an einen CTC-Zählereingang anzuschließen.

Ich habe in meinem V.24- Modul die Kontaktleiste um diesen Kontakt erweitert, dazu habe ich die Leiterplatte an der entsprechenden Stelle auf die halbe Stärke ausgefräst und von einer anderen Leiterplatte die Kontakte ebenfalls. Dieses Kontaktstück habe ich mit 2-Komponentenkleber in die M003-Leiterplatte eingesetzt. Dabei muß auf die genaue Lage geachtet werden, damit kein Schluß zu benachbarten Kontakten entsteht. Wer sich diesen Umbau jedoch zutraut, hat eine perfekte Lösung des Problems.

Der Treiber MOUSCTC.KCC ist für diese Variante und ebenfalls für die 2-Tastenmaus. Ich persönlich würde diesen Treiber bevorzugen, da die Systemeigenschaften (CTC2/3) nicht verändert werden und die bessere optische Umsetzung erreicht wird.

Minesweeper

Und nun noch eine Anwendung zum Mauspfeiltreiber, damit jeder ausprobieren kann, welcher Treiber der beste ist. Das Spiel MINESWEEPER (engl., "Minenräumer") ist bisher vielleicht als MS-WINDOWS-Spiel bekannt.

In der KC-Version ist es nur mit der Maus spielbar. Nachdem mit dem Menüwort %MOUSE der Mauspfeil bereits auf dem Bildschirm sichtbar ist, %MINESWEEPER am besten gleich mit Maus anklicken. Wird %MINESWEEPER gestartet, ohne vorher die Maus einzuschalten, nimmt es MINESWEEPER automatisch vor; der Maustreiber muß aber geladen sein! Am oberen Bildschirmrand stehen mehrere Worte, die mit der linken Maustaste angeklickt werden können:

  • Spielfeld erzeugt ein leeres Spielfeld.
  • Ende führt zurück zum CAOS.
  • Info gibt eine kurze Spielanleitung aus.
  • Minen stellt die die Anzahl der Minen ein, die ausgelegt werden.
  • BRK ist überall möglich.

Es geht darum, alle Felder mit Minen zu markieren (rechte Maustaste benutzen) und alle minenfreien Felder aufzudecken (linke Maustaste). Das Spiel beginnt, indem man ein willkürliches Feld mit der linken Maustaste anklickt. Hat man ein Feld ohne Mine aufgedeckt, erscheint eine Zahl, die darüber Auskunft gibt, wieviele der umliegenden 8 Felder (an Rand und Ecke entsprechend weniger) mit Minen belegt sind.

Daraus lassen sich Schlußfolgerungen über die Nachbarfelder treffen. Erscheint z.B eine Null, kann man getrost alle 8 Nachbarfelder aufklicken, dies übernimmt der Rechner gleich von selbst. Versehentlich mit "Mine" markierte Felder kann man mit der rechten Maustaste in Frage stellen ("?") oder die Markierung wieder entfernen (durch nochmaliges Drücken der rechten Maustaste). Klickt man 1 Feld mit Mine auf, "explodiert" sie und alle anderen, und das Spiel ist zu Ende. Falsche Markierungen werden durch grüne Minen angezeigt.

Na denn, viel Spaß mit dem allerersten richtigen Mausspiel auf KC!!

[haftmann#software]

Den Mauspfeiltreibern gebe ich alle Quelltexte mit. Dazu der Hinweis, daß die von mir gewählten Speicherbereiche für Arbeitszellen, Sprungtabellen, und Quittierung mit Bit2 (IX+8) noch nicht endgültig festgelegt sind und ich damit zur Diskussion anregen will.

Eine Reduzierung aller Arbeitszellen der Y-Positionen auf je ein Byte gestattet dann im geplanten CAOS das Auskommen mit dem Bereich von B7F0H bis B7FFH, weniger ist aber nicht machbar! Ebenso würde mich interessieren, ob es USER gibt, die mehrere V.24-Module am KC betreiben wollen. Dann müßte noch eine Modulverwaltung wie bei MOUSE2 hinzukommen, was zwar technisch machbar ist, aber auch wieder mehr Programm und weitere Arbeitszellen erfordert.

Für die V.24-Verwaltung würde ich Arbeitszellen ab A820H vorschlagen, also im Bereich der V.24-Init-Tabellen des KC85/4. In diesem Bereich müßten dann auch die Steckplätze und Portadressen der verwendeten V.24-Module und die Adressen der Interruptroutinen für COM1 bis COM4 bei der Verwendung von zwei V.24-Modulen stehen.


Software-Katalog

von Jens Neumann

Nun endlich habe ich es geschafft, der erste Schritt zur Archivierung der KC-Software des Clubs ist vollbracht. Die Archivierung der Software erfolgte mit dem Programm "FILES.PRG" von ML-Soft. Mit freundlicher Genehmigung von ML wird es auf der Programmdisk veröffentlicht.

Dieses Programm arbeitet unter der Standardsoftware REDABAS und ist voll menügesteuert, so daß keine Kenntnisse von REDABAS notwendig sind (man sollte sich trotzdem mal damit beschäftigen). Eine Kurzbeschreibung findet man in der Datei FILES.DOC (im Archiv FILE.PMA enthalten).

Nun zur erfaßten Software:

Die Grundlage der erfaßten Programme bilden die Softwarebestände von Mario Leubner und meine eigenen Programme. Alle Programme für die eine Diskettennummer angegeben ist, befinden sich in meinem Bestand und können bei mir angefordert werden.

Programme ohne Angabe der Diskettennummer existieren bei anderen Usern (ML). Ich bin dabei, den Bestand zu ergänzen. Wenn es soweit ist, erscheinen Ergänzungs-Kataloge.

Die Programme der Rubrik ZCPR-Programme wurden nicht berücksichtigt, da ich selbst kein Z-System User bin. Diese können über Jörg Linder bezogen werden (sog. "Z-Verteiler").

Die Aktualisierung der Rubrik Grafik-Bilder habe ich nach Erhalt der ersten 3 Clipart-Disketten erst einmal aufgegeben. Vielen Dank an Ralf Kästwer, aber erfassen läßt sich diese Datenmenge kaum noch.

Im Bestand befinden sich einige Programme welche, nach meinen Versuchen nicht lauffähig waren. Vielleicht habe ich auch nur einen Fehler gemacht. Einige Programme sind scheinbar im Versuchsstadium in Umlauf gebracht worden, ehe sie das Laufen lernten.

Weiterhin gibt und gab es Spaßvögel, die die Programme einfach kurzerhand umbenannt haben und mit neuem Namen in den Verkehr zurück gebracht haben. Das Ergebnis ist eine Fülle von Dopplungen. Diese zu erkennen, ist für einen Einzelnen faßt unmöglich. Ich rufe deshalb zur Mitarbeit auf.

Nun zum Versand:

Die Anforderung bei mir erfolgt mit einem frankierten Rückumschlag (Pappverstärkung nicht vergessen). Gleichzeitg sollte eine genügende Anzahl formatierter Disketten zugeschickt werden. Eventuelle Vorab- und Rücksprachen können telefonisch erfolgen.

Ich werde mich bemühen, die Bearbeitung so schnell wie möglich durchzuführen. Nur bei Kassetten-Usern wird es vielleicht auf Grund des Aufwands etwas länger dauern. Noch ein Hinweis zum Porto: Zur Zeit ist es nach Auskunft der Post noch möglich, sog. "Warensendungen" zu schicken. Der Vorteil ist das angenehme Porto von 1,80 DM. Allerdings dürfen bei diesen Sendungen nur die Disketten im Umschlag sein und kein persönliches Anschreiben. Außerdem muß sich der Umschlag zu Kontrollzwecken öffnen lassen.

Euer Diskothekar
Jens Neumann

Noch eine Anmerkung:

Wie Jens bereits festgestellt hat, ist es eine Unsitte, Dateien bzw. Programme umzubenennen und unter anderem Namen wieder in Verkehr zu bringen. Daher meine Bitte an alle: Wenn Ihr Dateien an andere User weitergebt, dann nur mit dem originalen Namen! Für den eigenen "Hausgebrauch" kann man selbstverständlich die Dateinamen nach Lust und Laune ändern (und verstümmeln), jedoch sollten diese Dateien dann nicht weitergegeben werden.

Jörg Linder


In alten FA gestöbert...

von Maik Freitag

Für alle, die den Funkamateur nicht haben und noch Ideen suchen, habe ich mal Titel von interessanten Artikeln der Jahrgänge 91/92 rausgesucht:

  • Der Drucker lernt sehen
    Beschreibung zur Erweiterung von Druckern zum Scannen. Software dazu für den KC 85/3
    [3/91]

  • COM-datei mit FSAVE
    Tool, um CAOS Dateien ohne Vorblock zu speichern
    [9/91]

  • SCREENS
    grafische Oberfläche für 85/4
    [10/91]

  • Konvert
    konvertiert Hexa <==> Dezimal, Aufruf wie Druckertreiber über SHIFT+CLEAR
    [10/91]

  • Grafik
    vervielfältigen der linken oberen Ecke auf den ganzen Bildschirm ( Hintergründe ) für 85/2/3
    [10/91]

  • Grafikdruck vom Basic
    soll Zeilenvorschub unterdrücken
    [3/92]

  • FORTH
    Erweiterung auf FORTH 83
    [3/92]

  • Kodierprogramm Basic
    zum Kodieren von Texten
    [10/92]

  • Speicheroszilloskop
    Nutzung von KC85/4 + ADU als Oszilloskop
    [12/92]

  • 256 kByte sRam-Floppy
    [1/91]

  • EPROM-Modul
    ganz einfacher Aufbau, keine Modulsteuerung
    [3/91]

  • Mausanschluß
    (jetzt aber über M003 einfacher)
    [12/91]

  • Schrittmotorsteuerung
    für Z1013, leicht auf KC übertragbar
    [10/91]

  • wie vor
    andere Variante
    [1/92]

  • Relaisausgabekarte
    für Z80
    [5/92]

  • PC-Tastatur an Z80
    einfacher Anschluß einer PC/XT (keine AT-Tastatur) an Z80 Rechner über SIO
    [5/92]

  • Floppy 1541 an Z1013
    läßt sich vielleicht auch an KC anschließen
    [6/92]

  • Helligkeitssteuerung
    am Z1013
    [8/92]

  • Temperaturmessung
    am Z1013
    [12/92]


CAOS3.1 - CAOS4.2 und deren Kompatibilität

von Mario Leubner

Ich habe jetzt die vollständigen Quelltexte der Betriebssysteme CAOS3.1, CAOS4.1, CAOS4.2 und CAOS4.3 (ohne den BASIC-ROM) vorliegen. Interessenten können sich gern bei mir melden und die Quelltexte beziehen.

Als Betriebssystemorganisator möchte ich an dieser Stelle mal ein paar Hinweise für alle Programmierer geben, die Assemblerprogramme für das Betriebssystem CAOS schreiben. Hintergrund war die Tatsache, daß Programme, die angeblich auf dem KC85/3 und dem KC85/4 lauffähig sein sollten, dann doch auf beiden Rechnern unterschiedliche Reaktionen erzeugen.

Nicht zuletzt sind auch Programme von mir davon betroffen. Hauptproblem war immer wieder, daß jeder meist nur einen Rechnertyp zur Verfügung hat auf dem er sein Programm getestet hat und die Unterschiede nirgends zu erfahren waren. Dabei ist es bei Kenntnis und Beachtung der Besonderheiten möglich, Programme zu schreiben, die auf dem KC85/3 und dem KC85/4 laufen.

Der Unterschied in der Hardware, vor allem im IRM-Aufbau der beiden Rechner dürfte eigentlich bekannt sein, ich möchte aber trotzdem damit beginnen:

Der KC85/3 besitzt einen RAM0, IRM, BASIC-ROM und CAOS-ROME. Der IRM ist in Pixel-RAM (8000H-A7FFH), COLOR-RAM (A800H-B1FFH) und VIDEO-RAM (B200H-B6FFH) unterteilt, ab B700H folgen die System-Arbeitszellen. Der Bereich von BA00H bis BFFFH ist frei nutzbar. Häufig stehen dort z.B. Treiberprogramme für Drucker oder Diskette. Alle Speicherbereiche sind normalerweise zugeschalten.

Beim KC85/4 kommt ein RAM4, RAM8 in 2 Ebenen, IRM in 4 Ebenen und der CAOS-ROMC hinzu. Der entscheidende Hardwareunterschied ist natürlich der völlig andere IRM-Aufbau des KC85/4. Für den Pixel- und Color-RAM sind zwei identische RAM-Ebenen (8000H-A7FFH) vorhanden. Dazu kommt noch, daß zwei unabhängige Bilder zur Verfügung stehen und ein HIRES-Modus eingestellt werden kann.

Der VIDEO-RAM liegt von B200H-B6FFH für Bild-0 und von AD00H-B1FFH für Bild-1. Im Bereich A800 bis ACFFH liegen weitere Arbeitszellen, z. B. die Init-Tabellen für die V.24-Software. Zugeschalten sind normalerweise der RAM0, RAM4, eine RAM8-Ebene, der IRM und der CAOS-ROME. Der BASIC-ROM und der CAOS-ROMC wird nur bei Bedarf eingeblendet. Um auf den RAM8 zugreifen zu können, muß der IRM ausgeschaltet werden.

Programme, die auf beiden Rechnern laufen sollen, dürfen den IRM nicht direkt beschreiben, oder zumindest rechnerabhängig verzweigen. Aber es gibt noch weitere Unterschiede, die beachtet werden sollten:

Programmstart über Menüworte

Beim KC85/3 ist der BASIC-ROM in der Regel eingeblendet. Soll im Bereich ab C000H z.B. ein RAM-Modul eingeblendet werden, ist der BASIC-ROM vorher abzuschalten. Den Menüworten werden die Argumente ARG1 in HL, ARG2 in DE und ARG3 in BC übergeben. Nur beim KC85/4 wird ARGN in Register A übergeben, wird dies beim KC85/3 benötigt, ist der Befehl LD A,(ARGN) zu schreiben.

IX-Arbeitsbereich

IX+1
KC85/3 - intern von der Kassettenroutine benutzt.
KC85/4 - Merker für Ausgabeport 84H.
 
IX+4
KC85/3 - intern von der Kassettenroutine benutzt.
KC85/4 - Merker für Ausgabeport 86H
 
IX+7
KC85/3 - Bit 5 und 6 sind RESET-Schutzbits, die bei einem Abbruch mit der RESET-Taste den gesamten RAM löschen.
KC85/4 - systemintern benutzt.

Interrupttabelle

Beim KC85/4 ist auf 01E2H bereits eine Interruptroutine für SIO- Interrupt eingetragen. Die für den Anwender freien Arbeitszellen sind nur noch von 01D4H bis 01E2H.

IRM-Arbeitszellen

B7B0H
Unterprogrammtabelle SUTAB
Beim KC85/4 4 Byte länger, da für V.24-Software zwei neue Unterprogramme eingeführt wurden.
 
B7B2H
"Tabelle des Stammcodes für das Bildschirmprogramm"
Mit dieser Definition in den Systemhandbüchern der KC85/3 und KC85/4 kann wohl niemand etwas anfangen. Es ist auch besser man läßt die Werte dieser Speicherzelle unverändert, denn es gibt grundlegende Unterschiede!
KC85/3 - Die Tabelle besteht aus 18 Bytes, die die definierten BS- Steuerzeichen enthalten. Die zugehörige Sprungtabelle steht im ROM und kann nicht verändert werden.
KC85/4 - Tabelle mit 32 Sprungadressen für die BS-Steuerzeichen für die Codes 00H bis 1FH.
 
B7CBH
Beim KC85/4 steht dort die Anfangsadresse des Video-RAM.
Programme, die auf beiden Rechnertypen laufen sollen, dürfen weder diese Speicherzelle benutzen noch B200H fest annehmen. Das UP DABR (32H) ist dazu da, die korrekte VRAM-Adresse zu erfragen.
 
B7DDH-B7E8H
Die Arbeitszellen, der V.24- und ESC-Programme sind nur beim KC85/4 vorhanden.
 
B7E9H-B7EFH
erst ab CAOS4.3 verfügbar, siehe dazu CAOS43.TXW.
 
B7F0H-B7FFH
reserviert für Maus-Software ab CAOS4.?

BS-Steuerzeichen

16H
CAPS-Funktion beim KC85/3 über BS-Steuerzeichen erreichbar, wirkt deshalb nur in der KDB-Routine. Beim KC85/4 wird CAPS bereits vom Tastatur-Interrupt behandelt und ist deshalb in der CRT-Routine nicht definiert.
 
18H
Der KC85/3 unterstützt die Funktion "Cursor zum Zeilenende" nur in BASIC.
 
1BH
ESC-Funktion erst bei KC85/4 unterstützt. Der KC85/3 ignoriert die ESC-Ausgabe, Zeichen nach ESC werden ausgegeben. Die Tastenkombination Shift-STOP erzeugt den STOP-Code 13H.

CAOS-Unterprogramme

INLIN 17H
CAOS3.1 - kehrt immer mit CY=1 zurück.
CAOS4.2 - kehrt immer mit CY=0 zurück.
CAOS4.3 - übergibt mit CY=1 den Abbruch durch die BRK-Taste.

Dies sollte jedoch nur für Programme angewandt werden, die nicht auf dem KC85/3 laufen sollen.
 
ZSUCH 1DH
CAOS3.1 - es werden nur vollständige Menüworte gefunden.
CAOS4.2 - stimmt Vergleichskette mit den Anfangsbuchstaben eines Menüwortes überein, wird dies ebenfalls gefunden.
CAOS4.3 - enthält die Vergleichskette Kleinbuchstaben werden auch Menüworte gefunden, die Großbuchstaben enthalten, jedoch nicht umgekehrt.
 
CUCP 25H
CAOS3.1 - Block-Cursor 8*8 Bit, bei CAPS zweifarbig.
CAOS4.2 - immer Block-Cursor 8*8 Bit.
CAOS4.3 - Block- bzw. Strich-Cursor, jenachdem ob sich auf der Cursorposition ein Zeichen befindet. Form des Block-Cursors über B7EEH wählbar.
 
MODU 26H
CAOS3.1 - interne Module 0-2 definiert. Das Modulsteuerbyte wird in Register E (statt wie im Handbuch angegeben in D!) zurückgegeben.
CAOS4.2 - interne Module 0-4 definiert. Modulsteuerbyte wird in Register D zurückgegeben.
CAOS4.3 - interne Module 0-5 definiert. Modulsteuerbyte wird in Register D zurückgegeben.
 
MODIFY 2EH
CAOS3.1 - automatischer Abbruch, wenn Adr. C000H erreicht wird.
CAOS4.x - keine Einschränkungen.
 
PADR 34H
CAOS3.1 - PA: HL = Pixeladresse, DE = Farbadresse
CAOS4.x - PA: HL = Pixel- und Farbadresse, DE unverändert

Über dieses Unterprogramm läßt sich in Programmen feststellen, ob ein KC85/3 oder ein KC85/4 vorliegt:
 
LD D,1
LD HL,0
CALL 0F003H
DB 34H
DEC D
JR Z,KC4    ;-> KC85/4, da D unverändert
DISPLAY 3BH
CAOS3.1 - PE: HL = Anfangsadr., DE = Endadr., C = Zeilenzahl.
Beim Übergang in den MODIFY-Modus ist die Einschränkung (siehe UP 2EH) zu beachten.
CAOS4.x - PE: HL = Anfangsadr., E = Zeilenzahl, C = Zeichen pro Zeile.
 
WININ 3CH
CAOS3.1 - PA: CY=0 bei Fehler in den Eingangsparametern.
Die Fensterfarbe wird weiß/blau eingestellt, WEND zeigt auf die Scroll-Routine.
CAOS4.x - PA: CY=1 bei Fehler in den Eingangsparametern.

Die Fensterfarbe und WEND-Adresse bleiben so, wie die aktuellen Werte in den IRM-Speicherzellen.
 
WINAK 3DH
CAOS3.1 - PA: CY=0 bei Fehler in den Eingangsparametern.
CAOS4.x - PA: CY=1 bei Fehler in den Eingangsparametern.
 
LINE 3EH
CAOS3.1 - VR: AF, BC, DE, HL
CAOS4.x - VR: AF, BC, DE, HL, AF', BC', DE', HL'
 
CIRCLE 3FH
CAOS3.1 - VR: AF, BC, DE, HL
CAOS4.x - VR: AF, BC, DE, HL, AF', BC', DE', HL'
 
CSTBT 42H
CAOS3.1 - negiert nur Bit 3 des BS-Steuerbytes, keine Zeichenausgabe!
CAOS4.x - Zeichenausgabe des Zeichens im Register A mit Negation von Bit 3 des BS-Steuerbytes. Bei Rückkehr ist das Bit 3 wieder zurückgestellt.

Für Programme, die auf beiden Rechnertypen laufen sollen, empfehle ich folgende Programmierung, um Steuerzeichensymbole darzustellen:
LD A,zeichen
PUSH HL
LD HL,0B7A2H
SET 3,M
CALL 0F003H
DB 24H ;OCHR
RES 3,M
POP HL
MENU 46H
CAOS3.1 - PE: HL = Beginn Suchbereich, BC = Suchlänge
CAOS4.x - Suche immer ab C000H mit Länge = 0 (bis BFFFH)

Um bei beiden Rechnern das selbe Ergebnis zu bekommen:
LD HL,0C000H
LD BC,0
CALL 0F003H
DB 46H
V24OUT 47H
CAOS3.1 - nicht vorhanden.
 
V24DUP 48H
CAOS3.1 - nicht vorhanden.


Mitgliedschaft in verschiedenen Computerclubs

von Klaus Witzenhausen und Jörg Linder

Jetzt werden sich viele Leute fragen, wie das gehen soll. Die Antwort ist eigentlich genauso einfach wie logisch:

Fast jedes Mitglied hat einen zweiten Computer, also muß er auch bedient werden können (oder wenigstens muß man ihn ab und zu mal anschalten). Dazu gehören aber auch die nötigen Kenntnisse. 8-Bit-User sind zwar nicht universell, aber dennoch manch anderen, welche sich nur mit "DOSen" abgeben, doch einige Schritte voraus.

Die Benutzer/Betreiber von Z-80 Rechnern sitzen doch alle im selben Boot. Es gibt nichts mehr! Also macht man sich ran, und entwickelt und tüftelt und freut sich über das Ergebnis. Das fördert natürlich gleichzeitig auch noch das Verständnis über den Aufbau, die Aufgaben der verschiedenen Baugruppen und die Wirkungsweise.

Meine Erfahrung zeigt mir immer wieder, daß andere Z-80 Clubs vor ähnlichen Hardware- und Softwareproblemen stehen, so daß die Clubs durch Doppelmitgliedschaften der einzelnen Mitglieder immer enger zusammenarbeiten werden. Mir ist klar, daß dies nicht von heute auf morgen geschehen wird, aber allzu lange wird es auch nicht mehr dauern. Ich wurde schon um Hilfe (Hardware) von einem ZX-Team-Mitglied gebeten. Ich denke, daß derartige Zusammenarbeiten richtungsweisend sind.

Bei entsprechender Resonanz könnte man ja auf der nächsten CeBit eine Gesamtdeutsche Computer-Oldie-Ecke einrichten. Es wurde schon getestet. Auch eine Art Dachverband könnte man ins Leben rufen, wo alle Z-80-Systeme und Clubs sich beteiligen könnten.

Das sollen von meiner Seite nur einige grundlegende Gedanken und Ansätze sein. Es soll nicht bedeuten, daß jetzt alle eine in allen Z-80 Clubs eine Mitgliedschaft anstreben sollen! Aber schreibt mir doch einfach mal, was Ihr davon haltet! Wäre sowas für euch vorstellbar, oder lehnt ihr sowas ab? Was gäbe es nach eurer Meinung noch dazu zu sagen? Also nicht wie ran an das Textsystem oder auch an Papier und Stift und geschrieben,denn jetzt seid ihr dran.

Euer Klaus Witzenhausen

 

Wie eben im Beitrag zu lesen war, ist Klaus bereits Mitglied in einem weiteren Club. Ich stehe ihm nicht nach und habe selbstverständlich Kontakte zu anderen Clubs.

In den letzten KC-News habe ich berichtet, daß ich zum Club-80-Treffen gefahren bin. Aus gutem Grund, denn dort bin ich ebenfalls Mitglied. Seit kurzem stehe ich auch mit der SCUG (Schneider CPC User Group) in Verbindung.

Leider zeichnet sich in diesen Clubs, die schon seit mehreren Jahren bestehen, folgendes Bild ab: Der Elan und die Dynamik der frühen Jahre ist abgeebbt und eine gewisse Trägheit macht sich (nicht zuletzt in der Clubzeitung) breit. Logo-Wettbewerbe enden mit einer ebenso spärlichen Beteiligung wie bei uns und zu den Treffen kommt im wesentlichen nur noch der "harte Kern".

Auch ein Blick über den großen Teich läßt das Z80-Herz kaum höher schlagen. Nur einige Unentwegte halten in den USA noch die Fahne hoch. Doch die kann man auch bald an einer Hand abzählen.

Eines scheint klar, wenn die Aktivitäten auf dem 8-Bit-Sektor noch eine Weile anhalten sollen: Wir müssen enger zusammenarbeiten und vor allem müssen wir aktiv(er) werden und bleiben. Doch gerade letzteres wird offenbar immer schwerer. Systemübergreifendes Arbeiten zwischen den verschiedenen Rechnern wird wohl kaum möglich sein, denn dazu ist die Hardware zu verschieden.

Doch es hat wohl keiner etwas dagegen, wenn seine Idee für den KC auf einem ZX81 umgesetzt wird. Dieser gegenseitige Gedanken- und Ideenaustausch könnte das "Massensterben" der Z80-Clubs aufhalten. Eine doppelte bzw. mehrfache und vor allem AKTIVE Mitgliedschaft in Computerclubs ist gewiß der richtige Ansatz.

Ein weiterer Schwachpunkt sind die zu langsamen Kommunikationsmedien. Bei der Organisation des Treffens in Ilmenau habe ich es besonders zu spüren bekommen, wie schwerfällig unsere bisherigen "Systeme" (Brief- und Diskettenversand) sind. Obwohl ich in den letzten KC-News die Rufnummer der Mailbox von Helmut Jungkunz veröffentlicht habe, scheint sich dort kaum jemand aus unserem Club einzufinden.

Dafür gibt es objektiv mehrere Gründe: Am KC ist der Modembetrieb bisher noch nicht gelungen - also kämen nur User mit einem Zweit-PC in Frage. Von denen haben bestimmt nicht alle ein Modem und vom verbleibenden "Rest", der die technischen Voraussetzungen hätte, haben sicherlich einige eine gewisse Scheu vor einer Mailbox.

Ich werde in den nächsten KC-News versuchen, gegen den letzten Punkt etwas zu unternehmen, indem ich mal den "Besuch" in der Mailbox Schritt für Schritt dokumentiere. Gegen den zweiten Punkt müßt ihr schon selbst etwas unternehmen. Doch die Preise für Modems sind in letzter Zeit so stark gesunken, daß dies kaum noch eine Hürde darstellen dürfte.

Einzig der erstgenannte Punkt bereitet mir noch ein wenig Kopfzerbrechen. Doch ich bin zuversichtlich, daß unseren Hard- und Softwaretüftlern eine Lösung einfällt. Frank Dachselt hat sich schon ein paar Modemprogramme für CP/M besorgt. Einzig die Ansteuerung via M003 ist nicht ganz so leicht. Wer es selbst versuchen will und noch ein paar Programme braucht, muß sich nur bei mir melden. Ich habe jede Menge (meist amerikanische) Software für CP/M!

Also, schreibt mir mal 'ne Mehl (neudeutsch für Mail)!
Jörg Linder


Wie wär's mit einem Dateibetrachter?

von Mario Leubner

Mit diesem Beitrag möchte ich kurz mein neustes Programm für den KC85/4 unter MicroDOS vorstellen. Die "Betaversion" von ML.COM war ja bereits zum Clubtreffen zu sehen und fand reges Interesse. Aus diesem Grund habe ich das Programm weiterentwickelt und noch mehr Dateiformen eingebunden. Natürlich gibt es noch viele Dateiformate, die alle spezielle Betrachter erfordern. Ich glaube aber, daß ich die wichtigsten auf den KC üblichen Formate jetzt einbezogen habe. Hauptanwendung soll ML.COM für Archive und Bilder haben, so daß man sich schnell einen Überblick über den Inhalt einer Diskette machen kann.

ML.COM läuft nur auf dem KC85/4 mit MicroDOS 2.6. Im Grundgerät muß ZAS 1.0 laufen, damit die Funktionen für Grafik und Farbe verfügbar sind (ohne ZAS wäre ML.COM viel größer geworden). TPA-Speicher bis mindestens 9100H ist außerdem erforderlich. Wird vom Programm ein anderes System vorgefunden erfolgt der Abbruch mit einer Fehlermeldung.

MicroDOS bietet die Möglichkeit der Fehlerbehandlung im Anwenderprogramm, siehe dazu BDOS-Funktion 45 im Handbuch für den Programmierer, Seite 43. Leider funktioniert das Abschalten nicht, somit wird jeder Diskettenfehler mit der Meldung "BDOS-Fehler auf ... " auf dem Bildschirm quittiert. Für grafische Bedienoberflächen mit Fenstertechnik wie bei ML.COM bedeutet dies unter Umständen (scrollen am BS-Ende), daß alle Anzeigen durcheinander geraten.

Bis ein korrigiertes MicroDOS zur Verfügung steht, kann man vorerst mit dem Hilfsprogramm FE.COM das alte MicroDOS korrigieren. FE.COM modifiziert MicroDOS dabei nicht in den Systemspuren der Diskette, sondern nur im RAM! Nach jedem Neustart der Systemdiskette ist der alte Zustand also wieder vorhanden. FE.COM ist für die Arbeit mit ML.COM nicht zwingend erforderlich, sollte aber wegen möglicher Lesefehler vorher einmal gestartet werden. Bei der Weitergabe von ML.COM also auch an das Programm FE.COM denken!

Für diejenigen, die FE.COM beim Clubtreffen von mir kopiert haben: Das FE.COM von der Beilagendiskette der KC-News habe ich dahingehend erweitert, daß es erst einen Systemtest durchführt, bevor es das BDOS im RAM verändert. Damit soll eine bessere Systemverträglichkeit erreicht werden, falls bald neue Betriebssysteme für den KC85 verfügbar sein werden.

Zum Dateibetrachter selbst:

Nach dem Start von ML.COM wird der Bildschirm in mehrere Fenster unterteilt. Alle installierten Laufwerke werden angezeigt (nach dem Doppelpunkt steht das physische Laufwerk). Am unteren Bildschirmrand informiert eine Hilfszeile über mögliche Kommandos. Danach wird das Directory vom eingestellten USER/Laufwerk eingelesen, alphabetisch sortiert, alle USER-Bereiche erfaßt und angezeigt. Sind außer im aktuellen USER-Bereich noch Dateien vorhanden, bleibt diese Anzeige erhalten.

Dateien, die der Dateimaske entsprechen, werden im mittleren Fenster aufgelistet. Mit den Cursortasten kann die Datei ausgewählt werden, dabei zeigt eine Statuszeile die Dateigröße an. Mit Enter wird der Dateibetrachter für ein definiertes Dateiformat gestartet. Alle anderen Dateien lassen sich nur als Hexdump (X/K), Text (T) oder Bild (V) betrachten. Damit dürfte bei unbekannten Dateien ein schneller Überblick möglich sein.

Definierte Dateiformate sind:

  • KC-Bildformate
    *.PIP, *.PIF, *.HIP, *.HIF und *.FRC.
  • PCX-Dateien
    können ebenfalls mit den ersten 320*256 Pixeln in maximal 4 Farben betrachtet werden.
  • Archive und Bibliotheken
    werden in mehreren Formaten unterstützt. Es wird das Archivdirectory aufgelistet, um einen Überblick zu bekommen, was in der Datei enthalten ist.
  • Textdateien
    können betrachtet werden, einige Formate sind schon vordefiniert und stellen automatisch den richtigen Zeichensatz ein, so auch TXW-Dateien von WordPro6, die im IBM-Zeichensatz korrekt angezeigt werden. Für andere Dateien ist der Zeichensatz manuell zu wählen und dann das T(ype)-Kommando zu starten. Mit den Cursortasten kann man im Text blättern.
  • COM-, SUB- und BAT-Dateien
    lassen sich starten. Bei COM-Files können noch Parameter übergeben werden. Nach Ausführung der Kommandos startet ML.COM automatisch wieder. Damit dies funktioniert, sollte sich ML.COM auf dem Systemlaufwerk, USER-0 befinden und Systemstatus haben. Gesucht wird ML.COM auf dem Laufwerk, das aktuelles Laufwerk beim ersten Start von ML.COM war.

Eine ausführliche Programmbeschreibung ist in der Datei ML.DOK enthalten (in ML.PMA auf der Beilagendiskette).


TRANSFER - Lesen und Schreiben von MS-DOS-Disketten

von Frank Dachselt

Die Verarbeitung von systemfremden Disketten, insbesondere von solchen im MS-DOS-Format, mit dem KC 85 war lange Zeit ein ungelöstes Problem. Unter MS-DOS sind Filetransfers von und auf CP/M-Disketten problemlos möglich, dazu existiert eine Vielzahl entsprechender Tools.

Aber es ist mitunter bequemer, den Datenaustausch auf dem KC vorzunehmen. Es gibt auch Programme, die das unter Betriebssystemen der CP/M-Familie leisten, aber hier besteht eine prinzipielle Schwierigkeit. Solche Programme sind stets stark systemabhängig und deshalb kaum übertragbar. Hinzu kommt, daß oft keine Quelltexte verfügbar sind.

Das zur Zeit wohl beste CP/M-Programm zum Filetransfer mit MS-DOS-Disketten ist MSDOS.COM von Tilmann Reh. Der Autor ist ja bereits durch sein GIDE-Interface in KC-Kreisen bekannt. Das Programm läßt bezüglich Funktionalität kaum einen Wunsch offen, es hat aber auch einen entscheidenden Nachteil: es läuft unter CP/M 3.x, der KC hat aber nur eine bescheidene "2.6" zu bieten. Quelltexte sind nicht im Umlauf, da sich das Programm in ständiger Weiterentwicklung befindet. Aber hier könnte sich eine Lösung abzeichnen.

Um kurzfristig zum Erfolg zu gelangen, habe ich auf ein etwas älteres, dafür aber mit Quelltexten verfügbares Programm mit dem Namen TRANSFER zurückgegriffen. Funktionalität und Bedienkomfort sind eher gering, dafür war eine relativ einfache Anpassung an das MicroDOS des KC möglich.

In der vorliegenden Form gestattet es die Arbeit mit MS-DOS-Disketten des Formats 9 x 512 x 80 x 2 (720 K) und - falls so etwas mal auftreten sollte - 9 x 512 x 80 x 1 (360 K, SS DD). Voraussetzung ist ein in MicroDOS installiertes logisches Laufwerk des Formats 9 x 512 x 80 x 2 (mit MSYSG eingerichtet), das nach dem Programmstart als MS-DOS-Laufwerk angegeben wird. TRANSFER bietet dann die folgenden Funktionen:

  • Filetransfer zwischen einer CP/M-Diskette und dem MS-DOS-Laufwerk in beiden Richtungen;
  • Anzeige der Directories von CP/M- und MS-DOS-Diskette;
  • Anzeige der Informationen des Bootsektors der MS-DOS-Diskette;
  • Anzeige der FAT (File Allocation Table) der MS-DOS-Diskette.

Die Files können nur in das Wurzelverzeichnis der MS-DOS-Diskette geschrieben werden, das Lesen ist aus beliebigen Unterverzeichnissen möglich. Bei der Eingabe von Filenamen können Jokerzeichen verwendet werden. Es erfolgt kein Test auf bereits existierende Files gleichen Namens, diese werden beim Kopieren ohne Rückfrage überschrieben.


Nachlese - Clubtreffen 1995

von Klaus Witzenhausen

Hallo, ihr KCler!

Da nicht alle zum Clubtreffen kommen konnten, möchte ich in aller Kürze noch einmal zusammenfassen, was auf dem Hardwaresektor über kurz oder lang zur Verwirklichung kommt.

Zunächst ist eine Arbeitsgruppe offiziell ins Leben gerufen worden. Sie besteht aus: Uwe Kerl, Andreas Ose und meiner Wenigkeit, was die Hardware angeht. Für die richtige Treibersoftware sind mit aller Wahrscheinlichkeit Frank Bauke und Mario Leubner zuständig. Wobei wir aber auch andere User gern bei uns begrüßen würden.

Unsere Aufgabe wird es kurzfristig sein, ein Soundmodul herzustellen, welches ich hier etwas genauer vorstellen möchte.

Der Preis steht leider noch nicht fest, wird aber zu gegebener Zeit bekanntgegeben werden. Das Preisproblem könnte mit der nötigen Anzahl der Modulbestellungen am ehesten gelöst werden, denn im Dutzend wird`s billiger. Also Modulbestellungen können bei uns abgegeben werden. (Aber bitte erst ab Ende November / Anfang Dezember!!! Dann können wir auch etwas über den Preis sagen!).

Leider wurde ein geplantes Aufsatzgerät beim Treffen abgelehnt, falls aber doch das Interesse bestehen sollte und einige Informationen gewünscht werden, kann man sich schriftlich an mich wenden. Ich gebe dann gern nähere Auskünfte. Aber jetzt ist das für die KC-News vorerst kein Thema (leider). Aber es könnte trotzdem ein Leckerbissen werden.

Nun zu dem Soundmodul

Für unseren KC bricht demnächst ein neues Zeitalter an, in dem es heißt: "Es werde Sound!".

In unserer Gruppe wird mitlerweile kräftig an einem Soundmodul gebastelt. Das Grundkonzept steht, hardwaremäßig sind wir auch schon am Aufbau und die Software soll auch nicht mehr das Problem numero uno sein. Das Grundkonzept sieht ungefähr so aus:

1. Nutzung der Schaltkreise AY-3-8910 oder AY-3-8912. Das sind Soundgeneratoren, welche schon im KC-compact erprobt worden sind.

Der AY-3-8912 umfaßt 11 Oktaven. Also bietet er sich buchstäblich für unser Modul an. Im ZX-81 Compuerclub ist auch ein Soundmodul entwickelt worden, allerdings mit dem AY-3-8910.

Eigener ROM für die Treibersoftware und ein eigener RAM für die erstellten Meisterwerke der Tonkunst sollen weitere Bestandteile werden. Wozu ein eigener ROM und RAM? Da unsere Software immer speicherintensiver wird, wäre es eine Zumutung, vom knappen Speicher auch noch Platz für Soundtreiber und Musik zur Verfügung zu stellen.

Da aber auch gute Musik ein "Speicherfresser" ist, soll der RAM mindestens 256 kB haben. Dieser Speicher hat aber noch einen Vorteil - er kann als "normaler" Speicher genutzt werden, wenn er nicht für Musik benötigt wird.

2. Folgende Eigenschaften stehen ebenfalls im Konzept:

a) Stereosound
b) Ausgang an vorhandene Stereoanlagen
c) Eingang von einer Stereoanlage
d) ein interner Verstärker für Kopfhörer und Lautsprecher
e) ein Mikrofonanschluß

Das Ganze soll in ein Steckmodulgehäuse reinpassen. Es wird also ziemlich eng. Das Modul wird außerdem eine eigene Kennung und eine Modulnummer bekommen. Über einen Standard für zukünftige Modulnummern und Kennbytes müssen wir uns unbedingt einigen. Keinesfalls sollten wir unterhalb von M 200 anfangen!

Jetzt noch einige Worte zum Clubtreffen

Ein großes Kompliment soll ich noch von den Mühlhäusern an den Club weitergeben. Sie waren sehr erfreut, daß es noch so viele KC-User gibt, welche sich auch aktiv mit dem guten alten 85er beschäftigen! Ersatzteile, Schaltungsunterlagen und noch vorhandene Software werden wir in der nächsten Zeit von dort beziehen können. Auch haben sie uns in Sachen Hardware Hilfe zugesichert.

Bei unserem Treffen war ja ordentlich was los. So stellte Ralf Kästner sein "UNIPIC" in Wort, Bild und Beispielen vor. Dieses Programm kann ich nur allen Mitgliedern wärmstens empfehlen! Die Leistungsfähigkeit dieses Programms ist wirklich gewaltig. Ich selber habes es mir gleich von ihn mitgenommen und bin jetzt dabei eine Show zu erarbeiten. Ralf, mach weiterhin so gute Programme!

Weiterhin habe ich mich auch von dem 85/5 von Mario Leubner überzeugen lassen, so daß der Umbau meines 4ers fast abgeschlossen ist. Auch habe ich mir das Wordpro 6 von ihm geben lassen, welches ich ebenfalls nur weiterempfehlen kann.

Zum Z-System, welches Jörg Linder vorstellte, muß ich sagen, daß es zwar recht komfortabel ist, aber jeder selbst entscheiden muß, was er im Endeffekt mit dem Computer anstellen möchte.

Desweiteren war ein PC zu bestaunen, welcher KC-Programme abarbeitete. Es gibt nämlich einen Emulator des KC 85/3 für PCs. Natürlich habe ich auch eine Kopie davon mitgenommen.

Zusammenfassung

Es war auf alle Fälle sehr informativ und produktiv. Ich habe schon wieder einige neue Pläne, welche ich aber erst einmal verarbeiten und sortieren muß. Ich wünsche allen KC-Usern störungsfreie Bits und Bytes und verbleibe bis zum nächsten Mal!


Bericht von den Z-Festen

von Jörg Linder

Die Aktivitäten rund um den Z80 und das CP/M-Betriebssystem waren in diesem Frühjahr kaum zu überbieten. Nachdem ich die Clubtreffen des KC-Clubs und des Club-80 gut hinter mich gebracht hatte, konnte ich die beiden Z-Feste natürlich nicht auslassen.

Z-Fest East

Am 15. Juni 1995 gab es sozusagen eine Weltpremiere: das erste Z-Fest in Ostdeutschland, genauer gesagt in Ilmenau. Wir hatten einen Raum der Technischen Universität Ilmenau bekommen. (Wie es dazu kam, möchte ich nicht erläutern, denn das wäre eine Geschichte für sich. "Turbulent" ist auf jeden Fall das treffende Wort.) Um 16.30 Uhr war der Raum frei und ich wollte gerade meine Anlage aus dem Auto holen, als ich jemanden sah, der ein "Werbeplakat" für das Z-Fest anklebte - Jay Sage.

Obwohl dieser Donnerstag kein Feiertag war, kamen immerhin 8 Leute zu unserem Treffen (einschließlich Jay und meiner Wenigkeit). Erstaunlicherweise waren auch alle pünktlich, was aufgrund der Verkehrssituation in Ilmenau und Umgebung nicht selbstverständlich ist.

Wir kamen dann auch gleich ins Gespräch. Jay interessierte sich sehr für den KC und die Rechentechnik aus der DDR. Als er aber die Preise hörte, verschlug es ihm fast die Sprache. Auch die Alltagsgeschichten, die man damals erleben durfte, waren für ihn teilweise unfaßbar. Umso erfreulicher fand er es, daß unser Club noch so aktiv ist.

Gegen 19.00 Uhr verließ Jay unsere kleine Runde, weil er zum Abendessen verabredet war. Wir machten derweil weiter. Um 21.00 Uhr war aber auch bei uns Schluß - schließlich mußten einige am nächsten Tag wieder zur Arbeit. Zusammenfassend kann man sagen, daß es ein interessantes Treffen war, das man wiederholen sollte. Dann allerdings zu einem günstigeren Zeitpunkt, so daß mehr Leute kommen (können).

An dieser Stelle möchte ich Jay Sage, Prof. Uhlmann und Helmut Jungkunz danken, die uns dieses Treffen durch ihren persönlichen Einsatz und mit ihrer modernen Kommunikationstechnik ermöglicht haben.

Z-Fest West

Dieses Treffen ist schon als traditionell zu bezeichnen, denn es war immerhin das fünfte Mal und davon das dritte Mal in Güglingen. Aufgrund meiner langen Anfahrt (zur Erinnerung: Güglingen liegt in der Nähe von Heilbronn) bin ich schon am Freitag, den 16. Juni gefahren. Die Familie Vogelmann, in deren Haus das Ganze stattfand, war sichtlich überrascht, als sie mich sahen. Trotzdem wurde ich gleich sehr herzlich begrüßt.

Am Samstag ging es dann aber richtig los. Nach und nach trafen jede Menge Leute ein. Insgesamt kamen wir auf die beachtliche Zahl von 15 Leuten aus 3 Ländern (Bayern bleibt mal unberücksichtigt). Ich glaube, daß man uns als den "harten Kern" der CP/M-Gemeinde in Deutschland bezeichnen kann.

Es wurde ausgiebigst gefachsimpelt, gezeigt und gestaunt. Unter anderem waren zu sehen:

  • ein C 128 mit zwei Festplatten und einem CD-ROM-Laufwerk
  • drei CPU280 in den unterschiedlichsten Ausbauvarianten (zwei davon wurden via Kabel und Programm gekoppelt)
  • ein KAYPRO IV
  • der lauffähige (!) Prototyp des G-IDE-Interfaces von Tilmann Reh
  • natürlich meine KC-Anlage

Über letztere hat Helmut Jungkunz nicht schlecht gestaunt. Er war eigentlich ein wenig enttäuscht, daß sie ein so kompaktes und elegantes Design hat. Insgeheim hatte er einen großen unförmigen Blechkasten erwartet. ("Nun hat Jay ein ganz falsches Bild über Eure Computertechnik von Robotron.")

Als absoluten Höhepunkt des Abends präsentierte uns Helmut das Video von seiner Trenton-Reise. Es war wirklich faszinierend, was er auf zweieinhalb Stunden Kassette gebannt hat. Der Besuch im Bostoner Computermuseum ließ die Augen ebenso leuchten wie der Flohmarkt beim Treffen in Trenton. Auch der aufgezeichnete Vortrag von Hal Bower über sein Netzwerksystem unter CP/M (!!!) war absolute Spitze.

Dieses Video kann man übrigens von Helmut für nur 20,00 DM zuzügl. Versandkosten bekommen. Nähere Informationen dazu:

Helmut Jungkunz, Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.

In den ersten Stunden des Sonntags suchten wir unser Hotel auf, um ein wenig zu schlafen (um 8.30 Uhr gab's schließlich Frühstück). Einigermaßen fit machten wir dann dort weiter, wo wir am Vortag aufgehört hatten.

Helmut nutzte die Gelegenheit, mich und meine KC-Anlage auf Video zu verewigen. Einen kleinen Beitrag möchte er zusammenstellen und der SCUG vorführen. Anschließend packte ich alles zusammen, denn am Vormittag wollte ich heimwärts fahren.

Natürlich kam es anders als geplant. Die neueste Software aus den USA mußte noch schnell kopiert werden, noch schnell Mittag essen, noch schnell ein paar Adressen ausgetauscht, noch schnell... Obwohl alles schnell ging, war es dann schon fast 16.00 Uhr, als ich den Heimweg antrat.

Alles in allem war es ein abwechslungsreiches, interessantes, informatives, nutzbringendes, ... Treffen, an dem ich auf alle Fälle wieder teilnehmen werde - vorausgesetzt, es findet wieder statt.

Zu guter letzt noch ein riesengroßes Dankeschön an Familie Vogelmann für die Gastfreundschaft und an Uwe Herczeg und Roderich Vogelmann für die Organisation und an alle Anwesenden für ihre Anwesenheit. :-)


Erzeugen von INITIAL.UUU-Dateien

von Wolfram Schütze

Der Dateityp .UUU weist darauf hin, daß an eine Generierung solcher Kommandodateien mittels BASIC/PRINT#1 gedacht ist. Das funktioniert problemlos. Denkbar (und schneller) ist aber auch der Gebrauch eines Textsystems, z. B. TPKC. Bei damit erstellten .UUU-Dateien wurde aber ein merkwürdiger Effekt beobachtet: Nach Abarbeitung des letzten Kommandos bis zum Erscheinen des Cursors scheint "irgendetwas im Hintergrund zu rumoren".

Je kürzer die Datei ist, desto länger dauert dieser Vorgang. Die Ursache zeigt sich bei Untersuchung des Speicherbereiches B700H-B77FH, in den die Datei geladen wird: Hinter dem Kommandostapel folgt eine große Anzahl 1AH-Bytes, die als Steuercodes für INSERT interpretiert werden, und erst am Ende des Speicherbereiches stehen einige 00H-Bytes, die das Ende definieren.

Kuriosum: Bevor ich die saubere Erzeugung mit BASIC begriffen hatte, hatte ich bereits ein kleines Hilfsprogramm geschrieben, das vor der Abarbeitung die 1AH-Bytes beseitigt.


Speaker's Corner


Wie bekomme ich meine Schaltkreise aus der Leiterplatte?

Wie überall im Leben gibt es immer viele Möglichkeiten, eine Arbeit zu verrichten. Warum sollte das beim Auslöten von Schaltkreisen anders sein? Abzwicken war eine davon. Nicht unbedingt schlecht, aber die Schaltkreise sind pfutsch. Heute kein Thema mehr, doch schreckt mich so eine barbarische Methode doch etwas ab. Und was ist, wenn man einen Schaltkreis braucht, den man heute bereits kaum noch im Handel bekommt, aber dafür fast geschenkt bei SERO?

Ich habe viele Methoden ausprobiert und auch wieder verwerfen müssen und einige, sicher brauchbare Methoden wie z.B. dem Absaugen des Lötzinns unter Verwendung von Vakuum, scheiden aus Finanzierungs- und anderen Gründen aus.

Warum sollte es mit Ausblasen mit Luft nicht gehen, besonders jetzt, wo wir unsere KC's umrüsten wollen und die RAMs und ROMs entfernen müssen.

Es geht! Und sogar ganz gut. Ich habe bisher rund 50 Schaltkreise, vom U880 bis zum DL000, ausge"blasen". Natürlich sollte man erst mal an einer alten Leiterplatte üben.

Verwendung fand eine Fußluftpumpe, wie sie für 10 DM manchmal bei ALDI, REAL ... angeboten wird. Was braucht man noch? Ein Stückchen Rohr für den Ventileinsatz, ca. 1,2 m Schlauch und eine leere und gesäuberte Metall-Kugelschreibermine ohne Kugelteil. Das Ende wurde etwas oval gequetscht, so daß es über 2 Pins reicht. Als Lötkolben fand ein 20 W-Lötkolben Verwendung, den ich mit 160 V betrieb.

Leiterplatte horizontal hinlegen, mit der Bauelementeseite nach unten, mit Lötkolben Zinn verflüssigen, gleichzeitig mit der linken Hand Mine aufsetzen und mit dem Fuß 1 bis 2 Luftstöße auf die Bohrung geben. Das Zinn wird aus dem Loch geblasen. Je größer die Bohrung, umso besser ist das Resultat. Jetzt werden die Pins mit einem Schraubenzieher ganz leicht bewegt, um zu sehen, ob die Bohrung frei ist. Ist das bei allen Pins der Fall, kann der Schaltkreis ausgehebelt werden. Anderfalls die Prozedur nochmals durchführen.

Nun werden Schaltkreis und Platine vom restlichen Zinn gereinigt. Unter Verwendung von Spiritus und Lötkolben ist das kein Problem. Anschließend mittels Pinsel und Spiritus die Platine feinreinigen. Nun kann der neue Schaltkreis eingelötet werden.

Falls man schlecht an die Leiterseite herankommt, kann die Leiterplatte auch vertikal gestellt werden. Lötkolben auf das Pin auf der Bauelementeseite, Mine wie oben beschrieben aufsetzen und Lötzinn ausblasen.

Rund 98 % der so ausgelöteten Schaltkreise waren verwendungsfähig. Es gab nicht eine Leiterbahnbeschädigung! Besonders gut fand ich, daß die Bohrungen der KC-Leiterplatte recht groß sind. Hier gab es gar keine Probleme.

Ich würde mich freuen, wenn die Methode auf positive Resonanz stößt.

Lothar Stephan

 

Erweiterung der KC-Tastatur

Wer oft Zahlen eingeben muß oder in BASIC programmiert, vermißt doch sehr einen gesonderten Ziffernblock und diverse Zeichen, die nur über SHIFT zu erreichen sind. Deshalb habe ich mir einige Gedanken gemacht, wie man dem abhelfen kann und an meine KC-Tastatur eine ansteckbare Erweiterungskarte angebaut. Diese Karte enthält folgende Tipp-Tasten:

? ! " $ @
7 8 9 ; ,
4 5 6 ( )
1 2 3 - /
0 . = + *

Die normalerweise nur über die SHIFT-Taste erreichbaren Zeichen wurden durch die Einfügung einiger Dioden realisiert. Die Erweiterungskarte entspricht ansonsten dem Stromlaufplan der KC85-Tastatur und enthält neben den Tipp-Tasten die beiden Schaltkreise U807 und V4011 und ist über 2 Steckkontakte mit der Original-KC-Tastatur verbunden.

Nun möchte ich in Zukunft aber auch mit einer professionellen PC-Tastatur arbeiten. Auf unserer Tagung in Seelow habe ich mich deshalb umgesehen, was von unseren Freaks so verwendet wird. Um die D005 werde ich mich nicht bemühen. Sie hat keinen Ziffernblock.

Eine Tastatur wie Mario sie verwendet, scheidet für mich auch aus. Ich kann kein ROM programmieren. Aber ich kann ein wenig basteln. Eine PC-Tastatur ist gekauft und zerlegt. Die vorhandenen Leiterbahnen werden aufgetrennt. Die Kämme erhalten auf beiden Seiten je einen Kontaktstift und werden mittels Wickeltechnik entsprechend Plan verbunden. Die Elektronik, wie oben angedeutet, wird auf einer kleinen LP realisiert. Ich hoffe, daß ich im Winter damit zu einem guten Ende komme.

Lothar Stephan

 

Kleiner Druckertip

Beim Drucken gibt es des öfteren mal Probleme. Vom Computer aus kann man den Druckvorgang dann meistens abbrechen (zumindest mit Reset) aber der Drucker arbeitet trotzdem erstmal seinen Druckerspeicher ab. Dies ist speziell bei neueren Druckern mit mehreren KByte Druckerpuffer nicht immer angenehm.

Für Drucker mit Centronics-Interface gibt es aber eine relativ einfache Abhilfe, sofern das Interface komplett beschaltet ist (bei Robotron / Präsident / Soemtron meist der Fall).

Pin 31 der Centronics-Buchse (PIN 10C der 3-reihigen TGL-Leiste bei Robotron-Druckern) ist mit dem Signal INIT belegt. Diese Leitung liegt im Normalfall auf High. Ein Low-Impuls bewirkt das Reinitialisieren des Druckers (wie beim Einschalten) und auch das Löschen des Druckerpuffers.

Dazu wird ein Taster nach Masse und ein Widerstand in die INIT-Leitung zum Computer gelegt, wenn diese vom Computer bedient wird (z. B. beim PC). Der Widerstand solte zwischen 1 KOhm und 400 Ohm liegen, mit dem höheren Wert wird der Computer nicht so belastet.

Wird die INIT-Leitung nicht vom Computer bedient, so muß das freie Ende an +5V angeschlossen werden und evtl. (je nach Druckertyp) eine Änderung an den DIP-Schaltern vorgenommen werden. Bei einigen Typen muß beim Einschalten dann auch der Taster gedrückt werden (war nur bei einem alten Epson FX oder LX damals in der Schule so).

Ich hoffe, daß es funktioniert.

Maik Freitag

 

Spielepreview!

Eigentlich wollte ich es schon jetzt fertig haben, aber nun werdet Ihr es erst in den KC-News 4/95 bekommen: Das neue Game für den KC 85/4. Es braucht keine 12 MB Hauptspeicher und keinen Prozessor mit 90 MHz. Dafür bietet es Features wie Feinscrolling, Leveleditor und noch mehr.

Das Spielprinzip auf die Schnelle: Auf dem Spielfeld befinden sich eine Anzahl verschiedener Steine. Mit einem Zeiger werden diese in die verschiedenen Richtungen bewegt. Ein Stein hält in seiner Bewegung erst inne, wenn er gegen einen anderen Stein stößt. Sind beide Steine gleich, so lösen sie sich auf. Der Level ist gelöst, wenn alle Steine sich aufgelöst haben.

Das einzige, was noch fehlt und was ich nicht kann, sind ein paar Soundeffekte z. B. wenn sich 2 Steine auflösen. Wer mir da helfen kann und will, soll mir mal schreiben.

Maik Freitag

 

Unterlagen zum U 807

Wie sicherlich vielen bekannt ist, verrichtet in der KC-Tastatur der Fernbedienungsschaltkreis U 807 sein Werk. Dieser entspricht dem SAB 3021 (Valvo), zu dem ich nun nach langen Umwegen das Datenblatt erhalten habe.

Mit der Kenntnis der Sendefolgen ist es möglich, die Tastatur den eigenen Bedürfnissen anzupassen. Auch der Anschluß einer komfortableren Tastatur ist nun wieder ein Stück näher gerückt. Wer die Unterlagen zum SAB 3021 haben möchte oder Interesse an einer Projektgruppe zum Thema Tastatur hat, der kann sich an mich wenden.

Frank Rydz


Star Trek - Die nächste Version

(Autor unbekannt, Übernahme aus SCUG-Info 1/95)

Picard: Mr. LaForge, war der Versuch, einen Schwachpunkt bei den Borg zu finden, erfolgreich? Und Mr. Data, konnten Sie eine Verbindung zu deren Kommandoebenen aufbauen?

Geordi: Ja, Captain. Wir fanden die Lösung in den Computerarchiven des späten zwanzigsten Jahrhunderts.

Geordi drückt eine Taste, und auf dem Monitor erscheint ein Logo.

Riker (etwas verwirrt): Was in aller Welt ist ein "Microsoft"?

Data: Lassen Sie mich Ihnen das erklären. Wir schicken dieses Programm, das - aus welchen Gründen auch immer - "Windows" heißt, durch die Kommandoebenen der Borg. Einmal in ihrer Kommandoeinheit installiert, fängt es an, unaufhaltsam Systemressourcen zu belegen.

Picard: Aber die Borg können sich anpassen. Werden sie nicht einfach ihr Verarbeitungssystem ändern, um den erhöhten Speicherbedarf auszugleichen?

Data: Das ist korrekt, Captain. Doch wenn Windows das merkt, erstellt es eine neue Version von sich selbst - ein sogenanntes "Upgrade". Und die Belegungsrate wächst bei jeder Version exponentiell. Die Borg werden nicht in der Lage sein, sich schnell genug anzupassen. Wahrscheinlich wird ihre ganze Rechenkapazität zum Erliegen kommen, so daß sie ihre normalen Aktivitäten nicht mehr fortsetzen können.

Picard: Ausgezeichnete Arbeit! Das ist sogar noch besser als die Idee mit der unlösbaren Rechenaufgabe.

... Fünf Stunden später...

Data: Captain, wir haben Windows erfolgreich in der Haupt-Kommandoebene installiert, und wie erwartet hat es sofort 85 % der Ressourcen belegt. Bisher haben wir noch keinerlei Informationen über das Upgrade.

Geordi: Unsere Scanner registrieren eine enorme Erhöhung der Speicher- und CPU-Kapazitäten, aber keinerlei Anzeichen vom Upgrade, um diese auszugleichen.

Picard: Mr. Data, durchsuchen Sie noch einmal die Geschichtsdatenbanken! Vielleicht haben wir etwas übersehen.

Data: Sir, ich glaube, ich habe den Grund für das Versagen des Upgrades. Anscheinend haben die Borg diesen Teil unseres Planes wirkungslos gemacht. Sie haben die "Registrierung" von Windows nicht vorgenommen.

Riker: Captain, wir haben keine Wahl. Bitte um Erlaubnis, die Notfallprozedur 3F..

Geordi (aufgeregt): Warten Sie, Captain! Gerade habe ich entdeckt, daß ihre CPU-Kapazitäten auf 0 % abgesackt sind.

Picard: Mr. Data, was zeigen die Scanner jetzt an?

Data: Offensichtlich haben die Borg eine internes Windows-Modul namens "Solitär" gefunden. Das hat ihre gesamte Rechenzeit auf einen Schlag verbraucht.

Picard: Lassen Sie und warten und beobachten Sie, wie lange Solitär ihre Funktionen beeinflußt.

... zwei Stunden vergehen...

Riker: Geordi, wie ist der Status bei den Borg?

Geordi: Wie wir erwartet haben, versuchen die Borg ihre Speicher- und Rechenkapazität durch Modifikationen am System zu erhöhen. Aber jedesmal, wenn sie es geschafft haben, Ressourcen frei zu machen, übertrage ich neue Windows-Module aus dem sogenannten "Microsoft Fun-Pack".

Picard: Wieviel Zeit bringt uns das?

Data: Ausgehend von der derzeitigen Effizienz der Borg bleiben uns etwa noch sechs Stunden.

Geordi: Captain, ein drittes Schiff nähert sich unserem Sektor.

Picard: Identifizierung?

Geordi: Es hat Kennzeichen, die dem "Microsoft"-Logo sehr ähnlich sind.

... über die Lautsprecher der Brücke...

Gates: Hier spricht Admiral Bill Gates vom Microsoft-Flaggschiff "Monopoly". Wir haben eine positive Anzeige dafür, daß in diesem Sektor nichtregistrierte Software verwendet wird. Überschreiben Sie daher alle Ihre Vermögenswerte, und wir regeln diese Angelegenheit friedlich. Sie haben zehn Sekunden, unserem Vorschlag zuzustimmen.

Data: Das fremde Schiff hat seine vorderen Torpedorohre geöffnet und Tausende von humanoid geformten Objekten ausgestoßen.

Picard: Auf den Schirm, vergrößern!

Riker: Mein Gott, Captain! Diese Menschen fliegen genau auf das Borg-Schiff zu - ohne Raumantzüge. Wie können sie nur im Weltraum überleben?

Data: Ich glaube nicht, daß es Menschen sind, Sir. Wenn Sie genauer hinsehen, werden Sie bemerken, daß sie etwas bei sich haben, was man im 20. Jahrhundert als Aktenkoffer bezeichnet hat. Außerdem tragen sie "Armani"-Anzüge.

Riker und Picard (entsetzt): RECHTSANWÄLTE !!!

Geordi: Das kann nicht sein. Alle Rechtsanwälte wurden 2017 während des Großen Erwachens in Castor-Behälter gepackt und direkt in die Sonne geschossen.

Data: Das ist korrekt, aber anscheinend haben einige überlebt.

Riker: Sie haben das Borg-Schiff umzingelt und bedecken es mit weißen Papieren.

Data: Ich glaube, diese Dokumente nannte man damals "Einstweilige Verfügung" - eine sehr effiziente Arbeitsmethode.

Riker: Sie reißen die Borg in Stücke!

Picard: Schalten Sie den Bildschirm ab. Ich kann das nicht mitansehen. So ein Ende haben nicht einmal die Borg verdient.

+++ ENDE +++