Nr. 6/85 Juni

DM 6,50, sfr 6,50, 6S 50, Lit 5900, hfl 7,50

tE

Hires-FarbbDit Superdump Fourier-Anal

2

Solitalke BIN CE B]@N

RO EB ae

Interfaces für Computer mit Applebus + Interfaces für Computer mit Applebus + Interfa

AP 13 und AP 17 AP 33

RAM-Karten zum Einsatz als Pseu- RAMDISK der neuen Generation. dodisk unter CP/M, USCD und Für besonders speicherintensive

APPLE-DOS. Speichergröße von Arbeiten ist der Ausbau in Stufen

64 kByte bis 256 kByte. von 64 kByte bis 1MByte möglich. Bestell-Nr.: A 1013 a-b Bestell-Nr. A 1033 A 1017 a-d

AP 14

Floppy-Controller für alle Anwen- dungsfälle. 10 Laufwerke können gleichzeitig angeschlossen werden. 4 x 8” DSDD, 4 x 5Va” DSDD und

zwei Apple-Standardlaufwerke. Maximal ca. 10MByte im Direktzu- griff.

Bestell-Nr.: A 1014

RN) jetzt 512 kK-RAM

AP 20

INTEMEX mit 68 000 CPU und 123 k-RAM. Diese Karte macht aus Ihrem Rechner mit „Applebus” einen ech- ten 16 bit-Rechner. Eine Zusatzkarte (AP 26) ermöglicht einen Arbeitsspei- cher bis zu einem MByte und an Soft- ware gibt es einiges. Z.B. stehen drei Betriebssysteme und die wichtigsten Hochsprachen zur Verfügung. Bestell-Nr. A 1020

AP 19

12-Kanal AD-DA-Wandler mit 12 bit Auflösung und 25 u sec Wandlungs- zeit. Eingangsspannung +10 V. Ein schneller Wandler für extrem schnelle Anwendungen. Bestell-Nr.: A 1019

WIOWDPREIETRNR

NEU! 8 MHz Takt

AP 22

INTEMEX mit Z 80 B-CPU und 64 k-RAM. Wenn Sie einmal diese Karte in Aktion gesehen haben, werden Sie auch feststellen: „Geschwindigkeit ist keine Hexerei, man braucht nur die AP 22”. Mit dieser Karte wird Ihr APPLE II zum z.Z. schnellsten CP/M- Computer, und in Verbindung mit dem SPACE 84 erhalten Sie Compu- terleistung, die wirklich einmalig ist. Wir vermitteln gerne eine Vorführung. Bestell-Nr. A 1022

Das Interface-Buch von IBS, ein Buch für Alle, die Ihren APPLE II oder Kompatiblen optimalnutzen wollen. Detaillierte Schaltpläne, Bauteilelisten und Benutzungshinweise zu allen IBS-Interfaces finden Sie jetzt in einem Buch vereint. Ausführliche Abhandlun-

welten aber auch über die Grenzen des APPLE II-Systems bestimmen den Wert dieses

\ ao‘ „A gen über Spezialschaltungen, über Anwendungsmöglichkeiten, über neue Software-

Buches.

Für nur DM 8,00 erhalten Sie dieses Buch ab sofort bei Ihrem Computerfachhändler oder für DM 8,00 + DM 2,00 Versandkosten bei IBS COMPUTERVERTRIEB.

135 cCOMmrULETTecrNt

Olper Straße 10 - 4800 Bielefeld 14 - Tel.: 06521/444032 - W. Germany 1011 Rose Marie Lane 16 - Stockton CA 95207 - Tel. 209/473 —- 7473 USA

Jeder Apple-Besitzer, gleich ob er kleine oder große Programme schreibt, kommt zwangsläufig im Laufe der Zeit zu der schmerzlichen Erkenntnis, daß es fehlerlo- se Programme nicht gibt. There is always one more bug! Folglich erfordert jedes kommerziell vertriebene Programm einen gewissen „Support“ zur Ausmerzung von Fehlern. Zwei Beispiele:

Bug 1: In meinem Programm „RAM- DISKLC“ aus Peeker, Heft 1/85, S. 8, ist ein sehr unerquicklicher, aber leider nicht sofort evidenter Bug, der in exakt folgen- dem Fall auftritt:

10 PRINT CHR$ (4) “OPEN ZAHLEN- TEATFILE?

20 PRINT CHR$ (4) “WRITE ZAHLEN- TEXTFILE"

30 PRINT Z1: PRINT Z2...: PRINT ZN: REM usw.

Es muß also ein Textfile (kein Binärfile usw.) eröffnet werden; ferner muß ein Schreibvorgang stattfinden (WRITE, nicht READ); und schließlich müssen Zahlen (nicht Strings) geschrieben werden. Wenn nunmehr eine Zahl zwei Textfile-Sektoren überlappt, enthält genau diese Nahtstelle zwischen vorangehendem und folgendem Sektor „Zahlenschrott“.

Bug 2: Die ProDOS-Version 1.0.1 (und 1.0.2) in Verbindung mit der BASIC.SY- STEM-Version 1.0 hat einen ähnlichen Bug (s. S. 52 in diesem Heft):

10 PRINT CHR$ (4) „OPEN TEXTFILE“ 20 PRINT CHR$ (4) „READ TEXTFILE,F1“ 30 INPUT ZAHL: REM oder INPUT STRING Es muß also ein Textfile eröffnet werden (kein Binärfile usw.); ferner muß von dem Textfile gelesen werden (READ, nicht WRITE); und schließlich muß eine Feld- nummer F > = 1 spezifiziert werden. Da- gegen ist es gleichgültig, ob eine Zahl oder

£ediTORIAL

ein String eingelesen wird. Hierzu kommt es jedoch gar nicht mehr, denn in Zeile 30 weist das BASIC.SYSTEM den Variablen- wert nicht der INPUT-Variablen zu, son- dern schreibt ihn erbarmungslos in den Speicher des Applesoft-Programms (ab $0801), das somit zerstört wird.

Zur Würdigung des „Supports“ muß man den Preis der Software mit berücksichti- gen. Nehmen wir einmal der Einfachheit halber an, daß ein Peeker-Heft im Durch- schnitt 10 Progamme enthält. Da ein ein- zelnes Heft DM 6,50 kostet, hat jedes ein- zelne Programm einen Durchschnittspreis von 6,5 : 10 = 0,65 DM. Unser „Support“ für das 65-Pfennig-Programm beschränkt sich daher auf die Veröffentlichung eines Patches, der den RAMDISKLC-Bug besei- tigt.

ProDOS wird anstelle von DOS 3.3 heute in Verbindung mit der Hardware geliefert. Ein halbwegs komplettes Hardware-Paket mit Laufwerk(en) usw. kostet bei einem Vertragshändler heute immer noch gut DM 4000,-. Dafür könnte man über 50 (in Wor- ten fünfzig!) Jahre lang den Peeker abon- nieren. Welchen „Support“ erhält man je- doch in bezug auf den ProDOS-Bug? In der Regel gar keinen, weil man aus nahe- liegenden Gründen kaum einen Vertrags- händler findet, der so tief in dieses Be- triebssystem eingedrungen ist, daß er eine Patentlösung („Patch“) anbieten kann. Denn schließlich ist ein Händler ein Händ- ler und kein Entwickler.

Ulrich Stiehl

So entstand der APPLE-Biß! (Frei nach Wilhelm Busch) Computergrafik von N. G. Barbieri

Impressum Verleger und Herausgeber: Anzeigenleitung: Dipl.-Kfm. Holger Hüthig Jürgen Maurer, Tel. (06221) 489218

Magazin für Apple-Computer Geschäftsführung Zeitschriften: z. Zt. gilt Anzeigenpreisliste Nr. 3 2. Jahrgang 1985 Heinz Melcher Vertriebsleitung:

Peeker

Ruth Biller, Tel. (06221) 489280

ISSN 0176-9200 Chefredakteur: Produktionsleitung: Gunter Sokollek

© für den gesamten Inhalt Ulrich Stiehl (us) Tel. (06221) 489352 een re einschließlich der Programme (Bitte nur in redaktionellen Angelegenheiten ne er

Dr. Alfred Hüthig Verlag, anrufen) Titelbild: Creative Computer Heidelberg 1985 Service, Mannheim

MAGAZIN FÜR APPLE-COMPUTER

Impressum ur . 5 Graf-quattro Inserentenverzeichnis . 8] 5 Teil 2: Schneller als der Schall Leserbriefe .. . 69 von Nino G. Barbieri Wie gibt man Maschinen- programme ein?.. . . . . 70 j Extended Graphic System 7 Das Farbbit Terminal-Programm für die 16 Pseudo-Double-Hires auf dem Apple Il Plus Super-Serial-Card 79 von Hans-Detlef Siewert Testberichte Diversi-DOS 4-C . 72 Superdump Lasar Ilze nn ‚25 22 Das universelle Hires-Grafik-Dump-Programm Typenradschreibmaschine von Jürgen Geiß Brother CE 50 °. 18 Editierhilfen für den Apple Hardcopy auf Olympia ESW 100 RO GPLE und DOUBLE TAKE . it 34 Ein Typenraddrucker wird grafikfähig Lernprogramme von INTUS . ‚78 von Ralf Menssen 3 8 Fourier-Analyse von Peter Walber Applesoft-Erweiterungen 43 Eine Sammlung von Ampersand-Routinen von Markus Enzinger A 8 RAM-Disk-Driver für Pascal 1.1 von Michael Schröter ProDOS 5 2 Theorie und Praxis von Ulrich Stiehl Apple-CP/M 55 Mit einem RAM-Disk-Driver für die 64K-Karte von Karl-Walter Bott Solitaire ee A und wie man es löst von Stefan Maas Verlag: Erscheinungsweise: 12 Hefte jährlich, Zahlungen: an den Dr. Alfred Hüthig Verlag Bankkonten: Landeszentralbank Heidel-

Dr. Alfred Hüthig Verlag GmbH Im Weiher 10, Postfach 102869 6900 Heidelberg

Telefon (06221) 489-0

Telex 4-6 1727 hued d.

Erscheinungstag jeweils 1 Woche vor Monatsbeginn. Jahresabonnement DM 72,-, einschließlich MwSt, im Inland portofrei. Einzelheft DM 6,50

Vertrieb Handel:

MZV - Moderner Zeitschriften Vertrieb GmbH Breslauer Str. 5, Postfach 1123,

8057 Eching b. München,

Tel. 089/3191067, Telex 0522 656

GmbH, D-6900 Heidelberg 1: Postscheck- konten: BRD: Karlsruhe 485 45-753; Österreich: Wien 7555888; Schweiz: Basel

40-24417; Niederlande: Den Haag 145728;

Italien: Mailand 47718; Belgien: Brüssel 723026; Dänemark: Kopenhagen

34969; Norwegen: Oslo 994 24;

Schweden: Stockholm 5477 76-5

berg 67 207 341; BLZ 672000 00; Deutsche

Bank Heidelberg 02165041; BLZ 672 70003; Bezirkssparkasse Heidelberg 204 51, BLZ 67250020.

Herstellung: Heidelberger Verlagsanstalt Printed in Germany

Jedes Hires-Grafikprogramm hat selbst- @ verständlich einen Hires-Cursor. Ich halte

nicht viel von einem Cursor! Für mich sind

zwei Cursoren viel besser.

Warum zwei Cursoren?

Weil der Mensch zwei Hände hat,

eine Linie zwei Enden,

ein Zirkel zwei Spitzen,

von N.G. Barbieri —- et cetera.

Teil 2: Schneller als der Schall

6 Peeker 6/85

1. CURSOR1 und CURSOR2

Die ersten zwei Utilities dieses Beitrags bilden die zwei Cursoren auf der Hires- Seite und sind wie die Programme aus dem ersten Teil dieser Serie (Peeker, 4/ 85) selbständige Assemblerprogramme, die direkt von Applesoft oder anderen Ma- schinenprogrammen aufgerufen werden können. Im Grunde genommen sind die zwei Routinen identisch bis auf die Form der Shapes: „+“ für CURSORI und „x“ für CURSOR2. Bevor ich auf die Funktion eingehe, einige Worte über die Applesoft- Routine HFNS ($F6B9). Diese untersucht die aktuelle Programmzeile, holt sich ei- nen ersten Wert, der nicht kleiner als O und nicht größer als 279 sein darf, prüft, ob ein Komma vorhanden ist, und holt sich dann

Peeker 6/85

einen zweiten Wert, der nicht kleiner als O und nicht größer als 191 sein darf. Am Ende sind die Werte, die wir X und Y nennen wollen, jeweils im X-Register (XLOW), im Y-Register (XHIGH) und im A- Register (Y-Wert). Damit ist eine bequeme Art und Weise gegeben, von Applesoft aus einen direkten AnschluB an Assem- blerroutinen für die Hires-Grafik mit Über- gabe von Werten, Variablen oder Formeln für die X-Y-Koordinaten zu finden.

Die einzelne Cursor-Routine ist so ge- schrieben, daß beim ersten CALL ein Shape mit XDRAW an den gegebenen Koordinaten gebildet wird. Bei weiteren CALLs wird immer zuerst das alte Shape gelöscht und dann ein neues gebildet, ge- gebenenfalls auf einer neuen X-Y-Posi- tion. Damit wird die spätere Arbeit in Ap- plesoft wesentlich erleichtert. Für die Cur- soren werden die normalen Applesoft- Shapes verwendet, aber direkt ohne den Umweg über das offset-indizierte Verfah- ren. Das geschieht, indem zuerst im X- und Y-Register jeweils das Low- und High-Byte der Speicherstelle, wo die Shape-Vektoren anfangen, und im A-Re- gister die Rotation (in unserem Fall immer 0) geladen werden und dann ein JSR auf XDRAW ($F65D) erfolgt. Ist ein DRAW gewünscht, gelten dieselben Regeln, nur sollte dann der JSR auf $F601 geschehen. Möchte man diese Grundroutine auch für andere Zwecke benutzen (vielleicht für ein Flugzeug in einem Computerspiel), so braucht man nur andere Shape-Vektoren an der gegebenen Stelle einzufügen.

Um die Cursoren zu steuern, hier die ent- sprechenden CALLs:

CURSORT: Das erste Mal CALL 24769, danach CALL 24757.

CURSOR2: Das erste Mal CALL 24820, danach CALL 24808.

Die entsprechenden lauten:

CALL 24757: X, Y (später) CALL 24769: X, Y (anfangs)

für CURSORI1 und

CALL 24808: X, Y (später)

CALL 24820: X, Y (anfangs)

für CURSOR2.

Ähnlich wie bei XPLOT (s. Teil 1 dieser Serie) darf man nicht den syntaktischen „ı“ zwischen CALL und Koordinatenwer- ten bzw. Variablen vergessen. Die Koordi- naten werden danach automatisch gespei- chert, und zwar jeweils in der Reihenfolge XLOW, XHIGH und Y für CURSOR1 in $03CA, $03CB, $03CC und für CURSOR2

BASIC-Befehle

grafik 4.4

in $03CD, $03CE und $03CF. Damit ist eine einfache und sichere Übergabe der Koordinaten für die anderen Utilities ge- währleistet.

2. LINIE

Die Tatsache, daß die Cursor-Koordinaten immer verfügbar sind, erlaubt es, mit einer sehr einfachen Routine eine Linie zwi- schen den zwei Punkten zu ziehen. Da- durch, daß wir jetzt auch über einen XPLOT-Modus verfügen (s. Teil 1), ist es möglich, die Linie auch blinken zu lassen und wie ein Gummiband zu behandeln. Ein Flag bei $0300 (768) regelt dies. Ist die Speicherstelle auf 0, so wird die Linie in XPLOT gebildet, sonst erfolgt der normale HPLOT. Die Assemblerroutine erklärt sich selbst. Von Applesoft aus reicht einfach ein

CALL 24861.

Die Unterroutine CURSORE sorgt dafür, daß die Cursoren veschwinden oder neu gebildet werden, je nach Bedarf. Damit wird verhindert, daß Linien oder andere

Gebilde und Cursoren sich gegenseitig

XORen.

3. VIERECK

Benutzt man die zwei Cursoren als diago- nal entgegengesetzte Ecken, ist es sehr einfach, ein Viereck zu bilden. Die Technik ist ähnlich der Routine LINIE, hat aber zusätzlich eine Unterroutine DOLINE, die auch für die folgenden Programme nütz- lich sein wird. Von Applesoft aus wird VIERECK mit

CALL 24927

aufgerufen.

4. BOX

Die BOX-Routine erlaubt es, ein Viereck zu füllen. Um die Sache interessanter zu machen, wird hier alternativ in vertikaler Richtung mit zwei Farben gefüllt, wobei auch eine Farbe 8 berücksichtigt wird, d.h. XPLOT. Dafür verwenden wir zwei Pointer, und zwar $0302 (770) und $0303 (771), wo jeweils die gewünschten Farben ge- pokt werden müssen. Möchte man nur mit einer Farbe füllen, poke man auf beiden Stellen denselben Wert und rufe danach BOX mit

CALL 25007

auf. Will man zum Beispiel den Inhalt des Vierecks negativ darstellen, dann muß man zweimal die 8 poken. Die Unterrouti- ne SETCOL sorgt dafür, daß entweder der entsprechende COLORMASK-Wert zum

Klaus Jeschke

Hard-, Software Viert Straße 3-13 6233 Kelkheim

2 (06198) 7523

.n

nlo 188: 1. 2 4} 2 HE . |

| PaDOHeI

APPLE -- DISKETTEN LAUFWERKE -- APPLE : i IBM *** KOMPATIBEL ***** IBM *** KOMPATIBEL * Original Disk II m. Controller + DOS3.3+ Hdbuch DM 995,— A ee 6 Mon. Garantie Reparaturservice Alle Teile unterliegen einer sorgfältigen Endkontrolle und wir Original Disk Il (2. Laufwerk) DM 765,— Ansie-Beirlalne En übernehmen daher volle Garantie für die Funktionsfähigkeit, Duo-Disk Station Slimline, 2 x 143KB Chinon DM 995,— pp y en sowohl für die gelieferten Leerplatinen, als auch für die fertig Siemens Disk-Laufw., 143KB, m. Kabel + Gehäuse DM 525,— EEE ä bestückten Boards und Interface Karten, die fast ohne Ausnahme Abor-Disk-Laufw., Slimline, 143KB,m.Kab.+ Geh. DM 435,— £ mit gesockelten IC's geliefert werden. Chinon Slimline, 143KB, Superleise, m. Kab.+Geh. DM 495,— i IBM -- Kompatible Interface Karten und Mainboards -- IBM Teac 55F, 1 MB unf. Kapazität, Shugartbus DM 625,— Disk Controller Karte für 2 Disk-Drives "KL-2020 DM 298,50 Teac 55F, kpl..in Gehäuse, 40/80 Track, 1MByte Color Video Board, Farb- und Video Ausg. *KL-2050 DM 598,— anschlußfertig, mit Umschaltung 40/80 + Kabel DM 698,— Monochrome Video Boards "KL-2060 DM 398,— Zweitlaufwerk für Apple II C, 143 KB, mit Kabel DM 498,— RS 232 Drucker Interface Karte KL-2074 DM 199,— APPLE -- INTERFACES + MAINBOARDS -- APPLE ; Centronics Paralell Interface Karte KL-2072 DM 198,— Disk Controller f. 2 Original 0. kompat. Drives "DM 89,— / Multifunktion Karte, RAM-Bereich, RS232, Super-Controller f. 2x Teac 55F, mit Software “DM 188,— Paralell, Clock, mit OK bestückt *KL-2040 DM 499,— 80 Zeich-Karte mit 64K RAM + Softsw. f. le DM 395,— dto. wie vor, jedoch mit 128K bestückt *KL-2041 DM 699,— 80 Zeich-Karte Il,m. Softswitch, 2 Zeichensätze "DM 159 AppLE£ -TASTATUREN+LEERGEHÄUSE+NETZTEILE- APPLE APPLE -- ORIGINAL + KOMPATIBLE - COMPUTER -- APPLE dto. wie vor, jedoch mit 256K bestückt "KL-2042 DM 899,— Au FUSS Erweiltrung TORE und iiprapetibie ‚DM 98— Standard Einbau-Tastatur, ASCII, freibel. 9 Tasten, APPLE Ile, 64KRAM, Ascii-Tastat. + UHF-Modul. DM 2198— 512K RAM Karte, mit O K bestückt KL-2095 DM 348,— 2 OO UI UUER VER HELD AL DM 88 Doppelbelg. aller Tasten, Groß+Kleinschr.Nr.N26 DM 139,— APPLE Ile. Einstiegspaket = Computer 64KRAM, dto. wie vor, mit 128K bestückt KL-2096 DM 548,— Z 808 Interface Karte für CPM 3.0, m. 64K RAM ‚DM 595,— Tastatur wie vor, jedoch mit 15er Block Nr.N67 DM 178,— + Philips-Monitor 18 Mhz grün + Siemens F122 - Multi I/O Interface Board, RS232, Disk-Controller, Printer-Grafik Interface, Epson kompatible [DM 98,— Tastatur Nr. N67, mit sep. Gehäuse, kpl. m. Kabel DM 249,— Laufwerk 143K m. Controller + Lerndiskette DM 3098, Centronics, Clock, Joystick SWEET UKGREN, DOENONGEETBOO EIN ‚DM 9%,— seperate Tastatur IBM-Look, anschlußfertig mit APPLE IIC, 128 KRAM, ASCII Tastatur DM 2795,— undLightpen-Port "KL-2071 DM 699,50 Printer-Grafik Interface, NEG/ITOH kompatibel DM 169,— Kabel,Dopp.belegt.Tasten, freiprog.Funkt.Tasten DM 298,— APPLE II C. wie vor, jedoch deutsche Tastatur DM 2998, Eprom Writer Karte (bis 128K benutzbar) a.A. Anschluß Kabel f. Paralell + Grafik Interface DM 34,— Seperate Tastatur, Eprom progr.-bar, Cursorblock MACINTOSH System komplett m. Mouse+ Tastatur Hardisk/Winchester Host-Adapter Karte "KL-2022 DM 1188,— Bufter Grafik-\metiace, banutzber für Drucker Tastenfeld mit 24 Funktionen, Deutsch o. ASCII DM 398, + Macwrite/Macpaint, Systemguide-Diskette DM 5995, Mainboard XT Version, 8 Slots 64K_ bestückt Epson/Nec/ltoh/Okidata u. andere m. 32K Buffer DM 348,— Leergehäuse Standard, passendf. TastaturNr.N?6 DM 98,— MEWA-48K, Apple kompat., Netzt. 5Amp, Tastatur mit 1 Boot-Eprom, 6 Eprom-Plätze frei "KL-1004 DM 996,— Buffer Interface wie vor aber mit 64K Buffer "DM 585,— dto. wie vor, jedoch passend für 15er Tast. N67 DM 119,— mit Dopp-Belegung + 10 frei Prog.Tasten, mit dto. wie vor, jedoch mit 128K bestückt *KL-1005 DM 1096,— Anschluß Kabel f. Buffer Interface Karte DM 39,— Leergehäuse wie Mewa 9000, für Einbau von zwei UHF-Mod,, ohne Firmware Eproms. DM 888,— dto. wie vor, jedoch mit 256K bestückt *KL-1006 DM 1296,— 232C Serielle Interface Karte „DM 109— sjimline-Laufwerken + Tastaturanschluß, Plastic DM 159,— MEWA-S4K, wie vor jedoch mit 15er Block DM 948,— Mainboard PC Version, 8 Slots, 64K bestückt Super Serieiie Interface Karte, Fulldupiex DM 288,— Leergehäuse wie vor, jedoch in Metall-Ausführung DM 198,— MEWA 9000er Serie, mit seper.Tastat. DIN o. ASCII mit 1 Boot-Eprom, 6 Eprom-Plätze frei "KL-1010 DM 896,— Sprach (Speech) Karte f. Sprachwiedergabe [DM 78,— Leergehäuse IBM-Look, f. 2 Laufw. Standard 5" DM 198,— m. dopp. belegt. Funkt-Tasten, Cursorbl. + 15er dto. wie vor, jedoch mit 128K bestückt "KL-1011 DM 996,— 6522 Paralell Interface Karte DM 148,— Leergehäuse für 1 Slimline Laufwerk, Metall DM 19,90 Block Netzt. 5 Amp., Gehäuse für 2x Slimline- dto. wie vor, jedoch mit 256K bestückt "KL-1012 DM 1296,— Clock Karte (Datum/Uhrzeit) Ein/Ausgabe "DM 129,— Leergehäuse f. Duo-Disk = 2x Slimline-Laufwerke DM 98,— Laufwerke UHF-Modulator, o. Firmw.-Proms Bei den mit * gekennzeichneten Artikeln gehört zum Lieferumfang Eprom Writer Karte (2716 - 2764) ‚DM 129,— Leergehäuse f. Duo-Disk = 2x Standard-Laufw. DM 109,— (12KROM), 48K RAM DM 1098,— ein Manual, und z. T. ein Schaltbild. IEEE-488 Interface Karte DM 398,— Leergehäuse f. Duo-Disk = 2x Slimline + Netztel' DM 179,— MEWA 9000-64-C, wie vor jedoch 64K RAM DM 1198,— IBM -- Kompatible Leerplatinen + Boards - IBM | ee ee „DM 498 Schaltnetzteile für APPLE u. kompatible Rechner MEWA 9000-64-C Einstiegspaket, wie vor, jedoch Disk Controller f. 2. Drives DM 58,— Musik Karte m. Diskette und Handbuch DM 119— ,59/3,5A -5V/0,5A +12V/2A -12V/05A N73 DM 99,80 mit 1 Disk Drive eingeb. + Disk-Contr. + Monitor, Color Grafik Video Board DM 78,— PAL Color Interface Karte (UHF + Video) "DM 129,— +5V/5 A -5V/0,5A +12V/2,5A -12V/0,5a N74 DM 119,80 grün DM 2098,— RS232 Interface Karte DM 68,— AGB Interface Karte (f. Appie ll + Il+) "DM 169— ,54/7,5A -5V/0,5A +12V/2A -12V/05A N75 DM 149,50 IBM-Look Gehäuse für MEWA 9000 Serie Aufpreis DM 68,— _Centronics Paralell Interface Karte DM 68,— Wild Karte (kopiert über RAM-Bereich) "DM 119,— “or... DISKETTEN + DISKETTEN-BOXEN -- see _ MATRIX- UND TYPENRAD - DRUCKER -—- ******"* Multifunktion Interface Board DM 99,— Peek EN EIWERB U EEE N Eshenecltwe DIR Zen Profi Disk.Box, m. Schloß, Klars.-Deckel, 100Disks DM 49,— CP-80 Matrix Drucker, Epson kompat., vollgrafik(. DM 739,— Eprom Writer Interface Karte DM 78— 256K RAM Erweiterungs Karte m. Patchsoftware "DM 698,— Disk Box mit Klars.-Deckel, ca. 70 Disketten 5" DM 26,— CP-80 X mit eingeb. Interface für VC64f.Sim.B. DM 899,— Multi l/O Board DM 78— 6809 Prozessor Exell-9 Interfacekarte +DM 398,— „artbox für 10 Disketten, mit Klappdeckel DM 690 SPEEDY 100.80 Epsonkompat..1002/s,v..grafik. DM 759 Mainboard XT Version, 8 Slots DM 98,— IC-Tester Interface Karte (RAMS/TTL 54/74) DM 448,— Disketten, mit Verstärkungsring, 3 Jahre Garantie GEMINI 10X, Neu mit Textsp., 100 Z/s., 9x9 Mat. DM 998,— Mainboard PC Version, 8 Slots DM 96,— FOREN LT RED DEF ON BI ARRORR DM 587 ABX 100 = SS/SD 10 Stck.a. 3,9850 Stck. a. 3,88 500 Stck.a.3,59 GEMINI15X wie 10X, jedoch bis375 mm Papierbr. DM1198— RAM Card für Speicher-Erweiterung DM 68 Hauptplatine 64K, wie vor DM 648.— ABX 200 = SS/DS 10 Stck. a. 4,08 50 Stck. a. 3,98 500 Stck. a. 3,69 ITOH 8510 B, Die Zuverlässigkeit in Person DM 14755. Alle Leerplatinen werden mit Bestückungsplan geliefert. APPLE - LEERPLATINEN go APPLE ABX 400 = DS/DD 10 Stck. a. 4,98 50 Stck. a. 4,88 500 Stck. a. 4,59 JUKI 6100. Typenraddr., 22 Z/s, TA-Typenräder DM 1495,— Schaltbilder, soweit verfügbar, Lieferung gegen Aufpreis. Leerplatinen der obigen Interface Karten sind alle in vergoldet, typ a B IBM -- Gehäuse/Netzteile/Tastaturen/Diskdrives - IBM m. Bestück-Aufdruck + Best.-Plan lieferbar. GENE TEEETTERERFTTITENTE Rechner Leergehäuse f. Einbau v. 2 Drives DM 236,— Leerplatinen mit der Kennzeichnung "DM 39,— Computer-Artikel Nachnahmeversand unfrei, Zwischenverkauf vorbehalten. , e Profi-Tastatur, m. Kabel im Gehäuse, ASCIl DM 395,— Leerplatinen mit der Kennzeichnung "DM 24,50 Angebote freibleibend unter Anerkennung unserer Lieferbedingungen. Technische Änderungen vorbehalten. "Apple ist eingetragenes dto. wie vor, jedoch deutsche DIN Belegung DM 489,— Leerplatinen mit der Kennzeichnung +DM 33,— Warenzeichen der Fa. Apple-Computer Inc., Kalifornien. Ware mit Rückgaberecht, besonders gekennzeichnet, muß frei zurückgeschickt Standard Tastatur, IBM-Look, ASCII DM 298,— Experimentier Platine, für Apple Slot EX300 DM 29,90 werden. "IBM* ist eingetragenes Warenzeichen der Firma IBM GmbH Ffm. Netzteil, mit Ventilator, 100 Watt DM en Leerplatine Motherboard, 48K, mit Best.-Aufdruck DM 66.— dto. wie vor jedoch 135 Watt DM JE Leerplatine Motherboard, 64K, mit 6502 + Z80 om #—- COMPUTER CENTER CONEX ERICH-WILLI MEYER Disketten Laufwerk, 2x40 Track DS/360 KB Di Fre 5650 SOLINGEN 11: Postfach 11 0206 -11G 6343 FROHNHAUSEN - Postfach 70 11 Harddisk 10MByte, kpl. m. Xebec Controller R

Telefon (021 22) 754.49

Telefon (027 71) 350 71

Sonderliste gegen Rückporto. Katalog gegen 3 DM in Briefmarken

Für lic und Ile mit 64K-Karte

SUPERPLOT

Double-Hires-Utility von Karl-Walter Bott, 1984, Programmdiskette und Manual, DM 48,—

SUPERPLOT ist eine neue, ungewöhnlich kompakte und schnelle Ampersand-Utility für Double Hires, die einschließlich eines vollständigen ASCII-Shape-Zeichensatzes wahlweise in Bank 1 oder Bank 2 der Language Card liegt und damit sowohl unter ProDOS als auch unter DOS 3.3, falls letzteres in die LC-Bank geschoben wurde, benutzt und in eigene Applesoftprogramme integriert werden kann. SUPERPLOT unterstützt die üblichen HGR-Befehle, denen lediglich ein & vorangestellt werden muß, also z. B. & HPLOT 500, 100 TO 500, 150 usw. SUPERPLOT ist speziell für das Plotten von beschrifteten wissenschaftlichen Funktionskurven mit hoher Auflösung gedacht und weniger für HGR-Spiele.

Hüthig Software Service - Postfach 102869 - 6900 Heidelberg 1

8 Peeker 6/85

GILLEILTAAE ST

Gratis! ‚AppleQuick

Das Apple Il-Brevier fur haufig gebrauchte Adressen und Befehle! 64 Seiten uber Apple- soft, DOS, Pascal, CP/M.

Die beiden Autoren haben zusam- Gleich anfordern!

a. en als 50 We Amateur- a unk-Erfahrung und präsentieren Se hier mehr als 20 BAsıc- ) BASIC-Pro- Programme, die jeden Funkamateur interessieren: TH-KENNER, DAMMERUNGSLINIE ‚DX- RECHNER ,‚DOPPEL-FAHN- DER, NACHWEISSCHREIBER, ALLZWECK-CONTEST-LOG- GER, FIELD-DAY-LOGGER, WETTBEWERB-LOGGER u.v.a.m. Das Buch enthält die kom- PER Listings für Apple II und

