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 a»
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 1® 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!" 7® HGR : POKE - 16392,®: HCOLOR= 7: HPLOT 9,®: CALL 62454: 5® 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
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
Aß 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: A®
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: D® C: NEXT : REM Alle drei Kreise auf Seite 1 zeichnen, Ö32F: 6® 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
1® 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 2® 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.
A® 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: D® 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 D® $802P: 4C E9 84 C9 D® #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 F® ac 83 H809p: 83 29 80 3E 58098: 3A 03 F5 9C $8HAP: 5D 83 d4 Ed $8HAB: 07 E® 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 D® $811P: 3F 03 B2 A® $8118: 32 03 1C $8129: 03 8E $8128: n]) E8 $8139: D® 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 | ..— OÖ 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 = 1® 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: E® 2E 8019: D® F5 801B: 29 dc SPlE: C9Y Bl 8029: FO 09 8022: C9 B2 8024: D® 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: E® AA 8Sß3E: D® 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
#+$0D ;horizontale PRINT ;‚Schrittweite STEPX ‚ausgeben PRINT
#+$1B ;‚ESC
+$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
+$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
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 A® 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 :
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'
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
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 : 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
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
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 1®
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
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 D® 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
D® 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