
RUN = Syntax Error?
Läßt sich beim C 64 der Basic-Start verändern? Das Vorhandensein der Routine $A68E läßt mich dies zwar vermuten, es gelingt mir aber nicht ganz. Nach dem Heraufsetzen des Basic-Starts wird »RUN« mit »Syntax Error« beantwortet, ebenso »NEW«.
Der Syntax Error bei RUN ist schon ziemlich symptomatisch. Sie haben wahrscheinlich nicht bedacht, daß das erste Byte im Basic-Bereich immer ein Nullbyte sein muß. Vor dem SYS-Befehl müssen Sie also unbedingt einen POKE <Anfangsadresse>, 0-Befehl geben.
Kreuzworträtsel auf MPS-8O1?
Ich habe das fantastische Kreuzworträtsel-Programm von Gert Büttgenbach aus der Ausgabe 12/84 abgetippt. Allerdings ist es mirnicht gelungen, dieses für den Epson-Drucker geschriebene Programm für den MPS-801 umzuschreiben. Vielleicht findet sich ein versierter Leser, der dieses Problem gelöst hat?
Karl Kipping
Chemie per User-Port
Wie kann man über den User-Port am C 64 chemische Messungen durchführen?
Ausgabe: 3/85
Die Zeitschrift »CLB — Chemie für Labor und Betrieb« hat seit einiger Zeit eine Rubrik mit Software für den Laborbereich. In einer der letzten Ausgaben erschien ein Artikel über die Soft- und Hardware bei der Erfassung von titrimetrischen Bestimmungen mit einem Commodore 64.
Info: CLB — Chemie für Labor und Betrieb, Stuttgarter Str. 18-24, Postfach 110262, 6000 Frankfurt 1
Teilstrings in Comal?
Wie kann man in Comal 0.14 Teilstrings analog zu den Basic-Funktionen MID$, LEFT$ und RIGHT$ gewinnen?
Teilstrings werden in Comal 0.14 sehr einfach durch Angabe der linken und rechten Begrenzung erzeugt. Ein Beispiel:
DIM TEXT$ OF 20
TEXT$ := "BASIC, COMAL ODER PASCAL?"
PRINT TEXT$ (7:11)
Es wird als Antwort der Teil von Textstring vom 7. bis zum 11. Zeichen gedruckt, also »COMAL«. Mit der Vereinbarung L : = LEN(X$) werden die Basic-Stringfunktionen in Comal also folgendermaßen erzeugt:
LEFT$(X$,N) … X$(1:N)
RIGHT$(X$,N) … X$(L-N + 1,L)
MID$(X$,N,A) … X$(N:N + A-1)
MID$(X$,N) … X$(N:L)
Zufallszahlen mit Wiederholung?
Beim Arbeiten mit der »Zufallsformel« X=INT(RND(1)*N) +1, durch die Zufallszahlen von 1 bis N erzeugt werden, habe ich festgestellt, daß die so erzeugten »Zufallszahlen« gar keine solchen sind. Zumindestens wiederholen sie sich nach einiger Zeit in gleicher Folge. Nun meine Fragen:
Kann man überhaupt von Zufallszahlen reden, wenn sie sich nach einer gewissen Zeit in gleicher Folge wiederholen?
Kann man diese Tatsache umgehen, vielleicht durch Änderung der Formel?
Wie funktioniert eigentlich die Auswahl der Zufallszahlen?
Entscheidenden Einfluß auf die erzeugten Zufallszahlen hat die Wahl des oft als unwichtig betrachteten Argumentes der RND-Funktion. Generell sind drei Fälle zu unterscheiden:
-
Fall 1. Die Funktion wird mit einem positiven Argument aufgerufen, also beispielsweise mit RND(1). Anstelle der 1 kann eine beliebige andere Zahl oder Variable größer als Null stehen. In diesem Falle werden die Zufallszahlen nach einem bestimmten mathematischen Algorithmus, also nach einer bestimmten Rechenvorschrift, ermittelt. In diesem Falle kommen die Zufallszahlen (oder besser die Pseudo-Zufallszahlen), die nach dem Einschalten des Computers erzeugt werden, jedesmal in genau der gleichen Reihenfolge wieder vor, was sicherlich als nachteilig zu bewerten ist. Der Vorteil dabei ist jedoch die sehr gute Gleichverteilung der erzeugten Zahlen. Es werden weder Zahlen bevorzugt noch benachteiligt.
-
2. Die Funktion wird mit einem negativen Wert aufgerufen (Beispiel: RND(-1) oder RND(X), falls X < 0). In diesem Fall ergibt jede einzelne negative Zahl einen speziellen Zufallswert, aber eben für jede Zahl stets wieder denselben. Probieren Sie ruhig zehnmal hintereinander RND(-1) aus, Sie erhalten stets die gleiche Zahl. Haben Sie aber einmal einen als zufällig geltenden Anfangswert X, dann können Sie mit der Folge »10 X = RND(-X):PRINTX:GOTO 10« eine beliebige Kette von zufälligen Zahlen erzeugen. Jeder verschiedene Anfangswert für X liefert bei dieser Methode eine eigene, ganz spezielle Zufallszahlenreihe.
Als Startwert kommen alle möglichen Werte in Betracht, sinnvoll ist in vielen Fällen eine Initialisierung über die Zeitvariable TI. Der Startwert ist dann von der seit dem Einschalten vergangenen Zeit abhängig und kann in den meisten Fällen wohl als ausreichend zufällig angesehen werden.
-
Fall 3: Die Funktion wird mit dem Argument Null aufgerufen. In diesem Falle wendet der Basic-Interpreter eine weitere Methode an: Er nimmt die Zeiten verschiedener interner Zeitgeber, verknüpft sie durch eine mathematische Formel miteinander und bildet so ebenfalls eine Zufallszahl.
Diese Zahlen sind wirklich alle paar Mikrosekunden völlig anders und liefern keine vorhersehbare Folge von Zahlen. Allerdings ist bei dieser Methode die Gleichverteilung der Zahlen um einiges schlechter, jedenfalls wenn die Zufallszahlen in einer festen Programmschleife, also in einem festgelegten Zeittakt gebildet werden. In diesem Falle werden fast unweigerlich bestimmte Zahlenwerte häufiger vorkommen als andere.
Die effektivste Methode für möglichst zufällige, aber eben auch möglichst gleichverteilte Zahlen ist die zweite. Besonders bei Initialisierung mit TI, womöglich noch durch Multiplikation oder Division mit irgendwelchen Zeropage-Inhalten verknüpft, erreicht man die besten Ergebnisse.
Adventure-Tips gesucht
- Bei dem Adventure »Time Machine« komme ich nicht weiter als bis zum Haus. Alle anderen Wege führen früher oder später in den Treibsand. Wie komme ich ins Haus hinein?
- Wie komme ich bei »Pitfall II« an die Schatulle (es kann auch ein Ring sein)? Ich habe zwar schon einmal alle Schätze, Wölfe, Mäuse, Ratten und Mädchen aufgesammelt, aber an diese Schatulle kam ich bisher einfach nicht heran.
- Wie komme ich bei dem Adventure »The Fabulous Wanda…« an die richtigen Informationen; wo muß ich mein Geld investieren?
Hardcopy mit Hindernissen?
Das Hardcopyprogramm für Text und Grafik »X-Graf« des CP 80 X-Druckers druckt bei Hardcopies immer eine Leerzeile zwischen den Datenzeilen. Dadurch kann man keine Grafiken ausdrucken. Ich bitte um einen Ratschlag.
Stellen Sie an Ihrem Drucker den Auto-Line-Feed-Schalter auf die Aus-Stellung. Näheres darüber steht in Ihrem Drucker-Handbuch.
Multiplan mit 80 Zeichen?
Kann man Multiplan auf einem C 64 mit 80-Zeichen-Karte laufen lassen?
Nein, das kann man nicht. Multiplan für den C 64 ist für den 40-Zeichen-Bildschirm ausgelegt. Eine 80-Zeichenkarte, die mit Multiplan zusammen läuft, konnten wir außerdem auch nicht entdecken.
3.5-Basic für den C 64?
Kann man das Commodore 3.5-Basic des C 16 auch in den C 64 »einpflanzen«?
Direkt aus dem Basic-Interpreter des C 16 kann man die Routinen für diese Befehle nicht übernehmen, da er mit völlig anderer Hardware arbeitet (Betriebssystem und Basic arbeiten mit Bank-Switching, das heißt, es können theoretisch weit mehr als nur 64 KByte Speicher verwaltet werden); eine Übernahme der Befehle ist jedoch schon möglich. Allerdings wird Basic 3.5 noch von keiner einzigen Firma für den C 64 angeboten (aus Copyrightgründen).
Sie müssen sich dafür also selbst eine Befehlserweiterung schreiben.
C 16-Sprites?
Ich besitze einen C 16 mit Datasette und wollte wissen, ob ich Sprites im Textmodus simulieren kann oder ob jemand ein Programm dafür geschrieben hat.
Der C 16 besitzt die Shape- beziehungsweise Sprite-Fähigkeit nur im Hires-Modus, weil im TED (der Chip, der am C 16 auch für die Video-Ausgabe zuständig ist) Sprites nicht hardwaremäßig vorgesehen sind wie beim Videochip des C 64.
Falls man aus Speicherplatzgründen auf Hires-Shapes verzichten will oder muß, kann man sich immer noch, ähnlich wie beim VC 20, mit einem selbstdefinierten Zeichensatz helfen, der nur 2 KByte vom RAM abknappst und dennoch schon beachtliche Grafikmöglichkeiten bietet. Ein entsprechendes Listing dazu mit Zeicheneditor und ausführlicher Beschreibung wie’s funktioniert, finden Sie demnächst in dieser Zeitschrift.
»Magic Desk« gesucht
In der Ausgabe 7/84 befindet sich ein Bericht über das Programm »Magic Desk«. Da ich großes Interesse an dem Steckmodul habe, bitte ich Sie um Anschrift der Firma, die das Modul vertreibt.
Das Programm wurde von Commodore selbst entwickelt und sollte demzufolge eigentlich über jeden Commodore-Händler zu beziehen sein. Da der Programmierer allerdings mit dem ehemaligen Commodore-Chef Jack Tramiel zu Atari gegangen ist, ist nicht sicher, ob Commodore das Modul noch vertreibt. Erkundigen Sie sich am besten bei Ihrem Commodore-Händler, ob der Ihnen das Modul noch besorgen kann.
Druckeranschluß ohne Software?
Ich besitze seit kurzer Zeit einen VC 20 und den Drucker GP 80A von Seikosha. Wie kann ich diesen Drucker an den VC 20 anschließen, ohne daß ich ein Programm benötige?
Den GP80 gibt es in einer speziellen Version zum direkten Anschluß an den VC 20 als GP 80 VC von Seikosha oder als VC 1515 im Commodore-Vertrieb. Bei Ihrer Version (A) handelt es sich um das Standardmodell mit internationalem (ASCII-) Zeichensatz und Centronics-Schnittstelle. Sie benötigen zum Anschluß entweder ein VC-Interface (seriell auf Centronics) oder einfach ein Centronics-Kabel zum Anschluß an den User-Port. Ein VC-Interface ist allerdings nicht ganz preiswert (etwa von 100 Mark aufwärts), während ein Centronics-Kabel nur ein paar Mark kostet, dafür aber ohne zusätzliche Software nicht zu betreiben ist. Ihr Seikosha-Fachhändler kann Ihnen nähere Auskünfte geben.
Steckmodul abschalten?
Ich besitze einen C 64 und seit einiger Zeit ein Steckmodul für die Spracherweiterung Simons Basic. Leider laufen einige Programme nicht mit dieser Erweiterung. Durch ständigen Wechsel des Moduls sind bereits Leiterbahnen auf der C 64-Platine beschädigt worden.
Ist es möglich, durch Einbau eines Schalters in die Leiterbahn des Pin 2 am Expansion Port (+5V) das Modul abzuschalten ohne eine Beschädigung herbeizuführen?
Eine entsprechende Bastelanleitung erscheint demnächst unter der Rubrik Tips & Tricks.
Merge-Problem
Wie kann ich zwei Programme im Speicher zu einem einzigen zusammenfügen?
Ausgabe 4/85
Auch ohne Basic-Erweiterung kann man beim C 64/VC 20 Programme relativ einfach »mergen«:
Erstes Programm laden und danach »POKE 43, PEEK(45)-2 : POKE 44, PEEK(46)« eingeben. Dies schützt den ersten Programmteil. Jetzt kann man ein zweites Programm laden, nochmals die gleichen POKE-Befehle geben, ein drittes Programm laden und so fort. Nach »POKE 43,1 : POKE 44,8« stehen alle Programme zu einem einzigen zusammengefaßt im Speicher. Man sollte allerdings darauf achten, daß die nachgeladenen Programme höhere Zeilennummern haben, da es sonst zu Problemen kommen kann.
Schreibmaschine am Computer lernen
Wo gibt es ein Programm, das Schreibmaschinenkenntnisse am Bildschirm vermittelt?
Ausgabe 4/85
Ich habe einen Schreibmaschinenkurs für den Commodore 64 entwickelt. Das Programm wurde auf der Hannover-Messe 1984 von Bundesforschungsminister Dr. Riesenhuber als bestes Lernprogramm mit der »Goldenen Diskette« ausgezeichnet.
Der Schreibmaschinenkurs ist in deutscher Sprache geschrieben und führt in 27 Lektionen auf unterhaltsame Weise in das Zehn-Finger-System ein. Es verwendet den normalen C 64-Zeichensatz. Einige grafische Einlagen lockern den Lernprozeß auf und sorgen für notwendige (Entspannungs-)Pausen.
Das Programm ist in der Reihe Chip-Soft des Vogel-Verlags auf Diskette und Kassette erschienen.
Info: Chip-Soft, Vogel-Verlag, Postfach 6740, 8700 Würzburg 1
Nochmals Simons Basic und Turbo Tape
Wer kennt eine Möglichkeit, um gleichzeitig Simons Basic und Turbo Tape benutzen zu können?
Ausgabe 8/84, 12/84, 2/85
Dieses Problem ist eigentlich schon seit Mitte 1984 gelöst. Das zu Turbo Tape kompatible Fast Tape von H. Reichert gestattet auch bei Simons Basic eine schnelle Kassette. Interessenten mögen sich bitte bei mir melden.
In der amerikanischen Computerzeitschrift »Compute!« wurde im Januar ein Turbo Tape zum Abtippen veröffentlicht, das man ans jeweilige Ende des Basic-RAM setzen kann. Dieses Turbo Tape ist kompatibel mit Simons Basic und anderen Erweiterungen. Ich bin gerne bereit, Interessenten gegen Einsendung einer Leerkassette und eines frankierten Rückumschlages eine Kopie zu senden.
Fortran Compiler für C 64
Gibt es für den C 64 einen Fortran-Compiler ?
Ausgabe 3/85
Commodore selbst bietet in Amerika einen Fortran Compiler für den C 64 mit CP/M-Modul an. Dieser Compiler (»Nevada Fortran«) ist jedoch leider in Europa nicht erhältlich. Es handelt sich dabei um eine bemerkenswert starke Fortran IV-Version mit ausgezeichneter Dokumentation.
Info: Commodore Business Machines, Inc., 1200 Wilson Drive, West Chester, PA 19380
Mikrofon am C 64
Wie kann ich ein Mikrofon an den C 64 anschließen, und wie läßt sich das Tonsignal dann beeinflussen?
Ausgabe 3/85
Der Anschluß eines Mikrofons an den C 64 ist über den Audio-In-Pin an der Audio-Video-Buchse möglich. Das Signal muß allerdings vorverstärkt werden. Dies geht am besten über die heimische Stereo-Anlage. Man schließt also das Mikrofon an den entsprechenden Eingang der Stereo-Anlage an und verbindet den Kopfhörer-Ausgang mit Audio-In am C 64. Natürlich darf auch die Masseleitung nicht vergessen werden (GND). Die Pinbelegung von C 64 und Stereoanlage entnimmt man dem C 64-Handbuch beziehungsweise dem Schaltplan der Stereoanlage.
Achtung: Bei nicht sachgemäßer Ausführung der Verbindung können sowohl der C 64 als auch die Stereoanlage beschädigt werden. Elektronik-Laien sollten daher vom Nachbau absehen. Und noch eine Warnung: Hüten Sie sich davor, den Verstärker zu weit aufzudrehen. Durch zu hohen Eingangspegel kann der SID im C 64 zerstört werden.
Der Ton vom Mikrofon kann durch POKEn der Lautstärke hörbar gemacht werden. Weiterhin stehen alle Filtermöglichkeiten des SID zur Verfügung.
Schreibmaschine am C 64
Wie kann ich eine Olivetti Praxis 30 an den C 64 anschließen?
Ausgabe 8/84 und 3/85
Leider enthält die in Ausgabe 3/85 gegebene Übersicht über die für die Brother CE-Reihe (50, 51, 60, 70) erhältlichen Interfaces eine interessante Variante nicht, und zwar das Modul Robotext der Schweizer Firma Märki & Lenz. Robotext ist ein komplettes Textsystem (Textverarbeitung, Adressenverwaltung, Interface) und wird in der BRD durch C.M. Hacker Consult vertrieben.
Der Anschluß der Brother CE-50 bis CE-70 sowie der Olivetti P-30 bis P-40.ist mit dem Tri-Interface von Märki und Lenz direkt und ohne Probleme möglich. Außerdem ist ein EPROM erhältlich, mit dem das Interface voll zu Vizawrite kompatibel wird.
Info: Märki, Lenz & Co., Bernstr. 15, CH-3114 Wichtrach
C.M. Hacker Consult, Paulinenstraße 4, 7107 Neckarsulm
Software für Lichtgriffel gesucht
Wer hat ein Lichtgriffel-Programm für den VC 20, mit dem man auch in hochauflösender Grafik zeichnen kann?
Elektrische Schreibmaschine am C 64
Ich suche Bausätze, Anleitungen, Soft- und Hardware zum Anschluß einer alten elektrischen Triumph Schreibmaschine an den C 64.
Q-Bert für Grundversion
Das in der Ausgabe 2/85 veröffentlichte Spiel Q-Bert für den VC 20 gefällt mir ausgezeichnet. Leider wurde vergessen zu erwähnen, daß es nur mit der 3-KByte-Erweiterung läuft. Es ist mir nun gelungen, das Programm so weit zu komprimieren, daß es auch in die Grundversion paßt. Gegen Erstattung der Unkosten für Porto und Datenträger sende ich das Programm gerne jedem Interessierten zu.
Hier gibt’s Comal-Software
Der Comal-User-Club C. Canisius bietet seit Anfang Mai in Comal geschriebene »Public Domain« Software für den C 64 auf Diskette an. Jede Diskette ist doppelseitig bespielt, kostet 25 Mark und enthält in der Regel 20 bis 40 Programme.
Info: Comal-User-Club C. Canisius, Freiheitsstr. 30, 4000 Düsseldorf 12