% Ablage Bearbeiten Große AIIET Zeichensatz Stil

Be m ed

andahnnko

Bismarckstr. 67, D-1000 Berlin 12 (030) 342 88 00

5567 Pandabooks!

Ba

N

CD

gramme fur

Funkamateure Overbeck

Die Qualität kommerzieller Arcade- spiele läßt sich mit APPLESOFT BASIC alleine nicht erreichen. Jef- frey Stanton führt in die Eigenarten der hochauflösenden Apple-Grafik ein und präsentiert schließlich eine Reihe extrem schneller Assembler- Routinen, mit denen Sie viele Effek- te bekannter Spiele selbst program- mieren können. Gute BASIC-

Apple II Raster Grafik

Jeffrey Stanton

3-89058-027-0 ca.256S. DM 48,-- komplett mit Disk DM 89,--

Kenntnisse werden vorausgesetzt, A pp le I] eine Einführung in Assembler- Eine detaillierte Beschreibung der Programmierung wird gegeben. Schal tp lane Apple II und Apple IIplus Schaltun-

gen. Wenn Sie Ihren Apple selbst re- parieren, Interface-Karten oder Schaltungserweiterungen entwerfen oder einfach nur besser über das In- nenleben Ihres Apple Bescheid wis- sen wollen - dieses Buch bietet Ihnen eine Fülle an Informationen, Schalt- pläne und Zeitdiagramme, Theorie und praktische Tips.

3-89058-012-2 215S.A4 DM64,--

3-89058-006-8 299 Seiten DM 49,-- Wınston D Gayler

komplett mit Disk DM 89,--

Don Worth und Peter Lechner sind die Autoren von ‘‘Beneath Apple DOS‘‘, der Bibel aller DOS 3.3- Benutzer. In ihrem neuen Buch ha- ben sie sich ProDOS vorgenommen und mit der ihnen eigenen Gründ- lichkeit zerlegt. Ausführliche Be-

Handbuch Worth/Lechner

schreibung der Arbeitsweise, der

Endlich anspruchsvolle Apple-

Km ZZ us nn

Dateitypen, des ‘“MLI‘‘ und des Grafik für BASIC-Programmierer. i f “BASIC SYSTEM“‘. Das Standard- Mikrocomputer Grafik Mik 3 OCOMDIMET werk für jeden ProDOS-Anwender. i Grafik

- enthält fast 80 lauffertige BASIC- 3-89058-036-X ca.250S. DM 46,-- Programme, die die beschriebe- } Roy E. Myers

nen Konzepte illustrieren.

beschreibt ‘Hidden Line‘‘- und “Hidden Surface‘‘-Techniken, r Skalierung, Rotation und Trans- >

lation von Grafiken |

\ Das Assembler-Lehrbuch für BASIC-Kenner.

Apple II

bietet eine Einführung in die Ani-

rd ki. a der a: Vet 7 Assembler- i mationstechnik

annter Software-Pakete, schrie > ing j

eine monatliche Kolumne über ) [Ogrammıer und 3-89058-000-9 292 Seiten DM 49, | Assembler-Programmierung in der Roger Wagner komplett mit Disk DM 89,--

Apple-Zeitschrift SOFTALK. [ ma

Der vorliegende Band faßt diese si Ö N)

Reihe, korrigiert und erweitert, zu- N) | 22 Pascal-Programme, mit denen sammen: Eine stufenweise Einfüh- -

Sie die Grafik-Möglichkeiten Ihres

Apple Apple voll ausschöpfen:

Pascal Grafik

rung in die Befehle und Strukturen der 6502-Assemblersprache, mit vie-

len Beispielen von der einfachen

Tongenerierung bis zum Disketten-

zugriff.

3-89058-003-3 277 Seiten DM 48,-- komplett mit Disk DM 89,--

Tom Swan

“‘Designer‘‘ ermöglicht es Ihnen, ei- gene Zeichensätze zu entwerfen. ‘“‘Gredit‘‘ unterstützt Sie beim Ent- werfen komplexer Bildschirm- Grafiken

“Printfoto‘‘ bringt Ihre Entwürfe

aufs Papier.

Darüberhinaus bietet das Buch eine Fülle fertiger Prozeduren, die Sie | zeitsparend in Ihre eigenen Pro- gramme einbauen können

3-89058-009-2 280 Seiten DM 49,-- komplett mit Diskette DM 89,--

Ein Simulationsprogramm, das Sie in das Innere des 6502 Mikroprozes- sors führt. Sie sehen auf dem Bild- schirm, wie die einzelnen Instruktio- nen in Zeitlupe ausgeführt werden, wie sich die Register und die Flags verändern. Ein unverzichtbares Hilfsmittel beim Erlernen der Assembler-Programmierung, da- nach ein wertvolles Werkzeug beim Testen Ihrer eigenen Programme. Komplett mit einem 6502 Editor/-

Visible Computer Charles Anderson

Österreich. OÖLandesverlag, Linz * Schweiz : Thali AG, Hitzkirch |

In allen Buchhandlungen und Computershops oder direkt von: Pandabooks, Bismarckstr. 67, 1000 Berlin 12, (030) 342 88 00 ; BE BEE Bestellcoupono BRBRBBBBEBBBBEBBEBEEN

Assembler, deutschem Handbuch Name: . eis Sa ee

(150 Seiten) und über 30 Beispiel- Anschrift: O per Nachnahme

programmen. (zzgl. Versandspesen) Menge Titel Preis

3-89058-019-X DM 129,--

Peeker 6/85 9

Einsatz kommt oder der XPLOT (8) einge- schaltet wird. SETCOL wird auch bei der folgenden Routine benutzt.

9. HINTERGRUND

Grundsätzlich funktioniert HINTER- GRUND wie BOX, nur mit festen Werten und dadurch schneller (schließlich muß die ganze Seite gefüllt werden). Der ent- sprechende Applesoft-Befehl lautet CALL 25177.

6. PAGE.SWAP

Für den Grafik-Editor, den ich später vor- stellen werde (HGR als Arbeitsseite und HGR2 als Hilfsseite), wird es oft notwendig sein, die zwei Seiten auszutauschen. Die- se kleine Routine besorgt das blitzschnell. Zum Swapppen verwende man

CALL 25258

als Applesoft-Befehl. Hier ist der Unter- schied zwischen Applesoft und Maschi- nensprache voll spürbar. Ein entsprechen- des Applesoft-Programm würde über 200mal langsamer sein!

Lassen wir es für diesmal genug sein. Im 3. Teil von Graf-quattro geht es um das Übertragen oder Kopieren von einem be- liebigen viereckigen Ausschnitt, entweder auf derselben oder auch auf der anderen Grafikseite.

10

SCHNELLER AlSG DER SEHALL

.denndasModem | Ber WS 2000 überträgt —.

LocaL TEST Ras

\ T TIRKLE Modem WS 2000

» Datenaustausch und Kommunikation weltweit und mit praktisch jedem Computer Nutzung von Datenbanken, Mailboxen, DATEX-P, BTX, BTX rückwärts usw. $ TELEX nutzen ohne eigenen Anschluß mit Ihrem Computer und: dem WS 2000 PAlle gängigen Baudraten (75, 300/300, 600, 1200, 1200/75, 75/1200) und internationalen Stan- darts (CCITT, BELL) auch automatisch umschaltbar (mit IC-Satz SK-1) $ Automatisches Wählen (mit AD-2) $ Au- tomatisches Anruf-Annehmen (mit AA-2) $ Einfacher An- schluß (parallel zur Telefonleitung) ® Eingebautes Netzteil » Deutsche Anleitung $ 1 Jahr Garantie Sofort ab La- ger Hamburg lieferbar

Preise (inkl. MWST.; zuzügl. Verp. u. Versandk.; bei Vorkasse frei Haus): WS 2000 World Standard Modem DM 798,00 IBMC IBM-Interface (UPL-Port) DM 330,60

AD-2 _AUTODIAL-Platine DM 199,50 APC Apple-Int. (RS232 u. UPL) DM 330,60 AA-2 AUTOANSWER-Platine DM 199,50 CBM-1 Interface f. C64/VIC20 DM 136,80 SK-1 Steuer-IC-Satz DM 96,90 ML-2 Kabel Computer/Modem

UPL Kabel f. AD-2 u. SK-1 DM 45,60 (nicht nötig f. APC-2 u. CBM-1) DM 57,00

Software und weitere Interfaces auf Anfrage » Erhältlich im Fachhandel oder vom Importeur: Claus F. Erbrecht - Computer Related Products Lappenbergsallee 37 - 2000 Hamburg 20 Tel.: 040/8505255

Achtung: Nur für hausinterne Telefon-Anlagen - in \Z Ai MIRACLE

der Bundesrepublik Deutschland ist der Anschluß an das öffentliche Telefonnetz nicht gestattet!

Peeker 6/85

CURSOR1

60DE: 6PEl: 6DEA: 60ET:

32 cl 55 np

51 Bytes

CURSOR2

oo onısVv ou huıvd m

DrbrerbrrrrH HH SODOv IODTT PU DH

DWDDXMD QvDdHr

DD

DD DD SONO

en rm

Bon am a a oa wa WW SOON) AU D

AA av

TTtm mm nm m np pr ra» » ONODOTTAUDHSOOTÄNID OA

oo oı9 m Bud Hr

DrrbHrbrHrHHr HH SO o IV AU DVD HU

DD Dr

23

60ES: AE CD 3 24

Peeker 6/85

ORG $6@B5 ‚24757

CURSOR1

* E 2 * * * von N.G. Barbieri/1985 %*

*

Aufrufen mit CALL 24757: X,Y

COLON EQU $3A sun CUXL EQU $3CA CUXH EQU $3CB CUY EQU $SCC SYNCHR EQU $DEC® HFNS EQU $F6B9 HPOSN EQU $FAll XDRAW EQU $F65D * * Weitere CALLS %* * Hole alte Koordinate %* LDX CUXL LDY CUXH LDA CUY

und lösche alten Cursor. JSR CURS

Erster CALL

Hole neue Koordinate LDA #<COLON

JSR SYNCHR JSR HFNS

‚Syntax- ‚prüfung

Speichere neue Koordinate

STX CUXL STY CUXH STA cCUY

und bilde neuen Cursor.

JSR HPOSN LDX #<SHAPE ‚Shape- LDY #>SHAPE ‚adresse LDA #$9 ;ROT=® JMP XDRAW

%*

* SHAPE für Cursor +

%*

SHAPE HEX 3207C1 HEX C16721 HEX 5534A97 HEX 09

ORG $6PE8 ‚24808

CURSOR2

von N.G. Barbieri/1985

* * * * * * *

Aufrufen mit CALL 24808: X,Y *

COLON EQU $3A zum CUXL EQU $3CD

CUXH EQU $3CE

CUY EQU $3CF

SYNCHR EQU $DEC®

HFNS EQU $F6B9

HPOSN EQU $FAll

XDRAW EQU $F65D

%*

* Für weitere Kommentare siehe * CURSORI!

* * Hole alte Koordinate *

LDX CUXL

oo oıoaPruvmnd-

DHrrrbrHrHr Hr HH So SV UV AND HU

DWVDDXD N DH

WWW mnmwmnmnmn mn ABArR»r—r par ar W A N NW A U U U SS DI DWVDWDWDD oO ID PUD- SO IO TI PPUNUNDHrSOVO IVO UI PWNDH-BSOO ID UM

*

LDY LDA JSR LDA JSR JSR

CUXH CUY CURS #<COLON SYNCHR HFNS

‚Syntax- ‚check

* Speichere neue Koordinate

%*

*

STX STY STA JSR LDX LDY LDA JMP

CUXL CUXH CUY HPOSN #<SHAPE #+>SHAPE +$9 XDRAW

* SHAPE für Cursor X

SHAPE

HEX HEX HEX HEX

1C1C4D Fl1ElE 1E4D39 C19799

von N.G.Barbieri/1985

Aufrufen mit CALL 24861

* CUlXL CUIXH CUlY

CU2XL CU2XH CU2Y

XFLAG CURS1 CURS2 HPOSN XLINE HGLIN

“*r rk kr KRr Kr

*%* *

%* * *

EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU

JSR

Dann Linie

LDX LDY LDA JSR LDX LDY LDA BEQ LDA JSR JMP

LDA JSR

CURSORE LDX

*

* Die Routine

LDY LDA JSR LDX LDY LDA JSR RTS

$3CA $3CB $3CC $3CD $3CE $3CF $399 $60D2 $6105 $FAll $603F $F53A

Erst Cursoren löschen

CURSORE

bilden ...

CUlXL CU1lXH culY HPOSN CU2XH cu2Y XFLAG XOR CU2XL HGLIN CURSORE

CU2ZXL XLINE

CUlXL CUlXH culY

CURS1 CU2XL CU2XH CU2Y

CURS2

‚Shape- ‚adresse ;ROT=®

Zieht eine HPLOT- oder XPLOT- Linie zwischen CURSOR1l und CURSOR2.

‚Ist XOR?

;Nein!

‚Ja!

und wieder Cursoren.

CURSORE kann auch

11

66 Bytes

VIERECK

oo o_ıvVum Pu vr

AU D Hr

FON

a

* von anderen Patches * angesprochen werden!

ORG $615F ‚24927 * * VIERECK POS * * von N.G.Barbieri/1985 * * Aufrufen mit CALL 24927 * CUlXL EQU $3CA CU1lXH EQU $3CB CUlY EQU $3CC CU2XL EQU $3CD CU2XH EQU $3CE CU2Y EQU $3CF XFLAG EQU $309 HPOSN EQU $F4ll XLINE EQU $6@3F HGLIN EQU $F53A CURSORE EQU $6146

Bildet ein HPLOT- oder XPLOT- Viereck, wobei CURSOR1l und CURSOR2 diagonal entgegen- gesetzte Ecken sind.

“RK KKR Kr

JSR CURSORE

*

LDX CUIlXL LDY CUI1XH LDA cCUIlY

JSR HPOSN

LDY culY LDX CU2XH LDA CU2XL JSR DOLINE

LDY cuU2Y LDX CU2XH LDA CU2XL JSR DOLINE

LDY cu2Y

LDX CUIlXH LDA CUIXL JSR DOLINE

LDY cCUlY LDX CUIlXH LDA CUIXL JSR DOLINE

*

JMP CURSORE

Folgende Routine bildet eine Linie entweder in Farbe oder XOR. Kann auch von anderen

“*KKK KK

DOLINE PHA LDA XFLAG ;XOR? BEQ XOR ‚Ja! PLA ‚Nein! JMP HGLIN

PLA JMP XLINE

$61AF ‚25007

von N.G.Barbieri/1985

Aufrufen mit CALL 25907

“KR KK KRK KH

CUlXL EQU $3CA

Utilities angesprochen werden.

CUIXH EQU culY EQU CAlY EQU CU2XL EQU CU2XH EQU cu2Y EQU CA2Y EQU XFLAG EQU FARBEl EQU FARBE2 EQU HPOSN EQU HCOLORZ EQU CURSORE EQU DOLINE EQU COUNT EQU CFLAG EQU COL1 EQU COL2 EQU *

$3CB $3CC $3C6 $3CD $3CE $3CF $3C9 $399 $392 $393 $FAall $E4A $6146 $6lAl $9

$1

$2

$3

Füllt eine Box alternativ mit zwei Farben auf, wobei eine oder beide Farben auch XOR sein können!

JSR JSR LDA STA

CURSORE SETCOL +$9 CFLAG

Die vorhandenen Y-Werte müssen gemerkt werden.

LDA LDX STA STX CMP

Wenn beide dann keine

BNE

Vor RETURN

CUlY CU2Y CAlY CAZY cu2Y

Y gleich sind, BOX!

WEITER

sicherstellen, daß

die ursprünglichen Y-Werte wieder hergestellt werden!

RETURN LDA LDX STA STX LDA STA JMP

CAlY CA2Y CUlY cu2Y #59 XFLAG CURSORE

* Falls Y2>Yl, einfach umtauschen

* WEITER BCS PHA LDA STA PLA STA LDA

Anzahl der

SUBTR

CU2Y culY

CU2Y culY

notwendigen Linien

im COUNT speichern.

SUBTR SEC SBC STA INC

*

* Siehe auch

CU2Y COUNT COUNT

Kommentare zum

* Programm HINTERGRUND!

*

LOOP LDA BNE DEC LDA CMP BNE

.

SETXOR LDA STA JMP

*

LINCOL STA

CFLAG NEXTCOL CFLAG COL1 +58 LINCOL

+59

XFLAG LINE

HCOLORZ

Peeker 6/85

Sn

Sie haben einen Apple...

wir haben die Software...

und die Hardware...

BEER ä Re : eb RN er AR ; ee nnerıs ee

eh iu N

uccessol { . unit w

PN au {he R | | | _— Me | Per DE nn. JSOFT = | © = EL

und die Zeitschriften...

wir haben die Bucher...

u

ee VarıpAaTe is

ALLES FÜR DEN APPLE II, Il, IE

ee Dr.-Ing. Eden

UHLANDSTR. 195 - D-11000 BERLIN 12 TEL.(O30) 310 423 - TELEX:185859 „Ic Autorisierter @geppie Fachhändler MICROSOFT Distributor

Peeker 6/85 13

99 199

*

LDA #$1 STA XFLAG JMP LINE

103 NEXTCOL INC CFLAG

194 195 196 197 108 199 119 111 112 113 114 115 116 117 118 119 129 121 122 123 124 125 126 127 128 129 139 131 132

LDA COL2

CMP #$8 SETXOR LINCOL

CUlXL CU1lXH culY HPOSN CU2XH CUlY CU2XL JSR DOLINE DEC CUIlY DEC COUNT

Noch Linien?

BEQ RETURN ;Nein! BNE LOOP ‚Ja!

SETCOL sorgt dafür, daß

in den temporären Variablen COL1 und COL2 zwei Farben, inkl. XOR, für Alternativ- betrieb gespeichert werden. Ist auch von anderen Utilities aus ansprechbar!

623F: AE 92 133 ETCOL LDX FARBEIl

6242: BD 59 134 6245: 85 92 135 6247: AE 93 136 624A: BD 59 137 624D: 85 93 138 624F: 69 139 140 x

LDA CTABLE,X STA COLI1

LDX FARBE2 LDA CTABLE,X STA COL2

RTS

6250: BO 2A 55 141 CTABLE HEX PP2ASSTF8PAADSFFPB

6253: 7F 80 AA D5 FF 98 178 Bytes

HINTERGRUND

“*RRKKKKKK

ORG $6259

HINTERGRUND

von N.G.Barbieri/1985

Aufrufen mit 25177

XFLAG EQU $39® HPOSN EQU $FAll HCOLORZ EQU $E4A CURSORE EQU $6146 DOLINE EQU $61Al SETCOL EQU $623F COUNT EQU CFLAG EQuU $1 CoL1 EQU $2 coL2 EQU $3

*

Füllt mit COLOR, MIXCOLOR oder XORt (macht negativ) die HGR-Seite.

JSR CURSORE JSR SETCOL LDA +#$9

STA CFLAG

LDA #$cp STA COUNT

* LOOP DEC COUNT

*

14

CFLAG = ® --> COLOR 1 CFLAG <> ® —> COLOR 2

LDA CFLAG NEXTCOL CFLAG COL1

62A3: A5 62A5: DB CO 62AT: AC 46 61

81 Bytes PAGE.SWAP

* * Ist COLOR = XOR? * CMP +#$8 BNE LINCOL ;Nein! * SETXOR LDA +#$9 ‚Ja! STA XFLAG JMP LINE * LINCOL STA HCOLORZ LDA #$1 STA KXFLAG JMP LINE

*

NEXTCOL INC CFLAG LDA COL2 CMP_ #$8 BEQ SETXOR BNE LINCOL

LDX #$9 LDY +#$9 LDA COUNT JSR HPOSN LDX #$1 LDA #$17 LDY COUNT JSR DOLINE %* * Noch Linien? * LDA COUNT BNE LOOP ‚Ja! JMP CURSORE ‚Nein!

ORG $62AA ‚25258 * * PAGE.SWAP A * * von N.G.Barbieri/1985 * * Aufrufen mit CALL 25258 * HGR EQU $6 HGR2 EQU $8 PAGl EQU $7 PAG2 EQU $9 * * Diese Routine tauscht super- * schnell, unter Verwendung aller * 3 Register, HGR mit HGR2 aus. *

LDA #$49 STA PAG2 LDA #$29 STA PAGI LDA #9 STA HGR STA HGR2 TAY

LDA (HGR),Y

TAX

LDA (HGR2),Y STA (HGR),Y

TXA

STA (HGR2),Y INY

Ist Y-Register wieder auf ®?

BNE LOOP ;Nein!

INC PAGI ‚Ja! INC PAG2

Sind alle 8K übertragen worden?

“RR Kr

PAGI +$49

LOOP

Peeker 6/85

gezza MICROMINT

TESROmMUNT LLTREFFER

LASAR 16 IBM 264 K, TEAC BFDD, Contr. color Graphik, Multifunktionscard,

nerzei152 4.990; LASAR ZE

Apple comp. 64 K + 12 KROM +

80 Zw Tastatur 1.2905

Außerdem volles Rückgaberecht innerhalb 14 Tagen ohne Begründung.

Apple

III '

a

Mehrzweckklappgehäuse It. Abb. 179,— | 179,— ® Schaltnetzteile Apple5 A/IBM 15 A 115,-— | 350,— @ Profitastatur dtsch. LASAR 2000 299,— | 299,— ®@ Interface ab 75,— | 148,— @ Monitor 22 Mhz incl. Fuß, bernstein 299,— | 299,—

Kaufgarantie/Tiefstpreisgarantie/1A Qualität: 100 % kompatibel inkl. Systemsoftware

Made by Micromint: Apple Il 495,-, Apple Ile 695,—-, IBM 895,— Fertigplatinen 495/695/

895. Tragbare Gehäuse für 7-Zoll/9-Zoll-Monitore 595,-— DM inkl. Tastaturen. Winchester 27 MB auf Anfrage 1A First Class Controller bis 140 MB 935,— DM.

Generalimporteur MICROMINT Computer GmbH Hochdahler Straße 151, 4006 Erkrath 2 Telex 8589305 mem

02104/33024

Der nächste Peeker Heft 7/1985 erscheint am 24. 6. 1985

"yonsÄkor

-UeIY IOMZ UON gnIyosUy Wunz LHOdAOF

" dn»peg 'n wvH HWw (1289) PIeEO-VId ar QQV

" dnypeg 'n WVH Hu (2259) PieQ-vIA 'gz av "391 ‘08Z

jeqedwoy-eiddy ‘M8r ‘Id-Il NOSIN

JO9VJ43LNI31d4V

485 a4 Iv3l

EOELEES-0E0 UojsloL

ıyN E1-01 eS ‘yN 81-51 '0Q 'n 'IW youmSyog ueysIeZ 08

ISMW 'Mul "YOIS old asıald " TE SH 'SOINOHLN3D ‘'WOHd3 “IVd

"wis jsqıyedwoy-ejddy YoeıL Or ‘E01 AT " yoyedoyny POaJV 1e1l04U0Q-Iyd-ı

“un 8l-ZL 14 'n 'oW Ineyusnuepe "sie IJyES SQ YOeIL 08 SYF VS Mebnys

J O4HOIW-INOLSaNZıL 3

J04 ww 8 031 "YOIS OL Ileysedns Joy wwg 37 0E02 vaL

00 LOHPZ

00 SIrı

NdO v08Z

NdO 08Z

SU0SZ-99212

SU0SZ-821212

su0S2-#912

SU0SF-ZEL2

su0gr-91212

(9L02 WYS) E419119

SLO 9SZIr WINL

4810NY P9Lr YSWN sU002-9, 17 AdN

Wa 08'L+ NN !aq ‘YA Jepo NN Jed puesuen 5 6 052 sıq :Bunyoediey pun oyod !Wa —'OL+ Isuos wa —'0$

Sr ulag 0001 - 22

—ı|

Yomjlelssqjsspumy "y 'e ujeyelsusßusyy pun sjleineg also 081 12

06 05° 092

Peeker 6/85

ZUSATZ-KARTEN:

V-24-Schnittstelle ............ 199,- Z-80-Karte ...... 2.22.2222... 139,- 80-Zeichen-Karte m.Softswitch 236,- 16K-Language-Karte ......... 138,- Centronics-Karte von Epson für Graphik... . 210,- für Text... .145,- Centronics-Schnittstelle für 2 Drucker gleichzeitig .........- 22222... 129,- er ee a a ee a Bene 198,- uper-Eprommer 239, Su keinen pP incl. Software für 2708-27128 ............ - 128- K-Karte ee N Re rer auf Anlage FDC 4 für alle Laufwerke PPY- Bausatz wielinks ............ 179,- Leerplatine wie oben incl. Prom u. En ISFLEAIUR ı EIRRSBE ERS EIER RAS 130,-

Auto opatch- -Controller erniconrosen

1x35bis2x8 Disk, keine Patch-Disk notwendig, Patch DOS 3.3, Diversi- DOS C, 4-C (DD MOVER), Pascal 1.1, Pascal 1.2, CPM 2.2, ‚ProDOSy IOTL TE ER . Sie ee die Laufwerke untereinander mischen 98, Sa

Gehäuse für 15%" Slimline Laufwerk ..... 22mm n en 39,- Gehäuse für 2 5%’ Slimline Laufwerke mit Platz für ein Netzteil ......... 159,- Gehäuse für 2 3%" Slimline Laufwerke mit Platz für ein Netzteil .......... 79,- VBIRP-GONENER ; : ua ee De anne en 229,- Floppy-Kabel 34pol. für 2 Laufwerke mit Shugart-Bus ...........2.2.... 35,-

Preh Commander Keyboards

Wir bieten Ihnen die Preh-Qualität auch für Apple. AK 88 Spez. mit Gehäuse, An- schlußkabel, Zehner-Tastenfeld, dt. Zeichensatz, Snderteten für

Gtri-Codes und Rechenfunklionen 2.2.04 4....:= 2 339,- Preh Commander Keyboard AK 87, frei programmierbar

bis zu 10 Ebenen, pro Taste bis zu 250 Zeichen ..................... nur 559, =

TEAC 3%" Laufwerk FD 35 P579.-

Speicherkapazität 1 MB, (formatiert 640 KB) jetzt fürnur ........

Nicheneies Preissenkung beit TEAC:

TEACFD55A 11x40 Track ..... 498,- TEACFD55B2x40 Track ..... 579,- TEACFD55E1x80 Track ..... 535,- TEACFD55F2x80 Track ..... 598,- Philipps Slimline Floppy X3134. A, 2x80 Track solange Vorrat ......... nur 569,- FIEBER SE x BU Mack, 26 Bath. Sen sennic nn green nur 459,- SONY 3V4" Laufwerk... 2.222 en nur 799,- Sony Laufwerk für Ic .......... auf Anfrage Apple®-kompatibles Laufwerk incl. Gehäuse + Kabel ........ 222... 599,- EPSON FX80 ................ 1670,- EPSONFX100 .............. 2159,- EPSONRX8O .............. 1079,- EPSONRXB8OFT ............ 1295,- Patch-Diskette für SONY 3%" Laufwerke ermöglicht die Anpassung an Il/Ile und kompatible Computer .......... 80,- Manual vorab 15,-DM (wird beim Kauf der Patch-Diskette angerechnet). dto. für 544” Laufwerke ........ 69,- Disketten Döb&Böd SS/DD 10St. 62,- 10 Disketten f.Sony 31%” Laufw. .150,- Akustikkoppler AK 300 mit FTZ-Nr. incl. Netzteil ...... 2222 2c22222... 549,-

Die Microfloppy mit Zukunft:

Speicherkapazität: 2 x 1 MByte for- matiert: 2x 640 kByte. Anschlußfertig mit PROM-residenter Patchsoftware für CP/M 2.2, Apple DOS 3.3, Diversi- DOS 2-C, 4-C (DD MOVER), Apple Pascal 1.1, Pascal 1.2, Pro-DOS

un um 1640,- os 10. MB Winchester EIER: 4490,-

... Sonderangebot p hilipps 2x80 Track, BBauh. ......=..2r0000.. 459,-

Gesamt-Preisliste anfordern!

Preise inclusive gesetzlicher Mehrwertsteuer.

SS] NICH -1Y-Targejslen

m le] LAN WL EYEICH TREE

DFÜ 02373/66877 Tel. 02373/63159

15

Der Apple Ile mit erweiterter 80-Zeichen- Karte und der IIc verfügen über eine hoch- auflösende Grafik von 560 & 192 Punkten. Dieser Bericht zeigt, wie man Ähnliches auch mit dem Apple Il Plus und Kompati- blen erreicht.

Wie man weiß, verfügt der Apple in Farbe praktisch nur über eine Auflösung von 140 * 192 Punkten, da bei den Farben 1, 2,5 und 6 nur jeder zweite Punkt gezeichnet wird. Ich selbst verzichtete daher in mei- nen früheren Programmen meist auf Far- ben, da ich zum einen auf die volle Auflö- sung Wert lege und zum anderen nicht über einen Farbbildschirm verfüge wie wohl sehr viele andere auch.

Neuerdings experimentiere ich damit, dem Apple eine höhere Auflösung zu verschaf- fen, indem ich das Farbbit gezielt einsetze, was auf Grün-Monitoren eine etwas ande- re Wirkung als auf Farbbildschirmen hat. Zum Einstieg schlage ich Ihnen vor, zu- nächst das Programm WANDERNDER- ‚STRICH einzugeben. Sie sehen nach dem Start zwei Striche, die sich von links nach rechts über den Bildschirm bewe- gen. Dabei macht der obere 560, der unte- re aber nur 280 Schritte. Wie ist dies nun zu erklären?

Es sei zunächst die Art beschrieben, wie der Apple seine Grafik abspeichert. Pro Zeile sind wirklich nur 280 Punkte vorhan- den, egal was Sie jetzt auch denken mö- gen. Diese Punkte werden in 40 Bytes abgespeichert, wobei jedes Byte 7 Punkte beinhaltet. Es bleibt also ein Bit übrig, wel- ches für die farbliche Darstellung von Be- deutung ist. Es wird daher das „Farbbit“ genannt. Die sieben Punkte sind nun von links nach rechts im Byte gespeichert, wo- bei man sich vorstellen muß, daß das ganz links stehende das niederwertigste Bit ist (das linke Bit steht also für den rechten Punkt der 7-Punkte-Gruppe usw.). Das Farbbit ist das höchstwertige Bit; es befin- det sich, wie aus Abb. 1 ersichtlich, ganz rechts. Wie die einzelnen Zeilen im Spei- cher stehen, interessiert in diesem Zu- sammenhang nicht; dazu nur soviel: Sie sind aus hardwaretechnischen Gründen nicht linear angeordnet, sondern ähnlich wie die Textzeilen nach einem bestimmten Muster gegliedert.

Das Farbbit legt nun den Farbmodus für die 7 in diesem Byte gespeicherten Punk- te fest. Man kann also die Farbe nur „ge- bietsweise“ definieren, was ganz beson- ders zum Tragen kommt, wenn man einen grünen Strich durch eine orangefarbene Fläche zeichnen läßt. Bei den Farben O bis

16

Bit:

Das Farbbiıt

Pseudo-Double-Hires auf dem Apple Il Plus

3 wird das Farbbit jeweils auf O gesetzt, bei den Farben 4 bis 7 jeweils auf 1. Auf grünen Monitoren bewirkt das Farbbit nun keine Farbveränderung, sondern eine Ver- schiebung um einen halben Schritt nach rechts, was auf Farbbildschirmen den Ef- fekt hat, daß die Punkte auf anderen Far- ben des Farbrasters zu liegen kommen. Mittels dieses Farbbits kann man nun eine pseudo-doppelthochauflösende Grafik auch für die älteren Apple-Versionen schaffen. Es gibt dabei zwei Methoden, mit deren Hilfe stehende Bilder höher aufge- löst erscheinen:

Wert :

Bedeutung: | nk

Abbildung 1

Die erste Methode

Methode 1 besteht darin, daß man bei den Punkten, die eigentlich bei einem Kreis oder einem Strich zwischen den normalen Punkten stehen müßten, das Farbbit auf 1 setzt, wodurch dieser Punkt um einen hal- ben Schritt nach rechts verschoben wird. Ich habe diese Technik bei dem Programm KREIS.1 angewandt, bei dem das Farbbit mit Hilfe von „HCOLOR =3+4x(S-.5

von H.-D. Siewert

> INT(S))" einmal gesetzt wird und einmal nicht. Dabei ist der logische Ausdruck „(S -5 > (INT (S))“ gleich 1, wenn hinter dem Komma bei S ein Wert steht, der größer als 0,5 ist. Das Programm zeichnet zwei Kreise, von denen der eine normal und der andere höher aufgelöst ist. Diese Methode hat natürlich ihre Vor- und Nachteile. Vor- teile: Das Bild erscheint höher aufgelöst und steht ruhig. Nachteile: Es sind nur 280 Punkte pro Zeile möglich und man kann die Verschiebung der Punkte genau wie die Farbe nur 7-punkteweise bestimmen.

Die zweite Methode

Methode 2 besteht darin, daß man die normalen Punkte auf die eine Grafikseite und die verschobenen Punkte auf die an- dere Seite zeichnet. Um beide Bilder zu- sammenzubringen, muß ständig zwischen den beiden Seiten hin- und hergeschaltet werden. Das Programm für dieses Um- schalten ist aus Geschwindigkeitsgründen in Assembler geschrieben und heißt FLIP-

Peeker 6/85

PER (abzuspeichern mit „BSAVE FLIP- PER, A$300 ‚L$30“). Das Applesoft-Pro- gramm, das die entsprechenden Grafiken zeichnet (wieder zwei Kreise), heißt KREIS.2. KREIS.3 zeichnet 3 Kreise, und zwar den linken nach Methode 2, den miitt- leren mit normaler Auflösung und den rechten nach Methode 1. Methode 2 hat den Vorteil, daß wirklich 560 Punkte dar- gestellt werden können, nachteilig ist je- doch, daß das Bild flimmert.

Es hängt vom Einzelfall ab, welche Metho- de man verwendet, da keine allgemeingül- tigen Regeln aufgestellt werden können. Zu sagen bleibt, daß sich manche Bilder mit keiner der beiden von mir vorgestellten Möglichkeiten darstellen lassen. Dazu ge- hören vor allen Dingen Bilder, bei denen zu viele feine Einzelheiten zu sehen sind. Will man also eine echte Auflösung von 560 * 192 Punkten, so ist doch ein Apple Ile mit erweiterter 80-Zeichenkarte oder ein IIc vorzuziehen.

Damit Sie aber auch die pseudo-doppelt- hochauflösende Grafik ausprobieren kön- nen, habe ich das Programm KOMPRES- SOR geschrieben, das mit „BSAVE KOM- PRESSOR, A$8000, L$E9" gespeichert werden soll. Dieses Programm faßt die Bilder beider Grafikseiten auf einer einzi- gen Seite zusammen. Die genauere Ar- beitsweise ist aus Abb. 2 und 3 zu erse- hen. Es werden die Punkte der beiden Seiten abwechselnd auf Seite 1 und auf

Appie und IBM kompatible Gomputer

16K, Z80, Diskcontroler je

80 Zeichenkarte mit Softswitch 2 Zeichensätze

Motherboard 48K ohne

Firmware

Erphi-controler mit Autopatch

Siemenslaufwerk F 122

Philips X3134 2x80 Track

TEAC FD-55B2x40 Track

TEAC FD-55F 2x80 Track

Megaboard (Mainboard XT)

Neu: Stardrucker SG 10 Drive Controler

Monochrome Monitore

Farbmonitore

Tastaturen für IBM und Apple ab 330,— Versand nur per Nachnahme oder Vorkasse Weiteres Zubehör für Apple und IBM gegen frankierten Rückumschlag.

Preissenkung: Saturn 128K Karte

Ulf Mohwinkel Electronic Berliner Straße 73 5090 Leverkusen Fettehenne Telefon 02 14/9 3781

Peeker 6/85

Seite 2 gespeichert. Dabei ist auf Seite 1 das Farbbit stets auf 0, auf Seite 2 hinge- gen immer auf 1 gesetzt. Wenn man nun mit FLIPPER zwischen den beiden Seiten hin- und herschaltet, wirkt das Bild dop- pelthochaufgelöst. Wie man KOMPRES- SOR anwenden kann, können Sie aus dem Programm KOMPRESSOR.DEMO ersehen. Will man ein hochaufgelöstes Bild erstellen, so zeichnet man auf Seite 1 die eine und auf Seite 2 die andere Hälfte des Bildes, läßt den KOMPRESSOR seine Arbeit verrichten und startet dann FLIPPER.

Byte 0 Byte 1 von HGR

> 7a a0 N 12 13] Fatbingiic

gültig

dh „Kompressor’’

0246810 12

Farbbit : O

13981,.92 3338 Farbbit : 1

Byte O von H6GR 1

Byte O von HGR2

Abbildung 2

Zusammenfassend ist zu sagen, daß man durch meine Methoden nur in Ausnahme- fällen etwas Ähnliches wie eine doppelt- hochauflösende Grafik erzeugen kann. Es

Messen ‚Steuern Regeln

ul 1708: oder Kompatiblen

Peripheriekarten für technische Anwendungen:

+ Parallelports

+ A/D-Wandler

+ RS 232C-Schhnittstelle

+ Real/Time Clock außerdem:

+ Opto. Ein/Ausgabekarten

Information und Händleranfragen bei:

Entwicklungsbüro Brecht Uhlandstraße 70

7012 Fellbach-Schmiden Telefon (0711) 51 41 60

arafık 4.4

gibt aber noch andere Anwendungen für das Farbbit, die nicht mit Farbe, sondern mehr mit Auflösung zu tun haben im Bereich der Animation. Objekte, die sich waagerecht über den Bildschirm bewe- gen, wie z.B. der wandernde Strich, kön- nen so wesentlich feinere Schritte aus- führen.

Abbildung 3

Ich hoffe, daß möglichst viele Leser durch diesen Artikel zum Experimentieren ange- regt wurden, und wünsche allen dabei viel Erfolg.

I Preisliste kostenlos!

Unser Angebot im Juni

Drucker Star SG-10

DM 898,— DM 118,—

schönschreib- und grafikfähig grafikfähiges Interface hierzu

D.O.S. Computersysteme

Am Kühnbach 42, 7170 Schwäbisch Hall 11 Telefon (0791) 51736

17

WANDERNDER.STRICH 60 HGR2 : HCOLOR= 7: HPLOT ®,®: CALL 62454: HCOLOR= ß:

HPLOT 279,8 TO 9,96 TO 279,191: HPLOT 9,8 TO REM WANDERNDER.STRICH von H.-D. Siewert, Dez. 1984 279,191: HPLOT 279,8 TO ®,191

20 HGR : NORMAL : HOME :Y1 = 89:Y2 = 199:B = 25: VTAB 21: 65 REM Auf HGR2 wird ein neues Bild gezeichnet, PRINT " DER OBERE STRICH MACHT 569 SCHRITTE!" HGR : POKE - 16392,®: HCOLOR= 7: HPLOT 9,®: CALL 62454: FOR X = ® TO 279: HCOLOR= 3: HPLOT X,Yl TO X,Y1 + 1: HCOLOR= ®: HPLOT ®,® TO 279,96 TO ®,191: HPLOT @,® HPLOT X,Y2 TO X,Y2 + 19: REM Strich 1 und 2 zeichnen TO 279,191: HPLOT 279,8 TO 8,191 4d FOR A = ® TO B: NEXT : HCOLOR= 7: HPLOT X,Yı TO X,Yl + 75 REM auf HGR wieder die andere Hälfte. 19: REM Strich 1 einen halben Schritt weiterrücken 80 CALL 32768: CALL 768: REM Es werden erneut KOMPRESSOR 50 FOR A = ® TO B: NEXT : HCOLOR= ß: HPLOT X,Y1 TO X,Yl + und FLIPPER gestartet - diesmal direkt mit CALL. 10: HPLOT X,Y2 TO X,Y2 + 19: REM Beide Striche

wieder löschen FLIPPER 60 NEXT : TEXT

KREIS.1

REM KREIS.1 von H.-D. Siewert, Dez. 1984

28 HGR : NORMAL : HOME :0 = ®:PI = 3.1415926535:P = PI / 180:X1 = 93:X2 = 186:Y = 90:R = 55

38 FOR 2 = 0 TO 369: HCOLOR= 3:5 =R # SIN (Z*P):C=R« COS (Z *& P): HPLOT X2 + S,Y + C: HCOLOR= 3 +4 x (S -— ,5 > INT (S)): HPLOT X1 + S,Y + C: NEXT : REM Zwei Kreise zeichnen, davon Kreis 2 normal, Kreis 1 nach Methode 1

HOME : VTAB 21: PRINT " Höhere Auflösung Normale Auflösung!

KREIS.2

10 REM KREIS.2 von H.-D. Siewert, Dez. 1984 28 NORMAL : HOME : HGR :0 = ß:P = 3.1415926535 / 180:X1 = 93:X2 = 186:Y = 90:R = 59 30 FOR Z = 0 TO 368: HCOLOR= 3:S =R x SIN (Z* P):C=Rx« COS (Z *& P): HPLOT X1 + S + .5,Y + C: HCOLOR= 7: HPLOT X2 + S,Y + C: NEXT : REM Zwei Kreise auf Seite B300: AD l zeichnen, Kreis 1 nach Methode 2, Kreis 2 normal 0303: AD HGR2 : FOR Z = 0 TO 360:S =R «SIN (Z « P):C=R x COS B306: AD (Z x P): HPLOT X1 + S,Y + C: HPLOTX2 +S,Y+C: 0309: AD NEXT : REM Beide Kreise auf Seite 2 zeichnen, Kreis D30C: 29 2 wie oben, Kreis 1 gegenüber Kreis 1 auf Seite 1 B30F: AD modifiziert 0312: 29 58 PRINT CHR$ (4)'"BRUN FLIPPER": REM FLIPPER starten 0315: 2C 60 GET XY$: IF XY$ < > CHR$ (27) THEN CALL 768: GOTO 6ß: 0318: 19 REM Mit ESC kann aus den Programm ausgestiegen B31A: 2C werden, wenn das Bild steht B31D: 69 78 TEXT

KRRKKKRRKRRRKKTTF RK TR RR

* Flipper * * *

Dieses Programm schaltet ständig zwischen fullscreen- GRAFIK PAGE 1 und 2 hin und x her. Von H.-D. Siewert, *

%* *

voSıo9a Au mdH

Dezember 1984

*RKKKKKKKK KH

HH m &

KAFFFKFFKKFKRFKRFEKRFERFKFRKFK FR FF HK KH TH KR NR ORG $399

NOMIX EQU $c952

HIRES EQU $c057

GRAPHIC EQU $c059

PAGEL EQU $0054

PAGE2 EQU $c055

KBD EQU $cppp

STROBE EQU $c919

DUMMY EQU $9p9

DH rrH HH SOVOo or IV AU D

av par

LDA NOMIX LDA HIRES LDA GRAPHIC LDA PAGEI JSR WAITLONG LDA PAGE2 JSR WAIT BIT KBD BPL LOOP BIT STROBE RTS * Verzögerung durch LDA DUMMY WAITLONG LDA DUMMY WAIT LDY #$pF LOOP1 LDX #$09 LOOP2 INX BNE LOOP2 DEY BNE LOOP1 LDX #$C1 DEX BNE LOOP3 RTS

QSQVDODVDDDDUDDWD SOovovo ‘91 AP uam

N m

B31E: A5 KREIS.3 0320:

0322: A2 1d REM KREIS.3 von H.-D. Siewert, Dez. 1984 0324: E8

20 TEXT : NORMAL : HOME : HGR :0 = ®:P = 3.1415926535 / 0325: DY 180:F = .5:X1 = 70:X2 = 140:X3 = 210:Y = 90:R = 50 0327: 88 3d FOR Z = 0 TO 369: HCOLOR= 3:S =R #SIN (Z* P):;C=R«* 0328: DP COS (Z *& P): REM Sinus- und Cosinuswerte berechnen 0324: A2 385 HPLOT X1 + S + F,Y + C: HCOLOR= 7: HPLOT X2 + S,Y + C: Ö32C: CA HCOLOR= 3 + 4 * (S - F > INT (S)): HPLOT X3 + S,Y + 032D: C: NEXT : REM Alle drei Kreise auf Seite 1 zeichnen, Ö32F: Kreis l nach Methode 2, Kreis 2 normal, Kreis 3 nach Methode 1 48 Bytes HGR2 : FOR Z = 0 TO 369: HCOLOR= 7:S =R * SIN (Z * P)}:C=Rx COS (Z * P): REM Sinus- und Cosinuswerte berechnen HPLOT X1 + S,Y + C: HPLOT X2 + S,Y + C: HCOLOR= 3 +4 « (S- F > INT (S)): HPLOT X3 + S,Y + C: NEXT : REM Alle drei Kreise auf Seite 2 zeichnen, Kreis 2 und 3 wie auf Seite 1, Kreis 3 modifiziert KOMPRESSOR 50 PRINT CHR$ (4)"BRUN FLIPPER": REM FLIPPER starten 60 GET XY$: IF XY$ < > CHR$ (27) THEN CALL 768: GOTO 69: REM Wenn das Bild steht (FLIPPER außer Betrieb), kann man mit ESC das Programm verlassen 78 TEXT

KOMPRESSOR.DEMO

REM KOMPRESSOR.DEMO von H.-D. Siewert, Dez. 1984

20 NORMAL : HOME : HGR2 : HCOLOR= 7: HPLOT 279,0 TO 9,96 TO 279,191: HPLOT ®,8 TO 279,191: HPLOT 279, TO 0,191

25 REM In Zeile wird die eine Hälfte des Bildes auf HGR2 gezeichnet.

30 HGR : POKE - 1632,09: HPLOT 9, TO 279,96 TO 9,191: HPLOT 9,8 TO 279,191: HPLOT 279,8 TO 9,191

35 REM Die andere Hälfte des Bildes wird auf HGR gezeichnet.

PRINT CHR$ (4)"BRUN KOMPRESSOR": PRINT CHR$ (4)"BRUN FLIPPER"

50 GET XY$: REM Nachdem das Bild gezeichnet wurde, werden KOMPRESSOR und FLIPPER gestartet.

Do a U a au oa oa Wo So oao IV TI AU D

BRHnH» BO DdH

HINWEIS: Die Zeitverzögerung der Warteschleife kann sehr genau abgeglichen werden. Die hier angegebenen Werte wurden empirisch ermittelte, um ein maximal flimmerfreies Bild zu erhalten.

BR KOMPRESSOR

Dieses Programm faßt unter Ausnutzung des Farbbits beide Grafik-Seiten so zu- sammen, daß sie nebeneinan- der dargestellt werden kön- nen

Von H.-D. Siewert, Dez. 84

vo oıou uw vr «AK KKKKKKFKOKRKH x Kr kr: KK

KRFKFKFFRHFKRHKFRRFRKRFR FR FF FH TH HK FH FH KH FH ORG $89090

EQU $96 EQU $CE EQU $CF EQU $FA EQU $FC EQU $FE

Dreher H 6b SovtvNn9 uw mw Ha

DD 8 DD m

18 Peeker 6/85

Sie müssen käalkulatenen erstellen ...

Se mussen Rechnungen Schreiben...

Sie müssen Schnell eın Angebot usanmenskellen...

Sie brauchen eine zuver-

Km Lagervenaltuug

Daw braucheu Sie

HandMac

Das Rrogramm für das Handwerk.

® Oas Ihnen diese Arbeiten abnimmt

© das peziel für Sie in Deutschland ge wurde

® das Sie start benutzen können | ohue wehrwöchae. Schuluu Ome Qitenstar rer,

HandMac |

Das Prayrwern für das Handwerk. |

(äuft auf Apple Macintosh und gibt es nur in Autprisıerten Tachlhaudel

Juforuahou: copy team gmbh a Schuhstr. 92

3520 erlangen

OUSA— U3S

Apple und Macintosh ömd eingehngene Wrenzsichen des Apple Coupuler Une.

Be en.) Ba Be B en

Pod SE DE DE SR SE DE DE DE DE DIE DE DAL DE DIE DIE DE DE DE DIR DIL DE DIL DE DE DIE DIE DIE DIE DIR DIR DIE DIE DIE DIE DE 7 » ae FREE EEE DE I BE DE DIE DIE DIEBE DIE DIR. DIE DIE DILDIE DIE PIC DI DIE DIL PIE DIDI DIL HIL PIE PI PIPPI)

Draonon S2lel 300 Baud Modem, nach CCITT V.21 Standard, mit FTZ-Nr. 18.13.1917.00,

Gebühren- und anmeldefrei,

V24/RS-232 Standard-Schnittstelle (25-Pin), Vollduplexbetrieb, Answer-, Originate- und Auto-Modus nur DM 298,00

TELEKOMMUNIKATIONS _- KOMPLETT - PAKET geeignet für Apple //+ und Apple //e: I Dataphon s2Id, I Anschlußkabel (RS-232-Schnitt- stelle zum Apple Il-Gameport), I Terminalprogramm: "HIB Modem-Transfer” nur DM 398,00

AKUSTIK-KOPPLER

TELEKOMMUNIKATION am Apple I IC: Anschlußkabel (Akustik-Koppler

zum Modemport am Apple //c) DM 114,00 ASCII-PRO (ASCII-Express) Kommunikationsprogramm für

alle Apple //-Rechner geeignet DM 489,00

Chinon-Laufwerk (Testbericht in Peeker 5/85) für Apple //+ und Apple //e

anschlußfertig im Gehäuse DM 498,00 w.o. jedoch für Apple //c DM 569,00 TOSHIBA _Spitzenlaufwerke _ zum _Superpreis! ND 06-D, 2 x 80 Track DM 549,00 ND 04-D, 2 x 40 Track DM 498,00

DISK-DOPPEL-STATION (APPLE //+ APPLE /le 2 x ND 06-D im Gehäuse +Auto-Patch-Controller DM 1698,00

AUTO-PATCH-CONTROLLER DM 298,00

BROTHER-Matrixdrucker, die_Super-Drucker! M-1009 (Matrixdrucker

RS-232 + Centronics) DM 698,00 M-1009 anschlußfertig an:

Apple //c (mit Kabel) DM 798,00 Apple //e (mit Graphik-

Interface und Kabel) DM 898,00 HR-15 XL, Typenraddrucker der Spitzenklassel mit Centronics-Interface DM 1698,00 HR-15 XL anschlußfertig an:

Apple //c DM 1898,00 Apple //e DM 1998,00 Apple Macintosh DM 1998,00 HR-10, der neue Low - Cost - Typenraddrucker für alle Rechner geeignet DM 998,00

Alle Preise inclusive der gesetzlichen Mehrwertsteuer. Berechnung der Versandkosten erfolgt nach Entfernung und Gewicht. Fordern Sie noch heute unsere Gratispreisliste an! Wiederverkäufer

bitte nur schriftlich anfragen (Kopie der Gewerbeanmeldung beilegen!).

o HIB Computerladen Außere Bayreuther Str. 72 Postfach 21 01 25 8500 Nürnberg 21 Telefon: 0911 / 515 939 Telex 17 - 911 8253

8075: EA BNE MOVE 8077: 60 RTS Unterprogramme CONVERTA gliedert das erste Byte in zwei neue Bytes auf. Mit CONVERTB wird das zweite Byte aufgegliedert und füllt die beiden neuen Bytes auf. CALC berechnet die Anfangs- adresse der jeweiligen im Akkumulator gespeicherten Grafikzeile. STORE speichert die neuen mit CONVERTA und CONVERTB gebildeten Bytes ab.

8078: CONVERTA LSR

8079: ROR C

8OTB: LSR

8DTC: ROR D

8QTE: LSR

8OTF: ROR

8081: LSR

8082: ROR

8084: LSR

8085: ROR

8087: LSR

8088: ROR

EDBA: LSR

808B: ROR

808D: RTS

808E: CONVERTB LSR

808F: ROR

8091: LSR

8092: ROR

8094: LSR

8095: ROR

8097: LSR

8098: ROR

SO: LSR

809B: ROR

809D: LSR

809E: ROR

8DAB: LSR

8DAl: ROR ' 8BA3: ROR

8045: ROR

80A7: RTS

8DAB: TAX

8DA9: AND

8QAB: STA

80AD: LSR

8PAE: LSR

BOAF: ORA LBAS

80Bl: STA LBAS

80B3: TXA

80B4: STA LBAS+1

80B6: ASL

80B7: ASL

80B8: ASL

80B9: LBAS+1

80BB:

8DBC: LBAS+1

80BE:

80BF: LBAS

80C1: LBAS+1

80C3: #$1F

80C5:

8ödc6E: +$20

80C8: LBAS+1

8OCA:

80CB: +$40

80CD: MBAS+1

8ÖCF: +$29

80D1: HBAS+1

80D3: LBAS

80D5: MBAS

80D7: HBAS

80D9:

80DA:

80DB: D STX LOOP+5 8ODD: +$80

LDA $6000,Y & HBAS),Y STA $4000,Y en : E INY 80E3: +#$7F 8DES5: (LBAS),Y 8DE7:

8DES:

#369 233 Bytes

Als erstes wird das Bild

in Seite 1 aufgeteilt

und die eine Hälfte in

Seite l abgespeichert,

die andere Hälfte in Seite 3. Seite 3 beginnt bei $6Pd9 und kann ohne Hardware- änderungen nicht darge- stellt werden.

*R KK KK KA KH KR

CLD

LDA #$09 STA YPOS LDY #$9® JSR CALC

NEXTXl LDA (LBAS),Y JSR CONVERTA INY LDA (LBAS),Y JSR CONVERTB TYA LSR JSR STORE ASL TAY INY INY CPY +#$28 BNE NEXTX1 LDA YPOS ADC #$09 CMP #$c® BNE NEXTYL1

“RK KK KKKKAKIFK KINN

Hier wird dasselbe wie oben für Seite 2 durch- geführt. Dabei wird wieder die eine Hälfte in Seite 1 und die andere in Seite 3 gespeichert; diesmal aber in der rechten Hälfte der beiden Seiten.

* * * * * * * * * *

LDA +#$99

STA YPOS

LDY +#$99

JSR CALC

NEXTX2 LDA (MBAS),Y

JSR CONVERTA

INY

LDA (MBAS),Y

JSR CONVERTB

TYA

LSR

CLC

ADC

JSR

SEC

SBC

ASL

TAY

INY

INY

CPY #$28

BNE NEXTX2

LDA YPOS

ADC +#$09

CMP #$c9

BNE NEXTY2

CLC Hier wird als letztes das Bild in Seite 3 nach Seite 2 bewegt, wo es das alte Bild verdeckt.

LDX #$49

LDA +#$69

STA LOOP+2

LDY #$00

LOOP LOOP+2

20 Peeker 6/85

Peeker-Sammeldisketten

Peeker Sammeldiskette Heft 1 und 2, 1984

Disk #3

Einzelbezug DM 28,—

INSTRING.TEST (2/84, S. 43) INSTRING.OBJ T.INSTRING.OBJ INSTRING.LISA.SOURCE

LOESCHEN.EINES.ARRAYS (2/84, S. 52)

ULTRATERM.ENGLISCH * (2/84, S. 60)

ULTRATERM.DEUTSCH *

PRIMZAHLEN.OVERMEYER * (2/84, S. 70)

PRIM.OBJO *

PRIM.OBJ1 *

PRIM.TEST * PRIM.TOOLKIT.SOURCE *

Disk #2 (Heft 1-2, 1985, DOS-Format)

T.VIDEXT VIDEXT.LISA.SOURCE VIDEXT

GETPAS (1-2/85, S. 70) T.GETPAS.ASS *

GETPAS.ASS GETDOS.PASCAL.SOURCE COPYDUPDIR.PASCAL.SOURCE

PRODOS.EDITOR.MACROS (1-2/85, S. 86)

Disk #3 (Heft 1-2, 1985, CP/M-Format)

STEUER.84 (1-2/85, S. 47) PASS.BAS

XPLOT.DEMO (4/85, S. 18) XPLOT.ROUTINE T.XPLOT.ROUTINE

MENUE.GENERATOR (4/85, S. 22) T.MACROS.65C02 (4/85, S. 31)

TERMINAL (4/85, S.36) TERMINAL.B T.TERMINAL.B

CAT.ARRAY (4/85, S. 44) CAT.SAVER EINTRAG.SUCHER EINTRAG.ANALYSE PRODOS.READER T.PRODOS.READER.OBJ PRODOS.READER.OBJ

MOUSESTUFF.PASCAL.SOURCE (4/85, S. 51) MOUSE.ASS.PASCAL.SOURCE TESTMOUSE.PASCAL.SOURCE

T.RAMDISKLC (1-2/85, S. 14) MENUE.BAS DRAWMOUSE.PASCAL.SOURCE PoreezungSpezug DM EN RAMDISKLC HELP.BAS * (Jederzeit kündbar, jedoch mindestens A.BAS INALL.DATA (4/85, S. 70) en BR T.IBS.RAMDISKDRIVER (1-2/85, 5.20) B.BAS SCREEN80.DATA (4/85, S. 33) y NUT ale DIEKBNS niet Im Feeket (ES BAMDISKORIVER C.BAS SCREEN80.SAVER (4/85, S. 76) gelistet! Seitenangaben beziehen sich T.AP20.RAMDISKTEST D.BAS auf Beginn des Listings) AP20.RAMDISKTEST E.BAS Hüthig Software Service FBAS Postfach 102869 - 6900 Heidelberg 1 T.QUICKCOPY (1-2/85, S. 26) G.BAS Disk #5 QUICKCOPY H.BAS (Heft 5 1985, DOS-Format) QUICKCOPY.PUFFER .BAS PRODOS.COPYA J.BAS T.FM.BSP (6/85, S. 9) T.PRODOS.COPYOBJ * K.BAS FM.BSP PRODOS.COPYOBJ L.BAS Disk+ 1 MLBAS T.SLOTRAMDISK (5/85, S. 13) (Heft 1+2, 1984) N.BAS SLOTRAMDISK SLOTRAMDISK.HELLO T.DISASSEMBLER.65C02 (1/84, S. 15) DISASSEMBLER.65C02 PLOT.2.0 (5/85, S. 20) T.PLOT.B T.ACCEL.WAIT (1/84, S. 22) PLOT.B ACCEL.WAIT PLOT.PROTECTOR T.ACCEL.BOOT Disk +4 ACCEL.BOOT (Heft 3 + 4, 1985) T.CONVERT560 (5/85, S. 26)

ACCEL.LC.KOPIERER T.ACCEL.LC.KOPIE

CONVERT560 CONVERT560.DEMO

Peeker

Sammeldiskette TESTGENERATOR (3/85, S. 26)

ACCEL.LC.KOPIE Heft 1 und 2, 1985 SAETZE

T.ACCEL.ROM.KOPIE1 DOS 3.3 BAHNFAHRT * T.EDA (5/85, S. 33) ACCEL.ROM.KOPIE1 ZU * EDA

TACCELROMKOPIEE nn 0. TUN.UND.SOLLEN *

ACCEL.ROM.KOPIE2 IRGEND * TRANSCEND.PASCAL.SOURCE

(5/85, S. 36) TURTLE.GRAFIK.MIT.REMS (1/84, S.29) TURTLE.GRAFIK.OHNE.REMS *

MULTIPRECISION (3/85, S. 32) T.BLOCKTRACER (5/85, S. 51)

T.WS.TRANSFER (3/85, S. 36) BLOCKTRACER DOUBLE.LORES.SOFTSWITCHDEMO a WS.TRANSFER T.BLOCKTRACER1 (1/84, S. 37) T.WS.TRANSFER.2 * BLOCKTRACER1

DOUBLE.LORES.APPLESOFT.DEMO AMPER.DOUBLE.LORES.DEMO T.AMPER.DOUBLE.LORES AMPER.DOUBLE.LORES T.DOUBLE.LORES

DOUBLE.LORES

PRODOS.PATCH (1-2/85, S. 31)

WS.TRANSFER.2 * GETCPM

PRIM.0.5C.SOURCE (3/85, S. 62) PRIM.O.BIN PRIM.1.5C.SOURCE

FORMAT.LC (5/85, S. 56) FORMAT.LC.START T.DISKDRIVER.DEMO DISKDRIVER.DEMO

T.APPLESOFT.FRE (1-2/85, S. 36) PRIM.1.BIN RANDOM.DEMO (5/85, S. 69) HIRES (1/84, S. 41) T.LC.FRE PRIM.FP COLUMN80.DEMO T.PRINTHIRES LC.FRE PRINTHIRES FRE.TEST ACCELERATOR.ABSTELLEN SUPERDUMP.EPSON (6/85!) T.RAM.FRE * (3/85, S. 66) SUPERDUMP.IMAGEWRITER DHGR.APSOFT.DEMO (2/84, S. 30) RAM.FRE SUPERDUMP.BILD

AMPER.DOUBLE.HIRES.BAS T.WILDCARD.TEST * (3/85, S. 72) T.SUPERDUMP AMPER.DOUBLE.HIRES T.SCHIRMDISK (1-2/85, S. 44) WILDCARD.TESTI1 * SUPERDUMP T.AMPER.DOUBLE.HIRES SCHIRMDISK.LISA.SOURCE T.WILDCARD.TEST2 * EPSON DHGR.LINEPLOTTER SCHIRMDISK WILDCARD.TEST2 * IMAGEWRITER

Peeker 6/85

21

Auf vielfachen Wunsch bringen wir hier eine Neuüberarbeitung des im Peeker Heft 1/84 vorgestellten Dump-Programms. Bei der Überarbeitung wurde besonderer Wert auf die Kompatibilität mit den meisten Druckern und Interfaces gelegt. Außerdem bietet SUPERDUMP eine Reihe neuer Features wie Double- Hires-Grafik, Druckern von mehreren Bildern nebeneinander usw.

Superdump

Das universelle Hires-Grafik-Dump-Programm

von Jürgen Geiß

! ‘s .n.: EI MH er ! =: Er x h : = ER . iM E > 5 AL ARN - Y y D ee nen u 2 020 ann x u [2 ur IR h . = 22 ; HE r / DZ 2 I Zu. \ . : BL’ I y

H “- . [ j » iz

Hu Ak r E St: ER. To‘ A

Hi Bl er = r == 17 a PAAN { . r x = N RE DR un | M f ir Feen Y > um, * Fr IT Hl As a sr: \ r r fi | Mil u Kar, [7 ; . i r = n A = » won =; (Er Klin, are a = ring au SE (@ no tiö MI ER - , |, & ä 3 > iR, Dirt. - - - J , j 9, u : . un 30 . L ü *. = = Be 2 . [IFReTTEL REN! i f *- 3 a. Be N 2 vr nr \ # / wit UM ta ji ar. A m g (In get OR 4 ö HIHI) 3 E > P rss _ Br is . e = , n = . R f | % "N ' d % \ um « |

WIE

= BE FEFE SISEESe3BERTIBTBEREEFLLLE! Ah j N, /

Bild 1: Linke Hälfte, nicht gestaucht

Nach Veröffentlichung der ersten Version riefen viele Leser bei der Peeker-Redak- tion an und fragten den ohnehin schon gestreßten Chefredakteur Löcher in den Bauch. So traten Fragen auf wie „Bei mir wird immer nur eine Zeile gedruckt und dann nichts mehr!“ oder „Ich habe keinen Epson-Drucker, was muß ich modifizie- ren?“ usw., die Herr Stiehl natürlich nicht alle beantworten konnte. Da aber die Peeker-Leser, die nicht gerade einen Ep- son-Drucker mit Parallel-Interface besit- zen, auch in den Genuß einer Hardcopy der Hires-Grafik kommen sollten, mußte eine ganz neue Lösung gefunden werden. Aus der Aufgabenstellung heraus, eine Hardcopy hardwareunabhängig (Drucker, Interface) ausgeben zu können, ergaben sich zwei Probleme, die gelöst werden mußten.

1. Problem: Die Druckersteuerzeichen

Wer schon einmal einen Text, der mit Steuerzeichen für Fettschrift, Kursivschrift etc. gespickt ist, auf zwei Druckern ganz verschiedenen Typs ausgegeben hat, der wird wissen, daß mindestens einer der Ausdrucke total „daneben war“. Nur im seltensten Fall findet man zwei Drucker, die zueinander vollständig kompatibel sind.

Leider gibt es für Druckersteuerzeichen keine Norm außer den wenigen Zeichen wie CR (Wagenrücklauf) oder LF (Zeilen- vorschub). Aber sogar hier gibt es Unter- schiede. Der eine Drucker benötigt ein LF nach CR, der andere wiederum nicht.

So verhält es sich auch mit dem Umschal- ten auf Grafikbetrieb. Epson verlangt bei- spielsweise <ESC> „K“ und anschlie- Bend die Anzahl der Grafik-Bytes im Low/ high-Format, Apples Imagewriter dagegen <ESC> „G0280“ für 280 Grafik-Bytes.

Peeker 6/85

Bild 2: Beide Hälften, gestaucht

Man kann also von einem Programmierer nicht verlangen, daß er die Steuercodes aller Drucker kennt. Wenn nicht er, wer aber dann? Nehmen wir doch der Einfach- heit halber einmal den Druckerbesitzer (oder auch nur den Anwender). Beim Aus- packen eines Druckers findet man übli- cherweise ein mehr oder weniger gutes Handbuch mit einer Tabelle aller für diesen Drucker gültigen Steuerzeichen.

Hier muß nun der Programmierer anset- zen. Er verlangt vom Benutzer, daß er im Handbuch die nötigen Steuercodes nach- schlägt und die Daten dem Programm zu- kommen läßt. Leider gibt es ein noch schwierigeres Problem, was tage- (und nächte-)langes Brüten verursachte.

2. Problem: Das Interface

Es gibt weitaus mehr Schnittstellen denn Drucker. Es gibt deren so viele, daß der Programmierer unmöglich wissen kann, wie diese softwaremäßig anzusteuern sind. Nun besteht natürlich die Möglich- keit, von Applesoft aus mittels des PR#- Befehls die Ausgabe vom Bildschirm auf den Drucker umzulenken, um anschlie- Bend von Assembler aus über $FDED (= COUT = Character Output) die Zeichen an den Drucker zu senden. Die Sache hat allerdings einen Haken. Beim Drucken von Grafiken können alle möglichen Bitmuster (von $00 bis $FF) auftreten. Da es aber für jedes Interface wiederum Steuerzeichen gibt, um es zu programmieren, kann es vorkommen, daß der „Command-Charac- ter“ auch bei einem auszudruckenden Bit- muster auftritt. Bei einem parallelen oder seriellen Interface ist dies zum Beispiel ein <Ctrl-]I> CHR$(9). Dieses Grafik-Byte und einige darauffolgende würden dann vom Interface verschluckt werden.

Leider kann das Interface-Problem nicht auf den Anwender abgewälzt werden, da dieser genaue Kenntnisse über die Firm- ware seines Interfaces haben müßte, um zu erkennen, welche I/O-Adressen für seine Karte zuständig sind. Das aber kann man nicht von ihm verlangen. Also was tun?

Wer sich schon näher mit dem Pascal- Betriebssystem, insbesondere mit dem BIOS (Basic Input Output System) befaßt hat, findet eine Lösung dieses Problems. Pascal erkennt fast alle Schnittstellen und arbeitet problemlos mit ihnen.

Dies funktioniert wie folgt:

1. Hole das 5. und 7. Byte aus dem ROM des jeweiligen Slots (bei SUPERDUMP nur $C105 und $C107) und vergleiche die Werte mit einer Tabelle für die verschiede- nen Interface-Typen. Es gibt deren 5: Pa- rallel-, Seriell-», Communications-, Disk- und Firmware-Karten.

2. Sende das Zeichen entweder über die genormten I/O-Adressen gemäß den obi- gen Typen (bei Parallel- oder Communica- tions-Karte) oder springe die genormten Adressen im Slot- bzw. im ROM-Bereich an (bei Seriell- oder Firmware-Karten).

Bei letzteren gibt es allerdings noch eine Sonderregel, die unbedingt beachtet wer- den muß. Da bei diesen Karten direkt in das ROM der Karte gesprungen wird, übernehmen diese wieder die weitere Steuerung und eventuelle Filterung durch den „Command-Character“. Bei diesen Karten gibt es aber meistens einen Steu- ercode, der einmalig gesendet werden muß, um zu verhindern, daß irgendwelche Bitmuster als Steuercode interpretiert wer- den. Bei Apples Super-Serial-Interface (SSC) ist dies z.B. <Ctrl-I> „Z“ <RE-

23

TURN> (siehe Handbuch), was von Ap- plesoft aus leicht durch folgende Zeilen realisierbar wäre:

10 PRINT CHR$(4); “PR#1“

20 PRINT CHR$(9); "Z“

30 PRINT CHR$(4); “PR#0“

Wenn also nach anfänglich erfolgreichem Drucken auf einmal Buchstaben statt Gra- fik gedruckt werden, dann erst im Hand- buch zum Interface nachschlagen, ob es nicht solch einen Code gibt und diesen dann vor dem Drucken senden.

Nun aber genug der Theorie.

I M M IN] 1 1] zu Il ie A Il # AN

ni on " E P =. Earl;

Bild 3: Normales Double-Hires-Bild

Was bietet SUPERDUMP?

Da nicht alle Peeker-Leser auf das Heft 1/ 84 zurückgreifen können, folgt hier eine Aufzählung aller Features von SUPER- DUMP:

® durch Angabe eines Kontrollblocks für Druckersteuerzeichen druckerunab- hängig,

® i-, 2-, oder Afacher Druck (für beson- ders schwarze Dumps),

® positiver oder negativer Druck (schwarz auf weiß oder weiß auf schwarz),

® horizontaler oder vertikaler Druck,

® Umrandung von Bildern,

® durch Angabe der Bildadresse (z.B. $2000 für Seite 1) speicherunab- hängig,

mehrere Bilder können nebeneinander wiederholt werden,

®@ Bildauschnitte können gewählt werden,

® Vergrößerung in X- und Y-Richtung (Zoom),

® Dump der Apple Ile/lic Double-Hires- Grafik direkt aus dem Bildspeicher,

® automatischer Zeilenvorschub bei CR ein/ausschaltbar,

® Drucken eines großen Bildes durch Aufspaltung in Teilbilder,

® Richtung der Druckernadeln wählbar,

® Konvertierung von Double-Hires-Bil- dern nach normal und umgekehrt.

24

Diese Features werden durch die sog.

Übergabeparameter in der Seite 3 ($0300) gewählt, die in Tabelle 1 zusam- mengestellt sind. Es folgt eine nähere Er- lauterung einzelner Parameter:

Kontrollblock-Nummer ($0300) Wie oben erwähnt, gelten für verschiedene Drucker verschiedene Steuerzeichen. Diese müssen in einem oder mehreren Kontrollblocks (KB) abgelegt werden. Mit der Übergabe der KB-Nummer kann einer der Blöcke selektiert werden (z.B. zur Ein- stellung von Horizontal- oder Vertikal- druck). Der Aufbau eines Kontrollblocks sieht wie folgt aus:

Die Länge eines KBs beträgt 64 Bytes. Diese leitet sich ab aus der Länge von 4 Strings zu je 15 Zeichen, an deren Beginn das Länge-Byte stehen muß. Die 4 Strings haben folgende Bedeutung:

—- String #1 = Pinit: Beinhaltet die Initiali- sierungssteuerzeichen wie Zeilenabstand, unidirektionaler Druck etc., die zu Beginn eines Druckvorgangs einmalig gesendet werden müssen. Achtung: Der Zeilenab- stand muß bei horizontalem Druck 8 Na- deln, bei vertikalem Druck 7 Nadeln be- tragen.

String #2 = Pline: Steuerzeichen zum Umschalten des Druckers auf den Grafik- betrieb. Diese Zeichen werden vor jeder Druckzeile ausgegeben.

String #3 = PIf1: Steuerzeichen für 1/ 216“ oder 1/144“ Zeilenvorschub (wird

nur bei 2- und Afach-Druck benutzt).

String #4 = Pexit: abschließende Steu- erzeichen wie bidirektionaler Druck, Zei- lenabstand auf alten Wert etc.

In Tabellen 2 sind die Werte für die Ep- son-Drucker und den Imagewriter wieder- gegeben. Diese Hex-Dumps sollten durch BSAVE EPSON (oder IMAGEWRITER), A$9000, L$80 gespeichert werden.

Bei der Erstellung eigener Kontrollblöcke ist zu beachten, daß sich die Parameter- blöcke nicht mit dem Assembler- ($8000- $86C6) oder einem Applesoft-Programm (ab $0800) überlappen.

Mehrfachdruck ($0304) Bei 2- und Afachem Druck wird versucht, das Papier um 1/216°“ oder 1/144” vorwärts zu schieben, um nochmals die gleiche Zeile zu drucken. Der aufmerksame Leser, der einen Epson-Drucker besitzt, wird viel- leicht bemerkt haben, daß bei Pinit der Zeilenabstand des Druckers nicht wie er- wartet auf 24/3 = 8 Bits initialisiert wurde,

sondern nur auf 23/3 Nadeln. Die restliche 1/3 Nadel besorgt dann der PIf1-String. Auch bei einfachem Druck wird dieser String zum Drucker gesendet, wenn er nicht die Länge O hat. Es wird dann ledig- lich der fehlende Zeilenvorschub nachge- holt. Wer will, kann auch in Tabelle 2 den Abstand auf 24:3 = 8 Bits stellen und den PIf1-String auf O setzen. Für vertika- len Druck gilt dasselbe.

Teilbilder ($0322) An dieser Stelle möchte ich mich ganz herzlich für die posi- tive Kritik an der Erstversion des Dump- Programms von Herrn N.G. Barbieri be- danken, bei dessen Graf-quattro-Editor (Peeker Heft 4/85) diese Neuversion durch den DiffPics-Parameter (wie er im Assemblerlisting genannt wird) bestimmt Verwendung finden wird. Beim Drucken seiner 560 * 384-Punkte-Grafiken muß dann wie folgt vorgegangen werden: La- den der beiden Teilbilder 1 und 2 in Hires- Seite 1 und 2, Parameter wie im Beispiel angegeben setzen, dann die Bilder 3 und 4 laden und nochmals drucken (wie oben).

Kommando-Byte ($0326) Anwendung für Kommando 1 und 2: Vor dem Abspei- chern eines Double-Hires-Bildes muß die- ses aus der 64K-Karte in das Main-RAM geschoben werden (1); nach dem Laden entsprechend umgekehrt (2).

Modifizierung und Anwendung der Programme

Das Assembler-Programm muß mit „BRUN SUPERDUMP gestartet werden, nachdem es mit „BSAVE SUPERDUMP, A$8000, L$6C7“ gespeichert wurde, und kann dann von Applesoft aus über den &- Vektor aufgerufen werden.

Wegen der Länge des Quelltextes, der mehr als 1000 Zeilen umfaßt, kann hier nur ein Hex-Dump abgedruckt werden.

Für all diejenigen, die die Paramaterüber- gabe in Seite 3 nicht selbst übernehmen wollen, gibt es die Applesoft-Rahmenpro- gramme SUPERDUMP.IMAGEWRITER und SUPERDUMP.EPSON, die dies be- sorgen. Für andere Drucker müssen fol- gende Zeilen geändert werden:

1000: PF$ ist der Printerfile, in dem die Grafiksteuerzeichen stehen. Dieser File muß vorher, am besten mit dem Drucker- namen, abgespeichert werden. Dabei spielt die Adresse keine Rolle, denn diese wird in Zeile 1500-1510 nach dem Laden automatisch ermittelt. Achtung: Dies gilt nur für DOS 3.3 und nicht für ProDOS! Am

Peeker 6/85

besten benutzt man Block #0 des Printer- files für horizontalen und Block #1 für vertikalen Druck (siehe Tabelle 2).

1010: DG ist der Grundeinstellungswert des Grafikmodus des benutzten Druckers, wenn ein Double-Hires-Bild mittels Grundeinstellung gedruckt werden soll. Da ein Double-Hires-Bild in X-Richtung doppelt so eng auf dem Bildschirm er- scheint, sollte auch für den Drucker ein entsprechend enger Grafikmodus gewählt werden. Beim Epson sollte dieser Wert 2 (960-Punkte-Grafik), beim Imagewriter 4 (1152-Punkte-Grafik) sein.

1020: NG ist der Grundeinstellungswert für die Richtung der Drucknadeln. Für ei- nen Epson-Drucker muß dieser Wert O sein, für Imagewriter 1.

3280-3350: Diese Zeilen haben folgende Bedeutung: Sie stellen dem Benutzer die Anzahl der Grafik-Bytes pro Druckzeile in 3 verschiedenen Formaten zur Verfügung: 1. BT ist die Anzahl der Bytes als Integer- Zahl |

2. BL, BH ist die Anzahl der Bytes im Low/ high-Format (für Epson-Drucker etc.)

3. BT$ ist die Anzahl der Bytes im String- format (für Imagewriter etc.)

3400 - Ende: Menü der verschiedenen Grafikmodi für einen speziellen Drucker (siehe entsprechende Werte für Epson und Imagewriter). Die Modi entnimmt man den Druckerhandbüchern. Anschließend muß die Anzahl der Grafik-Bytes in den entsprechenden Parameterblock gepokt werden. Dies besorgen die letzen 2 Zeilen.

Achtung: Die Länge des Applesoft-Pro- gramms inklusive Variablen sollte $2000 nicht überschreiten, wenn aus Seite 1 ge- druckt werden soll.

Hinweis für Assembler-Programmierer, die das Applesoft-Rahmenprogramm nicht benutzen wollen: Die Parameter auf Seite 3 müssen selbst an das Druckprogramm übergeben werden. Diese können aber vorher schon abgespeichert worden sein und brauchen dann nur noch wie auch der Printerfile für die Druckersteuerzei- chen geladen werden.

Für die Benutzung der Applesoft-Rahmen- programme sind in Tabellen 3 die Einga- ben für die einzelnen Beispielbilder wie- dergegeben.

Und nun viel Spaß beim Drucken. Übri- gens: Wenn nicht alles gleich auf Anhieb klappt, nicht verzagen. Erst probieren, dann anrufen.

Peeker 6/85

Hinweis: Wegen der großen Nachfrage wurde SUPERDUMP in den Versionen für Imagewriter und Epson bereits in die Peeker-Sammeldisk #5 aufgenommen

SUPERDUMP BSAVE SUPERDUMP, A$8009, L$6C7

$s000: A9 11 8D F6 P3 AY 80 8D $sods: FT 03 20 CA 85 20 FB 85 $801P: AD 26 93 FP c9 @1 $8P18: 03 AC E3 84 02 $802P: 4C E9 84 C9 #3 $8028: 48 85 C9 4A 03 AC $803P: 85 69 AD 1E FO 12 $8038: 6D 83 AD 54 AD 57 $8049: AD 5E CO 8D cp $8048: CO AD PA 93 03 $805P: 83 20 AA 83 08 $8058: 03 AC 8l El $806P: 16 93 31 A9 $8068: 39 93 8F AD $8079: CD IC Fo EE $8078: 4C 6B AD 03 $808P: 08 8D 03 18 $8088: DC ac 83 H809p: 83 29 80 3E 58098: 3A 03 F5 9C $8HAP: 5D 83 d4 Ed $8HAB: 07 Dp 29 $80BP: 20 2F 20 80 $80B8: 83 CE 03 F5 $80CQ: 83 69 "W) 3D $80C8: 12 93 38 AC $80DP: sc 34 AD 03 $8HD8: 03 A9 8D 03 $8QEP: 03 29 84 c9 $8QES: 38 93 CA FC $8pFp: 03 CE d3 IF $80F8: 03 CD 03 6 $819p: 03 AC 80 FF $8198: 03 DA 36 $811P: 3F 03 B2 $8118: 32 03 1C $8129: 03 8E $8128: n]) E8 $8139: CE $8138: E8 DC $8149: 8E 08 $8148: 03 02 $8159: 2A CE $8158: EA 20 $8169: 1A 83 $8168: AC 15 $8179: AD

$8178: EE

$8189:

$8188:

$8199:

$8198:

H81AB:

H81A8:

$81BP:

$81B8:

HElcQ:

$8lc8:

$81D9:

$81D8:

$81EP:

$81ES:

$81Fß:

$81F8:

58299:

58298:

58219:

$8218:

$8229:

$8228:

$8239:

$8238:

58249:

58248:

$8259:

25

125® REM 1260 TEXT : PRINT CHR$ (12): HOME 1270 PRINT" akakak aka akaleakakakakakakakakakakakakaenk"" 1280 PRINT "*x SUPERDUMP x" 1298 PRINT "* von Jürgen Geiß x" 1300 PRINT "x März 1985 u 131® PRINT!" akakak aka ak aka ak aka ak aleaeak akeaakakakak ak "" 1328 PRINT : PRINT D$"BRUN SUPERDUMP" 1330 PRINT : PRINT "Augenblicklicher Drucker: ";PF$; 1348 PRINT : PRINT "Schnittstelle: "; 1350 ON PEEK (IN) GOTO 1369,137®,1389,1399, 1499, 1419 1369 "Super-Serielle": GOTO 1429 1379 = "Disk-Controller": GOTO 142® 1389 "Communications": GOTO 142® 1399 "Serielle'": GOTO 142® 1490 = "Parallele": GOTO 142® 1419 "Firmware" 1428 PRINT S$;" Karte"; 1430 PRINT : PRINT "Apple //e Double-Hires-Grafik? (J/N)";: GOSUB 2159 1440 IF A$ < > "J" GOTO 1479 1450 POKE 49153,®: POKE 49165,9:X = PEEK (49246): REM Softswitches für Apple //e 146® PRINT : PRINT D$"PR#3";:D = 1 1470 PRINT : PRINT "Bild speichern? (J/N)";: GOSUB 2159 1480 IF A$ < > "J" GOTO 1529 1490 L$ = "L$2009" 1500 IF D = 1 THEN POKE CO,1: & :L$ = "L$4900" 1510 PRINT : PRINT D$"BSAVE BILD, A$2009,";L$ 1528 PRINT : PRINT D$"BLOAD";PF$ 1530 Pl = PEEK (43634): REM Adresse des zuletzt 1540 P2 = PEEK (43635): REM geladenen Parameterblockes 1550 PB = Pl + 256 «= P2 1569 P=1 1578 HOME : VTAB (22) 1588 PRINT "Grafik schon im Speicher? (J/N)";: GOSUB 2159 1598 IF A$ = "N" GOTO 1799 1600 IF A$ = "J" GOTO 18PP 1618 GOTO 1579 162 POKE - 16309,®: POKE - 1630#1,®: POKE - 16297,®: POKE - 16394,® 1630 HOME : VTAB (22) 1648 FOR I = ST TO ST + 39: POKE I,®: NEXT : REM Parameter löschen 1650 GOSUB 2199: REM Grundeinstellung 1660 PRINT "Grundeinstellung? (J/N)";: GOSUB 215® 1678 IF A$ = "J" GOTO 2020 1680 TEXT 1699 GOSUB 2499: GOSUB 2480: GOSUB 2559: GOSUB 2629: GOSUB 2690: GOSUB 2769: GOSUB 2839: GOSUB 2909: GOSUB 3389: GOTO 2929 1700 HOME : VTAB (22) 1718 PRINT "Diskette mit Grafikfiles einschieben": PRINT "und Taste drücken"; 1720 GET A$ 1730 TEXT : PRINT : PRINT D$'"CATALOG": PRINT 1748 INPUT "Welche Grafik laden? ";A$ 1750 IF A$ = "" THEN A$ = "BILD" 1760 HGR 1778 HOME : VTAB (22) SUPERDUMP.IMAGEWRITER 1780 PRINT D$"BLOAD":A$ 1798 IF D = 1 THEN POKE CO,2: & : REM verschiebe von Seite 2 1000 PF$ = "IMAGEWRITER": REM Parameter-File nach Aux RAM 101® DG = 4: REM Grundeinstellung für Double-Hires 1800 POKE - 16300,®: POKE - 16301,®: POKE - 16297,9: POKE 1020 NG = 1: REM Grundeinstellung für Nadel - 16304, 1030 ST = 768: REM Start der ParameterÜbergabe 1810 P=1 1040 KB = ST + ß®: REM Nummer des Kontrollblockes 1820 HOME : VTAB (22) 1050 KA = ST + 92: REM Adresse des Kontrollblockes 1830 PRINT "Ist dies das richtige Bild? (J/N)";: GOSUB 215 1ö60 IM = ST + ®4: REM 1-, 2- oder 4-fach Druck 1840 IF A$ = "J" GOTO 162® 1078 xXO ST : REM exclusives Oder für jedes Byte 1850 IF A$ = "N" GOTO 1879 1080 DI ST : REM Richtung 1860 GOTO 1829 1090 FR ST : REM Rand 1878 HOME : VTAB (22) 1108 AD = ST : REM Grafikadresse ($2000 für Seite 1) 1880 PRINT "Wollen Sie die andere Grafikseite": PRINT 111® RF ST : REM Wiederholung fÜr gleiche Bilder "sehen? (J/N)";: GOSUB 2159 1129 ST : REM Distanz zwischen gleichen Bildern 1890 IF A$ = "J" GOTO 1929 1139 ST linker Bildrand (9..559) 1900 IF A$ = "N" GOTO 2000 1149 ST rechter Bildrand (®..559) 191® GOTO 187® 1159 ST oberer Bildrand (®..191) 1920 POKE - 16299,® 116® ST unterer Bildrand (ß..191) 1930 POKE - 16392, 1179 ST Dehnung in X-Richtung (1..31) 1949 P=2 1189 ST Dehnung in Y-Richtung (1..31) 1950 GET A$ 119 ST Double-Hires-Grafik für Apple //e 1960 PRINT 1299 ST automatisches LF nach CR 1978 POKE - 16309, 1219 ST Anzahl verschiedener Bilder 1980 POKE - 16301,® 1220 ST Richtung der Drucknadeln 1990 GOTO 182® 1239 sT Kommando fÜr Assemblerroutine 2000 POKE - 16393 1249 ST Interface-Typ 2010 GOTO 1799 1245 = CHR$(4) 2020 POKE - 16302,®

+++ +++ ++ +++ tt tr tr Hr Hr Hr HH

26 Peeker 6/85

| nn nm nn

YIYIN MAGAZIN FÜR APPLE-COMPUTER

Ja, ich möchte peeker abonnieren.

Liefern Sie mir peeker ab Ausgabe .................. (1985 erscheinen 11 Ausgaben 1 Doppelnummer) zum Jahresbezugspreis von DM 72,- (Inland) incl. MwSt. Die Lieferung erfolgt frei Haus. Porto, Verpackung und Zustellgebühren übernimmt der Verlag. Der Jahresbezugspreis für das Ausland beträgt DM 72,- incl. MwSt., zzgl. DM 16,80 Versandspesen.

Für = Unterlagen 2 Abonnement bestellt

Ich wünsche jährliche Berechnung durch: [_] Verlagsrechnung [_] Abbuchung von meinem Bank- bzw. Postscheckkonto

Tas er: ervice Bank / PschA Postfach 102869

6900 H ide nn

Bankleitzahl Kto.-Nr.

Datum Unterschrift

ZINN MAGAZIN FÜR APPLE-COMPUTER

Bitte senden Sie mir gegen Rechnung folgende Bücher:

Für Ihre Unterlagen: - Folgenc ide Bücher beste

Datum Unterschrift

aaaaad MAGAZIN FÜR APPLE-COMPUTER

| ) Bitte senden Sie mir . ge gegen Rechnung folgende Apple-Programme: z oO U] Peeker-Sammeldiskette, einzeln [I Apple DOS 3.3, Begleitdiskette, DM 28,- . Disk# ____—_, Disk# OD) Apple ProDOS, Band 1, Begleitdiskette, . SL Disk# ____, Disk# DM 28,— . # Preis je Disk DM 28,- (einzeln) DO) Apple ProDOS, Band 2, Begleitdiskette, 2 U] Peeker Sammeldiskette, OD) Apple Assembler, Begleitdiskette, DM 28,— oO im Fortsetzungsbezug OD) ProDOS-Editor 1.0, Programm, DM 98,— _ ab Disk # _—_—— OD) MMU 2.0, Programm, DM 98,— _ 2 (Mindestbezug 6 Disketten) D INPUT 2.0, Programm, DM 98,- ° a 2 Preis je Disk DM 20,- OD) Softbreaker 1.0, Programm, DM 48,- a M _ [I DB-Meister, Programm, DM 290,— er | ..— D a ee a = | Softwareabtelung 9 = SUDETIER ISHPANIN; _ Postfach 102869 . D D Unt hrift M a t |. 1 . a atum nterschri

.

E Software-Karte

Vertrauensgarantie:

Ich habe davon Kenntnis genommen, daß ich die Bestellung | schriftlich durch Mitteilung an den Dr. Alfred Hüthig Verlag,

PP Postfach 102869, 6900 Heidelberg 1 innerhalb von

7 Tagen widerrufen kann. Zur Fristwahrung genügt die _ rechtzeitige Absendung des Widerrufs (Datum des Poststempels).

| Datum

_ Unterschrift

Verlagshinweis: Das Abonnement verlängert sich zu den jeweils gültigen Bedingungen um ein Jahr, wenn es nicht 2 Monate vor Jahresende schriftlich N. wird.

© Sache bitte vollständig ausfüllen

A m Vorname, Name

Firma

Straße

| Telefon mit Vorwahl

Karte bitte vollständig ausfüllen

Vorname, Name

Straße

Teleton mit Vorwahl

POSTKARTE

peeker Leserservice

Postfach 102869 6900 Heidelberg 1

POSTKARTE

peeker Versandbuchhandlung

Postfach 10 28 69

6900 Heidelberg 1

POSTKARTE

peeker Softwareabteilung

Postfach 10 2869

6900 Heidelberg 1

INPUT 2.0

Ein Bildschirm- Maskengenerator

für DOS 3.3 und ProDOS

von U. Stiehl

1984, Diskette und Manual, DM 98,-

ISBN 3-7785-1021-5

„Input 2.0“ liegt wahlweise in der Bank 1 oder Bank 2 der Language Card und wird durch einen kurzen Driver in den unteren 48K aufgerufen.

Für jedes Feld der Bildschirmmaske lassen sich u. a. definieren: Feldlänge (bis zu 255 Zeichen) Vtab Htab Datentyp (insge- samt 8 Typen) - Scrollflag (starre oder dyna- mische Maske) Ctriflag Füllflag Lösch- flag Bildschirmflag (40- oder 80-Z-Darstel- lung). Innerhalb eines Eingabefeldes besteht jeder denkbare Redigierkomfort (Insert, De- lete, Rubout, Restore usw.). Gerätevoraussetzung: Apple Ile oder Iic; fer- ner Apple II+ im 40-Zeichenmodus

MMU 2.0

Memory Managements Utilities

für die Apple lle 64K-Karte

DOS 3.3 (und ProDOS)

von. Stiehl

1984, Diskette und Manual, DM 98,— ISBN 3-7787-1023-1

Insgesamt enthält die neue „MMU 2.0"- Diskette über 25 Programme, die neue Einsatzmöglichkeiten für die Extended 80 Column Card (erweiterte 80-Z-Karte = 64K-Karte für den Apple Ile) erschließen. Ein Teil der Programme laufen auch auf dem Apple II Plus, doch ist „MMU 2.0° primär für 64K-Karte-Besitzer gedacht.

Gerätevoraussetzung: Apple Ile mit 64K- Karte oder lic

Softbreaker 1.0

Eine softwaremäßige Interrupt-Utility für die Apple lle 64K-Karte

vonU. Stiehl

1984, Diskette und Manual, DM 48- ISBN 3-7785-1022-3

Softbreaker ist ein Assemblerprogramm, mit dessen Hilfe Programme, die sich von der 64K-Karte (= Extended 80 Column Card für den Apple lle) starten lassen, unterbrochen, gespeichert, geladen und exakt an der Stelle der Unterbrechung fortgeführt werden kön- nen. Dadurch ist es auch möglich, Siche- rungskopien von sogenannten kopierge- schützten Programmen herzustellen.

Mit Softbreaker unterbrochene Programme werden komplett, d. h. die ganzen 64K ein- schließlich Language Card, in nur ca. 11 Se- kunden auf einer formatierten Diskette gesi- chert.

Gerätevoraussetzung: Apple Ile mit 64K- Karte

Hüthig Software Service, Postfach 10 28 69, D-6900 Heidelberg

Verkauf Software

TEAC 55F 600,- 55B 550, * SSDD 10 St 42,- 96 tpi DS 78,- Lochverst. europ. Markenw. * Box Rglas. Schl. für 40-42,- für 80-— 49,— * Monitore 18Mhz 12” entsp. gr. ab 298,-. VICO,

Selchower Str. 31, 1000 Bin 44

APPLE-Nachbau mit 16K, Z80, VIA-Karte, 2 Disk-Laufwerke, Mo- nitor und Intellig. Keyboard zu

verk., Tel. 040/7013101 nach 18 Uhr. Flache Siemens/Rafi Tas-

tatur mit 64 Zusatz-Funktionsta- sten und HEX Block. F-Tasten ver- kettbar bis 1800 Zeichen. Stan- dartbelegung Basic + Wordstar. VHS 920. Eproms 2716 ä 8,50. Tel. 06251/69742.

PrinterPlotter Adcomp X132SP mit V24 Schnittstelle. Neupreis 5500 VHS 2400 DM. Eproms 2716 a 8,50 DM, Tel. 06251/69742.

*** Apple Il Supermodem xxx V21, V23 und Bell, 300-1200 Baud komplett auf einer Karte, mit Software startfertig nur 398 DM. Rolf Kiupel, Tel. 04 31/5554 27.

Verk. neuen EPROM-Burner NP 373,- (Fa. Springmann) für nur 320,—- VHB; Frank Fuhrmann, Tel. 07231/21273

Verkaufe 100 % Apple Komp. evtl. mit Zubehör, Preis VB Tel.: 06109/64899.

Fernschreiberinterface am Gameport m. Programm DM 79,— P. Benner, Hubertusstr. 131, 4150 Krefeld

Z80B-Karte 6MHZ DM 600,-, 8 Zoll Controler DM 500,-, 8 Laufw. DS/DD Sliml. 1,2MB DM 700,-, Tel. 02221/605088 ab 18.00 Uhr.

Verkauf Hardware

EEE N 5 Landw. Spitzenprogramme Ab 90 DM Infomappe (3 DM) Fuer APPLE Il A. Wachendorf,

2814 Engeln 30 RER

160-Track-Kopierprogramm für normale 16-Sekt.-Disks mit komf. Fehlerbehandlung Maschi- nenspra. B. Rüter, Rahden. Str. 65, 4955 Hille

-— - STOCKMASTER II Das Apple-Programm für echte Börsengewinne.

TONGI, COMPUTER-PRAXIS Aspeltstr. 4, D-6500 Mainz 1

Bagplus Basic Erweiterung für den Apple. 19! neue Befehle: Swap Instring, Inkey, Fillstr, Music Fillpage, Invpage für 49 DM Info anford.. Guido Schrörs Corne- liusstr. 29, 4154 Tönisvorst 1

Astrologie-Progr. mit Text, Progn. + Partnervergl. Probeaus- dr. DM 10,- Geb. Dat. Zeit u. Ort Ang. CH. Marquard, Postf. 145, D- 7753 Allensbach

== BUNDW

== Büroelektronik Keithstr. 26 - 1 Berlin 30 : ® 0 30-26 11126

peel

örse

x APPLE Ile, APPLE lic x Maschinenschreiben, Gratisinfo, Demo-Diskette 10 DM, Dipl. Ing. M. Decker, Johannastr. 64, 4220 Dinslaken, Tel.: 021 34/368 83

APPLE-Programme nach Wunsch: Rüter, Rahdener Str. 65, 4955 Hille

Ankauf Software

Suche Mailbox-Programm für APPLE Ile. Angebote an A. Krä- mer, Talstr. 37, 6057 Dietzenbach

Suche Interessierte zur Gründung eines APPLE-Computerclubs im Raum 5010 Bergheim zur pro- fessionellen Programmerstellung. Tel.: 02271/43562.

Erscheinungstermin für Ausgabe 7/85 ist am 24.6.1985

Ausbildung

Mikroprozessoren Computertechnik

Praxisnahe Fachausbildung durch staatl. dei Fernlehrgang. Hard/Software, aschinensprache, Programmierungstech- nik. Computer-Lernsystem wird mitgelie- fert. Information kostenlos. ISF-Lehrinstitut, 2800 Bremen 34/ Abt. 8-184

KKKKKKKKKRKKKKRRR

ER FIIPYNP

MC 3470 (der Leseverstärker auf dem Analogboard): DM 10,-, A. Deckers, PF 967, 7 Stuttgart 1

Disketten-Box 49,00 DM für 80 5 1/4” Disketten, M. Ziemer, Bel- mer Str. 14, 4500 Osnabrück, 0541/74333 0. 37859

Suche „Schriftliches“ zu ROBO1IB8BB + APPLEWORKS, Tel. 02111/335842

Suche Gebrauchsanleitung für Visiplot und Visitrend Tel.: 02233/75102

KKKKFRKKRKRRKRRRRRRR

Floppysubsystem für Apple Il

2 x 3,5" TEAC FD-35F max. 2 x 1MB Autopatch-Controller inkl. Manual und SW ALU-Profil-Gehäuse m. Netzt. komplett anschlußfertig nur DM 2398,—

RER Telekommunikation

Anschlußkabel Dataphon S21d Terminalsoftware komplett anschlußfertig nur DM 398,—

KRRRFKRFRKRRRKRRR

TISCH & ZETTL GdbR Elektronicvertrieb Rosensir. 33, 8034 Germering Telefon 089/841 68 17

KRRRKKRRKRKRKRRRKR

KKKRKKHKKKKKKRR KRFKKFKKKRRR

KRRKRRKFRKRRRKRKRRRRR

-= BUNDW

== Büroelektronik GmbH Bachstr. 104 - 2 HH 76 : ® 0 40-220 1155

Für weitere Informationen zu einem der in dieser Ausgabe vorgestellten Produkte stehen Ihnen die Produktkarten zur Verfügung

Bitte verwenden Sie für Kleinanzeigen die vorgedruckten Antwortkarten in

diesem Heft.

Peeker 6/85

29

2030 IF P = 2 THEN POKE - 16299,®

2040 POKE -— 16297,®

2050 POKE - 16394,®

2060 POKE CO,®: REM jetzt drucken

2070 POKE HI,D: REM eventuell Doppel-Hires

2080 & : REM SUPERDUMP aufrufen

2090 TEXT

2100 HOME : VTAB (22)

2118 PRINT "Nochmal? (J/N)";: GOSUB 215 2120 IF A$ "J" GOTO 1579

2130 IF A$ = "N" THEN HOME : END

2140 GOTO 2199

2150 GET A$: PRINT A$;

2160 IF A$ > = "a" THEN A$ = CHR$ ( ASC (A$) - 32)

2170 RETURN

2180 REM

2190 POKE KA,Pl

2200 POKE KA + 1,P2

2210 POKE AD + 1,P & 32

2220 POKE RF,1

2230 POKE RI,6

2240 POKE RI + 1,39

2250 IF D = 1 THEN POKE RI + 1,79

2260 POKE BO,191

2270 POKE XF,l

2280 POKE YF,l

22908 POKE HI,D

2300 POKE DP,1

2310 POKE NE,NG

2320 IF D= 1 THEN C$ = STR$ (DG):

2330 RETURN

2349 REM

2350 PRINT "Welches Kommando: ";

2360 GET C$: IF (C$ = " ") OR (C$ = CHR$ (13)) THEN C$ = "m

2378 IF VAL (C$) = ® THEN c$ = "1"

2380 RETURN

2390 REM

2400 HOME

GOSUB 3280: GOSUB 351

2418 PRINT "<1> 1-fach Druck": PRINT 2420 PRINT "<2> 2-fach Druck": PRINT 2438 PRINT "<3> 4-fach Druck": PRINT

2440 GOSUB 235%

2450 POKE IM, VAL (C$) - 1

2460 RETURN

2470 REM

2480 HOME

2498 PRINT "<1> Positiv": PRINT

2500 PRINT "<2> Negativ": PRINT

2519 GOSUB 2359

2520 IF C$ = "2" THEN POKE X0,255

25390 RETURN

2540 REM

2559 HOME

2560 PRINT "<1> Horizontal": PRINT

2578 PRINT "<2> Vertikal": PRINT

2580 GOSUB 235%

2598 POKE DI, VAL (C$) - 1

2600 RETURN

2610 REM

2628 HOME

2638 PRINT '"<1l> Kein Rahmen": PRINT

264® PRINT "<2> Rahmen": PRINT

2650 GOSUB 235%

2660 POKE FR, VAL (C$) - 1

2670 RETURN

2680 REM

2699 HOME

27008 PRINT "<1l> Seite 1": PRINT

2718 PRINT "<2> Seite 2": PRINT

2728 GOSUB 2359

2730 POKE AD + 1, VAL (C$) * 32

2749 RETURN

2750 REM

276® HOME

2778 PRINT "<1> Automatisches LF nach CR": PRINT 2780 PRINT "<2> Kein automatisches LF nach CR": PRINT 2798 GOSUB 235%

2800 POKE AL, VAL (C$) - 1

281® RETURN

2820 REM

28390 HOME

2840 PRINT "<1l> Unterste Drucknadel Bit 9": PRINT 2850 PRINT "<2> Unterste Drucknadel Bit 7": PRINT 2860 GOSUB 2359

2870 POKE NE, VAL (C$) - 1

2880 RETURN REM

30

HOME

2918 INPUT "Wiederholungsfaktor : ";I

2920 I = ABS (I): IF I > 255 THEN I

2938 IF I=® THENI=1

2940 POKE RF,I

2959 INPUT "Wiederholungsdistanz: ";

2960 I = ABS (I): IF I > 255 THEN I

2970 POKE RD,I

2988 INPUT "Linker Rand : #37

2998 I = ABS (I): IF I > 559 THEN I

3000 POKE LE + 1, INT (I / 7)

3018 POKE LE,I - INT (I/7) «7

302 INPUT "Rechter Rand s mal

3030 I = ABS (I): IF I > 559 THEN I

3040 POKE RI + 1, INT (I / 7)

3050 POKE RI, I- INT(I/7) «7

3069 INPUT "Oberer Rand 0%

3078 I = ABS (I): IF I > 191 THEN I

3080 POKE TP,I

309 INPUT "Unterer Rand ; WST

3100 I = ABS (I): IF I > 191 THEN I = 191

311® POKE BO,I

3128 INPUT "X-Faktor ; USE

3130 I = ABS (I): IF I > 31 THEN I =1

3148 IF I=G THENI=|1

315® POKE XF,I

3160 INPUT "Y-Faktor a

3170 I = ABS (I): IF I > 31 THENI=1

3188 IF I=® THENI=|

3198 POKE YF,I

3200 INPUT "Anzahl der Bilder 2 m

3210 I = ABS (I): IFI>8 THEN I =]1

3220 IF I= 9 THENI=|1

3230 POKE DP,I

3248 INPUT "Kontrollblocknummer : ";I

3250 I = ABS (I): IF I > 255 THEN I = 1

3260 POKE KB,I

3270 REM

3280 IF PEEK (DI) = ® THEN BT = PEEK (XF) * ( PEEK (RI) + PEEK (RI + 1) *& 7 - PEEK (LE) - PEEK (LE + 1) «7 +])

3298 IF PEEK (DI) = 1 THEN BT = PEEK (YF) * ( PEEK (BO) + PEEK (BO + 1) *& 7 - PEEK (TP) - PEEK (TP +1) «7 +])

3300 BT = (BT + PEEK (RD)) * PEEK (RF) * PEEK (DP)

331® BH INT (BT / 256)

3328 BL = BT - INT (BT / 256) * 256

3330 BT$ = STR$ (BT)

3340 L = LEN (BT$)

IF L< 4 THEN FOR I = L TO 3:BT$ = "®" + BT$: NEXT

N m

IH >

Il a

2719

Il >

PRINT "Drucker: ";PF$: PRINT 3400 PRINT "<1> 576 Punkte/Zeile" 3410 PRINT "<2> 649 Punkte/Zeile" 3420 PRINT "<3> 768 Punkte/Zeile" 3430 PRINT "<4> 1152 Punkte/Zeile" 3440 PRINT '"<5> 1288 Punkte/Zeile" 3450 PRINT "<6> 856 Punkte/Zeile" 3460 PRINT "<7> 968 Punkte/Zeile" 3470 PRINT "<8> 1988 Punkte/Zeile"

2359 3500 REM *** hier Grafiksteuerzeichen POKEn xx** 351® I = PB + PEEK (KB) * 64 + 16: REM Adresse der Grafiksteuerzeichen 3520 ON VAL (C$) GOTO 3539 ,3549 ,3559 , 3569, 3579, 3589, 3599 , 360®

3539 C$ = "n": GOTO 361 3549 C$ = "N": GOTO 3619 3559 C$ = "E": GOTO 3619 3560 C$ = "p'": GOTO 3619 3578 C$ = "P": GOTO 3619 3589 C$ = "e": GOTO 3619 35998 C$ = "q": GOTO 3619 3600 c$ = gm

361® POKE I + 2, ASC (C$) 3620 FOR J = 5 TO 8: POKE I + J, ASC ( MID$ (BT$,J - 4,1)): NEXT : RETURN

SUPERDUMP.EPSON

Die folgenden Zeilen müssen im Listing SUPERDUMP. IMAGEWRITER geändert werden.

1000 PF$ = "EPSON": REM Parameter-File 181® DG = 2: REM Grundeinstellung für Double-Hires 1028 NG = ®: REM Grundeinstellung für Nadel

Peeker 6/85

———

3400 PRINT '"<1> 489 Punkte/Zeile"

3410 PRINT "<2> 968 Punkte/Zeile"

3420 PRINT "<3> 96® Punkte/Zeile"

3430 PRINT '"<4> 1928 Punkte/Zeile"

3440 PRINT "<5> 649 Punkte/Zeile"

3450 PRINT "<6> 576 Punkte/Zeile"

3460 PRINT "<7> 728 Pinkte/Zeile"

3478 PRINT

3480 GOSUB 235%

3490 REM *** hier Grafis«steuerzeichen POKEn #*x*%*

3500 I = PB + PEEK (KB) * 64 + 16: REM Adresse der Grafiksteuerzeichen

351® ON 3529 3539 3549 3559

VAL (C$) GOTO 3529,3539,3549,3559,3569,3579,3589 = "K": GOTO 3599 = "L": GOTO 3599 = "Y": GOTO 3599 = "Z": GOTO 3599

356 C = 4: GOTO 36ßP

3578 C =

3580 C

5: GOTO 369

= 6: GOTO 369

3598 POKE I,4: POKE I + 2, ASC (C$): POKE I + 3,BL: POKE I + 4,BH: RETURN

S6ß® POKE I,5: POKE I + 2, ASC ("x"): POKE I + 3,C: POKE I + 4,BL: POKE I + 5,BH: RETURN

Die Zeilen 361® und 3629 entfallen.

Tabelle 1: Übergabeparameter

$o300 -

50302 $0304

Peeker 6/85

Kontrollblock-Nummer: Nummer des aktuellen Kontroll- blocks. Erklärung im Text.

(siehe Tabelle 2)

Adresse des Kontrollblockes: Startadresse des Kontrollblocks im üblichen Low/high-Format. Druckschwärze: (Wertebereich 1..3)

1 = l-fach Druck

2 2-fach Druck

3 = 4-fach Druck

XOR-Byte: (Wertebereich ®, 255)

$00 = schwarz auf weiß

$FF = weiß auf schwarz

Richtung: (Werteberich , 1)

ßÖ = horizontal

l = vertikal

Rahmen: (Wertebereich ß, 1) ® = kein Rahmen um das Bild zeichen 1 = Rahmen zeichnen (z.B. zum Ausschneiden) Bildadresse: (Wertebereich ®..2116-1) im Low/high-Format $2008 für Seite 1 $4008 für Seite 2 oder eine beliebige andere Adresse im RAM-Bereich Wiederholungsfaktor: (Wertebereich ®..255) Anzahl der Wiederholungen des gleichen Bildes nebeneinander Wiederholungs-Abstand: (Wertebereich ®..255) Anzahl der Bits, die zwischen zwei oder mehr aufeinanderfolgenden Bilder frei bleiben soll. linker Bildrand: (Wertebereich ®..559) Folgendes Format muß eingehalten werden: $0312 = Linker Rand mod 7 $0313 = Linker Rand div 7 Bsp: Linker Rand = daraus folgt $0312 = 3, $8313 = 1 (weil 19 = 1x 7+3) rechter Bildrand: siehe linker Bildrand oberer Bildrand: (Wertebereich ®..191) unterer Bildrand: (Wertebereich ®@..191) Xfaktor: (Wertebereich ®..3l) Dehnung des Bildes in X-Richtung Yfaktor: siehe Xfaktor Hires 569: (Wertebereich ®, 1) Ö = Drucken der normalen 28ß*192-Grafik 1 = Drucken der Apple-IIe- oder Apple-IlIc- 560+192-Grafik Auto-LF: (Wertebereich ®, 1) ßÖ = sende LF nach CR 1 = sende kein LF nach CR Anzahl der verschiedenen Teilbilder: (Wertebereich 1..8) Bsp: 1. Teilbild (linke Hälfte) Seite 1,

2. Teilbild (rechte Hälfte) Seite 2, dann setzt man: $30C:00 28 (Adresse des 1. Teilbild) $322:92 (2 Teilbilder) Das heißt: Das 2. Teilbild wird bei $4ßß® beginnen, denn es werden pro Teilbild $2ß@® zur Anfangs- adresse aufaddiert.

arafık 44

$0324 - Drucknadel-Richtung: (Wertebereich ß, 1) Für Epson Drucker = ß,

für für

Imagewriter = 1, alle anderen Drucker selbst ausprobieren

$0326 - Kommando-Byte

0 = I =

2 =

Drucke Bild Verschiebe von Auxiliary-RAM $2@0® nach Main-RAM $4909 Verschiebe von Main-RAM $4ß@9 nach Auxiliary-RAM $2900 Konvertiere ein Double-Hires-Bild in 2 normale Hires-Bilder mit linker Hälfte in Seite 1 ($2@9®) und rechter Hälfte in Seite 2 ($499®) Konvertiere 2 normale Hires-Bilder von Seite l (linke Hälfte) und Seite 2 (rechte Hälfte) in ein Double-Hires-Bild.

nm nn nn nn mn nenn nn nn nn nu nme

PEEkER

4.) a) a) irRES-Grafik

nn

Die obige Grafik wurde von Martin Schmidt erstellt und mit Superdump ausgedruckt.

Tabelle 2: Print-File

Epson Block Pinit: Pline: PIE:

Pexit:

Block Pinit: Pline: PAFL:

Pexit:

#9:

#]:

IHH9- 9908- 9919- 9018- 9929- 9028- 9939- 9038-

9949- 9948- 8959- 9958- 9060- 9068- 9978- 9078-

Imagewriter

Block #ß:

Pini®:

Pline:

Pifl:

Pexit:

9p99- 9p98- 991B- 9p18- 9929- 9028- 9p39- 9938-

für Horizontaldruck

03 1B 33 17 BO BB 00 BD Länge 3: ESC,

do DO DD DO DO DO DD DB "3", CHR$(23)

04 1B AB 18 Q1 PB BB PB Länge 4: ESC,

DD BO DO DO DO DO DO MO "K", CHR$(24), CHR$(1) 03 1B AA Bl BO DD BO BB Länge 3: ESC,

0 DD DO DO DO DO DO DD "J", CHR$(1)

02 1B 32 BO BDO DO BO BO Länge 2: ESC,

20 BD BD BO DO DD DD Do "2"

für Vertikaldruck

03 1B 33 14 00 00 00 00 Länge 3: ESC.,

DD Do DD DO DO DO 00 MO "3", CHR$(29)

04 1B AB CO 00 00 00 OB Länge 4: ESC,

DD DD DO DD DO DO DO 00 "K", CHR$(19?). CHR$(O) 93 1B 4A Bl BD BO 00 MO Länge 5: ESC.

DD PD DD DO DO DD DD DO "3", CHRS(1)

2 1B 32 D0 00 00 00 MO Länge 2: ESC,

BD DD DD DO DB DD DD DB "2"

für Horizontaldruck

ß6 1B 54 31 36 1B 3E PB Länge 6: ESC,

00 DO DD DO DO DO DO DB "TE", ESC, ">" 08 1B 6E 1B 47 30 32 38 Länge 8: ESC,

30 DD MD DD DO DO DO DB "n!", ESC, "GP28g" 0 DD DO DO OO DO DD MB Länge P

DD DD OD DO DO DO DO De

04 1B 3C 1B 41 BP DO BP Länge 4: ESC,

DD DD DD DO DO DO DO DD "<", ESC, "A"

31

#1: für Vertikaldruck Grundeinstellung? "y" l-fach Druck an : 9040- 96 31 Länge 6: ESC, Positiv DM 9948- "") "714", ESC, ">" Horizontal "u : 9959- 1B Länge 8: ESC, Kein Rahmen ny" 9058- 011) "n", ESC, "G9192" Seite 1 "n 9969- 9") Länge ® Automatisches LF nach CR "]" für Epson und Imagwriter 9068- ") Unterste Drucknadel Bit ® "]" für Epson : 9070- 1B Länge 4, ESC, "2" für Imagewriter 9078- DD 90 "eu, ESC, "A" Wiederholungsfaktor u iu Wiederholungsdistanz gu Linker Rand u Tabelle 3 Rechter Rand "279" Oberer Rand gu Unterer Rand "191" Frage Antwort X-Faktor Be Y-Faktor a Anzahl der Bilder ua" zu Bild 1: Kontrollblock Nummer "og" Grafikmodi "2" für Epson Apple IIe Double-Hires-Grafik? "N" "a4" für Imagewriter Bild speichern? N" Grafik schon im Speicher? my Anmerkung zu Bild 2: Dies sind zwei normale 289*192-Punkte- Welche Grafik laden? <Name des Grafikfiles angeben> Bilder, die nebeneinander im Speicher liegen, Ist dies das richtige Bild? ng aber zusammen gedruckt werden. Dies kann beim Grundeinstellung? ng Drucken für Graf-quattro-Bilder benutzt werden.

zu Bild 3:

zu Bild 2: 4‘ Apple IIe Double-Hires-Grafik? '"J" =

Anfang wie Bild 1 sonst wie Bild 1

ccp datentechnik INTUS Lernprogramme

in deutscher Sprache für Apple Ile und Ilc.

® Rechtschreib-Trainer. 4 Übungsarten, 16 Bereiche, über 4000 Wörter und Kurzsätze. Sehr wirkungsvoll, gute Erfolge bei Legasthenie DM 125,—

640 KByte-Drives für den Apple //c!! @ Wortschatztrainer Englisch und Französisch, e DM 98,- @ 5'/4- od. 3'2-Zoll-Format (Teac FD55/35-F) @ Maschineschreiben wie der Blitz. 20 Lektionen. DM 188,—

@ FD55-F umschaltbar auf 35/40 Track & Anschluß an die suleme Laufwerkbuchse @ Basic-Lernprogramm. 14 Lektionen. DM 295,—

® Kein Öffnen des Gerätes erforderlich ® Lesen wie der Blitz.Wirkungsvolles Lesetrainiing. DM 98,-

@ Einfache Anpassung für DOS 3.3, UCSD-Pascal und PRODOS © Kinderschule. Beliebte Vorschulprogramme. DM 69.- durch menügeführten Patch iR

© Anpassung von CP/M in Verbindung mit einer Z 80-Zusatzplatine @ Demo-Disk. mit Kostproben aus 9 Programmen. DM 10,- in Vorbereitung Katalog gratis.

® anschlußfertig im Gehäuse DM 990,—

Festplatten für Pe r (ve) INTUS SOFTWARE

@ 5'/4 Zoll-F t (Slimli = a Fat pr EEE in DOS 3.3, UCSD-Pascal, Kaiserstraße 21 : 7890 Waldshut-Tiengen - Telefon 07751-7920

PRODOS und CP/M 2.2 / 3.0 @ Gemischtbetr. mit 35/40/80/160 Track-Drives @ Copy- und Install-Programme im Lieferumfang @ Umfangreiches Manual ® z.B. 12 MB form. incl. Netzteil u. Contr., u

Macintosh

I” 512K

@ 5'/- od. 3'/-Zoll-Format (Teac FD55/35-F) Speichererweiterung

@ FD55-F umschaltbar auf 40 Track (Apple kompatigel)

@ Installationssoftware für DOS 3.3, UCSD-Pascal, CP/M 2.2, CP/M 2.23 (60K), PRODOS, AP22, ALS CP/M+

® Umfangreiches Handbuch

® Anschlußfertige Auslieferung incl. Contr. und 2 Drives

@ Diskstation 55ll (2 Teac FD55-F, 1.22MB) . . . DM 1649,—

@ Diskstation 3511 (2 Teac FD35-F, 1.2MB) . . . DM 1540,—

Alles für Ihren Apple

Info bei:

ccp-datentechnik

Herderstraße 12 2000 Hamburg 76 Telefon 040/225676

Professionelle Umrüstung in 24 Std. Zum Superpreis von nur DM 1680,-- Schappach Computer 68 Mannheim Ss6,36 Telefon 062 1-120662

32 Peeker 6/85

Betriebssystem CP/M Vom Monitorprogramm zum Mehrbenutzersystem.

Von Jürgen Plate.

1984, 351 Seiten, 30 Abb.,

3 Tab., geb., DM 56,-

Franzis

Das Buch beschreibt ausführ- lich die Kommandos, ihre genaue Syntax und die einzel- nen Teilprogramme von CP/M wie BIOS (systemspezifischer Teil), ED (Editor), ASM (Asem- bler, inklusive einer Beschrei- bung des 8080-Befehlssat- zes), SYSGEN und STAT.

Der Beschreibung von CP/M ist das Listing eines komfor- tablen Monitorprogramms für Z-80-Computer vorangestellt, das eine elementare Program- mierung auf Maschinenebene erlaubt, solange man CP/M noch nicht geladen hat. Das kann z. B. zur Fehlersuche sehr nützlich sein. Am Schluß des Buches findet sich auch eine Kurzbeschreibung der Multitasking-/Multiuser- Betriebssysteme.

Das Buch zum Apple Il von Erich Esders

1985, 210 S., 119 Abb., geb, DM 54,

Wenn hier vom Apple Il gesprochen wird, so gilt das auch für den Ilplus, den lleuro- plus und die lle-Versionen sowie für den ganzen „Apple- Nachbau“. Das Buch ist ein Wegweiser durch diesen Rechner, um mit ihm schneller und effektiver zu arbeiten. Es geht hier weniger um das ele- mentare Programmieren des

Peeker 6/85

Rechners, sondern um Assemblerprogramme, die extensiv Monitor-ROM- Subroutinen benutzen. Diese hat der Autor nach Sach- gebieten geordnet, z.B. Mathematik, Graphik, String- Bearbeitung + Disassembler- Listings und diese wiederum mit Erklärungen und Applika- tionen komplettiert. Eine aus- reichende Dokumentation ist dabei immer gewährleistet. Sie geht schrittweise vor, von der Aufgabenstellung über die Programmentwicklung bis zum lauffähigen Maschinenpro- gramm. Die angebotenen Bei- spiele sind ausbaufähig und lassen der eigenen Kreativität reichlichen Spielraum. Viele neuartige Tips und Tricks wird auch der beschlagene Apple- Benutzer begrüßen.

Aus dem Inhalt:

Der Mikroprozessor des APPLE Il. Der APPLE Il und seine Speicheraufteilung. APPLESOFT und seine Arbeitsspeicher-Bereiche. Der MICROSOFT-Basic-Inter- preter: Die Zeichen-Lese- Routine. Interpretierer und Lokalisierer. Handler-Routi- nen. BASIC/Maschinen- sprache-Interfaces. DISAS-Generator. Unterpro- gramme im APPLESOFT- Basic-Interpreter: Softschalter und -Flags. Ausdrucks-Inter- pretierer. Low-Resolution- Graphik. Fehler-Behandlung. Applikationen: Arithmetik- Demonstration „FP-CALC“. Hex-Dumps der Applikationen. BASIC-Monitor BASMON/D: Vorstellung der neuen Kom- mandos. Das Programm „BASMON/D“. Implementie- rung und Laufbeispiele. BASIC-Interpreter-Vergleich APPLE II - Commodore 64: Arithmetik-Demonstration „FP-CALC/64“. Listen: Die Token des APPLESOFT-Basic.

Apple II ROM Listing von Matthias Buck 1984, 116 S., Kart., DM 59,-

dernic Il

1,1, He,lic

Listing

für Applesoft -BASIC- | Interpreter

von Matthias Buc Buck

ee ernennen an

MIKROCOMPUTER

Das deutsche Apple-II-ROM- Listing ist da!

Einleitung zum prinzipiellen Ablauf des Applesoftinter- preters:

-@ Aufbau und Verarbeitung

der/des Programmtextes - Variablentabelle - String- space - Fließkommaformate - Basicstacks (GDSUB, FOR-NEXT, ...)

® Beschreibung der wichtig- sten Unterprogramme, z. B. Variablensuche, Garbage collection, Ausdrucksaus- wertung, CHRGET, ...

@ Vollständig disassemblierte und sehr ausführlich deutsch kommentierte Auf- listung des Applesoft- BASIC-Interpreters

® Übersichtliche Auflistung aller vom Interpreter benutz- ten RAM-Zeilen mit allen Verwendungszwecken

® Über 150 ausführlich doku- mentierte Unterprogramme: - Funktion - Ein/Ausgabeparameter

Auch für Apple-lle und c und

Kompatible!

Apple Il Pascal Eine praktische Anleitung von Arthur Luehrmann und

Herbert Peckham 1982, 544 S., kart., DM 59,-

APPLE | PASCAL ,

ARTHUR LUEHRMANN - HERBERT PECKHAM

Dieses Buch ist unentbehrlich für alle, die die Programmier- sprache PASCAL lernen wollen und Zugang zu einem Apple Computer haben.

Sie benötigen keinerlei Vor- kenntnisse, sondern lernen an Hand von Beispielen und Übungen, wie man selbst PASCAL-Programme entwik- kelt und sie austestet und werden allmählich von Kapitel zu Kapitel vertrauter im Umgang mit dem Apple Computer.

Start mit Apple-Logo für II, Ile und Ilc

Das kleine Logo-Einmaleins: Grafik « Text + Musik

VonD. Senftleben

1985, 222 Seiten, DM 35,-

Viele Mikrocomputer-Her- steller bieten für ihre Geräte neben BASIC und anderen Programmiersprachen zunehmend auch Logo an. Durch ihre Benutzerfreund- lichkeit hat diese Sprache bereits viele Freunde im Ausbildungs- und Freizeitbe-

Dietrich Senitleben

Start mit, Apple-Logs für Apple Il, Ile und Ilc

WISSEN ss

reich gefunden. Dabei ist Logo eine mächtige Sprache, die auch dem anspruchsvollen Anwender kaum Wünsche offenläßt. Mittels Schildkrötengrafik wird das kleine Logo-Einmal- eins in 12 Lektionen entwik- kelt. Große Bildschirmfotos begleiten den Leser durch die Lektionen. Das Buch ver- langt aktive Mitarbeit. Es hat seinen Platz neben dem Computer und gibt Hilfen und Anregungen für eigenes Forschen. Dank des bau- steinorientierten Konzepts kann jeder seine eigenen Teilbausteine erzeugen und sie zu neuen Blöcken zusammenfügen. Neben dem Einmaleins werden neue Einsatzbereiche für den Einsteiger erschlossen. Musik und Sound fehlen nicht.

In diesem Buch werden die beiden offiziellen Logo-Pro- dukte der Firma Apple für die Rechnerfamilie Apple Il, Ile und IIc behandelt und deren Unterschiede verdeutlicht. Weiterhin sind sämtliche Apple-Logo-Vokabeln über- sichtlich zusammengestellt. Dieses Buch ist ideal zum problemlosen und vergnüg- lichen Start in die Apple- Logo-Welt.

Apple Il Anwenderhandbuch

von Lon Poole 1982, 450 S., zahlr. Abb., kart., DM 56,-

Auch für diesen Computer haben wir den richtigen Leit- faden. Er erspart Ihnen zeit- raubendes und nutzloses Suchen nach der wirklich verwendbaren Dokumenta- tion für Ihren Computer. Das Anwenderhandbuch beschreibt zum einen den beliebten Apple II-Computer als solchen und gibt zum anderen ausführlich Aus- kunft über die normalen Peripheriebausteine und Zubehör einschließlich Disk- Laufwerken und Drucker. Mit Hilfe dieses Buches werden Sie Ihren Apple Il erfolgreich einsetzen, denn der Informa- tionsgehalt geht weit über das hinaus, was hersteller- seitig an Literatur angeboten wird. Sie lernen BASIC auf zwei verschiedene Arten zu verwenden. Wie man den Gebrauch von Klang, Farbe und Grafik zum Optimum führt. Sie erhalten Tips für fortgeschrittene Programm- erstellung. Sie erfahren die Verwendung des Maschi- nensprachen-Monitors u.v.m. Mit dem Apple Il- Anwenderhandbuch werden Ihnen alle Möglichkeiten eröffnet, die in diesem Com- puter stecken.

Apple ll Pascal Sprache

1985, 197 S., DM 39,-

Apple Il Pascal Betriebssystem

1985, 256 S., DM 49,-

33

Ralf Menssen

Hardcopy auf Olympia ESW 100 RO

Ein Typenraddrucker wird grafikfähig

Das Programm OLYMPIA gibt eine Hard- copy vom hochauflösenden Grafikbild- schirm 1 oder 2 auf dem Typenraddrucker Olympia ESW 100 RO aus. Es ist durch leichte Modifikationen im Prinzip für alle Typenraddrucker verwendbar, die ihre ho- rizontale und vertikale Schrittweite auf 1/60 bzw. 1/96 Zoll einstellen können. Es lauft auf dem Apple Il mit 48K und allen kompatiblen Rechnern. Die hier vorge- stellte Version beginnt bei Speicherplatz $8000 und sollte durch BSAVE OLYMPIA, A$8000, L$IES auf Diskette gespeichert werden; es kann jedoch auch an anderer Stelle neu assembliert werden.

Bedienung des Programms

Die auszudruckende Grafik muß sich im Speicher befinden. Dann lädt man die Druckroutine mit BLOAD OLYMPIA und startet sie mit CALL 32768. Auf dem Bild- schirm erscheint jetzt die Grafikseite 1 und darunter die Frage, welche Seite ausge- druckt werden soll. Antworten Sie mit „1“ oder „2“.

Als nächstes müssen Sie entscheiden, ob das Bild positiv oder negativ erscheinen soll, d.h. ob ein weißer Punkt auf dem Bildschirm auf dem Papier schwarz oder weiß werden soll. Geben Sie „P“ oder „N“ ein.

Als letztes müssen Sie noch die vertikale und die horizontale Schrittweite in 1/60 bzw. 1/96 Zoll angeben. Als günstige Ein- gabe hat sich „O2“ für die horizontale und „03“ für die vertikale Schrittweite heraus- gestellt. Sie erhalten dann eine Hardcopy, die ein quer eingespanntes DIN-A4-Blatt gut ausfüllt. Außerdem. decken sich die Punkte dann sehr gut.

Haben Sie diese Eingaben gemacht, brau- chen sie etwas Geduld, denn der Typen- raddrucker muß jetzt ca. 50000 Positionen ansteuern und wahlweise einen Punkt oder ein Leerzeichen drucken. Aber das Warten lohnt sich, denn die Qualität der

34

Hardcopy übertrifft Matrixdrucker der glei- chen Preisklasse Klar.

Zur Schonung des Typenrades stellen Sie bitte den geringsten Anschlag am Drucker ein. Außerdem sollte man ein Endlosfarb- band verwenden, da ein Karbonband zu schnell verbraucht ist.

Programmaufbau

Es werden die zwei Unterprogramme COUT (Ausgabe eines Zeichens bei $FDED) und RDKEY (Lesen eines Zei- chens bei $FDOC) des Apple-Betriebssy- stems benutzt.

Die druckerspezifische Befehle lauten wie folgt:

ESC P Auto-Linefeed ein-/ausschalten ($1B $50), ESC $FF nn vertikale Schrittweite defi- nieren ($1B $0C nn),

ESC CR nn horizontale Schrittweite de- finieren ($1B $0D nn),

SP - Leerschritt ($20), CR Wagenrücklauf ($0D), „. Punkt ($2E).

Das Programm ist für eine Druckerschnitt- stelle in Slot 1 ausgelegt. Festgelegt ist dies durch die Labels PORTDATA und HANDSHK. Für Slot 2 müßte PORTDATA zu $COAO und HANDSHK zu $C2C1 ge- ändert werden. Für manche Interfaces ist ein anderes Übergabeprotokoll erforder- lich, das Sie dem zugehörigen Handbuch entnehmen können.

Für künstlerische Effekte bietet sich die Zeile 179 an. Dort wird festgelegt, daß der Drucker einen Punkt (= $2E) druckt. Als Alternative wären z.B. der Schrägstrich oder das Ausrufezeichen denkbar. Ändert man dann noch die Schrittweiten, ließe sich die Grafik „zoomen“. Weitere Mög- lichkeiten sind Ihrer Phantasie überlassen.

Peeker 6/85

OLYMPIA s00B: A9 BP 8002: 8D 59 8005: 8D 53 8008: 8D 54 8ß0B: 8D 57 SODE: A2 99 801®: BD 8E 8013: 20 ED 8016: E8 8017: 2E 8019: F5 801B: 29 dc SPlE: C9Y Bl 8029: FO 09 8022: C9 B2 8024: F5 8026: AB 4 8028: AC 2D 802B: AB 29 802D: A2 99 802F: 86 1A 8031: 84 1B 8033: A2 2E 8035: BD 8E 8038: 20 ED 803B: E8 803C: AA 8Sß3E: F5 8049: AY BO 8042: 85 06 8044: 20 BC 8047: C9Y DB 8049: FO 08 804B: C9 CE 804D: DO F5 8DAF: AY Pl 8051: 85 6 8053: 20 45 8056: A9Y DE 8058: 20 53 805B: 85 EF 805D: 20 45 8060: A9Y DI 8062: 20 53 8065: 85 EE 8067: A9 BB 8069: 8D 52 806C: AY PD 8D6BE: 20 3C 8071: AS 1B Peeker 6/85

co cp co cp

8l FD

FD

80

8l FD

FD

8l 8l 8l

8l

cp

8l

vo oıoouAuvDdH-

ba u SOotvenı9 1 A wu DH a

DVD Dr

OO OO OIIAAIAIAAAAADODO DOWN UNUUNN N UND DD DD END HSOO IV PWND Hr SO ID PUWUDV HH SO IODVOTMTPPUD HH SO AIODO I PUDH-SOOIODOTVTPNDHSODOTIDU SB

ek ** HARDCOPY APPLE - ESW190-RO “* *%* Von Ralf Menssen Berlin 1984 ..r RR .

ORG $8999

COUT EQU $FDED RDKEY EQU $FDOC INVERT EQU $96 WORKREG EQU 997 BASADR EQU $1A

‚Arbeitsregister

OUTCOUNT EQU $I1C ‚Zählregister MEDCOUNT EQU $1D ‚Zählregister KEYCHR EQU $ED ‚Tastenspeicher

STEPY EQU $EE STEPX EQU $EF ZWADR EQU $F9 ENDADR EQU $FB INCOUNT EQU $FE ZWERG EQU $FF PORTDATA EQU $cP9P HANDSHK EQU $cIc1

‚Schrittweite Y ‚Schrittweite X

‚Zählregister ‚Zwischenergebnis ‚Datenport Slot 1

%* KRRKKKRKKEKTERKTET HH HH FH HEHE IK FE KR

LDA #$99

STA $C95® ;HGR1

STA $0053 : #*

STA $C954 >STELT

STA $c957 ‚einschalten KRFRHKFKHKFRFKRTKTRFKRFHF KK FT KH FH TE HF HF FE HH HF FF I KH ** PARAMETER EINGEBEN *%* KRKRFKKKKFERRFERKHFT KK TFT KH FF KH HK FH FE I KH HH FF FF

LDX #$0® ZUULIE LDA DATEN,X ;"BILDSCHIRM 1 ODER 2"

JSR COUT

INX ‚ausgeben

CPX _ #$2E

BNE ZUULIE

RR FALSCH JSR RDKEY

CMP #$Bl BEQ SCREENIl ‚"]" oder "2" von CMP #$B2 ;Tastatur holen BNE FALSCH LDY +$49 ;HGR-Seite 2 JMP WET SCREENl LDY #$29 ;‚HGR-Seite 1 WET LDX #$9® STX BASADR

STY BASADR+1 rer

LDX #$2E BIGGI LDA DATEN,X ;"POSITIV ODER NEGATIV" JSR COUT ‚auf Bildschirm INX ‚ausgeben CPX #$4A BNE BIGGI RR LDA #$09 STA INVERT SLX JSR RDKEY CMP #$D® ‚Eingabe = P? BEQ POSITIV CMP #$CE ‚Eingabe = N? BNE SLX LDA #$01 ;‚invertiert STA INVERT ‚drucken

Er 2 22 2 2 2 a nn ne ZZ POSITIV JSR DATAUS

LDA +#$D8

JSR HOLEN ‚Schrittweite X

STA STEPX ;holen

JSR DATAUS

LDA #$D9 ;Schrittweite Y

JSR HOLEN ;holen

STA STEPY RR #*%* INITIALISIERUNG “x a a a a a ne ee

LDA +#$0®

STA $c952 ; TEXT ausschalten

LDA #$9D

JSR PRINT ‚CR ausgeben

LDA BASADR+1

‚Zeichen an Bildschirm ;Zeichen von Tastatur ‚Bild invertiert ausgeben

;Bildschirm-Basisadresse

‚Adressen-Übergaberegister ‚endgültige Basisadresse

‚Handshakeport (Bit7 = READY)

rrelectronic

Elektronik - Fachliteratur - Personal-Computer

BASF qualimetric® Disketten 1.Wahl

BASF-Disketten softsektoriert in Pappkarton 3,25"-Disketten alle ohne Aufpreis mit Verstärkungsring. Type Beschreibung 10 Stk 100 Stk IXV u... 48 TPI, I-seitig, einfache Dichte ....... 46,90 459,00 IDV ...... 48 TPI, 1-seitig, doppelte Dichte ...... 49,50 484,50 2/96V.. 96 TPI, 2-seitig, doppelte Dichte ...... 82,50 799,50

3M Sicherheits-Disketten 5,25"-Disketten mit Verstärkungsring; softsektoriert.

744-0 .48TPI, I-seitig, doppelte Dichte ...... 49,50 485,00 745-0 .. 48 TPI, 2-seitig, doppelte Dichte ...... 72,50 679,00 747-0 .. 96 TPI, 2-seitig, doppelte Dichte ...... 89,50 855,00

Disketten - Doubler 14.50

Mit diesem Diskettenlocher können Sie auch die Rückseite Ihrer SS- o. D5S-Diskette zum Abspeichern von Daten nutzen.

5,25" - Plastikbox 35

Formschöne Klappbox aus Hart-PVC für ca. 10 Disketten in den Farben grün, orange, schwarz, hellgrau, elfenbein oder anthrazit. Bitte die gewünschte Farbe angeben. Mischbar. Staffelpreise: I St. 5.95 10 St. 49.50 100 St. 459.-

5,25" - Disketten-Kästen Diskettenbox ohne Schloß 24.95

Repräsentative Disketten-Box aus deutscher Fertigung in den Abmessungen (T x Bx H) 306x 174x144 mm ohne Schloß mit topas farbenem Decke] für ca. 80 Disketten und 4 be- schriftbaren Stützplatten. Sehr preiswert!

Diskettenbox 29.50

aufklappbar

für ca. 50 Disketten

aus stoßfestem, antistatischem transparentem Äcryl mit 4 beweg- lichen, beschriftbaren Stützplatten.

DiskettenboXx abschliesvar 39.50

für ca. 85-100 Disketten

aus antistatischem ABS-Kunststoff, Deckel aus hochwertigem Acryl({rauch- glasfarben). Der Trog kannplatzsparend in den Deckel gestellt werden. 9 beweg- lichen Unterteiler mit beschriftbaren Stützplatten sorgen für Übersicht

Akustikkoppler s21Id 289.- 300 Baud Modem CCITT Y.21 Standard

e— o—

le L 1 [ I [ [ |] Te

* Mit FTZ-Nummer * Gebühren- u. anmeldefrei * Anschluß an alle Computer mit Y24-Schnitt stelle * Vollduplexbetrieb * Answer- und Originate-Modus * MADE IN GERMANY *

TELETERM 2+/e 198.-

Telekommunikationssoftware für den Apple.

* ohne serielles Interface * Datenübertragung über den Gameport * Anschlußfertig an s21d. Und das bietet Teleterm 2+/e:

Kommunikation über den Bildschirm. Abspeichern empfang- ener Daten auf Diskette. Daten von Disk laden und senden. Drucken emfangener Daten. Einstellen der Kommunikations- parameter. Die Software für Kommunikations-Profis.

Unser großer Hit auch für Ihren Apple //e: ERRELELE 80 Zeichen/64kB-RAM G&5 EEE Für APPLE /ve —# dtsch. Qualitätsprodukt

u al. jetzt nur noch... > Fa

Ventilator für Apple 2+/e 99.-

Viele Zusatzkarten entwickeln zusätzliche wärme und blockieren sogar noch den natürlichen Luftstrom. Der leistungsfähige, geräuscharme Ventilator, sorgt für die

notwendige Belüftung. Universelle Uhrenkarte

a A are)

1: I, y -

3 r- 1

u Wi . Kl de für Apple //e und //*+.

Läuft unter DOS, ProDOS und PASCAL.

Z-80 Karte (ohne Sofware) 149.- ITOH/EPSON-Grafikkarte mekaveı 230 .- Serielle Karte f. Imagewriter 239.- RS-232-C-Karte (Seriell) 175.- Disk-Controller (0.Software) 175.-

Die Aufrüstung Ihres 128k MAC auf 512k kostet bei uns nur: 1590.-

MASTERCLOCK 325.-

incl. Demodiskette

Apple//e, //c + Macintosh Vorführ- und Messegeräte preisgünstig abzugeben.

Ladenverkauf, Vorführung und fachgerechte Beratung

r:r electronic

Elektronik - Fachliteratur - Personal-Computer 6900 Heidelberg I Breslauerstr. 29 Tel.06221/781500 Geschäftszeiten: Mo. - Fr. 9-13 +14 - 18 Sa. 9 -13 Uhr Versandanschrift: 6900 Heidelberg ! Dammwegqg 2

35

CMP BNE LDA STA LDA JSR LDA JSR LDA JSR LDA JSR LDA JSR LDA JSR LDA JSR LDA JSR

+$49 ;HGR2 angewählt? NEST

+$99 - ;umschalten $c955 ‚auf HGR2

#+$1B ‚ESC ausgeben PRINT

#+#$0C ‚vertikale PRINT ;‚Schrittweite STEPY ‚ausgeben PRINT

#+$1B ‚ESC

PRINT

#+$0D ;horizontale PRINT ;‚Schrittweite STEPX ‚ausgeben PRINT

#+$1B ;‚ESC

PRINT

+$59 ;AUTO-LINEFEED PRINT ‚einschalten

POUR EEETTERLTELELTLLLELELD ODE DD oo en xkkKk KHK DRUCKROUTINE ee kr

LDA STA JSR CLC LDA ADC STA LDA ADC STA DEC BNE LDA JSR LDA JSR LDA STA STA RTS

* +$93

OUTCOUNT

SCHL2

BASADR

+$28

BASADR

BASADR+1

+$09

BASADR+1

OUTCOUNT

SCHL1

#+$1B ;AUTO-LINEFEED

PRINT ‚ausschalten

+$59

PRINT

+$09

$cQ51 ; TEXT wieder

$0954 ‚anschalten ;‚Programmende

EETTITDIEEETTERTELLTEDDODL DON DEE Den nn xk*kk#%k%H% UNTERPROGRAMME KHK

**

SCHL2 LDX LDY STX STY LDA STA JSR CLC LDA ADC STA LDA ADC STA DEC BNE RTS

*%*

BASADR BASADR+1 ZWADR ZWADR+1 +$08 MEDCOUNT SCHL3

ZWADR +$89 ZWADR ZWADR+1 +$09 ZWADR+1 MEDCOUNT INLOP

EZ 2 2 2 2 2 12 02 2 2712 27272732327 3272 2 2 2020202 2 0202 2 2 2 2 2 2 22 2 2 2 22

SCHL3 LDX LDY STX STY LDA STA JSR CLC LDA ADC STA DEC BNE RTS

ZWADR ZWADR+1 ENDADR ENDADR+1 +$08 INCOUNT SCHLA

ENDADR+1 +504 ENDADR+1 INCOUNT LOOP

KRRKKKRTHHTT EEE KK

SCHL4 LDY ELP LDA STA LDX LDA STA LDA ROR

36

#500 (ENDADR) ,Y ;Byte aus ZWERG Bildschirmspeicher #+$07 ‚7 Bildpunkte #500 WORKREG ZWERG ;Bildpunkt ;holen

8l8E: 8191: 8199: 819: 8l9D: 8lA5: 8lA6: 81A9: 8lBl: 8lBl: 81B9: 81BB: 8lBE: 8lBF: 8lc2: 8lCA: 81D2: 81D7: 81DA: 81DB: 8lDE: 8lE6:

488 Bytes

STA LDA ROL EOR ROR BCC LDA JMP LDA JSR DEX BNE INY CPY BNE LDA JSR RTS

ZWERG

WORKREG

INVERT ‚eventuell invertieren

SPC

+$2E ‚Punkt drucken

AUSG

+$29 ;SPACE drucken

PRINT

ILP

+$28 ELP #+$0D PRINT ;Zeile beendet

KRRKRKERERTRTK KK HH KK KK KR

PRINT BIT BMI STA RTS

HANDSHK PRINT ‚Drucker bereit? PORTDATA ;Ausgabe SLOT 1

KRRKKRRFKKFHKTT HK TH HEHE FH RE HR

DATAUS LDX HAL LDA JSR ‚INX CPX BNE RTS

#$4A

DATEN, X ;

COUT ; "SCHRITTWEITE' ‚auf Bildschirm

#+$5A ‚ausgeben

HAL

KRHHRRFRRRRRRRRTRT THREE RER RER

HOLEN JSR LDA JSR

WIEDER JSR STA CMP BCS CMP BCC STA JSR JSR CMP BCS CMP BCS CMP BCC JSR AND STA LDA AND ASL ASL ASL ASL ORA RTS

COUT #+$BF COUT RDKEY KEYCHR

+$B8 :ist die Eingabe ‚eine Zahl kleiner 9?

WIEDER

#$AF ‚sonst

WIEDER ;Neueingabe

STEPY

COUT

RDKEY

#+$C6 ;‚ASCII der Eingabe

GOZA ;höher als "F"?

+$B9 ‚ist die Eingabe

GOZA ‚eine Zahl?

#+$AF

GOZA ‚Steuerzeichen

COUT

+7000P1111 ;rechtes Nibble

STEPY

KEYCHR

#+700@01111 ;rechtes Nibble ‚ist gleich ‚linkes Nibble ;Schrittweite

STEPY

III EDDERDELEEDE Te 2222 2 2 20222272 20275 KHK DATEN KR

DATEN HEX 8D 8D 8D

8D 8D 8D

CD AB AB B2

8D8D8D8D8D8D8D8D8D8D8DED

8D8DEDEDEDEDSDSDEDEDEDED

"BILDSCHIRM 1 ODER 2 ?"

8D8D8D8D

"P)OSITIV ODER N)EGATIV ?"

8D8D8D8D

"SCHRITTWEITE "

Peeker 6/85

Apple DOS 3.3

von Ulrich Stiehl

2. Aufl. 1984, 203 S., kart., DM 28,-

Dies ist die erste deutschspra- chige Darstellung des Disket- tenbetriebssystems DOS 3.3 für den Apple II/II Plus/lie, die sich sowohl an Applesoft- als auch an Assembler-Program- mierer wendet. Sinngemäß ist das Buch zweigeteilt:

Der erste Teil behandelt aus- führlich die dem Applesoft-Pro- grammierer zur Verfügung ste- henden DOS-Befehle, wobei die Textfiles wegen ihrer gro- Ben Bedeutung und der ver- gleichsweise komplizierten Handhabung besonders darge- stellt werden. Viele Textfile- Tricks werden hier zum ersten- mal geschildert.

Aber auch im zweiten Teil fin- det der reine Applesoft-Pro- grammierer insbesondere in dem Kapitel „Vermischte Tips, Tricks und Patches“ zahlreiche Anregungen. Im übrigen ist der zweite Teil für Assembler-Pro- grammierer gedacht. Neben ei- ner detaillierten Beschreibung der DOS-Interna enthält dieser Teil elf vollständige RWTS-An- wenderprogramme - z.B. CPM-Refiner, DOS-lose Da- tendisk, TSL-Maker, File- Reader, Pseudo-Disk-Driver und Fastbrun-Routine —, die Techniken enthüllen, die bis- lang noch niemals publiziert worden sind. Dieses DOS- Buch ist deshalb der unent- behrliche Begleiter für jeden Apple-Programmierer.

Apple Il

Basic Handbuch von Douglas Hergert 304 Seiten, 116 Abb. DM 32,-

Das Buch ist als Nachschlage- werk konzipiert, daß seinen Platz neben jedem APPLE Il, II+ und Ile haben sollte. Es richtet sich an Anfänger und fortgeschrittene Program- mierer.

BASIC HAND BUCH

D.Nerger

Aus der Praxis heraus präsen- tiert der Autor Tips und Vor- schläge, die das Programmie- ren leichter, und zugleich effi- zienter ma&hen. Alle Applesoft- und Integer-BASIC-Begriffe sind alphabetisch aufgelistet und werden eingehend erklärt.

Peeker 6/85

Dazu werden alle DOS-Befehle (neben vielen Begriffen der Computerterminologie) vorge- stellt.

Beispielprogramme zeigen dem Nutzer, wie jeder Befehl funktioniert und helfen, die rich- tige Anwendung zu üben. Un- ter anderem lernt der Leser den besten Weg, um FOR/ NEXT-Schleifen und IF/THEN- Entscheidungen für seine Zwecke einzusetzen.

Durch die präzise und leicht verständliche Sprache des Au- tors werden auch schwierige Befehle einfach in der Anwen- dung.

Apple Maschinen- sprache

von Don und Kurt Inman 1984, 208 S., zahlr. Abb. und Tabellen, DM 49,—

SPRACHE

Dieses Buch ist wahrscheinlich die beste Einführung in die 6502-Programmierung für den- jenigen Assembler-Anfänger, der zuvor noch nie ein Maschi- nenprogramm geschrieben hat.

Aus dem Inhalt:

Applesoft II BASIC - kurzge- faßt Alles über Zeichen - Al- les über Speicher - Alles über Maschinenbefehle Maschi- nenprogramme mit BASIC ein- geben - Graphik Text- Ton— Arithmetik Was tun mit den Maschinenprogrammen

Apple Il

leicht gemacht

von Joseph Kascmer

1984, 185 S., zahlr. Abb., kart., DM 28,-

Dies ist ein Buch, wie es sich jeder Apple-Anfänger nur wün- schen kann: Schrittweise, leichtverständliche Anleitung zum Umgang mit dem Apple mit einigen durchsichtigen, un- komplizierten Beispielen in Ap- plesoft, die ihn nicht Abschrek- ken, sondern ermutigen sollen, sich mit dem Gerät näher ver- traut zu machen. Damit ist „Ap- ple Il leicht gemacht“ das idea- le Einsteigerbuch für den rei- nen Anwender, der nicht nur „auf den Knopf drücken“, son- dern zumindest einige Details aus der Black Box namens Ap- ple erfahren will.

Aus dem Inhalt:

Kontrolle des Geräts Schrei- ben und Zeichnen auf dem Bildschirm -— Geheimnisvolle Abläufe: Programme - Ver- schiedene Eingriffsmöglichkei- ten Mobile Speicher: Disket- ten Kontrollmöglichkeiten Das Innenleben

Apple Assembler Tips und Tricks

von Ulrich Stiehl 1984, 226 S., 3 Abb., kart., DM 34,—

„Apple Assembler“ wendet sich an alle, die bereits Anfän- gerkenntnisse der 6502-Pro- grammierung haben - z.B. aufgrund des Buches „Apple Maschinensprache“ und nun- mehr ein Nachschlagewerk für ihren Apple Il Plus/lle/lic su- chen, in dem alle wichtigen ROM-Routinen sowie eine Vielzahl sonstiger Hilfspro- gramme in einer systemati- schen Form zusammengestellt werden. Insgesamt umfaßt die- ses Buch über 40 Utilities, dar- unter mehrere völlig neuartige Programme wie Double-Lores, Double Hires, Screen-Format u.a.

Der erste Teil enthält ein Repe- titorium der wichtigsten Befeh- le, Adressierungsarten und sonstigen Besonderheiten des 6502.

Im zweiten Teil werden alle Adressen des Monitors zusam- mengestellt, die für Assembler- Programmierer von Nutzen sein können. Darüber hinaus findet der Leser Unterroutinen für hexadezimale Addition/ Subtraktion/Multiplikation/Divi- sion, Binär-Hex-ASCIl-Um- wandlung usw.

Der dritte Teil befaßt sich mit der Speicherverwaltung der Language Card und der Ile- 64K-Karte und enthält Move- Programme zum Verschieben von Daten in die und aus der Language Card sowie der 64K- Karte.

BUCHSHOP

Der vierte Teil ist dem Ap- plesoft-ROM gewidmet und li- stet eine große Anzahl nützli- cher Interpreter-Adressen. Bei den Utility-Programmen liegt das Schwergewicht auf Fließ- kommamathematik einschließ- lich Print Using.

Der letzte Teil behandelt den Text- und Graphikspeicher. Neben einem professionellen Maskengeneratorprogramm werden auch Routinen zur Double-Lores- und Double-Hi- res-Grafik vorgestellt.

Arbeiten mit dem Macintosh

von N. Hesselmann 416 Seiten, 320 Abb. DM 54,—

Das Buch erklärt den Umgang mit dem Macintosh von Grund auf, wobei auch auf elementare Dinge eingegangen wird, wie

z. B. die Benutzung der Tasta- tur und der Maus, das Einlegen von Disketten und den System- start. Ganz besonderes Augen- merk wird auf die Erklärung der speziellen Software-Umge- bung des Macintosh gelegt, wobei das Menü- und Fenster- konzept sowie das Anwählen durch Piktogramme gekenn- zeichneter Funktionen klar dar- gestellt wird.

Der Umgang mit den Program- men MacPaint und MacWrite wird erläutert; dies geschieht teilweise anhand von Beispie- len, die leicht nachvollzogen werden können. Ein umfangrei- ches Kapitel ist dem für den Macintosh erhältlichen Micro- soft-BASIC gewidmet.

BASIC Ubungen

für den Apple

von J. P. Lamoitier

1983, 252 S., zahlr. Abb., kart., DM 38,—

Das Buch ist konzipiert, allen Apple-Anwendern Applesoft- BASIC durch praktische Ubun- gen an Hand von reellen Pro- grammen beizubringen. Daten-

verarbeitung, Statistik, kom- merzielle Programme, Spiele und vieles mehr. Jede Übung beinhaltet eine Beschreibung der Problemstellung, eine Ana- Iyse der Lösungsmöglichkei- ten, ein Flußdiagramm und ein fertiges Programm samt Pro- belauf.

Aus dem Inhalt: Ihr erstes BASIC-Programm Flußdiagramme Übungen mit Integerzahlen Elementare Beispiele aus der Geometrie Allgemeine Ubungen aus der Datenverarbeitung Mathema- tische Berechnungen - Kauf- männische Berechnungen Spiele - Operations Research Statistik

Apple ProDOS für Aufsteiger Band 1

von Ulrich Stiehl 1984, 202 S., kart., DM 28,—

ProDOS ist das neue „profes- sionelle DOS“ (Professional Disk Operating System) für den Apple Ile sowie den mit einer Language Card ausgestatteten Apple Il Plus. Band 1 befaßt sich mit den theoretischen Grundlagen von ProDOS, der internen und externen Spei- cherorganisation und enthält grundlegende Beispielpro- gramme für Assembler-Pro- grammierer sowie generelle Untersuchungen zum BASIC- SYSTEM. Da ProDOS über er- heblich vielfältigere und lei- stungsfähigere, zugleich je- doch erheblich kompliziertere Dateistrukturen verfügt, sind theoretische Kenntnisse von ProDOS unabdingbar, wenn man die Features von ProDOS voll ausschöpfen will.

Aus dem Inhalt:

Ein erster Überblick - ProDOS und DOS 3.3 Interne Spei- cherorganisation Externe Speicherorganisation MLI (Machine Language Interface) ProDOS für Applesoft-Pro- grammierer

37

Fourier-Analyse

von Peter Walber

HIT LH IH FEHTLEEFR Z

zus:

HHLD

2 [pR

WEHR Tz

MHZ 7)

EEE

\ TERM IT N

——N SUN

a an BT Ze ee iR Wen 1)

N

ZN

38

Mrz eM72 le

. Z

Jeder, der einmal vor das Problem gestellt war, eine Funktion zu approximieren, wird sicher bereits auf die Fourier-Analyse ge- stoßen sein, vor allem bei der Darstellung von unstetigen periodischen Funktionen, also mathematisch schwierig darstellbaren Kurvenzügen.

Grundlage des Programms ist die von Fourier im Jahre 1822 aufgestellte Theo- rie, die besagt, daß sich beliebige periodi- sche Funktionsverläufe als Linearkombi- nation von Sinus- und Cosinus-Termen darstellen lassen. Mathematisch formuliert sieht die Theorie so aus:

ft) = a, + & a, cos(kwt) + b, sin(kut) mit den sog. Fourier-Koeffizienten:

= : f ft) cos(kt) dt

bx = - f ft) sin(kot) dt

dabei muß die in den Integralen auftreten- de Funktion fft) in einem IntervallO <t<T vorliegen (siehe Abb. 1).

Bei manchen Funktionen sind die auftre- tenden Integrale sehr schwierig zu be- rechnen, oder es gelingt nicht, den Kur- venzug mathematisch zu beschreiben (z.B. Brummspannung eines Netzteiles). Genau hier kann das Programm einsetzen.

Ich habe folgende Gliederung des Pro- gramms vorgesehen:

1. Analyse eines Kurvenzuges nach Stütz- stellen (FOURIER.MAIN).

2. Ausgabe des Frequenzspektrums (FOURIER.SPEC).

3. Synthese einer Funktion aus Fourier- Koeffizienten (FOURIER.SYN).

Die Aufteilung des Programms in drei ein- zelne selbständige Module wurde aus Speichergründen gewählt, da neben gro- Bem Komfort auch eine grafische Auswer-

TR tung geboten werden sollte. I

Mn FL [73

—IT

Peeker 6/85

at fu cos (kat) dt

Bild 1

Das Modul FOURIER.MAIN

Das Modul gliedert sich in die folgenden Teile:

Initialisierung und Hauptmenü (Zeilen 1000-1420).

Eingabe der Stützstellen wahlweise von Diskette, Tastatur oder von einer analyti- schen Funktion (Zeilen 1450-1750).

Berechnung der Fourier-Koeffizienten (Zeilen 1760-2230).

Ausgabe der Ergebnisse und Plot der Funktion (Zeilen 2240-2730 und 2980-3500).

Abspeichern der berechneten Daten (ab Zeile 3630).

Es folgt nun eine genauere Beschreibung der wichtigen Teile im Programm, ver- mischt mit den unbedingt notwendigen Hintergrundinformationen über die Fou- rier-Analyse.

Eingabe der Stützstellen

Da wir nicht in der Lage sind, eine unendli- che Reihe zu berechnen, müssen wir eine Obergrenze festlegen. Wir brechen also die Reihe ab und approximieren nur mit einem trigonometrischen Polynom vom Grade n.

ft) = a0 + & a, cos(kot) + b, sin(kat)

Der Algorithmus von Runge (1), der hier verwendet wird, erwartet 2 - n Stützstellen. Diese müssen dem Graphen in äquidi- stanten Intervallen entnommen werden. Betrachten wir hierzu die in Abb. 2 darge- stellte Rechteckfunktion. Die Funktions- werte f(0) = 1, f(1) = 1, f(2) = 1,18) = 1, f(4) = 1 f(5) = 0, f(6) = 0, f(7) = O können dem Graphen entnommen werden. Hier- bei ist dt der Abstand auf der t-Achse zwischen dem Wert f(i) und fli + 1).

& -

ult)

wu.

vi 33 3 5838 5

u

a

Bild 2 2n

Peeker 6/85

Berechnung der Koeffizienten

Der hier verwendete Algorithmus verlangt vom Programm die Aufsummierung nach den folgenden Formeln:

2n—1 a, = . f(t) cos

Der Beweis folgt aus den Orthogonalitäts- relationen für trigonometrische Funktionen und ist hier sicher nicht von Interesse (2). Dieses Gleichungssystem ist nur mit gro- Bem Rechenaufwand lösbar. Wir benutzen deshalb die Symmetrie-Eigenschaften der Sinus- bzw. Cosinus-Funktion.

cos (wt)

sin (wt)

wt=5 Bild 3 Wie aus Abb. 3 ersichtlich ist, wiederholen sich alle Funktionswerte nach x = n/2. Weiter gilt sin(x) = cos(n/2 - x). Wir bilden daher zunächst die zweite Halbperiode auf die erste ab und danach die zweite Viertel- periode auf die erste. Dies wurde in den Zeilen 4500-4600 verwirklicht. Die zuge- hörigen Sinus-Werte werden in den Zeilen 1610-1640 im Feld X(l) abgelegt. In den Zeilen 1750-2220 erfolgt dann die eigent- liche Berechnung der Fourier-Koeffizien- ten. Dieser Algorithmus ist von Sarnow in (4) beschrieben worden. Ab Zeile 2230 werden die Ergebnisse ausgegeben, ent- weder auf den Bildschirm oder sofort zum Drucker. Die Druckerausgabe muß even- tuell an einen anderen Drucker angepaßt werden (Zeile 2800 und 4620).

Eine weitere Option dieses Moduls ist die Berechnung der Fourier-Sinus-Reihe. Dies ist die Darstellung der Reihe in der Form:

fit) = 0, + 2 0, sin(kot + px)

Grafik-Auswertung

Damit das Programm nicht nur zur Schaf- fung von Datengräbern dient, wurde eine komfortable Grafik-Auswertung eingebaut (2400 ff.). Dabei wird zuerst die Funktion mit wählbarem Grad des trigonometri- schen Polynoms geplottet. Dadurch kann man sich die Genauigkeit der Approxima- tion Schritt für Schritt ansehen. Danach wird die Funktion noch einmal nach den eingegebenen Stützstellen gezeichnet. Die Beschriftung der Achsen erfolgt durch POKESs von bestimmten Bitmustern direkt in den Grafik-Speicher.

4 Technik 44

Speicherung der Ergebnisse

Im Anschluß daran besteht die Möglich. keit, den Plot als Bild-File abzuspeichern oder eine Hardcopy auszugeben. Weiter wird erfragt, ob die Koeffizienten oder die Funktionswerte als Datei für spätere Be- trachtungen gesichert werden sollen. Man kann sich damit eine regelrechte Biblio- thek von Funktionen anlegen. Ab Zeile 3630 folgen dann einige Unterprogramme, die die beschriebenen Möglichkeiten ver- wirklichen.

Eine Besonderheit liegt in der Handha- bung der Daten-Files. Dem Dateinamen wird automatisch ein Suffix angehängt. Sollen also Koeffizienten abgespeichert werden, so gibt man z.B. „DREIECK“ als Dateiname an; auf der Diskette erscheint dann eine Datei mit dem Namen „DREI- ECKKOEFF“. Will man die Daten wieder einlesen, dann muß man auf die Frage nach der Datei den vollen Namen ange- ben, also „DREIECKKOEFF“.

Im Programm wurde als maximaler Grad der Fourier-Reihe 24 festgelegt. Dies ist sicher für den normalen Fall ausreichend. Ein Nachteil liegt ohne Zweifel in der Un- genauigkeit bei der Analyse sehr unsteti- ger Funktionen. Das Verfahren wird mit zunehmender Stützstellenzahl natürlich exakter. Genauere Untersuchungen zei- gen jedoch, daß der Rechenaufwand nicht proportional steigt, sondern viel stärker. Außerdem kommt noch die mangelhafte Rechengenauigkeit des Basic-Interpreters zum Tragen. Abhilfe schafft zumindest teil- weise der Übergang auf ein FORTRAN- Programm mit Double-Precision (3). Die hier erzielten Ergebnisse stellen aber si- cher einen sinnvollen Kompromiß dar. Das Programm wurde für 80 Zeichen/Zeile geschrieben und benutzt deshalb Ctri-L statt des HOME-Befehls. Da beim Ile mit erweiterter 80-Zeichen-Karte und dem IIc die HGR2 in Verbindung mit der 80-Zei- chendarstellung nicht aufgerufen werden kann, wird vor der Grafik auf Normalausga- be zurückgeschaltet.

Durch den menügesteuerten Aufbau sind Bedienungsfehler weitgehend ausge- schlossen.

Beispiele 1 zeigt die Möglichkeit des Pro- gramms. Bei der dargestellten Rechteck- funktion wurde der Gradn =5 undn = 12 gewählt. Hierbei wird die unterschiedliche Güte der Approximation deutlich.

Die folgenden Module FOURIER.SYN und FOURIER.SPEC können aus Platzgründen nicht abgedruckt werden und sind daher nur auf der Peeker Sammeldiskette ent- halten.

39

Das Modul FOURIER.SYN

Der Aufruf erfolgt im Hauptmenü mit „2 für Synthese. Dieser Teil bietet die Mög- lichkeit,aus früher berechneten Koeffizien- ten eine Funktion darzustellen. Dies ge- schieht mit wählbarem Grad des trigono- metrischen Polynoms. Das Modul selbst besteht zum größten Teil aus Teilen des Hauptprogramms FOURIER.MAIN.

Das Modul FOURIER.SPEC

Der Aufruf erfolgt mit der Wahl von „3“ für Frequenzspektrum im Hauptmenü. Bevor das Modul genauer beschrieben wird, wol- len wir zunächst die nötige Theorie kurz erläutern. Das „Spektrum“ einer Funktion gibt Auskunft über die Beträge der enthal- tenen Schwingungsanteile. Man kann also aus der Darstellung sofort entnehmen, welche Frequenzanteile in welcher Stärke vertreten sind. Die Verwirklichung sieht nun wie folgt aus:

Eingabe der Koeffizienten von wahlwei- se Disk oder Tastatur (Zeilen 1000-1160). Vorbereiten des Plots (Zeilen

FOURIER.MAIN

1008 1919 1929 1930 1049 1059 1069 1078 1075

REM x**%* Fourier-Analyse REM *** Peter Walber, Mai REM

HIMEM: 16384

D$ = CHR$ (4)

PRINT D$; "PR#3'"

xx%* '84 xx%*

DIM A(25),B(24),Y1(169) ,22(5®),SD(25) DIM AA(25),PHI(25)

1400 IF IN < 1 OR IN > 4 THEN 1399

40

DIM Y(59),X(59),YY(58),SS(25),DS(25),DD(25)

. . En . F o 1 FR I E R Bu A H A L T = 2

FesSı in IJRS=SZPI

RR

Beispiel 1:n = 5 (links) undn = 12 (rechts)

1160-1420). Hierzu gehört die Erstellung des Koordinatenkreuzes und eines Binär- Feldes zur Beschriftung des Plots.

Zeichnen des Plots (Zeilen 1450-1730). Dazu wird vorher auf den maximalen Wert normiert und dann proportional zur Größe des betreffenden Koeffizienten ein Strich bei der zugehörigen Frequenz gezeichnet. Dabei sind die Koeffizienten a(l) durchge- zogen und die b(l) gestrichelt dargestellt. Abspeichern des Bildes, der Koeffizien- ten und die Hardcopy-Möglichkeit (Zeilen 1750-Ende).

GOTO 119® REM REM x*x**

REM

PRINT :

PRINT

3";: PRINT NEXT I 1278 PRINT " "; FOR I = ® TO 12808 FOR I = 1 TO 71: PRINT " ";: NEXT I PRINT 1298 PRINT PRINT : 1368 PRINT " "; 131® PRINT TAB(2®)'"Ende PRINT : 4":% PRINT PRINT : 1326 PRINT " ”:; REM 13368 FOR I = 1 TO 71: PRINT " ";: NEXT I 1349 PRINT REM 1350 FOR I = ® TO 79: PRINT "-";: NEXT I 1360 PRINT TAB(2®)"Bitte die Eingabe der Programmwahl' GOSUB 4539 1380 FOR I = ® TO 79: PRINT "-";: NEXT I: PRINT Al =9B:A2=d 1398 INPUT "1,2,3,4 ";IN FOR I

Al =Al

Start der Analyse REM **%* Eingabe der Stützstellen **x*

PRINT CHR$ (12)

PRINT "Analyse einer Funktion nach Runge" PRINT "Notwendige Bedingung : geradzahlig "

IF IN$ = "D" THEN GOSUB 3949:DT$ = "J": IF IN$ < > "T" AND IN$ < > "F" THEN 1469

"Grad der Fourier-Reihe: IF N/ 2 <> INT (N / 2) THEN PRINT : ..N.. muß durch zwei teilbar sein.":

IF N > 24 THEN PRINT :

M- 1:

Die Zeilen, die die Files anlegen, sind be- reits in FOURIER.MAIN vorhanden.

Benötigte System-Konfiguration: Apple Il, DOS 3.3, 80-Zeichenkarte, Drucker mit Grafik-Interface.

Literatur:

(1) Zurmühl, Praktische Mathematik für In- genieure und Physiker, Springer 1965

(2) Hamming, Numerical Methods for Scientists and Engineers, McGraw-Hill, 1962

(3) McCracken, FORTRAN

(4) Sarnow, mc 1/84, S. 82-85

ON IN GOSUB 1469, 3529,3579,361®

*x*%

Grad der Reihe

PRINT "Eingabe der Stützstellen von (D)isk, (T)astatur oder von einer": PRINT: "analytischen (F)unktion'

PRINT

GOTO 1599

IEEN

PRINT "Bitte PRINT : GOTO 1569 PRINT "Nmax=24":N = 24

IF IN$ = "F" THEN GOSUB 4319

X(I) = SIN (I « DX):X(N - I) = X(I):X(N+ I) = - X(I):X(M- I) =X(N+ I)

THEN 179® THEN 1790 M-L1

= ".

1080 PRINT CHR$ (12) PRINT : 1098 FOR I = ® TO 79: PRINT "-";: NEXT I 1188 PRINT " Fourier-Analyse'" 1118 FOR I = ® TO 79: PRINT "-";: NEXT I: PRINT GET IN$ 1120 PRINT " "; 1138 PRINT "Optionen:": PRINT " ";: FOR I = ® TO 72: PRINT

">: NEXT I: PRINT PRINT 1148 PRINT " "; INPUT 1158 PRINT TAB(2®)'"Analyse einer einzugebenden Funktion

1"; 1155 PRINT 1160 PRINT " "; P=N/2:M=2#N 1180 FOR I = 1 TO 71: PRINT " ";: NEXT I 1185 PRINT DX = 3.141592654 / N 12088 PRINT " "; FOR I = ® TO P 1218 PRINT TAB(2®)'"Synthese einer gesuchten Funktion

2:% PRINT 1220 PRINT " "; NEXT I 1230 FOR I = 1 TO 71: PRINT " ";: NEXT I IF DT$ u 1240 PRINT IF IN$ a 1258 PRINT" "; FOR I = ® TO 1268 PRINT TAB(2®)"Frequenzspektrum ausgeben PRINT "YI";T;

© INPUT IT

PRINT "TI": E;"j= #;7IT): MEER LI:

INPUT "Änderung eines eingegebenen Wertes? (J/N)";IN$: IF IN$ < > "J" THEN 1749

INPUT "Index des zu ändernden Wertes";I INPUT "Neuer Wert";Y(I):

GOTO 1719

REM *** Start der Berechnung *%*%*

Y(8) = Y(ß) / 2:Y(M) = Y(B):Y(N) = Y({N) / 2

ö TO P STEP 2 + SS(I)

Peeker 6/85

1820 NEXT I

1830 FOR I = 1 TO P STEP 2

184ß A2 = A2 + SS(I)

1850 NEXT I

1860 A(®) = (Al + A2) / M:A(N) = (Al - A2) /M

1878 FOR Nl = 1 TO P STEP 2

1880 Al = B:A2 = B:Bl = P:B2 = 9

1898 L = :K = P

1988 FOR I = ß TO P STEP 2

1918 Al = Al + DS(I) &* X(K):B2 = B2 + SD(I) « X(L)-

1928 L=L+2+Nl: IFL=MTHENL=L-M

1930 K=K+2+ Nl: IFK=MTHENK=K-M

1949 NEXT I

1958 PRINT ">"

19608 L = NL:K=P+HNl

197® FOR I = 1 TO P STEP 2

19808 A2 = A2 + DS(I) = X(K):Bl = Bl + SD(I) * X(L)

1998 L=L+2+Nl: IFL=MTHENL=L-M

2200 K=K+2«Nl: IFEK=MTHENK=K-M

20190 NEXT I

2020 A(Nl) = (Al + A2) / N:A(N - Nl) = (Al - A2) /N

2030 B(Nl) = (Bl + B2) / N:B(N - Nl) = (Bl - B2) /N

2040 NEXT Nl

2050 FOR Nl = 2 TO P STEP 2

2068 Al = B:A2 = B:Bl = B:B2 = 9

2078 L = B:K = P

2080 FOR I = ßÖ TO P STEP 2

2090 Al = Al + SS(I) * X(K):B2 = B2 + DD(I) « X(L)

2100 L=L+2+Nl: IFL=MTHENL=L-M

2118 K=K+2+ Nl: IFK=MTHENK=K-M

2120 NEXT I

2138 L=Nl:K=P+Nl

2140 FOR I = 1 TO P STEP 2

2158 A2 = A2 + SS(I) * X(K):Bl = Bl + DD(I) « X(L)

2l6d® L=L+2» Nl: IFL=MTHENL=L-M

2170K=K+2+Nl: IFK=MTHENK=K-M

2180 NEXT I

2198 A(Nl) = (Al + A2) / N:A(N - Nl) = (Al -A2) /N

2200 B(Nl) = (Bl + B2) / N:B(N - Nl) = (Bl - B2) /N

2210 NEXT Nl

2220 REM

2230 REM **%* Ende der Berechnung *%**

2240 REM *%** Beginn der Ausgabe x*%*

2250 REM

2269 INPUT "Ergebnis auf den (D)rucker oder (B)ildschirm? "-1IN$

2278 IF IN$ = "D" THEN GOSUB 3309: GOTO 2351

2280 IF IN$ < > "B" THEN 2269

2298 PRINT "Ergebnis:": PRINT "-—-—-— ": PRINT

2300 PRINT : PRINT "a(®)=";A(®): PRINT

2318 FOR I = 1 TON

2320 PRINT "A(";I;")=";A(I), TAB(48)"B(";I;")=";B(I)

2330 NEXT I: PRINT : INPUT "Weiter ——->> CR <<---";IN$

23408 PRINT : INPUT "Ausgabe auf den Drucker? (J/N)";DD$

2350 IF DD$ = '"J" THEN GOSUB 3369: PRINT

2351 PRINT "Darstellung als Fourier-Sinus-Reihe:'": PRINT

2352 FOR I = 1 TO N: LET AA(I) = SQR (A(I) 1 2 +B(I) 1 2)

2353 IF B(I) = ® AND A(I) = ® THEN PHI(I) = B: GOTO 2365

2354 IF B(I) = ® AND A(I) > ® THEN PHI(I) = ß: GOTO 2365

2355 IF B(I) = ® AND A(I) < ® THEN PHI(I) = 189: GOTO 2365

2356 IF A(I) = ® AND B(I) > ® THEN PHI(I) = 99: GOTO 2365

2357 IF A(I) = ® AND B(I) < ® THEN PHI(I) = - 99: GOTO 2365

2360 LET PHI(I) = ATN (A(I) / B(I))

-2361 LET PHI(I) = 180 « PHI(I) / 3.141592654

2365 NEXT I

2366 PRINT "C(®)=";A(®): PRINT

2367 FOR I = 1 TO N: PRINT "C(";I;")= ";AA(TI);: HTAB 20: PRINT "Phi(";I;")= ";PHI(I): NEXT I

2368 PRINT : INPUT "Weiter —->>CR<<--";IN$

2369 REM

2378 REM *** Vorbereitung des Plots xxx

2380 REM

2398 PRINT CHR$ (1)

2400 OM = 2 * 3.141592654: PRINT CHR$ (12)

241l® PRINT TAB(2®)"Vorbereitung des Plots": PRINT "TAB (29 ) "----—-- 0. . "

2420 PRINT : PRINT "Plotten der Funktion mit wählbarer Genauigkeit möglich": PRINT

2430 PRINT : INPUT "Annäherung einschließlich der Oberwelle Nr.:";G%: IF G% > N THEN G% = N

2440 IF G% > N THEN G% = N

2450 IF G% < ® THEN PRINT : PRINT "Fehlerhafte Eingabe ": GOTO 243®

2468 PRINT : PRINT "Moment bitte": PRINT

2470 REM

2480 REM *** Approximation mit den oben berechneten Fourier-Koeffizienten x***

Peeker 6/85

technik 4.4

REM

FOR Il = ß TO 159

S=A(ß)

FOR I2 = 1 TO 6%

S=S+ A(I2) * COS (I2 * OM * Il / 160) + B(I2) « SIN (I2 *x OM * Il / 16ß)

NEXT I2

YÄM(Il) =S

NEXT Il

J=]1

PRINT "au:

GOSUB 300%

FOR I = ß TO 159

HPLOT I + 19,96 - 90 * Yl(I) / YO

NEXT I

INPUT "---->> CR ";IN$

FOR I=8 TOM-LN1

IF ABS (Y(I)) > YO THEN YO = ABS (Y(T))

NEXT I

FOR I = TOM-]1l C=6:D d:E=G:F=d C=1® +2 x 1Ix 79 / M:D = 96 - 90 = Y(I) / YO:E = 19 +2 % (I+1) x 79 /M:F = 96 - 98 « Y(I +1) / YO HPLOT C,D TO E,F

NEXT I

GET ZZ$: PRINT CHR$ (12)

PRINT D$;"PR#3'": TEXT

INPUT "Abspeichern des Plots als Bild-File? (J/N)";BF$ IF BF$ < > "J" THEN 2790

PRINT

INPUT "Auf Slot=";S: PRINT : INPUT "und Drive=";D: PRINT

PRINT D$;"BSAVE FPIC1,A$4000,L$1IFFF,S";S;",D";D PRINT : INPUT "Hardcopy des Plots erstellen? (J/N)";HK$

IF HK$ = "J" THEN GOSUB 462

PRINT

PRINT : INPUT "Erstellen eines weiteren Plots mit anderer Genauigkeit? (J/N)";NP$

IF NP$ = "J" THEN PRINT CHR$ (12): GOTO 2419 PRINT

INPUT "Fourier-Koeffizienten abspeichern? (J/N)";IN$ IF IN$ = "N" THEN PRINT : GOTO 29@®

IF IN$ < > '"J'" THEN 2859

GOSUB 3639

PRINT

INPUT "Eingegebene Funktionswerte speichern? (J/N)";IN$

PRINT FRE (®)

IF IN$ = "N" THEN 1980

IF IN$ < > "J" THEN 2999

FOR I=9 TOM - 1:Yl(I) = Y(I): NEXTI

NF = N: GOSUB 379®

GOTO 1989

REM

REM *%*%* Bildrahmen generieren x*%*%*

REM

X0 = 2 * 3.141592654:XU = 9:YO = - 1.E25:YU = 1.E25 FOR I = ® TO 159

IF Yl(I) > YO THEN YO = YL(I)

IF YlM(I) < YU THEN YU = Yl(I)

NEXT I

FOR I = ® TO 29: PRINT : NEXT I

PRINT : PRINT TAB(1®)"Ymax= '";YO

PRINT : PRINT TAB(1®)"Ymin= ";YU

PRINT

IF ABS (YU) > YO THEN YO = ABS (YU)

PRINT TAB(19)"XU= ";XU

PRINT : PRINT TAB(1®)"Xo= ";XO0

PRINT : PRINT "Nährung der Funktion nach Fourier einschließlich Oberwelle Nr.: ";G%: PRINT

PRINT : PRINT "Weiter ——-->> CR <<---";: GET XX$: PRINT FRE (9)

PRINT D$;"PR#ß": HGR2 : HCOLOR= 7

GOSUB 5®@®: REM *** Bildrahmen generieren *%*%*

FOR I = ® TO 199

HPLOT 18,46 + I

NEXT I

FOR I = 8 TO 179

HPLOT I,96

NEXT I

FOR I = ® TO 89 STEP

HPLOT 9,96 —- I

NEXT I

FOR I = 11 TO 91 STEP 19

HPLOT 1,97

NEXT I

RETURN

®

41

42

#3 Druckerausgabe #kakakakr Die hier verwendeten Druckersteuerzeichen gelten für den STAR GEMINI-Drucker und sind an den verwendeten Drucker anzupassen. REM CHR$(9);"G2" gibt eine Hardcopy der HGR2-Seite auf den Drucker. REM CHR$(87);CHR$(®) schaltet auf Normalbreite zurück. REM CHR$(87) ;CHR$(1) schaltet auf Breitschrift um. REM PRINT D$;"PR#1": PRINT CHR$ (27); CHR$ (87); CHR$ (1) PRINT '"FOURIER-ANALYSE" PRINT "-------------------—-----—— !! PRINT CHR$ (27); CHR$ (87); CHR$ (PP) PRINT "Algorithmus: Runge": PRINT PRINT CHR$ (15) PRINT "Anzahl der eingegebenen Stützstellen: ";M PRINT : PRINT "Grad des trigonometrischen Polynons: ";N PRINT "Koeffizienten: " PRINT "a(®)= ";A(®) PRINT : FOR I = 1 TON PRINT TAB(1®)"a(";I;")= ";A(I); CHR$ (27); CHR$ (98); CHR$ (48) ;"D(";1;")= ";B(T) PRINT NEXT I PRINT : PRINT "Fourier-Analyse'": PRINT : PRINT "(c) Peter Walber, Mai '84" PRINT CHR$ (27); CHR$ (59) PRINT D$; "PR#3'" REM CHR$(98) ;CHR$(49) setzt den nächsten Tabulator auf die 49. Spalte REM CHR$(5®) Zeilenvorschub auf 1/6 Inch RETURN REM REM x Synthese kai REM PRINT : PRINT "FOURIER.SYN wird geladen" PRINT D$; "RUN FOURIER.SYN" REM REM #3 kk%* Spektrum ki REM PRINT : PRINT "FOURIER.SPEC wird geladen" PRINT D$; "RUN FOURIER.SPEC"

END

REM

REEM 3 ale aa ak ae ak ak ak ak ak ak aka a a REM

PRINT CHR$ (12)

PRINT "Abspeichern der Fourier-Koeffizienten" PRINT : INPUT "Filename:";DN$

PRINT : INPUT "Slot:";S

PRINT : INPUT "Drive:";D

PRINT D$; "OPEN" ;DN$ + "KOEFF";",S";,S;",D";D PRINT D$; "DELETE'";DN$ + "KOEFF"

PRINT D$;"OPEN";DN$ + "KOEFF"

PRINT D$; "WRITE";DN$ + "KOEFF"

PRINT N: PRINT A(®)

FOR I = 1 TO N + 3: PRINT A(I): PRINT B(I): NEXT I PRINT D$; '"CLOSE"

RETURN

REM

REM 3a a ale ak ake ale ale aaa REM

PRINT CHR$ (12)

PRINT "Abspeichern der Funktionswerte"

PRINT : INPUT "Filename:';DN$

PRINT : INPUT "S101:":5

PRINT : INPUT "Drive:';D

PRINT D$;"OPEN";DN$ + "WERTE" ;",S";S;",D";D PRINT D$; "DELETE";DN$ + "WERTE"

PRINT D$;"OPEN";DN$ + "WERTE"

PRINT D$:"WRITE";DN$ + "WERTE": PRINT NF: FOR I = ® TO 2«NF+2

PRINT Yl(I): NEXT I

PRINT D$; "CLOSE"

RETURN

REM

REN SB BB BB REM

GOSUB 423

PRINT CHR$ (12)

PRINT "Einlesen der Funktionswerte'

PRINT : INPUT "Filename: ";DN$

PRINT : INPUT "Slot:";S: PRINT : INPUT "Drive:";D PRINT D$; "OPEN" ;DN$;",S";S;'",D";D

PRINT D$;"READ ";DN$

INPUT YZ$: PRINT :N = VAL (YZ$):P =N / 2:M

PRINT

FOR I = TO M - 1: INPUT YZ$: PRINT :Y(I) = VAL (YZ$): NEXT I

PRINT D$; "CLOSE"

RETURN

REM

REM 3er REM

D$ = CHR$ (4): GOSUB 4239

PRINT CHR$ (12)

PRINT "Einlesen der Fourier-Koeffizienten"

PRINT : INPUT "Filename:'";DN$

PRINT : INPUT "Slot:";S

PRINT : INPUT "Drive'";D

PRINT D$; "OPEN" ;DN$;",S";S;",D";D

PRINT D$; "READ" ;DN$

INPUT N$: PRINT :N = VAL (N$): INPUT AB$: PRINT :A(®) = VAL (AB$)

FOR I = 1 TO N: INPUT YZ$: PRINT :A(I) = VAL (YZ$): INPUT YZ$: PRINT :B(I) = VAL (YZ$): NEXT I

PRINT D$; "CLOSE"

RETURN

PRIN STOP

DEF FN F(I) = 10 EP ( - If 2)

FOR I = ® TO 19: PRINT : NEXT I

PRINT "Da die Fourier-Analyse nur periodische Funktionen auswertet, muß dem": PRINT : PRINT "Programm mitgeteilt werden, wo die Periodendauer T liegen soll."

INPUT "Obere Grenze='";TMAX

LET DT = TMAX / M:DT = INT (DT)

FOR I = ® TO TMAX - DT

Y(I)=FNF(I)

NEXT I

RETURN

REM

REM *%*%* Abbildung auf den 1. Quadranten

REM

FOR I=9 TON

ZZ(I) Y(I) + Y(M - I):YY(I) = Y(I) - Y(M - I): NEXT I ZZ(P) = ZZ(P) / 2:YY{P) = YYIP) / 2

Y(8) = 2 » Y(B):Y(M) = Y(B):Y(N) = 2 * Y(N)

FOR I=B8TON/2

SS(I) = ZZ(I) + ZZ(N - I):DS(I) = ZZ(I) - ZZ(N - I) SD(I) = YY(I) + YY(N - I):DD(I) = YY(I) - YY(N - TI): NEXT I

RETURN

REM

REM *%*%* Hardcopy %*%*%*

REM

PRINT : INPUT "Plot vergrößert zur Ausgabe? (J/N)";VG$ IF VG$ = "J" THEN 467®

PRINT D$;"PR#1": PRINT CHR$ (9) ;"G2": PRINT D$;"PR#3": RETURN

PRINT D$;"PR#1": PRINT CHR$ (9) ;"G2RD": PRINT D$;"PR#3'": RETURN

REM **%* Bildrahmen x%*%*

BASADR = 16497

FOR J=1T08

FOR I7=9T07

READ AL%

POKE BASADR + 1924 * I7,AL%

NEXT I7

BASADR BASADR + 1

NEXT J

BASADR 16836

FOR I7=9T1T07

READ AL%

POKE BASADR + 1924 * I7,AL%

NEXT I7

RESTORE

BASADR = 16384

FOR I7”=9T0 7

READ AL%

POKE BASADR + 1924 * I7,AL%

NEXT I7

RESTORE

HPLOT 169,9 TO 224,9

RETURN

DATA 9,62,2,2,30,2,2,2: REM F

DATA 0,34,34,34,34,34,34,28: REM U

DATA 9,34,34,38,42,50,34,34: REM N

DATA ® DATA 9, DATA 9, ‚8,8,28: REM I DATA ® ‚34,34,34,28: REM O0 DATA 9 ‚42,50,34,34: REM N DATA ® 0,8,20,34: REM x

Peeker 6/85

Applesoft-

Mit Hilfe des Assembler-Programms AS.ERWEITERUNG werden insgesamt 18 neue Befehle in Applesoft implementiert, die von jedem Basic-Programm aus aufge- rufen werden können.

Nach dem Eingeben des Assembler-Pro- gramms speichern Sie dieses bitte unter dem Namen AS.ERWEITERUNG mit „BSAVE AS.ERWEITERUNG, A$9378, 1L$288“ auf Diskette ab. Das Programm kann dann von Applesoft aus mit einem BRUN jederzeit wieder eingeladen werden und liegt nach dem Einladen unter den DOS-Puffern, d.h. von Adresse $95FF ab- wärts. Es schützt sich nach dem Starten (durch BRUN oder CALL 38399) selbst vor Überschreiben durch Stringvariablen und initialisiert dann den &-Vektor, der von Applesoft aus aufgerufen wird, sobald der Interpreter auf das „&“-Zeichen trifft. Die- ser Vektor steht in den Speicherzellen $03F5 bis $03F7. In diesen Bereich wird ein Sprungbefehl zu dem Programm ge- schrieben, welches die Befehle nach dem „&“ verarbeitet.

Die Erläuterung der einzelnen Befehle

& GOTO stellt dem Benutzer die Möglich- keit zur Verfügung, ein berechnetes GO- TO durchzuführen. Als Zeilennummer darf hierfür jeder beliebige numerische Aus- druck eingesetzt werden. Beispiele hierzu:

& GOTO 10*xA +25

& GOTO A(X) *# 10 + 50.

& GOSUB bildet einen berechneten

Sprung in ein Unterprogramm. Der Gel- tungsbereich für den numerischen Aus-

Peeker 6/85

Erweiterungen

4 Applesoft 94

von Markus Enzinger

Eine Sammlung von Ampersand-Routinen

druck ist identisch mit dem des Befehls „& GOTO*,

& RESTORE hat im Prinzip die gleiche Wirkung wie der Applesoft-Befehl „RE- STORE“ mit dem Unterschied, daß der DATA-Zeiger, der auf die momentan zu lesende Information gerichtet ist, nicht auf das erste vorhandene DATA-Statement zurückgesetzt wird, sondern auf jede be- liebige DATA-Zeile gerichtet werden kann. Der numerische Ausdruck für die Zeilen- nummer muß den gleichen Bedingungen entsprechen wie der von „& GOTO“,

& HGR bewirkt, daß die erste Seite für hoch aufgelöste Grafik sichtbar wird, ohne diese dabei zu löschen. Genauso wie bei dem „HGR“-Befehl in Applesoft werden auch hier die untersten vier Zeilen für Textausgabe reserviert. Dieser Befehl er- spart das ansonsten notwendige „Herum- poken“ in den Adressen für die Bildschirm- ausgabe. „& HGR“ entspricht den folgen- den Basic-Zeilen:

POKE -16304,0

POKE -16301,0

POKE -16300,0

POKE -16297,0

POKE 230,32,

Außerdem wird in der Zero-Page ein Flag gesetzt, welches bewirkt, daß alle nachfol- genden Grafikkommandos wie HPLOT usw. auf der ersten Grafikseite ausgeführt werden.

& HGR2 bewirkt dasselbe wie „& HGR“, bezogen auf die zweite Seite für hoch aufgelöste Grafik. Allerdings wird hier, wie auch beim Applesoft-Befehl „HGR2“, kein Platz für Textausgaben reserviert.

& GR schaltet die Bildschirmausgabe auf die erste Seite für niedrig aufgelöste Grafik um, ähnlich wie der Befehl „GR“ in Ap- plesoft, jedoch ebenfalls ohne diese zu löschen. Die unteren vier Zeilen sind für Textausgaben reserviert.

& INVERSE bewirkt ein Invertieren des Textbildschirmes. Invertieren bedeutet, daß die Hinter- und Vordergrundfarbe je- des einzelnen Zeichens gegeneinander vertauscht werden. Ein zweimaliges An- wenden dieses Befehls stellt wieder den Ursprungszustand des Textbildschirmes her. (Dieser Befehl sollte bei der Benut- zung eines Peripheriegeräts nicht ange- sprochen werden, da der gesamte Bereich von $0400 bis $07FF invertiert wird und somit auch die von den Slots benutzten „Screenholes“ ihren Wert ändern. Dies führt z.B. zu einer Neukalibrierung des Schreib/Lesekopfs bei einem angeschlos- senen Diskettenlaufwerk. Anm. der Red.)

& INVERSE-H invertiert die zuletzt ange- sprochene Seite für hoch aufgelöste Gra- fik. Man sollte darauf achten, daß vor der Verwendung dieses Befehls schon eine der beiden Grafikseiten angesprochen wurde (durch „HGR“, „HGR2“, „& HGR“ oder „& HGR2“). Der Grund dafür liegt in der Tatsache, daß in der Zero-Page ein Flag existiert, welches dem Interpreter sagt, auf welcher Grafikseite momentan gearbeitet wird. Ist noch keine Grafikseite angesprochen worden, so enthält dieses Flag einen Zufallswert und es könnte pas- sieren, daß irgendwo im RAM Speicher- zellen invertiert und dadurch Daten zer- stört werden oder gar das System ab- stürzt.

43

nn

& FLASH bewirkt ein Aufblitzen des Text-

bzw. Lores-Grafik-Bildschirmes. Dieser Befehl ist besonders bei Spielen gut an- wendbar, wenn sog. „Crashs“ dargestellt werden sollen. Programmtechnisch wurde dieser Befehl realisiert, indem einfach die Invertierungsroutine zweimal hintereinan- der aufgerufen wird.

& SOUND h,d gibt über den internen Lautsprecher des Apple Il den Ton h mit der Dauer d aus. Der Parameter h stellt also die Tonhöhe dar, d die Tondauer. H = 1 ergibt den tiefstmöglichen, h = 255 den höchstmöglichen Ton. D = 1 bewirkt einen sehr kurzen, d = 255 dagegen einen lan- gen Ton. Für h und d sind sowohl Zahlen als auch Variablen einsetzbar. Beispiele hierfür:

SOUND 25,200

SOUND NH,ND + 100.

& SCROLL-R schiebt den gesamten Bild- schirminhalt der Textseite um eine Spalte nach rechts. Mit Hilfe des SCROLL-Be- fehls ließe sich z.B. ein Programm zur Erzeugung von Laufschriften o.ä. recht einfach erstellen.

& SCROLL-L schiebt den Bildschirminhalt um eine Spalte nach links.

& SCROLL-U schiebt den Bildschirmin- halt um eine Zeile nach oben.

& SCROLL-D schiebt den Bildschirmin- halt um eine Zeile nach unten.

& SCROLL-GR schiebt den Bildschirmin- halt der niedrig aufgelösten Grafik um eine Spalte nach rechts.

& SCROLL-GL schiebt den Bildschirmin- halt der niedrig aufgelösten Grafik um eine Spalte nach links.

& SCROLL-GU schiebt den Bildschirmin- halt der niedrig aufgelösten Grafik um eine Zeile nach oben.

& SCROLL-GD schiebt den Bildschirmin- halt der niedrig aufgelösten Grafik um eine Zeile nach unten.

Die Grafik-SCROLL-Befehle eignen sich in erster Linie zur Erstellung von Spielpro- grammen in Basic, wie z.B. Scramble oder Autorennen, die eine schnelle Bewegung der Hintergrundlandschaft verlangen. Die Text-SCROLL-Befehle sowie der IN- VERSE- und FLASH-Befehl arbeiten nur bei der 40 Z/Z-Ausgabe.

44

BGE

AS.ERWEITERUNG

9378: 937A: 937D: 937F: 9381: 9383: 9385: 9387: 9Y3Z8A: 938C: 938F:

9399: 9392: 9394: 9397: 9399: 939B: 939E: 93AB: 93A2: 93A5: 93A7: 9349: 93AB:

93 F7 79 74 9%

73 F6 ac F5

03

03 D3

95

95

95

aaa 18 neue Applesoft-Befehle

von MARKUS ENZINGER

a *%kk x x * x

EZ nn 2 2 *

ORG $9378 ; Programm-Startadresse Label-Definition —————

* Zuordnung der Tokens, d.h. der Zahlen, die der Inter- * preter für die jeweiligen Befehle verwendet

*

FLASH EQU 159 INVERSE® EQU 158 GOSUB® EQU 176 GOTO® EQU 171 RESTORE® EQU 174 GR® EQU 136 HGR® EQU 145 HGR2® EQU 144 *

* Zero-Page-Adressen ————

%*

WNDWDTH EQU $21

WNDTOP EQU $22

WNDBTM EQU $23

BASL EQU $28

BASZL EQU $2A

LINNUM EQU $59

FRETOP EQU $6F

MEMSIZE EQU $73

CURLIN EQU $75

DATPNT EQU $7D

LOWTR EQU $9B

TXTPTR EQU $B8

HPAG EQU $E6

*

* Verschiedene System-Adressen -————— *

; Token von FLASH

; Token von INVERSE ; Token von GOSUB

; Token von GOTO

;‚ Token von RESTORE ; Token von GR

; Token von HGR

;‚ Token von HGR2

CHRGET EQU $opBl ; Zeichen holen

SPKR EQU $C939 ; Adresse des Lautsprechers FNDLIN EQU $D61A ;‚ Zeile suchen

NEWSTT EQU $D7D2 neuen Befehl ausführen FRMNUM EQU $DD67 ; Ausdruck berechnen

ERROR EQU $DECY Ausgabe 'Syntax Error'

GETADR EQU $E752 ; FAC1 —> Integer (in $59,$51) ILLQUA EQU $E199 ; Ausgabe 'Illegal Quant. Error' GETNUM EQU $E746 ; Hole 2 Parameter aus Basic VTABZ EQU $FC24

SCROLLB EQU $FC7®

WAIT EQU $FCA8 ; Warte-Schleife

%* * Initialisieren des &-Vektors * LDA #>START STA $P3F7 STA FRETOP+1 STA MEMSIZE+1 LDA #<START STA FRETOP STA MEMSIZE STA $03F6 LDA #$4C STA $93F5 RTS

; High-Byte

; Low-Byte

; Sprungbefehl

*

* War der Befehl ein

*

START CMP #GR® BNE NEXTCOM JMP GR

NEXTCOM CMP #HGR® BNE NEXTCOMl JMP HGR

NEXTCOMl CMP #HGR29 BNE NEXTCOM2 JMP HGR2

NEXTCOM2 CMP #GOTO® BEQ GOTO CMP #GOSUB® BEQ GOSUB

'GR'? ; Mit GR-Token vergleichen

; GR-Routine aufrufen

Peeker 6/85

93AD: 9ZAF: 93Bl: 93B3: 93B5: 93B7: 93B9:

93BC: 93BE: 95C1: 9303:

9304: 93C6: 9308: 95CB: 95CE: 9501: 93D4: 93D6: 93D9: 93DA: 93DC: 93DE: 93E1: 93E4:

93E7: 93EA: 93ED: 93Fß:

93F3: 93F5: 93F8: 95FA: 93FB: 93FD: 93FE: 9409: 9491: 9403: 9404: 9406: 9497: 9ABA:

940D: 9419: 9413: 9416: 9419: 94AlB: 941D: 9AlF: 9429: 9422: 9424: 9426: 9428: 9429: 9A2B:

garc: 9ARF: 9431: 9433: 9436: 9439: 943B: 943D: 94ASF: 9441: 9443: 9446:

Peeker 6/85

Ad D9 c8

20

29 ac

29 20 29 29 A5 85

38 EI 85 c9 FO 60

60

AE SC 9E 77 9F

8B

nf") F5 DE

d6 03 94 Bl BE

03 c9

05 03 97

Bl D1l

Bl 67 52 4l

03 B9 B8 76 75 BO

E7 D2

Bl 67 52

9C TE 9B

01 TD

Öl

TE

94

95

95

93

9 DD E7 D9

D3

93

vl) DD E7 D6

11)

99 99

F4

11® 111 112 113 114 115 116 117 118 119 129 121 122 123 124 125 126 127 128 129 13 131 132 135 134 135 136 137 138 139 149 141 142 143 144 145 146 147 148 149 159 151 152 153 154 155 156 157 158 159 169 161 162 163 164 165 166 167 168 169 179 i71 172 173 174

CMP BEQ CMP BEQ CMP BNE JMP

«u War B

NEXTCOM3 LDY NEXTCHAR CMP BNE INY . * —— Alle 6 CPY BNE JMP NEXT JSR JMP SOUND? CMP BEQ JMP NEXTC INY CPY BNE JMP NEXTC1 JSR JMP

GOTO JSR JSR JSR JMP

GOSUB LDA JSR LDA PHA LDA PHA LDA PHA LDA PHA LDA PHA JSR JMP

RESTORE JSR JSR JSR JSR LDA STA LDA SEC SBC STA CMP BEQ RTS OVFLW DEC RTS

INVERSE JSR CMP BNE JSR JSR LDA STA NXTLINE LDX LDY LDA JSR LDY

#+RESTORE® RESTORE #INVERSE® INVERSE #FLASH® NEXTCOM3 FLASH

efehl ein 'Scroll'? ——--

#509 SCROLL1,Y SOUND? ; Befehl <> 'Scroll'

Buchstaben verglichen? ——

+$06

NEXT

SCROLL ; Routine aufrufen CHRGET

NEXTCHAR

SOUND1,Y

NEXTC

ERROR ;‚ '"Syntax Error'

+$05 ;‚ verglichen? NEXTC1 SOUND CHRGET SOUND?

- GOTO(X)-Routine -—-—-—-

CHRGET

FRMNUM Ausdruck berechnen GETADR ;‚ und in Integer umwandeln $D941 ; GOTO-Routine ansprechen

- GOSUB(X)-Routine ———

#503 $D3D6 ; Stack prüfen TXTPTR+1 ; CHRGET-Zeiger retten

TXTPTR

CURLIN+1 ; Zeilennr. retten CURLIN

+$BQ

GOTO NEWSTT ; Befehl ausführen

RESTORE(X)-Routine —-—

CHRGET

FRMNUM

GETADR

FNDLIN ; Zeile suchen

LOWTR+1 ; Adr. der Zeile DATPNT+1 ;‚ in Data-Zeiger ablegen LOWTR

#501 DATPNT #+$FF OVFLW

DATPNT+1

Invertierungs-Routine —-

CHRGET

#+$C9 Inverse-H? INVTXT

CHRGET

CHRGET

+$09

$01

#509

+$09

$01 ; Berechnung der $FAll ; Adresse und Maske des #+#$09 ; Punktes

Applesoft 4

ProDOS-Editor 1.0

Applesoft-Editor unter ProDOS-Betriebssystem

von U. Stiehl

1984, Diskette und Manual, DM 98,— ISBN 3-7785-1024-X

Mit diesem neuen Editor übrigens der bislang einzige deutsche Pro- DOS-Editor wird dem Applesoft- Programmierer ein Werkzeug zur ef- fektiven Programmierung unter dem Betriebssystem ProDOS gegeben, denn die früheren Editoren sind alle- samt unter ProDOS nicht mehr lauf- fähig.

Unter anderem sind folgende Fea- tures implementiert worden:

Zeilenorientierter Editor mit jedem er- denklichen Redigierkomfort (Insert, Delete, Tab, Restore, freie Cursorbe- wegung in allen vier Richtungen, Einga- be von Ctrl-Buchstaben in Applesoft- Zeilen usw.)

Renumber (Zeilen-Umnumerierung)

Xreference (sortierte Variablenliste) Suchen von Tokens, Strings und Varia- blen

dezimale und hexadezimale Umrech- nungen

Ausführung von Monitorbefehlen aus dem Editor heraus

Listen des Applesoft-Programms in speicherinterner Form als Hex-Dump

Suchen von Hex-Folgen, Adressen oder Speicherstellen im gesamten RAM-Bereich einschließlich der Language-Card

frei definierbare Tastatur-Macrobefehle

Der Applesoft-Editor liegt in einem von ProDOS geschützten Bereich und läßt sich per Tastendruck vor- übergehend abschalten und ebenso einfach wieder aktivieren.

Gerätevoraussetzung: Apple Il+, Ile oder IIc

Hüthig Software Service, Postfach 10 28 69, D-6900 Heidelberg

45

a nn

9448: YAAA: 944C: 94A4E: 944AF: 9451: 9453: 9455: 9457: 9459: 945B:

945C: 945E: 9469: 9462: 9464: 9466: 9468: 9A6A: 946C: 946E: 9479: 9471: 9473: 9475: 9476: 9478: 9479: 9A7TB: 9A7TD: 9ATF: 9482: 9484: 9486: 9488:

948B: 948E: 9491:

9494: 9496: 9498: 94A9B: 949E: 94AAß: 94A2: 9445: 94AAT: 9449: 9AAC: 9AAE: 94BB: 94B2: 94B4: 94B6: 94B8: 94BB: 94BD: 9YABF: 9aCc2:

94C5: 9407: 94C9: 94ACB: 9ACE: 94D9: 94D!: 94D2: 94D4A: 94D5: 94D7: 94D8: 9ADA: 94ADC: 94DE:

46

ze re EEE EEEEEEEEETEEEEEEEEEEEEETEEEEEEETEEEEEREEEEEEEEEEEEEEEEREEEEEEEEEEEREEEEEEEEEEREEEEEEREEEEREREREEEREEEE

Bl 49 91 c8 0)

E6 AS

69

20 20 ac

26 7F 26

28 F5 01 01

E2

Bl Ssc sc

28 28

F7 FF 28 #1

94

94

99

94

1) 1)

95

95

95

95 DE

FC

175 176 177 178 179 189 181 182 183 184 185 186 187 188 189 199 191 192 193 194 195 196 197 198 199 209 201 202 203 204 205 206 297 208 209 219 11 212 213 214 215 216 217 218 219 229 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262

NXTBYTE

* INVTXT

LOOP9Y

LOOP8

LOOP13 LOOP11

LOOP19

LOOP2®

LDA EOR STA INY CPY BNE INC LDA CMP BNE RTS

LDX STX LDA STA LDY LDA CMP BCC EOR STA DEY BNE INC DEX BNE RTS CMP BCC EOR JMP CMP BCC EOR JMP

JSR JSR JMP

($26) ,Y #+#57F ; invertieren ($26) ,Y

+$28 ; 1 Zeile fertig? NXTBYTE

$01 nächste Zeile

$01

#$C9 alle Zeilen fertig? NXTLINE

#504 Zeiger auf Text-

$02 ; seite initialisieren +$09

$01

+$09

($1),Y

+$C9

LOOP1®

#509

($1),Y

LOOP8 $92

LOOP9

#+$AQ LOOP29 +$89 LOOPI1 +$20 LOOP13 +$80 LOOP11

CHRGET INVTXT INVTXT

; FLASHen durch ; 2 x invertieren

. Scroll-Routine ———

SCROLL

NIXGR

NOGRAFIK

LOOP31

FEHLER *

LDA STA JSR JSR CMP BNE JMP CMP BNE JMP CMP BEQ CMP BEQ CMP BNE JMP CMP BNE JMP JMP

+$AQ

$FF CHRGET CHRGET #136 ;‚ Scroll-GR? NIXGR SCRGR #'"G Grafik-Scroll? NOGRAFIK SCROLLG #'"R RECHTS #'L LINKS +#'U LOOP31 UP

#'D FEHLER DOWN ERROR

#* —— Rechts-Scrollen -———— * Umgeschriebene Upscroll- * Routine vom Autostart-Monitor

. RECHTS

LOOP17

LOOP16

LDA BPL STA JSR LDY DEY DEY LDA INY STA DEY BNE LDA STA LDA

WNDBTM LOOP15 d

VTABZ WNDWDTH

(BASL),Y (BASL),Y LOOP16 $FF

(BASL),Y $01

DB-MEISTER

Adreß- und Schemabriefprogramm

Der DB-Meister ist ein in Assembler ge- schriebenes, ungewöhnlich schnelles, un- kompliziertes und zugleich „narrensicheres“ AdreßB-, Datei- und Schemabriefprogramm. Technische Daten

Recordlänge bis zu 230 Zeichen 560 bis 1000 Records pro Datendiskette Maximal 25 Felder pro Record Suche nach 3 Indexfeldern Ausdruck der Dateien als Etiketten, Listen und Schemabriefe (mit Felder- und Tasta- tureinschüben an beliebigen Stellen des Formbriefes) normal kopierbare Programmdiskette, un- terteilt in Hauptprogramme und diverse Hilfsprogramme einsatzfähig auf Apple Ile, IIc oder Il Plus mit 2 Drives (1 Drive ebenfalls möglich)

Gesamtpreis 290, (2 Disketten + ge- drucktes Manual)

U. Stiehl

c/o Dr. A. Hüthig Verlag

Postfach 10 28 69 - 6900 Heidelberg

AS.ERWEITERUNG und ProDOS

Damit die AS.ERWEITERUNG auch unter ProDOS läuft, wurde das Assemblerpro- gramm mit ORG $9778 (statt $9378) neu assembliert, nachdem die HIMEM-Pokes (MEMSIZ) zu Beginn des Programms durch die entsprechende Anzahl von NOPs ersetzt wurden. Diese Neuversion findet sich unter dem Namen „AS.ERW- .PRO“ auf der Peeker-Sammeldisk #6 und ist wenn man von der Verschiebung um $0400 nach oben absieht mit der DOS-Version identisch. Ferner war ein kurzes Applesoft-Start-Programm namens „AS.ERW.PROSTART“ erforderlich, das HIMEM über die sog. GETBUFFER-Routi- ne ändert. Kopieren Sie also AS.ERW- ‚PRO und AS.ERW.PROSTART von der DOS-Sammeldisk auf Ihre ProDOS-Disk (mit Hilfe der CONVERT-Utility) und star- ten Sie dann die Ampersand-Routinen mit RUN AS.ERW.PRO

Die Speicherverteilung sieht dann unter ProDOS wie folgt aus:

$9300: HIMEM

$9300-$96FF: ProDOS-Puffer $9778-$99FF: AS.ERW.PRO

$9A00: Beginn von BASIC.SYSTEM

Wie man unter ProDOS Assemblerpro- gramme oberhalb von