Klaus Finke's Commodore 64/128 GEOS Disk Collection

See this post for details.

cbm (6 disks, 67 files)

cbm-prog_fd-copy-and-docs.d2m — “klaus finke” id:hd [D2M (native), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 1541-32k.txt 11 KB Non-GEOS SEQ .prg
2 fd-copy 5 KB Non-GEOS SEQ .prg
3 fdcopy.txt 3 KB Non-GEOS SEQ .prg

3 file(s), 17 KB

cbm-prog_fd-copy-test-disk.d2m — “test” id:10 [D2M (native), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 128 basic oder 33 KB Non-GEOS SEQ .prg
2 fd-copy 5 KB Non-GEOS SEQ .prg
3 fdcopy.txt 3 KB Non-GEOS SEQ .prg
4 fdcopy.doc 15 KB Non-GEOS SEQ .prg
5 lrr-v2.8 17 KB Non-GEOS SEQ .prg
6 lrr2-8.doc 68 KB Non-GEOS SEQ .prg
7 hd-mon 1.3 24 KB Non-GEOS SEQ .prg
8 rl-mon 1.3 20 KB Non-GEOS SEQ .prg

8 file(s), 181 KB

cbm-prog_german-recipe-joke-collection.d2m — “rl-nat/fox” id:4r [D2M (native), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 toepfe.oel.. 8 KB Non-GEOS SEQ .prg
2 kuesse 12 KB Non-GEOS SEQ .prg
3 koeche.teller.. 12 KB Non-GEOS SEQ .prg
4 1000kuesse 9 KB Non-GEOS SEQ .prg
5 wild 15 KB Non-GEOS SEQ .prg
6 feiert 12 KB Non-GEOS SEQ .prg
7 kochbuch 8 KB Non-GEOS SEQ .prg
8 100 rezepte 8 KB Non-GEOS SEQ .prg

8 file(s), 81 KB

cbm-prog_graphic-booster.d2m — “booster” id:bo [D2M (native), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 hyperboloid v0 1 KB Non-GEOS SEQ .prg
2 5ko herbert 25 KB Non-GEOS SEQ .seq
3 turboass.txc 6 KB Non-GEOS SEQ .seq
4 t.-ass v5.1+ ÄrÜ 12 KB Non-GEOS SEQ .prg
5 turboass.note 1 KB Non-GEOS SEQ .seq

5 file(s), 44 KB

cbm-prog_gunzip-puzip-unzip-c64-c128.d81 — “c64/128” id:77 [D81, 829,440 bytes] download .d81

#FilenameSizeGEOS TypeClassSDateAuthor
1 gunzip.128 6 KB Non-GEOS SEQ .prg
2 gunzip.c64 6 KB Non-GEOS SEQ .prg
3 puzip.128 5 KB Non-GEOS SEQ .prg
4 puzip.c64 5 KB Non-GEOS SEQ .prg
5 unzp215.zip 9 KB Non-GEOS SEQ .prg
6 unzip64v215.prg 7 KB Non-GEOS SEQ .prg
7 unzip128v215.prg 7 KB Non-GEOS SEQ .prg

7 file(s), 44 KB

cbm-prog_lharc-c-source-port.d2m — “gass cport” id:00 [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 128 DESKTOP 34 KB System 128 desk Ge V2.0 VLIR 1989-01-23 13:00 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
2 RAM_MOVE 5 KB Application RAM Move V1.1 SEQ 1992-01-26 00:40 Jim Collette .cvt
Change RL 1581 partitions & copy files between them.
3 QuickMove128 8 KB Application Part Aid V1.4 SEQ 1990-09-24 09:56 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying.
4 GEOWRITE 128 36 KB Application geoWrite V2.1 VLIR 1988-08-30 09:25 Tony Requist .cvt
geoWrite (128 version) is a WYSIWYG word processor.
5 header.c 20 KB Non-GEOS SEQ .prg
6 huf.c 8 KB Non-GEOS SEQ .prg
7 larc.c 2 KB Non-GEOS SEQ .prg
8 lhadd.c 15 KB Non-GEOS SEQ .prg
9 append.c 3 KB Non-GEOS SEQ .prg
10 crcio.c 7 KB Non-GEOS SEQ .prg
11 dhuf.c 6 KB Non-GEOS SEQ .prg
12 extract.c 2 KB Non-GEOS SEQ .prg
13 lharc.c 26 KB Non-GEOS SEQ .prg
14 lhdir.c 2 KB Non-GEOS SEQ .prg
15 lhext.c 8 KB Non-GEOS SEQ .prg
16 lhlist.c 8 KB Non-GEOS SEQ .prg
17 maketbl.c 3 KB Non-GEOS SEQ .prg
18 maketree.c 3 KB Non-GEOS SEQ .prg
19 patmatch.c 2 KB Non-GEOS SEQ .prg
20 shuf.c 4 KB Non-GEOS SEQ .prg
21 slide.c 10 KB Non-GEOS SEQ .prg
22 util.c 7 KB Non-GEOS SEQ .prg
23 dir.h 2 KB Non-GEOS SEQ .prg
24 intrface.h 1 KB Non-GEOS SEQ .prg
25 lharc.h 11 KB Non-GEOS SEQ .prg
26 lhdir.h 1 KB Non-GEOS SEQ .prg
27 slidehuf.h 5 KB Non-GEOS SEQ .prg
28 FONT CHANGER 7 KB Application Font ChangerV1.0 SEQ 1989-09-05 12:32 Jim Collette .cvt
Replace selected fonts in geoWrite documents.
29 WrongisWrite 8.1 13 KB Application Converter V8.1 VLIR 1990-03-13 22:33 Red Storm .cvt
Convert geoWrite file formats amongst each other.
30 ViewFont 2 KB Font GeoFont 1.4 VLIR 1989-05-30 16:51 q .cvt .png
Zeichensatz aus geoTerm (40 Zeichen pro Zeile, nicht proportional, ASCII)
31 USFont 1 KB App Data Write Image V2.1 VLIR 1995-01-18 13:33 .cvt .html
32 SetTabs 128 1 KB Desk Acc SetTabs128 V1.0 SEQ 1992-08-25 16:49 Erwin Schnabel .cvt
Setzt alle Tab`s eines Write-Dokumentes auf die Werte der ersten Seite
33 CTYPE.S+ 2 KB App Data Write Image V2.1 VLIR 1996-10-04 23:21 Red Storm .cvt .html
This file was created with
Wrong is Write.
Written by Joe Buckley.
34 DIV.S+ 5 KB App Data Write Image V2.1 VLIR 1996-10-04 23:21 Red Storm .cvt .html
This file was created with
Wrong is Write.
Written by Joe Buckley.

;

; tmp2=tmp2/tmp (32-bit signed)

;

div

lda tmp+3;dividend sign

eor tmp2+3

pha;sign of quotient

lda tmp+3;test sign of xy

bpl div1

sec

lda #0

sbc tmp

sta tmp

lda #0

sbc tmp+1

sta tmp+1

lda #0

sbc tmp+2

sta tmp+2

lda #0

sbc tmp+3

sta tmp+3

div1

lda tmp2+3;test sign of xy

bpl div2

sec

lda #0

sbc tmp2

sta tmp2

lda #0

sbc tmp2+1

sta tmp2+1

lda #0

sbc tmp2+2

sta tmp2+2

lda #0

sbc tmp2+3

sta tmp2+3

div2

jsr udiv;unsigned divide

pla;sign of quotient

bpl div3

sec

lda #0

sbc tmp2

sta tmp2

lda #0

sbc tmp2+1

sta tmp2+1

lda #0

sbc tmp2+2

sta tmp2+2

lda #0

sbc tmp2+3

sta tmp2+3

div3

rts

;

; tmp2=tmp2/tmp (32-bit unsigned)

;

udiv

lda tmp

ora tmp1

ora tmp2

ora tmp3

beq zerodiv

lda #0

sta tmp1

sta tmp1+1

sta tmp1+2

sta tmp1+3

ldx #32

asl tmp2

rol tmp2+1

rol tmp2+2

rol tmp2+3

udiv2

rol tmp1

rol tmp1+1

rol tmp1+2

rol tmp1+3

sec

lda tmp1

sbc tmp

sta tmp3

lda tmp1+1

sbc tmp+1

sta tmp3+1

lda tmp1+2

sbc tmp+2

sta tmp3+2

lda tmp1+3

sbc tmp+3

bcc udiv3

sta tmp1+3

lda tmp3+2

sta tmp1+2

lda tmp3+1

sta tmp1+1

lda tmp3

sta tmp1

udiv3

rol tmp2

rol tmp2+1

rol tmp2+2

rol tmp2+3

dex

bne udiv2

rts

zerodiv

ldx #$85

jmp $C47E

;

; tmp2=tmp2 % tmp (32-bit signed)

;

mod

lda tmp+3;dividend sign

eor tmp2+3

pha;sign of quotient

lda tmp+3;test sign of xy

bpl mod1

sec

lda #0

sbc tmp

sta tmp

lda #0

sbc tmp+1

sta tmp+1

lda #0

sbc tmp+2

sta tmp+2

lda #0

sbc tmp+3

sta tmp+3

mod1

lda tmp2+3;test sign of xy

bpl mod2

sec

lda #0

sbc tmp2

sta tmp2

lda #0

sbc tmp2+1

sta tmp2+1

lda #0

sbc tmp2+2

sta tmp2+2

lda #0

sbc tmp2+3

sta tmp2+3

mod2

jsr udiv;unsigned divide

pla;sign of quotient

bpl mod3

sec

lda #0

sbc tmp1

sta tmp1

lda #0

sbc tmp1+1

sta tmp1+1

lda #0

sbc tmp1+2

sta tmp1+2

lda #0

sbc tmp1+3

sta tmp1+3

mod3

35 FADD.S+ 3 KB App Data Write Image V2.1 VLIR 1996-10-04 23:22 Red Storm .cvt .html
This file was created with
Wrong is Write.
Written by Joe Buckley.

;*****************************************************************************

; Addition float1 <- float1 + float2

fadd

jsr ieeetotmp

lda exp2

cmp #$80

beq endfadd

fadd1

lda exp1

cmp #$80

beq return2

subexp

sec

lda exp1

sbc exp2

bvs underflow

bpl biggeris1

jsr swap

jmp subexp

underflow

bmi endfadd

jsr swap

jmp endfadd

biggeris1

jsr rormant2

lda sign1

eor sign2

bmi signdiff

jsr addmant

bcc endfadd

ror mant1+2

ror mant1+1

ror mant1

clc

lda exp1

adc #1

sta exp1

bvs faoverflow

endfadd

jmp tmptoieee

signdiff

jsr submant

beq afzero

bcs normalise

jsr negmant

normalise

lda mant1+2

bmi endfadd

asl mant1

rol mant1+1

rol mant1+2

sec

lda exp1

sbc #1

sta exp1

bvs faoverflow

jmp normalise

faoverflow

jmp overflow

afzero

jmp fzero

return2

lda sign2

sta sign1

lda exp2

sta exp1

lda mant2

sta mant1

lda mant2+1

sta mant1+1

lda mant2+2

sta mant1+2

jmp tmptoieee

36 FADDMANT.S+ 1 KB App Data Write Image V2.1 VLIR 1996-10-04 23:22 Red Storm .cvt .html
This file was created with
Wrong is Write.
Written by Joe Buckley.

36 file(s), 259 KB

cmd-utilities (11 disks, 346 files)

cmd-util_cmd-move-format-tools.d2m — “hd/fd/f8ra/81” id:hd [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 GEOS 1 KB BASIC GEOS V2.1 SEQ 1991-07-26 14:06 CMD .cvt
(c) Copyright 1992 by
Creative Micro Designs, Inc.
2 GEOBOOT 22 KB BASIC GeoBoot V1.0 SEQ 1995-06-24 19:54 Bosacki/Collette .cvt
3 FLASH RAM 3 KB Auto-Exec FlashRAM V2.0 SEQ 1995-01-21 22:47 Falk Rehwagen .cvt
Externer Treiber zur gleichzeitigen Unterstützung von Flash8-RAM und geoRAM.
4 CONFIGURE 23 KB Auto-Exec Configure V2.1 VLIR 1988-07-06 13:05 BSW/Jim Collette .cvt
Allows varying disk configurations: 1541, 1571, 1581 & RAM disks supported.
5 SET F8_RBOOT 1 KB Auto-Exec Set F_RBoot V2.0 SEQ 1995-01-21 23:11 Falk Rehwagen .cvt
Ändert Routinen für das Rebooten aus dem Flash8-RAM.
6 DeskSwap 2 KB Auto-Exec DeskSwap GE V1.1 SEQ 1993-05-25 21:37 Jürgen Eckel .cvt
7 QuickMove64 7 KB Application Part Aid V1.4 SEQ 1990-09-24 09:27 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying
8 InstallDriveD 2 KB Auto-Exec InstallDriveV1.0 SEQ 1991-07-14 20:37 Walter Knupe .cvt
9 CMDTime 1 KB Auto-Exec CMD_Time V1.0 SEQ 1992-10-08 16:10 Bosacki/Collette .cvt
Fetches time and date from CMD HD, FD, or RL.
10 FancyStart 4 KB Auto-Exec Fancy Start V1.0 SEQ 1992-07-27 13:07 Anthony Sommers .cvt
What's 3 more seconds?!? Just a fancier way to boot GEOS! : ) -ALS
11 Diagnostic 64 3 KB Auto-Exec Diagnostic V2.3 SEQ 1992-11-03 12:50 Erwin Schnabel .cvt
12 Log_In 64 5 KB Auto-Exec Log_In 64 V2.0 SEQ 1992-11-03 12:50 Erwin Schnabel .cvt
13 JOYSTICK 1 KB Input Drv Input Drvr V1.2 SEQ 1986-10-02 12:00 Berkeley Softworks .cvt
Treiber für Joysticks und C= 1350.
14 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1988-10-11 17:02 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
15 DESK_TOP 35 KB Application TopDesk V1.2 VLIR 1995-02-22 14:44 DPT KnCiGo .cvt
16 Auto Date 2 KB Auto-Exec AutoDate V1.1 SEQ 1990-06-08 22:27 Rick Koch .cvt
Check Calendar At Boot.
17 RamProcess 10 KB Auto-Exec RAMProcess V2.0 VLIR 1995-04-02 21:57 Milcke/Boerrigter .cvt
Installiert Prozess-Handling in der REU.
installs process - handling into the REU.
18 DESKTOP INSTALL 1 KB Auto-Exec DeskTopInstall V1.0 SEQ 1994-06-14 23:35 Rehwagen/Beier .cvt
Kopiert den originalen DeskTop 2.0 in das RAM-Lfw.
19 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
20 Date Book 14 KB System Date Book V1.0 VLIR 1997-04-16 19:56 .cvt
21 Preferences 1 KB System Preferences V1.0 SEQ 1998-03-26 07:57 .cvt
22 Voreinstellung 6 KB Desk Acc Prfrnce Mgr V1.0 SEQ 1987-10-15 10:02 David Durran .cvt
Verändern Sie Zeit, Datum, Maus usw. mit dem Voreinstellungsmanager.
23 pad color mgr 3 KB Desk Acc Pad Color Mgr V1.0 SEQ 1988-09-21 17:20 G.Ferry and C.Tan .cvt
Hilfsmittel zur Farbeinstellung für das Desktop-Arbeitsblatt und die Datei-Piktogramme.
24 Pad Color Pref 1 KB System PadColorPref V1.0 SEQ 1997-09-07 15:09 .cvt

24 file(s), 181 KB

cmd-util_cmd-move-quickmove-gateway.d2m — “hd/fd/cprl/gw.!” id:hd [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 GEOS 1 KB BASIC GEOS V2.1 SEQ 1991-07-26 14:06 CMD .cvt
(c) Copyright 1992 by
Creative Micro Designs, Inc.
2 GEOBOOT 22 KB BASIC GeoBoot V1.0 SEQ 1995-06-24 22:21 Bosacki/Collette .cvt
3 FLASH RAM 3 KB Auto-Exec FlashRAM V2.0 SEQ 1995-01-21 22:47 Falk Rehwagen .cvt
Externer Treiber zur gleichzeitigen Unterstützung von Flash8-RAM und geoRAM.
4 CONFIGURE 23 KB Auto-Exec Configure V2.1 VLIR 1988-07-06 13:05 BSW/Jim Collette .cvt
Allows varying disk configurations: 1541, 1571, 1581 & RAM disks supported.
5 SET F8_RBOOT 1 KB Auto-Exec Set F_RBoot V2.0 SEQ 1995-01-21 23:11 Falk Rehwagen .cvt
Ändert Routinen für das Rebooten aus dem Flash8-RAM.
6 DeskSwap 2 KB Auto-Exec DeskSwap GE V1.1 SEQ 1993-05-25 21:37 Jürgen Eckel .cvt
7 QuickMove64 7 KB Application Part Aid V1.4 SEQ 1990-09-24 09:27 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying
8 InstallDriveD 2 KB Auto-Exec InstallDriveV1.0 SEQ 1991-07-14 20:37 Walter Knupe .cvt
9 CMDTime 1 KB Auto-Exec CMD_Time V1.0 SEQ 1992-10-08 16:10 Bosacki/Collette .cvt
Fetches time and date from CMD HD, FD, or RL.
10 JOYSTICK 1 KB Input Drv Input Drvr V1.2 SEQ 1986-10-02 12:00 Berkeley Softworks .cvt
Treiber für Joysticks und C= 1350.
11 Diagnostic 64 3 KB Auto-Exec Diagnostic V2.3 SEQ 1992-11-03 12:50 Erwin Schnabel .cvt
12 Log_In 64 5 KB Auto-Exec Log_In 64 V2.0 SEQ 1992-11-03 12:50 Erwin Schnabel .cvt
13 FancyStart 4 KB Auto-Exec Fancy Start V1.0 SEQ 1992-07-27 13:07 Anthony Sommers .cvt
What's 3 more seconds?!? Just a fancier way to boot GEOS! : ) -ALS
14 AutoCalendar 1 KB Auto-Exec AutoCaledar v1.0 SEQ 1992-03-09 02:44 Michael E. Landon .cvt
Runs the calendar DA automatically at boot
15 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1988-10-11 17:02 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
16 DESK_TOP 35 KB Application TopDesk V1.2 VLIR 1995-02-22 14:44 DPT KnCiGo .cvt
17 RamProcess 10 KB Auto-Exec RAMProcess V2.0 VLIR 1995-04-02 21:57 Milcke/Boerrigter .cvt
Installiert Prozess-Handling in der REU.
installs process - handling into the REU.
18 DESKTOP INSTALL 1 KB Auto-Exec DeskTopInstall V1.0 SEQ 1994-06-14 23:35 Rehwagen/Beier .cvt
Kopiert den originalen DeskTop 2.0 in das RAM-Lfw.
19 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
20 Date Book 13 KB System Date Book V1.0 VLIR 1997-04-27 16:33 .cvt

20 file(s), 170 KB

cmd-util_cmd-move-ram-move.d2m — “rl-5 ” id:rl [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 vga_001a.zip 16 KB Non-GEOS SEQ .prg
2 CMD_MOVE 7 KB Application CMD Move V1.1 SEQ 1993-05-13 12:58 Jim Collette .cvt
Change partitions & copy files between them. Use with gateWay or GEOS and
CMD devices.
3 unzip64.prg 7 KB Non-GEOS SEQ .prg
4 RAM_MOVE 5 KB Application RAM Move V1.1 SEQ 1992-01-26 00:40 Jim Collette .cvt
Change RL 1581 partitions & copy files between them.

5 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1988-10-11 17:02 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.

5 file(s), 64 KB

cmd-util_gateway-cmd-move-mover.d2m — “hd/fd/cprl/gw” id:ij [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 GEOS 1 KB BASIC GEOS V2.1GW SEQ 1991-07-26 14:06 Creative Micro Desig .cvt
LOAD "GEOS",8,1 to boot GEOS
2 GEOBOOT 22 KB BASIC GeoBoot V1.0 SEQ 1997-01-04 22:42 Paul J. Bosacki .cvt
3 GATEWAY 25 KB System deskTop_GW V2.51 VLIR 1992-04-15 12:00 Bosacki/Collette .cvt
An alternate deskTop that supports the HD and RAMLink.
4 LAUNCH 3 KB Auto-Exec Launch V2.51 SEQ 1992-09-25 14:43 Bosacki/Collette .cvt
Install disk drivers & Switcher under gateWay.
5 JOYSTICK 1 KB Input Drv Input Drvr V1.2 SEQ 1986-10-02 12:00 Berkeley Softworks .cvt
Treiber für Joysticks und C= 1350.
6 Switcher 4 KB type-17 Switcher V2.5 SEQ 1992-04-15 12:00 Bosacki/Collette .cvt
Allows task switching under gateWay.
7 QuickMove64 7 KB Application Part Aid V1.4 SEQ 1990-09-24 09:27 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying
8 GWMover 5 KB Application Mover V1.10 SEQ 1992-04-15 12:00 Paul J. Bosacki .cvt
9 CBM1541 5 KB Disk Device CBM1541 V1.2 VLIR 1992-04-15 12:00 Paul J. Bosacki .cvt
Mounts CBM1541 under GEOS 2.0
10 CBM1571 6 KB Disk Device CBM1571 V1.2 VLIR 1992-04-15 12:00 Paul J. Bosacki .cvt
Mounts CBM1571 under GEOS 2.0
11 CBM1581 5 KB Disk Device CBM1581 V1.2 VLIR 1992-04-15 12:00 Paul J. Bosacki .cvt
Mounts CBM1581 under GEOS 2.0
12 FD1581 4 KB Disk Device FD1581 V2.5 VLIR 1992-04-15 12:00 Bosacki/Collette .cvt
Installs FD 1581 partitions under gateWay
13 FD_Native 5 KB Disk Device FDnative V2.5 VLIR 1992-04-15 12:00 Bosacki/Collette .cvt
Installs FD native partition under gateWay
14 HD1581 4 KB Disk Device HD1581 V2.5 VLIR 1992-04-15 12:00 Paul J. Bosacki .cvt
Installs HD 1581 partitions under gateWay
15 HD_Native 5 KB Disk Device HDnative V2.5 VLIR 1992-04-15 12:00 Paul J. Bosacki .cvt
Installs HD native partition under gateWay
16 RL1581 4 KB Disk Device RL1581 V2.5 VLIR 1992-04-15 12:00 Paul J. Bosacki .cvt
Installs RAMLink 1581 partition under gateWay
17 RL_Native 4 KB Disk Device RLnative V2.5 VLIR 1992-04-15 12:00 Paul J. Bosacki .cvt
Installs RAMLink native partition under gateWay.
18 RAMDisk 5 KB Disk Device RamDisk V2.5 VLIR 1992-04-15 12:00 Bosacki/Collette .cvt
Installs RAM disk for use under the gateWay
19 GRAMDisk 5 KB Disk Device RamDisk V2.5 VLIR 1992-04-15 12:00 Bosacki/Collette .cvt
Installs RAM disk for use under the gateWay
20 Ram41_71 5 KB Disk Device Ram41/71 V2.5 VLIR 1992-04-15 12:00 Bosacki/Collette .cvt
Installs RAM 41/71 for use under the gateWay.
21 .info_gw 1 KB System .info_gw V1.0 SEQ 1992-03-23 00:00 GATE WAY .cvt
22 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1988-10-11 17:02 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.

22 file(s), 146 KB

cmd-util_hd-service-zp-connect.d2m — “hilfs-programme” id:81 [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 copyright cmd 89 1 KB Non-GEOS SEQ .prg
2 zp-connect 1.5 3 KB Non-GEOS SEQ .prg
3 hd-service v0.2 26 KB Non-GEOS SEQ .prg
4 park-scsi 3 KB Non-GEOS SEQ .prg
5 ---------------. 1 KB Non-GEOS SEQ .prg
6 hd-mon 1.7 34 KB Non-GEOS SEQ .prg
7 rl-mon 1.3 20 KB Non-GEOS SEQ .prg
8 lrr-v2.8 17 KB Non-GEOS SEQ .prg
9 fd-copy 5 KB Non-GEOS SEQ .prg
10 fcopy+ 18 KB Non-GEOS SEQ .prg
11 mcopy 19 KB Non-GEOS SEQ .prg
12 zp-create 2.2 17 KB Non-GEOS SEQ .prg
13 zp-formatlow 0.4 10 KB Non-GEOS SEQ .prg
14 zp-check 0.2 9 KB Non-GEOS SEQ .prg
15 zp-backup 0.6 23 KB Non-GEOS SEQ .prg
16 find128 10 KB Non-GEOS SEQ .prg
17 c.find128 3 KB Non-GEOS SEQ .prg
18 tree.exe 2 KB Non-GEOS SEQ .prg
19 copydir.3 8 KB Non-GEOS SEQ .prg
20 .--------------- 1 KB Non-GEOS SEQ .prg
21 tree.64er 84-90 2 KB Non-GEOS SEQ .seq
22 tree.64er 91-94 2 KB Non-GEOS SEQ .seq
23 tree.64er 95-98 2 KB Non-GEOS SEQ .seq
24 tree.64er 99-00 1 KB Non-GEOS SEQ .seq
25 tree.sh 01-49 2 KB Non-GEOS SEQ .seq
26 tree.sh 50-97 2 KB Non-GEOS SEQ .seq
27 tree.go64 97-00 2 KB Non-GEOS SEQ .seq
28 tree.go64 01-04 2 KB Non-GEOS SEQ .seq
29 @$ 1 KB Non-GEOS SEQ .prg

29 file(s), 233 KB

cmd-util_hd-tools-configure-hdtime.d2m — “hd-tools” id:hd [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 PaintView IIa 5 KB Application Paint View V2.0 SEQ 1988-05-05 13:53 Red Storm .cvt
View geoPaint files from outside geoPaint.
From Storm Systems.
2 FontView 4 KB Application FontView V1.0 SEQ 1988-12-07 01:48 Christopher Flynn .cvt
FontView will view font files to the screen. Use +,- icons to change point size.
3 WriteView 3 KB Application QuickView V1.0 SEQ 1988-02-17 21:09 BSC TechUnit .cvt
Dump Write files to screen.Patched to work with geoWrite 2.X.
4 MiniDesk 6 KB Desk Acc MiniDeskTop V1.0 SEQ 1990-08-09 15:11 Jim Collette .cvt
Copy, Scratch, and Rename files.
Copyright (C) 1990, Jim Collette.
5 Wecker 4 KB Desk Acc Alarm clock V1.0 SEQ 1986-09-03 12:00 David Durran .cvt
Stellen Sie den Wecker, um zeitbewußt zu sein.
6 DeskSwap 2 KB Auto-Exec DeskSwap GE V1.1 SEQ 1993-05-25 21:37 Jürgen Eckel .cvt
7 QuickMove64 7 KB Application Part Aid V1.4 SEQ 1990-09-24 09:27 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying
8 QuickMove128 8 KB Application Part Aid V1.4 SEQ 1990-09-24 09:56 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying.
9 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
10 GeoDex 21 KB Desk Acc geoDex V2.0 SEQ 1988-04-26 14:37 Chris Hawley .cvt
Use geoDex to store all your names and addresses for easy recall.
11 Notizblock 5 KB Desk Acc note pad V2.0 SEQ 1988-10-11 18:18 Requist & Hawley .cvt
12 Rechner 4 KB Desk Acc Calculator V1.0 SEQ 1988-07-06 13:05 A.Schubert .cvt
13 Treiberwahl 3 KB Desk Acc Treiberwahl V1.0 SEQ 1992-11-02 22:09 Jürgen Eckel .cvt
14 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1995-07-04 07:07 Brian Dougherty .cvt
15 DESK_TOP 35 KB Application TopDesk V1.2 VLIR 1995-02-22 14:44 DPT KnCiGo .cvt
16 128 DESKTOP 34 KB System 128 desk Ge V2.0 VLIR 1989-01-23 13:00 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
17 Date Book 2 KB System Date Book V1.0 VLIR 1996-02-07 21:24 .cvt
18 HDTime 1 KB Auto-Exec HDTime V1.0 SEQ 1990-02-19 13:56 Paul J. Bosacki .cvt
Fetches time & date from the CMD harddrive
19 CONFIGURE 23 KB Auto-Exec Configure V2.1 VLIR 1988-07-06 13:03 BSW/Jim Collette .cvt
Allows varying disk configurations: 1541, 1571, 1581 & RAM disks supported.
20 CONFIGURE_r 23 KB Auto-Exec Configure V2.1 VLIR 1990-11-20 18:40 BSW/Jim Collette .cvt
Allows varying disk configurations: 1541, 1571, 1581 & RAM disks supported.
21 128 CONFIGURE 23 KB Auto-Exec 128 Config V2.1 VLIR 1990-05-01 16:44 BSW/Jim Collette .cvt
Allows varying disk configurations: 1541, 1571, 1581 & RAM disks supported.
22 128 CONFIGURE_r 24 KB Auto-Exec 128 Config V2.1 VLIR 1990-11-20 18:02 BSW/Jim Collette .cvt
Allows varying disk configurations: 1541, 1571, 1581 & RAM disks supported.
23 Particle 5 KB Desk Acc Particle V1.0 SEQ 1994-04-20 08:35 Nathan Fiedler .cvt
Open and rename partitions on CMD hard drives.
24 run me for info 1 KB Non-GEOS SEQ .prg
25 hd-tools.64 17 KB Non-GEOS SEQ .prg
26 hd-tools.128 24 KB Non-GEOS SEQ .prg
27 partition info 2 KB Non-GEOS SEQ .prg
28 subpartition aid 4 KB Non-GEOS SEQ .prg
29 1541sub 3 KB Non-GEOS SEQ .prg
30 1581sub 3 KB Non-GEOS SEQ .prg
31 set hd clock 3 KB Non-GEOS SEQ .prg
32 auto-boot 128 3 KB Non-GEOS SEQ .prg
33 disk cracker hd 7 KB Non-GEOS SEQ .prg
34 fix blocks 11 KB Non-GEOS SEQ .prg
35 park hd 1 KB Non-GEOS SEQ .prg
36 bootq 1 KB Non-GEOS SEQ .prg
37 xfer qdata 2 KB Non-GEOS SEQ .prg
38 rewrite dos 3 KB Non-GEOS SEQ .prg
39 create sys 4 KB Non-GEOS SEQ .prg
40 llformat 6 KB Non-GEOS SEQ .prg
41 add drive 7 KB Non-GEOS SEQ .prg
42 drive info 2 KB Non-GEOS SEQ .prg
43 ---------------- 1 KB Non-GEOS SEQ .seq
44 system header 1 KB Non-GEOS SEQ .prg
45 hdos v1.86 28 KB Non-GEOS SEQ .prg
46 geos/hd v2.00 1 KB Non-GEOS SEQ .prg
47 ----examples---- 1 KB Non-GEOS SEQ .prg
48 read rtc(d).bas 1 KB Non-GEOS SEQ .prg
49 read rtc(a).bas 1 KB Non-GEOS SEQ .prg
50 get pinfo.bas 1 KB Non-GEOS SEQ .prg
51 ---data files--- 1 KB Non-GEOS SEQ .prg
52 4.0 asm/monitor 3 KB Non-GEOS SEQ .prg

52 file(s), 401 KB

cmd-util_ramlink-hd-disk-utilities.d81 — “util.rl+hd” id:hd [D81, 819,200 bytes] download .d81

#FilenameSizeGEOS TypeClassSDateAuthor
1 fcopy+ 18 KB Non-GEOS SEQ .prg
2 mcopy 19 KB Non-GEOS SEQ .prg
3 mcompare 16 KB Non-GEOS SEQ .prg
4 bcopy+ 23 KB Non-GEOS SEQ .prg
5 find 9 KB Non-GEOS SEQ .prg
6 subpartition aid 4 KB Non-GEOS SEQ .prg
7 cmd dir sort 1.5 3 KB Non-GEOS SEQ .prg
8 convert 41<>71 5 KB Non-GEOS SEQ .prg
9 follow links 4 KB Non-GEOS SEQ .prg
10 zapreu 5 KB Non-GEOS SEQ .prg
11 zapdacc 6 KB Non-GEOS SEQ .prg
12 foreign creator 6 KB Non-GEOS SEQ .prg
13 hd power tools 7 KB Non-GEOS SEQ .prg
14 rebuild pdir 3 KB Non-GEOS SEQ .prg
15 menuette files 1 KB Non-GEOS SEQ .seq
16 menuette 64 1 KB Non-GEOS SEQ .prg
17 menuette 64 1.10 17 KB Non-GEOS SEQ .prg
18 opsystem 8 KB Non-GEOS SEQ .prg
19 charset 1 KB Non-GEOS SEQ .prg
20 sprites 1 KB Non-GEOS SEQ .prg
21 keyboard 1 KB Non-GEOS SEQ .prg
22 joystick 1 KB Non-GEOS SEQ .prg
23 cbm1351 1 KB Non-GEOS SEQ .prg
24 opt.options 1 KB Non-GEOS SEQ .prg
25 clr.default 1 KB Non-GEOS SEQ .prg
26 menuette modules 1 KB Non-GEOS SEQ .seq
27 m64.load address 1 KB Non-GEOS SEQ .prg
28 m64.1581 sp aid1 2 KB Non-GEOS SEQ .prg
29 m64.1581 sp aid2 2 KB Non-GEOS SEQ .prg
30 m64.1581 auto d# 1 KB Non-GEOS SEQ .prg
31 m64.rl dflt dvc# 1 KB Non-GEOS SEQ .prg
32 m64.rl dflt prt# 1 KB Non-GEOS SEQ .prg
33 m64.rl autofile 2 KB Non-GEOS SEQ .prg
34 m64.hd set clock 2 KB Non-GEOS SEQ .prg
35 dedit.64 v7.1 14 KB Non-GEOS SEQ .prg
36 dedit.128 v7.1 28 KB Non-GEOS SEQ .prg
37 -- data files -- 1 KB Non-GEOS SEQ .prg
38 ram-tools 11 KB Non-GEOS SEQ .prg
39 fcopy 10 KB Non-GEOS SEQ .prg
40 hardware test 4 KB Non-GEOS SEQ .prg
41 ram test 3 KB Non-GEOS SEQ .prg
42 set rl clock 3 KB Non-GEOS SEQ .prg
43 autofile editor 3 KB Non-GEOS SEQ .prg
44 1541sub 3 KB Non-GEOS SEQ .prg
45 1581sub 3 KB Non-GEOS SEQ .prg
46 auto-boot 128 3 KB Non-GEOS SEQ .prg
47 disk cracker hd 7 KB Non-GEOS SEQ .prg
48 zap system 2 KB Non-GEOS SEQ .prg
49 rewrite dos 3 KB Non-GEOS SEQ .prg
50 hdos v1.86 28 KB Non-GEOS SEQ .prg
51 system header 1 KB Non-GEOS SEQ .prg
52 geos/hd v2.00 1 KB Non-GEOS SEQ .prg
53 4.0 asm/monitor 3 KB Non-GEOS SEQ .prg
54 rl/rd geos setup 6 KB Non-GEOS SEQ .prg
55 rboot 1 KB Non-GEOS SEQ .prg
56 128 rboot 1 KB Non-GEOS SEQ .prg
57 ---------------- 1 KB Non-GEOS SEQ .seq
58 hd-tools.64 17 KB Non-GEOS SEQ .prg
59 hd-tools.128 24 KB Non-GEOS SEQ .prg
60 set hd clock 3 KB Non-GEOS SEQ .prg
61 fix blocks 11 KB Non-GEOS SEQ .prg
62 drive info 2 KB Non-GEOS SEQ .prg
63 partition info 2 KB Non-GEOS SEQ .prg
64 bootq 1 KB Non-GEOS SEQ .prg
65 xfer qdata 2 KB Non-GEOS SEQ .prg
66 park hd 1 KB Non-GEOS SEQ .prg
67 create sys 4 KB Non-GEOS SEQ .prg
68 llformat 6 KB Non-GEOS SEQ .prg
69 add drive 7 KB Non-GEOS SEQ .prg
70 hdos v1.84 28 KB Non-GEOS SEQ .prg
71 how to use 13 KB Non-GEOS SEQ .prg
72 backup128-1581 5 KB Non-GEOS SEQ .prg
73 backup 64-1581 5 KB Non-GEOS SEQ .prg
74 sector editor 10 KB Non-GEOS SEQ .prg
75 show bam 6 KB Non-GEOS SEQ .prg
76 change unit 2 KB Non-GEOS SEQ .prg
77 unscratch 3 KB Non-GEOS SEQ .prg
78 load address 3 KB Non-GEOS SEQ .prg
79 uni-copy 5 KB Non-GEOS SEQ .prg
80 filecopy 4 KB Non-GEOS SEQ .prg
81 filecopy.bin 1 KB Non-GEOS SEQ .prg
82 zapload 64 3 KB Non-GEOS SEQ .prg
83 compress 128 8 KB Non-GEOS SEQ .prg
84 auto-run 64 2 KB Non-GEOS SEQ .prg
85 pic demo 128 2 KB Non-GEOS SEQ .prg
86 rel file example 6 KB Non-GEOS SEQ .prg
87 burst exampl.bas 7 KB Non-GEOS SEQ .prg
88 burst subs.bin 2 KB Non-GEOS SEQ .prg
89 burst subs.src 21 KB Non-GEOS SEQ .seq
90 burst subs.lst 58 KB Non-GEOS SEQ .seq
91 partition aid 5 KB Non-GEOS SEQ .prg
92 $b0$c0$c0$c0$c0$c0$c0$c0$c0$c0$c0$c0$c0$c0$c0$ae 2 KB Non-GEOS SEQ .seq
93 ü floppy 1581 ü 2 KB Non-GEOS SEQ .seq
94 $ad$c0$c0$c0$c0$c0$c0$c0$c0$c0$c0$c0$c0$c0$c0$bd 2 KB Non-GEOS SEQ .seq
95 c64-tools 23 KB Non-GEOS SEQ .prg
96 infotext 1 KB Non-GEOS SEQ .seq
97 prg 1.bas 1 KB Non-GEOS SEQ .prg
98 prg 2.bas 1 KB Non-GEOS SEQ .prg
99 prg 3.bas 1 KB Non-GEOS SEQ .prg
100 --------------- 2 KB Non-GEOS SEQ .seq
101 dual-filecopy 3 KB Non-GEOS SEQ .prg
102 subdir.1581 1 KB Non-GEOS SEQ .prg

102 file(s), 582 KB

cmd-util_rl-copy-ramlink.d81 — “klaus der suhler” id:81 [D81, 829,440 bytes] download .d81

#FilenameSizeGEOS TypeClassSDateAuthor
1 rl-copy v0 14 KB Non-GEOS SEQ .prg
2 rl-copyv0.txt 4 KB Non-GEOS SEQ .prg
3 foreign creator 6 KB Non-GEOS SEQ .prg
4 geo-list v0 14 KB Non-GEOS SEQ .prg

4 file(s), 36 KB

cmd-util_v-fcopy-cmd-file-copier.d2m — “geograph2” id:il [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1988-10-11 17:02 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
2 MiniDesk 6 KB Desk Acc MiniDeskTop V1.0 SEQ 1990-08-09 15:11 Jim Collette .cvt
Copy, Scratch, and Rename files.
Copyright (C) 1990, Jim Collette.
3 Wecker 4 KB Desk Acc Alarm clock V1.0 SEQ 1986-09-03 12:00 David Durran .cvt
Stellen Sie den Wecker, um zeitbewußt zu sein.
4 SELECT PRINTER 2 KB Desk Acc select printer SEQ 1988-02-17 20:00 Ciprina & Bonse .cvt

Wähle den Drucker aus!
5 REU Zap II 6 KB Application REU Zap V2.1 SEQ 1989-11-02 18:40 J. Buckley .cvt
6 mcopy 19 KB Non-GEOS SEQ .prg
7 QuickMove64 7 KB Application Part Aid V1.4 SEQ 1990-09-24 09:27 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying
8 fcopy 10 KB Non-GEOS SEQ .prg
9 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
10 Rechner 4 KB Desk Acc Calculator V1.0 SEQ 1988-05-05 18:14 David Durran .cvt
DrÜcke die Rechnerknöpfe mit Hilfe der Maus oder gib Zahlen Über die Tastatur ein.
11 Notizblock 5 KB Desk Acc note pad V2.0 SEQ 1988-10-11 18:18 Requist & Hawley .cvt
12 PAINT DRIVERS 5 KB Application Paint Drvr V1.0 SEQ 1988-10-19 16:33 Doug Fults .cvt
Creates drivers that print to geoPaint files, a file for each PAGE, or OVERLAID.
13 Show-Font 3 KB Desk Acc Show Font V1.2 SEQ 1990-05-19 01:00 Jürgen Eckel .cvt
Maxim. Puffer 8000 Byte. Maxim. Punkthöhe 46 Punkte
Nötiger Platz auf Disk 17k
14 WriteView 3 KB Application QuickView V1.0 SEQ 1988-02-17 21:09 BSC TechUnit .cvt
Dump Write files to screen.Patched to work with geoWrite 2.X.
15 PD1b(60dpi) 26 KB App Data photo album V1.0 VLIR 1990-11-06 17:10 .cvt .png
16 PD1a(60dpi) 27 KB App Data photo album V2.1 VLIR 1993-11-29 20:58 .cvt .png
17 faces 1-50 33 KB App Data photo album V2.1 VLIR 1989-06-07 21:09 .cvt .png
PS graphics from BRE coverted to GEOS by Rick Coleman
18 faces 51-100 34 KB App Data photo album V2.1 VLIR 1989-06-07 21:09 .cvt .png
PS Graphics from BRE, converted to GEOS by Rick Coleman
19 Hochz.Hilfen 9 KB App Data photo album V2.1 VLIR 1988-07-06 13:28 .cvt .png
20 Misc. PD 15 KB App Data photo album V2.1 VLIR 1989-08-15 12:56 .cvt .png
Misc. stuff downloaded from GEnie. Converted by Rick Coleman
21 PD #2 (80 dpi) 44 KB App Data photo album V2.1 VLIR 1989-11-26 23:39 .cvt .png
PS graphics from BRE, converted to GEOS by Rick Coleman
22 Clip_Art_2 63 KB App Data photo album V1.0 VLIR 1986-10-21 18:04 .cvt .png

22 file(s), 356 KB

cmd-util_v-fcopy-qselect.d2m — “geoalben2” id:il [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 QSELECT 4 KB Application qSelect V1.2 SEQ 1992-11-17 19:13 Falk Rehwagen .cvt
Schnelle Oberfläche zum Öffnen, Löschen und Umbenennen von Dateien.
2 MiniDesk 6 KB Desk Acc MiniDeskTop V1.0 SEQ 1990-08-09 15:11 Jim Collette .cvt
Copy, Scratch, and Rename files.
Copyright (C) 1990, Jim Collette.
3 Wecker 4 KB Desk Acc Alarm clock V1.0 SEQ 1986-09-03 12:00 David Durran .cvt
Stellen Sie den Wecker, um zeitbewußt zu sein.
4 SELECT PRINTER 2 KB Desk Acc select printer SEQ 1988-02-17 20:00 Ciprina & Bonse .cvt

Wähle den Drucker aus!
5 REU Zap II 6 KB Application REU Zap V2.1 SEQ 1989-11-02 18:40 J. Buckley .cvt
6 mcopy 19 KB Non-GEOS SEQ .prg
7 CMD_MOVE 7 KB Application RAM Move V1.0 SEQ 1992-08-11 22:59 Jim Collette .cvt
Change RL 1581 partitions & copy files between them.
8 fcopy 10 KB Non-GEOS SEQ .prg
9 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
10 Rechner 4 KB Desk Acc Calculator V1.0 SEQ 1988-05-05 18:14 David Durran .cvt
DrÜcke die Rechnerknöpfe mit Hilfe der Maus oder gib Zahlen Über die Tastatur ein.
11 Notizblock 5 KB Desk Acc note pad V2.0 SEQ 1988-10-11 18:18 Requist & Hawley .cvt
12 PAINT DRIVERS 5 KB Application Paint Drvr V1.0 SEQ 1988-10-19 16:33 Doug Fults .cvt
Creates drivers that print to geoPaint files, a file for each PAGE, or OVERLAID.
13 Show-Font 3 KB Desk Acc Show Font V1.2 SEQ 1990-05-19 01:00 Jürgen Eckel .cvt
Maxim. Puffer 8000 Byte. Maxim. Punkthöhe 46 Punkte
Nötiger Platz auf Disk 17k
14 WriteView 3 KB Application QuickView V1.0 SEQ 1988-02-17 21:09 BSC TechUnit .cvt
Dump Write files to screen.Patched to work with geoWrite 2.X.
15 GeoView 3 KB Application GeoView V1.1 SEQ 1988-03-15 23:00 Stephen R. Bassler .cvt
View, scroll, and print
GeoPaint pictures in
full-screen mode.
16 Pause! 1 KB Desk Acc Pause V1.0 SEQ 1988-06-29 13:07 Rune Bassmann .cvt
Pause turns the screen black and makes the disk-drive accessable (MBS only)
17 PD1b(60dpi) 26 KB App Data photo album V1.0 VLIR 1990-11-06 17:10 .cvt .png
18 PD1a(60dpi) 27 KB App Data photo album V2.1 VLIR 1993-11-29 20:58 .cvt .png
19 faces 1-50 33 KB App Data photo album V2.1 VLIR 1989-06-07 21:09 .cvt .png
PS graphics from BRE coverted to GEOS by Rick Coleman
20 faces 51-100 34 KB App Data photo album V2.1 VLIR 1989-06-07 21:09 .cvt .png
PS Graphics from BRE, converted to GEOS by Rick Coleman
21 Hochz.Hilfen 9 KB App Data photo album V2.1 VLIR 1988-07-06 13:28 .cvt .png
22 Misc. PD 15 KB App Data photo album V2.1 VLIR 1989-08-15 12:56 .cvt .png
Misc. stuff downloaded from GEnie. Converted by Rick Coleman
23 PD #2 (80 dpi) 44 KB App Data photo album V2.1 VLIR 1989-11-26 23:39 .cvt .png
PS graphics from BRE, converted to GEOS by Rick Coleman
24 Clip_Art_2 63 KB App Data photo album V1.0 VLIR 1986-10-21 18:04 .cvt .png

24 file(s), 333 KB

cmd-util_geos-hd-fd-tools.d2m — “hd/fd/cprl/41.!” id:03 [D2M (1581 emu), 1,658,880 bytes] (personal data removed)

#FilenameSizeGEOS TypeClassSDateAuthor
1 GEOS128 1 KB BASIC GEOS128 V1.00 SEQ 1991-07-17 01:06 CMD .cvt
(c) Copyright 1992 by
Creative Micro Designs, Inc.
2 GEOBOOT128 38 KB BASIC GeoBoot_128 V1.0 SEQ 1988-08-22 13:16 Bosacki/Collette .cvt
3 CMDTime 1 KB Auto-Exec CMD_Time V1.0 SEQ 1992-10-08 16:10 Bosacki/Collette .cvt
Fetches time and date from CMD HD, FD, or RL.
4 128 CONFIG RL 24 KB Auto-Exec 128 Config V2.1 VLIR 1991-12-17 21:25 BSW/Jim Collette .cvt
Allows varying disk configurations: 1541, 1571, 1581 & RAM disks supported.
5 128 STEUERHEBEL 1 KB Input 128 Input Drvr V2.0 SEQ 1988-08-22 13:08 Berkeley Softworks .cvt
6 DeskSwap 2 KB Auto-Exec DeskSwap GE V1.1 SEQ 1993-05-25 21:37 Jürgen Eckel .cvt
7 QuickMove64 7 KB Application Part Aid V1.4 SEQ 1990-09-24 09:27 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying
8 QuickMove128 8 KB Application Part Aid V1.4 SEQ 1990-09-24 09:56 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying.
9 MOVE80COL 4 KB Desk Acc Scrn 80col V1.0 SEQ 1990-05-27 23:53 Robert Phoenix .cvt
This program moves the 80-col screenup,
10 FancyStart128 4 KB Auto-Exec Fancy Start V1.0 SEQ 1992-07-27 13:07 Anthony Sommers .cvt
Update for Geos 128 by M.Hanke

11 Auto_80col 1 KB Auto-Exec Auto_80col v1.0 SEQ 1998-04-04 14:29 Robert Phoenix .cvt
12 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
13 GeoDex 21 KB Desk Acc geoDex V2.0 SEQ 1988-04-26 14:37 Chris Hawley .cvt
Use geoDex to store all your names and addresses for easy recall.
14 128 DESKTOP 34 KB System 128 desk Ge V2.0 VLIR 1989-01-23 13:00 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
15 128_DESKTOP 49 KB Application TopDesk128 V3.2 VLIR 1998-01-11 17:28 MegaCom Software .cvt
16 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1988-10-11 17:02 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
17 Pad Color Pref 1 KB System PadColorPref V1.0 SEQ 1997-03-22 21:34 .cvt
18 Voreinstellung 6 KB Desk Acc Prfrnce Mgr V1.0 SEQ 1987-10-15 10:02 David Durran .cvt
Verändern Sie Zeit, Datum, Maus usw. mit dem Voreinstellungsmanager.
19 pad color mgr 3 KB Desk Acc Pad Color Mgr V1.0 SEQ 1988-09-21 17:20 G.Ferry and C.Tan .cvt
Hilfsmittel zur Farbeinstellung für das Desktop-Arbeitsblatt und die Datei-Piktogramme.
20 Preferences 1 KB System Preferences V1.0 SEQ 1998-03-30 19:59 .cvt
21 geoDex data 26 KB App Data geoDex file V2.1 VLIR 1998-04-04 01:23 redacted
22 Date Book 14 KB System Date Book V1.0 VLIR 1998-04-04 14:36 redacted
23 InstallDriveD 2 KB Auto-Exec InstallDriveV2.0 SEQ 1995-11-03 11:20 MegaCom Soft .cvt
Aktuelle Version für GEOS128 (nur 80Zeichen)
24 128Joy2patch 2 KB Application 128Joy2patchV1.1 SEQ 1991-01-07 11:10 Robert A. Knop Jr. .cvt
Patches 128 JOYSTICK input driver to use joystick in Port 2.
25 128 Koala Pad 1 1 KB Input 128 Input Drvr V2.0 SEQ 1988-06-05 23:30 B. Moore, mod by Dan .cvt
A Koala Pad driver for GEOS 128! Original 64 version by W. Bruce Moore. Use port 1. Protectus
26 geoMakeBoot128 2 KB Application geoMakeBoot V1.02 SEQ 1992-04-09 20:19 Collette/Bosacki .cvt
(c) Copyright 1992 by
Creative Micro Designs, Inc.
27 HQ24 med EpN GC 2 KB Printer Drv Driver V2.7 SEQ 1991-09-27 20:00 Herrmann/Marten .cvt
High-End Printer Driver.
(C) 1991 Thilo Herrmann.
28 VDC-TEST 1 KB Application ??? SEQ 1996-03-19 23:05 ??? .cvt
29 VDC-Spy (sd) 24 KB Application VDC-Spy v0.9 SEQ 1995-10-13 03:26 BMB of GEDREAN .cvt
VDC-Registereditor und RAM-Scanner

- Shareware -
30 testBG 2 KB Application testBG V1.0 SEQ 1992-07-11 21:05 The Masked Nerd .cvt
Demo of 64K VDC BG screen routines.
by Rob Knop
31 geoLogger 9 KB Application geoLogger V1.1 VLIR 1991-07-06 18:29 Mike Craig .cvt
GEOS128 80 col. disk file cataloging system.
$5.00 Shareware
32 GeoLogger.dt 3 KB App Data Write Image V2.1 VLIR 1996-07-24 12:04 .cvt .html
Anleitung zu GeoLogger - verfaßt von M.Scholich in 9/92

Anleitung zu GeoLogger V1.1 7/'91

verfaßt von M.Scholich in 9/92

GeoLogger

33 GeoThek.V1 3 KB App Data logData V1.1 VLIR 1996-07-24 23:17 .cvt
34 GeoThek.V2 4 KB App Data logData V1.1 VLIR 1996-07-24 23:14 .cvt
35 GeosSysProgis 5 KB App Data logData V1.1 VLIR 1996-07-24 13:10 .cvt
36 GeosMM 1 KB App Data logData V1.1 VLIR 1996-07-24 11:42 .cvt
37 GeosStony 1 KB App Data logData V1.1 VLIR 1996-07-24 11:44 .cvt
38 GeoGraphics 1 KB App Data logData V1.1 VLIR 1996-07-24 11:49 .cvt
39 Testbild 35 KB Application Testbild V1.0 VLIR 1992-04-18 03:14 .cvt
40 > 1 KB Non-GEOS SEQ .prg
41 < 1 KB Non-GEOS SEQ .prg
42 DESK_TOP 35 KB Application TopDesk V1.2 VLIR 1995-02-22 14:44 DPT KnCiGo .cvt

42 file(s), 407 KB

geos-apps (65 disks, 2745 files)

geos-app_128-assembly-source.d2m — “gass dyma” id:hd [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 128 DESKTOP 34 KB System 128 desk Ge V2.0 VLIR 1989-01-23 13:00 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
2 RAM_MOVE 5 KB Application RAM Move V1.1 SEQ 1992-01-26 00:40 Jim Collette .cvt
Change RL 1581 partitions & copy files between them.
3 QuickMove128 8 KB Application Part Aid V1.4 SEQ 1990-09-24 09:56 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying.
4 GEOWRITE 128 35 KB Application geoWrite V2.1 VLIR 1988-08-30 09:25 Tony Requist .cvt
geoWrite (128 version) is a WYSIWYG word processor.
5 dyma128.src 4 KB App Data Write Image V2.1 VLIR 1996-07-29 17:54 .cvt .html

:ram0Start w $2000 ; Start of free RAM bank0

:ram0End w $9000 ; End "

:ram1Start w $0400 ; Start of free RAM bank1

:ram1End w $6000 ; End "

:vdcStart w $2000 ; Start of VDCRAM

:vdcEnd w $4000 ; End "

:firstREUBank b $00

:lastREUBank b $00

:ramListStart w $0000 ; Start of List for free RAM

:ramListEnd w $0000 ; End "

:ramListHead w $0000 ; Head of free List

:ramTab b 0,3,6,13 ; no/41/71/81

:DymaInit ;Set parameters for RAM0

lda r0L ;r0 = Start of free RAM0

sta ram0Start

clc

adc r1L ;r1 = Length of free RAM0

sta ram0End

lda r0H

sta ram0Start+1

adc r1H

sta ram0End+1

;Set parameters for RAM1

lda r2L ;r2 = Start of free RAM1

sta ram1Start

clc

adc r3L ;r3 = Length of free RAM1

sta ram1End

lda r2H

sta ram1Start+1

adc r3H

sta ram1End+1

;Set parameters for VDCRAM

lda r4L ;r4 = Start of free VDCRAM

sta vdcStart

clc

adc r5L ;r5 = Length of free VDCRAM

sta vdcEnd

lda r4H

sta vdcStart+1

adc r5H

sta vdcEnd+1

;Set parameters for REURAM

ldy ramExpSize ;Size in banks

beq :noreu

iny ; -1 (we count from 0)

sty lastREUBank ; = last

lda #1 ; if we have a REU

sta firstREUBank ; GEOS uses bank 0

ldx #3 ; look for 4 drives

::loop lda #%11111111

bit driveType,x ; is it RD or shadowed ?

bmi :ramdisk

bvc :nextdrive

inc lastREUBank ; shadow is in the last bank !

bne :nextdrive

::ramdisk and #%00000011 ; get type

tay

lda firstREUBank

clc

adc ramTab,y ; add size of RD to first bank

sta firstREUBank

::nextdrive dex

bpl :loop

aslWn r7,3 ; * 8 (size of entry)

lda r6L

sta ramListStart

sta ramListHead

clc

adc r7L

sta ramListEnd

lda r6H

sta ramListStart+1

sta ramListStart+1

adc r7H

sta ramListEnd

; install list

; nextL/nextH/startL/startH/endL/endH/banknr/NULL

MoveW ramListHead,r9

; fill with REU space

lda firstRAMBank

ora #%10000000 ; REU = $8x

tax

::loop3 ldy #7

sta (r9),y ; NULL

dey

txa

sta (r9),y ; REUbank

dey

lda #0

::loop2 sta (r9),y ; Start/End = 0 (64kB)

dey

cpy #1

bne :loop2

jsr CheckIfEnd

inx

txa

and #%01111111 ; clear REU bit 7

cmp lastREUBank

ble :loop3

; fill with RAM 1/0 space

ldy #7

lda #0

sta (r9),y ; NULL

dey

lda #1

sta (r9),y ; RAMbank

LoadW r8,ram1Start-2

dey

::loop4 lda (r8),y ; End/Start of free RAM1

sta (r9),y

dey

cpy #1

bne :loop4

jsr CheckIfEnd

ldy #7

lda #0

sta (r9),y ; NULL

dey

lda #0

sta (r9),y ; RAMbank

LoadW r8,ram0Start-2

dey

::loop5 lda (r8),y ; End/Start of free RAM1

sta (r9),y

dey

cpy #1

bne :loop5

jsr CheckIfEnd

6 32bitMac 14 KB App Data Write Image V2.1 VLIR 1996-08-20 15:59 Red Storm .cvt .html
32-Bit Macros fuer den Mega-Assembler

; Makros fuer den 32-Bit Zugriff

; Revision 20.08..1996

; (w) by Holger G. Heimes, ai25he(at)bg.bib.de

; *********************************************************

; *

; * LoadDW Adr(Word), Wert32(Low-Word), Wert32(High-Word)

; *

; * Legt 32-Bit-Wert in Adresse ab

; *

; * <Adresse> = 32-Bit-Wert

; *

; *********************************************************

:LoadDW m

lda #<P1

sta P0

lda #>P1

sta P0+1

lda #<P2

sta P0+2

lda #>P2

sta P0+3

/

; *********************************************************

; *

; * MoveDW QuellAdr.(Word), ZielAdr.(Word)

; *

; * Kopiert 32-Bit-Wert von QuellAdr. nach ZielAdr.

; *

; * <Ziel> = <Quelle>

; *

; *********************************************************

:MoveDW m

lda P0

sta P1

lda P0+1

sta P1+1

lda P0+2

sta P1+2

lda P0+3

sta P1+3

/

; *********************************************************

; *

; * AddDW Adresse1(Word), Adresse2(Word)

; *

; * Addiert 32-Bit-Inhalt von Adr.1 bis Adr.1+3 zum

; * 32-Bit-Inhalt von Adr.2 bis Adr.2+3

; *

; * <Adr.2> = <Adr.1> + <Adr.2>

; *********************************************************

:AddDW m

lda P0

clc

adc P1

sta P1

lda P0+1

adc P1+1

sta P1+1

lda P0+2

adc P1+2

sta P1+2

lda P0+3

adc P1+3

sta P1+3

/

; *********************************************************

; *

; * AddVDW Wert32(Low-Word), Wert32(High-Word), Adr.(Word)

; *

; * Addiert 32-Bit-Wert zum 32-Bit-Inhalt von

; * Adr. bis Adr.+3

; *

; * <Adr.> = 32-Bit-Wert + <Adr.>

; *********************************************************

:AddVDW m

lda #<P0

clc

adc P2

sta P2

lda #>P0

adc P2+1

sta P2+1

lda #<P1

adc P2+2

sta P2+2

lda #>P1

adc P2+3

sta P2+3

/

; *********************************************************

; *

; * SubDW Adresse1(Word), Adresse2(Word)

; *

; * Subtrahhiert 32-Bit-Inhalt von Adr.1 bis Adr.1+3 vom

; * 32-Bit-Inhalt von Adr.2 bis Adr.2+3

; *

; * <Adr.2> = <Adr.2> - <Adr.1>

; *********************************************************

:SubDW m

lda P1

sec

sbc P0

sta P1

lda P1+1

bcs :1 ;kein Unterlauf

sec

sbc #1

::1 sbc P0+1

sta P1+1

lda P1+2

bcs :2 ;kein Unterlauf

sec

sbc #1

::2 sbc P0+2

sta P1+2

lda P1+3

bcs :3 ;kein Unterlauf

sec

sbc #1

::3 sbc P0+3

sta P1+3

/

; *********************************************************

; *

; * SubVDW Wert32(Low-Word), Wert32(High-Word), Adr.(Word)

; *

; * Subtrahiert 32-Bit-Wert vom 32-Bit-Inhalt von

; * Adr. bis Adr.+3

; *

; * <Adr.> = <Adr.> - 32-Bit-Wert

; *********************************************************

:SubVDW m

ldx #0

lda P2

sec

sbc #<P0

sta P2

lda P2+1

bcs :1

sec

sbc #1

::1 sbc #>P0

sta P2+1

lda P2+2

bcs :2

sec

sbc #1

::2 sbc #<P1

sta P2+2

lda P2+3

bcs :3

sec

sbc #1

::3 sbc #>P1

sta P2+3

/

; *********************************************************

; *

; * CmpDW Adresse1(Word), Adresse2(Word)

; *

; * Vergleicht 32-Bit-Inhalt von Adr.1 bis Adr.1+3 mit

; * 32-Bit-Inhalt von Adr.2 bis Adr.2+3

; *

; *********************************************************

:CmpDW m

lda P0+3

cmp P1+3

bne ::ende

lda P0+2

cmp P1+2

bne ::ende

lda P0+1

cmp P1+1

bne ::ende

lda P0

cmp P1

::ende

/

; *********************************************************

; *

; * CmpDWI Adr.(Word), Wert32(Low-Word), Wert32(High-Word)

; *

; * Vergleicht 32-Bit-Inhalt von Adr. bis Adr.+3 mit

; * 32-Bit-Wert

; *

; *********************************************************

:CmpDWI m

lda P0+3

cmp #>P2

bne ::ende

lda P0+2

cmp #<P2

bne ::ende

lda P0+1

cmp #>P1

bne ::ende

lda P0

cmp #<P1

::ende

/

; *********************************************************

; *

; * PushDW Adr.(Word)

; *

; * Legt 32-Bit-Inhalt von Adr. bis Adr.+3 auf den Stack

; *

; *********************************************************

:PushDW m

lda P0+3

pha

lda P0+2

pha

lda P0+1

pha

lda P0

pha

/

; *********************************************************

; *

; * PopDW Adr.(Word)

; *

; * Holt 32-Bit-Wert vom Stack zurueck und legt den Wert

; * in Adr. bis Adr.+3 ab

; *

; *********************************************************

:PopDW m

lda P0

pla

lda P0+1

pla

lda P0+2

pla

lda P0+3

pla

/

; *********************************************************

; *

; * sbDWn Adr.(Word), BIT-Nummer

; *

; * Setzt BIT-Nummer in Adr. bis Adr.+3

; *

; * gueltig sind BIT-Nummern von 0 bis 31

; *

; *********************************************************

:sbDWn m

lda P1

cmp #15

bgt :32bit

lda P0

ora #<2^P2

sta P0

lda P0+1

ora #>2^P2

sta P0+1

bne :ende

::32bit lda P0+2

ora #<2^(P1-16)

sta P0+2

lda P1+3

ora #>2^(P1-16)

sta P1+3

::ende

/

; *********************************************************

; *

; * cbDWn Adr.(Word), BIT-Nummer

; *

; * Loescht BIT-Nummer in Adr. bis Adr.+3

; *

; * gueltig sind BIT-Nummern von 0 bis 31

; *

; *********************************************************

:cbDWn m

lda P1

cmp #15

bgt :32bit

lda P0

and #<$ffff-2^P2

sta P0

lda P0+1

and #>$ffff-2^P2

sta P0+1

bne :ende

::32bit ldaP0+2

and #<$ffff-2^(P1-16)

sta P0+2

lda P1+3

and #>$ffff-2^(P1-16)

sta P1+3

::ende

/

; *********************************************************

; *

; * rolDWn Adr.(Word), Anzahl

; *

; * Rotiert Inhalt von Adr. bis Adr.+3 Anzahl-mal nach

; * links unter Beachtung des Carry-Flags f. Bit 0

; *

; * sinnvoll sind Werte 1 bis 31

; * X-Register wird veraendert !

; *

; *********************************************************

:rolDWn m

ldx #P1

beq :ende

::1 rol P0

rol P0+1

rol P0+2

rol P0+3

dex

bne :1

::ende

/

; *********************************************************

; *

; * rorDWn Adr.(Word), Anzahl

; *

; * Rotiert Inhalt von Adr. bis Adr.+3 Anzahl-mal nach

; * rechts unter Beachtung des Carry-Flags f. Bit 7

; *

; * sinnvoll sind Werte 1 bis 31

; * X-Register wird veraendert !

; *

; *********************************************************

:rorDWn m

ldx #P1

beq :ende

::1 ror P0+3

ror P0+2

ror P0+1

ror P0

dex

bne :1

::ende

/

7 CMDSym 1 KB App Data Write Image V2.1 VLIR 1996-09-10 19:58 .cvt .html
8 MegaAssembler 24 KB Application DPT MegaAss V2.0 VLIR 1989-09-21 00:01 Walter Knupe .cvt
9 Call MegaAss 2 KB Desk Acc DPT Jumper V1.1 SEQ 1988-08-22 13:21 Ciprina/Goehrke .cvt
10 V-Link 9 KB Application DPT V-Link V1.0 SEQ 1989-07-31 11:38 Walter Knupe .cvt
11 TopMac 4 KB App Data Write Image V1.1 VLIR 1988-07-06 13:13 .cvt .html

X; Makrodefinitionen

; Revision 28.06.89

:LoadB m

lda #@1

sta @0

/

:LoadW m

lda #<@1

sta @0

lda #>@1

sta @0+1

/

:MoveB m

lda @0

sta @1

/

:MoveW m

lda @0

sta @1

lda @0+1

sta @1+1

/

:add m

clc

adc #@0

/

:adda m

clc

adc @0

/

:AddB m

clc

lda @0

adc @1

sta @1

/

:AddW m

lda @0

clc

adc @1

sta @1

lda @0+1

adc @1+1

sta @1+1

/

X:AddVB m

lda @1

clc

adc #@0

sta @1

/

:AddVW m

lda #<@0

clc

adc @1

sta @1

lda #>@0

adc @1+1

sta @1+1

/

:sub m

sec

sbc #@0

/

:suba m

sec

sbc @0

/

:SubB m

sec

lda @1

sbc @0

sta @1

/

:SubW m

lda @1

sec

sbc @0

sta @1

lda @1+1

sbc @0+1

sta @1+1

/

:SubVB m

sec

lda @1

sbc #@0

sta @1

/

:SubVW m

lda @1

sec

sbc #<@0

sta @1

lda @1+1

sbc #>@0

sta @1+1

/

X:CmpB m

lda @0

cmp @1

/

:CmpBI m

lda @0

cmp #@1

/

:CmpW m

lda @0+1

cmp @1+1

bne :ende

lda @0

cmp @1

::ende

/

:CmpWI m

lda @0+1

cmp #>@1

bne :ende1

lda @0

cmp #<@1

::ende1

/

:PushB m

lda @0

pha

/

:PushW m

lda @0+1

pha

lda @0

pha

/

:PopB m

pla

sta @0

/

:PopW m

pla

sta @0

pla

sta @0+1

/

:bra m

clv

bvc @0

/

X:bge m

bcs @0

/

:bgt m

beq :done

bcs @0

::done

/

:blt m

bcc @0

/

:ble m

beq @0

bcc @0

/

:sbn m

ora #2^@0

/

:sbBn m

lda @0

ora #2^@1

sta @0

/

:sbWn m

lda @0

ora #<2^@1

sta @0

lda @0+1

ora #>2^@1

sta @0+1

/

:cbn m

and #$ff-2^@0

/

:cbBn m

lda @0

and #$ff-2^@1

sta @0

/

:cbWn m

lda @0

and #<$ffff-2^@1

sta @0

lda @0+1

and #>$ffff-2^@1

sta @0+1

/

X:roln m

ldx #@0

beq :done

::10 rol

dex

bne :10

::done

/

:rolBn m

ldx #@1

beq :done

::10 rol @0

dex

bne :10

::done

/

:rolWn m

ldx #@1

beq :done

::10 rol @0

rol @0+1

dex

bne :10

::done

/

:rorn m

ldx #@0

beq :done

::10 ror

dex

bne :10

::done

/

:rorBn m

ldx #@1

beq :done

::10 ror @0

dex

bne :10

::done

/

:rorWn m

ldx #@1

beq :done

::10 ror @0+1

ror @0

dex

bne :10

::done

/

X:asln m

ldx #@0

beq :done

::10 asl

dex

bne :10

::done

/

:aslBn m

ldx #@1

beq :done

::10 asl @0

dex

bne :10

::done

/

:aslWn m

ldx #@1

beq :done

::10 asl @0

rol @0+1

dex

bne :10

::done

/

:lsrn m

ldx #@0

beq :done

::10 lsr

dex

bne :10

::done

/

:lsrBn m

ldx #@1

beq :done

::10 lsr @0

dex

bne :10

::done

/

:lsrWn m

ldx #@1

12 TopSym+ 12 KB App Data Write Image V2.1 VLIR 1993-06-04 02:01 .cvt .html
Kurzfassung der MegaSym

; Systemlabels

; Version 04.07.89

:APPLICATION = $06

:APPL_DATA = $07

:APP_RAM = $0400

:APP_VAR = $7f40

:ASSEMBLY = $02

:AUTO_EXEC = $0e

:AllocateBlock = $9048

:AppendRecord = $c289

:BACKSPACE = $08

:BACK_SCR_BASE = $6000

:BASIC = $01

:BBMult = $c160

:BFR_OVERFLOW = $0b

:BMult = $c163

:BOLDON = $18

:BRKVector = $84af

:BitOtherClip = $c2c5

:BitmapClip = $c2aa

:BitmapUp = $c142

:BldGDirEntry = $c1f3

:BlkAlloc = $c1fc

:BlockProcess = $c10c

:BootGEOS = $c000

:CANCEL = $02

:CBM = $05

:COLOR_MATRIX = $8c00

:CONSTRAINED = $40

:CPU_DATA = $01

:CPU_DDR = $00

:CR = $0d

:CRC = $c20e

:CalcBlksFree = $c1db

:CallRoutine = $c1d8

:ChangeDiskDevice = $c2bc

:ChkDkGEOS = $c1de

:ClearMouseMode = $c19c

:ClearRam = $c178

:CloseRecordFile = $c277

:CmpFString = $c26e

:CmpString = $c26b

:CopyFString = $c268

:CopyString = $c265

:DATA = $03

:DBGETFILES = $10

:DBGETSTRING = $0d

:DBGRPHSTR = $0f

:DBOPVEC = $11

:DBSYSOPV = $0e

:DBTXTSTR = $0b

:DBUSRICON = $12

:DBVARSTR = $0c

:DB_USR_ROUT = $13

:DESK_ACC = $05

:DISK = $06

:DISK_DEVICE = $0b

:DISK_BASE = $9000

:DMult = $c166

:DSdiv = $c16c

:DShiftLeft = $c15d

:DShiftRight = $c262

:DYN_SUB_MENU = $40

:Dabs = $c16f

:Ddec = $c175

:Ddiv = $c169

:DeleteFile = $c238

:DeleteRecord = $c283

:DisablSprite = $c1d5

:Dnegate = $c172

:DoDlgBox = $c256

:DoIcons = $c15a

:DoInlineReturn = $c2a4

:DoMenu = $c151

:DoPreviousMenu = $c190

:DoRAMOp = $c2d4

:DoneWithIO = $c25f

:DrACurDkNm = $841e

:DrBCurDkNm = $8430

:DrCCurDkNm = $88dc

:DrDCurDkNm = $88ee

:DrawLine = $c130

:DrawPoint = $c133

:DrawSprite = $c1c6

:ESC_GRAPHICS = $10

:ESC_PUTSTRING = $06

:ESC_RULER = $11

:EXP_BASE = $df00

:EnablSprite = $c1d2

:EnableProcess = $c109

:EnterDeskTop = $c22c

:EnterTurbo = $c214

:ExitTurbo = $c232

:FALSE = $00

:FONT = $08

:FORWARDSPACE = $09

:FRAME_RECTO = $07

:FastDelFile = $c244

:FetchRAM = $c2cb

:FillRam = $c17b

:FindBAMBit = $c2ad

:FindFTypes = $c23b

:FindFile = $c20b

:FirstInit = $c271

:FollowChain = $c205

:FrameRectangle = $c127

:FreeBlock = $c2b9

:FreeFile = $c226

:FreezeProcess = $c112

:GOTOX = $14

:GOTOXY = $16

:GOTOY = $15

:Get1stDirEntry = $9030

:GetBlock = $c1e4

:GetCharWidth = $c1c9

:GetDimensions = $790c

:GetDirHead = $c247

:GetFHdrInfo = $c229

:GetFile = $c208

:GetFreeDirBlk = $c1f6

:GetNextChar = $c2a7

:GetNxtDirEntry = $9033

:GetPtrCurDkNm = $c298

:GetRandom = $c187

:GetRealSize = $c1b1

:GetScanLine = $c13c

:GetSerialNumber = $c196

:GetString = $c1ba

:GotoFirstMenu = $c1bd

:GraphicsString = $c136

:HOME = $0b

:HORIZONTAL = $00

:HorizontalLine = $c118

:INCOMPATIBLE = $0e

:INPUT_128 = $0f

:INPUT_DEVICE = $0a

:IO_IN = $35

:IRQ_VECTOR = $fffe

:ITALICON = $19

:ImprintRectangle = $c250

:InitForIO = $c25c

:InitForPrint = $7900

:InitMouse = $fe80

:InitProcesses = $c103

:InitRam = $c181

:InitTextPrompt = $c1c0

:InsertRecord = $c286

:InterruptMain = $c100

:InvertLine = $c11b

:InvertRectangle = $c12a

:IsMseInRegion = $c2b3

:KEY_BPS = $18

:KEY_CLEAR = $13

:KEY_DELETE = $1d

:KEY_DOWN = $11

:KEY_F1 = $01

:KEY_F2 = $02

:KEY_F3 = $03

:KEY_F4 = $04

:KEY_F5 = $05

:KEY_F6 = $06

:KEY_F7 = $0e

:KEY_F8 = $0f

:KEY_HOME = $12

:KEY_INSERT = $1c

:KEY_INVALID = $1f

:KEY_LARROW = $14

:KEY_LEFT = $08

:KEY_RIGHT = $1e

:KEY_RUN = $17

:KEY_STOP = $16

:KEY_UP = $10

:KEY_UPARROW = $15

:KRNL_BAS_IO_IN = $37

:KRNL_IO_IN = $36

:LF = $0a

:LINETO = $02

:LdApplic = $c21d

:LdDeskAcc = $c217

:LdFile = $c211

:LoadCharSet = $c1cc

:MENU_ACTION = $00

:MOUSE_BASE = $fe80

:MOUSE_JMP = $fe80

:MOVEPENTO = $01

:MainLoop = $c1c3

:MouseOff = $c18d

:MouseUp = $c18a

:MoveData = $c17e

:NEWCARDSET = $17

:NEWPATTERN = $05

:NMI_VECTOR = $fffa

:NO = $04

:NOT_GEOS = $00

:NULL = $00

:NewDisk = $c1e1

:NextRecord = $c27a

:NxtBlkAlloc = $c24d

:OK = $01

:OPEN = $05

:OUTLINEON = $1a

:OpenDisk = $c2a1

:OpenRecordFile = $c274

:PAGE_BREAK = $0c

:PEN_XY_DELTA = $0a

:PEN_X_DELTA = $08

:PEN_Y_DELTA = $09

:PLAINTEXT = $1b

:PRG = $02

:PRINTBASE = $7900

:PRINTER = $09

:Panic = $c2c2

:PointRecord = $c280

:PosSprite = $c1cf

:PreviousRecord = $c27d

:PrintASCII = $790f

:PrintBuffer = $7906

:PrntDiskName = $8476

:PrntFileName = $8465

:PrntFilename = $8465

:PromptOff = $c29e

:PromptOn = $c29b

:PurgeTurbo = $c235

:PutBlock = $c1e7

:PutChar = $c145

:PutDecimal = $c184

:PutDirHead = $c24a

:PutString = $c148

:RAM_64K = $30

:RECTANGLETO = $03

:REL = $04

:RESET_VECTOR = $fffc

:REV_OFF = $13

:REV_ON = $12

:ReDoMenu = $c193

:ReadBlock = $c21a

:ReadByte = $c2b6

:ReadFile = $c1ff

:ReadLink = $904b

:ReadRecord = $c28c

:RecoverAllMenus = $c157

:RecoverLine = $c11e

:RecoverMenu = $c154

:RecoverRectangle = $c12d

:RecoverVector = $84b1

:Rectangle = $c124

:RenameFile = $c259

:ResetHandle = $c003

:RestartProcess = $c106

:RstrAppl = $c23e

:RstrFrmDialogue = $c2bf

:SCREEN_BASE = $a000

:SEQ = $01

:SEQUENTIAL = $00

:SET_BLOCKED = $40

:SET_BOLD = $40

:SET_DB_POS = $00

:SET_FROZEN = $20

:SET_ICONSON = $20

:SET_INPUTCHG = $40

:SET_ITALIC = $10

:SET_KEYPRESS = $80

:SET_LEFTJUST = $80

:SET_MENUON = $40

:SET_MOUSE = $20

:SET_MSE_ON = $80

:SET_NOSUPRESS = $00

:SET_NOTIMER = $10

:SET_OFFBOTTOM = $40

:SET_OFFLEFT = $20

:SET_OFFMENU = $08

:SET_OFFRIGHT = $10

:SET_OFFTOP = $80

:SET_OUTLINE = $08

:SET_PLAINTEXT = $00

:SET_REVERSE = $20

:SET_RIGHTJUST = $00

:SET_RUNABLE = $80

:SET_SUBSCRIPT = $02

:SET_SUPERSCRIPT = $04

:SET_SUPRESS = $40

:SET_UNDERLINE = $80

:SHORTCUT = $80

:SPRITE_PICS = $8a00

:STATUS = $90

:STRUCT_MISMAT = $0a

:ST_FLASH = $80

:ST_INVERT = $40

:ST_LD_AT_ADDR = $01

:ST_LD_DATA = $80

:ST_PR_DATA = $40

:ST_WRGS_FORE = $20

:ST_WR_BACK = $40

:ST_WR_FORE = $80

:ST_WR_PR = $40

:SUB_MENU = $80

:SYSTEM = $04

:SYSTEM_BOOT = $0c

:SaveFile = $c1ed

:SetDevice = $c2b0

:SetGDirEntry = $c1f0

:SetGEOSDisk = $c1ea

:SetMouse = $fe89

:SetNLQ = $7915

:SetNextFree = $c292

:SetPattern = $c139

:Sleep = $c199

:SlowMouse = $fe83

:SmallPutChar = $c202

:StartASCII = $7912

:StartAppl = $c22f

:StartMouseMode = $c14e

:StartPrint = $7903

:StashRAM = $c2c8

:StopPrint = $7909

:StringFaultVec = $84ab

:SwapRAM = $c2ce

:TAB = $09

:TEMPORARY = $0d

:TRUE = $ff

:TestPoint = $c13f

:ToBasic = $c241

:ULINEOFF = $0f

:ULINEON = $0e

:UN_CONSTRAINED = $00

:UPLINE = $0c

:USELAST = $7f

:USR = $03

:UnblockProcess = $c10f

:UnfreezeProcess = $c115

:UpdateMouse = $fe86

:UpdateRecordFile = $c295

:UseSystemFont = $c14b

:VERTICAL = $80

:VLIR = $01

:VerWriteBlock = $c223

:VerifyRAM = $c2d1

:VerticalLine = $c121

:WriteBlock = $c220

:WriteFile = $c1f9

:WriteRecord = $c28f

:YES = $03

:a0 = $fb

:a0H = $fc

:a0L = $fb

:a1 = $fd

:a1H = $fe

:a1L = $fd

:a2 = $70

:a2H = $71

:a2L = $70

:a3 = $72

:a3H = $73

:a3L = $72

:a4 = $74

:a4H = $75

:a4L = $74

:a5 = $76

:a5H = $77

:a5L = $76

:a6 = $78

:a6H = $79

:a6L = $78

:a7 = $7a

:a7H = $7b

:a7L = $7a

:a8 = $7c

:a8H = $7d

:a8L = $7c

:a9 = $7e

:a9H = $7f

:a9L = $7e

:alarmSetFlag = $851c

:alarmTmtVector = $84ad

:alphaFlag = $84b4

:appMain = $849b

:baselineOffset = $26

:bkvec = $0316

:bootName = $c006

:c128Flag = $c013

:cardDataPntr = $2c

:curDevice = $ba

:curDirHead = $8200

:curDrive = $8489

:curHeight = $29

:curIndexTable = $2a

:curPattern = $22

:curRecord = $8496

:curSetWidth = $27

:curType = $88c6

:currentMode = $2e

:dataDiskName = $8453

:dataFileName = $8442

:dateCopy = $c018

:day = $8518

:dblClickCount = $8515

:dir2Head = $8900

:dirEntryBuf = $8400

:diskBlkBuf = $8000

:diskOpenFlg = $848a

:dispBufferOn = $2f

:dlgBoxRamBuf = $851f

:driveData = $88bf

:driveType = $848e

:faultData = $84b6

:fileHeader = $8100

:fileSize = $8499

:fileTrScTab = $8300

:fileWritten = $8498

:firstBoot = $88c5

:hour = $8519

:i_BitmapUp = $c1ab

:i_FillRam = $c1b4

:i_FrameRectangle = $c1a2

:i_GraphicsString = $c1a8

:i_ImprintRectangle = $c253

:i_MoveData = $c1b7

:i_PutString = $c1ae

:i_RecoverRectangle = $c1a5

:i_Rectangle = $c19f

:iconSelFlag = $84b5

:inputData = $8506

:inputDevName = $88cb

:inputVector = $84a5

:intBotVector = $849f

:intTopVector = $849d

:interleave = $848c

:irqvec = $0314

:isGEOS = $848b

:kernalVectors = $031a

:keyData = $8504

:keyVector = $84a3

:leftMargin = $35

:maxMouseSpeed = $8501

:menuNumber = $84b7

:minMouseSpeed = $8502

:minutes = $851a

:month = $8517

:mouseAccel = $8503

:mouseBottom = $84b9

:mouseData = $8505

:mouseFaultVec = $84a7

:mouseLeft = $84ba

:mouseOn = $30

:mousePicData = $84c1

:mouseRight = $84bc

:mouseTop = $84b8

:mouseVector = $84a1

:mouseXPos = $3a

:mouseYPos = $3c

:msePicPtr = $31

:nationality = $c010

:nmivec = $0318

:numDrives = $848d

:obj0Pointer = $8ff8

:obj1Pointer = $8ff9

:obj2Pointer = $8ffa

:obj3Pointer = $8ffb

:obj4Pointer = $8ffc

:obj5Pointer = $8ffd

:obj6Pointer = $8ffe

:obj7Pointer = $8fff

:otherPressVec = $84a9

:pressFlag = $39

:r0 = $02

:r0H = $03

:r0L = $02

:r1 = $04

:r10 = $16

:r10H = $17

:r10L = $16

:r11 = $18

:r11H = $19

:r11L = $18

:r12 = $1a

:r12H = $1b

:r12L = $1a

:r13 = $1c

:r13H = $1d

:r13L = $1c

:r14 = $1e

:r14H = $1f

:r14L = $1e

:r15 = $20

:r15H = $21

:r15L = $20

:r1H = $05

:r1L = $04

:r2 = $06

:r2H = $07

:r2L = $06

:r3 = $08

:r3H = $09

:r3L = $08

:r4 = $0a

:r4H = $0b

:r4L = $0a

:r5 = $0c

:r5H = $0d

:r5L = $0c

:r6 = $0e

:r6H = $0f

:r6L = $0e

:r7 = $10

:r7H = $11

:r7L = $10

:r8 = $12

:r8H = $13

:r8L = $12

:r9 = $14

:r9H = $15

:r9L = $14

:ramBase = $88c7

:ramExpSize = $88c3

:random = $850a

:rasreg = $d012

:returnAddress = $3d

:rightMargin = $37

:saveFontTab = $850c

:savedmoby2 = $88bb

:scr80colors = $88bd

:scr80polar = $88bc

:screencolors = $851e

:seconds = $851b

:selectionFlash = $84b3

:sidbase = $d400

:spr0pic = $8a00

:spr1pic = $8a40

:spr2pic = $8a80

:spr3pic = $8ac0

:spr4pic = $8b00

:spr5pic = $8b40

:spr6pic = $8b80

:spr7pic = $8bc0

:string = $24

:stringX = $84be

:stringY = $84c0

:sysDBData = $851d

:sysFlgCopy = $c012

:sysRAMFlg = $88c4

:turboFlags = $8492

:usedRecords = $8497

:vdcClrMode = $88be

:version = $c00f

13 Sym128.erg 1 KB App Data Write Image V1.1 VLIR 1988-07-06 13:17 .cvt .html

X

13 file(s), 149 KB

geos-app_1571-tool-geowrite-docs.d2m — “1571-tool” id:hd [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 PaintView IIa 5 KB Application Paint View V2.0 SEQ 1988-05-05 13:53 Red Storm .cvt
View geoPaint files from outside geoPaint.
From Storm Systems.
2 FontView 4 KB Application FontView V1.0 SEQ 1988-12-07 01:48 Christopher Flynn .cvt
FontView will view font files to the screen. Use +,- icons to change point size.
3 Wecker 4 KB Desk Acc Alarm clock V1.0 SEQ 1986-09-03 12:00 David Durran .cvt
Stellen Sie den Wecker, um zeitbewußt zu sein.
4 fcopy+ 18 KB Non-GEOS SEQ .prg
5 WriteView 3 KB Application QuickView V1.0 SEQ 1988-02-17 21:09 BSC TechUnit .cvt
Dump Write files to screen.Patched to work with geoWrite 2.X.
6 mcopy 19 KB Non-GEOS SEQ .prg
7 QuickMove64 7 KB Application Part Aid V1.4 SEQ 1990-09-24 09:27 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying
8 DeskSwap 2 KB Auto-Exec DeskSwap GE V1.1 SEQ 1993-05-25 21:37 Jürgen Eckel .cvt
9 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
10 Notizblock 5 KB Desk Acc note pad V2.0 SEQ 1988-10-11 18:18 Requist & Hawley .cvt
11 Rechner 4 KB Desk Acc Calculator V1.0 SEQ 1988-07-06 13:05 A.Schubert .cvt
12 MiniDesk 6 KB Desk Acc MiniDeskTop V1.0 SEQ 1990-08-09 15:11 Jim Collette .cvt
Copy, Scratch, and Rename files.
Copyright (C) 1990, Jim Collette.
13 GeoDex 21 KB Desk Acc geoDex V2.0 SEQ 1988-04-26 14:37 Chris Hawley .cvt
Use geoDex to store all your names and addresses for easy recall.
14 Treiberwahl 3 KB Desk Acc Treiberwahl V1.0 SEQ 1992-11-02 22:09 Jürgen Eckel .cvt
15 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1995-07-19 20:00 Brian Dougherty .cvt
16 DESK_TOP 35 KB Application TopDesk V1.2 VLIR 1995-02-22 14:44 DPT KnCiGo .cvt
17 how to use 11 KB Non-GEOS SEQ .prg
18 how to part 2 9 KB Non-GEOS SEQ .prg
19 cbm 1 KB Non-GEOS SEQ .seq
20 dos shell 17 KB Non-GEOS SEQ .prg
21 c-64 wedge 1 KB Non-GEOS SEQ .prg
22 vic-20 wedge 1 KB Non-GEOS SEQ .prg
23 dos 5.1 1 KB Non-GEOS SEQ .prg
24 sd.backup.c16 2 KB Non-GEOS SEQ .prg
25 sd.backup.+4 2 KB Non-GEOS SEQ .prg
26 sd.backup.c64 4 KB Non-GEOS SEQ .prg
27 sd.copy.c64 2 KB Non-GEOS SEQ .prg
28 uni-copy 4 KB Non-GEOS SEQ .prg
29 print.+4.util 2 KB Non-GEOS SEQ .prg
30 print.c16.util 2 KB Non-GEOS SEQ .prg
31 print.64.util 2 KB Non-GEOS SEQ .prg
32 dir print 2 KB Non-GEOS SEQ .prg
33 dir squeeze 3 KB Non-GEOS SEQ .prg
34 disk-dump 4 KB Non-GEOS SEQ .prg
35 display bam 2 KB Non-GEOS SEQ .prg
36 change unit 2 KB Non-GEOS SEQ .prg
37 unscratch 2 KB Non-GEOS SEQ .prg
38 load address 2 KB Non-GEOS SEQ .prg
39 rel.file.demo 5 KB Non-GEOS SEQ .prg
40 seq.file.demo 2 KB Non-GEOS SEQ .prg
41 seq lister 2 KB Non-GEOS SEQ .prg
42 datamaker.c64 1 KB Non-GEOS SEQ .prg
43 datamaker.ted 1 KB Non-GEOS SEQ .prg
44 header change 2 KB Non-GEOS SEQ .prg
45 c64 autostart 3 KB Non-GEOS SEQ .prg
46 c64 diskpatch 6 KB Non-GEOS SEQ .prg
47 printer test 3 KB Non-GEOS SEQ .prg
48 format disk 1 KB Non-GEOS SEQ .prg
49 autoboot maker 2 KB Non-GEOS SEQ .prg

49 file(s), 266 KB

geos-app_3d-graphics-demos.d2m — “rl-3d” id:rl [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 PaintView IIa 5 KB Application Paint View V2.0 SEQ 1988-05-05 13:53 Red Storm .cvt
View geoPaint files from outside geoPaint.
From Storm Systems.
2 FontView 3 KB Application FontView V1.0 SEQ 1988-12-07 01:48 Christopher Flynn .cvt
FontView will view font files to the screen. Use +,- icons to change point size.
3 WriteView 2 KB Application QuickView V1.0 SEQ 1988-02-17 21:09 BSC TechUnit .cvt
Dump Write files to screen.Patched to work with geoWrite 2.X.
4 Wecker 3 KB Desk Acc Alarm clock V1.0 SEQ 1986-09-03 12:00 David Durran .cvt
Stellen Sie den Wecker, um zeitbewußt zu sein.
5 DeskSwap 2 KB Auto-Exec DeskSwap GE V1.1 SEQ 1993-05-25 21:37 Jürgen Eckel .cvt
6 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
7 Notizblock 5 KB Desk Acc note pad V2.0 SEQ 1988-10-11 18:18 Requist & Hawley .cvt
8 Rechner 4 KB Desk Acc Calculator V1.0 SEQ 1988-07-06 13:05 A.Schubert .cvt
9 MiniDesk 6 KB Desk Acc MiniDeskTop V1.0 SEQ 1990-08-09 15:11 Jim Collette .cvt
Copy, Scratch, and Rename files.
Copyright (C) 1990, Jim Collette.
10 GeoDex 21 KB Desk Acc geoDex V2.0 SEQ 1988-04-26 14:37 Chris Hawley .cvt
Use geoDex to store all your names and addresses for easy recall.
11 CMD_MOVE 7 KB Application CMD Move V1.1 SEQ 1993-05-13 12:58 Jim Collette .cvt
Change partitions & copy files between them. Use with gateWay or GEOS and
CMD devices.
12 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1996-12-21 21:58 Brian Dougherty .cvt
13 DESK_TOP 35 KB Application TopDesk V1.2 VLIR 1995-02-22 14:44 DPT KnCiGo .cvt
14 go64!-note 15 KB Non-GEOS SEQ .prg
15 MirrorMirror.doc 3 KB App Data Write Image V2.0 VLIR 1990-06-24 18:22 Red Storm .cvt .html
This file was created with
Wrong is Write.
Written by Joe Buckley.

Mirror, Mirror

Mirror, Mirror (V1.0) will allow you to create a functionally 'mirrored' copy of a geoPaint format graphic file about its vertical axis, running under GEOS 64 or GEOS 128, in either 40 or 80 column mode.

Operation is simple: merely select Mirror geoPaint (M) from the Convert menu, decide which geoPaint files you wish to 'mirror' and OPEN the file list.

Mirror geoPaint (M) will open a special file handling dialog box to allow you to select the file to convert. You may choose any of up to 245 of the first 245 APPL_DATA, filtered for geoPaint, files on the currently open disk.

You may select the proper file in several ways: Use the scrolling icons (when there are more than seven files) to move along the list of names. The CURSOR UP/DOWN keys may also be used to move the file list up or down one name, the CURSOR LEFT/RIGHT keys to scroll the file list up or down a 'page' of seven names, the T/B keys to jump to the top or bottom of the file list, the INST (Insert/shift-DEL) key to select the first 245 file names, and the CLR (Clear/shift-HOME) key to deselect all file names.

You may start file conversions by clicking the OPEN icon or by hitting the RETURN key after the files have been highlighted.

Also included under the File menu selection is Quit (Q), Information (I), and access to upto eight desk accessories.

16 Mirror, Mirror 7 KB Application Mirror,Mirror1.0 SEQ 1990-06-20 17:12 Red Storm .cvt
Mirror a geoPaint file about the Y axis.
Written by Joe Buckley.
17 demo+ 14 KB App Data Paint Image V1.1 VLIR 1994-02-10 20:25 Red Storm .cvt .png
18 ICON_GRABBER 7 KB Application IconGrabber V1.2 SEQ 1988-08-22 14:25 Jean F. Major .cvt
This application saves icons to a photo album...
19 Geos 2.0 Icons 1 17 KB App Data photo album V2.1 VLIR 1991-02-17 14:56 .cvt .png
20 Geos 2.0 Icons 2 17 KB App Data photo album V2.1 VLIR 1991-02-18 19:28 .cvt .png
21 Geos 2.0 Icons 3 17 KB App Data photo album V2.1 VLIR 1991-02-18 20:53 .cvt .png
22 ICON_PIC 3 KB App Data photo album V1.0 VLIR 1992-03-23 13:45 .cvt .png
23 TAE-Schaltplan 15 KB App Data Paint Image V1.1 VLIR 1994-04-28 19:27 .cvt .png
TELEKOM - TAE Anschlußdosen - Schaltbild
Peter Eckert, Fichtenweg 16, 93333 Neustadt/Donau
24 HAPPY CAMPER 2 20 KB App Data Paint Image V1.1 VLIR 1992-03-23 13:48 .cvt .png
25 wünsche Zeit 2 KB App Data Write Image V2.1 VLIR 1994-02-23 17:15 .cvt .html
geoWrite.doc
(Rhinow)
(4)

Ich wünsche dir ZEIT

Ich wünsche Dir nicht alle möglichen Gaben,

ich wünsche Dir nur, was nicht alle haben:

ich wünsche Dir ZEIT, Dich zu freu'n und zu lachen,

und wenn Du sie nützt, etwas daraus zu machen.

Ich wünsche Dir ZEIT für Dein Tun und Dein Denken,

nicht nur für Dich selbst, auch zum Verschenken.

Ich wünsche Dir ZEIT, nicht zum Raffen und Rennen,

ich wünsche Dir ZEIT um Zufriedensein können.

Ich wünsche Dir ZEIT, nicht so zum Vertreiben,

ich wünsche, sie möge Dir übrigbleiben

als ZEIT für das Staunen und ZEIT zum Vertrau'n

anstatt für die Zeit auf die Uhr zu schau'n.

Ich wünsche Dir ZEIT nach den Sternen zu greifen

und ZEIT, um zu wachsen, das heißt, um zu reifen.

Ich wünsche Dir ZEIT, neu zu hoffen, zu lieben;

es hat keinen Sinn, diese ZEIT zu verschieben.

26 Wo ist meine Fr. 4 KB App Data Write Image V2.1 VLIR 1994-10-24 19:32 .cvt .html
Aus VDK übernommen 1981
Spritzige Reden /aus August Verlag. Ed.Bauer

Wo ist meine Frau ?.

Einigen hab ich's schon gesagt, nun möchte ich es nicht versäumen, allen, den Verbleib meiner Frau kundzutun.

Ich hab eine gute, brilllante Idee; und denk drüber nach, wo ich geh, wo ich steh !

Es müßten die Frau'n, ob groß oder klein, gesetzlich gestattet versetzbar sein.

Z.Bsp. wenn einem die Frau nicht mehr paßt, was hie und da vorkommt - oder wenn man Sie haßt, weil Sie nicht mehr süß ist, nur mies ist und kalt, dann bringt Sie einfach zur Pfandleihanstalt.

Dort wird Sie gewogen, geprüft und geschätzt und dann in einen Winkel gesetzt.

Erleichtert geht man hinaus dann zu Tür und kriegt vielleicht gar noch 10 Mark dafür.

Ich seh es ja ein und sag es auch noch: Es ist zwar gemein - aber schön wär's, halt doch.

Und will man nach einem Jahr die Gebühr nicht bezahl'n, dann läßt man die Gattin ganz einfach verfall'n.

Es hilft kein Schimpfen, auch wenn Sie sich weigert, Sie wird an den Meistbietenden dann versteigert.

Zuerst wird Sie ausgestellt, so zirka acht Tag, da kann's jeder anschaun, so lang wie er mag. Der Preis steht dran angschrieb'n und - ohne Genieren - ein jeder, der will, kann mitlizitieren.

Und will sich der Mann etwas neues erstehn, kann er ja auch zur Versteigerung gehn.

Er findet dort Weiber ! von Rang und von Klasse, mutwillig versetzte, ganz sicher 'ne Masse. Schließlich liegt es klar auf der Hand: Eine Frau ist heut auch nur ein Wertgegenstand.

Dem einen ist Gold sie, dem anderen Nickel, jedenfalls ist und bleibt Sie ein Luxusartickel.

Doch - kommen wir zur Versteigerung zurück.

In Bündeln sortiert, so zehn um zehn Stück, die schwarzen, die braunen, die blonden,die roten, die kriegst du zum Schätzpreis da angeboten.

Man liefert sie dir sogar gratis ins Haus und daheim suchst in Ruh' du die beste dir aus.

Das allerdings kostet viel Müh und viel Zeit, denn, die erste ist ruhig und die zweite, die schreit.

Die dritte spielt täglich zehn Stunden Klavier, die vierte verlangt zuviel Liebe von dir.

Die fünfte ist reizbar, kokett und nervös und wenn du Sie anfäßt, wird sie gleich bös.

Die sechste hingegen hat ewig Migräne, die siebte ist falsch - auch die Haare und Zähne.

Die achte stürzt dich in Schulden und lacht, die neunte will Anseh'n, Reichtum und Macht.

Die zehnte will gar einen r i c h t i g e n Mann !

Doch keine ist drunter, die nen Knopf annäh'n kann.

Die richtige fehlt dir, das merkst du gar bald und Hörner kriegst auch, wie der Hirsch draus im Wald.

Nach drei Tagen hast du dein Schicksal verflucht und wehe, wenn eine zu kochen versucht, dann geht dir ein Licht auf und sieh, du erfahrst, was für ein Ochs und ein Trottel du warst, weil du deine Alte nicht besser geschätzt und Sie, wie ein Möbelstück, hattest versetzt.

Zum Schluß die Moral, ein Weiser schon sprach: " Es kommt in der Regel nichts besseres nach. "

Drum, Männer, merkt euch das Sprüchlein vor allen: versetzt eure Frauen - aber laßt Sie nicht verfallen !

Aus Erfahrung Euer Manfred F.

27 ESCAPE 65 KB Application Escape V1.2 VLIR 1994-09-27 22:04 Olaf Dzwiza .cvt
28 Escape Data 1 KB Data Escape Data V1.2 SEQ 1994-09-01 19:29 .cvt
29 Escape Map 1 KB Data Escape Map V1.2 SEQ 1994-09-01 18:17 .cvt
30 Escape Texte 24 KB Data Escape Text V1.2 VLIR 1994-09-01 17:43 .cvt
31 Escape Scores 2 KB Data Escape List V1.2 VLIR 1994-10-01 23:09 Olaf Dzwiza .cvt
32 Fragebogen 14 KB App Data Paint Image V1.1 VLIR 1994-09-28 13:08 .cvt .png
33 Bestellform 11 KB App Data Paint Image V1.1 VLIR 1994-09-28 13:05 .cvt .png
34 Lies mich! 8 KB App Data Write Image V2.1 VLIR 1994-10-01 21:41 .cvt .html

Escape (Demoversion)

Endlich!

Das erste Adventure unter GEOS ist fertig!

Worum geht's?

Würde ich auch gerne wissen - nee, ein bißchen Story hat das Game schon, hier also in Kürze (in extremer Kürze) die Handlung bis zum Spielbeginn:

Der Spieler ist ein Agent, der einen Auftrag hatte. Dieser (nicht der Agent, der Auftrag!) ging schief, er (nicht der Auftrag, der Agent!) wurde von der Gegenseite gefangengenommen - konnte jedoch Dank der zuvor geschluckten AntiBrain (tm) - Tablette alles über den Auftrag vergessen! Verhöre waren erfolglos, so daß er (wer wohl? Haben Sie etwa angenommen, daß der Auftrag ins Gefängnis kam?!?) in einem Gefängnis landete und dort bis zu seinem Ende schmoren sollte!

Was soll das nun?

Ganz einfach: Befreien Sie sich, fliehen Sie vor den Sie eventuell jagenden Gangstern und vielleicht erinnern Sie sich ja wieder an ihren Auftrag und können ihn doch noch vollenden. Ihnen blieb nur noch ein Paar Handschellen, die Sie mittels Spezialwerkzeug öffnen konnten...

Wie mache ich das?

Greifen Sie mit ihrer Hand nach dem kleinen Nagetier, das auf Ihrem Computertisch liegt oder greifen Sie ihren Freudenstab (wer schlimmes denkt..., is' halt so ein doofer englischer Begriff) und klicken Sie zweimal auf das Escape-Symbol. Jetzt werden Sie erstmal mit ein paar Hinweisen genervt, dann geht's los. Sie brauchen nur auf einen Befehl oder ein Objekt klicken und so den auszuführenden Befehl zusammenbauen. Wenn der Rechner meint, jetzt haben Sie genug geklickt, das ist ein vollständiger Befehl, zeigt er ihn in einem Textfenster an. Schwupp! Schon wird der Befehl ausgeführt, wenn es nicht gerade völliger Blödsinn war (NIMM WACHE oder solche netten Ich-teste-doch-nur-die-Qualität-des-Parsers-Eingaben).

Das ist alles! Waaaaahnsinn !

Nein!

Es sind noch ein zwei Feinheiten zu beachten!

1. Mögliche Richtungen sind weiß unterlegt.

2. Wenn zwei Objekte aus dem gleichen Fenster gewöhlt werden, müssen sie auch gleichzeitig sichtbar sein.

Das ist alles! Waaaaahnsinn !

Ja!

Wem das zu konfus war, der sollte sich an die gedruckte Anleitung wenden ...

Was brauche ich?

Einen Rechner (möglichst einen C64 oder C128); ein Laufwerk, das sich bereiterklärt, mit GEOS zusammenzuarbeiten und 5 (nicht fünf, die Zahl, sondern die Größe) 1/4"-Disks frißt; ein Eingabegerät (siehe oben), keinen Drucker, GEOS 64 oder GEOS 128 im 40 Zeichen-Modus. Vielleicht noch etwas Spaß am Spiel und Rücksicht gegenüber dem Programmierer, der sich die ganzen stupiden Texte ausgedacht hat.

Ist ja recht nett, doch wo ist die Grafik?

Gute Frage, nächste Frage.

Nein, ich war wirklich bemüht, einige Bildchen in das Spiel einzubauen, doch zum Schluß war so wenig Platz auf der Diskette...

GEOS erlaubt während eines laufendes Programms jedoch keine Diskwechsel im Laufwerk mit dem Programm, also hätte ich (nur) drei Möglichkeiten gehabt:

Ich müßte voraussetzen, daß jeder GEOS-Nutzer und Spieler dieser Software

1. mindestens ein 331 kByte-Laufwerk hat oder

2. zwei Laufwerke besitzt oder

3. mindestens eine RAM-Erweiterung mit 512 kByte hat.

Das wollte ich nicht, daher gibt es in dieser Fassung keine Grafiken. Sollte ich die Motivation dazu haben, kann man auch mit einer erweiterten Version rechnen, die Grafiken enthält, dann aber auf eine RAM mit mind. 512 kByte besteht.

Empfehlung

Zwar kann jederzeit von der Diskette gespielt werden, doch sollte dann zumindest eine Sicherheitskopie angelegt werden. Wer jedoch eine RAM-Erweiterung hat, sollte die komplette Diskette in die RAM kopieren und das Programm von dort aus starten. Der Spielspaß ist deutlich höher, da nun nicht ständig gewartet werden muß, wenn das Programm mal wieder ein bißchen Daten in den Speicher schaufelt.

Hinweis - vor allem für die Vollversion (also so was öhnliches wie Werbung)

Damit auch in einer RAM-Erweiterung gespielt werden kann, habe ich auf einen Kopierschutz verzichtet.

Das Programm muß nicht auf ein bestimmtes Kernal installiert werden. Ich denke, ich würde länger an der Entwicklung eines Installationsschutzes arbeiten, als irgendwelche Freaks Zeit brauchen, Installationskiller zu schreiben. Ich hoffe, daß ich dies bei einem eventuellen weiteren GEOS-Adventure nicht ändern muß!!!

Was bringt mir die Vollversion?

Vieles!

1. Weniger Geld

2. Gedruckte Anleitung

3. Load/Save-Funktion für Spielstände

4. Komplett lösbares Spiel

5. Glücklicher und motivierter Programmierer

Wie bitte? Was heißt hier "voll lösbar?"

Tja, nachdem die Vollversion des Programms fertig war, habe ich einfach ein paar Module für die Demoversion wieder gelöscht, egal wie lange Sie es also versuchen, sie werden nie bis zum Ende kommen! Hehehe...

Noch einmal ganz deutlich: Die Funktionen sind entfernt worden und nicht gesperrt, wühlen im Programmcode bringt also gar nichts!

Die Bestellung

Jetzt gehts ans Geld...

Sie wollen die Vollversion haben? Drucken Sie sich bitte die Datei "Bestellform" (GeoPaint) aus, und füllen die Seite aus.

Wenn Sie Lust haben, können Sie ja noch den Fragebogen ausfüllen, und ganz wichtig mir zusenden. Also:

Bestellung: An die GUSS

Fragebogen: An den Programmierer!

Noch was...

Das Programm erzeugt da so eine merkwürdige Punkteliste. Die können Sie auch mit der Vollversion weiterbenutzen! Die Datei (sie heißt "Escape Scores") kann auch zum Vergleich der Leistungen mit anderen Spielern getauscht werden!

Rechtliches

Diese Programmversion von "Escape" ist eine Demofassung und darf und soll frei kopiert werden, sie muß jedoch vollständig in allen Teilen, inkl. Infofiles, in unverändertem Zustand weitergegeben werden.

Die Vollversion ist füre DM 19,80 (zzgl. Versand) erhältlich bei:

GEOS USER SOFTWARE SACHSEN

Denis Döhler

Gorkistr. 18

04347 Leipzig

Sie enthält folgende zusätzliche Features: Voll lösbar, load/save-Funktion, gedruckte Anleitung, variable Texte.

Für eventuelle Fehler und/oder Probleme wird keine Haftung übernommen, eine Information darüber wird jedoch gerne dankend entgegengenommen, um Abhilfe zu schaffen.

Eine Lösungshilfe ist für DM 5,- Unkostenerstattung erhältlich (nur beim Programmierer).

(C)opyright 1994 by

Olaf Dzwiza, Stolzestr. 18, 30171 Hannover

35 Mod. Medizin 13 KB App Data Write Image V2.1 VLIR 1994-02-24 12:11 .cvt .html
geoWrite.doc
(Rhinow)
(4)

Moderne Medizin

Meßgeräte

Mit hochkomplizierten Apparaten lassen sich viele Körperfunktionen messen und aufzeichnen. Selbst kleinste Störungen werden dabei registriert.

In unserem Körper läuft ständig eine Vielzahl äußerst komplizierter Vorgänge ab, die eng miteinander verknüpft sind. Treten in einem Teilbereich des fein abgestimmten Systems Störungen auf, hat dies weitreichende Folgen. So kann es passieren, daß nicht mehr ausreichend Blut durch unseren Körper gepumpt wird, Weil der Herzmuskel zu schwach ist. Oder er muß auf Hochtouren arbeiten, um gegen Widerstände in den Blutgefäßen anzupumpen. Diese Fehlfunktionen können mit Geräten aufgespürt und oft auch genau lokalisiert werden. Einige dieser Funktionsprüfungen wie das EKG und die Blutdruckmessung sind Bestandteil der Vorsorgeuntersuchung "Check ab 35", die alle 2 Jahre von der Krankenkasse bezahlt wird.

Die Diagnoseverfahren

EEG

Unser Gehirn ist die Nachrichten- und Steuerungszentrale des Körpers. Es empfängt und sendet Signale - ganz gleich, ob wir nun denken, fühlen, schmecken oder uns bewegen. Dabei entstehen elektrische Ströme, die beim Elektroenzephalogramm (EEG) aufgezeichnet werden.

Was kann festgestellt werden?

Die Hirnstöme haben normalerweise einen charakteristischen Verlauf. Durch Gewebeveränderungen im Gehirn werden sie jedoch meist aus der Bahn gelenkt. So kann eine mögliche Tumorentwicklung frühzeitig erkannt werden. Gleichzeitig gibt ein EEG Hinweise z.B. Epilepsie (krampfartige Anfälle) und Hirnveletzungen.

Wann wird untersucht?

Wenn häufig Kopfschmerzen, Schwindelattacken oder Fieber auftreten sowie bei plötzlicher Gefühllosigkeit in Arm ode Bein. Vor allem aber bei Kopfverletzungen, um eventuelle Gehirnschäden auszuschließen.

Achtung: Vor dem Arztbesuch sollten Sie keine Schlaf- oder Beruhigungsmittel einnehmen, sie können die Hirnströme beeinflussen.

Wie wird untersucht?

Eine aus Gummibändern bestehende haube, an der kleine Metallplättchen (Elektroden) angebracht sind, wird über den Kopf gestülpt. Die Elektroden sind über Kabel mit einem Gerät verbunden, dessen Zeiger bei jedem Stromimpuls ausschlägt und diese in Zacken und Kurven auf ein Endlospapier überträgt.

EKG

Das Herz ist der Antriebsmotor, der unseren Blutkreislauf und damit den gesamten Organismus in Schwung hält. Um diese Aufgaben zu erfüllen, muß sich der Herzmuskel rhythmisch

- Seite 1 -

zusammenziehen (in Ruhe etwa 70 Schläge pro Minute). Das "Kommando" dazu erhält er über elektrische Impulse, die vom sog. Sinusknoten im rechten Vorhof des Herzens ausgehen. Diese Stromsignale werden durch unseren gesamten Körper geleitet. Bei einem Elektrokardiogramm (EKG) werden diese elektrischen Ströme aufgezeichnet.

Was kann festgestellt werden?

Anhand der Kurvenverläufe kann der Arzt z.B. Herzrhythmusstörungen ablesen sowie die genaue Lage der Herzachse erkennen. Außerdem gibt das Diagramm Aufschluß darüber, ob die Durchblutung eingeschränkt ist. Meist ist diese Störung auf eine Verengung der Herzkranzgefäße (Koronarsklerose) zurückzuführen, die bei völligem Verschluß zum Herzinfarkt führt.

Wann wird untersucht?

Bei Druck oder Schmerzen in der Herzgegend, Brennen hinter de, Brustbein und Oberbauchschmerzen. Diabetiker, Raucher und Patienten mit hohen Cholesterinwerten sollten regelmäßig ein Kontroll-EKG machen lassen. Das gilt auch für Menschen, in deren Familie bereits Herzkrankheiten aufgetreten sind.

Wie wird untersucht?

Auf dem Brustkorb sowie an beiden Armen und Beinen werden nach einem bestimmten Schema 10 bis 12 Elektroden angelegt. Von ihnen führen Kabel zu einem Aufzeichnungsgerät (siehe EEG). Bei Verdacht auf Erkrankungen der Herzkranzgefäße wird häufig ein Belastungs-EKG gemacht: Dabei muß der Patient etwa 20 Minuten auf einem Ergometer wie beim Fahrradfahren in die Pedale treten. Schließlich gibt es noch das Dauer-EKG, bei dem man über 24 Stunden an Elektroden angeschlossen ist und das Aufzeichnungsgerät mit sich herumträgt. Bei diesen Messungen muß der Patient auch laufend seine Tätigkeiten während des Tages und der Nacht aufzeichnen und auch alle Medikamenten-Einnahmen aufschreiben.

Blutdruck

Als Blutdruck wird der Druck bezeichnet, der in den arteriellen Blutgefäßen herrscht, durch die das vom Herzen kommende Blut fließt. Dieser Druck wird im wesentlichen von der Pumpkraft des Herzens und vom Widerstand der Gefäße bestimmt.

Was kann festgestellt werden?

Wenn die Dehnungsfähigkeit der Blutgefäße z.B. durch Kalkablagerungen vermindert ist, muß der Herzmuskel mehr Kraft aufwenden, d.h. sich stärker zusammenziehen, um das Blut durch den Körper zu pumpen. Dadurch erhöht sich auch der Druck in den Adern. Bei gesunden Erwachsenen liegt der Blutdruck zwischen 115-125/75 (bei 15-30jährigen) und 135-140/80-90 (bei 40-50jährigen). Liegt der erste Wert über 160 und der zweite über 85, spricht man von Bluthochdruck (Hypertonie). Er ist meist Hinweis auf Arteriosklerose (Gefäßverkalkung). die, bleibt sie unbehandelt, die Blutgefäße schleichend verstopfen kann und so zu Angina pectoris, Schlaganfall oder Herzinfarkt führt. Wo der Grenzwert für zu niedrigen Blutdruck (Hypotonie) liegt, ist unter Medizinern umstritten, denn er hängt überwiegend vom subjektiven Wohlbefinden des Patienten ab. Bei mäßigen Kreislaufbeschwerden ist eine Behandlung nicht nötig. Der niedrige Blutdruck sollte aber regelmäßig kontrolliert werden.

- Seite 2 -

Wann wird untersucht?

Bei Kopfschmerzen, Schwindel, starkem Herzklopfen und Ohrensausen sowie bei schnell eintretender Erschöpfung und dauernder Müdigkeit. Da Bluthochdruck nicht zwangsläufig Beschwerden verursacht, sollte der Blutdruck wegen des Erkrankungsrisikos regelmäßig kontrolliert werden. Das gilt vor allem für starke Raucher, Menschen mit Übergewicht oder bei regelmäßiger Einnahme von Medikamenten.

Wie wird untersucht?

Am Oberarm des Patienten wird eine Manschette befestigt, die über einen Schlauch mit einem Druckmesser (Manometer) verbunden ist. Wenn die Manschette so fest aufgepumpt ist, daß kein Blut mehr durch die Adern fließt, wird die Luft langsam wieder abgelassen. Mit einem Stethoskop hört der Arzt jetzt in der Armbeuge auf das erste Geräusch, das entsteht, sobald das Blut neu zu strömen beginnt. Der zu diesem Zeitpunkt herrschende Druck in der Armarterie wird am Manometer in Milligramm Quecksilber (mm Hg) abgelesen. Er heißt systolischer Druck. der zweite, niedrigere Wert, der sog. diastolische Druck, wird in dem Augenblick bestimmt, in dem das Geräusch verstummt.

Nervosität oder Aufregung, aber auch Strß können erhöhte Werte verursachen und damit Bluthochdruck vortäuschen. Der Arzt mißt in solchen Fällen deshalb zur Kontrolle ein weiteres Mal den Blutdruck, sobald der Patient ruhiger ist.

Blutdruck selber messen

Für alle, die ihren Blutdruck regelmäßig überprüfen wollen oder müssen, lohnt sich die Anschaffung eines eigenen Meßgerätes (in Apotheken oder Medizinischen Warenhäusern). Bei Dialysepatienten trägt die Krankenkasse die Kosten, sonst nur in begründeten Ausnahmefällen.

Am einfachsten zu handhaben sind die elektronischen Blutdruckmesser mit Digitalanzeige und akustischem Signal (Preis: ca. 190 DM). Dabei befestigt man am Oberarm eine aufblasbare Manschette mit eingebautem Mikrofon, das die aufgenommenen Geräusche des Blutstroms zum Gerät leitet. Die Manschette wird mit einem kleinen Blasebalg fest aufgepumpt und die Luft dann langsam abgelassen. Der Wert, der beim Beginn des Signaltons angezeigt wird, ist der systolische Druck. Sobald der Ton verstummt, muß der zweite Wert, der diastolische Druck, abgelesen werden. Ein herkömmlicher Blutdruckmesser mit Stethoskop ist schon für rd. 100 DM zu haben. Seine Anwendung geschieht wie unter "Wie wird untersucht" angegeben.

Oszillographie

Etwa alle 0,8 Sekunden pumpt unser Herz ungefähr 70 Milliliter Blut in die Adern. Dieser schnelle Rhythmus versetzt das Blut in Wellen, sog. Pulswellen. Die Geschwindigkeit, mit der diese Pulswellen durch den Körper fließen, bzw. der Druck dieser Schübe wird mit der Oszillographie (Pulswellenmessung) erfaßt.

Was kann festgestellt werden?

Das Diagramm gibt exakten Aufschluß über Gefäßverengungen im Körper: An diesen Stellen erhöht sich die Geschwindigkeit der Pulswellen.

- Seite 3 -

Wann wird untersucht?

Vor allem bei Verdacht auf Durchblutungsstörungen. Typische Symptome dafür sind Schmerzen in den Beinen, die bereits nach kurzen Wegstrecken auftreten (Schaufensterkrankheit) sowie kalte Hände oder Füße bis hin zur Gefühlslosigkeit. Weitere Anzeichen: Schmerzen in Beinen und Zehen, die sich beim Hochlegen der Füße noch verstärken, sowie eine pergamentartig veränderte Haut. Vor allem Raucher und Diabetiker haben ein erhöhtes Risiko, an Durchblutungsstörungen zu erkranken.

Wie wird untersucht?

An Arm, Bein oder Daumen des Patienten wird eine luftgefüllte Druckmanschette befestigt. Sie ist über Leitungen mit dem Aufzeichnungsgerät verbunden. Die Pulswellen werden, ähnlich wie beim EKG, als Kurven auf eine Papiersteifen übertragen.

Spirographie

Rund 300 Millionen Lungenbläschen nehmen die Luft auf, die wir einatmen. Die Luftmenge wird bestimmt von der Elastizität der Lunge, d.h. von ihrer Fähigkeit, sich auszudehnen. das entsprechende Atemvolumen läßt sich mit der Spirographie (Atemfunktionsprüfung) genau ermitteln.

Was kann festgestellt werden?

Erkrankungen der Luftwege wie z.B. Asthma oder Atemwegverengungen (obstruktive Bronchitis). Störungen kann aber auch ein Lungenemphysem (Lungenblähung) verursachen. Es ist meist die Folge einer chronischen Bronchitis: Durch den Druck der ständig geschwollenen Bronchialschleimhaut werden Lungenbläschen zerstört und durch wenige größere ersetzt.

Wann wird untersucht?

Bei Atemnot kann schon nach kleinsten Anstrengungen, Schmerzen im Brustkorb, Fieber und Husten sowie Müdigkeit und Abgespanntheit über einen längeren Zeitraum.

Wie wird untersucht?

Der Patient atmet über einen Schlauch mit Mundstück in das Spirometer. Dieses Gerät mißt die ein- bzw. ausströmende Luftmenge und zeichnet das Ergebnis in Kurven auf. Beim normalen Atmen beträgt diese Menge etwa einen halben Liter. Außerdem wird die "Vitalkapazität" registriert. Das ist die maximale Luftmenge, die unsere Lunge aufnehmen kann. Gesunde Menschen bringen es im Schnitt auf 3 1/2 bis 5, Sportler bis auf 8 Liter. Mit zunehmenden Alter läßt die Elastizität der Lunge langsam nach, die Atemmenge verringert sich. Ähnlich wie das Spirometer funktioniert auch das "Peak-Flow-Meter" (Spitzenflußmeter). Es mißt die Geschwindigkeit des Atems beim kraftvollen Ausatmen. Dieses Gerät wird besonders bei Asthmatikern zur Selbstkontrolle eingesetzt. Anhand des Ergebnisses dosieren sie entsprechend ihre Medikamente.

36 MONOGRAM 3 KB Font GeoFont 1.3 VLIR 1987-05-21 22:53 .cvt
Designed by Toodles using Cosmac's Geofont program.
37 CHOP SUEY 6 KB Font GeoFont 2.0 VLIR 1990-01-28 17:59 .cvt
Asiatischer Schrifttyp (34 Punkt)-Nur Großbuchst.-nicht
alle Sonderzeichen!
38 geoHexCalc80 4 KB Desk Acc geoHexCalc V1.0 SEQ 1986-04-07 15:22 Bill Sharp .cvt
39 geoDumper 6 KB Application geoDumper V1.3 SEQ 1989-08-27 11:59 Mike Craig .cvt
Use geoDumper to dump any Commodore file to the screen or printer.
40 Paint OVERLAY+ 2 KB Printer Drv ClrPrntDrvr V2.0 SEQ 1990-01-19 18:48 Doug Fults .cvt
Special version of driver that will work with geoCalc.
41 COMBINER 7 KB Application Linker .obj V1.0 SEQ 1989-03-04 16:03 .cvt
Combine multiple geoWrite
documents into one.
(c) 1989 N. J. Vrtis
42 DISK-GUARD.128 3 KB BASIC DISK PROTECT V1.0 SEQ 1987-12-05 19:05 Randy Winchester .cvt
Lock & unlock GEOS disks.
Copyright 1987 R. Winchester
All Rights Reserved
43 Info zu Demo-Prg 2 KB App Data Write Image V2.1 VLIR 1988-08-22 13:06 .cvt .html
GeoWrite.doc
(Rhinow)
(4)

Info zu Demoprogramm "RL-Commander"

Rudolf Sanda von der GIG Wien hat den Norton PC-Commander für den C128 umgeschrieben, soweit dies möglich war.

Dazu ist zu bemerken, daß er nur auf einem C128 mit JiffyDOS und im 80 Zeichenmodus sowie Farb-Monitor vewendbar ist. Es ist ein normales 128'er Programm, also kein Geos-Programm

44 demoprogramm 2 KB Non-GEOS SEQ .prg
45 titelbild 3 KB Non-GEOS SEQ .prg
46 schirm 01 2 KB Non-GEOS SEQ .prg
47 info 1 2 KB Non-GEOS SEQ .prg
48 schirm 02 3 KB Non-GEOS SEQ .prg
49 schirm 03 2 KB Non-GEOS SEQ .prg
50 schirm 04 3 KB Non-GEOS SEQ .prg
51 schirm 05 3 KB Non-GEOS SEQ .prg
52 schirm 06 3 KB Non-GEOS SEQ .prg
53 schirm 07 3 KB Non-GEOS SEQ .prg
54 schirm 08 1 KB Non-GEOS SEQ .prg
55 schirm 09 3 KB Non-GEOS SEQ .prg
56 schirm 10 3 KB Non-GEOS SEQ .prg
57 schirm 11 3 KB Non-GEOS SEQ .prg
58 schirm 12 3 KB Non-GEOS SEQ .prg
59 schirm 13 3 KB Non-GEOS SEQ .prg
60 schirm 14 3 KB Non-GEOS SEQ .prg
61 schirm 15 3 KB Non-GEOS SEQ .prg
62 schirm 16 3 KB Non-GEOS SEQ .prg
63 schirm 17 3 KB Non-GEOS SEQ .prg
64 schirm 18 2 KB Non-GEOS SEQ .prg
65 schirm 19 3 KB Non-GEOS SEQ .prg
66 geoSenso 38 KB Application geoGame V1.0 VLIR 1990-09-06 19:19 Wolfgang Tischer .cvt
Ein Spiel innerhalb der GEOS-Systems.
67 geoSenso (II) 4 KB App Data Write Image V2.1 VLIR 1993-10-29 17:47 .cvt .html
68 Infos 01 21 KB App Data basic data V1.0 VLIR 1994-06-29 20:44 .cvt
Quelllisting für ein Infoprogramm unter GeoBasic
Idee Rudolf SANDA GIG-WIEN
69 Infobrief 50 KB Application Infobrief V1.0 VLIR 1994-06-29 20:44 R. SANDA .cvt
Wenn KEIN GEOSBasic vorhanden dann dieses Prg. starten - Rudolf SANDA GIG-WIEN
70 TWOBUTTONS 1 KB Input Drv Input Drvr V1.3 SEQ 1988-03-19 16:02 DURRAN & ARMES .cvt
This is a driver for the 1351 mouse -- left button single clicks, right can double click!
71 GEOPACK 9 KB Application geoPack V2.0 SEQ 1991-11-15 17:39 Spike Dethman .cvt
Packs/unpacks GEOS files for modem transmission
72 FFTB 4 KB Application FastFormattrV1.0 SEQ 1989-06-26 03:05 Scott E. Resh .cvt
Fast_Format_That_Baby is a nicelittle disk utility.
73 GEOUNO 12 KB BASIC geoUNO SEQ 1988-05-21 18:08 unknown .cvt
One player UNO. 'D' to draw card. 'CRSR' to move pointer.
74 aerobics 18 KB Application Animation80 V1.0 VLIR 1990-10-17 22:51 David Aronowicz .cvt
Definetely X-Rated ---- Not for Children
75 Zeitschriften 6 KB App Data GEOFILE IM V1.0 VLIR .cvt
Allgemeine Zeitschriften und Artikelverwaltung
76 DIA-Serien 8 KB App Data GEOFILE IM V1.0 VLIR .cvt
DIA-Serien und Filme für private Vorführungen
77 Zähler 4 KB App Data geoCalc Img V1.0 VLIR 1994-10-07 15:59 .cvt
78 Budgetplan 7 KB App Data geoCalc Img V1.0 VLIR 1994-10-07 16:01 .cvt
79 Snowboarden 9 KB App Data Write Image V2.1 VLIR 1994-05-21 12:19 .cvt .html
geoWrite.doc
(Rhinow)
(5)

Wo Bretter

noch Freiheit bedeuten

Snowboarden ist nicht einfach ein Boom, es

ist heutzutage der Boom schlechthin. In der

Schweiz haben gegen 100 000 Leute das

tänzerische Gleiten, das nicht nur Sportver-

gnügen ist, sondern gleichsam eine Lebens-

philosophie darstellt, entdeckt. Und täglich

werden es mehr.

Eigentlich fing alles denkbar schlecht an für den neuen Sport. Anfangs der achtziger Jahre brachten einige Freaks aus Europa die ersten Snowboards aus den USA mit nach Hause. Nicht nur in Amerika, als die ersten Versuche auf den Snurfern gemacht wurden, sondern auch als das Material der Snowboards schon bedeutend ausgereifter war, und auch in Europa einige =Spinner= auf nur einem Brett ins Tal schwangen, hatten viele Skifahrer lediglich ein müdes Lächeln für diese Andersdenkenden übrig. Später, als die Zahl der Snowboar- der von Jahr zu Jahr zunahm, fühlten sich die Skifahrer in ihrer Ruhe gestört. In vie-

len Skigebieten wurde den Snowboardern die Benützung der Anlagen untersagt.

Doch auch diese Maßnahmen konnten den Sport nicht bremsen, er boomte in kürzester Zeit. Weltweit gibt es heute schon knapp 1,8 Millionen Snowboarder auf den Pisten. Das bedeutet prozentual zu den Skifahrern 12 Prozent, wobei die 6- bis 17jährigen die größte Gruppe der Snowboarder ausmachen. Das Durch- schnittsalter ist somit einiges jünger als bei den Skifahrern. Die kühnste aller Prognosen besagt, daß im Jahr 2000 die Hälfte aller Pistenbenützer auf einem Snowboard stehen wird.

Vom Wasser auf den Schnee

=Erfunden= wurde das Snowboarden in den 70er Jahren, indem sich einige Wellenreiter aus Kalifornien eine Alternative fürs Skifahren suchten. Damals kam der Snurfer - ein 1,20 m langes, schmales Brett ohne eine feste Bindung und mit einer Halteleine zur Schaufel - als einziges Brett auf den Markt. Da es ohne Kanten pistenuntauglich war und sich auch im Tiefschnee nicht optimal beherrschen ließ, genügte es den Anforderungen der Wellenreiter nicht. Sie beschlossen, sich nach anderen Möglichkeiten umzuschauen und fanden sie in den Snowboards, die Jake Burton-Carpenter aus Manchester/Vermont an der Ost- küste der USA ab den späten 70er Jahren baute. Die ersten Boards waren noch unbearbeitet, hatten weder Stahlkanten noch Beläge. Man entwickelte Stahlfin- nen, ähnlich wie man sie bei Surfboards findet, und ein einfaches Bindungs- system .Bald wurden in Amerika die ersten Firmen gegründet. Ende der 70er Jahre verkaufte Jake Burton über seine Firma die ersten Serienboards. Diese

Bretter besaßen noch keine Stahlkanten, dafür aber Seitenfinnen aus Stahl. Für die Befestigung der Füße griff man auf die Wasserskibindung zurück. Im ersten Jahr verkaufte er über 300 handgefertigte Boards über ein kleines Versand- system sowie aus seinem Wagen, mit dem er die Ostküste auf und ab fuhr. Ne- ben Burton boten bald einmal weitere Firmen wie Wintersurf, Barfoot oder Tom Sims Snowboards aus eigener Produktion an. Jahrelange Entwicklung und diverse Tests brachten anfangs der 80er Jahre ein Snowboard heraus, welches mit durchgehenden Stahlkanten, Skibelägen, Seitenfinnen aus Metall und einer festen Bindung versehen und damit pistentauglich war.

In der Schweiz faßte der neue Sport schon bald Fuß. 1986 fanden in St. Moritz die ersten Schweizer Meisterschaften statt. Diese Meisterschaften weckte das Interesse der Leute, und im Winter 1986/87 öffnete St. Moritz als eine der ersten Stationen alle Pisten und Lifte für die Snowboarder. Anfangs März 1987 trafen sich mehr als 300 Profis aus drei Kontinenten zu den ersten Snowboar- ding Weltmeisterschaften in St. Moritz, die den Snowboardsport in der ganzen Welt, vor allem aber in Europa, mitgeprägt haben. Das Oberengadin wurde da- durch zu einem Treffpunkt der internationalen Snowboardszene. Im selben Win- ter wurden auch die ersten Snowboard-Schulen in Graubünden eröffnet. Heute bieten in Kanton 14 Schulen Snowboardunterricht an.

=Pleasuredome= und Board-Hotel

Inzwischen bietet Graubünden den Snowboardern ein vielseitiges Angebot. So wurde in Laax zum Beispiel in der Vorsaison neben der permanent stehenden Halfpipe auf dem Vorab-Gletscher eigens für Snowboarder ein =Pleasuredome= mit Hindernissen aus Brettern, Stämmen, Tonnen, Röhren und Schneehaufen errichtet. Am Abend finden im Tal jeweils Partys mit Live-Konzerten statt. Und Davos bietet mit dem in diesem Jahr eröffneten Hotel =Bolgeschanze= das erste Snowboard-Hotel in der Schweiz. Neu bekommt man ab diesem Winter zudem einen Bahn/Bus-plus-Skipaß für fast alle Skigebiete Graubündens, dank denen man günstig mit den öffentlichen Verkehrsmitteln in die =Ferienecke= und zu den jeweiligen Skigebieten gelangen kann.

Tailliert oder mehr Banane

Die Swiss Snowboard Association (SSBA) wurde 1987 für das Club- und Wett- kampfwesen gegründet. Zwei Jahre später entstand mit dem Schweizer Snow-

board Schulverband (SSBS) ein eigenständiger Verein, der für die Ausbildung der Snowboardlehrer sowie der Schulen verantwortlich ist. Momentan gibt es schon 75 Clubs mit weit über 3000 Mitgliedern in der ganzen Schweiz. Bei den Wettkämpfen sind zwei Disziplinen zu unterscheiden: Alpine und Freestyle. Zur alpinen Disziplin zählen ähnlich wie beim Skifahren Super-G, Riesenslalom, Spezial- und Parallel-Slalom. Gefahren wird mit Alpine/Race-Boards mit Platten- bindungen und Hardboots. Die asymmetrisch gebauten, stark taillierten und =höllisch= schnellen Boards weisen eine Länge von 1,45 bis 1,70 m auf. Da man mit diesen Brettern vorwiegend auf der Kante fährt, verfügen sie über ei- nen besseren Kantengriff als die Freestyle-Boards. Zu der Freestyle-Disziplin zählt die Halfpipe und der Obstacle Course. Für diesen Zweck verwendet man Freestyle/Halfpipe-Boards mit Schalenbindungen. Ihre Länge ist ähnlich wie bei den Alpine-Boards, aber symmetrisch und viel weicher aufgebaut. Da sie von vorn und hinten sehr stark aufgebogen sind, sehen sie aus wie eine Banane.

Halfpipe und Obstacle Course

Die Freestyle-Disziplin der Halfpipe (halbe Röhre) wurde von Skatboarding übernommen. Dabei werden in der 80 bis 100 Meter langen, 10 bis 20 Meter breiten und bis zu drei Meter hohen Schneerinne verschiedene aneinanderge- gereihte Sprünge, Tricks und Flips von einer Jury bewertet. Dies ist bei Wett- kämpfen wohl die spektakulärste Disziplin. Beim Obstacle Course (Hindernislauf) werden auf einer rund 150 Meter langen und 30 Meter breiten Rennstrecke verschiedene Hindernisse aufgebaut. Der Wettkampf wird bei keinem Rennen gleich verlaufen, da der Obstacle Course den jeweiligen Gegebenheiten vor Ort angepaßt wird, was für die Fahrer bei jedem Rennen unterschiedliche Heraus- forderungen ergibt.

Die Rennwettkämpfe unterscheiden sich in vier Gruppen: Der Regio Cup ist ei- ne regionale Rennserie, aufgeteilt in drei Regionen Ost, Mitte und West. Er bie- tet den Nachwuchsfahrern die Möglichkeit, auch ohne Lizenz an vielen Ren- nen teilzunehmen und so die nötigen Erfahrungen zu sammeln.

Beim Swiss Cup, neu Swissair Snowboard Cup genannt, einer nationalen Renn- serie, die sich aus Alpine- und Freestylerennen zusammensetzt, kämpfen die Fahrer um Punkte und den Titel. Der Cup ist auch wichtig für die Qualifikation zur World Pro Tour. Gegen Ende der Snowboardsaison findet die Schweizer- meisterschaft sowie eine Junioren-SM statt, an der alle lizenzierten Fahrer, die sich während der Swissair Snowboard Cups qualifiziert haben, starten können.

Die World Pro Tour bietet den Höhepunkt im internationalen Rennzirkus. Bei den Weltmeisterschaften 1993 im österreichischen Ischgl sahnten die Schwei- zer ordentlich ab. Bei den Frauen wurde Nicole Angelrath Weltmeisterin in der Halfpipe, Cla Mosca aus Scoul wurde Weltmeister im Riesenslalom.

Der Verfasser dieses Artikels

Kaiken Ahne aus Tamins

ist begeisterter Snowboarder

80 Advent 2 KB App Data Write Image V2.1 VLIR 1994-02-23 18:17 .cvt .html
geoWrite.doc
(Rhinow)
(5)

Heut' ist die wunderbare Nacht

Da Christus uns geboren.

Nun freut euch alle, singt und

lacht,

Denn niemand ist verloren.

Ihr ruhet in der Hand des

Herrn,

So macht euch keine Sorgen.

Seid glücklich, habt einander

gern,

Und liebet euch auch noch

morgen.

(Gina Ruck-Pauquet)

Zum Advent

Zweitausend Jahre kommst du schon,

daß Fried' und Freud' auf Erden sei;

und immer geht dein Jahr vorbei,

und immer sprach die welt dir hohn.

Spielt immer noch ihr altes Spiel,

drin einer um den andern lost.

Du gehst vorbei, blickst ernst und still

und sprichst und lächelst: "Seid getrost.

Wenn Finsternis euch rings umstellt,

da jeder Steig und Stern gebricht:

Noch führt ein Weg aus Nacht in Licht.

Ich bin's. Ich überwand die Welt."

81 Sternzeichen 21 KB App Data Paint Image V1.1 VLIR 1993-12-18 16:20 .cvt .png
GeoPaint doc
(Rhinow)
(5)



82 Gendarm 7 KB App Data Paint Image V1.1 VLIR 1993-03-22 03:03 Red Storm .cvt .png
Converted from Handy Scanner format.
Written by Joe Buckley.
83 von R.Tropartz 4 KB App Data Write Image V2.0 VLIR 1992-03-23 13:05 .cvt .html

08.09.1996

Hallo alle miteinander

84 8info-de1tr 1 KB Non-GEOS SEQ .seq
85 Bismarckturm 26 KB App Data Paint Image V1.1 VLIR 1994-11-19 16:04 Red Storm .cvt .png
gescannt & bearbeitet von
Klaus Finke / Suhl
Tel. 03681 726922
86 StartAppli 2 KB Desk Acc GeoTool V1.1 SEQ 1996-08-30 18:11 Ronny Bachmann .cvt
Startet Applikationen aus dem geos-Menü.GEOS64/128, im GEOS128 automatische
87 Treiber Install 2 KB Desk Acc geoTool V1.0 SEQ 1996-08-30 18:01 Ronny Bachmann .cvt
Installiert neuen Maus-/Druckertreiber unter
88 DirMaster 5 KB Application Utility V1.1 SEQ 1992-08-30 18:30 Kent L. Smotherman .cvt
Manipulate disk directories on 1541/71/81! By
89 FAX64.paint 17 KB App Data Paint Image V1.1 VLIR 1996-07-07 13:54 .cvt .png
90 !!Star/Epson(gc) 2 KB Printer Drv Printdriver V2.0 SEQ 1988-08-06 23:00 Rune Bassmann .cvt
Dieser Treiber macht die Writer's Workshop2.1 Unsitte Umlaute nach IBM-Norm zu senden rückg.
91 PS/00-Bk 3 KB App Data Write Image V2.1 VLIR 1996-09-13 18:26 .cvt .html
- masterformular - font : university lq co) m.frick * postfach 1133 * 88264 vogt

Peter Scheel - HAMBURG -

Vereinsstr. 36

D-20 357 HAMBURG

Tel/BTX/Fax: (040)43 93377

P.Scheel * Vereinsstr. 36 * D-20 357 HAMBURG

I

I

I

D-

Datum: 09. 08. 96

Kunden Nr.:

Sehr geehrte Damen und Herren !

Betrift:

Sehr geehrte Damen und Herren !

Anlage:

Mit freudlichen Grüßen,

------------------------------------------------------------------------------------------------------------

Bankverbindung

91 file(s), 750 KB

geos-app_64-128-utilities-fontview.d2m — “64/128-uti” id:v2 [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 PaintView IIa 5 KB Application Paint View V2.0 SEQ 1988-05-05 13:53 Red Storm .cvt
View geoPaint files from outside geoPaint.
From Storm Systems.
2 FontView 4 KB Application FontView V1.0 SEQ 1988-12-07 01:48 Christopher Flynn .cvt
FontView will view font files to the screen. Use +,- icons to change point size.
3 Wecker 4 KB Desk Acc Alarm clock V1.0 SEQ 1986-09-03 12:00 David Durran .cvt
Stellen Sie den Wecker, um zeitbewußt zu sein.
4 WriteView 3 KB Application QuickView V1.0 SEQ 1988-02-17 21:09 BSC TechUnit .cvt
Dump Write files to screen.Patched to work with geoWrite 2.X.
5 DeskSwap 2 KB Auto-Exec DeskSwap GE V1.1 SEQ 1993-05-25 21:37 Jürgen Eckel .cvt
6 QuickMove64 7 KB Application Part Aid V1.4 SEQ 1990-09-24 09:27 Paul J. Bosacki .cvt
A partition utility that sup- ports multiple file copying
7 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
8 Notizblock 5 KB Desk Acc note pad V2.0 SEQ 1988-10-11 18:18 Requist & Hawley .cvt
9 Rechner 4 KB Desk Acc Calculator V1.0 SEQ 1988-07-06 13:05 A.Schubert .cvt
10 MiniDesk 6 KB Desk Acc MiniDeskTop V1.0 SEQ 1990-08-09 15:11 Jim Collette .cvt
Copy, Scratch, and Rename files.
Copyright (C) 1990, Jim Collette.
11 GeoDex 21 KB Desk Acc geoDex V2.0 SEQ 1988-04-26 14:37 Chris Hawley .cvt
Use geoDex to store all your names and addresses for easy recall.
12 Treiberwahl 3 KB Desk Acc Treiberwahl V1.0 SEQ 1992-11-02 22:09 Jürgen Eckel .cvt
13 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1995-05-27 11:33 Brian Dougherty .cvt
14 DESK_TOP 35 KB Application TopDesk V1.2 VLIR 1995-02-22 14:44 DPT KnCiGo .cvt
15 frosch 7 KB Non-GEOS SEQ .prg
16 m1 musik 2 KB Non-GEOS SEQ .prg
17 m2 synthesizer 3 KB Non-GEOS SEQ .prg
18 sprites 18 KB Non-GEOS SEQ .prg
19 music 1 KB Non-GEOS SEQ .prg
20 sprite.boot 2 KB Non-GEOS SEQ .prg
21 polly 2 KB Non-GEOS SEQ .prg
22 1540demo.boot 1 KB Non-GEOS SEQ .prg
23 3000.emu.boot 1 KB Non-GEOS SEQ .prg
24 m3 dixie 2 KB Non-GEOS SEQ .prg
25 emulator 5 KB Non-GEOS SEQ .prg
26 grafik 1 KB Non-GEOS SEQ .prg
27 dos boot 1 KB Non-GEOS SEQ .prg
28 dos 5.1 1 KB Non-GEOS SEQ .prg
29 change 1541 1 KB Non-GEOS SEQ .prg
30 piano 2 KB Non-GEOS SEQ .prg
31 m4 yankee 2 KB Non-GEOS SEQ .prg
32 farbtest 1 KB Non-GEOS SEQ .prg
33 m5 gong 1 KB Non-GEOS SEQ .prg
34 m6 bombe 1 KB Non-GEOS SEQ .prg
35 m7 schuss 1 KB Non-GEOS SEQ .prg
36 m8 sound 1 KB Non-GEOS SEQ .prg
37 irrgarten 10 KB Non-GEOS SEQ .prg
38 bits and bytes 12 KB Non-GEOS SEQ .prg
39 bytsprites 2 KB Non-GEOS SEQ .prg
40 uhr-demo 1 KB Non-GEOS SEQ .prg
41 blackjack 7 KB Non-GEOS SEQ .prg
42 g1 farbdemo 2 KB Non-GEOS SEQ .prg
43 g2 hiresdemo 1 KB Non-GEOS SEQ .prg
44 g3 grafik 1 KB Non-GEOS SEQ .prg
45 g4 farbdemo 1 KB Non-GEOS SEQ .prg
46 g5 hires loader 1 KB Non-GEOS SEQ .prg
47 hires.demo 8 KB Non-GEOS SEQ .prg
48 s1 demo 1 1 KB Non-GEOS SEQ .prg
49 s2 demo 2 1 KB Non-GEOS SEQ .prg
50 s3 demo 3 1 KB Non-GEOS SEQ .prg
51 demo.boot 1 KB Non-GEOS SEQ .prg
52 ccc1 2 KB Non-GEOS SEQ .prg
53 demo.c000 5 KB Non-GEOS SEQ .prg
54 demo9 21 KB Non-GEOS SEQ .prg
55 bits und bytes 12 KB Non-GEOS SEQ .prg
56 dtsch.tastatur 2 KB Non-GEOS SEQ .prg
57 kalender 10 KB Non-GEOS SEQ .prg
58 aktivfilter 5 KB Non-GEOS SEQ .prg

58 file(s), 280 KB

geos-app_64er-sonderheft-demos.d2m — “Sonderheft 59” id:97 [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 call_geodirass 2 KB App Data basic data V1.0 VLIR 1990-09-08 07:38 .cvt
2 geodirass 1 KB Data geodirass V1.0 VLIR 1990-07-03 11:33 J.-M.Groß/Berlin'90 .cvt
Assemblerroutinen für geoDir
3 +Sample *neu* 9 KB App Data basic data V1.0 VLIR 1990-09-09 20:55 .cvt
4 Schleifen-Test_1 2 KB App Data basic data V1.0 VLIR 1990-09-07 14:23 .cvt
5 Speicher-Test 3 KB App Data basic data V1.0 VLIR 1990-09-06 23:00 .cvt
64'er Sonderheft GEOS :
Demo-Listing Speicher-Test der Sprite-Register
6 Demo_basic 5 KB App Data basic data V1.0 VLIR 1988-08-22 16:30 .cvt
7 pattern.bsp 2 KB App Data basic data V1.0 VLIR 1988-08-22 13:08 .cvt
8 line.bsp 2 KB App Data basic data V1.0 VLIR 1988-08-22 22:07 .cvt
9 59 1 KB Disk Device Directory V1.0 SEQ 1997-07-06 11:51 DPT-Team .cvt
10 gPup1.01 1 KB Application gPupatch V1.0 SEQ 1990-08-20 00:26 J.-M.Groß/Berlin'90 .cvt
Patch-Programm zum Beheben der Fehler in
11 gPp2.01 1 KB Application gPpatch V2.0 SEQ 1990-08-19 23:42 J.-M.Groß/Berlin'90 .cvt
Patch-Programm zum Beheben der Fehler in
12 gWp2.12 1 KB Application gWpatch V2.1 SEQ 1990-08-19 15:32 J.-M.Groß/Berlin'90 .cvt
Patch-Programm zum Beheben der Fehler in
13 Demo-PatchPRG 2 KB App Data Write Image V2.1 VLIR 1990-09-07 14:16 .cvt .html

MegaFonts

Dieses File ist ein Demo für das gepatchte geoWrite oder den Texteditor in GeoPublish bzw. GeoPaint.

Dazu muß natürlich ein gepatchtes (!) geoWrite auf der Disk sein, auf der sich auch der Font 'Roma MG' befindet. Sonst erhält man diesen Text nur in BSW auf dem Bildschirm.

Wenn Sie den Font einmal anwählen, werden Sie feststellen, daß die Größen 10,12 und 48-53 angezeigt werden und auch verwendbar sind!

Das sind 8 Einträge, bei denen sich geoWrite sonst verabschiedet.

Die Überschrift ist ein MEGA-Font und wurde durch Verwendung der Größen 48-53 bei den entsprechenden Buchstaben aufgerufen.

Jens-Michael Groß

14 Roma MG 22 KB Font GeoFont 2.0 VLIR 1990-02-25 01:00 ^z: .cvt .png
Demo-Font mit 8 Punktgrößen !
15 Schnipp 1 KB Desk Acc Schnipp 1.0 SEQ 1989-12-03 13:50 Jürgen Eckel .cvt
Erstellt Hardcopy auf Disk
vom aktuellen Bildschirm
im normalen Dosformat
16 DriveCleaner 6 KB Application Cleaner V1.0 SEQ 1990-08-08 18:36 Jürgen Eckel .cvt
17 Show-Font 3 KB Desk Acc Show Font V1.2 SEQ 1990-05-19 01:00 Jürgen Eckel .cvt
Maxim. Puffer 8000 Byte. Maxim. Punkthöhe 46 Punkte
Nötiger Platz auf Disk 17k
18 ZapWandler 4 KB Auto-Exec ZapWandler V1.0 SEQ 1990-07-19 18:53 Jürgen Eckel .cvt
Wandelt REU Zap-Files in
Applicationen und bietet sie
in einer Box zum laden an.
19 Info_geoDex 3 KB Application geodex - hilfeV1 SEQ 1990-09-06 14:48 Th. Haberland .cvt
20 Anl-> Info_Dex 7 KB Application DocWright V2.0 VLIR 1990-09-06 15:03 J. Buckley .cvt
This file was created with DocWright II.
From Storm Systems.
21 Free 2 KB Application Utility V1.0 SEQ 1989-12-31 18:09 Martin Sauter .cvt
löschen aller Schreibschutz-flags auf einer Disk; läuft auf allen Floppys +
22 GET SER NR 1 KB Application GET SERIAL NUMBER SEQ 1990-08-20 19:29 NIKOLAUS HEUSLER .cvt
Programm zum einfachen Ermitteln und Ändern der Geos-Seriennummer
23 Umbau 1764+ 8 KB App Data Write Image V2.1 VLIR 1988-08-22 13:16 .cvt .html
Umbau der Ram 1764 in die Ram 1750 (1764+). 3. ergänzte Fassung !
F.W. (C)08.1990 GUC-HH

Umbau der Ram-Erweiterung 1764 in eine Ram-Erweiterung 1750 (1764+):

Diesen Umbau der Ram-Erweiterung (ab jetzt nur noch Ram genannt und nicht wie im englischen Sprachraum REU!) sollten nur erfahrene Anwender ausführen, für die ein Lötkolben kein unbekanntes Instrument ist! Löterfahrung und der richtige Umgang mit Integrierten Schaltkreisen (IC`s) wird von mir vorausgesetzt. Wer sich diesen Umbau nicht zutraut (nicht mogeln!) sollte lieber einen Freund um Hilfe bitten, der ausreichende Löterfahrungen hat.

Benötigt werden: 1 Lötkolben ca. 25 Watt, 1 Vakuum-Entlötpumpe, 1 Schraubendreher, Lötzinn ca. 0,5 mm Durchmesser, 8 IC-Sockel flach mit gedrehten und vergoldeten Kontakten und 8 Ram-Bausteine vom Typ 41256-150ns (z.B. D41256-15 von NEC) und einen Pinsel oder eine alte, ausgebrauchte Zahnbürste.

Optional: Für den C64 wird außerdem das stärkere Netzteil des C128 benötigt. Dieses 128'er-Netzteil wird besonders dann benötigt, wenn man am Expansionsport über eine Expansionsport-Weiche noch zusätzliche Module betreibt. Durch den höheren Stromverbrauch der Ram, in Verbindung mit den Modulen, könnte es zu einem Zusammenbruch der Spannungen im alten 64'er-Netzteil kommen.

Zeitaufwand: Der Zeitaufwand für diesen Ram-Umbau beläuft sich auf cirka 1 bis 2 Stunden, je nach Kenntnissen des Anwenders.

Materialkosten: Die Materialkosten für die Ram's und die IC-Sockel belaufen sich auf cirka DM 50,- bis DM 75,-! Dies hängt im besonderen mit den derzeitigen Ram-Preisen zusammen (zur Zeit, Stand 08.1990, etwa DM 5,- bis DM 6,- pro Ram). Ein Preisvergleich bei den ver- schiedenen Anbietern lohnt sich!

Achtung: Die Garantie-Fristen der Ram-Erweiterung müssen unbedingt beachtet werden! Wenn die Ram während der Garantie geöffnet wird, erlöschen die Garantie-Fristen!

1.Schritt: Den Computer ausschalten und erst dann die Ram aus dem Expansions-Port herausziehen.

2.Schritt: Das Plastik-Gehäuse der Ram jetzt vorsichtig mit dem Schraubendreher auseinander hebeln.

3.Schritt: Das Abschirmblech der Ram Stück für Stück auseinander biegen, bis man die Ram-Platine vorsichtig herausziehen kann.

4.Schritt: Nun kann man 8 freie Ram-Steckplätze auf der Platine erkennen (Bauteilseite). Die Lötaugen der Steckplätze sind mit Lötzinn vollgelaufen. Und diese Lötaugen müssen jetzt mit der Vakuum- Entlötpumpe freigesaugt werden.

5.Schritt: Mit dem heißen Lötkolben wird jedes einzelne Lötauge erhitzt (am besten auf der Lötseite) und mit der Entlötpumpe freigesaugt. Diese Tätigkeit bitte mit größter Vorsicht ausführen!

6.Schritt: Wenn jedes Lötauge der Ram-Steckplätze freigesaugt ist, wird mit dem Pinsel oder der Zahnbürste alles gründlich gereinigt, bis keine Lötzinn-Reste mehr auf der Platine sind.

7.Schritt: Nun wird Steckplatz für Steckplatz ein IC-Sockel eingelötet. Die Kerben der IC-Sockel müssen mit den Kerben der vorhandenen Ram-Bausteine überein stimmen (gleiche Richtung)! Mit dem heißen Lötkolben die IC-Sockel-Beinchen mit Lötzinn verlöten. Das Lötzinn muß ausreichend um die Beinchen und an das Lötauge gelaufen sein! Dabei auf kalte Lötstellen achten, denn diese führen zu einem Nicht- funktionieren der Ram! Hierbei wieder mit großer Vorsicht arbeiten.

8.Schritt: Nach dem Einlöten der IC-Sockel werden alle Lötstellen nochmals auf Kurzschluß und schlechte Lötstellen hin untersucht! Gegebenenfalls jetzt die gefundenen Fehler sorgfältig beseitigen.

9.Schritt: Nun nochmals die Platine mit dem Pinsel oder der Zahn- bürste reinigen!

10.Schritt: Nun können die Ram-Bausteine in die IC-Sockel gesteckt werden. Die Kerben der Ram's müssen mit den Kerben der IC-Sockel und den Kerben der vorhandenen Ram-Bausteine überein stimmen (gleiche Richtung)! Dabei bitte möglichst nicht auf die IC-Beine fassen, denn das könnte im ungünstigsten Fall zur Zerstörung des Ram- Bausteins führen.

11.Schritt: Eine Leiterbahn-Verbindung unter dem großen Prozessor-IC (DMA-Chip) muß nun noch aufgetrennt werden (Lötseite der Platine). Diese Verbindung ist mit CUT 512K bezeichnet. Meistens ist sie schon vom Hersteller her aufgetrennt. Wenn nicht, so muß das jetzt unbedingt gemacht werden.

12.Schritt: Nochmals eine letzte Sichtkontrolle der Platine durchführen und wenn alles in Ordnung ist, kann die Ram-Platine wieder in das Ab- schirm-Blech reingeschoben werden. Das Blech jetzt wieder zusammen- biegen und das Plastik-Gehaüse andrücken.

13.Schritt: Die Ram-Erweiterung bei ausgeschaltetem Computer in den Expansions-Port einstecken. Wenn dies bei eingeschaltetem Computer erfolgt, so kann das die Zerstörung der Ram und des Computers be- deuten!

14.Schritt: Geos booten (laut Anweisungen aus dem Handbuch!). Sollte das nicht klappen, den Computer sofort wieder ausschalten und die Ram-Erweiterung nochmals auf Fehler überprüfen.

15.Schritt: Im Desktop Konfigurieren doppelklicken. Jetzt müsste sich, wenn alles geklappt hat, das Konfigurations-Menü mit 512K-Ram melden. Nun kann man auch die Ram 1571 als Laufwerk B oder C einstellen (laut Handbuch)! Ich empfehle als Grundeinstellung: Die System-Diskette mit der Ram 1541 und die Sicherheits-Diskette mit der Ram 1571 einzustellen.

Dieser Umbau der Ram-Erweiterung ist für den C64 und den C128 im 40- und 80-Zeichen-Modus geeignet.

Bei mir läuft dieser Ram-Erweiterungs-Umbau seit über zwei Jahren fehlerfrei!

Übrigens verträgt sich die Ram 1764 oder die Ram 1750 nicht mit dem Final Cartridge III. Es kommt dann zu sehr häufigen Systemabstürzen! Bei mir ist das jedenfalls ständig passiert!

Ich wünsche nun viel Spaß bei diesem Umbau und mit der neuen Ram 1764+ !

Für Kontakte und Anregungen bitte meine nachfolgende Adresse anschreiben. Keine Telefonate!

Achtung!

Ich biete jedem Club-Mitglied (Nachweis erforderlich!) den Umbau zur Ram 1764+ für DM 95,- an. In diesem Betrag sind alle Bauteile, der Zeitaufwand (für den Umbau und kompletten Test), Porto und Ver- packung enthalten! Die Ram-Erweiterung muß sich allerdings in einem einwandfreien, technischen Zustand befinden und die Garantie-Fristen müßen ebenfalls beachtet werden.

Wer den Umbau durch mich durchführen lassen will, muß seine Ram per Einschreiben an mich schicken. Der Umbau-Betrag muß dann in bar oder als Scheck beiliegen!

Die umgebaute Ram 1764+ wird dann innerhalb von fünf Tagen an den Absender per Einschreiben zurückgeschickt. Bitte die genaue Adresse nicht vergessen!!!

24 CallAccessKernal 2 KB Desk Acc AccessKernal V1.0 SEQ 1990-07-05 18:41 Jörg Brokamp .cvt
Das Programm dient zum Aufruf von Accessories aus dem AccessKernal.
25 acces kernal 9 KB Non-GEOS SEQ .prg
26 Bestellschein 1 KB App Data Write Image V2.0 VLIR 1988-07-06 13:00 .cvt .html
27 GEOS128Bsp 12 KB App Data photo album V2.1 VLIR 1990-08-22 08:59 Carsten Clasohm .cvt .png
28 GEOS128Verg. NLQ 21 KB App Data Write Image V2.1 VLIR 1988-08-22 13:03 .cvt .html

GEOS 128 V2.0 im vergleich mit GEOS 64 V2.0

Das heutige Flagschiff aller bisher erschienenen GEOS-Betriebssystem ist mit Sicherheit GEOS 128 V2.0. GEOS 64 V2.0 ist zwar schon sehr gut aber GEOS 128 V2.0 setzt dem noch etwas drauf.

Was kann denn da noch besser sein als GEOS 64 V2.0 wenn doch beide Betriebssysteme als vollständig kompatibel zueinander betrachtet werden können?

Nun bei GEOS 128 V2.0 wurde auf vollständige aufwärtskompatibiliät geachtet, aber zusätzlich die besseren Hardwaremöglichkeiten des C=128 ausgenutzt.

Da wäre zunächst der umschaltbare Bildschirm von 40 auf 80 Zeichenmodus. Hierzu erscheint im geos Menü des DeskTop als erste Auswahlmöglichkeit ein Schalter switsh 40/80. Die Bezeichnung 40/80 Zeichenmodus ist allerdings etwas unglücklich gewählt. Da sich ja durch die Proportionalzeichensätze unterschiedlich viele Zeichen in einer Zeile der beiden Bildschirmmodi darstellen lassen. Richtiger wäre hier Kleiner/Großer Bildschirm gewesen. Nun ist es natürlich auch wichtig, das der 128er User über ein entsprechendes Anschlußkabel an seinem Monitor verfügt. Zur Not reicht zwar auch ein 80 Zeichenanschluß, jedoch reicht ein 40 Zeichenanschluß alleine nicht aus, weil GeoWrite 128 V2.1 nur im 80 Zeichenmodus läuft. Bei einem Monochrommonitor, welcher für GEOS völlig ausreicht, ist das recht einfach. (GEOS 128 V2.0 stellt im 80 Zeichenmodus nur 2 Farben zur Verfügung ). Aber für alle Monitore gibt es im Handel oder manchmal auch schon beim Kauf des Monitors, z.B.: beim 1084S, entsprechende Kabel. Diese sind jedoch nicht immer ganz billig. Für den Monochrommonitor läßt sich das Kabel mit einem Umschalter aber recht leicht bauen. Für meine Zwecke habe Ich ein Kabel mit einem drehbaren Dreifachumschalter zu Auswahl des 40-Zeichenmodus, 80-Zeichenmodus und des BTX Modul 2 zusammengebaut.

Nächster wichtiger Punkt ist die Ausnutzung des 2 Mhz Modus des 8502 Prozessors im 80 Zeichenmodus. Dies führt zu einer erfreulich höheren Arbeitsgeschwindigkeit des 128er Systems.

Da beim 128er die Floppy 1571 und die Floppy 1581 durch den schnellen seriellen Bus mittels des Brustmodus sowieso schon schneller als eine 1541 ist müssen diese nicht beschleunigt werden. Sie sind schon schneller als die 1541 bzw. die 1581 unter GEOS 64 V2.0 mit DiskTurbo. Die 1570, im Prinzip eine 1541 mit einseitger 1571, wird nur als 1541 konfiguriert. Insgesamt ist dies das schlechteste Laufwerk für GEOS. Es gab bei mir immer wieder Leseprobleme, vor allem auf den Originaldisketten.

Das Programmpaket GEOS 128 V2.0 ist im Prinzip genauso aufgebaut wie das von GEOS 64 V2.0. Es gibt 4 Disketten mit allen Programmen und Dateien für GEOS 128 V2.0 und das gleiche Handbuch wie bei GEOS 64 V2.0. Jedoch wurde das Handbuch um einen Zusatz der sich mit den Besonderheiten von GEOS 128 V2.0 beschäftigt erweitert. Auch dem GEOS Neuling sollte es kein Problem sein sich bei gründlichem Studium des Handbuchs in GEOS einzuarbeiten. Jedoch sollten Einsteiger zunächst alles beiseite liegen lassen was mit Druckern zu tun hat. Insbesondere wenn es sich um Exoten handelt.

Fast alle Programme laufen im 40 und 80 Zeichenmodus. Außnahme ist GeoWrite 128 V2.1 und GeoSpell 128 , nur im 80 Zeichenmodus und der pad color mgr , nur im 40 Zeichenmodus.

Im folgenden will ich alle im Grundpaket enthalten Programme auflisten, die Funktion erklären und auf Besonderheiten im Vergleich zu GEOS 64 hinweisen. Anschließend folgen erhältliche GEOS 128 Zusatzprogramme. Einen unterschied gibt es generell. Im 80 Zeichenmodus laufen die Programme immer schneller als unter GEOS 64 und einige reine 40 Zeichenprogramme laufen auch schneller.

DeskTop: Der DeskTop dient zum verwalten der Programm, bearbeiten von Disketten und starten von Programmen. Es gibt ein paar Zusätzlich Tastenfunktionen (Shortcuts). Der sinnnvollste ist die kopiermöglichkeit von Multifiles. Hat man mehrere Dateien ausgewählt, dann braucht man nicht durch anklicken einer Datei das Multifile zu erzeugen und auf die andere Diskette zu legen, sondern kann z.B.: mit Control+A Dateien von Laufwerk B nach A kopieren.

Bei manchen Funktionen des DeskTop, z.B: Formatieren, muß GEOS 64 den DeskTop immer in Laufwerk A oder B haben, weil die Funktion nachgeladen werden muß. Nicht so bei GEOS 128. Hier steht der komplette DeskTop im Speicher.

GeoWrite 128 V2.1: Läuft nur im 80 Zeichenmodus und stellt sofort das Dateiformat Write Image V2.1 ein. D.h.: volle Breite. Einen Halbseitenumschlag gibt es nicht, weil immer die gesamte Textbeite (DIN A4) angezeigt wird.

GeoPaint 128 V2.0: Umschaltmöglichkeit innerhalb des Programms vom 40 auf 80 Zeichenmodus und umgekehrt. Dies ist sehr wichtig, weil im 80 Zeichenmodus die grafischen Objekt verzerrt dargestellt werden. Kreise erscheinen als aufrecht stehende Ellipsen. Da ist es doch ganz gut wenn man im 40 Zeichenmodus die genauen Abmessungen erkennen kann. Wesentlicher Vorteil ist jedoch, daß die Werkzeugleiste nicht ständig auf dem Bildschirm angezeigt wird, sondern bei Bedarf eingeblendet wird. So stehen als Breite volle 320 bzw. 640 Punkte zu Verfügung.

Foto- und Textmanager: Mit diesen Hilfsmitteln können Bilder, Bilderausschnitte bzw. Texte, Textauschnitte verwaltet werden.

Hinweis: Hilfsmittel können von jedem Programm über das geos Menü aufgerufen werden . Alle Hilfsmittel lassen sich in beiden Bildschirmmodi aufrufen.

Voreinstellung: Hiermit kann die Uhrzeit, Datum, Farben (für Rand, Hintergrund, Vordergrund und Maus), Bewegungsverhalten und ausehen der Maus eingestellt werden. Die Änderung der Form des Mauspfeils hat im 80 Zeichenmodus keine Auswirkung.

Pad Color Manager (mgr): Damit können allen Dateiarten, z.B.: Zeichensätze, Dokumente, Hilfsmittel usw. verschieden Farben für die Darstellung der Icons zugeordnet werden. Die Einstellung hat keine Funktion im 80 Zeichenmodus, da hier nur 2 farbig dargestellt werden kann.

Wecker: Hilfsmittel zum einstellen und anzeigen der Uhrzeit und einer Weckzeit. Beim erreichen der Weckzeit ertönt ein Gong.

Notizblock: Ein einfacher Spickzettel für kurzweilige Notizen als Hilfsmittel.

Rechner: Ein Taschenrechner mit allen Grundrechenarten als Hilfsmittel.

SelectPrinter: Hilfsmittel zum verändern des aktuellen Druckertreibers aus einem Programm heraus.

Paint Driver: Erzeugt aus dem aktuellen Druckertreiber neue Druckertreiber. Diese drucken jedoch nicht auf Papier, sondern erzeugen beim "drucken" eines GeoWrite Dokuments ein GeoPaint Dokument. Dies ist hilfreich wenn man mit GeoWrite zweispaltige Texte erzeugen will.

Textgrabber: Verwandelt Texte von anderen Textverarbeitungssystemen, z.B.: Vizawrite in GeoWrite Dokumente.

GeoLaser: Druckt Doumente auf einem Apple Laserwriter aus.

GeoSpell 128: Eine Rechtschreibkorrektur mit Wörterbuch. Weitere Wörterbücher können angelegt werden. Das anlegen von Wörterbüchern ist jedoch ein mühseliges Unternehmen. Auch wenn GeoSpell 128, läuft nur im 80 Zeichenmodus, sehr viel schneller als GeoSpell 64 ist, macht das arbeiten damit keinen Spaß, weil es immer noch zu langsam ist und das ursprüngliche Wörterbuch so klein ist, daß die Hälfte der Wörter eines Textes GeoSpell als unbekannt meldet und diese dann bearbeitet werden müssen.

PrinterCreator 128: Dient zum manipulieren und anpassen von Megadruckertreibern.

Printer Edit 128: Dient zum manipulieren und anpassen von NLQ Druckertreibern.

128 RBOOT: Ermöglicht den schnellen Neustart von GEOS aus dem normalen 128er Betriebssystem heraus wenn GEOS zuvor verlassen wurde. Meistens reicht aber eine RESET, insbesondere wenn eine RAM Disk angeschlossen ist, oder der Befehl BANK1:SYS49152.

128 Konfigure: Wenn ein weiteres Laufwerk hinzugeschaltet oder gegen ein anderes Laufwerk, z.B.: 1541 weg 1581 dazu, ausgetauscht werden soll benötigt man 128 Konfigure.

GeoMerge 128: Hiermit kann man Serienbriefe erstellen.

Das GEOS 128 V2.0 Programmpaket wird abgrundet durch 10 verschiedene Zeichensätze, 5 Konvertierungsdateien für den Textgrabber, Treiber für Joystick und Maus 1351 sowie eine große Menge Druckertreiber.

Wie sieht es nun mit den zusätzlichen Programmen von Markt & Technik bzw. Berkely Softworks aus?

GeoFile 128: Eine Dateiverwaltung der Superlative. GeoFile128 läuft nur im 80 Zeichenmodus und stellt deshalb immer die volle DIN A4 Breite eines Formulars dar. Das von GeoFile 64 bekannte verschiebbare Fenster zum schnellen aussuchen der Formularposition gibt es glücklicherweise nicht.

GeoCalc 128: Eine Tabellenkalkulation. Sehr erfreulich macht sich hier die schneller Taktfrequenz unter GEOS 128 bemerkbar.

Hinweis: Anfangs wurde von der kompatibilität des GEOS 64 V2.0 und GEOS 128 V2.0 gesprochen. Trotzdem gibt es z.B.: GeoFile 64 und GeoFile128. Leider gilt diese kompatibilität nur wenn der Programmierer sich streng an die Regeln des GEOS Betriebssystem hält. Um aber noch mehr herauszuholen aus dem 64er bzw. 128er wird dieser Pfad mitunter verlassen. Deshalb läuft z.B.: GeoFile 64 nicht unter GEOS 128. Dies gilt aber nur für wenige Programme.

Für Dokumente gilt aber bisher immer vollständige kompatibilität. So lassen sich GeoFile 64 Dokumente auch von GeoFile 128 lesen und umgekehrt. Gleiches gilt auch für GeoCalc 64 bzw. 128 sowie GeoWrite 2.1 64 bzw. 128.

GeoChart: Ein Programm zur grafischen Darstellung von Daten, z.B.: in Form von Tortengrafiken. Diese Program läuft nur im 40 Zeichenmodus.

GeoPublish: Mit diesem Programm kann man sehr gut einfache, aber anspruchsvolle Zeitungen erstellen. Das beste Beispiel ist wohl die Geos User Post, die Clubzeitschrift des Geos User Club. Unter GEOS 128 läuft GeoPublish nur im 40 Zeichenmodus ist jedoch etwas schneller. Insbesondere beim häufigen arbeiten mit Hilfsmitteln.

GeoProgrammer: Das Standartprogrammierpaket für den Assemblerspezialisten. Bestehend aus dem GeoAssembler, GeoLinker und einem GeoDebugger. Mit GeoProgrammer kann jedes Geos-Projekt verwirklich werden. Zwar ist GeoProgrammer nur für GEOS 64 gedacht, jedoch läuft es auch unter GEOS 128. Mit einem Trick sogar im 80 Zeichenmodus. Dazu muß man nur das 40/80 Zeichenflag im Infoblock auf $40 ändern. Dies funktioniert für GeoAssembler und GeoLinker, nicht aber beim GeoDebugger. Die Darstellung im 80 Zeichenmodus ist zwar etwas chaotisch, weil nur die linke Bildschirmhälfte gelöscht wird. Aber alle Funktionen sind ausführbar und korrekt. Belohnt wird man aber mit einer hohen Geschwindigkeit beim assemblieren und linken.

Hinweis: Den Trick mit dem 40/80 Zeichenflag sollte man bei jedem neuen Programm das nur im 40 Zeichenmodus läuft ausprobiert werden. Es lohnt sich. Wie das genau geht will Ich hier nicht erklären. Da sollte man sich schon etwas auskennen. Sonst richtet man nur Schaden an.

MegaAssembler: Der MegaAssembler ist das deutsche Gegenstück zum GeoProgrammer. Jedoch ist dieser auch für GEOS 128 und auch für den 80 Zeichenmodus konzipiert worden.

GeoBasic: GeoBasic ist das 3. Programmierpaket zu GEOS. Hierbei handelt es sich aber nicht um Assemblerprogrammierung, sondern um die einfach zu erlernene BASIC Programmiersprache, ähnlich dem Basic 7.0 des 128er. Jedoch viel leistungsfähiger durch GEOS. Leider ist GeoBasic ein sehr junges Produkt und so wie es zur Zeit aussieht von Fehlern förmlich durchsetzt. GeoBasic läuft auch unter GEOS 128 im 40 Zeichenmodus. Jedoch treten hier noch schneller Probleme auf als unter GEOS 64.

GeoTerm: Ein Programmpaket für die Datenfernübertragung. Hier wurde der optimalste Weg zur Lösung der Besonderheiten der GEOS 64, GEOS 128 40Z und GEOS 128 80Z Modi gewählt. Für jeden Modus gibt es ein eigenes Programm. Dadurch wird die optimalste Geschwindigkeit erreicht. So sollte jedes neue Programm angeboten werden. Als GEOS 128 Anwender benötige Ich eigentlich nur Programme die im 80 Zeichenmodus laufen.

DeskPack: Eine Programmsammlung bestehende aus GeoDex (Adreßverwaltung), GrafikGrabber (konvertiert Grafiken von Newsroom, PrintShop und PrintMaster ins Geos Fotomanagerformat), IconEditor (zum verändern der Icons), GeoMerge (zum erstellen von Serienbriefen), calender (Terminkalender) und BlackJack (Das Spiel 17+4). Alle Programme laufen unter GEOS 64 und GEOS 128 in beiden Bildschirmmodi.

FontPack: Eine Sammlung von internationalen Zeichensätzen. Zusätzlich gibt es einen FontEditor zum verändern von Zeichensätzen oder gar zum erstellen von neuen eigenen Zeichensätzen. Der Editor läuft auch unter GEOS 128 im 40 Zeichenmodus.

MegaPack 1: Enthält Kleingrafiken und Zeichensätze auf insgesamt 3 Disketten. Zusätzlich gibt es zwei Programme, den BitMapConverter (konvertiert normale 64er Bitmaps (Grafiken) ins GeosFormat) und den FontConverter (konvertiert Zeichensätze vom Printfox ins GeosFormat). Beide Programme laufen auch unter GEOS 128 im 40 Zeichenmodus.

MegaPack 2: Enthält sehr viele gute Grafiken in GeoPaint Dokumenten sowie einige Zeichensätze auf insgesamt 3 Disketten. Zusätzlich gibt es einige Programme. ZS-Converter (konvertiert normale 64er Zeichensätze ins GeosFormat), GeoPattern (erzeugt neue Füllmuster), GeoClock (eine Zeigeruhr), GeoDisk (Schütz Arbeitsdisketten), UnScratsch (Rettet gelöschte Dateien), NLQ-Wahl (erweiterte möglichkeiten im NLQ Druck). Alle Programm laufen auch unter GEOS 128 im 40 Zeichenmodus. GeoClock auch im 80 Zeichenmodus.

Alles über GEOS 2.0: Den Abschluß der GEOS Produkte von Markt & Technik bzw. Berkely Softworks bildet dieses Buch. Jeder dem das Handbuch zu GEOS 128 V2.0 nicht ausreicht ist mit diesem Buch gut bedient. Zwar bezieht sich das Buch zumeist auf GEOS 64 V2.0, da aber alle Funktionen von GEOS 64 V2.0 auch unter GEOS 128 V2.0 vorhanden sind bildet das Buch eine gute Grundlage für den weiteren Einstieg in die GEOS Welt. In einige Punkte wird auch speziell auf GEOS 128 V2.0 eingegangen.

So wie es im Moment aussieht werden in naher Zukunft keine weiteren GEOS Produkte für GEOS 64 und GEOS 128 von Markt & Technik bzw. Berkely Softworks erscheinen. Aber inzwischen sind andere Unternehmer, auch in Deutschland, auf GEOS aufmerksam geworden. Bei der folgenden Auflistung finden sich keine Produkte aus den USA oder England, weil Ich denke, daß für die meisten GEOS User eine Bestellung in diesen Ländern nicht in Frage kommt.

GEOS 2.0 Anwenderhandbuch: Dieses Buch vom Wolfram Verlag ist das Gegenstück zu Alles über GEOS 2.0. Jedoch wird GEOS 128 V2.0 nicht darin berücksichtigt. Das dieses nicht so schlimm ist wurde unter dem anderen Buch schon erklärt.

GEOS LQ: Ein Druckprogramm, kein Druckertreiber, das GeoWrite Dokumente in optimaler Druckqualität, ähnlich Laserdruckern, zu Papier bringt. Alle Programme zu diesem Paket laufen auch unter GEOS 128. Jedoch nur das eigentliche Druckprogramm auch unter dem 80 Zeichenmodus.

GEOS Professionell: Hier werden 2 Programmpakete angeboten.

Paket 1: Eine Silbentrennung für GeoWrite Dokumente. Die Silbentrennung läuft zwar nicht im 80 Zeichenmodus, aber dafür bietet dieses Programm erstmalig die Eigenschaft das beim starten selbstständig in den 40 Zeichenmodus umgeschaltet wird, falls aus dem 80 Zeichenmodus gestartet wurde. Nach dem beenden des Programms wird ggf. wieder in den 80 Zeichenmodus zurückgeschaltet.

Paket 2: RAMTop und Maustreiber. RAMTop installiert den DeskTop in den freien Platz der RAM Disk. Leider läuft dieses Tools nur unter GEOS 64. Die Maustreiber unterstützen auch die rechte Maustaste.

RTC Uhr: Eine Echtzeituhr, akkugepuffert, zum Anschluß am Userport. Die Programme zum einstellen der Uhr laufen leider nur unter dem normalen 64er Modus. Das auslesen der Uhr geschieht automatisch nach dem starten von GEOS jeder Version.

GEOS CP Uhr: Eine Echtzeituhr, akkugepuffert, zum Anschluß am Cassettenport. Es gibt spezielle Versionen für jeden Rechnertyp (C=64, C=128, C=128D). Das Einstellprogramm gibt es einmal für den 40 Zeichen- und den 80 Zeichenmodus.

Damit ist die Auflistung zunächst erst einmal beendet. Bewußt wurden bei den Produkten keine Bezugsquellen angegeben. Diese können der einschlägigen Werbung entnommen werden.

Über Software haben wir nun genug gelesen. Wie sieht es aber mit der Hardware rund um GEOS 128 aus? Da ist zunächst einmal der C=128 mit Floppy 1571, möglicherweise auch ein C=128D. Als Floppy reicht unter GEOS 128 zunächst auch eine 1541 bzw. 1541-2. Die 1570 möchte Ich aus ganz oben genannten Gründen nicht empfehlen. Ein Monochrommonitor sollte per 40-/80 Zeichenumschalter angeschlossen sein. Ein Joystick ergänzt die Minstestausrüstung.

Der GEOS Freund wird sich gerne nach und nach seine Hardware genauso ergänzen wie seine Software soweit es seine Mittel zulassen. Da eine Maus 1351 nicht allzuviel kostet sollte diese als nächstes folgen. Dann nach der Einarbeitung in GEOS wird schnell der Wunsch nach einer Geschwindigkeitssteigerung wach. Das geht am besten mit eine RAM Expansion 1750 (512KB) oder einer 1764 (256KB) die zu einer 1750 aufgerüstet wurde. Eine GeoRam, der Ersatz für die nicht mehr gebaute 1750, tuts auch, aber etwas langsamer. Damit hat man schon ein sehr gutes und schnelles System zusammen.

Irgendwann soll das erarbeitete auch zu Papier kommen. Also ein Drucker muß her. Hier möchte Ich nur einen epsonkompatiblen Drucker mit Centronics Schnittstelle empfehlen. Eine großer Druckerpuffer ist zu empfehlen. Ein 24 Nadler muß es nicht sein. Ein 9 Nadler, etwa Seikosha SP 2000 oder Star LC 10-2 reichen völlig aus. Natürlich braucht man für den Anschluß eines solchen Druckers eine geeignetes Druckerkabel zum Anschluß an den Userport. Dies ist das sogenannten GeosCable (gc) welches identisch mit fast jedem handelsüblichen Centronicsdruckerkabel des C=64/128 ist. Von einem Betrieb eines Centronicsdruckers mit einem externen Interface zum Anschluß an den seriellen Port möchte Ich unbedingt abraten. Die meisten GEOS User schaffen es nicht das Interface und Drucker perfekt einzustellen. Mit dem GeosCable gibt es dagegen kaum Probleme.

Was jetzt noch an Hardwareerweiterung kommt ist reinster Luxus: Als zweite Floppy sollte eine 1581 folgen. Am besten sogar 2 davon. Die 1541 wird dann nur noch benutzt wenn man mal eine solche Diskette in die Hände bekommt. Bei mir steht ist die 1541-2 praktisch in Rente. Der DFÜ Fan wird sich einen Aktustikkoppler oder Modem zulegen. Der BTX Fan ein BTX Modul 2 oder den Softwaredekoder, denn in BTX gibt es inzwischen 4 Anbieter (*GEOS#) wo es etwas über GEOS zu lesen gibt. Sogar GEOS Telesoftware ist schon zu finden. Der Luxus wird abgrundet durch eine Cassetten- oder Userportuhr. Die Krönung ist schließlich ein Farbmonitor der aber unter GEOS 128 im 80 Zeichenmodus nichts bringt.

Leider kann man an einige der Hardwareprodukte nur sehr schwer herankommen. Dies liegt an der merkwürdigen Produktionspolitik von Commodore. So werden die besten Produkte von Commdore, die Floppy 1581, die Maus 1351, die RAM Karten 1750, 1764 und das BTX Modul 2 nicht mehr gebaut. Man findet nur noch Restbestände oder Gebrauchtgeräte. Also muß man rechtzeitig nach ihnen Ausschau halten.

29 Eta+ 24 KB Font F.W.-GeoFontV2.0 VLIR 1990-02-04 02:08 6r .cvt
Multi-Font-Zeichensatz
Erstellt von
F.W. (C)02.1990 GUC-HH
30 Kappa+ 28 KB Font F.W.-GeoFontV2.0 VLIR 1990-03-04 23:34 ,r .cvt
Multi-Font-Zeichensatz
Erstellt von
F.W. (C)03.1990 GUC-HH
31 My+ 23 KB Font F.W.-GeoFontV2.0 VLIR 1990-03-05 00:45 Ö * .cvt
Multi-Font-Zeichensatz
Erstellt von
F.W. (C)03.1990 GUC-HH
32 Ny+ 22 KB Font F.W.-GeoFontV2.0 VLIR 1990-03-09 00:35 Ö2x .cvt
Multi-Font-Zeichensatz
Erstellt von
F.W. (C)03.1990 GUC-HH
33 Theta+ 23 KB Font F.W.-GeoFontV2.0 VLIR 1990-03-04 20:20 &rh .cvt
Multi-Font-Zeichensatz
Erstellt von
F.W. (C)03.1990 GUC-HH
34 4_Gewinnt 5 KB Application Spiel V1.3 SEQ 1990-06-03 12:06 Mario Anthes .cvt
Ein beliebtes Taktikspiel für 1 oder 2 Personen.
35 Streichholzspiel 2 KB Application STREICHHOLZSPIEL SEQ 1987-07-03 18:15 NICKI HEUSLER .cvt
Dieses Programm ist das ide- ale Mittel gegen Computer-
stress...
36 op.holz 7 KB Non-GEOS SEQ .prg
37 geoText+ 21 KB Application geoText_GE V2.0 VLIR 1990-09-11 00:17 Stefan Milcke .cvt
Der schnelle Editor für GeoWrite-Dokumente

37 file(s), 272 KB

geos-app_boot-creation-docs.d2m — “geoler” id:il [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 CalcMove 3 KB Application CalcMover V1 SEQ 1992-10-16 14:21 Steven E. Eyrse .cvt
This will move the Caculator to where YOU want it. Airs' :)
2 Bootsystem 6 KB App Data Write Image V2.1 VLIR 1993-09-07 23:48 RALF SCHÜLER .cvt .html

HERSTELLUNG DER AUTOBOOT-VERSION

Die Arbeitsprogramme sind in ihrer Anwen-

dungsreihenfolge aufgelistet :

1.) LINKER 64 ; 2.) GEOBOOT ; 3.) UL BOOT

4.) REU ZAP ; (5.) autoboot als Beispiel für die

fertige Bootversion des Geos-Bootteils).

Zunächst erstellt man mit "geo make boot " das

File Geoboot . Dieses PGM muß mit einem

Basic Startvektor versehen werden, also mit

einer Zeile SYS xxx . Dieses leistet das

Programm "LINKER 64", indem es eben diese

Zeile in Geoboot "einbaut".

Dazu Linker 64 & Geoboot auf eine leere Disk

kopieren und Linker von Basic (Load"li*",8:Run/

Stop) starten. Folgende Eingaben müssen erfol-

gen:

1000 (für Zeile)

LADER (für Name)

AUTOBOOT (für PGM Name)

1 (für Anzahl der Programme)

0 (für Verschieben eines Maschi.PGM 1 nur

wenn Maschinen-und Basicprogramme gelinkt

werden sollen)

j (Alles Richtig ?)

GEOBOOT (für Name des 1tenPGM's)

RETURN (wenn Adresse angezeigt wird

! merken ! (11 416)

1 (wenn nach PGM gefragt wird)

2 (wenn nach Einsprung gefragt wird

also Befehl JMP nicht JSR )

11 416 (wenn gefragt wird: EINSPRUNG:)

0 (wenn erneut Einsprung gefragt)

2 (wenn nach weiteren PGM gefragt wird)

Nach dieser Eingabe beginnt Linker mit der

Arbeit.

Das neue File kann Autoboot genannt werden,

denn nun muß man UL BOOT starten und als

zu bearbeitendes Programm Autoboot angeben.

Ul boot lädt daraufhin Autoboot und wandelt es

in einProgrammfile um, welches sehr schnell

geladen wird und zudem ab Track 36 bis

maximalTrack 41 abgespeichert wird. Im

Directory erscheint daher nur ein 1KB langer

Eintrag, der Startvektor des späteren

Autoboot-PGR `s. Wenn kein anderes Programm

auf der Diskette vorhanden wäre, so würden

noch 163KB, also fast die ganze Disk frei sein,

obwohl Autoboot bzw. Geoboot ca. 15 KB groß

ist. Geos und der normale C-64 Modus

benutzen nur Track 1-35 auf den Disketten.

Wenn das File "U" AUTOBOOT als erstes auf

der Diskette steht, kann man es mit

LOAD"*",8,1 starten und damit den gesamten

Bootvogang.

HERSTELLUNG DES ZAP FILES

Auf der Disk mit der Autobootversion kann nun

die Datei KONFIGURIEREN als zweite,

die Datei CURSOR MANAGER als dritte,

und die nun folgende ZAP Datei als vierte

Datei installiert werden. Es ist zu beachten,

daß erst "U" ,

dann "KONFIGUR." ,

dann "autostartdateien wie z.B.

Cursor Manager " ,

dann das ZAP-FILE installiert

werden!

Sonst wird Geos nicht richtig gebootet ! ! ! ! ! !

Cursor Manager kann auch weggelassen

werden.

Auf der hoffentlich vorhandenen RAM-Disk

werden nun all die Programme versammelt,

die man oft benötigt. Dabei darf die Gesamtgrö

ße ca.80 KB nicht überschreiten ! ! !

Diese Zahl gilt für alle, die eine 1541

Floppy benutzen. Größere Floppies können

auch größere Zap Files verarbeiten.

Dann entfernt man den RAM-DESKTOP

mittels C=L, denn der nimmt einige KB an

Speicherplatz weg. ( ! Gilt nur für diejenigen,

die einen TOP DESK verwenden).

Man kann auch einen Desk Top im Zap File

verarbeiten, der dann sofort zur Verfügung

steht, aber viel Speicherplatz für

Anwendungen verbraucht.

Es ist wichtig, daß man das PGM "REU

ZAP" auf einer anderen Disk hat ! Auf der Disk, die schon die Autobootversion

enthält, sollte sich außer Konfigur., und einer

kleinen Autostartdatei (z.B. Cursor Man) nichts

anderes befinden. Sicherheitshalber kann

man auf der RAM-Disk ein VALIDATE aus-

führen, sodaß wirklich alle unerwünschten

Programme gelöscht sind. Nun lädt man

REU ZAP von einer anderen Disk.

Autoboot Disk einlegen !

Reu Zap mit C= & Z starten !

I : Auf DISK klicken !

(Es steht nun Drive B im Mitteilungskästchen)

II : Wieder auf DISK klicken !

(Es steht nun Drive A im Mitt...")

RETURN drücken !

Falls Diskfehler angezeigt wird Punkt I & II

wiederholen!

WARTEN.

Am Ende ist die Autobootdiskette fertig.

In der schon angegebenen Reihenfolge,

siehe auch Beispieldiskette, wird nun der

Arbeitsdesktop gebootet und auf die Ram-Disk

übertragen ohne C=K benutzen zu müssen.

Das Ganze dauert ca. 1:50 Min.( Je nach Floppy)

Wenn man nun eine Sicherheitskopie der

Disk anfertigen will, so geht dies nur, wenn

man ein Programm hat, welches auch bis

Track 41 kopiert !

Beispiel: Der Burstnibbler von Eurosystems.

Andernfalls wird der Bootteil nicht mitkopiert

und der C-64 endet nach dem Laden des

U-Files in einer "blauen Wolke."

ZU DEN PROGRAMMEN :

!! SIND ALLE NICHT VON MIR !!

!! DAFÜR ABER DIE IDEE UND ETLICHE

BASTELSTUNDEN !!

LINKER 64 : M & T Verlag

Seite 124 , "Best of Floppytools VOL 2"

ULTRABOOT: M & T Verlag

Seite 36 ff, "Best of Floppytools VOL. 1"

REU ZAP : Geos User Club

STORM DISK I

GEOS MAKE BOOT : CMD ( USA)

Ralf Schüler

Holtenauer Str. 120

24105 Kiel

3 CMD_MOVE 7 KB Application RAM Move V1.0 SEQ 1992-08-11 22:59 Jim Collette .cvt
Change RL 1581 partitions & copy files between them.

3 file(s), 15 KB

geos-app_btx-terminal-128.d2m — “btx+tsw.128” id:hd [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 systest.sda 9 KB Non-GEOS SEQ .prg
2 sys-test.128 8 KB Non-GEOS SEQ .prg
3 dcf0.1.bas 2 KB Non-GEOS SEQ .prg
4 QuickMove128 8 KB Application Part Aid V1.4 SEQ 1990-09-24 09:56 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying.
5 128 DESKTOP 34 KB System 128 desk Ge V2.0 VLIR 1989-01-23 13:00 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
6 email.txt 112 KB Non-GEOS SEQ .prg
7 btx-p9 1 KB Non-GEOS SEQ .prg
8 btx-p9.o 11 KB Non-GEOS SEQ .prg
9 btx-p24 1 KB Non-GEOS SEQ .prg
10 btx-p24.o 8 KB Non-GEOS SEQ .prg
11 btx.boot128/high 11 KB Non-GEOS SEQ .prg
12 btx.main128 32 KB Non-GEOS SEQ .prg
13 btx.para128 1 KB Non-GEOS SEQ .prg
14 btx.editor128 9 KB Non-GEOS SEQ .prg
15 t.geos 1 KB Non-GEOS SEQ .seq
16 t.matting 1 KB Non-GEOS SEQ .seq
17 t.812 1 KB Non-GEOS SEQ .seq
18 t.sonderzeichen 2 KB Non-GEOS SEQ .seq
19 t.sonderzeichen2 1 KB Non-GEOS SEQ .seq
20 m.anwahl 1 KB Non-GEOS SEQ .prg

20 file(s), 245 KB

geos-app_c128-utils-geochart-geocalc-geodir.d81 — “copy c128 utilit” id:cm [D81, 819,200 bytes] download .d81

#FilenameSizeGEOS TypeClassSDateAuthor
1 der hexer v1.4nd 10 KB Non-GEOS SEQ .prg
2 top-flop + korri 16 KB Non-GEOS SEQ .prg
3 top-flop.sub 1 KB Non-GEOS SEQ .prg
4 boot-128 1 KB Non-GEOS SEQ .prg
5 bbr128/4.01 42 KB Non-GEOS SEQ .prg
6 c128 seq-to-prg 1 KB Non-GEOS SEQ .prg
7 diskcopy 16 KB Non-GEOS SEQ .prg
8 examine file 1 KB Non-GEOS SEQ .prg
9 format.128 16 KB Non-GEOS SEQ .prg
10 bc4 1 KB Non-GEOS SEQ .prg
11 mc4a 2 KB Non-GEOS SEQ .prg
12 read.me-128/64 10 KB Non-GEOS SEQ .seq
13 diskcopy-read.me 3 KB Non-GEOS SEQ .seq
14 about tables 3 KB Non-GEOS SEQ .seq
15 tastbelegung... 1 KB Non-GEOS SEQ .seq
16 setup 1 KB Non-GEOS SEQ .prg
17 set-clock 1 KB Non-GEOS SEQ .prg
18 normal ascii 1 KB Non-GEOS SEQ .prg
19 screen codes 1 KB Non-GEOS SEQ .prg
20 screen codes-2 1 KB Non-GEOS SEQ .prg
21 special ascii 1 KB Non-GEOS SEQ .prg
22 GeoChart 60 KB Application GEOCHART GE V1.0 VLIR 1989-02-24 15:05 Anna Lijphart .cvt
Use geoChart to create interesting presentation graphics.
23 GeoCalc 128 47 KB Application geoCalc V1.0 VLIR 1988-05-08 14:54 Dan Kaufman .cvt
geoCalc 128 is a powerful and easy to use spreadsheet.
24 GeoDir 42 KB Application geoDir V1.0 VLIR 1990-07-22 17:23 J.-M. Groß/Berlin'90 .cvt
Basic-Application. Druckt Diskinhalte aus. Braucht 'geodirass' (von InstallgD)
25 GeoSpell 128 28 KB Application GEOSPELL128 V1.1 VLIR 1989-04-02 21:11 Steve Scholl .cvt
GeoSpell dient zur Kontrolle ihres GeoWrite-Dokumentes.
26 Updater 1.1 DOK 21 KB App Data Write Image V2.1 VLIR 1992-03-28 21:40 .cvt .html
Fonts: RomaLQ

Dokumentation zum Programm

UPDATER 1.1

Autor : Dirk Lausecker

Datum : 29.02.1992

Länge : ca. 7 kByte

Filetyp : Application (Anwendung)

programmiert mit : MegaAssembler (DPT)

Inhalt : Systemanforderungen Seite 2

Programmbeschreibung Seite 2

UPDATER in Aktion Seite 3

-Programm starten

-Kopiervorgang starten

-Programm verlassen

-Autostart aktivieren Seite 4

-Kopieren mit Sicherheitskopie

Erläuterung der Menüpunkte Seite 5

-Menüpunkt geos

-Menüpunkt SetUp

-Menüpunkt Ende

-Menüpunkt Info

-Menüpunkt Test

Tastenkürzel Seite 6

UPDATE Icon Seite 6

ALLES Icon Seite 6

Kontaktadresse Seite 6

Systemanforderungen

Konfiguration: -eine RAM-Disk (RAM1541,1571 oder 1581)

-mindestens ein echtes Laufwerk (1541,1571 oder 1581)

-GEOS 2.0 , 64er oder 128er Version

Bildschirm: -beide Bildschirmmodi des 128er-GEOS sind erlaubt

Programmbeschreibung

Jeder der mit einer RAM-Disk arbeitet, weiß den Geschwindigkeitsvorteil zu schätzen . Er kennt aber auch die bösen Überraschungen, die passieren können, wenn man vergessen hat, die bearbeitete Datei auf die 'echte' Arbeitsdiskette zu kopieren .

Aber auch dieser Vorgang kann ziemlich ermüdend sein, wenn man mehrere Dateien bearbeitet hat, und nicht mehr weiß, welche Dateien noch zurückgeschrieben werden müssen . Pro Datei fällt dann auch noch eine Sicherheitsabfrage mit an, die ja bekanntlich immer wieder mit JA beantwortet werden muß .

Um dieses Manko des DESKTOP's oder TOPDESK's wettzumachen, wurde ein Programm geschrieben, daß diesen Vorgang absolut automatisch durchführt .

Dieses Programm heißt UPDATER und liegt in der Version 1.1 seit Ende Februar 1992 vor. Es stellt fest, welche Dateinamen auf der RAM-Disk und Arbeitsdiskette identisch sind . Von diesen Dateien werden die Datum- und Zeiteinträge miteinander verglichen . Sollte sich auf der RAM-Disk die neuere Datei befinden, so wird der Dateiname in eine Tabelle eingetragen, welche die Namen der zu kopierenden Dateien enthält . Diese Tabelle wird auch auf dem Bildschirm dargestellt.

Mit der Tastenkombination C=U oder durch Anklicken des UPDATE -Icon's wird der Kopiervorgang für alle angezeigten Dateien ausgelöst. Sollte die Zieldatei schreibgeschützt sein, erfolgt eine Sicherheitsabfrage. Nachdem das Programm alle Dateien kopiert hat, kann mit einer anderen Diskette der Vorgang wiederholt , oder mit dem Menüpunkt Ende das Programm verlassen werden.

Im Gegensatz zur Version 1.0, erkennt UPDATER 1.1 Dateien, die neu erstellt wurden. Diese Dateien werden kursiv dargestellt. Durch Anklicken des ALLES-Icons werden auch diese Dateien kopiert. Um Verluste durch die Datumweiterschaltung einzugrenzen, werden auch Dateien erkannt, welche vom Vortag sind. Mit der Einschränkung, daß kein neuer Monat begonnen wurde.

Für ganz wichtige Dateien besteht die Möglichkeit des Kopierens mit Sicherheitsdatei (BackUp). dabei wird die alte Datei umbenannt und danach die neue Datei kopiert. Bis zum nächsten UPDATE'n kann dann immer noch auf die vorletzte Version zurückgegriffen werden.

ACHTUNG: Bitte beachten Sie folgende Einschränkungen:

-Dateinamen sollten keine Steuerzeichen enthalten !

-Das Datum bei der Arbeit mit GEOS immer richtig stellen !

-Nur GEOS-spezifische Dateien können aktualisiert werden !

UPDATER in Aktion

Mit den folgendenen Stichpunkten soll die Wirkungsweise des Programms erläutert werden.

Programm starten

-UPDATER durch Doppelklicken auf das Piktogramm vom Desktop heraus starten.

Auf dem Bildschirm erscheinen verschiedene Tabellen und Fenster. In einem Fenster wird die Anzahl der gefundenen Dateien, welche sich in der RAM-Disk befinden, angezeigt. Danach läuft das echte Laufwerk an und kurze Zeit später erscheinen in den Tabellen die Dateinamen und die Daten wann das Programm das letzte Mal aktualisiert wurde.

Sollte die Autostart-Funktion aktiv sein, erscheint eine Dialogbox mit dem Text Autostart in 9 Sekunden. Wenn man nicht will, das der Kopiervorgang gestartet wird, hat man die Möglichkeit durch Anklicken des Abbruch-Icon's den Vorgang abzubrechen.

Kopiervorgang starten

Es wird zwischen zwei Kopiervarianten unterschieden:

1. Variante: nur Dateien erneuern (UPDATE)

2. Variante: alle angezeigten Dateien kopieren (ALLES)

1. Variante (UPDATE)

Bei dieser Variante werden nur die Dateien kopiert, die schon auf der Zieldiskette vorhanden sind. Es werden hintereinander die angezeigten Dateien von der RAM-Disk auf das andere Laufwerk kopiert. Durch anhaltendes Drücken der Leertaste (kein Hämmern) kann der Vorgang abgebrochen werden. Auftretende Diskettenfehler (voll, defekt, Schreibschutz . . .) werden durch eine Dialogbox mit einem Fehlercode angezeigt.

2. Variante (ALLES)

Alle angezeigten Dateien werden hintereinander auf die Zieldiskette kopiert.

Programm verlassen

- C=Q eingeben oder

- Menüpunkt Ende anklicken

Autostart aktivieren

- Untermenüpunkt SetUp anklicken, 1. oder 2. Menüpunkt anwählen

Wenn der Autostartmodus eingeschaltet ist, wird der Kopiervorgang automatisch gestartet und danach das Programm verlassen. Man muß also nur das Programm aufrufen, und kann dann getrost zugucken, wie die Dateien kopiert werden. Je nachdem, welcher Menüpunkt aktiv ist (Auto ALLES oder Auto UPDATE), wird die jeweilige Kopiervariante eingestellt.

Achtung: Der Zustand 'Autostartmodus' wird im Infoblock des Programms vermerkt, es darf deshalb kein Schreibschutz auf der Diskette sein, von wo UPDATER gestartet wurde.

Kopieren mit Sicherheitskopie (BackUp) aktivieren

-Untermenüpunkt SetUp anwählen , BackUp anklicken.

Ein Sternchen vor dem Menüpunkt zeigt an, ob der Modus eingeschaltet ist.

Erläuterung: Beim Kopieren mit Sicherheitskopie wird die alte Datei auf der Zieldiskette umbenannt (vor dem Dateinamen wird ein # gesetzt). Anschließend wird die neue Version der Datei aus der RAM-Disk auf die Zieldiskette kopiert. Sollten sich bei der weiteren Bearbeitung des Dokumentes Probleme einstellen, so kann man auf die vorletzte Version der Datei, welche sich auf der Diskette befindet, zurückgreifen. Diese Option dürfte besonders beim Programmieren hilfreich sein.

Erläuterung der Menüpunkte

Der Menüpunkt Updater beinhaltet die Untermenüpunkte:

-geos (Aufruf von maximal 8 Hilfsmitteln)

-SetUp (Ein/Ausschalten Autostartmodus,Sicherheitskopie Ein/Aus)

-Ende (zum Verlassen des Programms)

-Info (Infobox Autor , Copyright)

-Test (Testen einer anderen Diskette)

Menüpunkt geos

Der Menüpunkt geos beinhaltet die Programmnamen der ersten 8 Hilsmittel, welche sich auf der Diskette befinden, von wo UPDATER gestartet wurde. Sollten sich keine Hilfsmittel auf der Diskette befinden, ist der Menüpunkt ohne Funktion.

Menüpunkt SetUp

1.Untermenüpunkt: Auto UPDATE

Wenn dieser Untermenüpunkt aktiv ist, wird der Kopiervorgang "UPDATE-Kopieren" sofort nach dem Einlesen der Dateinamentabelle ausgeführt. Bei eingeschalteter Autostartfunktion erscheint vor dem Untermenüpunkt ein Sternchen.

2. Untermenüpunkt: Auto ALLES

Wenn dieser Untermenüpunkt aktiv ist, wird der Kopiervorgang "ALLES-Kopieren" sofort nach dem Einlesen der Dateinamentabelle ausgeführt. Bei eingeschalteter Autostartfunktion erscheint vor dem Untermenüpunkt ein Sternchen.

3 .Untermenüpunkt: BackUp

Wenn dieser Untermenüpunkt aktiv ist, wird "Kopieren mit Sicherheitskopie" eingeschaltet.

Der Zustand der letzten drei Funktionen wird dauerhaft gespeichert und ist beim nächsten Aufruf so eingestellt, wie er das letzte mal gesetzt war.

Menüpunkt Ende

Der Untermenüpunkt Ende dient zum Verlassen des Programms.

Menüpunkt Info

Hinter diesem Untermenüpunkt verbirgt sich eine Infobox über den Autor dieses Programms.

Menüpunkt Test

Dieser Untermenüpunkt dient zum Testen, ob die eingelegte Diskette Dateien enthält, die kopiert werden müssen. Es wird aber kein Kopiervorgang ausgelöst. Das geht nur mit dem UPDATE- bzw.

ALLES-Icon oder den Tastenkombinationen C=U bzw. C=A.

Tastenkürzel

Programm beenden C=Q

Infobox anzeigen C=I

Test auslösen (neue Diskette) C=T

UPDATE-Kopieren ausführen C=U

ALLES-Kopieren ausführen C=A

Der Kopiervorgang kann durch Drücken der

Leertaste unterbrochen werden !

UPDATE Icon

Durch Anklicken des UPDATE-Icon's wird der Kopiervorgang UPDATE-Kopieren ausgelöst .

ALLES Icon

Durch Anklicken des ALLES-Icon's wird der Kopiervorgang "ALLES-Kopieren" ausgeführt.

Kontaktadresse

Sollte jemand interessante Ideen und Anregungen zu diesem Programm haben, so kann er sich über die folgende Kontaktadresse mit dem Autor in Verbindung setzen .

27 GeoDex 21 KB Desk Acc geoDex V2.0 SEQ 1988-04-26 14:37 Chris Hawley .cvt
Use geoDex to store all your names and addresses for easy recall.
28 GeoHexer 15 KB Auto-Exec geoWizard V1.0 VLIR 1991-04-04 12:04 Jim Collette .cvt
*M* The Ultimate GEOS utility! Copyright (C) 1990, Jim Collette. All rights reserved. _GE_
29 CALENDAR 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
30 hexer 1.4 inst 12 KB Non-GEOS SEQ .prg
31 dolphin-hexer 5 KB Non-GEOS SEQ .prg
32 PrintBuffer 10 KB Auto-Exec PrintBuffer V1.1 VLIR 1991-09-09 13:25 Stefan Milcke .cvt
Nutzt die REU als Druckerbuffer. Nur mit RamProcess ! DrFlg: j
33 RamProcess 9 KB Auto-Exec RAMProcess V1.7 VLIR 1991-09-10 13:25 Stefan Milcke .cvt
Installiert Prozess-Handling in der REU.
34 UPDATER 8 KB Application UPDATER V1.1 SEQ 1992-03-11 20:11 Dirk Lausecker .cvt
bringt Ihre Disketten auf den aktuellen "RAM"-Stand !
35 P/S-Editor 7 KB Application P/S-Editor V3.0 SEQ 1989-09-13 17:01 F. Kirstein + C.C. .cvt
Piktogramm- und Sprite-Editor
36 format cp/m 7 KB Non-GEOS SEQ .prg
37 Icon Grabber 1.5 6 KB Desk Acc Icon GrabberV1.5 SEQ 1989-03-02 23:07 John Paul Young .cvt
This is a DA for fast icon transfers! -JPY
38 DATEPRINT 6 KB Application DatePrint V1.0 SEQ 1988-10-26 22:28 Dennis N. Seitz .cvt
shareware: $5 -Dennis Seitz
7137 Snake Rd
Oakland CA 94611
39 ScrapCutter 6 KB Application ScrapCutter V1.0 SEQ 1989-10-07 11:53 Carsten Clasohm .cvt
dient zum Herstellen von Ausschnitten aus Foto-Scraps
40 Notizblock 5 KB Desk Acc note pad V2.0 SEQ 1988-12-06 02:12 Requist & Hawley .cvt
41 NOTEPRINT 5 KB Application NotePrint V1.0 SEQ 1989-01-11 23:00 Dennis N. Seitz .cvt
shareware: $5 -Dennis Seitz
7137 Snake Rd
Oakland CA 94611
42 GeoList2.0 5 KB Application GeoList V2.0 SEQ 1989-02-20 11:37 John F. Howard .cvt
Lists a disk directory to printer or disk file.
43 ICON EDIT 2.1 5 KB Application iconEdit V2.1 SEQ 1987-03-15 12:00 Terry R. Mullett .cvt
Create, edit or duplicate icons for any GEOS filetype.
44 thirty-second od 5 KB Non-GEOS SEQ .prg
45 thirty-second nd 5 KB Non-GEOS SEQ .prg
46 GeoHexDump 5 KB Desk Acc geoWizDump V1.0 SEQ 1990-08-28 14:20 Jim Collette .cvt
GeoWizard screen dumps to geoPaint or Scrap.
Copyright (C) 1990, Jim Collette.
47 MultiAccess 5 KB Desk Acc MultiAccess V1.0 SEQ 1989-09-29 16:29 Carsten Clasohm .cvt
Hilfe zum Laden von Hilfsprogrammen
48 Print Selections 5 KB Desk Acc Print Selections SEQ 1986-04-07 15:14 Kai Tietje .cvt
=Teil des TurboDriver Utility=
wird benutzt um den Drucker-
treiber zu konfigurieren.
49 Icon Editor 11 KB Application Icon Editor V2.0 SEQ 1987-12-15 14:31 Eric E. Del Sesto .cvt
Erstellt Piktogramme fur GEOS-Dateien und nicht-GEOS-dateien.
50 GeoDirPrint2 5 KB Application geoDirPrint V1.1 SEQ 1988-02-22 21:09 John F. Howard .cvt
Updates V1.0 - supports two drives and draft/high quality printouts.
51 GeoDirPrint+NLQ+ 5 KB Application geoDirPrint V1.1 SEQ 1988-02-22 21:09 John F. Howard .cvt
Updates V1.0 - supports two drives ... / bei >draft< wird in NLQ gedruckt !!!
52 boseco 4 KB Non-GEOS SEQ .prg
53 TurboDriver 4 KB Application Printdriver V3.0 VLIR 1991-11-02 09:12 Kai Tietje .cvt
=Teil des TurboDriver Utility=
Dies ist der eigentliche Druckertreiber.
54 My dir 4 KB App Data PersDict V2.1 VLIR 1992-09-13 13:37 .cvt
55 GeoDump 4 KB Desk Acc Screen Dump V1.0 SEQ 1986-11-15 12:00 Arthur J. Dahm III .cvt
Dump the screen to a printer with this DA. Printer driver must be on the same disk.
56 InstallgD 4 KB Application InstallgD V1.0 SEQ 1990-07-16 00:53 J.-M.Groß/Berlin'90 .cvt
Programm zur Druckeranpassung und Installation des Programms 'geoDir'
57 Cursor.mgr 3 KB Auto-Exec Cursor Mgr V2.0 SEQ 1990-08-15 13:11 J.-M.Groß/Berlin'90 .cvt
Programm zum Ändern des Cursorverhaltens mit autoboot GEOS 64/128 1.3/2.0
58 In128CLI 1 KB Auto-Exec In128CLI GE V2.3 SEQ 1992-05-30 20:37 Jürgen Eckel .cvt
59 Uhr_V1.0 1 KB Auto-Exec ResProcess V1.0 VLIR 1991-08-04 13:25 Stefan Milcke .cvt
Ständige Uhrzeit in der rechten oberen Ecke.
60 Alarm Flash 3 KB Application Alarm Flash V1.0 SEQ 1988-09-05 04:49 Red Storm .cvt
Allows timer alarm to flash the border.
61 AnalogClock 3 KB Desk Acc Analog ClockV1.2 SEQ 1988-08-23 00:09 Charles W. Bozarth .cvt
An analog clock that ticks and chimes.
62 GeoDirPrint2 Inf 3 KB App Data Write Image V2.0 VLIR 1991-06-20 22:09 .cvt .html

GeoDirPrint2

Mit diesem PRG kann das Directory einer Floppy 1541 ausgedruckt werden. Andere Laufwerkstypen werden leider (noch) nicht berücksichtigt.

Es werden dabei 2 Laufwerke angezeigt, d. h., ein Wechsel zwischen Laufwerk A und B oder/und ein Diskwechsel sind möglich.

Der Druck kann in >Draft< oder >High< erfolgen :

-> Draft = normale Schnellschrift

-> High = Graphikmodus und Fettschrift

Zu beachten ist, daß der aktuell eingestellte Druckertreiber, also derjenige, der unter dem Druckersymbol im Desktop zu sehen ist, sich auf der Disk befindet, da sonst ein Fehler angezeigt und zum Desktop zurückgekehrt wird.

In den ersten 2 Zeilen des Ausdrucks stehen u. a. das aktuelle Datum (vorher aktualisieren !, in amerikanischer Schreibweise : Monat/Tag/Jahr), der Diskname und die Anzahl des freien Speicherplatzes in kByte.

Wenn es sich um eine GEOS-Disk handelt, ist >GEOS format V1.0< zu lesen, weiterhin steht anstelle des normalen Filetyps (PRG, SEQ,...) dann die GEOS-Fileart (Application, Font,...) dort.

Die Spalte >Permanent Name< zeigt die GEOS-Fileklasse (>class<) an, z. b. GeoWrite 2.1 oder Desktop 2.0 .

Zusätzlich befindet sich auf der Rückseite der GeoWorldDisk #1 noch eine veränderte Form dieses PRG :

==> geoDirPrint+NLQ

Damit kann bei Anklicken des Feldes >Draft< der Ausdruck im NLQ-Modus erfolgen.

Die Druckform über >High< wurde nicht verändert.

So kann über mein PRG >NLQ-Wahl< (in Kürze über M&T erhältlich) z. B. die Super-Minischrift eingestellt und damit gedruckt werden. Gerade bei langen Inhaltsverzeichnissen ist dies interessant.

Die NLQ-Sequenz des Treibers kann aber auch mit >Printer Edit< von GEOS 2.0 verändert werden.

An einer Anpassung der PRG an andere Laufwerkstypen (1571 + 1581) wird gearbeitet. Wenn es möglich ist, erfolgt bald eine Aktualisierung.

63 AKTUALISIEREN 3 KB Desk Acc aktualisieren1.0 SEQ 1992-01-31 20:14 Dirk Lausecker .cvt
kopiert das zuletzt im Desktop selektierte Dokument auf das andere Laufwerk !
64 c128 hyprasystem 3 KB Non-GEOS SEQ .prg
65 GeoReplicator 3 KB Application Multiple V1.0 SEQ 1986-10-21 01:01 Scott E. Resh .cvt
Multiple will allow you to printmultiple copies of a GeoPaint file
66 GeoReplic. 80Z 3 KB Application Multiple V1.0 SEQ 1986-10-21 01:01 Scott E. Resh .cvt
Multiple will allow you to printmultiple copies of a GeoPaint file
67 40 SCRN Print In 3 KB App Data Write Image V2.0 VLIR 1991-06-20 22:21 .cvt .html

40 SCRN Print

Hiermit wird eine Hardcopy des Bildschirms ausgedruckt.

Diese Graphik ist knapp 1/2 DIN A4 Seite breit !! (320 Punkte)

Normal wird die Hardcopy am linken Papierrand beginnend gedruckt.

Wenn der Drucker eine Auflösung von mindestens 640 Punkten drucken kann, kann das Papier zurückgedreht werden und genau neben der 1. Hardcopy eine 2., vom rechten Rand beginnende Hardcopy gedruckt werden. Dies hilft Platz sparen uns sieht gar nicht so schlecht aus. Dazu muß nach Start des PRG bis zum Druckbeginn die Maustaste gedrückt werden.

Falls ein Einzelblatt zum Drucken am rechten Rand verwendet wird, muß es eventuell etwas weiter nach rechts eingelegt werden, da sonst ein Teil der rechten Seite des Bildes nicht mehr auf dem Papier gedruckt wird.

Laut Anleitung im File >Page 2< soll dieses Hardcopy-PRG bei Farbdruckern auch in Farbe drucken können !!!

Speziell mit den Treibern für >Okimate< soll das PRG zusammenarbeiten.

Dieses Hardcopy-PRG kann auch über das Menü >geos< in der linken oberen Ecke aus Anwendungen wie z. B. GeoPaint heraus gestartet werden.

Beim Start wird der aktuell eingestellte Druckertreiber (der unter dem Druckersymbol im Desktop steht) automatisch geladen.

Somit können auch spezielle Graphiktreiber (Megatreiber) verwendet werden.

68 GetDirectory 3 KB Desk Acc GetDirectoryV1.2 SEQ 1988-08-04 07:05 Nicholas Vrtis .cvt
Get a Directory into a geoWrite Text Scrap file.
69 Wechsel_128 3 KB Desk Acc Wechsel V1.1 SEQ 1988-08-22 01:16 U. Schultze .cvt
70 GeoClock-80 3 KB Desk Acc geoClock-80 V1.1 SEQ 1989-07-27 17:49 Carsten Clasohm .cvt
keine Digitaluhr, sondern eine richtige Uhr mit Zeigern (80-Zeichen-Modus)
71 autoboot maker 2 KB Non-GEOS SEQ .prg
72 Change Input 2 KB Desk Acc Change Input V1.0 SEQ 1987-01-05 12:00 Arthur J. Dahm III .cvt
Use this desk accessory to change the input driver while in an application.
73 Change Printer 2 KB Desk Acc Change Printer V1.0 SEQ 1987-01-05 12:00 Arthur J. Dahm III .cvt
Use this desk accessory to change the printer driver while in an application.
74 PrintBuffer.txt 2 KB App Data Write Image V2.1 VLIR 1991-09-09 13:25 .cvt .html
Aktuelle Änderungen und Neuerungen zu RamProcess und PrinterBuffer.

Änderungen/Neuerungen

75 NLQ-Wahl_gc 2 KB Desk Acc NLQ-Wahlgc V1.1 SEQ 1989-07-11 15:04 Th. Haberland+C.C. .cvt
Einstellung der NLQ-Druckerparameter bei Userport-Anschluß
76 NLQ-Wahl_com 2 KB Desk Acc NLQ-Wahlcom V1.1 SEQ 1989-07-11 15:04 Th. Haberland+C.C. .cvt
zum Einstellen der NLQ-Druckerparameter
77 GeoClock-40 2 KB Desk Acc geoClock-40 V1.1 SEQ 1989-06-03 15:57 Carsten Clasohm .cvt
keine Digitaluhr, sondern eine richtige Uhr mit Zeigern (40-Zeichen-Modus)
78 AKTUALISIER.TXT 2 KB App Data Write Image V2.1 VLIR 1993-01-03 18:53 .cvt .html
Fonts: BSW

Info zum Hilfsprogramm aktualisieren

Das Programm aktualisieren ist ein kleines Hilfsprogramm, daß beim Erstellen des Programms UPDATER mit 'abgefallen' ist.

In den Standardapplikationen GEOWRITE,GEOPAINT u.s.w. gibt es einen Untermenüpunkt aktualisieren. Durch Anwahl dieses Menüpunktes wird der aktuelle Stand des Dokumentes in die jeweilige Datei geschrieben. Bei der Arbeit mit einer RAM-Disk ist die Datensicherheit aber erst gewährleistet, wenn die Datei auf eine echte Diskette geschrieben wird. Durch Anklicken des Hilfsmittels aktualisieren im Menüpunkt geos wird die Datei von der RAM-Disk auf das andere Laufwerk kopiert.

ACHTUNG! Es wird das Dokument kopiert, welches im Desktop mit einem Doppelklick gestartet wurde. Wenn ein Wechsel zu einem anderen Dokument innerhalb der Applikation durchgeführt wurde, wird nicht dieses, sondern das im Desktop gestartete Dokument kopiert.

Leider ist eine richtige Erkennung des aktuellen Dateinamen aufgrund der verschiedenen Applikationen nicht so leicht zu realisieren.

Sollte auf der anderen Diskette schon das Dokument vorhanden sein, so wird es dort überschrieben.

Viel Spaß beim Arbeiten mit aktualisieren wünscht:

79 aufb_ega.cpi 2 KB Non-GEOS SEQ .seq
80 Wechsel_64 2 KB Desk Acc Wechsel V1.0 SEQ 1990-06-21 01:39 Ulrich Schultze .cvt
Hilfsprogramm zum schnellen Wechsel der Applikationen.
81 DBGetFile128v2.0 2 KB Auto-Exec UpDate V1.0 SEQ 1988-08-22 01:07 Jean F. Major .cvt
Update DB_GetFile many more Files...
82 NOTE PRINTER 2 KB BASIC NOTE PRINTER SEQ 1986-10-01 19:33 Arthur J. Dahm III .cvt
Use this program to printout notepad pages to your printer.
83 Watchset4 2 KB Desk Acc Wristwatch V4.0 SEQ 1987-01-01 01:00 Master laster .cvt
84 Note Print. Info 2 KB App Data Write Image V2.0 VLIR 1991-06-28 16:42 .cvt .html

Note Printer

Dieses PRG druckt Dateien aus dem Notizblock. Es läuft unter Geos und im Basic des C 64.

Zum Starten ' Note Printer ' Icon doppelklicken. Um wieder ins Geos zurückzukehren, die Bootdisk einlegen und Restore drücken.

Im Basic ' Load "Note Printer",8 ' eingeben und mit ' Run ' starten.

Aussteigen aus dem PRG kann man mit der ' Run/Stop ' Taste.

Zum drucken die Diskette mit den Notizblock-Dateien einlegen und Return drücken.

Die erste Seite des Notizbuckes erscheint.

Mit F1 blättert man vorwärts, mit F3 rückwärts. Die aktuelle Seite wird mit F7 gedruckt

85 SELECT PRINTER 2 KB Desk Acc select printer SEQ 1988-02-17 20:00 Ciprina & Bonse .cvt
Select Printer erlaubt es, aus jedem Geos-Programm, den Drucker zu wählen.
86 Alarm Flash Info 2 KB App Data Write Image V2.0 VLIR 1991-06-20 22:04 .cvt .html

Alarm Flash

Nach Aktivierung der Alarmzeit mit >Wecker< kann dieses PRG aufgerufen werden.

Bei Erreichen der Alarmzeit flackert der Bildschirmrahmen in allen Farben.

Dieses PRG wurde hauptsächlich für die Anwender geschrieben, die mit einem Monitor ohne Lautsprecher arbeiten.

Laut PRG-Hinweis soll >Alarm Flash< (noch) nicht mit GEOS 128 funktionieren.

Bei mir funktionierte es nicht zusammen mit GEOS 2.0 (C64), nach erreichen der Alarmzeit flackerte nur ganz kurz der Rahmen, anschließend war keine Mausbewegung

87 GeoDump Info 2 KB App Data Write Image V2.0 VLIR 1991-06-27 20:36 .cvt .html

GEODUMP Screen Printer

Der ' GEODUMP Screen Printer ' druckt den Bildschirminhalt in Farbe oder Schwarz/Weiß aus. Das

Programm druckt das Bild schneller als die GeoPaint Druckoption. Der Bildschirm muß nicht aktuallisiert

werden.

Gestartet wird das Programm entweder aus dem Geos-Menü oder durch doppelklick des Icons.

Der Drucker muß angeschaltet, und der richtige Treiber aktiviert sein, andernfalls kehrt es zur Applikation

oder zum Desktop zurück.

Das Programm arbeitet nicht in anderen Desk Accesory (Notizblock,Kalender).

88 PrintBuffer.cfg 2 KB App Data Write Image V2.1 VLIR 1991-06-11 13:25 .cvt .html

;Konfigurationsdatei für PrinterBuffer

89 hyprasystem.boot 1 KB Non-GEOS SEQ .prg
90 40 SCRN PRINT 1 KB Desk Acc ScreenPrntr V2.1 SEQ 1987-11-21 00:47 Greg King .cvt
Dump the screen to a printer with this DA. "Hold" click button for right-side printing.
91 Change Print Inf 1 KB App Data Write Image V2.0 VLIR 1991-06-20 22:31 .cvt .html

Change Printer

Mit diesem PRG kann der Druckertreiber ebenfalls aus Anwendungen heraus verändert werden.

Dieses PRG ist von der Funktion her identisch mit >Select Printer< von GEOS 2.0.

92 GeoDirAss 1 KB Data geodirdata V1.0 VLIR 1988-08-22 01:10 J.-M.Groß/Berlin'90 .cvt
Hilfsroutinen und Druckerdaten für das Programm 'geoDir'
93 HARDCOPY 1 KB Desk Acc HARDCOPY V1.3 SEQ 1988-10-20 21:50 F.W. (C)1988 .cvt
Herstellen und drucken von Bildschirm-Hardcopy's !
RESTORE druecken !!
94 Change Input Inf 1 KB App Data Write Image V2.0 VLIR 1991-06-20 22:29 .cvt .html

Change Input

95 CLOCK V1.3 1 KB Desk Acc LOCK V1.3 SEQ 1988-04-08 14:25 UEDIGER ERKLOH .cvt
96 RamPrinter 1 KB Printer Drv Printdriver V3.0 SEQ 1991-06-28 13:25 Stefan Milcke .cvt
Treiber für PrinterBuffer.
97 SaveSystem 1 KB BASIC SaveSystem V1.0 SEQ 1991-06-21 13:25 Stefan Milcke .cvt
Schützt die Systemdiskette von GEOS vor überschreiben auf Spur 20.
98 Text Scrap 1 KB System Text Scrap V2.0 SEQ 1992-03-23 14:03 .cvt
99 SCREENDUMPER 1 KB Desk Acc ScreenDump V1.0 SEQ 1986-10-21 13:41 Todd J. Crusan .cvt
This is a screen dump desk accessory.
100 DUMP 1 KB Desk Acc DUMP SEQ 1986-04-07 00:00 rgh .cvt
101 double-touch 1 KB Non-GEOS SEQ .prg
102 MiniDesk 6 KB Desk Acc MiniDeskTop V1.0 SEQ 1990-08-09 15:11 Jim Collette .cvt
Copy, Scratch, and Rename files.
Copyright (C) 1990, Jim Collette.
103 Anleitungen ! 71 KB App Data Write Image V2.1 VLIR 1991-04-21 17:12 .cvt .html
Anleitungen zu GEOS Professionel Disk #4

>> Disk Tools <<

GEOS Professionel #4 >>Tools<< - Anleitungen

GEOS Professionel #4 >>Tools - Anleitungen<<

Werte GEOS-Anwenderin, werter GEOS-Anwender,

vielen Dank für Ihre Bestellung dieser 4. Diskette in unserer Software Reihe GEOS Professionel. Auch hier sind einige gute Programme und Utilities für GEOS enthalten.

Im folgenden finden Sie neben einer ausführlichen Anleitung zum installieren der Programme Erklärungen zum arbeiten damit. Am einfachsten ist es, diese einmal komplett auszudrucken. (24 Seiten insgesamt)

Die einzelnen Kapitel gliedern sich wie folgt:

Installieren - Seite 2

File Master - Seite 3

Cursor Manager - Seite 9

geoDir - Seite 11

Wechsel - Seite 17

Maustreiber - Seite 20

Nachsatz - Seite 22

weitere Produkte - Seite 23

Wir wünschen Ihnen viel Spaß mit den neuen Programmen.

Sollten Sie irgendwelche Anmerkungen dazu haben, wenden Sie sich an unseren Beauftragten Thomas Haberland vom GEOS-USER-CLUB.

Auch Ideen für neue Programme nehmen wir gerne an, sind wir doch bemüht, weitere gute GEOS-Tools herauszubringen. Sollten Sie einen Programmfehler finden, was wir natürlich nicht hoffen, wenden Sie sich bitte ebenfalls an Thomas Haberland.

Haben Sie selbst ein gutes GEOS-Programm geschrieben und möchten es vermarkten ? Wenden Sie sich an Thomas Haberland, er berät Sie unverbindlich und objektiv und hilft gerne weiter.

Sollten Sie eine Rckantwort erwarten, möchten wir Sie bitten, ein ausreichendes Rückporto Ihren Briefen beizulegen; unsere sehr knapp kalkulierten Preise lassen keinen großen Spielraum für diese zusätzlichen Ausgabe, wir bieten dafür lieber unser Software zu einem erschwinglichen, fairen Preis an.

Thomas Haberland

-GEOS Professionel-

Postfach 667

5100 Aachen

The World of Books Ltd., Worms, im April 1991

1. Installieren der Diskette

Im Gegensatz zu unseren ersten 3 GEOS-Paketen müssen einige Programme auf dieser Diskette installiert werden. Dies geht nur auf der ausgelieferten Original-Diskette, jedoch nicht auf einer Kopie! Ohne Installation sind diese Programme nicht startbar.

Haben Sie keine Bedenken vor diesem Installieren. Wir haben diesen Vorgang intensiv getestet und dabei niemals Probleme gehabt; es ist nicht vergleichbar mit dem extrem aufwendigen installieren der Boot-Disketten von GEOS 2.0. Im Prinzip kann hier nichts schief gehen.

Booten Sie GEOS ganz normal wie immer. Konfigurieren Sie, falls Sie nicht normalerweise damit arbeiten, eine Floppy 1541; überlichweise als Laufwerk A, dies ist aber keine Voraussetzung.

Legen Sie nun die ausgelieferte Diskette "Disk Tools #4" ein und öffnen sie (mit dem Mauszeiger auf dem entsprechenden Laufwerkssymbol klicken).

Nun starten Sie in beliebiger Reihenfolge die im folgenden aufgezählten 4 Programme mit dem üblichen schnellen Doppelklick:

- File Master

- geoDir

- InstallgD

- Cursor.mgr

Jedes File sollten Sie hier nur einmal starten. Es erscheint jedesmal eine Dialogbox mit der Meldung "Programm installiert. Bitte Button drücken zur Rückkehr zum Desktop".

Mit drücken der Maustaste bzw. des Feuerknopfes am Joystick kehrt man zum Desktop zurück.

Hat man alle 4 Files installiert, können alle Files auf der Diskette auf eine Arbeits-Diskette (Sicherheitskopie) kopiert werden. Alles weitere sollte nun nur noch mit der Sicherheitskopie bzw. Arbeits-Diskette geschehen. Die installierte Original-Diskette sollte weggelegt und an einem sicheren Ort aufbewahrt werden - wie allgemein bei Original-Disketten üblich.

Bevor Sie nun mit den einzelnen Programmen arbeiten, sollten Sie sich die folgenden Anleitungen gut durchlesen und diese eventuell ausdrucken.

Falls das installieren nicht fehlerfrei geklappt hat, dabei irgendein Fehler angezeigt wurde oder es einfach nicht installierbar war, schicken Sie die Original-Diskette mit einem entsprechenden Begleitbrief zurück an den Verlag The World of Books Ltd., Worms. Sie erhalten umgehend eine Austausch-Diskette.

-th-

2. File Master (Autor: Jens-Michael Groß)

2.1 Programmstart

File Master ist ein umfangreiches Programm zum bearbeiten von Icons sowie editieren eines Teils des Info-Blocks.

Das Programm läuft unter GEOS 128 lediglich im 40-Zeichenmodus, aufgrund des Icon-Editors wäre eine Anpassung an den 80-Zeichenmodus zu aufwendig gewesen.

Nach dem Start erscheint eine Auswahlbox, in der das zu bearbeitende File samt Icon ausgewählt werden kann. Mit dem anklicken auf "Next" kann man alle Files im Desktop durchgehen. Jedoch werden die Dateien auf dem Rand nicht zur Bearbeitung angezeigt; der Rand ist der Teil des Bildschirms unter dem Desktop selbst zwischen den Symbolen Drucker und Papierkorb.

Will man ein neues Icon entwerfen bzw. den File Master ohne auswählen eines Files starten, kann man das bei Programmstart in der Dialogbox angezeigte imaginäre "Workfile" öffnen.

Mit anklicken von "öffnen" wird das in der Dialogbox angezeigte File zum bearbeiten mit dem Programm ausgewählt. Das dazugehörende Icon wird in den dafür vorgesehenen Bereich geladen. Der Info-Block wird ausgelesen und im großen Fenster rechts am Bildschirm angezeigt.

2.2 Icon Editor

Die linke Seite des angezeigten Bildschirms ist für den Icon Editor vorgesehen.

Das Icon wird einmal in Original-Größe angezeigt. In dieser großen Darstellung ist es für die Bearbeitung mit dem Editor vorgesehen.

Innerhalb dieses großen Bereiches kann das Icon mit Hilfe des Mauszeigers editiert werden. Durch klicken wird der Punkt, an dem sich der Zeiger befindet, umgekehrt. Das heißt, ist der Punkt gesetzt, wird er gelöscht, ist er nicht gesetzt, wird er mit dem klicken gesetzt.

Die beiden Rechtecke unter und rechts neben dem Editor-Bereich enthalten bestimmte Werkzeuge für den Editor.

unten:

Mit den beiden Pfeilen >links< und >rechts< kann das komplette Icon jeweils durch 1maliges klicken um je einen Punkt in die entsprechende Richtung verschoben werden.

Der Bereich, der dabei aus dem Editor-Bereich verschwindet, wird auf der anderen Seite angehängt. Man kann sich das etwa so vorstellen, daß das Icon auf einer Rolle liegt, die gedreht wird. Das was auf der einen Seite vermeindlich verschwindet, taucht dann auf der anderen Seite wieder auf.

In der Mitte ist ein Werkzeug zum lschen des Icon-Bereiches. Mit anklicken der überkreuzten Linien wird das angezeigte Icon gelöscht. Seien Sie also vorsichtig mit bei der Benutzung dieses Werkzeuges.

Mit anklicken von RESTORE im Menü "File" kann jedoch der zuletzt gespeicherte Zustand bzw. das auf Disk gespeicherte zu dem geöffneten File gehörende Icon zurückgelesen werden!

rechts:

Für die Pfeile >hoch< und >runter< gilt das für die Links-/Rechts-Pfeile gesagte, nur in horizontaler Richtung.

Zwischen den Pfeilen befindet sich das Werkzeug "umkehren". Mit anklicken dieses wird das komplette Icon als Negativ dargestellt. Das bedeutet, dort wo Punkte gesetzt waren, sind nun keine mehr gesetzt und umgekehrt. Mit nochmaligem anklicken wird das Icon wieder 'normal' angezeigt.

2.3 Icons weiterbearbeiten

Mit Hilfe der beiden Symbole "Hand mit Pfeil" links neben dem Editier-Bereich können die Icons umkopiert werden.

Das untere Symbol mit dem Pfeil unter der "Hand" kopiert das angezeigte Icon in eines der am unteren Bildschirmrand angezeigten Icon-Zwischenspeicher. Nach dem anklicken des Symbols wird der Mauszeiger in dieser Leiste unten positioniert. Sobald man auf eines der Icon-Fenster klickt, wird das oben angezeigte in dieses Fenster hineinkopiert.

Ein bereits im Fenster angezeigtes Icon wird dabei überschrieben.

Das obere Handsymbol mit dem Pfeil über der "Hand" funktioniert anders herum. Das heißt, ein Icon kann aus dem Icon-Zwischenspeicher in das Editier-Fenster kopiert werden. Nach anklicken des Symbols steht der Mauszeiger ebenfalls im unteren Bereich, mit anklicken eines der Icons wird das entsprechende nach oben kopiert.

Ein im Editor-Bereich angezeigtes Icon wird dabei überschrieben.

2.4 Icon - Zwischenablage

In dieser Zwischenablage sind insgesamt 18 Icon-Fenster vorhanden. Bei Programmstart sind alle leer, sichtbar an dem Eintrag "empty".

Auf der ausgelieferten Diskette befindet sich nun eine Datei "Icon File". Dies enthält insgesamt 17 verschiedene Icons, einige bekannt von GEOS-Programmen, und auch neue. Geladen und angezeigt werden können diese Icons über den Menpunkt "load" im Menü "Icons". Die in diesem File enthaltenen Icons werden dann im Zwischenspeicher angezeigt:

Hat man nun ein eigenes Icon erstellt oder möchte sich Sammlungen von Icons anlegen, kann man den kompletten Bereich "Icon Zwischenablage" sowie das im Editier-Bereich angezeigte Icon in einem File auf Diskette speichern: Menü "Icon", Untermenü "save".

Nach anklicken von "save" erscheint eine Dialogbox, in der nach dem Namen des zu speichernden Files gefragt wird. Hat man bereits ein File geladen oder gespeichert, wird der letzte verwendete Filename in dieser Box vorgegeben! Wird diese Vorgabe nicht verändert, wird das bereits bestehende Datenfile überschrieben, also das alte File damit gelöscht, sobald RETURN gedrückt wird. Man sollte hier besser den Filenamen ändern oder durch hinzufügen von z. B. einer Zahl o. ä. ergänzen.

Die hiermit erzeugten Datenfiles sind nur vom File Master verwendbar. Die Informationen werden als Dateiart "reine Daten" gespeichert und können von bislang keinem anderen Programm gelesen werden.

2.5 Photo Scrap

Ein Icon kann weiterhin als Photo Scrap gespeichert werden. Mit anklicken von "copy" im Menü "Icon" wird das im Editier-Bereich angezeigte Icon als Photo Scrap auf dem aktuellen Laufwerk gespeichert. Der Photo Scrap kann dann in anderen GEOS-Programmen wie üblich eingeklebt und eventuell weiterverwendet werden.

2.6 Icons 'klauen'

Mit "get" kann das Icon eines anderen File im aktuellen Laufwerk, von dem aus File Master gestartet wurde, in den Editier-Bereich eingelesen werden.

Hat man z. B. ein eigenes Programm geschrieben und möchte dieses Programm mit einem modifizierten Icon eines bestehenden Files versehen, öffnet man das eigene Programm beim Start des File Masters als Workfile. Danach holt man mit "get" aus dem Menü "Icon" das bestehende Icon eines anderes Files auf der gleichen Diskette, um es anschließend entsprechend zu modifizieren und dann als Icon des eigenen Programms abzuspeichern.

2.7 Der Info-Block

Wie bereits erwähnt wird der Info-Block des geöffneten Workfiles (außer dem imaginären leeren) rechts im eigenen Info-Bereich angezeigt:

Bis auf den Info-Text werden alle bekannten Daten hier dargestellt. Zusätzlich dazu wird noch das sonst unsichtbare 40-/80-Zeichen-Flag angezeigt.

Dieses 'Flag' ist ein bestimmtes Byte im Info-Block. Je nach dem darin enthaltenen Wert weiß das System GEOS, ob dieses File

a) nur im 40-Zeichenmodus,

b) nur im 80-Zeichenmodus,

c) oder im 40- und 80-Zeichenmodus

ablaufen kann! Interessant ist dieses Flag jedoch nur für die Anwender von GEOS 128! Denn unter GEOS 64 kann kein Programm, das nur im 80-Zeichenmodus läuft, nach setzen des 40-Zeichenflgas in diesem Modus laufen.

Ebenso wie alle anderen Informationen im Info-Sektor, außer dem Eintrag hinter "Autor", kann auch dieses Flag verändert werden!

Jedoch sollte man vorsichtig sein, denn nicht immer klappt das einwandfrei, es kann durchaus zu einem fürchterlichen Systemabsturz kommen.

Es gibt aber viele Programme, die aufgrund des entsprechend gesetzen Flags nur im 40-Zeichenmodus ablaufen, nach Änderung dieses Flags mit setzen des 80-Zeichen-Bits auch im 80-Zeichenmodus unter GEOS 128 laufen!

Das Problem hierbei sind die Mängel in der Darstellung. Da bei 80-Zeichen eine breitere Bildschirmanzeige erfolgt, müssen alle Menüs, Dialogboxen und Windows in einem Programm eigene Informationen für die Darstellung in diesem Modus haben. Diese beim programmieren zu erarbeiten, ist recht aufwendig, nicht jeder kann und will dies extra einbauen. Auerdem ist dies je nach Programmart, z. B. bei der Darstellung von Graphiken wie z. B. im File Master die Icons mit Icon-Editor, noch aufwendiger, da ganz andere, komplizierte Routinen für die breitere Darstellung implementiert werden müssen.

Enthält das Programm nur normale Menüs und Dialogboxen, läuft es oft auch im 80-Zeichenmodus, nachdem das entsprechende Flag mit File Master gesetzt wurde. Jedoch sind dann die Mens etwas zu kurz geraten, der rechte Teil fehlt meist. In Dialogboxen sind dann oft die enthaltenen Icons (OK - Abbruch - Ja - Nein ... ) außerhalb der Box positioniert, können aber in den meisten Fllen angeklickt werden und funktionieren auch entsprechend.

Sollte es nach einer Änderung des Flags im nicht vorgesehenen 80-Zeichenmodus zu Problemen kommen, sollte man die Änderung wieder rückgngig machen und das Programm nicht in diesem Modus verwenden.

Und da man Änderungen nie an einer Original-Datei sondern immer nur an einer Kopie vornehmen sollte, kann es nie zu Problemen kommen, falls einmal etwas schief gehen sollte ...

Ausdrücklich nochmals der Hinweis, daß es bei verändern dieses Flags unter Umständen zu Fehlern und Systemabstürzen kommen kann! Vor allem hier sollte man mit Vorsicht arbeiten, immer Sicherheitskopien erstellter Dokumente in der RAM auf einer echten Diskette machen und damit rechnen, da GEOS nach einem Absturz eventuell nicht mehr reaktivierbar ist und somit komplett neu gebootet werden muß!

Wie gesagt, da kann eintreten - muß aber nicht. Mit etwas vorsichtigem Ausprobieren dieses Flags kann man durchaus ohne Probleme arbeiten, man sollte nur vorher wissen, was man tut und für alle Fälle gewappnet sein.

Die restlichen Daten im angezeigten Info-Bereich können alle bis auf den eventuell vorhandenen Autoreneintrag editiert werden.

Jedoch ist auch hier Vorsicht angesagt! Ändert man z. B. bei einer Applikation die Adressen vom Speicheranfang, kann u. U. diese nicht mehr geladen werden!

Bei einem Hilfsmittel sollte man auf gar keinen Fall sowohl die Anfangs- als auch ganz besonders nicht die Endadresse ändern!

Ebenfalls die "Klasse" eines Files sollte nur mit Vorsicht verändert werden. Anhand dieses Eintrags werden die Files von GEOS in den Auswahlboxen der dazugehörenden Applikationen angezeigt! Weiterhin erkennt z. B. GeoWrite anhand der hier eingetragenen "Klasse" die Version des Dokuments. Mit dem alten GeoWrite wurden Dokumente der Klasse V1.1 oder V1.3 erzeugt, mit GEOS 64 V2.0 Dokumente der Klasse V2.0 und mit GEOS 128 V2.0 (den jeweils darin enthaltenen Versionen von GeoWrite) die Klasse V2.1 ! Durch diesen Eintrag kann GeoWrite 128 erkennen, daß das Dokument mit einer anderen, kleineren Version von GeoWrite erstellt wurde, gibt die entsprechende Meldung aus und fragt darin direkt nach, ob das Dokument nach V2.1 konvertiert werden soll.

Anhand des Eintrages "Appl.Klasse" weiß GEOS, welche Applikation beim Doppelklick (starten) dieses Dokuments geladen werden muß, also zu welcher Applikation dieses Dokument gehört.

Die Dateiart ("GEOS Filetyp") ist ein GEOS-spezifischer Wert und zeigt dem System an, wie es mit diesem File umgehen kann, darf und u. U. soll. So sind z. B. "Application Data" (= Dokumente) vom Desktop aus startbar, "Desk Accessory" (Hilfsmittel) werden in jeder Applikation im Menü "geos" oben links angezeigt, "AutoExec" (selbstausführende) Dateien werden automatisch nach dem booten gestartet, usw. Das Zuweisen einer anderen Applikations-Klasse kann also ganz gravierende, ja verherrende Folgen haben.

Klickt man in dieser Zeile "GEOS Filetyp", wird der Texteintrag gelöscht und es erscheint statt dessen der dazugehörige Wert. Eingeben kann man hier auch nur die Werte 0 bis 14, Texteingaben sind nicht möglich. Der Wert muß der gewünschten Klasse entsprechen.

Einzig ohne Probleme sind Datum und Zeit veränderbar. Ist kein Autoreneintrag vorhanden, kann einer eingetragen werden, ansonsten ist die Editierung dieses Feldes gesperrt.

Bei den o. g. Warnungen beim editieren des Info-Sektors wird sich mancher fragen, warum wir diese Funktionen berhaupt implementiert haben. Nun, wir meinen einfach, daß ein gutes Programm auch über diese Funktion verfügen sollte. Unter Umständen kann man diese doch recht gut gebrauchen, vor allem die Programmierer werden sich über dieses einfach zu bedienende Hilfsmittel freuen; ermöglicht es doch die individuelle Anpassung des Info-Blocks.

Um einen Eintrag zu editieren, geht man mit dem Mauszeiger auf diesen und klickt einmal. Am Zeilenende bzw. bei leerem Feld am Anfang erscheint dann ein Cursor. Nun kann man den jeweiligen Eintrag löschen und etwas neues eintragen. Am Ende sollte man nicht vergessen, die RETURN-Taste zu betätigen, denn erst damit werden die Änderungen bernommen.

Das Editieren des Info-Bereiches wird erst abgeschlossen, wenn der Mauszeiger aus dem Editier-Bereich herausgezogen wird! Dann wird das zuvor angeklickte und immer noch sichtbare File-Menü abgebaut und man befindet sich wieder im normalen Arbeits-Modus des File Masters.

2.8 Die Mens in der Übersicht

Hier abschließend eine Übersicht der 3 Kopf- und der jeweiligen Untermenüs:

geos

-> Programm Info (Hinweis auf den Autor)

-> soweit vorhanden Anzeige der Hilfsmittel

File

-> close (geladenes Workfile schließen & neues auswählen)

-> restore (letzten gespeicherten Zustand zurckholen)

-> info (Info-Block editieren)

-> update (aktuellen Zustand speichern)

-> disk (Wechsel der Diskette im aktuellen Laufwerk)

-> drive (Wechsel des Laufwerks: A - B - C - A ...)

-> quit (File Master beenden, speichern und Rückkehr zum Desktop)

Icon

-> load (gespeichertes Icon-Datenfile auswählen & laden)

-> save (alle Icons als Datenfile abspeichern)

-> get (Icon eines anderes, bestehenden Files einlesen)

-> copy (Icon im Editier-Bereich als PhotoScrap speichern)

Hinzufügen möchte ich noch folgendes:

a) Wird File Master über "close" oder "quit" verlassen bzw. die aktuelle Bearbeitung beendet, werden die durchgeführten Änderungen im jeweiligen geladenen Workfile automatisch gespeichert! Sollte man also an wichtigen Dateien etwas verändert haben, empfiehlt sich die Wiederherstellung der Daten mit "restore"! Ein "update" sollte man hierbei jedoch besser nicht durchführen.

b) Beim Wechsel des Laufwerkes mit "drive" wird immer auf das logisch nächste konfigurierte Laufwerk umgeschaltet. Haben Sie 3 Laufwerke konfiguriert und arbeiten auf Laufwerk B, wird beim ersten anklicken von "drive" die Diskette in Laufwerk C eingelesen! Bei nochmaligem anklicken dieses Menüs wird auf Laufwerk A, danach wieder auf B geschaltet. Die Reihenfolge geht also immer: A -> B -> C -> A -> B ... usw.

Hat man nur 2 Laufwerke konfiguriert, geht es entsprechend mit 2, bei nur einem bringt es außer dem Neueinlesen der Diskette nichts.

c) In den einzelnen Auswahlboxen wird kein Disk- oder Laufwerkswechsel angeboten. Startet man nun den File Master z. B. in der RAM und möchte ein File auf einem anderen Laufwerk editieren, kann man das als erstes angezeigte imaginäre Workfile öffnen und dann durch anklicken von "drive" das Laufwerk wechseln. Nach einlesen des Directorys wird dann wieder die File-Auswahlbox angezeigt.

d) Wird das imaginäre Workfile geöffnet, werden alle folgenden Operationen lediglich im Speicher jedoch an keinem echten File durchgeführt.

Dies sollte für den Einstieg in den File Master reichen. Einsetzen kann man dieses Programm vielfältig. Wenn man - zumindest anfangs - immer mit Sicherheitskopien der Files arbeitet, also nie mit einer Original-Datei, von der keine weitere Kopie existiert, kann im Grunde nichts schief gehen. Und sollte trotz allem etwas nicht einwandfrei klappen, hat man dann ja immer die Kopie (Duplikat) dieses Files zum weiterarbeiten.

3. Der Cursor Manager (Autor: Jens-Michael Groß)

Dieses selbststartende Utility erlaubt, den Cursor nach seinen individuellen Wünschen zu verändern. Die Einstellungen werden einmal durchgeführt und dann im File gespeichert. Kopiert man nun dieses File "Cursor.mgr" auf die Boot-Diskette, wird es von GEOS nach jedem booten automatisch geladen und ausgeführt, d. h. die geänderten Einstellungen des Cursors werden durchgeführt und sind global immer aktiv.

Die Position des Files "Cursor.mgr" auf der Boot-Diskette ist egal, es sollte lediglich hinter dem File KONFIGURIEREN stehen, da dieses als erstes gestartet werden sollte.

3.1 Start

Mit dem üblichen Doppelklick kann der Cursor Manager vom Desktop aus gestartet werden.

GEOS 128 Anwender können dieses File zwar auch im 80-Zeichenmodus starten, hier sind aber die Menüs etwas zu klein geraten, wie im vorigen Kapitel zum Thema 40-/80-Zeichenflag kurz erläutert wurde. Man kann jedoch im 80-Zeichenmodus alle Werte verändern, einstellen und speichern. Lediglich das Menü zum verlassen des Programms ist nur zu einem winzigen Teil sichtbar, so daß man nur mit genauem positionieren des Mauszeigers das Programm beenden kann.

Da diese Einstellungen im Grunde nur einmal genacht werden müssen, wurden die recht aufwendigen Berechnungen für die Darstellung der Mens im 80-Zeichenmodus nicht implementiert.

Im 40-Zeichenmodus funktioniert alles einwandfrei.

3.2 Verändern des Cursors

Im unteren Bereich des Bildschirms werden 3 verschiedene Einstellungen angezeigt. Jeweils 1 Pfeil befindet sich darüber und darunter.

Durch anklicken des Pfeils nach oben wird der angezeigte Zahlenwert (in hexadezimaler Darstellung) verringert, mit dem Pfeil nach unten wird er vergrößert.

Der maximale Bereich beträgt dabei minimal $01 und maximal $3F (dezimal 63). Größere oder kleinere Werte sind nicht vorgesehen und können nicht eingestellt werden; u. U. würden auch andere Werte zu Störungen im System GEOS führen.

3.2.1 Blinkspeed

Hiermit wird die Blinkgeschwindigkeit des Cursors eingestellt. Je kleiner der Zahlenwert ist, desto kürzer ist das Blinken. Je größer der Wert wird, desto größer werden die Zeitabstände zwischen jedem blinken.

3.2.2 Verzögerung

Hiermit ist die Zeitspanne gemeint, ab wann ein Tastendruck als Wiederholung aufgefaßt wird. Je kürzer der Wert ist, desto schneller wird 1 Tastendruck zum "Repeat", also zur Wiederholung der Anzeige / Eingabe der gedrückten Taste. Je größer der Wert ist, desto länger muß eine Taste gedrückt gehalten werden, damit sie wiederholt wird.

3.2.3 Frequenz

Hiermit wird die Wiederholungsgeschwindigkeit bei der Tastaturwiederholung eingestellt. Je kleiner der Wert, desto schneller erfolgt die Wiederholung. Je größer der Wert, desto langsamer ist sie.

3.3 Die Verwendung des Cursor Managers

Mit dem Cursor selbst hat ja eigentlich nur der erste Parameter etwas zu tun. Dennoch gehören alle 3 irgendwie zusammen und sind bei richtiger Einstellung korrekt aufeinander abgestimmt.

Wie man nun die einzelnen Werte einstellt, ist jedem Anwender selbst überlassen. Es hängt nicht zuletzt vom Anwender selbst ab, was sinnvoll ist und was nicht. Schreibt man z. B. in GeoWrite recht zügig, dürfte sich ein schnelles Blinken, eine kurze Verzögerung und hohe Frequenz empfehlen. Schreibt man etwas langsamer, würde diese Einstellung vermutlich eher zu unerwünschten Eingaben führen, wenn eine Taste etwas zu lange gedrückt wird und dann direkt Dutzende Male dieser Buchstabe erscheint.

Die jeweils geänderten Werte kann man sofort in der unten angezeigten Test-Zeile sehen und ausprobieren. Geben Sie hier Text ein und versuchen die für Sie geeignetere Einstellung herauszufinden.

3.4 Speichern der Einstellungen

Haben Sie die passenden Einstellungen gefunden, können Sie diese mit anklicken des Menüs "save" in der Menüzeile speichern.

Die entsprechenden Informationen werden intern im File Cursor Manager selbst gesichert.

Haben Sie Änderungen der Werte durchgeführt und wollen die ursprünglichen wieder haben, können diese durch anklicken von "load" zurückgeladen werden. So muß man sich auch nicht bei jedem experimentieren die letzte gefundene Einstellung merken; einfach speichern und gegebenenfalls zurückholen.

3.5 Sonstiges

Hat man die passenden Einstellungen gefunden, kann das Programm über anklicken von "quit" in der Menüzeile verlassen werden.

Mit anklicken von dem Menü "Info" erscheint eine Information über den Autor.

Nun kann, ja sollte die Datei Cursor Manager auf die Boot-Diskette kopiert werden. An welcher Stelle die Datei dort gespeichert wird, ist egal; nur nicht vor dem File KONFIGURIEREN.

Es sollte nur nicht der Rand sein, da selbststartende Dateien, die auf dem Rand liegen, vom System nicht berücksichtigt und folglich nach dem booten nicht gestartet werden.

Befindet sich dieses File auf der Boot-Diskette, werden bei jedem weiteren booten von GEOS die darin enthaltenen Einstellungen aktiviert.

Wohlgemerkt, es werden lediglich die Einstellungen aus dem Programm bernommen. Der Programmbildschirm zum einstellen bzw. verändern der Werte wird beim booten nicht aktiviert! Um diesen zu erhalten, muß der Cursor Manager vom Desktop aus gestartet werden.

Die Form des Cursors selbst könnte theoretisch auch verändert werden, es kann aber unter Umständen zu Problemen kommen; das System GEOS verkraftet eine andere Form des Cursors nicht in jedem Fall.

Um hier jegliche Probleme auszuschließen, wurde deswegen kein Sprite-Editor (nichts anderes ist der Cursor) implementiert. Mit einem schnelleren Blinken dürfte aber auch schon vielen geholfen werden.

4. geoDir (Autor: Jens-Michael Groß)

Bitte beachten Sie den folgenden Punkt, dieser ist für ein einwandfreies funktionieren des Programms geoDir unbedingt erforderlich!

4.1 Grundsätzliches zu geoDir

Zustäzlich zu dem in Kapitel 1 beschriebenen allgemeinen Installieren der Programme muß unabhängig davon das Programm geoDir nochmals installiert werden!

Warum, werde sicherlich einige fragen? Deshalb direkt einige Erläuterungen dazu, die auch zum allgemeinen Verständnis für die Arbeit mit dem Programm selbst und für dessen Ablauf von Bedeutung sind:

geoDir wurde mit dem Programmiertool GeoBasic geschrieben.

Über die erheblichen Mängel von GeoBasic und die damit verbundenen Probleme wurde bereits ausführlich im speziellen GeoBasic-Workshop im 64'er Sonderheft Nr. 59 von Markt&Technik berichtet; nur ansatzweise in einer Ausgabe der GEOS-USER-POST.

Neben vielen anderen großen Mängeln bereiten vor allem die in GeoBasic enthaltenen Diskettenroutinen erhebliche Probleme. Diese sind äußerst mangelhaft, was übrigens nicht nur die eigenen Diskettenbefehle sondern insgesamt alle Disk-Zugriffe auch von GeoBasic selbst betrifft! Kurz gesagt können die Disk-Befehle von GeoBasic noch nicht einmal zum lesen eines Directorys verwendet werden!

Als Lösung für dieses Problem wurde im o. g. Workshop eine kleine Assemblerroutine vorgestellt. Damit können blockweise Daten von Diskette ausgelesen werden.

Dieses Programm "geodirass" muß mit dem zusätzlichen Installieren von geoDir erzeugt werden; bitte verwenden Sie auf keinen Fall das im Workshop enthaltene gleichnamige File, da es inzwischen geringfügig verändert wurde. Dieses File muß hier mit Hilfe von "InstallgD" erzeugt werden!

Weiterhin möchte ich ausdrücklich darauf aufmerksam machen, daß geoDir als mit GeoBasic geschriebenes Programm nicht 100% einwandfrei läuft! Die Mängel in dem Programmiertool führen zwangslufig zu Mängeln in den damit geschriebenen Programmen! Soweit wie es möglich ist, wurden einige Dinge in geoDir behoben bzw. versucht zu umgehen, aber dennoch klappt es nicht ganz einwandfrei.

Folgende Mängel von geoDir sind derzeit bekannt:

a) geoDir läßt sich manchmal (!) nicht auf einer 1581 starten, Floppy oder RAM. Dennoch kann es, aufgerufen von einem Laufwerk 1541 oder 1571, sehr wohl das Directory einer 1581 einlesen und drucken!

Die Ursache hierfür drüfte im Problem von GeoBasic beim nachladen des Assembler-Files "geodirass" liegen, die andere Diskettenstruktur einer 1581 mag GeoBasic wohl nicht. Merkwürdig ist, daß geoDir ab und zu beim Start auf einer 1581 einen Fehler anzeigte und nicht gestartet werden konnte (Error 02: opening file). Meist klappte es jedoch, aber eben nicht immer. Da wir das alles nicht genau nachvollziehen können, GeoBasic ist nur schwer zu entschlüsseln, weisen wir hier ausdrücklich darauf hin.

b) Die Arbeitsgeschwindigkeit von geoDir ist ingesamt erschreckend langsam.. Selbst in einer RAM-Disk wird es nur unwesentlich schneller! Das liegt am zwangsläufig erforderlichen Basic-Interpreter, der ja bei jedem Basic-PRG amgehängt und jedesmal mitgeladen werden muß ("make Application"). Und der Basic-Interpreter von GeoBasic ist ein extrem langsamer.

c) Unter Umständen kann es durch einen zu langen Druckertreiber zu Problemen kommen. Entgegen den üblichen GEOS Regeln stellt GeoBasic für Druckertreiber etwas weniger Speicherplatz zur Verfügung. Je nach Treiber kann dieser in geoDir reservierte Bereich für Treiber überschritten werden, als Folge wird meist ein Systemfehler angezeigt (im Bereich von hex $7xxx). In diesem Fall muß ein anderer Druckertreiber verwendet werden.

d) geoDir läuft ausschließlich im 40-Zeichenmodus. Experimente mit dem ändern des 80-Zeichenflags (siehe File Master) sollten hier unbedingt unterbleiben, da GeoBasic selbst gar nicht im 80-Zeichenmodus laufen kann!

e) GeoBasic läßt für die Programme nicht gerade viel Speicherplatz übrig. Dieser wird nicht nur vom Programm selbst sondern auch zum speichern der Filenamen und dazugehörigen Parameter benötigt.

Sollte also eine Diskette sehr viele Fileeinträge enthalten, ist die Speicherkapazitt recht schnell erschöpft. Als Folge wird ein "Fehler 17" angezeigt und zum Desktop zurückgekehrt.

Leider kann man nichts anderes dagegen tun als so optimal wie möglich den Speicher im Programm zu nutzen, was hier aber bereits geschehen ist. Vor allem bei recht vollen 3,5" Disketten der 1581 bzw. einer RAM 1581 ist die Gefahr groß. Allerdings geht es hier nicht um die Größe der Dateien sondern lediglich die Zahl der Directory-Einträge.

Wir wir durch Versuche herausgefunden haben, liegt die Grenze zwischen 77 und ca. 110 Dateien auf einer Diskette! Das heißt, 77 Dateien verkraftet geoDir soeben noch, bereits bei 78 kann der Fehler angezeigt werden! Diese Zahl an Files wird nicht auf jeder Diskette erreicht und eigentlich nur auf 3,5" Disketten des öfteren vorkommen.

Unter GEOS 128 (im 40-Zeichenmodus) war bereits bei den o. g. 78 Dateien Ende. Unter GEOS 64 wird jedoch die rechnerisch ermittelbare Grenze von Dateien, die geoDir intern aufnehmen kann, normalerweise auch erreicht. Diese Grenze liegt bei 110 Dateien! Wie im Handbuch zu GeoBasic ausdrücklich erklärt wird, kann ein einwandfreies Funktionieren unter GEOS 128 nicht garantiert werden ...

Leider ist hier keine Abhilfe möglich, es sind halt die Grenzen von GeoBasic.

4.2 Installieren

Zum installieren von geoDir wird ein eigenes Programm mit Namen "InstallgD" mitgeliefert. Starten Sie dieses mit dem üblichen Doppelklick; geoDir selbst muß sich auf der gleichen Diskette befinden. Sie können, müssen jedoch diesen Vorgang nicht unbedingt auf der ausgelieferten Original-Diskette durchführen.

Nach dem Aufrufen des eigenen Installationsprogramms erscheint zuerst ein Hinweis auf den Autor. Mit drücken des Mausknopfes erscheinen nun nacheinander mehrere Dialogboxen, in denen einige Druckerbefehle eingegeben werden.

Es werden hier immer die in der internationalen Norm für Druckerbefehle "ESC/P", auch genannt Epson, festgelegten Befehle vorgegeben! Sollte Ihr Drucker also wirklich kompatibel zur Norm Epson sein, können Sie diese vorgegebenen Befehle einfach mit RETURN übernehmen. Sollte der Ausdruck nicht korrekt erfolgen, starten Sie nochmals das Programm InstallgD, kontrollieren dann die Vorgabewerte im Handbuch des Druckers und ändern sie gegebenenfalls.

(Viele ältere Drucker sowie alle Drucker mit eingebautem Interface sind meist trotz gegenteiliger Behauptung im Handbuch nicht 100% kompatibel zur Norm Epson! Alleine das Interface verhindert ja schon die Kompatibilität, sorgt es doch dafür, da die Druckdaten entsprechend der Form erwartet werden, wie Commdore sie vor vielen Jahren für das Ansteuern von Druckern festgelegt hat - dabei sendet GEOS alle Druckdaten ensprechend der Norm Epson, d. h. ein Interface wirkt hier immer (!) störend!)

Folgende Befehle werden der Reihe nach als Vorgabewerte genannt, jeweils immer in hexadezimaler Schreibweise:

1) Druckerreset $1B, $40 (27,64)

2) Zeilenvorschub 5/72 $1B,$41,$05 (27,65,5)

3) Subsript ein & Zeichenabstand 17 cpi $1B,$53,$01,$0F (27,83,1,15)

4) Sonstige Druckercodes:

$1B,$21,$18 (27,33,24 = Master Print Modus: Fett- und Schattendruck aktiv)

$1B,$52,$02 (27,82,2 = deutscher Zeichensatz ein)

Wie bereits erwähnt können bei Epson-kompatiblen Druckern eigentlich alle vorgegebenen und hier genannten Werte direkt übernommen werden.

Eine kleine Einschränkung kann es allerdings, abhängig vom Drucker, dennoch geben, unabhängig von der Kompatibilitt zur Norm Epson!

Nicht jeder Drucker ist in der Lage, in der verkleinerten Zeichendichte von 17 cpi gleichzeitig die Druckformen Fett- und Schattendruck auszudrucken; diese werden ja über das Setzen der entsprechenden Bits im Master Print Befehl eingeschaltet.

Hier sollte man dann den Wert "$18" in "$10" (= nur Fettdruck) verändern! Lesen Sie im Druckerhandbuch nach, ob Ihr Drucker diese Kombination (17 cpi + Fett + Schatten) zuläßt. Sollte es nicht im Handbuch stehen, übernehmen Sie erst einmal den Vorgabewert und führen einen Testdruck durch. Sollte der Druck nicht mit 17 cpi erfolgen (s. u.), ist also breiter als 1 Zeile, da nicht die vorgesehene Anzahl von Zeichen in 1 Zeile passen, können Sie diesen Wert auch hinterher jederzeit durch nochmaliges Starten von InstallgD ändern.

Beachten Sie, daß bei der Eingabe von Zahlen diese durch ein Komma getrennt werden müssen, vor jeder Zahl muß außerdem das Dollarzeichen ($) stehen.

Sollte Ihr Drucker einen der hier genannten Befehle nicht verstehen und folglich Unsinn bzw. nicht korrekt drucken, suchen Sie im Handbuch die hier genannten Funktionen der einzelnen Befehle und geben jeweils die dafür im Handbuch genannten an entsprechender Stelle ein!

Nach der letzten Dialogbox erscheint eine Mitteilung, daß nun erfolgreich die Datei "geodirass" erzeugt wurde. Mit drücken der Maustaste kann das Install-Programm verlassen werden. Nun kann das Programm geoDir gestartet werden.

Übrigens kann nun jederzeit erneut InstallgD aufgerufen werden, um z. B. einen oder mehrere Druckerbefehle zu ändern. Die geänderten Werte werden jedesmal im File gespeichert und bei den weiteren Ausdrucken von geoDir berücksichtigt.

Wichtig ist, daß die Datei "geodirass" zur Datei "geoDir" gehört! Beide Dateien müssen zusammen auf einer Diskette stehen, wenn eine Kopie erstellt werden soll! Das Assembler-File wird beim Start von geoDir nachgeladen.

4.3 geoDir

Nach dem Erzeugen des Files "geodirass" ist das Directory-Druck-Programm endlich startbereit. Mit dem üblichen Doppelklick wird das Programm gestartet. Sollte hier ein "Error 02: opening file" angezeigt werden, erinnern Sie sich an das oben gesagte; vermutlich haben Sie das Programm von einer 1581 aufgerufen und GeoBasic hat mal wieder diverse Probleme mit der anderen Floppystruktur. Starten Sie in diesem Fall geoDir von einem anderen Laufwerk aus, dann müßte es eigentlich klappen.

Nach dem Starten des Programms erscheint eine Graphik, in der sich der Autor verewigt hat. Darunter wird das aktuelle Laufwerk angezeigt.

Um nun ein Directory einzulesen, muß im Menü "disk" einer der folgenden Punkte angeklickt werden:

"change drive" - liest die Diskette im nächsten Laufwerk ein, oder

"change disk" - liest die (oder eine neue) Diskette im aktuellen Laufwerk ein.

Beim Laufwerkswechsel ist zu beachten, da bei 3 konfigurieren Laufwerken immer auf das nächste umgeschaltet wird: von A -> B -> C -> A -> B usw. Ein direktes Anwählen eines Laufwerkes ist nicht möglich.

Beim einlesen der Diskette wird das Laufwerk, der jeweilige Name der Disk und die gerade ausgeführte Tätigkeit angezeigt. Letzteres deswegen, da trotz Verwendung von Assemblerroutinen (geodirass) die Arbeitsgeschwindigkeit von geoDir erschreckend langsam ist.

Anschließend zeigt das Programm an, wieviele Files gefunden wurden und wieviel Speicher innerhalb des Programms noch frei ist.

Beachten Sie hier bitte den Punkt e) in Kapitel 2.1 zur Problematik der maximalen Anzahl von Einträgen, die geoDir aufgrund der Beschränkungen und Mängel von GeoBasic nicht überschreiten kann. Falls eine Diskette mehr Einträge (>77 bzw- >110) enthält, wird ein Fehler angezeigt und zum Desktop zurückgekehrt.

4.4 Selektieren von Dateien

Bevor wir nun zum ausdrucken des Directorys kommen, ein paar Erklärungen zu der Liste der verschiedenen GEOS-Dateiklassen am rechten Bildschirmrand.

Jeden angezeigten Namen kann man mit der Maus anklicken, er wird dann invers angezeigt. Man kann beliebig viele in beliebiger Reihenfolge und Kombination anklicken.

Was hat aber das auswählen der Dateiklassen zur Folge? Damit kann der Ausdruck beeinflußt werden. Jedoch anderherum als viele vielleicht denken mögen. Durch anklicken einer Dateiklasse werden alle dazugehörenden Files beim Ausdruck N I C H T berücksichtigt, also nicht mit ausgedruckt!

Klickt man z. B. "Printer" an, werden die auf der ausgelesenen Diskette enthaltenen Druckertreiber nicht mit ausgedruckt!

Dieser Weg wurde mit Absicht gewählt. Für manche mag es etwas ungewohnt sein, es hat aber, so meinen wir, durchaus seine Berechtigung. Dieser Weg ist sinnvoller und bringt im Endeffekt mehr.

Will man z. B. nur die Dokumente auf einer Diskette ausgedruckt bekommen, invertiert man alle anderen Dateiklassen außer der Klasse "Appl.-Data" (= Dokument).

Übrigens entspricht die Reihenfolge der hier angezeigten Dateiklassen der GEOS-internen Nummerierung. Im Info-Block (siehe File Master) wird ja nicht der Name der Klasse selbst gespeichert, in einem ganz bestimmten Byte wird entsprechend der Klasse der dazugehörige Zahlenwert geschrieben. GEOS versteht in der Version 2.0 15 verschiedene Klassen, angefangen mit den Nicht_Geos-Dateien (Wert = 0) bis hin zum 128er Eingabetreiber (Wert = 14).

Nochmals zur Verdeutlichung: Will man eine bestimmte Dateiklasse, z. B. die Boot-Files, Eingabetreiber, Druckertreiber, usw., nicht im Ausdruck drin haben, muß diese Dateiklasse in der Übersicht angeklickt werden. Will man anders herum nur eine bestimmte Dateiklasse, z. B. Dokumente oder Applikationen, im Ausdruck haben, müssen alle anderen Dateiklassen außer der oder den gewünschten angeklickt werden!

4.5 Drucken mit geoDir

Das Programm verwendet den normalen Druckertreiber, der im GEOS-Desktop eingestellt wurde und dessen Name unter dem Druckersymbol dort zu lesen ist. Von diesem Treiber wird die ASCII-Druckroutine verwendet, der Ausdruck erfolgt also im Modus Draft; es wird nicht im Graphik-Modus gedruckt.

Der hierfür verwendete Druckertreiber sollte also den ASCII-Druck beherrschen; nicht jeder Treiber kann dies unbedingt. Am besten verwendet man den üblichen NLQ-Treiber, damit drüfte es keine Probleme geben.

Die Umlaute werden in jedem Fall korrekt gedruckt, ein spezieller NLQ-Treiber muss dafür nicht verwendet werden!

Der Directory-Ausdruck hat folgendes Format:

Name der Diskette - Anzahl der Files - Hinweis geoDir v1.0

-----------------------------------------------------------------------------------------

Anzahl Blöcke 1. Filename Dateityp - Dateiklasse - Zusatzinfo

... usw.

Es werden immer 2 komplette Einträge nach dem o. g. Format nebeneinander (!) gedruckt.

Beachten Sie, daß nur die Files ausgedruckt werden, deren Dateiklasse nicht markiert wurde.

Folgende Kürzel werden von geoDir verwendet:

Dateityp: (steht ausgeschrieben im Info-Block jeder Datei!)

Ap = Applikation, z. B. GeoWrite

Au = selbststartend, z. B. KONFIGURIEREN

Pr = Druckertreiber

DA = Desk Accessory (Hilfsmittel)

Da = reine Daten, z. B. geodirass

AD = Dokument (Application data)

Sy = Systemdatei, z. B. DESKTOP

Bo = Boot-File

As = Assemblerprogramm, z. B. RBOOT

FO = FotoAlbum

In = C64 Eingabetreiber

I2 = 128er Eingabetreiber

Ba = Basic-Programm

Zusatzinfo, bestehend aus 3 Buchstaben:

1. Buchstabe: Speicherformat auf Diskette:

U = USR

S = SEQ

P = PRG

R = REL

2. Buchstabe: GEOS-Speicherformat:

V = VLIR

S = Sequentiell

3. Buchstabe: Schreibschutz:

R = read & write (schreiben und lesen), Schreibschutz nicht aktiv

W = Schreibgeschützt (write protect on)

Der Ausdruck kann jederzeit mit betätigen der Space-Taste (Leer-Taste, die große in der unteren Reihe) vorzeitig abgebrochen werden.

Bei Druckende, normal oder vorzeitig, erfolgt kein Formfeed (Blattauswurf bzw. -vorschub zum Anfang der nächsten Seite)! Das heißt, ein weiterer Ausdruck erfolgt dieser direkt unter dem letzten; eventuell sollte man hier das Blatt per Hand ein kleines Stück vorschieben.

Ist der Drucker nicht eingeschaltet bzw. nicht online oder wird der Druckertreiber nicht (auf der Diskette, von der geoDir aus gestartet wurde) gefunden oder es tritt irgendein anderer Fehler auf, wird dieser angezeigt und zum Programm geoDir zurückgekehrt. Die Daten einer bereits eingelesenen Diskette bleiben dabei erhalten und können nach Fehlerbehebung (Drucker einschalten, o. ä.) ausgedruckt werden. Nur beim verlassen des Programms sind die intern gespeicherten Daten natürlich nicht mehr vorhanden.

Nur bei einem schwerwiegenden Fehler, z. B. kein interner Speicherplatz mehr vorhanden (zu viele Files auf Diskette, s. o.), wird zum Desktop zurückgekehrt.

4.6 Das Allerletzte

An dieser Stelle möchte ich nochmals ausdrücklich auf die Unzulänglichkeiten von GeoBasic hinweisen. geoDir wurde ja mit diesem Programmiertool geschrieben und weist folglich auch einige Mängel auf. So gut wie es nur irgendwie möglich war, wurde versucht, diese Mängel zu umgehen oder einzuschränken. Trotzdem ist dies auch mit noch so guten Tricks nicht möglich.

Wir haben dieses Programm aber für so gut angesehen, da wir es dennoch in einem kommerziellen Paket zusammen mit anderen Programmen veröffentlichen. Ein Aspekt hierbei ist sicherlich, mit geoDir nachzuweisen, daß GeoBasic erhebliche Mängel hat - denn es gibt immer noch viele, die anderer Meinung sind und ihre Zeit -leider- damit verschwenden. Ein hartes Wort, das wissen wir, aber vergleichen Sie doch die anderen noch auf dieser Diskette befindlichen Programme mit geoDir. Keines davon -außer geoDir selbst- könnte man mit GeoBasic schreiben! Sollten Sie eigene GEOS-Programme schreiben wollen, können wir Ihnen nur eindringlich Assembler nahelegen.

Wer weiß, vielleich schreibt ja ein genervter Anwender von geoDir, der diese Zeilen liest, ein vergleichbares Programm in Assembler, angeregt von diesem Text - und wir bringen es dann auf einer späteren Diskette heraus ...

5. Wechsel (Autor: Ulrich Schultze)

Wechsel ist ein Hilfsprogramm und ermöglicht das Laden einer anderen Applikation, ohne den Umweg über den DESKTOP nehmen zu müssen.

Wechsel wird in 2 Versionen ausgeliefert: einmal nur für GEOS 64 sowie für GEOS 128 im 40- und 80-Zeichenmodus! Verwenden Sie bitte nur die Version entsprechend der von Ihnen verwendeten GEOS-Version.

5.1 Hintergründe

Der übliche Weg, ein anderen Programm unter GEOS zu laden, ist ja zuerst das verlassen des gerade geladenen, damit automatisch das Nachladen der Datei DESKTOP, und dann das Starten des nächsten Programms.

Nun sollte man meinen, daß man im Grunde doch den Umweg ber den DESKTOP sparen könnte. Im Prinzip stimmt das auch. Es gibt aber 2 Faktoren, die man unbedingt berücksichtigen sollte:

a) Beim verlassen eines GEOS-Programms werden automatisch von diesem mehrere Dinge erledigt, die teilweise für das System von Bedeutung sind! Neben dem automatischen abspeichern des gerade bearbeiteten Dokuments werden auch oft, und das ist wichtig, jeweils individuelle und mehr oder weniger wichtige Parameter vom Programm und dem System GEOS korrigiert bzw. neu gesetzt.

Kann man das erstgenannte meist durch die Funktion "aktualisieren" (update) ausgleichen, ist das zweite kaum vom Anwender zu erledigen. Interne Programmwerte retten, das Programm korrekt abschlieen, und einiges mehr in dieser Richtung, das alles ist von Programm zu Programm unterschiedlich und kaum in ein spezielles Wechsel-Programm zu integrieren.

b) Einige Programme erwarten eine bestimmte "Umgebung" im Speicher, wenn sie gestartet werden, sehr vereinfacht ausgedrückt. Diese Umgebung wird alleine vom DESKOP geliefert, bzw. durch dessen Nachladen.

Trotz all dieser tiefgreifenden Hinweise - Wechsel läuft mit den allermeisten Programmen einwandfrei!! Wir haben es mit sehr vielen getestet und nur sehr wenige, genauer gesagt nur eine Ausnahme finden können.

Die einzige uns bislang bekannte ist das Programm "Silben", die ebenfalls von GEOS Professionell angebotene Silbentrennung. Wird diese über Wechsel aufgerufen, hängt sich aus uns bislang unbekannten Gründen das System auf und nur ein RESET hilft weiter.

Alle Programme von Berkeley Softworks können in jeder Situation über Wechsel aufgerufen werden!

Probleme könnten -wenn überhaupt, aufgrund unserer Testergebnisse- nur mit den zahlreich vorhandenen Programmen anderer Autoren entstehen. Sollten Sie ein Programm finden, daß nicht mit Wechsel zusammenarbeitet, bitten wir um eine kurze Mitteilung mit genauer Angabe dieses Programms und einer Schilderung des auftretenden Problems bzw. Fehlers, soweit möglich auch um Zusendung dieses Programms. So können wir die Sache an den Autor weiterleiten, untersuchen und eventuell eine Lösung erarbeiten.

Der o. g. Hinweise erfolgen lediglich vorsichtshalber, für Programme, die nach dem Erscheinen von Wechsel herauskommen.

5.2 Der Umgang mit Wechsel

Als Hilfsprogramm ist Wechsel in jeder dem BSW-Standard entsprechenden Applikation ladbar; dem Standard entsprechen die Applikationen, wenn sie über die übliche Kopfmenüleiste verfgen, in der oben links als erstes das Menü "geos" enthalten ist.

Beachten Sie, daß das System im Menü "geos" nicht mehr als 8 Hilfsmittel anzeigen kann. Sollten Sie mehr als 8 auf einer Diskette haben, werden die zusätzlichen nicht angezeigt; in diesem Fall müßten Sie eventuell Dateien (andere Hilfsmittel) vertauschen oder löschen, so daß Wechsel als eines der ersten 8 Dateien der Dateiklasse "Hilfsmittel" auf der Diskette enthalten ist.

Ein Hilfsmittel ist auch vom Desktop aus über dieses Menü aufrufbar. Im Fall von Wechsel wäre hier aber der Sinn und Zweck dieses Programms verfehlt; hier emphiehlt sich das direkte Starten des gewünschten Programms mit dem üblichen Doppelklick.

5.2.1 Vor dem Starten

Bevor nun Wechsel aus einem Programm heraus aufgerufen wird, sollte man unbedingt erst das gerade in Arbeit befindliche Dokument aktualisieren!

Nur durch anklicken von "aktualisieren" bzw. "update" werden die Änderungen seit dem letzten Speichern oder öffen des Dokuments auf Diskette gesichert.

Ohne dies wären die Änderungen nach verlassen des Programms unwiderruflich verloren!!

Eine Ausnahme ist GeoFile, das ja bekanntlich diese Funktion nicht besitzt. Hier hilft nur der Umweg über das Schließen des Dokuments mit erneutem öffnen dieses, um Wechsel aufrufen zu können.

Wie sich bei den Tests gezeigt hat, sieht es so aus, das GeoFile eine "kleine" Aktualisierung des Dokuments vornimmt, sobald ein Hilfsmittel gestartet wird. Klein bedeutet hier, da nur bestimmte Teile aber nicht alles gesichert wird. Dies nur als kleiner Hinweis für den Fall, da man einmal den zugegeben etwas umständlichen Weg über "close" und erneutem öffnen eines GeoFike-Dokuments vergessen hat.

5.2.2. Wechsel - und was nun ?

Nachdem Wechsel aufgerufen wurde, erscheint eine Auswahlbox. Unten drunter wird nochmals nachgefragt, ob das letzte Dokument auch aktualisiert wurde. Falls es vergessen wurde, kann man noch mit "Abbruch" zu diesem zurückkehren und es nachholen, ohne das Daten verloren gehen.

In der Auswahlbox werden die auf der Diskette befindlichen Applikationen angezeigt; sollten sich mehr als 15 auf dieser Diskette befinden, erscheinen nur die ersten 15 Applikationen.

Mit den Rollpfeilen (sind nur da, wenn mehr als 5 Files angezeigt werden!) kann man blättern. Durch anklicken eines Filenamen wird dieses invers dargestellt. Mit Anklicken von OK wird das markierte Programm geladen und gestartet.

Befindet man sich in der RAM-Disk, erscheint als 2. Icon von oben die Anzeige "DESKTOP", befindet man sich auf einem echten Floppy-Laufwerk, steht dort "DISK".

Mit anklicken von DESKTOP kehrt man, kein Zweifel, zum Desktop zurück. Mit anklicken von DISK wird das gleiche Laufwerk nochmals eingelesen; nützlich für den Fall, daß die gewünschte Applikation nicht auf dieser Diskette enthalten ist.

Mit LAUFWERK kann man auf das andere Laufwerk (A oder B) umschalten und dessen Directory einlesen.

Mit "Abbruch" kehrt man zum aufrufenden Programm zurück, ohne das dort ein Datenverlust eingetreten ist.

5.3 Fehler

Ein kleines Manko gibt es noch, bislang nicht erwähnt. Zwar läuft Wechsel_128 sowohl im 40- als auch im 80-Zeichenmdous, zwar wird auch die Frage angezeigt, ob mit dem Start eines Programms des anderen Modus in diesen umgeschaltet werden soll, dennoch ist ein umschalten über Wechsel in den anderen Bildschirmmodus derzeit nicht möglich!

Mit anderen Worten: Befinden Sie sich z. B. in Geowrite 128, also zwangsläufig im 80-Zeichenmodus, und wollen via Wechsel in ein Programm wechseln, das nur im 40-Zeichenmodus abläuft, ist dies leider nicht möglich, auch wenn die bekannte Frage , ob umgeschaltet werden soll, angezeigt wird. Umgekehrt gilt das gleiche.

Die Hintergründe sind dem Autor noch nicht bekannt. Da aber ansonsten das Programm einwandfrei läuft und GEOS 128-Anwender sowieso nur äußerst ungerne in den 40-Zeichenmodus umschalten (oder?!), halten wir dies nicht für so gravierend und bringen da Programm dennoch heraus.

6. Maustreiber 128 (Autor: Stefan Milcke)

Als kleine Beigabe finden Sie auf dieser Diskette noch neue, spezielle Maustreiber für GEOS 128!

Die gleichen Treiber in der Version für GEOS 64 finden Sie übrigens auf unserer Diskette "Make RAM-Top", die bereits vor über 1/2 Jahr erschienen ist.

Beide Maustreiber sind ein hervorragender Ersatz für die BSW-Standardtreiber "128COMM1253" und "128COMM1351(s)"!

Kopieren Sie die gewünschte, bevorzugte Version dieses neuen Eingabetreibers auf Ihre Boot-Diskette(n) an die Stelle des bisher verwendeten Maustreibers, damit wird dieser neue bei jedem zukünftigen booten von GEOS als Voreinstellung geladen. Beachten Sie hierzu bitte das Kapitel über die Voreinstellung von Eingabe- und Druckertreiber auf den Boot-Disketten im Handbuch von GEOS 2.0!

Beachten Sie bitte, daß Dateien auf einer Boot-Disk nicht direkt löschbar sind; nur über den Umweg Rand! Der alte, bisher verwendete Maustreiber sollte und mu aber auch nicht gelöscht werden! Kopieren Sie den neuen Maustreiber einfach an die Position im Directory, wo sich der jetzt verwendete Treiber befindet.

Falls Sie nicht wissen, wie das geht, lassen Sie dies das System GEOS automatisch durchführen (und lesen am besten das Handbuch GEOS 2.0 nochmals gründlich durch, denn es steht alles hierzu drin)! Kopieren Sie den neuen Maustreiber auf die Diskette, anschließend wechseln Sie auf die Boot-Diskette, öffnen sie und aktivieren mit dem gleichzeitigen Drücken der Tasten "C= + I" (Commodore + I wie "Input") das Einstellungsmenü für den Eingabetreiber. Wählen Sie nun den neuen Maustreiber aus und klicken OK an. Damit wird der neue geladen und automatisch als erste Datei in der Reihenfolge der Dateiklasse "Eingabetreiber 128" auf der Diskette positioniert. Konkret bedeutet dies hier, der bisherige Eingabetreiber und der nun neu ausgewählte vertauschen die Position.

Beide neue Maustreiber fragen auch die rechte Maustaste ab! In beiden Versionen sind die Tasten wie folgt belegt:

V1 :

linke Taste = nur 1maliger Klick

rechte Taste = 1mal klicken ==> schneller Doppelklick !

V2 :

linke Taste = normal belegt (wie beim Standardtreiber)

rechte Taste = 1mal klicken ==> langsamer Pausenklick !

Erklärung:

Der Treiber V2 arbeitet wie der bisherige Standardtreiber auch. Das heißt, mit der linken Tasten kann wie bisher gearbeitet werden.

Hinzugekommen ist die rechte Taste. Dort wird ein 1maliges klicken, also drücken der Taste, als ein sog. Pausenklick interpretiert. Mit dem Pausenklick wird das sog. Schattenpiktogramm erzeugt. Nochmals, die Taste braucht nur 1mal gedrückt zu werden, um den langsamen Doppelklick zu simulieren!

Der Treiber V1 dürfte sehr viel interessanter sein. Wer einen "schnellen Finger" hat und des öfteren versehentlich Programme mit Doppelklick startet, obwohl nur ein langsamer Pausenklick gewünscht war, wird wohl den Treiber V1 nicht mehr missen wollen!

Mit V1 kann man die linke Maustaste so oft und so schnell drücken wie es nur geht, es wird jedesmal und immer nur ein 1maliges Klicken erfolgen!

Mit anderen Worten: ein schneller Doppelklick ist mit der linken Taste nicht mehr möglich, d. h., es kann kein Programm mehr unbeabsichtigt gestartet werden! Allerhöchstens der Pausenklick kann damit erzeugt werden.

Um ein Programm zu starten, braucht mit V1 lediglich die rechte Maustaste 1mal (!) gedrückt zu werden. Damit wird der schnelle Doppelklick simuliert und das Programm sofort gestartet.

Der Treiber V2 ist nur eine kleine Erweiterung zum normal gewohnten Maustreiber. Der Treiber V1 ist hingegen etwas ganz anderes. Mit ein bißchen Übung wird der V1 sehr schnell zu Gewohnheit und unabkömmlich - einmal daran gewöhnt, will und kann man ihn nicht mehr missen. Wie uns viele Anwender der analogen Treiber für GEOS 64 berichtet haben, kommt der V1 sehr gut an und wird allermeistens benutzt.

The World of Books Ltd. wünscht Ihnen viel Spaß mit den neuen Programmen und Tools auf dieser Diskette.

Bitte geben Sie die enthaltenen Dateien nicht weiter - die Programmierer haben einen Lohn für ihre harte Arbeit verdient. Und nur durch eine gerechte Honorierung ist ein Autor gewillt, weiterhin Programme zu schreiben - was ist Ihnen lieber, eine einmal umsonst erhaltene kommerzielle Diskette (illegal kopiert, 'Raubkopie') mit ein paar Programmen oder hätten Sie nicht lieber auch in Zukunft immer mehr und weitere gute GEOS-Programme ?

Wir halten unsere Preise für sehr fair und sind der Meinung, eine mehr als ausreichende Gegenleistung dafür zu bieten.

Sollten Sie anderer Meinung sein, teilen Sie es uns bitte mit. Für Anregungen, Wünsche, Programmideen und Fehlerhinweise sind wir jederzeit dankbar. Wenden Sie sich bitte an Herrn Haberland, wie auf Seite 1 bereits gesagt.

The World of Books Ltd., Worms

Unsere bisherigen Produkte für GEOS in der Übersicht :

Reihe GEOS Professionell :

Silbentrennung ( Disk #1)

Ein sehr komfortables Programm zu bearbeiten von GeoWrite-Textdokumenten. Läuft unter GEOS 64 und 128 (40- und 80-Zeichenmodus).

Jedes Textdokument wird unabhängig von der darin enthaltenen Textformatierung (beide Ränder, links- / rechtsbündig, zentriert oder Blocksatz) sowie unabhängig von den verwendeten Zeichensätzen nach Möglichkeiten zum Trennen von Wörten durchsucht.

Abhängig von einstellbaren, individuellen Parametern in der Silbentrennung und abhängig von den jeweiligen Werten im Textdokument (s. o., Textformatierung), werden die Wörter korrekt zum Trennen vorgeschlagen. In einer komfortablen Dialogbox kann die Trennung sehr leicht durch anklicken an der richtigen Stelle im Wort oder auch manuell durch Handeingabe (ermöglicht auch eventuelle Fehlerkorrektur von Tippfehlern) durchgeführt werden. Durch anklicken von Icons kann das Wort ohne oder mit Trennung in den Text übernommen werden.

Wahlweise kann das Textdokument beim bearbeiten angezeigt werden oder nicht; dazu wahlweise unter Berücksichtigung der verwendeten Zeichensätze oder/und der verwendeten Stilarten; wobei es ohne natürlich schneller geht.

Alle Menüfunktionen sind über Tastenkürzel aufrufbar.

Insgesamt ist die Silbentrennung ein sehr nützliches Dokument, vor allem die Anwender von GeoPublish werden eine optimale Textgestaltung durch ausnutzen der Trennmöglichkeiten zu schätzen wissen.

Make Ram-Top (Disk #2)

Dieses Programm ist nur für Anwender von GEOS 64 V2.0 zusammen mit einer RAM-Erweiterung verwendbar !!

Make RAM-Top "patcht", d. h. verändert den Desktop GEOS 64 V2.0 so, daß dieser im nicht angezeigten Speicherbereich einer RAM gespeichert und immer von dort aus nachgeladen wird!

Das bedeutet, daß File DESKTOP braucht nur noch auf der Boot-Diskette enthalten zu sein! Auf allen anderen Disketten ist das File nicht mehr erforderlich, da der Desktop nun ja immer bei Bedarf aus der RAM nachgeladen wird!

Vorteile: Das Nachladen aus der RAM geht wesentlich schneller. Weiterhin werden 32 kB auf den Disketten eingespart, die nun für andere Dateien verwendet werden können.

Auf dieser Disk #2 befinden sich weiterhin 2 neue Maustreiber in der Version für GEOS 64; sie funktionieren analog wie die auf Disk #4 enthaltenen für GEOS 128.

Data_Protect (Disk #3)

Data_Protect dient dem Schutz von Dokumenten. Viele Anwender arbeiten mehr oder weniger professionell mit GEOS, oft haben hier auch andere Leute Zugriffsmöglichkeiten auf den Rechner. Wichtige, nicht für jedermann gedachte Dokumente sind nun mit diesem Programm für andere nicht mehr lesbar!

Data_Protect verschlüsselt die Dokumente von :

- GeoWrite

- GeoFile

- GeoCalc

Wird Data_Protect gestartet, muß ein individuelles Paßwort eingegeben werden; ohne ist es nicht startbar. Erst dann können aus Data_Protect heraus die Dokumente verschlüsselt werden; bevor sie wieder entschlüsselt werden können, um sie wieder bearbeiten zu können, ist nochmals die Eingabe des Paßwortes erforderlich. Wird das geschützte Dokument durch Doppelklick gestartet, wird automatisch Data_Protect aufgerufen, sofern es auf der Diskette ist!

Es können bis zu 3 Mitbenutzer zugelassen werden, jeder muß dann ein eigenes Paßwort zusätzlich zum Haupt-Paßwort erhalten.

Data_Protect arbeitet sehr sicher, zuverlässig und sehr schnell. Ein sehr hilfreiches Programm für jeden, der bestimmte Dokumente nicht für jedermann zugänglich haben möchte!

RAM-Printer (Disk #5)

RAM-Printer arbeitet nur in Verbindung mit einer RAM-Erweiterung!

Mit diesem Programm kann im "Hintergrund" gedruckt werden! Das bedeutet, kurz nach dem Erteilen eines Druckauftrages (drucken: OK) meldet sich das System GEOS wieder.

Während dann im Hintergrund gedruckt wird, kann normal in GEOS weitergearbeitet werden!! Ohne Einschränkungen !!

Die Größe der RAM-Erweiterung ist egal, es klappt mit jeder RAM von 256 kB aufwärts!

RAM-Printer ist derzeit noch in Vorbereitung und wird voraussichtlich ab Mai 1991 lieferbar sein!

--------------------------------------------------------------------------------------------

Die Preise :

Silbentrennung DM 16,80

Make RAM-Top DM 14,80

DATA_Protect DM 14,80

RAM-Printer DM 14,80

--------------------------------------------------------------------------------------------

In Vorbereitung ist eine weitere Produktreihe unter dem Titel "GEOS Office".

Was dies ist, wann es erscheinen wird - nun, warten Sie unsere Reklame ab. Sobald die Projekte kurz vor der endgültigen Fertigstellung stehen, werden wir Sie informieren.

Lassen Sie sich überraschen, was unter GEOS noch alles möglich sein wird ...

104 GeoDictionary 30 KB Data GeoDict. V1.0 VLIR 1989-04-13 21:07 .cvt
Deutsches Dictionary für GeoSpell
105 128 CLI 20 KB System CLI 128 GE V2.3 SEQ 1992-05-30 20:37 Jürgen Eckel .cvt
106 CONVERT 5 KB Application CONVERT V2.5 SEQ 1989-03-17 06:00 William C. Coleman .cvt
This version allows you to select multiple files!
107 tastenbeleg.... 1 KB Non-GEOS SEQ .seq
108 128 RBOOT 1 KB Assembler 128 RBOOT V1.3 SEQ 1987-06-07 13:00 Berkeley Softworks .cvt
LOAD "RBOOT",8,1 starlet
GEOS auf einem system mit
RAM-Erweiterung erneut.
109 GeoWrite 128 35 KB Application geoWrite V2.1 VLIR 1989-02-27 13:18 Tony Requist .cvt
geoWrite (128 Version) ist eine WYSIWYG-Textverarbeitung.

109 file(s), 756 KB

geos-app_csxarc-archive-extractor.d81 — “dokumente” id:hl [D81, 829,440 bytes] download .d81

#FilenameSizeGEOS TypeClassSDateAuthor
1 University LQ 35 KB Font GeoFont V1.4 VLIR 1992-01-04 17:02 <* .cvt .png
GEOS LQ Font
2 MavV5.dt-INFO 2 KB App Data Write Image V2.1 VLIR 1993-03-15 18:13 .cvt .html
Info zur Übersetzung der Originalanleitung zu Maverick V5, eMSch.

Hallo Freunde !

3 MaverickV5.dt 115 KB App Data Write Image V2.1 VLIR 1988-08-22 15:00 .cvt .html
Übersetzung der Maverick V5 Anleitung durch eMSch in 10/92

'Maverick V5 'Übersetzung'

Start:

'Maverick Master Disk'-A-Seite einlegen. 128'er einschalten (oder BOOT), 64'er: LOAD"*",8,1 . Im Titelbildschirm können Auswahlmarkierungen mit den Cursortasten bewegt werden, mit <RETURN> wird der ausgewählte Punkt gestartet.

Allgemeingültige Tastaturbelegung:

F1/F3: Durch F1/F3 wird die Directory bzw. Subdirectory (Partition) der

Diskette im aktuellen Laufwerk angezeigt; dabei kann das Scrollen

der Bildschirmausgabe mit <SPACE> angehalten/weitergeführt oder

mit <RUN/STOP> abgebrochen werden.

F5: Disk Command. Gibt direkt Zugriff auf das Diskettenlaufwerk, ohne

sich über den OPEN-Befehl den Kopf zu zerbrechen. Alle Standard-

Kommandos sind zugänglich, einschließlich der Möglichkeit,

Subdirectories zu wechseln. Diese Option wirkt wie jedes andere

Standard DOS Werkzeug (Wedge). Den Teil OPEN 15,8,15," kann man

weglassen, nur noch den gewünschten Befehl eingeben. Z.B: eine

Diskette im aktuellen Laufwerk initialisieren benötigt nur die Eingabe

von F5 I0 .

Für die Einrichtung (Initialisierung) einer Subdirectory dient der

/ -Befehl. Um ein Unterverzeichnis mit dem Namen PART1 einzu-

richten: /PART1 und <RETURN>. Jeder Diskzugriff erfolgt nun auf die-

ses Verzeichnis. Rückkehr zum Hauptverzeichnis durch F5 / RETURN

Auch in einem Unterverzeichnis ist F1 oder F3 wirksam, das

Directory anzuzeigen.

F8 Bootet eine Diskette, nachdem das gewünschte Laufwerk (8,9,10,11)

mit der unteren Cursortaste (auf/ab) eingestellt und die <SPACE>

-Taste gedrückt wurde.

Soft-Wire: Um die Laufwerksadresse 'soft' zu ändern, mit dem Cursor die Option 'Soft-Wire Drives' auswählen, <RETURN> drücken. Nun wird man gebeten beide Laufwerke auszuschalten. Jetzt das Ziellaufwerk

(für das Backup) wieder einschalten und <SPACE> drücken. Darauf

wird man aufgefordert, das 'Source-Drive' (für die Original- bzw.

Quelldiskette) einzuschalten (...) und bestätigt nochmals mit

<SPACE>. Wenn jetzt eine Fehlermeldung erscheint, beide Laufwerke

wieder ausschalten und Soft-Wireing nochmals probieren. Erscheint

keine Error-(Fehler-)Meldung ist der Prozeß erfolgreich beendet.

Nach der softwaremäßigen Änderung der Geräteadresse der

Laufwerke bitte kein RESET.

Menüpunkt Fast Data Copiers

'Fast Data Copiers' ("Schnellkopierer") dient zum schnellen Kopieren ungeschützter Programme.

Es wird sehr empfohlen, die Option 'Single Fast Data Copiers' zu benutzen, wenn

1.) eine ungeschützte Diskette repariert werden soll (z.B. die ein Error

23 hat) , oder

2.) eine geschützte Diskette mit bekannten Standard-Fehlern darauf,

'gereinigt' werden soll, um sie manuell oder mit beiliegenden

Parametern zu knacken.

Diesem 'Fast Data Copiers' ist ein vollständiges VERIFY eingebaut,

das während des Kopierens gefundene Fehler anzeigt und

korrigiert! Wenn es während des Lesens der Quelldisk auf einen

Fehler trifft, wird es versuchen, diesen Fehler während des

Schreibens auf die Kopie, zu korrigieren.

Aus dem Hauptmenü wird 'Fast Data Copier' mit dem Cursor ausgewählt, mit <RETURN> geladen. Das erscheinende Untermenü läßt folgende Auswahl zu:

A Single Drive 1541/71 Copier

Kopieren mit einem 1541/71 Laufwerk ('71er als '41er)

B Dual Drive 1541/71 Fast Copier

(Schnell-) Kopieren mit zwei 1541/71 Laufwerken

C Single Drive 1571 Copier

Arbeiten mit einer 1571 als 1571er

D 1581 Single Drive Copier (eine 1581er)

E 1581 Dual Drive Copier (für zwei 1581er)

Wir nehmen an, daß Du zwei 1541er hast und beginnen zunächst mit Option B:

1541 Dual Drive Fast Data Copier:

Nach Aufruf aus dem vorigen Menü mit B erscheint ein neues Optionenmenü. Stelle aber erst sicher, daß eines der Laufwerke Adresse 8, das andere Adresse 9 besitzt. Sind die Einstellungen nicht hardwaremäßig zu tätigen, muß mit 'Soft-Wire' eingestellt werden (s.o.).

Die zu kopierende Diskette sollte unbedingt mit einem Schreibschutz versehen sein, um kostbare Originalsoftware vor Verlust zu schützen.

Es kann mit dieser Option auch Maverick selbst kopiert werden. Ins Ziellaufwerk eine leere Disk einlegen (Für alle diese Kopierprogramme ist es nicht erforderlich vorab zu formatieren!), Menüpunkt 'Copy Disk' anwählen, <RETURN>. Man wird aufgefordert die Disketten zu kontrollieren und nochmal <RETURN> zu drücken. Nach ca. 1 Minute erscheint die Fertigmeldung (Copy complete), mit <RETURN> geht's zurück in das 'Dual Data Copier' Menu. Jetzt kann das Directory der Originaldisk (F1) oder der Kopie (F3) kontrolliert werden.

Der Kopiervorgang kann mit <RESTORE> abgebrochen werden. Da aber zu dieser Zeit die Laufwerke unabhängig vom Computer arbeiten, muß jedes Laufwerk aus- und wieder eingeschaltet werden. Empfehlenswert ist in diesem Fall, in jedem Drive ein gültiges Directory zu lesen (um die Laufwerke zu re-initialisieren), bevor weitergearbeitet wird.

1541 Single Drive Fast Data Copiers:

Unterstützt ein oder zwei 1541/71 Disklaufwerk(e)

Erkennt und benutzt automatisch 1764/1750 REU oder 64K Video RAM

Nach Auswahl diesen Punktes (A) erscheint wieder ein Untermenü:

Copy Disk: Mit diesem Befehl wird der Kopiervorgang gestartet, nachdem

alle Parameter gesetzt wurden. War eine Speichererweiterung in

Betrieb und konnte die Disk in einem Rutsch kopiert werden, wird

man gefragt, ob eine weitere Disk zu kopieren ist (Yes/No).

Source: Laufwerksnummer für die Quelldisk. 8 ist voreingestellt, kann aber

mit CRSR-ab auf 9, 10 oder 11 geändert werden.

Destination: Nummer für Ziellaufwerk (Backup), voreingestellt 8. Wir

bezeichnen dies zwar Single Drive Copier, kann aber trotzdem mit

ein oder zwei Laufwerken arbeiten (Laufwerknummer entsprechend

ändern). Mit einem Laufwerk (Quell- = Ziellaufwerksnr.) erst die

Originaldisk einlegen, dann den Bildschirmanzeigen folgen (Disketten

wechseln), bis die Kopie fertig ist. Sollte das Programm auf Fehler

stoßen, werden die als 'Diamant' in der kopierten Spur auf dem

Bildschirm angezeigt.

Soft-Wire: Laufwerksadressen softwaremäßig ändern (s.o.)

F1/F3: Directory

F8: Bootet eine Diskette (aber nur für/im 64'er Modus)

1571 Single Drive Fast Data Copier

Unterstützt das 1571 Laufwerk - 1541/71 Formate

Erkennt und unterstützt automat. 1764/1750 REU und/oder 64K Video RAM

Auch hier gilt das oben gesagte. Die neuen Menüpunkte sind:

Copy 1571 Disk: Startet Kopiervorgang im eingestellten Laufwerk. Nach

Beendigung des Vorgangs werden, soweit aufgetreten, Fehler an-

gezeigt.

Select Side: Auswahl der zu kopierenden Seiten, BOTH (beide) oder FRONT

(nur Seite 1), mit CRSR.

Device Number: 8 voreingestellt, 9, 10, 11 wählbar (CRSR; s.o.)

Write Verify: Wenn ON, werden alle Lese- und Schreibfehler richtig ange-

zeigt, wenn OFF (Umschaltung mit CRSR), werden nur Lesefehler

angezeigt.

F1: Directory

F8: Booten (s.o.)

1581 Single Drive Fast Copier

Unterstützt 1581 und, soweit vorhanden, REU / 64K Viedo RAM

Dies ist einer der besten Kopierer für die 1581 und macht makellose Kopien in annehmbarer Zeit. Durch Einschränkungen der Hard- und Software ist es unmöglich, ganze Disketten vom 1541 oder 1571 -Format auf die 1581 zu bringen, außer über File-Copy.

In dieses Programm sind viele zeitsparende Eigenschaften eingebaut: Jede zu kopierende Spur wird geprüft und nur dann in den Kopierpuffer über-

nommen, wenn auch Daten darin enthalten sind. Ansonsten wird die Spur

nur formatiert. So ist es vorstellbar, daß eine ganze Disk in nur einem Durchgang kopierbar ist. Die Zahl der Spuren, die mindestens in einem Durchgang kopiert werden können beträgt:

Im Normalfall: 5 Spuren

mit 1564: 30 Spuren

mit 1750: 56 Spuren

mit 64K Video RAM (nur im 128'er): 11 Spuren

Während des kopierens bitte Geduld, es können immerhin mehr als 800.000 bytes auf einer Disk sein. (Mit zwei 1581'er in der Dual Drive Version dauert's nur ca. 2 Minuten)

Copy Disk: startet Kopiervorgang. Das Programm prüft den Schreibschutz

von Quell- und Zieldisk. Fehler beim Schreiben/Lesen werden ange-

zeigt. Bei Schreibfehlern (Write errors) den Kopiervorgang wieder-

holen.

Device No.: s.o.

Starting Track: Erste zu kopierende Spur, voreingestellt ist 1, kann bis 80

eingestellt werden (mit <RETURN> ansteigend, mit <SHIFT/RETURN>

rückwärts, durch längeres Drücken Auto-repeat)

End Track: letzte zu kopierende Spur, voreingestellt ist 80, ansonsten s.o.

F1: Directory

F8: Bootet Disk (s.o.)

GCR NYBBLE COPIERS

Dies ist eine der stärksten Waffen gegen geschützte Programme, es kann z.B. DOS Fehlermeldungen übertragen und viele andere Schutzmechanismen

knacken (z.B. RapidLock). Es kann sogar beide Seiten einer echt formatierten 1571 kopieren, ohne die Disk zu wenden (dazu später mehr).

Zum Start aus dem Hauptmenü GCR Nybble Copiers wählen und <RETURN>.

Darauf S (Single = EinfachLW), D (Dual = DoppelLW) oder R (RAMBoard) wählen.

Dual Drive GCR Nybble Copier

Unterstützt 1541 und 1571 Formate

Aus dem vorherigen Menü mit D aufrufen. Es erscheint ein Optionenmenü, in dem wie gehabt (CRSR/<RETURN>) weiter zu wählen ist:

Copy Disk: Start, nachdem Parameter gesetzt wurden. Auch hier genügt

eine unformatierte Disk im Ziellaufwerk.

Starting Track: erste zu kopierende Spur, mit RETURN bzw. SHIFT/RETURN

änderbar

Ending Track: letzte zu kopierende Spur. Änderbar s.o. Bis Spur 80 ist ein-

stellbar, sinnvoll ist bis 38.

Warum läßt sich bis 80 wählen? Spur 1 bis 40 sind reserviert für

1541 Format, Spur 41 bis 80 für die Rückseite einer echt 1571 for-

matierten Disk (die Endspur ist dann normalerweise 75 bis 80).

Auto Density: Ist mit OFF (Aus) voreingestellt, einschalten, wenn Ände-

rungen der Schreibdichte erwartet werden (z.B. Superkit 1541 oder

V-Max!). Vorsichtshalber die Endspur auf 40 setzen.

Source Drive: Laufwerk für Originaldisk (8, kann auf 9 geändert werden)

Dest. Drive: Laufwerk für Backup (9, kann auf 8 geändert werden)

Soft-Wire: Laufwerksadresse 'soft' ändern, s.o.

F1/F3: Directory

F2: Ausgang zum BASIC

F8: Bootet Disk

RESTORE: kehrt in den Nybbler Startbildschirm zurück. Wird mit dieser

Taste der Kopiervorgang abgebrochen, müssen die Laufwerke

aus- und wieder eingeschaltet werden!

Single Drive GCR Nybble Copier

Unterstützt 1541 und 1571 Formate

Hierher gelangt man aus dem Maverick Hauptmenü über GCR Nybble Copier und S . Auswahl der Menüpunkte über CRSR / <RETURN>.

Dieses Programm entspricht der Dual Drive Version, da aber nur ein Laufwerk zur Verfügung steht, müssen während des Kopierens die Disketten entsprechend gewechselt werden (4x bei 1541).

In diesem Programm ist das sehr starke 'RapidLok' eingebaut, das die meisten geschützten Programme knackt. Sollte Dual Drive Nybbler nicht zufriedenstellend arbeiten, versuche dieses Programm OHNE Änderungen der Voreinstellungen! Wird nach dem Start dazu aufgefordert, die 'Maverick Master Disk' Seite 2 einzulegen, kannst Du sicher sein, daß es sich um einen RapidLok-Schutz handelt. Sollte es dennoch nicht klappen, handelt es sich um eine neue Version des RapidLok. Wird diese angezeigt, muß die Parameterliste (Maverick Parameter Module #6) benutzt werden.

Achtung: Um RapidLok zu kopieren, muß das Laufwerk sehr genau justiert sein und exakte Geschwindigkeiten einhalten. U.U. das Laufwerk eines Freundes benutzen! Wir meinen, daß deshalb generell die 1571 erfolgreicher arbeitet als die 1541.

RAMBoard Nybbler

Unterstützt 1541/1541-II/1571 Laufwerke

Erkennt und nutzt automatisch 1764/1750 REU und/oder 64K Video RAM

Erfordert unbedingt 8K RAM installiert im Laufwerk!!!

Wenn alle anderen Versuche gescheitert sind, ist hier die letzte Rettung, vorausgesetzt, daß RAMBoard vorhanden ist. Dadurch können ganze Spuren mit Header und Anhängseln ins Ram übernommen werden.

Im RAMBoard-Menü gibt es:

Copy-Disk: Startet Kopiervorgang. Die Original- und Kopiedisk müssen ent-

sprechend der Bildschirmaufforderungen gewechselt werden (bei

nur einem Laufwerk!)

Source Dev No: Laufwerk mit Quelldisk. Kann mit <RETURN> zwischen 8, 9,

10 und 11 gewechselt werden. F2 definiert den Bereich des zusätz-

lichen Lw-RAM.

Target Dev No: Laufwerk mit Zieldisk. Lw-Nr. einstellen mit <RETURN>. F4

definiert den Bereich des zus. Lw-RAM; natürlich muß jedes Lauf-

werk ein eigenes 8K RAMBoard installiert haben. (Ansonsten Source

= Target Lw.)

Starting Track: s.o.

Ending Track: s.o.

Read Accuracy: Erlaubt eine Kompensation von Ungenauigkeiten des Disk-

laufwerkes. Voreingestellt ist 0, d.h. eine Spur wird einmal gelesen

bevor sie geschrieben wird. Durch <RETURN> kann der Wert bis auf

'4' erhöht werden, wodurch mehrere Lesedurchgänge erfolgen, mit

dem Ziel, deckungsgleiche Ergebnisse zu erreichen.

Write Accuracy: entspricht 'Read Accuracy'. Hier kann die Voreinstellung

auf bis 255 geändert werden. Entsprechend viele Versuche unter-

nimmt das Laufwerk, die Daten so zu schreiben wie sie gelesen

wurden. (Einstellung ebenfalls mit RETURN bzw. SHIFT/RETURN)

Check Target Speed: Bevor man diesen Punkt nutzt, erst in

'parameter menu option' in 'target speed modification' nachlesen.

Wegen der Leichtigkeit Geschwindigkeitsänderungen zu beherrschen

(mit unserem 'speed control device'), empfehlen wir, die Laufwerks

geschwindigkeit in die Rote (RED) Zone abzusenken, bevor man mit

dem RAMBoard Nybbler Kopierversuche unternimmt. Wem dieses

Tool nicht zur Verfügung steht, sollte in diesem Punkt für den

ersten Versuch keine Änderungen vornehmen. Wenn die Kopie nicht

läuft, kann die Geschwindigkeit für den nächsten Versuch reduziert

werden. Unsere Erfahrung zeigt, daß manche Titel nur mit normaler,

andere nur mit verringerter Geschwindigkeit kopiert werden können.

Nach jedem Versuch mit verringerter Geschwindigkeit, diese wieder

zurücksetzen.

Soft-Wire Drive: Geräteadresse 'soft' ändern

RESTORE: Bricht Programmausführung ab. Waren Laufwerke in Betrieb,diese

aus- und wieder einschalten.

F1/F3: Directory

F2/F4: Setzt den Platz (in HEX) der 8K RAM Lw-Erweiterung. Voreingestellt

ist $8000. Wer Rapidos Pro installiert hat, sollte dies erst deaktivie-

ren bevor Maverick gebootet wird. Der richtige Platz für Rapidos

Pro ist $4000, für die 1571 RAMBoard $6000.

F5: Dient der Umschaltung der automatischen Schreibdichte-Erkennung.

Empfohlen wird für den Normalfall AUS (OFF).

F8: Boootet Disk.

Sector Map Editor With Fast Data Scanner

Unterstützt die 1541 und 1571 Formate

Das Programm prüft eine Diskette auf Fehler, zeigt die tatsächliche Belegung an, erlaubt editieren irgendeinen Sektors und druckt das Ergebnis aus. Und es ist Schnell.

Map Disk Errors: Nach dem setzen aller anderen Optionen beginnt hiermit

die 'Fehlersuche' der Diskette im aktuellen Laufwerk.

Search Disk: Nach dem setzen aller anderen Optionen beginnt hiermit die

Datensuche auf der aktuellen Diskette

Enter Search Data: Dient zur Eingabe eines Suchmusters für die Disk. Die

Bytes, die man lokalisieren will, können in drei Formen angegeben

werden: Hex, Dez oder ASCII. Die Eingabe kann maximal zwei Zeilen

lang sein. Falsche Eingaben werden nicht akzeptiert. Hex Daten in

der Form $8D,$58,$22,... , Dez in 200,34,12,... und ASCII in "suche"

eingeben. Sie können auch kombiniert werden z.B. in der Form:

"suche",$8D,$58,$22,200,34,12

Sind alle Daten eingegeben, beginnt mit <RETURN> die Suche.

Edit Sector Map: erlaubt Wiederprüfung einer früheren 'Scan Map', ohne

den Suchlauf tatsächlich auszuführen.

Start Track: s.o. (für 1541 zwischen 1 und 40, 1571: 1 bis 70)

End Track: s.o.

Device No.: s.o.

F1/F3: Directory

F5: Disk Commands

F8: Bootet Disk

Scan Map Options

Wenn 'Map Disk Errors' oder 'Search Disk'-Options gewählt wurden, beginnt die Anzeige der Spuren, die im Map Menü angegeben sind. Wünscht man die Anzeige zu unterbrechen, <RUN/STOP> drücken, mit <SPACE> weiterführen. Zur Prüfung oder Korrektur der Anzeige <RESTORE> drücken. Die Sektoranzeige befindet sich am linken Rand, die Spur-(Track-)anzeige am unteren Rand des Bildschirms.

Nach dem abtasten (scanning, lesen) der Disk zeigt der Bildschirm eine Spur- und Sektorkarte mit folgenden Darstellungen:

+ Daten im Sektor vorhanden

- Standard 1541 Format - keine Daten enthalten

(leer) Standard 1571 MSD Format - keine Daten enthalten

(Zahl) zeigt DOS-Fehler. 2 steht für Fehler 22, 9 für Fehler 29, u.s.w.

V zeigt eine V-MAX! -formatierte Spur

R zeigt RapidLok -formatierte Spur an

S steht für 'Full Sync Track' (= Killertrack)

T Spurfehler (z.B.: 'Fat Track'). Ein T auf Spur 36 kann auch einen

'Fat Track' auf den Spuren 35/36 anzeigen ('Fat Track' = Halb-

spur (?))

* taucht während der Datensuche ein Stern (*) auf, zeigt das einen

Treffer für den Suchstring im betreffenden Sektor

Ist der Lesevorgang beendet, erscheinen bestimmte Spuren und Sektoren revers und ein Cursor blinkt. Mit F1/F3 kann in der Spur, die durch den blinkenden Cursor markiert wird, zum ersten/letzten Sektor gesprungen werden. Mit F5/F7 springt man zur ersten/letzten angezeigten Spur. Gibt es mehr Spuren als angezeigt (1571-Format), läßt sich mit wiederholtem Druck auf F5 bzw. F7 der Bildschirm scrollen. Mit CRSR hoch/runter und CRSR links/rechts kann der blinkende Cursor auf einen lesbaren Sektor zur weiteren Untersuchung plaziert werden. Zum lesen des Sektors oder zur Änderung <SPACE> drücken; die Anzeige erfolgt in HEX/ASCII. Wurde mit Suchfunktion gearbeitet, sind Treffer hervorgehoben angezeigt.

Mit den (unteren) CRSR-Tasten das erste zu ändernde Byte anfahren, Änderungen in HEX durchführen. Soll der gleiche Sektor disassembliert werden, M drücken. Dann kann nach <SPACE> die Korrektur in Mnemonics durchgeführt werden (auf richtiges setzen der Leerfelder achten!), jede Änderung mit <RETURN> bestätigen. Eine falsche Eingabe bewirkt das verlassen des Editiermodus. Sind die Änderungen vollständig, mit W den Sektor zurückschreiben. Mit J springt man zum nächst verketteten Eintrag, soweit vorhanden. Die Pfeil-links-Taste (ESC) springt in den vorhergehenden Bildschirm, wo ein neuer Sektor gewählt werden kann, oder durch erneutes ESC ins Hauptmenü zurückgesprungen wird.

Im 'Map Mode' kann nach C= P ausgedruckt werden (auf Druckern, die den Commodore 801/1526 - Code verstehen).

Maverick GCR Editor

Unterstützt die 1541/1571 Laufwerke

Der GCR Editor ist das mächtigste Werkzeug, eine Disk zu untersuchen. Es gestattet, Daten so anzuzeigen, wie sie wirklich auf der Disk stehen. Unser GCR Editor hat jede erdenkliche Eigenschaft Header und Daten anzuschauen und zu manipulieren. Es gehört aber gründliche Kenntnis des Commodore-Formats dazu, um hiermit mit vollem Nutzen zu arbeiten (wir empfehlen: 'Inside Commodore DOS' von Richard Immers zum Studium).

Übung macht den Meister.

Was ist GCR? Wenn man vom 64'er Files auf Disk abspeichert, werden sie nicht Bit für Bit auf die Scheibe geschrieben. So kann die 1541/1571 nicht mehr als drei '0'-Bits in einer Reihe schreiben, so daß ein Byte wie #$06 ein Problem aufwirft! Die Commodore Entwickler erarbeiteten das GCR-Schema um Daten auf/von Diskette zu schreiben/lesen. Es wandelt vier Bits Hexcode in fünf Bits GCR Code um. Ferner werden die Daten, abhängig von ihrem Platz auf der Diskette, mit unterschiedlicher Bit-Rate geschrieben: Spuren 1-17=$60, Spuren 18-24=$40, Spuren 25-30=$20, Spuren 31-35=$00.

Der Commodore DOS Schutz besteht größtenteils darin, keine Standarddaten auf die Diskette zu plazieren, wie Einzelbytes in ungewöhnlichen Lokationen, unnormale Geschwindigkeiten, oder reformatieren einzelner Sektoren, Spuren oder der ganzen Disk. Mit dem GCR Editor erhält man genaue Formatierungsinformationen und kann sogar nicht lauffähige Backups (Kopien) nachbearbeiten.

Aufruf aus dem Hauptmenü mit 'GCR Format Editor'. Das erscheinende Untermenü bittet um Eingabe von G für (Software-) GCR Editor oder R für RAMBoard Track Editor. Nach Auswahl von G soll das Laufwerk kurz anlaufen und das GCR-Menü erscheinen. Die Optionen:

First Screen (Header Section) , 'erster Bildschirm':

Track Selection: Spuren können dezimal eingegeben werden (1 bis 40.5)

Bit Rate Selection: <RETURN> übernimmt voreingestellten Wert, ansonsten

$00, $20, $40 oder $60 eingeben.

After Scan of Track: Die Anzahl der Header ist gleich der Zahl der Sync-

Marken einer Spur. Linke Spalte = GCR der ersten 8 Bytes, rechte

Spalte = umgewandelte GCR-Bytes. Der Infobalken über der Header-

liste zeigt den aktuellen Header, auf dem der Cursor steht, an. Die

linke Seite zeigt an: 'Sektor:XX' wenn der aktuelle Header Teil einer

standard-formatierten Spur ist. Die Sektornummer ist Dezimal, so

daß der GCR Editor wie ein Sektor Editor gebraucht werden kann.

Auf der rechten Seite erscheint DATA oder HEADER, abhängig davon,

ob der Cursor auf einem Data Block Header (beginnend mit $52)

oder dem Datenblock selbst (beginnt mit $55) steht.

Commands First Screen (Befehle):

H: ge-Shiftetes 'H' bietet Hilfe

T: Neue Spur eingeben

R: Neue Bit-Rate für aktuelle Spur eingeben

F1: Directory der Disk im Laufwerk

F3: Lädt wieder das Hauptmenü

CRSR: scrollt durch die Header

SPACE: liest aktuell gewählten Header und springt in den Editier-

(zweiten-) Bildschirm

P: Ausdruck der Headerliste (Standard Commodore Drucker)

+/- : geht eine Spur vor bzw. zurück und liest sie ein

C: eine Spur verändern (nachdem sie gelesen wurde)

Option 1: no-sync: löscht ganze Spur durch auffüllen mit $55

Option 2: full-sync: füllt ganze Spur mit $FF

Option 3: create notepad header: löscht eine ganze $55-Spur und

schreibt einen ein-Header/eine-Syncmarke Code zurück

(unter Verwendung von 'Notepad Code')

Second Screen (Header Edit Screen) 'zweiter Bildschirm'

Header Info: erscheint ganz oben am Bildschirm. Sync zeigt die Länge der

Sync-Marke dieses Headers, bzw. die Länge der Bytes des Headers.

Ein Header mit mehr als $0500 Bytes kann nur bis Byte $04FF im

Puffer bearbeitet werden, es sei denn, mit Lw-Speichererweiterung.

Header and Data Tables: Reihen von zehn GCR Bytes erscheinen auf der

linken Seite, die entspr. umgewandelten acht hex-Bytes rechts.

Commands (Second Screen) 'Kommandos im zweiten Bildschirm'

R: Header Daten nocheinmal lesen

W: schreibt geänderte Daten auf Disk zurück

Z: sucht GCR-Null-Bytes und markiert diese

P: druckt Daten auf dem Drucker

SPACE: schaltet in den Edit-Modus (s.u.)

+/-: erhöht/erniedrigt Sync-Länge um eins

CRSR: bewegt Cursorbalken über die Datenfelder

<: löscht ein Byte ab Cursor

>: fügt ein Byte ($00) am Cursor ein

DEL: löscht Bytes vom Ende der Liste

S: schaltet Spalteneditieren von links nach rechts (oder zurück)

A: schaltet zwischen Hex- und ASCII-Darstellung hin und her (rechts)

D: schaltet in den Disassembliermodus (s.u.)

C: repariert die Checksumme eines Headers oder Datenblocks. Vor

W-Kommando eingeben, damit Prüfsummenfehler vermieden wird

R: Shift-R läßt aktuellen Header nochmals lesen, aber mit anderer

Geschwindigkeit als die ganze Spur gelesen wurde

H: Shift-H öffnet Hilfe-Bildschirm

Pfeil-links-Taste: kehrt zum ersten Bildschirm zurück

Edit Mode:

Drücke <SPACE> um hier hineinzukommen. Die Farbe des Bildschirmrandes ändert sich. Gib die Änderungen in Hex oder ASCII ein. <DEL> zeigt den CRSR wieder an, <RETURN> verläßt den Edit Mode. Doppelpunkte ('..') auf der Bildschirmanzeige markieren unbenutzte Bytes. Wenn Du auf einem dieser Bytes <SPACE> drückst, kommst Du nicht in den Edit Mode (ausgenommen der erste '..' rechts vom letzten angezeigten Datenbyte. Hier kannst Du Daten anfügen, die Länge des Headers wird entsprechend angepaßt.)

Disassembly Mode:

Wenn der CRSR in der rechten Spalte steht, 'D' drücken für Disassemblieren. Der disassemblierte Code wird rechts in der GCR-Spalte angezeigt. Assemblertext eintippen, mit <RETURN> übergeben. Mit CRSR auf/ab-Taste Assemblermodus verlassen.

SPACE schaltet in den Disassembliermodus

CRSR auf/ab scrollt durch Disassemble-Bildschirm

RETURN verläßt Disassembliermodus

P sendet disassemblierten Code an den Drucker

Notepad Feature: (Notiz Option)

Manchmal -wenn im GCR Editor- möchte man einen Header speichern, einen anderen anschauen und später zum vorhergegangenen zurückkehren, ohne diesen nochmals lesen zu müssen. Unser GCR Editor besitzt ein Notepad (scratch pad), in dem ein Header im Speicher abgelegt werden kann. Auch der Notepad-Header kann editiert werden:

T: schaltet zwischen dem aktuellen und dem Notepad Header hin und

her. Die Randfarbe wechselt und 'Notepad' erscheint im Eck oben

links. Disk commands (wie R,W,Z,...) gelten nicht im Notepad.

S: geshiftetes S speichert Header als Notepad file. Speichert entweder

Notepad oder gewählten Header.

L: shift-L lädt Header von der Diskette

^: Pfeil-hoch-Taste speichert aktuellen Header auf Diskette

CTRL I: wirkt nur im GCR-Modus (nicht im Notepad-Modus). Setzt den Code

aus dem Notepad, an der aktuellen Cursorposition beginnend, ein;

holt also den Notepad-Inhalt zurück.

CTRL A: hängt den Notepad-Header an die vorhandenen Daten auf Disk, ab

Cursorposition an. Wenn Du einen langen Datenblock mit noch

etwas freiem Raum am Ende hast und Du z.B. noch extra Sync-

Marken anhängen möchtest, bewege den Cursor an das Blockende,

hab' den gewünschten neuen Header im Notepad gespeichert,

drücke CTRL A. Der GCR Editor wird automatisch die Spur nach-

prüfen, -bearbeiten.

GCR Editor Tricks, Tips und Hinweise:

Sei sehr vorsichtig bei wiederholter Anwendung des W-Befehls. Der GCR Editor schreibt jeden Header, so perfekt wie es nur irgend geht, auf die Diskette zurück (d.h. mit korrekter Länge und korrekter Syncmarke). Wenn Du einen Header länger machst, als er zuvor war und ihn zurück schreibst, kann damit der folgende Header zerstört werden.

Das gleiche gilt für den CTRL-A Anhängebefehl. Auch das ändern von Sync-Längen und deren rückschreiben auf Disk ist gefährlich. Sei äußerst umsichtig!!!

Nach dem W-Befehl ist es angebracht, mit dem R-Befehl nochmals zu laden, um zu prüfen, ob auch alles richtig gelaufen ist.

Benutze den C-Befehl (Checksum) nachdem ein Datenblock bearbeitet, aber bevor er zurückgeschrieben wird. Dadurch wird die Datenblockprüfsumme repariert (angepaßt). Sonst meldet das Commodore DOS einen 23-read-error, wenn es einen solchen Block zu lesen versucht.

Jetzt hast Du den mächtigsten und dennoch einfachst zu bedienenden GCR Editor, der heute am Markt erhältlich ist. Bist Du nun überwältigt oder ein wenig durcheinander, lege es nicht beiseite; mit etwas Studium und Übung wirst Du Dich bald vertraut damit fühlen.

RAMBoard Track Editor (RAMBoard Spur Editor)

Unterstützt 1541/1541-II/1571 Laufwerke mit 8K installierter RAM

Die heutige neue Generation des Kopierschutzes erfordert anspruchsvolle Werkzeuge. Die Rohdaten einer ganzen Spur müssen auf einmal ('in einem Rutsch') gelesen und geprüft werden können. Die heute gebräuchlichen Formate schreiben auf einmal eine ganze Spur und oft mit einer nicht standardmäßigen Geschwindigkeit oder Bit-Rate. Unser RAMBoard Track Editor ist entwickelt, eine ganze Spur auf alles zu prüfen was notwendig ist, sie dann auch wieder reproduzieren zu können.

Obwohl nicht für Anfänger gedacht, kann der Fortgeschrittene erkunden, was hinter einem V-MAX!, RapidLok oder anderem System steht. In vielen Fällen kann sogar eine ganze Diskette Spur für Spur dupliziert werden. Aber, Du begibst Dich auf unbekanntes Gebiet, GEDULD und AUSDAUER sind deshalb die wichtigsten Schlüsselwörter. Informationsquellen sind Commodore DOS (wenn Du eins findest), oder unser 'CSM Programm Protection Manual Vol.II'.

Aus dem Maverick Hauptmenü 'GCR Format Editor' wählen. Liegt die 'Maverick Master Disk' mit Seite 1 oben im aktuellen Laufwerk, <RETURN> drücken. Im erscheinenden Untermenü <R>AMBoard Track Editor wählen. Das Laufwerk sollte kurz anlaufen und das RAMBoard Track Editor Menü erscheinen. Wiederum mit dem CRSR auf/ab die gewünschte Option wählen und mit <RETURN> aktivieren. Die Menüpunkte von oben nach unten sind:

Edit Tracks: Beginnt Track Edit Funktionen. Siehe unten 'Edit Screen

Functions'.

Source Dev No: Setzt die Gerätenummer für die Quelldisk (Leselaufwerk).

Mit <RETURN> kann 8, 9, 10 oder 11 eingestellt werden. F2 definiert

den Speicherbereich des zusätzlichen RAM dieses Laufwerks.

Target Dev No: s.o. für Kopie (Schreib-Laufwerk). Speicherbereich fest-

legen mit F4.

Softwire Drive: Geräteadressen der Laufwerke 'soft' verändern.

RESTORE: Restore-Taste bricht jeden laufenden Vorgang ab. Sind zu diesem

Zeitpunkt Laufwerke aktiv gewesen, müssen diese aus- und wieder

eingeschalten werden (re-Initialisierung).

F1/F3: Directory

F2/F4: legt fest, wo die 8K RAM eingegliedert (angesprochen) werden.

Voreingestellt ist die Hexadresse $8000 für das 1541/1541C/1541 II

RAMBoard. Wer Rapidos Pro installiert hat und mit der 8K Erweite-

rung arbeiten möchte, muß Rapidos Pro erst deaktivieren, bevor

Maverick gebootet wird. Der richtige Platz für Rapidos Pro ist

$4000, für das 1571-RAMBoard $6000. Sollten zur Speicheraufteilung

noch irgendwelche Fragen bestehen, fragt beim Hersteller nach, der

vermutlich sehr gerne behilflich sein wird.

F5: Disk Kommando (siehe ganz oben).

F8: Bootet Diskette

Eigenschaften im Editierbildschirm:

Wird die Option 'Edit Tracks' gewählt, öffnet sich der Arbeitsbildschirm. Im oberen Teil sind Statusmeldungen und die Read/Write (Lese/Schreib) Konfiguration kann geändert werden. Im mittleren Teil ist ein scrollbares Fenster, das den gepufferten Track-(Spur-)Inhalt anzeigt, während im unteren Teil des Bildschirms Meldungen und Eingabeaufforderungen erscheinen. Alle Eingaben und Ausgaben (Darstellungen) sind in Hex! Oben links am Bildschirm angefangen stehen folgende Optionen zur Verfügung:

?: Hilfe-Bildschirm

T: zur Eingabe einer Track (Spur), die $01 bis $28 sein kann

B: zur Eingabe einer Bit-Rate für die gewählte Spur. Sie kann $60

(normal für Spur $01-$11), $40 (normal für Spur $12-$18), $20

(normal für Spur $19-$1E), $00 (normal für Spur $1F-$28) sein.

A: schaltet die automatische Dichte-Erkennung ein/aus, voreingestellt

ist Normal/Off und Auto/On. In der Stellung Norm wird die Spur

mit der eingestellten Bit-Rate gelesen, auf Auto wird -wenn

möglich- die Spur so gelesen, wie die Bit-Rate auf der Disk

vermerkt ist.

S: setzt die Source- (Lese-) Laufwerksnummer. Durch wiederholtes

Drücken ist $08, $09, $0A oder $0B einstellbar.

S: shift-S definiert den Platz des zusätzlichen RAM in diesem Laufwerk

($4000-$E000)

D: setzt Destination- (Schreib-) Laufwerksnummer durch wiederholtes

drücken auf $08, $09, $0A oder $0B.

D: shift-D : Platz für zusätzliches RAM ($4000-$E000)

P: setzt Laufwerksgeschwindigkeit für Ziellaufwerk. Mit der Wahl

dieser Option, wird man aufgefordert, eine Diskette ins Ziellaufwerk

zu geben. Achtung: hierbei werden die Daten der Spur $26 (und nur

$26) gelöscht. Mit <SPACE> beginnt der Speed-check. Die normale

Geschwindigkeit für die aktuelle Spur bei angewählter Bit-Rate wird

unten im Bildschirm angezeigt, die tatsächliche Geschwindigkeit

oben.

Die Geschwindigkeit wird angegeben als Zahl der Bytes, die bei ein-

gestellter Bit-Rate, auf die aktuelle Spur geschrieben werden

können. Das ist besonders nützlich um 'Custom Formate' zu

kopieren.

Die folgenden Befehle (G-Y-H) arbeiten in Verbindung miteinander und

beeinflussen die Art und Weise, wie eine Spur gelesen wird.

G: setzt Gap-search-Bytes. Gib ein 1 bis 5 Byte Suchmuster ein, das

hilft, den Anfang einer Spur zu finden. Wird das Muster wiederholt

nicht gefunden, sucht das Laufwerk unendlich. In diesem Fall

<RESTORE> drücken und das Laufwerk Aus- und wieder Einschalten.

Bist Du Dir nicht sicher, nach welchem Muster zu suchen ist,

belasse das voreingestellte $00, welches die meisten Formate

richtig liest. Einige Formate wie V-MAX! erfordern diese Eingabe.

G: shift-G kopiert die Daten aus dem Spurpuffer unter dem Cursor in

die 'Gap' (Lücke(?))

Y: schaltet Sync-Suche ein bzw. aus. Nachdem Gap-Bytes gefunden

wurden, bestimmt diese Option, ob auch nach Syncs gesucht

werden soll oder nicht.

Y: shift-Y setzt (im Editmodus) Syncmarken dorthin,wo der Cursor

steht, frägt aber noch nach der Anzahl der einzusetzenden Syncs

($01 bis $FF).

H: setzt Header-Suchbytes (1 bis 8 Bytes). Diese Option bestimmt den

Startpunkt für die Übernahme der Spur in den Puffer. War die Suche

nicht erfolgreich, sucht das Laufwerk unendlich weiter (<RESTORE>/

Lw Aus und Ein). Mit CRSR rechts/links-Taste kann vor bzw. zurück

gesprungen werden. Sind die Änderungen eingetippt, mit Pfeil-links-

Taste (Esc) aussteigen. (Achtung: bevor eine neue Spur eingelesen

wird, muß entweder das Suchmuster gelöscht oder geändert

werden.)

H: shift-H kopiert Spurpufferdaten unter dem Cursor in den Header

F: setzt Füllbyte, das dazu dient, eine Spur zu 'löschen', bevor die

neue Spur geschrieben wird. Ist z.B. $FF gewählt, wird die Spur

komplett mit $FF beschrieben und dann mit dem Inhalt des

aktuellen Spurpuffers überschrieben.

R: liest gewählte Spur in den Puffer

+/-: liest nächste/vorherige Spur

W: schreibt aktuellen Pufferinhalt auf gewählte Spur mit aktueller

Bit-Rate

HOME: bewegt Cursor zum Anfang des angezeigten Pufferinhaltes

F1/F3: blättert seitenweise durch den Pufferinhalt

F2/F4: blättert $400 Bytes vor/zurück (ca. 6 Bildschirmseiten)

F5: springt in die Nachbarschaft der durch F6 markierten Cursorposition

F6: merkt die Cursorposition im Anzeigebildschirm

F7: Suche Ende der Spur. Während die Spur gelesen wird, plazieren wir

ein $00 Byte an die Stelle, die wir für das Ende der Spur halten.

Dieses $00 Byte wird auch im Write- (Schreibe-) modus benutzt,

das Ende zu signalisieren. Ihr könnt das im Anzeigepuffer über-

prüfen. F7 bewegt den Cursor auf das erste gefundene $00 Byte.

Dieses $00 Byte wird nicht auf die Spur geschrieben!

F8: Sucht Syncmarken im Spurpuffer. Sucht nach 10 aufeinanderfolgen-

den 1 Bits und stopt dann.

E: Edit Modus. Gib Änderungen der Bytes in den Puffer ein, dabei

funktionieren CRSR-, HOME-, F-, INSERT- und DELETE-tasten. Die

INSERTtaste fügt ein $00 Byte an der aktuellen Cursorposition ein,

das -sofern nicht überschrieben- einen neuen Spurendemarker

darstellt.

CLR: (nur im Editmodus) füllt den Puffer mit dem Füllbyte, das oben am

Bildschirm angezeigt wird.

M: Macro aufzeichnen. Bis zu 2560 Tastendrucke können gespeichert

werden bis mit <RESTORE> abgeschlossen wird. Damit ist es möglich,

den Track Editor zu programmieren und eigene Kopierprogramme

zu erstellen.

X: führt das zuletzt erstellte Macro aus. Man wird noch nach der

Anfangs- und Endspur abgefragt, dann arbeitet das Macro jede

Spur entsprechend ab, bis zur Endspur oder bis mit <RESTORE> ab-

gebrochen wird.

Als Startspur '0' eingegeben bewirkt ein nur einmaliges abarbeiten

des Macros.

GEOS TOOLKIT

Eines der heißesten Programmpakete, die heutzutage angeboten werden, ist GEOS. Wir bei Kracker Jax wissen, daß unsere Kunden Sicherheitskopien benötigen, besonders von den wichtigen Programmen. Und GEOS ist da keine Ausnahme. In diesem ToolKit (Werkzeug) findest Du die Utilities, die man braucht, Kopien zu machen, die sich auf fast jedem Commodore-kompatiblen Laufwerk installieren lassen. Außerdem ist ein Sektor Editor enthalten, der unter GEOS DeskTop V1.3 oder höher läuft und ein GEOS Filekopierer, der allen GEOS Fans das Leben vereinfachen soll.

GEOS Parameter Menü

Um sicher zu gehen, benutze unseren Single Drive Fast Data Copier (mit einem oder zwei Laufwerken), um eine -nicht lauffähige- Kopie deiner INSTALLIERTEN Berkeley Software zu machen. Sollten während des Kopierens Fehler angezeigt werden, handelt es sich wohl um ein defektes GEOS Original. Verifiziere die Fehler mit dem 'Sector Map Editor' und wenn sie sich bestätigen, empfehlen wir, Berkeley um Ersatz zu bitten.

GEOS ToolKit wird aus dem Maverick Hauptmenü ausgewählt. Folge der Bildschirmanzeige und wenn das Untermenü erscheint, wähle 'Parameter Menu', worauf folgende Punkte erhältlich sind:

BOOT SINGLE DATA COPIER: Mit dieser Option gelangt man direkt (nicht über das Hauptmenü) in den 'Single Drive Fast Data Copier'.

BOOT DUAL DATA COPIER: direkt ins 'Dual Drive Fast Data Copier'

BOOT SINGLE NYBBLER: 'Single Drive Nybbler' direkt booten

BOOT DUAL NYBBLER: 'Dual Drive Nybbler' booten

Über die F-Tasten stehen folgende Befehle zur Verfügung:

F1: PARMS IN DRIVE NO.: plaziere das Maverick Parameter Modul #8 in

das Laufwerk, das durch diese Option definiert wird. Nr. 8 ist vor-

eingestellt, kann auf 9, 10 und 11 geändert werden. Das Laufwerk

muß vorab entsprechend eingestellt worden sein (hard oder soft),

damit eine andere Nummer als 8 akzeptiert wird.

F3: BACKUP IN DRIVE NO.: gib die Zieldisk (niemals das Original) in das

Laufwerk, das durch diese Option eingestellt wird (s.o.)

F7: Load Maverick Parameters: Lege Parametermodul #8 in das durch

F1 definierte Laufwerk und drücke <RETURN>. Das Laufwerk startet

und lädt ein Listing der erhältlichen Parameter. Den CRSRbalken mit

CRSR auf/ab-Taste langsam, mit CRSR lks/rts schnell durch die Liste

bewegen. Steht der CRSR über der gewünschten Option, <RETURN>.

Die Parameter werden geladen und fragen nach Deiner Backupdisk.

Mit dem Backup im richtigen Laufwerk, wieder <RETURN>. Das

Programm prüft die Version des Schutzes und wird ihn -soweit er

bekannt ist- knacken und den Erfolg/Mißerfolg anzeigen. Wenn

fertig (die Zeit kann deutlich variieren), erscheint das Hauptmenü.

Dort kannst Du einen anderen Parameter laden (für eine nächste

Kopie) oder Deine Kopie testen. Wenn die 'parameter successful'

oder 'version unknown' Meldung erscheint (und die bearbeitete Kopie) auch nach mehreren Versuchen nicht läuft, kontakte uns,

wir werden versuchen Dir einen Parameter zu bauen. Anmerkung:

Berkeley hat eine Version GEOS64 V1.2 herausgegeben, die in

Wirklichkeit eine SYSTEMS DISK ist. Jede SYSTEMS DISK mit V1.2 ist bei

uns als 'GEOS64 V1.3' zu behandeln.

Wichtig: GEOS64 V1.3 oder 2.0 enthält zweifachen Schutz. Um eine

funktionierende Kopie zu erhalten, mußt Du sowohl den

entsprechenden GEOS64 Parameter, als auch den Desktop Parameter

benutzen. Weil der Desktop auch geschützt ist, muß der Desktop

Parameter auf jede Arbeitsdiskette mit Desktop angewendet

werden, um 'trojanische Pferde' auszuschließen.

C= P: Commodore+P druckt die Parameterliste im Commodore 801/1525

Format aus, nachdem sie von der Disk geladen wurde. Dazu wirst

Du noch nach der Druckeradresse (meist 4) und 'line feeds' (meist

NO) gefragt.

Mit 'A' Audruck abbrechen, mit 'P' pausieren.

RUN STOP/RESTORE: kehrt vom Parameterlistingmodus in das Parameter

Hauptmenü zurück.

F8: bootet Disk

GEOS Sector Editor:

Kein Utility-Pack ist sein Geld wert, ohne Sektor Editor. Wir dachten, es müsse Spaß machen, einen im GEOS Format zu programmieren. Wir bei Kracker Jax sind in der glücklichen Lage, einen der Top Programmierer des Landes, Bob Mills, in unseren Reihen zu haben. Der Sektor Editor, mit allen Eigenschaften ausgerüstet, läuft unter Desktop!

Dieser Sektor Editor erfordert GEOS Grundwissen, ist dann aber sehr einfach zu laden und gebrauchen.

Boote Dein GEOS System (V1.3 oder höher). Aus dem Desktop die Maverick Master Disk Seite 2 aktivieren und das Sector Editor Icon doppelklicken. (Der Sektor Editor kann auch auf eine Arbeitsdisk kopiert und von dort gestartet werden.) Die Voreinstellungen (preferences) des Desktop werden übernommen (z.B. Druckeranpassung, Eingabetreiber).

Wir können Dich mit diesem Manual nicht ins Commodore Format einführen. Benötigst Du Informationen, wende Dich an eine örtliche User Group, dort findest Du Experten, die Dich über die Klippen leiten.

Sector Edit Screen:

Diskette/Left Arrow (Linkspfeil): schreibt den gerade angezeigten Sektor in

den Bereich, der durch die NOW Sektoreinstellung angegeben ist.

Diskette/Right Arrow (Rechtspfeil): liest den durch NOW eingestellten

Sektor ein.

T: wähle die gewünschte Track- (Spur-) Nummer (0 bis F) und klicke

'T', um diese Spur zur NOW-Spur zu machen. Um Spur 18 zu wählen

(hex 12), klicke 1, 2, T. Die Spur wird im Track Now Indikator

angezeigt.

S: wie T, jedoch für Sektor und 'S'

Chain Loop: zeigt beim anklicken den nächst verketteten Sektor des Files

an. Auch zu irgendeiner Zwei-Byte Adresse auf dem Bildschirm

Puffer kann man springen: Auf das erste der beiden Bytes klicken,

das daurch hervorgehoben wird, dann chain loop icon klicken und

der angezeigte Sektor wird in den Bildschirmpuffer gelesen.

Chain +: Alle Standardprogrammfiles haben Linkadressen (Linker, Chain

links), die man durch klicken auf Chain + verfolgen kann (vorw.).

Chain -: wie oben, rückwärts

Large +: liest nächste Spur in der numerischen Folge

Large -: liest numerisch vorhergehende Spur

Small +: liest nächsten Sektor der numerischen Folge

Small -: liest numerisch vorhergehenden Sektor (bis 0 = 'Ende')

Right Arrow/P: druckt Sektor Informationen und Daten in Hex und ASCII.

Der richtige Druckertreiber muß installiert sein.

Now: aktuelle Spur und Sektor werden auf dem Bildschirm angezeigt

Previous: vorhergehende Spur und Sektor werden eingelesen in Verbindung

mit chain + . 00 zeigt, daß kein vorhergehender Sektor da war.

Next: Nächste Spur und Sektor (entspr. der 'file chain links', Koppel-

adresse) wird eingelesen. Arrow/Dual Drives: vertauscht Lauf-

werk A mit B und umgekehrt (Icons werden nur angezeigt,wenn

zwei Laufwerke auch vorhanden sind).

Position: Zeigt in Dezimal und Hex die Position des aktuellen (angeklick-

ten) Bytes an.

Das Ändern von Bytes der Sektor Map ist einfach: auf das erste zu ändernde Byte klicken und die neuen Werte in Hex eingeben. Befindet man sich in der ASCII-Darstellung, kann die Eingabe auch in ASCII erfolgen.

Hab' Freude mit diesem Sector Editor, aber experimentiere niemals mit den Originaldisketten. Mache erst Kopien mit einem unserer Disc Copiers, dann kann kein irreparabler Schaden entstehen.

GEOS FILE COPIER

Seit wir zum ersten Mal GEOS benutzten, wußten wir, daß hierfür ein Filekopierer notwendig ist. Die normale Kopierfunktion unter GEOS ist langsam und langweilig. Nur ein File auf einmal und dann noch eingeengt darin, welche Files von einer Disk zur anderen kopiert werden können. Mit dem erscheinen von GEOS 64/128 V2.0 wurde das File-Kopieren zwar verbessert, aber immer noch nicht optimal. Der Vorgang ist schwerfällig und langsam und die Fileauswahl immer noch begrenzt.

Unser neues GEOS File Copier hat den Vorteil eines größeren Kopierpuffers und läßt -außer dem Bootfile- alle Filearten zu. Bitte denke daran, daß selbst wenn Du unsere Parameter benutzt eine GEOS Bootdisk zu entschützen, kann der Diskinhalt nicht File-kopiert werden und es ist immer noch eine Arbeitskopie. Die Ursache hierfür ist, daß das 'Kernal'-file auf der Kopie sich exakt auf der gleichen Position wie auf der Originaldisk befinden muß. (Es wird mehr spur- und sektororientiert als fileorientiert geladen.)

Stecke Deine GEOS V1.3 (oder höher) ins Laufwerk und boote (GEOS 128 im 40-Zeichenmodus). Bei erscheinen des DeskTop, die Maverick Master Disk Seite 2 ins gewünschte Laufwerk einlegen und öffnen. Maverick F.C. (= GEOS File Copier) kann auch auf eine Arbeitsdisk kopiert und von dort gestartet werden (Doppelklick). Die Voreinstellungen aus dem DeskTop werden vom Maverick File Copier übernommen.

(Anm.d.Ü.: die 40-Zeichenumschaltung kann auch aus dem DeskTop heraus erfolgen.)

Auf dem GEOS File Copier Hauptbildschirm erscheinen oben folgende Informationen:

Current Disk: Name der Disk im Quell-Laufwerk

Total Files: zeigt die Anzahl der zu kopierenden Files an

Total Blocks: zeigt die Anzahl der Blöcke der zu kopierenden Files an

Source: Quell-Laufwerk: A oder B und Laufwerkstyp

Target: Ziellaufwerk: A oder B und Laufwerkstyp

Nimm Dir bitte Zeit, Dich mit den erhältlichen Optionen vertraut zu machen.

GEOS: bei anklicken wird sich ein Fenster öffnen:

Exit to DeskTop: verlassen nach DeskTop

Use Desk Accessory: sind auf der Disk im Quell-Laufwerk Hilfsmittel

vorhanden, werden sie in diesem Fenster aufgelistet und

durch einfachen Klick ausgeführt

File: bei anklicken wird sich ein Fenster öffnen:

Load Source Directory: anklicken lädt Directory vom Quell-Laufwerk

Copy Files: nachdem alle anderen Optionen eingestellt sind, beginnt

hiermit der Kopierprozess (s.u. 'Copy Files')

Disk: öffnet eine Dialogbox, in der Quell- und Ziellaufwerk getauscht

werden können. Unser GEOS File Copier unterstützt jede

Kombination von Laufwerken, die auch von GEOS selbst

zugelassen werden. Allerdings unterstützt GEOS keine

Unterverzeichnisse (Partitions) auf der 1581.

Page: wenn der Bildschirm ganz mit Fileeinträgen angefüllt ist, kann man

hier klicken, um -soweit vorhanden- die nächste Seite zu sehen.

File Selection: Fileauswahl durch anklicken. Ganze Blöcke können ange-

wählt werden, indem der Knopf gehalten und der Mauszeiger wei-

terbewegt wird. Maximal können 128 Files pro Disk ausgewählt

werden, die Anzahl der Blöcke ist nicht begrenzt.

Copy Files: Nach setzen aller Optionen 'File' und dann 'Copy Files' klicken.

Du wirst gefragt 'Are You Sure?' (Bist Du sicher?). Ist die Antwort

'Cancel' kehrt man zum File-Copier-Hauptbildschirm zurück, bei 'OK'

erscheint eine neue Dialogbox, in der -wenn zwei Laufwerke vorh.-

Quell- und Ziellaufwerk eingegeben werden können. Die neue

Auswahl läßt 'Cancel' (Rückkehr zum DeskTop) und 'OK' (Start des

Kopierprozesses) zu.

GEO*BOOT

Unterstützt 1541/71/81 Diskformate

Erfordert eine 1541 oder 1571 und ein weiteres Laufwerk

Engagierte GEOS Freunde haben viele upgrade features (Verbesserungen) gefordert und erhalten seit GEOS herausgekommen ist und GEOS V2.0 ist Berkeleys feinstes. Eine der letzten Zufügungen ist die (begrenzte) Unterstützung der 1581, wo sie allerdings nur als Datenlaufwerk eingesetzt werden kann. Das ist zwar in Ordnung, aber die Benutzer wollen volle Unterstützung, sie wollen GEOS direkt von der 1581 booten und den vollen Geschwindigkeitsvorteil ihres Laufwerks ausschöpfen. Unser GEO*BOOT- Utility bringt ALLES, was ernsthafte GEOS-Besitzer wollten. Mit GEO*BOOT kann GEOS kopiert und von einer 1581, 1541 oder 1571 (echtes 1571-Format) gestartet werden!

Aus dem Maverick Hauptmenü 'GEOS TOOL KIT' wählen und <RETURN> drücken. Folge den Bildschirmhinweisen und auf dem neuen Menü zwischen 'GEO*BOOT 64' und 'GEO*BOOT 128' wählen und wieder mit <RETURN> bestätigen. Nach Auswahl der 128'er Version wird man gebeten, die 40/80-Zeichentaste zu entriegeln (40-Zeichen!!) und dann den RESET- Knopf zu drücken (nicht ausschalten!!!). Auf dem neuen Menü erscheint:

Install GEOS 2.0: Bevor diese Option gewählt wird, muß das GEOS System

komplett installiert, konfiguriert und getestet worden sein. Dann

stelle Quell- (1541/71) und Ziel- (1541/71/81) Laufwerk ein (s.u.). Auf

Anforderung ORIGINAL GEOS SYSTEMDISK (V2.0, Disk 1, Seite A) mit

Schreibschutz (!!!) ins Quell- und irgendeine (auch neue) Disk ins

Ziellaufwerk einlegen; <SPACE>.

Zuerst wird die Zieldisk entsprechend dem Lw-typ formatiert (1571

User werden gefragt, ob sie einseitig '1541', oder zweiseitig 'echt

1571' formatieren wollen), dann beginnt der Übertragungsprozeß.

Sollte während dessen ein Basic Reset passieren, handelte es sich

entweder um keine Originaldisk oder um ein verändertes Original.

Nach ca. 3 Minuten erscheint die 'fertig' (Installation Complete)

Meldung. Auf der Zieldisk findest Du ein (128'er) oder 3 (64'er) Files.

Das sind die convertierten Files einschließlich Fastloadern. 64'er

Version laden durch LOAD"*",GA,1 , die 128'er durch Reset oder

BOOT ON U....

Um das convertierte GEOS richtig zu betreiben, mit Geos oder

Maverick F.C. (filecopier) Desktop, Eingabetreiber, Druckertreiber

übernehmen, sowie die gewünschten Applikationen.

Source Device No: voreingestellt 8, kann bis 11 eingestellt werden.

Allerdings muß in diesem Tool die GA (Geräteadresse) hardware

mäßig eingestellt werden!

Target Device No: voreingestellt 9, kann auf 8 bis 11 eingestellt werden.

F1/F3: Directory

F8: bootet Disk

Quick File Copier:

Unterstützt 1541/71/81 Diskformate

Erkennt und benutzt automatisch 1764/1750 oder den 64K VideoRAM

Um irgendwelche Files von Disk A auf Disk B zu übertragen, greift der Commodore User zum File Kopierer. Unser Quick File Copier schiebt Programm- und sequentielle Files zwischen der 1541, 1571 und 1581 hin und her, dabei wird auch das echte 1571 Format oder 1581'er Unterverzeichnisse unterstützt. Dabei wird optimal 'beschleunigt', mindestens so schnell wie irgendein anderer Filekopierer. Viel Spaß!

Wenn Du mit diesem Kopierer arbeitest, denke daran, daß Filekopierer für gewöhnlich nicht sehr gut mit geschützter Software 'können'. Selbst wenn Du mit unserem 'Single Drive Fast Copier' eine 'saubere' Kopie deiner geschützten Software gemacht und mit Parametern nachbearbeitet hast, ist das keine Garantie, daß die Kopie problemlos läuft.

Viele Programme kommerzieller Software benutzen den Disketten Direktzugriff um Blöcke oder sogar Datenfiles (z.B. die Maverick Parameter) zu laden. Solche Programme sind nur durch Disk-kopieren kopierbar. Der 'File Copier' kann nur solche Files kopieren, die gültige Directoryeinträge besitzen. Alle Daten, die nicht im Directory verzeichnet sind, werden außen vor gelassen. Ein anderer Punkt: hier muß eine ordentlich formatierte Zieldisk vorliegen. Für Deinen Komfort haben wir noch einen 30-Sekunden-Formatierer (zum Formatieren und Verifizieren) beigelegt.

Aus dem Hauptmenü 'Quick File Copier' <RETURN> führt zum Untermenü:

Two Drive Quick File Copier (schneller 2-Lw-Kopierer):

Die 1581-Optionen sind (manchmal) leicht unterschiedlich zu den der 1541/71 und werden deshalb gesondert aufgeführt; wenn nichts vermerkt ist, sind die Optionen genau gleich.

Die Menüpunkte von oben:

Copy Files: startet, nachdem Optionen korrekt gesetzt wurden

Source Drive: Quell-Laufwerksnummer (8 bis 11) unter der das Laufwerk

ansprechbar ist (soft oder hard). Der Laufwerkstyp wird automat.

erkannt.

Subdirectory of Source (1581): Voreingestellt ist OFF (Aus), solange keine

81'er als Quell-Laufwerk eingestellt ist. Mit dieser Option können

Unterverzeichnisse -soweit vorhanden- gelesen werden: Auswahl

'Subdirectory' <RETURN>. Unterverzeichnisse werden zwischen Pfeilen

angezeigt. Sowohl der aktuelle, als auch der vorhergehende

Directoryname werden oben am Bildschirm angezeigt. Willst Du ein

Unterverzeichnis lesen, fahre mit der CRSR auf/ab Taste auf den

Namen und drücke <RETURN>. Willst Du zurück, drücke <CLR>. Um

Files aus dem aktuellen Unterverzeichnis zu kopieren, 'Pfeil-links-

Taste' drücken. Dieses Unterverzeichnis bleibt solange aktiv, bis

dieser Menüpunkt wieder aufgerufen wird.

Dest.Drive: ändert Ziellaufwerk (8 bis 11). s.o. Subdirectory of Dest.: s.o.

Man kann mit entsprechender Einstellung auch Files von einem

Unterverzeichnis in ein anderes (der gleichen Disk) kopieren.

Save Skew (1541/71): Die Art und Weise mit der das Commodore Disk Lw.

jeden einzelnen Sektor Daten auf die Scheibe speichert, nennt man

'interleave' oder 'Skew'. Die normale Skew-Rate (1541) ist 10. Das

bedeudet, DOS beginnt z.B. Sektor 0 einer 21-Sektor-Spur (0 bis 20),

addiert 10, schreibt Sektor 20, addiert 10 (macht 30, zieht davon

die Maximalzahl der erlaubten Sektoren (21) ab, gibt 9), schreibt

Spur 9, addiert 10,... Der Skew ist direkt mit der Geschwindigkeit

verbunden, mit der Diskdaten zum Computer gesendet werden

können. Das normale 1541 DOS zieht den Faktor 10 vor, für die

kürzest mögliche Ladezeit. Nun gibt es aber Schnell-Ladesysteme,

die die Ladezeit deutlich verkürzen, sie arbeiten mit geringeren

Zahlen. Z.B. arbeitet die 1571 im 128'er Modus mit Faktor 6, im 64'er

Modus dagegen mit 10 (also nicht optimal). Wenn Du mit Deiner

1571 Files kopieren willst, warum dann nicht den Skewfaktor auf 6

setzen (128'er)? Das wird die Ladezeit deutlich vermindern. Die

Skewrate einiger anderer Kopierer ist: Fastload Cartridge (10),

Mach 5 (10), Super Snapshot mit 1541 (5 bis 10), - mit 1571 (5),

Warp Speed (6), Quick Load (9 oder 10), Chip Level Design's Burst

ROM (5), Pro DOS unglaubliche 1 bis 5! Du kannst mit Deinem

Lieblings-Fast-Kopierer experimentieren.

Format Dest: Diese Option erlaubt, eine Diskette zu initialisieren oder zu

formatieren. Zum formatieren kann eine ganz neue, oder eine

bereits benutzte Diskette genommen werden, auf der dann alle

Daten unwiederbringlich verloren gehen. Das Ziel- (Destination-)

Laufwerk (voreingestellt #9) wird die Formatierung ausführen.

Nach Auswahl diesen Punktes, die zu formatierende Diskette ein-

legen und den Diskname (bis 16 Zeichen lang), Komma, ID (zwei

Zeichen lang) <RETURN>. Du wirst aufgefordert alles zu überprüfen

und dann 'Y' (= Yes) zu drücken. Das Formatieren dauert etwa 30

Sekunden und kehrt automatisch zum File Copier Menu zurück.

Erscheint die Meldung 00,ok,00,00 ist alles in Ordnung.

Ist Dein Ziellaufwerk eine 1571, wirst Du gefragt, ob Du einseitig

(1541'er Format) oder zweiseitig ('echtes' 1571'er Format)

formatieren willst.

Softwire Drives: s.o. (Laufwerksadresse 'soft' ändern)

F1/F3: Directory

F5: Diese Funktion sendet Disk Kommandos an die Laufwerke, vorein-

gestellt ist Quell-Lw. (Anzeige: 'S>'). Auf Ziellw. (Anzeige: 'D>')

umschalten durch '#' und <RETURN>. Diese DOS-Wedge ersetzt mit

S> bzw. D> den OPEN 15,8,15," -Teil der Anweisung. So lautet z.B.

der Befehl zum löschen: S>S0:Filename. Alle anderen Befehle arbeiten

entsprechend (siehe Anleitung für Laufwerk für vorhandene Befehle)

F7: Ausgang nach BASIC, besonders für 1581-Besitzer. Man liest sich in

eine Partition (gewünschter Tiefe) und geht mit F7 nach BASIC. Dort

bleibt die letzte Partition (Unterverzeichnis) für die normalen DOS

Kommandos aktiv.

RESTORE: kehrt von irgendwelchen Unterbildschirmen zum 'File copier'

Hauptmenü zurück. War gerade ein Laufwerk aktiv, muß es danach

durch aus- und wiedereinschalten 'reset' werden (um Disketten-

schaden zu vermeiden, Laufwerksarretierung (drive doors) öffnen)

Copy Files: Nachdem alle Eingaben gemacht und die Zieldisk vorbereitet

ist, plaziere die schreibgeschützte (!!!) Originaldisk ins Quell-Lw. und

wähle die Copy Files Option. Die Directory der Quelldisk wird

eingelesen und erscheint auf dem Bildschirm. Mit der unteren CRSR-

auf/ab Taste durch das Listing scrollen. Die Optionen sind:

Space: wählt das angezeigte File aus, der Zeiger wandert auto-

matisch eine Zeile tiefer

A: 'großer Umschalter'. Wählt alle Files zum kopieren aus,

Space nimmt nun angewählte Files aus der Auswahl

heraus.

C: Copy Files: bitte 'C' nicht drücken, bevor die Disketten in

den richtigen Laufwerken (Quelle/Ziel) liegen. Die

Quelldaten werden gelesen und dem Ziellaufwerk

übermittelt. Wenn in der Ziel-BAM der Dateiname schon

vorhanden ist, wird man zur Eingabe eines neuen

Namens (mit bis zu 16 Zeichen) aufgefordert. Die

Markierungslinien links im Bildschirm stellen je etwa 10

Sektoren dar (zur groben Orientierung). Die Laufwerke

während der Arbeit nicht stören, abwarten, bis das Menü

wiederkommt!!

D: Delete Files: Ausgewählte Files können mit 'D' gelöscht/

gescratcht werden. Es erfolgt noch eine Sicherheits-

abfrage. Bei Antwort 'Yes' (Ja) wird man noch gefragt,

ob jedes File einzeln bestätigt werden soll; wir

empfehlen 'Yes', weil es nach 'No' keinen Weg zurück

gibt (und gelöschte Files können nur von sehr

erfahrenen Disk-Doktoren gerettet werden).

F8: bootet eine Disk

Single Drive Quick File Copier:

Unser 'Single Drive Copier' arbeitet exakt wie die 2-Lw-Version. Lasse die Quell- und Ziel-Lw-Nummer gleich. Du wirst nun zahlreiche male aufgefordert, die Source- (Quell-) und Destination- (Ziel-) Diskette einzulegen. Fahre fort, bis die Kopie fertig ist und das Menü erscheint.

PARAMETER MENU

Kopierschutz hat eine lange Vergangenheit und kam so richtig auf, als Nibbler alles kopieren konnten (oder zumindest dazu gebracht werden konnten). Der heutige Kopierschutz braucht -meistens- 'Parameter'. Was ist 'Parameter'? Kopierschutz besteht zumeist aus zwei verknüpften Routinen: dem physikalischen Schutz, durch den Duplikator aufgebracht und der Routine, geschrieben durch den Programmierer, diesen physikalischen Schutz abzufragen. Ein geschütztes Programm zu kopieren, gibt zwar eine 'Arbeitskopie', aber der physikalische Schutz muß nachbearbeitet, oder die Prüfroutine umgeschrieben werden, damit die Kopierschutzabfrage 'erfolgreich' ist.

Den Schutz zu kopieren, erfordert die Untersuchung des selben mit Tools wie unserem GCR Track Editor, dann ein Spezialprogramm, das die 1541 reprogrammiert und den Schutz schreibt. Natürlich könnten wir diesen Schutz in unseren Nibbler einbauen, aber noch ein paar mehr Prüfroutinen und der Nibbler wird ein langsamer Kriecher

Der andere Weg ist, die Prüfroutine zu entschlüsseln, und das ist höchst effektiv. Wir prüfen die Prüfroutine des Programmierers und deaktivieren sie durch ein 'Patch'. Wir müssen annehmen, daß Dein (zu kopierendes) Programm die gleiche Version ist, mit der wir gearbeitet haben. Wenn nicht, schreiben wir unseren 'Patch' an die falsche Stelle ... aber glücklicherweise kommt das nur selten vor. Meistens kann das Backup als 'broken' (geknackt) bezeichnet werden. Ist der Kopierschutz geknackt, kann ein Disk-Kopierer die Arbeit vollenden.

Ist ein Programm von Anfang bis Ende im Nicht-Standard-Format ausgeschrieben, kann mehr als ein Parameter erforderlich sein. Dann müßten wir einen Spezial Copier für DIESE Disk schreiben; das Ergebnis wäre ein 'maßgeschneiderter' Kopierer. Ein maßgeschneiderter Kopierer könnte nur ein Stück Software kopieren und hätte ansonsten keinen anderen Zweck im Leben. Bitte denke daran, daß es Schutzarten gibt, die unbedingt eine Hardwareerweiterung in der 1541/41-II/71 benötigen. Weil diese Laufwerke nur 2K programmierbares RAM besitzen, können neuere Schutzsysteme mit Laufwerken von der Stange nicht kopiert werden, was sich ändert, wenn wir ein bißchen zusätzlichen Speicher zufügen. Wir können dann die Daten einer kompletten Spur auslesen und damit (fast) jedes Schutzsystem schlagen. Dazu wurden unsere RAMBoards geschaffen. Diese relativ billige optionale Hardware wird durch die Maverick Parameter Module unterstützt.

Aus dem Maverick Hauptmenü 'Parameter Menu' <RETURN>, dann mit CRSR und <RETURN> weiter wählen:

BOOT SINGLE DATA COPIER:

BOOT DUAL DATA COPIER:

BOOT SINGLE NYBBLER:

BOOT DUAL NYBBLER: (s.o.)

Mit den F-Tasten steht zur Verfügung:

F1: PARMS IN DRIVE NO.: die gewünschte Maverick Parameter Disk in

das Laufwerk einlegen, das durch diese Option bestimmt wird.

Soweit vorhanden, werden zwei Laufwerke unterstützt.

F3: BACKUP IN DRIVE NO.: die Backup-Disk (ggf. vorab File-kopiert) in

das durch diese Option bestimmte Laufwerk einlegen.

F7: LOAD MAVERICK PARAMETERS: Du wirst aufgefordert, eine Maverick

Parameter Disk in das durch F1 bestimmte Laufwerk einzulegen,

dann <RETURN>. Das Laufwerk läuft an, eine Liste der verzeichneten

Parameter erscheint.

PARAMETER SELECTION MENU:

Die Parametermodul-Nummer wird im Eck oben links angezeigt. Durch die alphabetisch geordnete Liste der Titel kann mit CRSR auf/ab langsam, mit CRSR links/rechts schnell gescrollt werden. Man kann zur Suche auch einen Anfangsbuchstaben eingeben: für einen Titel der mit 'S' anfängt 'S' drücken. Wenn kein Titel unter 'S' vorhanden, blinkt der Bildschirmrand, die Anzeige wird aber nicht geändert. Mit dem Cursorbalken über den gewünschten Titel gehen, <RETURN>.

Unsere Parameter sind in 10 Kategorien strukturiert, die je (leicht) unterschiedlich sind. Jeder Parameter hat sein eigenes 'tag' (Schildchen), das im unten-links Quadranten des Parameter Menüs angezeigt wird. Jedes Schildchen informiert über Parameter-Typ und wie der betreffende Titel zu kopieren geht. Verstehe bitte, daß, solange es keine andere Instruktion gibt, ein Parameter nur für die A-Seite der Kopie anzuwenden ist. Müssen zusätzliche Seiten kopiert werden, benutze den gleichen Kopierer wie für die A-Seite und KEINE Parameter.

Use Single or Dual Nybbler (then Parameter): Den Titel erst mit dem 'Single' oder 'Dual' Nybbler kopieren, dann ins Parameter Menü gehen und Titel wählen. Auf Aufforderung Kopie einlegen, <RETURN>. Wenn fertig, die Kopie testen.

Use Single or Dual Data Copier (then Parameter): Den Titel erst mit dem Single- oder Dual Fast Data Copier kopieren, weiter wie oben.

Duplicates Protection, Use Single or Dual Data Copier: Den Titel erst mit dem Single- oder Dual Fast Data Copier kopieren, weiter wie oben.

Custom Copier-1541 drives only (no previous backup needed): Den Titel aus dem Parameter Menü wählen, darauf wirst Du aufgefordert, einigemale die Quell- bzw. Zieldisk einzulegen. Wenn fertig, Kopie testen.

Use Single Data Copier Only (then Parameter): Benutze den 'Single Drive Fast Copier' (mit 1 oder 2 Laufwerken) wann immer eine Kopie von allem physikalischen Schutz 'gereinigt' werden muß. Ist die Kopie fertig, im Parameter Menü den Titel auswählen (Parameter einlesen), danach auf Anforderung die Kopie (Backup) einlegen und <RETURN>.

Custom Copier (1541/71 Drives, no previous backup needed): Titel aus dem Parameter Menü wählen, Aufforderungen zum Diskwechseln befolgen.

Use Single Nybbler Only: Manchen Schutz kann man mit dem 'Single Drive Nybbler' überlisten, - einfach 'Single Drive Nybble'-n.

Dupes Protection, Use Single or Dual Nybbler: Titel (bzw. Schutz) mit Single- oder Dual Drive Nybbler kopieren, zum Parameter Menü zurückkehren, Titel wählen, auf Anforderung die Kopie einlegen, <RETURN>, 'fertig'.

Single Nybbler Density On: Originaldisk mit 'Single Drive Nybbler' und eingeschalteter (ON) 'Density Detection' kopieren. Alle Seiten gleich behandeln, die Endspur auf '40' setzen. Ist die Kopie fertig, zum Parametermenü zurück, Titel wählen, Bildschirmanweisungen folgen um Lauffähigkeit der Kopie zu erreichen.

8K RAM Needed: Unglücklicherweise sind manche Schutze soweit entwickelt, daß sie sowohl Hard- als auch Software für das kopieren BENÖTIGEN. Parameter die diesen Punkt anzeigen, benötigen die 8K RAM Erweiterung im Laufwerk.

Unsere Parameter sollten mit irgendeiner 8K RAM Erweiterung im Laufwerk zusammenarbeiten (wie unserem RAMBoard, oder Rapidos Pro von Chip Level Designs, oder Eigenbau). Denjenigen, die RAMBoard noch nicht besitzen, sei versichert, daß es sehr einfach zu installieren ist. Mit einfachem Haushaltswerkzeug und einer halben Stunde Zeit sollte es hinhauen. Wer mit zwei Laufwerken und diesen Parametern arbeiten möchte, braucht natürlich für beide die 8K.

Manche Parameter fordern dazu auf, die Laufwerksgeschwindigkeit zu verändern. Wir konnten das leider nicht umgehen, haben aber ein 'Speed Control Device' entwickelt, das sich sehr leicht einstellen läßt. Ist eine Geschwindigkeitsänderung notwendig, mache Deine Kopie und setze die Werte dann wieder auf Normal zurück.(s.u.: Drive Speed Setting)

Nach Auswahl eines Parameters, das die 8K RAM erfordert, erscheint ein Standardmenü. Wie gewohnt mit CRSR auf/ab und <RETURN> auswählen:

Copy Disk Side: Beginne kopieren mit der ausgewählten Seite. Erfordert,

daß die Original- und Kopie- Disk mehrfach gewechselt wird (Bild-

schirmanweisungen beachten). Mit 'Verify' ON, kann die Kopierzeit

länger dauern, als Du sie vielleicht erwartest. Das kommt wegen

der umfangreichen Lese-/Schreibroutinen, die in diese Parameter

eingebaut sind. War der Kopierer beim Schreiben einer Spur nicht

erfolgreich, wirst Du darüber informiert; benutze dann eine andere

Zieldisk und Du wirst hoch zufrieden sein.

Source Dev No.: Quell-Lw-Nr. (8 bis 11)

F2 definiert Speicherbereich für RAM in diesem Lw

Target Dev No.: Ziel-Lw-Nr. (8 bis 11)

F4 definiert Speicherbereich für RAM

Speed Check: Benutze diese Option, bevor ein Kopierversuch mit irgend-

einem 8K-Parameter unternommen wird. Beginne, indem Du eine

leere Disk ins Ziel- (Target-) Lw legst (Schreibschutzkerbe offen)

und drücke <RETURN>. Darauf erscheinen zwei senkrechte Balken

und ein Pfeil-Zeiger mitten am Bildschirm. Der grüne hervor-

gehobene Bezirk im linken Balken zeigt den optimalen Lw-

Geschwindigkeitsbereich. Der rote hervorgehobene Bezirk im

rechten Balken zeigt den erforderlichen Geschwindigkeitsbereich

für diesen speziellen Parameter. Der Pfeilzeiger zeigt die aktuelle

Laufwerksgeschwindigkeit an. Du solltest immer in Betracht ziehen,

daß es schleppend voran geht, oder ein Lapsus passiert, weil dieser

Kopierer so empfindlich ist. Steht der Pfeilzeiger nicht innerhalb des

roten hervorgehobenen Bereichs: siehe unten 'Drive Speed Setting').

Softwire Drive: s.o.

F1/F3: Directory

F2/F4: Speicherplatz für RAMBoards (siehe oben)

F5: Wählt gewünschte Diskseite zum kopieren. Programme über

mehrere Seiten müssen sorgsam gewählt werden.

F6: schaltet die Option Lese-/Schreib- Verify EIN/AUS (ON/OFF). Wir

empfehlen OFF, solange keine Fehler auftreten (erst dann ON und

nochmals probieren).

F8: bootet Disk

Drive Speed Setting:

Wann immer ein 8K Parameter aufgerufen wird, bekommst Du einen Tip für die erforderliche optimale Laufwerksgeschwindigkeit über die 'Check Target Speed' Option, die auf dem Menübildschirm eines jeden Parameters erscheint. Nach jedem Kopierversuch muß die Laufwerksgeschwindigkeit zurückgesetzt werden.

Eine Kopie mit veränderten Geschwindigkeiten ist nicht schwierig, kann aber dennoch lästig sein. Wir haben ein 'Speed Control Device' für $24.95 (+$3.50 Versand) entwickelt, der für die 1541/41 II keine, und für die 1571 nur geringe Lötarbeiten erfordert. Damit sind Änderungen einfachst zu bewerkstelligen.

Aus dem Menü 'Target Speed' wählen, um die Diskette (auf Makellosigkeit der Toleranzen) zu prüfen, die als Ziel dienen soll. Liegt der Pointer deutlich außerhalb des rot hervorgehobenen Bereichs, entweder eine nächste Disk testen, oder falls notwendig die Lw-Geschwindigkeit justieren. Dafür einen kleinen Uhrmacher-Schraubenzieher benutzen, während man den Pfeilzeiger beobachtet (natürlich Ziel-Disk im Laufwerk lassen!).

Wir kennen zwei Grundtypen von Laufwerken, die beide mit dem Speedpoti einzustellen gehen. Aber das 1541-II hat keinen und deshalb haben wir für dieses spezielle Problem keine Lösung.

Toggle Door Model: Gehäuse öffnen, dann die zwei Halteschrauben des RF Metallschildes lösen, Schild beiseitelegen. Suche das braune PC Board (zur Gerätefrontseite hin), auf dem sich das Geschwindigkeitspoti befindet. Das ist meist blau und gelb, oben mit einem Kreuzschlitz. Während das Speed Check Programm läuft, mit sehr kleinen Drehungen vorsichtig ändern. Sei geduldig und arbeite äußerst genau, denn die korrekte Geschwindigkeit ist hier sehr kritisch! Nach Fertigstellung der Kopie das Drive wieder auf STANDARD Werte zurückstellen.

Spring Door Model: Gehäuse öffnen, Chassis aus dem Bodenteil lösen (6 Schrauben) und vorsichtig senkrecht auf die Seite stellen. Auf der Unterseite des Chassis, nahe der Front, findest Du ein kleines rundes Loch mit Schlitz: Poti für Geschwindigkeitskontrolle. Während das Speed Check Programm läuft, mit sehr kleinen Drehungen vorsichtig ändern. Sei geduldig und arbeite äußerst genau, denn die korrekte Geschwindigkeit ist hier sehr kritisch! Nach Fertigstellung der Kopie das Drive wieder auf STANDARD Werte zurückstellen.

Andere Kommandos im Parameter Menü:

F1: Directory

F2: Ausgang nach BASIC. Reset zur Originaleinschaltmeldung. Mitunter

muß das Laufwerk aus- und wieder eingeschaltet werden, um es

zu re-initialisieren.

F8: bootet Disk

Parameter Printout: Auf vielfachen Wunsch enthält Maverick eine

Ausdruckfunktion für das Parameter Menü. Der Ausdruck enthält

ein Listing der Programme mit den Kopieranweisungen. Nach dem

lesen des entsprechenden Modules C= und P (gleichzeitig) drücken.

Die Daten werden nach Eingabe der Geräteadresse (meist '4') im

Commodore 801/1525 -Format ausgegeben. Die Frage nach den

'line feeds' in der Regel mit 'NO' beantworten.

Der Ausdruck kann mit 'A' abgebrochen, mit 'P' unterbrochen und

mit 'C' weitergeführt werden.

RESTORE: kehrt zum Haupt-Parameter Menü zurück

RUN-STOP/RESTORE: kehrt in den Bildschirm zurück, in dem eine (andere)

Maverick Parameter Disk eingelesen wird.

Wir haben eine 'Parameter Versions-Erkennung' eingebaut. Beginnend mit Modul #2, können wir in den meisten Fällen erkennen, wenn eine Programmversion anderst ist als die, mit der wir abeiteten (s. Bildschirmanzeige). Wir werden, wenn immer möglich, für ein Update sorgen. Unser Programm kann auch viele bekannte Versionen von Schutzen prüfen, die richtige automatisch wählen und ausführen. Dies wird mehr und mehr benutzt, auch wenn Du es noch nicht kennst.

Gerne bekommen wir Verbesserungsvorschläge von Dir, vielleicht vermißt Du etwas, woran sich auch andere Leute freuen können!

DIRECTORY EDITOR

Unterstützt die 1541/71/81 Diskformate

Der Directory Editor ist ein Werkzeug, das auf praktisch jeder ungeschützten Diskette sowohl Standard- als auch GEOS- Directories umordnen kann. Es kann hand- oder alphabetisch sortieren, separieren, umbenennen, Dateien (ent-) schützen, mit Unterverzeichnissen (1581) umgehen. Wenn Du einmal damit vertraut bist, wird es wohl Dein Favorit sein.

Aus dem Maverick Hauptmenü 'Directory Editor' auswählen; das neue Menü enthält:

Read Directory: Liest das Directory der Diskette im aktuellen Laufwerk, das

oben am Bildschirm angezeigt ist. (1581: root-directory, solange

man nicht in den 'Partition Mode' geht.) Die gelesene Directory wird

im Edit-Puffer gehalten, bis sie durch eine neue überschrieben wird.

(1581: Wenn Du die blinkenden Pfeile neben einen Partition-Name

-kenntlich am 'Filetyp' SUB- stellst und <RETURN> drückst, wird diese

in den Puffer eingelesen. Rückkehr in das vorhergehende oder Root

Directory: <RESTORE> führt in das Editor Menü zurück, dort mit

'Disk Command' Disk ins root-Directory initialisieren und mit 'Read

Directory' -wie oben beschrieben- weiterfahren.)

Edit Directory: Die eingelesene Directory nach Wunsch bearbeiten (s.u.).

New Drive: Laufwerk wechseln (8 bis 11)

F1: Directory

F5: Disk Kommando

F8: Disk booten

Edit Directory:

Befindet sich eine Directory im Puffer, kannst Du mit dieser Option loslegen. Cursor nach Wunsch plazieren, <RETURN>. Die Directory Deiner Arbeitsdisk im Inputpuffer erscheint am Bildschirm links. Die einzelnen Optionen sind:

Edit Changes: oben am Bildschirm Informationen über die Diskette und das

File, auf das die Zeiger zeigen. Mit der unteren CRSR-auf/ab-Taste

Filenamen zum bearbeiten anwählen, 'E' (wie editieren) drücken und

die Änderung eintippen. Mit CRSR oder <RETURN> kann folgendes

gewählt werden.

Current Disk: Der Diskname (bis 16 Zeichen) kann neu eingegeben werden.

Wenn fertig, mit CRSR zum nächsten Punkt.

ID: Eine Standard-ID besteht aus 5 Bytes. Die ersten beiden sind die

eigentliche ID (beim formatieren angegeben), das 4. und 5. sind die

CBM DOS ID Bytes. Diese und das leere 3. können durch 5 beliebige

Zeichen ersetzt werden.

File Type: ändert den Filetyp. Beachte bitte, daß bei Änderung von z.B.

REL nach PRG keine Datei zu einem Programm wird; es ist lediglich

'Kosmetik' und kann evt. dazu führen,daß Files nicht korrekt

geladen werden (A.d.Ü.: 'Schutz vor neugierigen Blicken').

Experimentiere mit einer Arbeitskopie, wenn Du unsicher bist. Die

Filetypen werden mit der unteren CRSR-links-rechts-Taste geändert.

File Name: Einem File einen neuen Namen (bis 16 Zeichen lang) geben. Die

Zeichen *, ? oder " bleiben tabu.

Status: Damit kann ein File 'verschlossen' oder 'geöffnet' werden. Ein

'verschlossenes' File kann mit normalen DOS Kommandos nicht

gelöscht werden, - es sei denn durch Formatierung.

Pfeil-links-Taste: bricht 'Edit Changes Mode' ab.

Buffer Edit Mode:

Das Fenster unten links am Bildschirm ist Dein Eingabepuffer (in das die Directory eingelesen wird) unten rechts der Ausgabepuffer (zum zurückschreiben der Directory). Mit CRSR auf/ab durch die Listings scrollen, mit CRSR recht/links das (aktive) Fenster wechseln. Die Optionen im AKTIVEN Puffer sind:

HOME: springt zum ersten Eintrag des Directory-Listings.

SPACE/SHIFT-SPACE: wählt den angezeigten Titel aus. Mit SPACE wandert

der Zeiger einen Platz nach unten, mit SHIFT-SPACE nach oben. Es

kann ein Titel, ein Block von Titeln oder mehrere Blöcke zum

Übertrag in den anderen Puffer gewählt werden.

A: kehrt die Kennzeichnungen (gewählt/nicht gewählt) um.

S: sortiert alle hervorgehobenen (gewählten) Titel nach einer

Sicherheitsabfrage ('are you sure?'). Der sortierte Block wird genau

wieder dort hin geschrieben, wo er auch vorher stand,

ausgenommen es wird nach Numerischer oder Alphabetischer Folge

sortiert.

M: schiebt die hervorgehobenen Titel ins andere Fenster. Den

Pfeilzeiger unter den Block positionieren, unter dem der Einschub

erfolgen soll und 'M' drücken. Wurde der Zeiger nicht im anderen

Fenster positioniert, wenn der M-Befehl gegeben wird, werden die

Blocks (voreingestellt) unten im inaktiven Puffer angefügt.

D: fügt eine Trennlinie im Listing ein. Zeiger unter die Position stellen,

an der die punktierte Linie eingefügt werden soll, 'D' drücken. Diese

Linie ist 'kosmetisch' und nimmt der Diskette keinen Speicherplatz

(außer im Directory).

D: shift-D wie oben, es kann aber als Trennzeichen jedes druckbares

Zeichen verwendet werden. (shift-D und dann beliebige Taste)

W: schreibt nach der Sicherheitsabfrage ('are you sure?') die

veränderte Directory auf die Diskette. ACHTUNG: alle Titel, die nicht

im Ausgabepuffer stehen, werden nicht nur nicht geschrieben,

sondern gelöscht! Automatisches Validieren findet statt, wenn

andere als Trennfiles zurückbleiben. Ansonsten wird man danach

gefragt und kehrt in den Editmodus zurück.

F1/F3: schnelles hoch/runter scrollen durch Filepuffer

L/U: Schutz vor Überschreiben anbringen (L) bzw. löschen (U)

CLR: alle hervorgehobene Blöcke (ausgewählten Files) werden

zurückgesetzt ('deselektiert')

RESTORE: kehrt zum Hauptmenü zurück. Deine Arbeit wird dadurch aber

nicht ruiniert, sondern steht nach erneutem Aufruf des 'Directory

Editor' unverändert wieder zur Verfügung.

/: 1581-Benutzer können im Puffermodus mit '/' die Root-Directory

einlesen. Es handelt sich hier aber um einen Abbruchbefehl, der die

bearbeitete Directory NICHT schreibt, bevor die Root gelesen wird.

Bevor ein neues Directory gelesen wurde, kannst Du auf die vorhergehende Disk zurückgreifen, selbst wenn die Directory schon zurückgeschrieben war. Bei Wiederanwahl der 'Edit Directory' -Funktion kehrt man dorthin zurück, wo man zuvor aufgehört hat. Nach den weiteren Änderungen einfach wieder mit 'W' auf Disk schreiben.

6502 M/L Monitor (6502 Maschinensprache Mon.)

Unterstützt jedes Commodore-kompatible Disklaufwerk

Aus dem Maverick Hauptmenü '6502 M/L Monitor' wählen, <RETURN>. Im Monitorbildschirm mit der unteren CRSR auf/ab Taste weitere Option wählen und mit <RETURN> ausführen. Unser Monitor ist im Speicherbereich frei verschiebbar ('relocatable'): Wenn 'Monitor=$X000' hervorgehoben ist, wird mit <RETURN> die gewünschte Hex-Adresse eingestellt.

F1: Directory

F8: bootet Disk

OPTION 1: führt gewählten Monitor aus (siehe Monitor-Kommandos)

OPTION 2: speichert gewählten Monitor auf eine Arbeitsdisk mit entspr.

Autobootfile unter 'MONX000' (LOAD"MONX000",8,1). Die Op-Code

Listings werden unter 'OPS' gespeichert, der Monitor als 'X0'.

OPTION 3: editiert das Op-Code-File (OPS) auf irgendeiner Arbeitsdisk

CRSR auf/ab: langsam durch Liste scrollen

CRSR links/rechts: schnell durch Liste scrollen

RESTORE: zurück ins vorhergehende Menü

SPACE: erlaubt Änderung der Mnemonic

A: ändert schrittweise Adress Modus (A.d.Ü.: ???)

HOME: setzt CRSR an den Anfang ($00-Byte)

S: speichert geänderten Op-Code-File auf Arbeitsdisk zurück

6502 M/L Commands:

R: zeigt Status von A, X, Y Register und Stackpointer

G: 'G XXXX' - führt Code ab $XXXX aus

X: Rückkehr ins BASIC

M: 'M FFFF LLLL' - zeigt in Hex den Speicherinhalt zwischen den beiden

Adressen

Klammeraffe: sendet Diskbefehl. Ohne weiteres Zeichen wird Diskstatus

ausgelesen, mit $ die Directory.

SPACE: pausiert Directory-Listing

RUN/STOP: bricht Directory-Listing ab

L: lädt File von Disk. L"Filename",GA,Hexadr(optional). Z.B.

L"File",08,C000 (wenn Adresse angegeben, wird auch dorthin

geladen!)

V: Verify des File im Speicher. Syntax siehe L(oad). Verify Error wird

durch '?' angezeigt.

S: speichert File. S"Filename",GA,Startadresse,Endadresse+1. Beispiel:

S"File",08,C000,D001

F: füllt Speicherbereich mit $XX-Byte. Z.B.: F C000 C100 XX

D: disassembliert Speicherbereich. D C000 C100 (Endadresse optional)

Mit CRSR auf/ab durch Listing scrollen. Editieren in Mnemonics ist

möglich.

P: schickt Code an den Drucker (nur 1525 kompatibel!)

'PD Anfadr Endadr' sendet disassembliert

'PM Anfadr Endadr' sendet Hex-Listing

A: 'A XXXX' assembliert Code beginnend bei $XXXX (auf richtig

plazierte Leerfelder achten!)

H: 'H Anfadr Endadr Suchwort' sucht im angegebenen Bereich nach

dem bis zu 8 Byte langen Suchwort, das aus ASCII und Hex

gemischt bestehen kann. ASCII - Text muß in Anführungszeichen

stehen

T: 'T Anfadr Endadr Neuanfadr' verschiebt den Speicherinhalt zwischen

Anfangsadresse und Endadresse nach (beginnend bei) NeuAnfang

TC: wie T, verschiebt aber ins Laufwerk

TD: wie T, holt Laufwerksspeicher in den Computer

TF: wie T, Schnellversion des TC Befehles. Warnung: Die NeuAnfAdr kann

im Laufwerk nicht zwischen $0001 und $0147 liegen!

O: der Buchstabe 'O', gefolgt von GA (8, 9, A, B) führt in den

Laufwerksmonitor für angegebenes Laufwerk. Die oben aufgeführten

Befehle gelten auch im Laufwerksmonitor (nur 'P' ist inaktiv, in

diesem Fall Code erst zum Computer, dann zum Drucker senden).

O <RETURN> führt zurück in den Computerspeicher (eine eckige

Klammer als Prompt zeigt Modus Laufwerksmonitor, ein Punkt

Computermodus)

Um zusätzliche ROMs oder den VDC zu assemblieren/disassemblieren, ändere Speicherstelle $0002 als wäre sie $0001. $0001 kann durch diesen Monitor nicht geändert werden.

$0002: $37 = All ROMs in (alle ROMs ein)

$36 = Bank out BASIC ($A000-$BFFF) (blendet Basic aus (?))

$35 = Bank out BASIC und Kernal

$30 = Bank in RAM under $D000 (blendt RAM unter $D000 ein (?))

$31 = Bank in Character-ROM under $D000

Upgrades & Goodies

Menu Selection and Options:

In dieser Abteilung finden sich unsere neuesten Zusätze. Mit 'Upgrades and Goodies' im Disklaufwerk kommen C64/C128 Besitzer mit Super Snapshot V4/V5 nach einschalten oder Reset direkt ins Maverick Hauptmenü. Im Menü mit unterem CRSR auf/ab Punkt anwählen, mit <RETURN> ausführen.

Andere Befehlstasten:

F1: Directory

F2: Ausgang nach BASIC (oder Super Snapshot)

F5: Disk Kommandos

F7: nächste Menüseite

F8: bootet Disk

Custom Menu Construction Procedure: (Menü-Erstellungs-Werkzeug)

Wir von Kracker Jax freuen uns über Eueren Enthusiasmus und die Unterstützung, die Ihr Maverick gegeben habt. Als Dankeschön haben wir den Menü-Auswahl-Prozeß überarbeitet. Sowohl auf der Maverick V5 Master Programm Disk als auch auf der Upgrades & Goodies Disk sind die Menüauswahlen entsprechend der Directories aufgebaut. Alle Auswahlen können auf irgendeine Arbeitsdisk gespeichert und durch irgendein Commodore-kompatibles Laufwerk wieder geladen werden. Diejenigen von Euch, die ein wenig über Pointer und Startadressen bescheid wissen, können das 'Configure Menu Utility' (Menüaufbau Werkzeug) aus dem 'Upgrade & Goodies Menü' benutzen. Alle Werkzeuge um Pointer und Adressen zu bestimmen, sind in Maverick selbst enthalten. Hab' Spaß daran!

Untersuche mit dem 'Quick File Copier' die Directories der Maverick Master Disk und der Upgrade & Goodies Disk. Entscheide, welche Menüteile Du auf Deiner neuen Arbeitsdisk wünschst, dann folge den Schritten:

Benutze den 'Quick File Copier', Deine Arbeitsdisk (5.25" oder 3.5") zu formatieren. Danach die Upgrades & Goodies Disk einlesen und folgende Files kopieren:

UPGRADES! (muß als erstes auf der Arbeitsdisk stehen!)

CSET

OPS

UPG

RUNBASIC (verschiebbares BASIC Start-up Programm: Loadadresse=Bootadr)

BASIC CONFIGURE (optionales Beispiel)

BASIC EXAMPLE (optionales Beispiel)

FL41 (für 1541'er) oder

FL71 (für 1571'er) oder

FL81 (für 1581'er) oder

FLNO! (für irgendein anderes Commodore-kompatibles Laufwerk)

(wähle aus den obigen FastLoadern nur einen für diese Arbeitsdisk!)

CONFIGURE

File-kopiere nun die gewünschten Module mit ihren entsprechenden Files auf Deine Arbeitsdisk. Die Files mit dem Pfundzeichen vor dem Namen (BASIC CONFIGURE und CONFIGURE) sind die aktuellen Bootfiles. Alle Files eines Modules sind zwischen gepunkteten Linien zusammengefaßt.

Sind alle Module kopiert, kannst Du Deine Arbeitsdisk mit LOAD"*",8,1 starten. Das Menü wird wie das 'Upgrades & Goodies'-Menü bedient. Die 'Pfund'-Files können von BASIC aus direkt geladen/gestartet werden über LOAD"Filename",8,1.

Adding Non Maverick Selections To Your Work Disk:

(Hinzufügen von nicht-Maverick Programmen auf die Arbeitsdisk)

Für diejenigen von Euch, die über File-Pointer und Ladeadressen bescheid wissen, haben wir ein Kofigurationswerkzeug beigefügt, das die Fertigung einer maßgeschneiderten Arbeitsdisk erlaubt (unter Verwendung des Upgrades & Goodies Menü). Beginne mit obigem Abschnitt 'Custom Menu Construction Procedure'. Nachdem alle zur Sache gehörigen Files kopiert sind, kopiere Deine weiteren gewünschten Files dazu, die auch im Menü erscheinen sollen. Jetzt die neue Arbeitsdisk mit LOAD"*",8,1 starten und CONFIGURE wählen. WICHTIG: <RETURN> hier nicht nur antippen, sondern gedrückt halten, bis das neue Menü erscheint. Mit diesem Werkzeug können Loader für Deine neuen Menüpunkte konfiguriert werden. Die Menüpunkte der Reihe nach sind:

E: Editieren. Nach Anwahl lassen sich folgende Felder am Bildschirm

bearbeiten:

1) Gib' gewünschten Bootname (ohne Pfundzeichen), wie er im

Menü erscheinen soll, ein.

2) Handelt es sich um ein Maschinenspracheprogramm, tippe den/

die Namen (bis 5) jeden Files EXAKT ein. Braucht Dein Programm

einen BASIC-Starter, alle Filenamen -einschließlich RUNBASIC (das

schon vorab kopiert wurde)- eintippen. WICHTIG: das letzte einge-

tippte Programm MUß das BASIC-Programm, das gestartet werden

soll, sein.

3) Gib' eine Ladeadresse für jedes File ein (oder belasse voreinge-

stelltes $0000 für die normale Ladeadresse)

4) Eingabe, ob Fastloader zu installieren ist. Mit <SPACE> zwischen

Yes/No (Ja/Nein) hin- und herschalten. Bei anderen Laufwerken

als 1541/71/81 'No' wählen!

5) bei Maschinenspracheprogrammen die Startadresse in Hex

eingeben. Für Programme in BASIC, $CF00 eingeben.

Comments (Kommentare): können als Gedächtnisstütze eingegeben werden

(anschauen jederzeit bei Aufruf des CONFIGURE-Files)

D: löscht CONFIGURE-File mit dem gerade gearbeitet wird (sofern

vorher abgespeichert)

S: speichert COBFIGURE-File mit dem gerade gearbeitet wird

B: bootet aus aktuellem CONFIGURE-File (vorher abspeichern, sonst ist

Deine Arbeit verloren)

X: Ausgang zum Upgrades & Goodies Menü das gerade bearbeitet wird

Wurde einmal eine Menüoption konfiguriert, kann CONFIGURE nachträglich weiter verändert werden. Das CONFIGURE wird als Pfundz.-Filename im Upgrades & Goodies Menü ausgewählt und wieder: <RETURN> halten, wenn geladen wird.

Tips zur Optimierung der Ladezeit:

Wenn Du Deine maßgeschneiderte Arbeitsdisk nach der Ladezeit optimieren willst, geht das am besten über den Skew-Faktor unseres 'Quick File Copier'.

Ohne Super Snapshot, mit 41/71'er Fastloadfile: 1541'er Skew 5; 1571'er '4'

Mit Super Snapshot, ohne Fastloadfile: 1541/71'er Skew 5

Mit den meisten anderen Schnelladern 1541/71'er Skew 6 (ggf. probieren)

Directory Recovery (Directories wiederherstellen):

Unterstützt 1541/71/81 Diskformate

Super Snapshot deaktivieren!

Hast Du jemals versucht, eine wichtige Arbeitsdisk zu laden und das Laufwerk lief an, verfiel in Hektik, klapperte und blinkte Dir letztendlich mit der roten LED zu? Ist es Dir nicht auch schon passiert, daß Du eine Diskette 'short' (ohne ID) formatiertest und dann feststelltest, daß es sich um die wichtigste Deiner Datensammlungen handelte? Wenn Du Deinen Commodore schon länger besitzt und benutzt, kann die Antwort einfach nur JA heißen.

Unser 'Directory Recovery' Programm ist dazu entwickelt, daß der durchschnittliche Commodore-User seine eigenen Disketten reparieren kann, wenn das undenkbare passiert. Dieses Programm macht automatisch, was einem erfahrenen Diskdoktor stundenlanges vorsichtiges operieren bedeutet. Das erste Mal, wenn Du es benutzen MUßT, wirst Du es richtig schätzen, wenn es Dir zur Verfügung steht.

Aus dem 'Upgrades & Goodies' Menü 'Directory Recovery' wählen (CRSR) und mit <RETURN> ausführen. Im neuen Menü erscheint:

Create New Directory: WICHTIG: Bevor Du mit dieser Option arbeitest,

mache mit dem entsprechenden 'Fast Copier' eine Kopie der

defekten Disk, arbeite NICHT mit dem Original. Plaziere die Kopie

der defekten Disk -ohne Schreibschutz- in Dein Laufwerk #8 und

starte diesen Punkt mit <RETURN>. Das Programm wird jedes

Unterverzeichnis, jedes File und jedes Filesegment erkennen und

retten.

Ist die Reparatur fertig, erscheint eine Fileliste und Du wirst zur

Eingabe aufgefordert:

Pfeil-links-Taste: Esc: Rückkehr zum 'Recovery' Menü

T: Umschalter für Filetyp.

Wurde ein Programm oder sequentielles File gerettet, wird

es als 'File 1', 'File 2', 'File 3' u.s.w. in die Directory

geschrieben. Andere Filetypen können nicht wiedergeholt

werden. Unterverzeichnisse -soweit vorhanden- werden

-wenn möglich- gerettet und mit dem Namen des Directory

Headers des Unterverzeichnisses angezeigt. Sei Dir bewußt,

daß auf diese Weise längst vergessene (gescratchte) Files

wieder auftauchen können. Du mußt nun File-kopieren, durch

die einzelnen Files gehen, die unnötigen aussortieren und die

'guten' entsprechend umbenennen.

Nach der Arbeit des 'Directory Recovery' Programms erhalten

alle Files die Kennung 'PRG'. Sollten 'SEQ'-Files darunter

gewesen sein, wird der Filetyp mit dieser Option geändert.

Dazu reparierte Disk (ohne Schreibschutz) ins Laufwerk, diese

Option wählen, <RETURN>. Das Directorylisting wird geladen

und angezeigt. Folgende Optionen stehen zur Verfügung:

CRSR auf/ab: bewegt Cursorbalken zum gewünschten File

SPACE/shift-SPACE: schaltet zwischen PRG und SEQ hin und

her und bewegt Cursorbalken ein Schritt nach

unten/oben.

CTRL-D: löscht File aus dem Listing

W: schreibt neue Directory auf die Disk

P: druckt Directory auf 1525/801 kompatiblen Drucker

Pfeil-links: ESC: Rückkehr zum Directory Recovery Menü

Toggle File Types (ändere Filetypen): Irgendein Directory kann -ohne die

'Create New Directory' zuvor zu benutzen- gelesen werden.

Benutze diese Option, um Filetypen zu ändern oder die Directory

auszudrucken. (siehe oben 'Toggle File Types')

Device No.: setzt die GA des Laufwerks, das für die Reparatur dienen soll.

Das Programm erkennt automatisch das Diskformat.

F1: Directory

F2: Ausgang nach BASIC. Das Laufwerk initialisiert sich entsprechend der

einliegenden Disk.

F5: Disk Kommandos

F8: bootet Disk

Track & Sector Editor

Unterstützt 1541/51/71 Diskformate

Wir haben dieses Werkzeug für jene gemacht, die den Wunsch haben, die Daten auf der Diskette in deren Spur/Sektor Datenblockformat zu untersuchen. Auch ist es möglich Sektoren zu ändern und Hex- /Disassemblerlistings zu drucken. Wir meinen, der 'Sektor Editior' ist sehr einfach zu benutzen und hat alles eingebaut was man so braucht.

Wir können innerhalb dieser Anleitung keinen Kurs für das 1541/71 oder 1581 DOS Format einbauen; dafür empfehlen wir 'Inside Commodore DOS' (vergriffen), 'Anatomy of the 1541 Drive' von Abacus Software, 'The 1581 DOS Reference Guide' von uns. Sie sind am Markt die besten ihrer Art.

Wie immer: gehe vorsichtig mit diesem Werkzeug um, um irreversiblen Schaden an Deinen Arbeitsdisketten zu vermeiden. Zu Deinem Schutz empfehlen wir, Veränderungen nur auf Kopien zu machen.

Aus dem Maverick Hauptmenü 'Upgrades & Goodies' wählen, <RETURN>, dann 'Sector Editor' wählen, <RETURN>. Im Sektor Editor Menü gibt es folgende Opionen:

Edit Diskette: Cursorbalken auf 'Edit Diskette', <RETURN>. Der Editorbildschirm erscheint und bittet um Eingabe der zu bearbeitenden Spur (dezimal). Bei Verwendung einer 1541 oder 1571 ist Spur 18 (Directory) voreingestellt. Spuren können von 1 bis 35 (1541 Format) oder von 1 bis 70 (1571 Format, 1 bis 35 'Vorderseite', 36 bis 70 'Rückseite') eingegeben werden, <RETURN>. Mit der 1581 ist ebenfalls die Directoryspur (40) voreingestellt, möglich sind Eingaben von 1 bis 80. Als nächstes springt der Cursor zur Sektoreingabe, voreingestellt 00, kann jeder gültige Sektor der Spur eingegeben werden, <RETURN>.

Nun wird der gewünschte Sektor gelesen und angezeigt. Es stehen viele Befehle zur Verfügung:

SPACE: Change Byte. Das Byte, das durch den blinkenden Cursor hervorge-

hoben wird, kann nach drücken von <SPACE> geändert werden

(dezimal, oder nach CRSR-ab in Hex). Gib Deine Änderung ein und

bestätige mit <RETURN>.

+ : liest den nächsten Sektor ein. Nach dem letzten Sektor einer Spur

gelangt man zur nächsten Spur, Sektor 00.

N: nächste Spur einlesen. Nach der letzten Spur (35, 70 bzw. 80) folgt

wieder die erste (01).

J: arbeitet verschieden: in der Directoryspur gelangt man mit 'J' zum

ersten Linker eines gültigen Programmfiles. Dazu den blinkenden

Cursor auf die 'Track Link' stellen und 'J' drücken und man gelangt

zu dieser Spur/Sektor.

In irgendeiner anderen Spur kommt man mit 'J' zum nächsten File-

Link -soweit vorhanden-, der durch die ersten beiden Positionen im

Sektor angegeben wird.

T: Eingabefenster zur Eingabe einer neue Spur erscheint (Spur 1 bis 35,

bzw. 70 oder 80 ist möglich). Nach der Spureingabe erscheint die

Sektoreingabe und wieder <RETURN>.

W: Sind alle Änderungen im aktuellen Sektor durchgeführt, diesen mit

'W' auf die Disk schreiben (nach Sicherheitsabfrage), ggf. Schreib-

schutz entfernen.

B: Block Allocate im aktuellen Sektor. Die BAM wird entsprechend

aktualisiert

D: Disassembliermodus. Der aktuelle Sektor wird unten am Bildschirm

disassembliert angezeigt, der obere Teil bleibt zum Vergleich

erhalten. Alle Sektoren im Disassemblepuffer werden auf $5900

als Arbeitsadresse gesetzt und haben mit der wahren Adresse im

Speicher nichts zu tun.

SPACE: setzt Cursor ins Operantenfeld der aktuellen Zeile und

erlaubt Änderung von Opcode und/oder Operant

RETURN: nach Änderung, diese mit RETURN bestätigen. War die

Eingabe gültig, wird sie übernommen und der Cursor

springt zum Anfang des nächsten Opcodefeldes. War die

Eingabe üngültig, werden die Originaldaten nicht geändert

und der Cursor kehrt zum Anfang dieser Zeile zurück.

W: geänderten Block zurückschreiben.

Pfeil-links-Taste: zurück zum vohergehenden Bildschirm

P: aktuellen Pufferinhalt ausdrucken (1525/801-Format)

? : Hilfe. Zeigt Umwandlungstabellen für jedes Zeichen in Hex, Dezimal,

und ASCII. <SPACE> führt auf die nächste Seite, dann zurück zu dem

Punkt von wo ? aufgerufen wurde.

A: ASCII-Modus. Alphanumerischer Text kann direkt (ab Cursorposition)

in den Datenanzeigebildschirm eingetippt werden. CTRL-T in diesem

Modus macht ein Cursorbackup (?), RETURN verläßt diesen Modus.

Waren die Änderungen nicht akzeptabel, lies den Sektor nochmal

durch drücken von S <RETURN>.

- : liest einen Sektor vorher ein. Von Sektor 00 geht's eine Spur

zurück, letzten Sektor.

M: liest eine Spur vorher ein. Bei Spur 01 erfolgt Sprung nach Spur

35 (1541), 70 (1571) oder 80 (1581).

K: liest vorhergehenden Linker (nachdem vorher mit 'J' gearbeitet

wurde.

S: Sektoreingabefenster wird geöffnet, um Sektor direkt anzuspringen

H: Umschaltung zum Hex-Modus. Der aktuelle Sektor wird unten im

'Memory-Map-Format' angezeigt (Hex links, ASCII rechts). Der obere

Teil des Schirms bleibt als Referenz erhalten. Alle Sektoren im Hex-

Puffer haben (Arbeits-)Adresse $5900, die nichts mit der

tatsächlichen Speicheradresse zu tun hat.

CRSR: bewegt Cursor

W: schreibt aktuellen Block auf die Disk

Pfeil-links-Taste: zum vorhergehenden Bildschirm zurück

P: aktuellen Pufferinhalt ausdrucken (1525/801-Format)

HOME: im Haupt-Editierbildschirm den blinkenden Cursor auf die Position 00

stellen.

RETURN: im Haupt-Editierbildschirm den blinkenden Cursor an den Anfang

der nächsten Zeile bewegen. Aus der letzten Zeile erfolgt der

Sprung zur ersten.

CRSR auf/ab, CRSR rechts/links bewegen den Cursor wie normal

F: Block free, für de-allocate aktuellen Sektor. Die BAM wird entspr.

angepaßt

Pfeil-links-Taste: zurück zum vorhergehenden Bildschirm

RESTORE: zurück zum Track & Sector 'Editor Main Menu'

New Drive: mit dieser Option läßt sich eins der vier möglichen Laufwerke

(8 bis 11) wählen. Mit einer 5,25" Floppy ist das 1541 Format

voreingestellt, es sei denn es befindet sich eine 71'er Disk im 71'er

Laufwerk UND diese Option wird nochmals aufgerufen. Das 81'er

Format wird automatisch erkannt.

F1/F3: Directory

F5: Disk Kommando

F8: bootet Disk

Disk Compare:

Unterstützt die 1541/71/81 Diskformate

Unser 'Disk Compare' geht auf einen Kundenwunsch zurück. Es vergleicht schnell zwei Disketten gleichen Formates in gleichen Laufwerken und erlaubt einfach die Anzeige und Änderung der Quell- und Zieldiskdaten.

Aus dem 'Upgrade & Goodies' Menü 'Disk Compare' wählen, <RETURN>. Im disk Compare Menü stehen zur Verfügung:

Compare Disk: Bevor diese Option benutzt wird, die zu vergleichenden Disketten in jedes Laufwerk einlegen und mit <RESTORE> einloggen. Ist das einloggen fertig, mit <RETURN> den Vergleich starten, beide Laufwerke laufen an. Ist der Vergleich fertig, erscheint ein Schema auf dem Schirm, in dem die Sektoren mit * gekennzeichnet sind, die nicht übereinstimmen. In diesem Bild stehen folgende Funktionen zur Verfügung:

F1/F3: Cursor schnell auf/ab bewegen

F5/F7: Cursor schnell rechts/links bewegen

C= P: Vergleichsbildschirm ausdrucken (1525/801-Format)

Pfeil-links-Taste: zum Menü zurück

SPACE: liest Daten vom Quell- UND Ziellaufwerk in den Speicher.

Danach erscheint ein neuer Bildschirm, der die Daten der

Quellsektoren zeigt. Aus diesem Bild kann man die Daten von

Quell- oder Ziellaufwerk anzeigen und ändern und zurück

schreiben. Nicht übereinstimmende Bytes sind hervorgehoben

dargestellt. Die Kommandos sind:

CRSR auf/ab: langsam auf/ab scrollen (scannen)

CRSR rechts/links: schnell scrollen (scannen)

R: Quell- und Zielsektoren nochmals lesen (frisch starten)

W: schreiben. Frägt, ob auf Quell-(='S') oder Ziel-Lw(='T'),

kann mit Pfeil-links-Taste abgebrochen werden.

J: springt zum nächsten FileLink -soweit vorhanden-

S: Datenanzeige zwischen Quelle und Ziel hin- und her

schalten

M: schaltet Modus zwischen disassembliert und Hex hin und

her

Pfeil-links-Taste: zurück zum Vergleichsbildschirm

Edit Sector Map: holt den letzten Vergleichsbildschirm zurück. Die zuletzt

bearbeiteten Disks können weiterbearbeitet werden, ohne sie

nochmals zu lesen.

Source Device No.: Quell-Laufwerksnummer (8 bis 11)

Target Device No.: Ziellaufwerksnummer (8 bis 11)

Starting Track No.: mit RETURN/shift-RETURN Startspur einstellen

Ending Track No.: mit RETURN/ shift-RETURN Endspur einstellen

F1/F3: Directory

F5: Disk Kommando

F8: bootet Disk

Relative File Copier:

Unterstützt alle Commodore kompatiblen Laufwerke

Relative Files werden in Commodore Software immer dann benutzt, wenn schneller Datanzugriff erforderlich ist. Weil die Struktur der relativen Files sehr unterschiedlich zum Programm- oder sequentiellen File ist, kopiert man diese Files am besten über DOS. Aus diesem Grund und weil wir alle von Commodore gebauten Laufewrke unterstützen wollen, gehen auch wir diesen Weg. Dadurch ist dieser Kopierer nicht so schnell, wie wir das gerne haben möchten, aber er ist super kompatibel.

Aus dem Maverick Hauptmenü 'Upgrades & Goodies' wählen, <RETURN>, dann 'Relative File Copier' <RETURN>. Es stehen folgende Optionen zur Verfügung:

Source Device: unterstützt GA 1 bis 15 für das Quell-Laufwerk

Source Drive: unterstützt Doppellaufwerke (z.B. MSD), voreingestellt ist '0'

für Einzellaufwerk

Destination Device: GA 1 bis 15 für Ziellaufwerk. Bevor eine Kopie mit

zwei Laufwerken gestartet wird, sich versichern, daß die Adressen

und Disketten korrekt sind.

Destination Drive: unterstützt Doppellaufwerke, 0 ist voreingestellt

Filename: Du mußt vorab den Filenamen kennen, nur exakten Filenamen

eingeben, keine Wildcards (d.h. * oder ?)

REU Quick Test

Dieses Werkzeug dient dem Funktionstest Deiner REU 1764, 1750 oder 1750-Umbau. Wir empfehlen diesen Test bevor der 'Quick File Copier' oder der 'Single Drive Fast Data Copier' benutzt wird. Du solltest ihn dann nicht mehr brauchen, bis irgendwelche Probleme auftauchen und Du die REU erneut testen willst. Bedenke, dies ist ein oberflächlicher Test, genauer geht's mit dem mit der REU ausgelieferten Commodore-langsam Test.

Vor dem Start vergewissern, daß die REU korrekt im Port sitzt. Boote Maverick, wähle 'Upgrades & Goodies', <RETURN>, dann 'REU Quick Test' wählen, <RETURN>. Der Test beginnt sofort, nach sehr kurzer Zeit wird er fertig sein.

1764 Einheiten: Abnormalitäten werden als 'X' in einem der Chips in Bank 1 angezeigt. Da es in der 1764 keine Bank 2 gibt, sind zwei 'X' dort normal.

1750 oder 1750-Ausbau: Abnormalitäten werden als 'X' in Bank 1 oder 2 gekennzeichnet.

F7: Wiederholung des Testlaufes (Warnung: REU nicht ziehen oder stecken während der Computer eingeschalten ist!)

F8: bootet Disk

64K VDC RAM Test

Nur für C128(D)

Aus Hauptmenü 'Upgrades & Goodies', dann '64K VDC RAM Test' wählen.

SPACE startet den Test. Bildschirmhinweisen folgen

F8: bootet Disk

FILE TRACER

Unterstützt 1541/71/81 Disk Formate

Der File Tracer erlaubt bequemes prüfen oder reparieren von Files direkt von Disk. Er zeigt nicht nur wie das File auf der Disk verteilt ist, sondern zeigt auch die Daten selbst in zweierlei Form.

Wir unterstützen 1541, 1571 und 1581 Formate, die alle gleich behandelt werden, abgesehen von der Spurenzahl und der Lage der Directoryspur:

1541 Format: 35 Spuren, Directory auf Spur 18

1571 Format: 70 Spuren, Directory auf Spur 18

1581 Format: 80 Spuren, Directory auf Spur 40

Aus dem 'Upgrades & Goodies' Menü 'File Tracer' wählen, den Bildschirmanweisungen folgen. Die Befehle:

SELECT FILE:

Display Mode: Wenn Du diesen Befehl gewählt hast, wirst Du aufgefordert,

die Disk mit dem gewünschten File ins Laufwerk einzulegen. <SPACE>

lädt Directory und zeigt sie in einem Fenster zusammen mit ihrer

Sektorenlänge an (-soweit vorhanden- auch die Unterverzeichnisse,

durch SUB gekennzeichnet, die wiederum können mit dem CRSR-

Balken ausgewählt und mit <RETURN> gelesen werden. Zurück geht's

über <RESTORE>, Hauptmenü und Diskkommando '/' zur Initialisierung

der Rootdirectory, 'Choose A File' option und <RETURN> zum

gewünschten Unterverzeichnis).

Choose a File, -File wählen- mit CRSR und <RETURN>. Der Filename

und die Zahl der Blocks, die gelinkt werden, werden angezeigt. Ist

das Linken fertig, wirst Du aufgefordert <SPACE> zu drücken.

Obwohl der File Tracer speziell für Programmfiles entworfen wurde,

haben wir auch sequentielle Files zugelassen (die eine Adresse von

$1000 voreingestellt haben, die aber nur interne Bedeutung hat).

Der File Tracer wird ein Spur/Sektornetz aufbauen und den Ort des

Files gelb markieren, dessen Anfang mit einem schwarz blinkenden

Cursor. Die aktuelle Spur- und Sektorposition des Cursors wird

-dezimal- oben am Bildschirm angezeigt, ebenso die aktuelle

Speicheradresse in Hexadezimal.

<RESTORE> führt jederzeit zum 'File Tracer' Hauptmenü zurück.

Edit Mode: Mit dem CRSR auf/ab den blinkenden Cursor vor/zurück durch

die Sektoren bewegen. Auf CRSR ab beweget sich der Cursor

entsprechend den Linkadressen vorwärts durch die Sektoren. Mit

CRSR rechts/links 8 Blöcke auf einmal.

Mit SPACE den Block untersuchen, der unter dem blinkenden Cursor

steht (die Daten werden geladen und disassembliert dargestellt). Die

Darstellung kann mit 'M' zwischen Hexadezimal und ASCII hin und

hergeschaltet werden. Der Modus bleibt aktiv (selbst beim laden

neuer Files), bis er geändert wird. Die Editierbefehle im einzelnen:

Disassembly Mode:

SPACE: mit SPACE gelangt man ins Operantenfeld der aktuellen Zeile und

kann dort Opcode und/oder Operanten ändern.

RETURN: nach Änderungen <RETURN>. Sind die Änderungen gültig, werden

sie übernommen und der Cursor wandert zum Beginn des nächsten

Opcodefeldes. Waren die Eingaben ungültig, werden die Daten nicht

geändert und der Cursor kehrt zum Anfang dieser Zeile zurück.

HOME: setzt Cursor zum Anfang des Blocks, wenn dieser links der

Adressenspalte steht.

J: setzt Cursor zum nächsten Block im File (soweit vorhanden), wenn

der Cursor links der Adressenspalte steht.

W: schreibt geänderten Block auf Diskette; wird dies versäumt bevor

der Bildschirm gewechselt wird, sind die Änderungen verloren.

Pfeil-links-Taste: kehrt zum Spur/Sektornetz zurück, nochmals gedrückt,

zum File Tracer Hauptmenü.

Hex/ASCII Mode:

Cursortasten: In diesem Modus normale Cursorbewegungen

HOME: zurück zum Blockanfang, jederzeit möglich

J: zum Anfang des nächsten Blocks im File

W: schreibt aktuellen Block auf Disk

Pfeil-links-Taste: zurück zum Spur/Sektornetz

Andere Hauptmenü-Optionen:

Edit File: zeigt Spur/Sektornetz nochmals an und erlaubt Änderungen im

aktuellen File.

New Drive: Laufwerk auswählen (8 bis 11), wenn 1571 gewählt wird, wird

sie nur dann als 1571 erkannt, wenn die Disk auch echt 1571

formatiert ist UND diese Option durchlaufen wird.

F1/F3: Directory

F5: Disk Kommandos

F8: bootet Disk

File Viewer

Unterstützt 1541/71/81 Diskformate

Der File Viewer wurde gemacht, um schnell sequentielle und Programmfiles auf den Bildschirm zu bringen. Es werden auch die meisten BBS Files und Files Deiner Textverarbeitungsprogramme unterstützt.

Aus dem 'Upgrade & Goodies' Menü 'File Viewer' wählen, <RETURN>. Die neuen Menüpunkte:

Select File: mit <RETURN> Directory einlesen, es werden aber nur PRG und SEQ Files angezeigt; und von diesen sind nur die einsehbar, die auch einen visuell lesbaren Text enthalten. Mit CRSR auf/ab langsam, mit CRSR rechts/links schnell durchs Listing scrollen. Mit <SPACE> hervorgehobene Auswahl in den Ansichtspuffer laden. Directories der 1581 mit Unterverzeichnissen listet diese mit der Kennung SUB. Unterverzeichnisse lesen durch wählen mit CRSR und <SPACE>.

Wird der Ansichtspuffer angezeigt, stehen zur Verfügung:

SPACE: seitenweise durch das File gehen. Beachte die Lesbarkeit gegenüber

anderen Readern. Ist das File zu lang für den Puffer, wird es zur

rechten Zeit weitergelesen und der Puffer überschrieben.

HOME: zum Beginn des aktuellen Pufferinhalts

M: Modusumschaltung für Textinterpretation zwischen ASCII, CBM ASCII

und Rohdaten (manche Wordprozessoren arbeiten damit). Wird M

im File gedrückt, kehrt man zur HOME-Position zurück.

C= P: druckt Puffer aus (Commodore 1525/801-Format)

Pfeil-links-Taste (ESC): zurück zum File Viewer Hauptmenü

View File: zeigt das zuletzt eingelesene File wieder an (erste Seite)

Device No.: Laufwerk auswählen (8 bis 11), wenn 1571 gewählt wird, wird

sie nur dann als 1571 erkannt, wenn die Disk auch echt 1571

formatiert ist UND die Option 'New Drive' durchlaufen wird.

Der File Viewer ist nur für ein Laufwerk konzipiert. Sollten

Schwierigkeiten auftauchen, schalte alle anderen Laufwerke AUS.

F1/F3: Directory

F5: Disk Kommando

F8: bootet Disk

Troubleshooting (Fehlersuche)

Sollten Fehler im Gebrauch von Maverick auftauchen, muß erst das Problem isoliert werden. Das beste ist ersteinmal: ALLES was nicht unbedingt an Peripherie gebraucht wird, auszustecken (!) (Extralaufwerke, Interfaces, Drucker, Modems und Joysticks) und komplett abtrennen. Läuft Maverick nun, können die Geräte einzelnen zugeschaltet und getestet werden, bis das Problem isoliert ist.

Wir haben herausgefunden, daß wenn beständig die 'Device not present' -Meldung kommt, es ein sicheres Zeichen ist, daß der serielle Bus überladen ist. Vergewissere Dich auch nochmals, daß wirklich alle Geräte eine eigene Adresse besitzen.

Hauptmenü:

Problem: Maverick lädt nicht auf Deinem System

Lösung: a) vergewissere Dich, daß Maverick Master Disk Seite A im

Laufwerk #8 ist, und gib 'LOAD"*",8,1' ein <RETURN>

b) schaue unter Systemanforderungen nach (am Anfang der

Anleitung), evt. hast Du inkompatible Geräte.

c) probiere es auf dem Gerät eines Freundes. Funktioniert es

dort, muß Dein Laufwerk in die Werkstatt (reinigen,justieren).

d) wenn Maverick auf keiner Maschine lädt, kann die Disk

defekt sein (siehe Garantie).

Single Fast Data Copier:

Problem: 'write errors' (Schreibfehler) werden auf der Ziel-(Dest.-) disk

angezeigt

Lösung: a) Zieldisk defekt. Neuer Versuch mit anderer Disk

b) Laufwerk in die Werkstatt (reinigen, justieren,...)

Problem: 1581-Kopierer arbeitet nicht korrekt

Lösung: entferne Schnellader, ist wohl inkompatibel

Dual Fast Data Copier:

Problem: Kopie 'tut nicht richtig', Original ist o.k.

Lösung: zuerst 'Single Drive Fast Copier' probieren, dann 'Single' oder

'Dual Nybbler' und in den Parameterlisten nachsehen.

Single GCR Nybbler:

Problem: Maverick kopiert ein RapidLok Programm und hängt sich in

der zweiten Phase auf

Lösung: Zwei Laufwerke EIN können zu Problemen führen. Als letzten

Versuch nicht benötigte serielle Anschlüsse abtrennen.

Single or Dual GCR Nybbler:

Problem: Kopierer startet, hängt sich dann auf

Lösung: wahrscheinlich ist Original kopiergeschützt und benötigt einen

Parameter (siehe Parameterlisting). Findest Du dort Deinen

Titel nicht, kontaktiere uns um Rat.

Sector Map Editor:

Problem: Ausdruck nicht korrekt

Lösung: benutze einen Drucker/Interface, das wirklich Commodore

1525/801 emuliert

Problem: das Programm bricht ab, nachdem nur ein paar Spuren

gelesen wurden

Lösung: Programm unterstützt nicht mehr als vier Peripheriegeräte,

trenne weitere Laufwerke, Modems, Drucker,... ab

Maverick GCR Editor:

Problem: irgendwann läuft das Laufwerk ununterbrochen weiter

Lösung: ist normal während mancher Vorgänge (stellt sicher, daß die

Geschwindigkeit stimmt).

Problem: Ausdruck nicht korrekt

Lösung: benutze einen Drucker/Interface, das wirklich Commodore

1525/801 emuliert

Parameter Menü:

Problem: alles hat hingehauen, die Meldung 'parameter successful'

(erfolgreich) erscheint, aber die Kopie läuft dennoch nicht

Lösung: die meisten neueren Parameter (ab Modul #2) prüfen die

Programmversion und beziehen darauf die 'erfolgreich'

-Meldung, die älteren Module haben dies noch nicht. Bei

Problemen handelt es sich um unbekannten Versionen, rufe

uns an.

Problem: Fehler mit einem 8K RAM Parameter

Lösung: a) JEDES Laufwerk MUß die 8K RAM-Erweiterung haben, ggf.

RAM-Funktion prüfen. Ebenfalls prüfen: stimmt der

angegebene Speicherplatz für das RAM?

b) viele unserer 8K Parameter benötigen ORIGINAL Quelldisk,

eine KOPIE ist oft NICHT KOPIERBAR.

c) die Geschwindigkeit des Ziellaufwerks für diesen Titel

und diese Diskette prüfen.

d) wenn obiges nicht zutrifft und zwei Versuche

fehlgeschlagen sind, verwende besseres Diskettenmaterial

und schalte Verfify EIN. Unsere Routinen sind Solide, aber

die Diskettenqualität ist ein kritischer Faktor.

e) wenn zwei Laufwerke 'nicht gehen', probiere es mit nur

einem (wir haben es erlebt, daß zwei Laufwerke einzeln gut

kopieren konnten, nur eben zusammen nicht)

f) wenn die obigen Punkte nichts gebracht haben, versuche

die Geschwindigkeit des Ziellaufwerkes 3 Einheiten zurück zu

nehmen (manche Laufwerke kopieren nicht bei normaler

Geschwindigkeit)

g) wenn alles nichts hilft: qualifizierten Kundendienst für's

Laufwerk

Problem: Ein Custom Kopierer erfordert ein 1541 Laufwerk, aber die

Kopie 'läuft nicht'

Lösung: unglücklicherweise wird nur ein Standard 1541'er diese Titel

kopieren. In diesem Fall sind 1541 II Laufwerke ungeeignet.

Problem: Ausdruck nicht korrekt

Lösung: benutze einen Drucker/Interface, das wirklich Commodore

1525/801 emuliert

Problem: das Programm bricht ab, nachdem nur ein paar Spuren

gelesen wurden

Lösung: Programm unterstützt nicht mehr als vier Peripheriegeräte,

trenne weitere Laufwerke, Modems, Drucker,... ab

Geo*Boot:

Seite

4 MavV5Druck 116 KB App Data Write Image V2.1 VLIR 1988-08-22 20:39 .cvt .html
Übersetzung der Maverick V5 Anleitung durch eMSch in 10/92

'Maverick V5 'Übersetzung'

Start:

'Maverick Master Disk'-A-Seite einlegen. 128'er einschalten (oder BOOT), 64'er: LOAD"*",8,1 . Im Titelbildschirm können Auswahlmarkierungen mit den Cursortasten bewegt werden, mit <RETURN> wird der ausgewählte Punkt gestartet.

Allgemeingültige Tastaturbelegung:

F1/F3: Durch F1/F3 wird die Directory bzw. Subdirectory (Partition) der Diskette im aktuellen Laufwerk angezeigt; dabei

kann das Scrollen der Bildschirmausgabe mit <SPACE> angehalten/weitergeführt oder mit <RUN/STOP> abgebrochen

werden.

F5: Disk Command. Gibt direkt Zugriff auf das Diskettenlaufwerk, ohne sich über den OPEN-Befehl den Kopf zu

zerbrechen. Alle Standard-Kommandos sind zugänglich, einschließlich der Möglichkeit, Subdirectories zu wechseln.

Diese Option wirkt wie jedes andere Standard DOS Werkzeug (Wedge). Den Teil OPEN 15,8,15," kann man weglassen,

nur noch den gewünschten Befehl eingeben. Z.B: eine Diskette im aktuellen Laufwerk initialisieren benötigt nur die

Eingabe von F5 I0 .

Für die Einrichtung (Initialisierung) einer Subdirectory dient der / -Befehl. Um ein Unterverzeichnis mit dem Namen

PART1 einzurichten: /PART1 und <RETURN>. Jeder Diskzugriff erfolgt nun auf dieses Verzeichnis. Rückkehr zum

Hauptverzeichnis durch F5 / RETURN. Auch in einem Unterverzeichnis ist F1 oder F3 wirksam, das Directory

anzuzeigen.

F8 Bootet eine Diskette, nachdem das gewünschte Laufwerk (8,9,10,11) mit der unteren Cursortaste (auf/ab) eingestellt

und die <SPACE>-Taste gedrückt wurde.

Soft-Wire: Um die Laufwerksadresse 'soft' zu ändern, mit dem Cursor die Option 'Soft-Wire Drives' auswählen, <RETURN>

drücken. Nun wird man gebeten beide Laufwerke auszuschalten. Jetzt das Ziellaufwerk (für das Backup) wieder

einschalten und <SPACE> drücken. Darauf wird man aufgefordert, das 'Source-Drive' (für die Original- bzw. Quell-

diskette) einzuschalten (...) und bestätigt nochmals mit <SPACE>. Wenn jetzt eine Fehlermeldung erscheint, beide

Laufwerke wieder ausschalten und Soft-Wireing nochmals probieren. Erscheint keine Error-(Fehler-)Meldung ist der

Prozeß erfolgreich beendet.

Nach der softwaremäßigen Änderung der Geräteadresse der Laufwerke bitte kein RESET.

Menüpunkt Fast Data Copiers

'Fast Data Copiers' ("Schnellkopierer") dient zum schnellen Kopieren ungeschützter Programme.

Es wird sehr empfohlen, die Option 'Single Fast Data Copiers' zu benutzen, wenn

1.) eine ungeschützte Diskette repariert werden soll (z.B. die ein Error 23 hat) , oder

2.) eine geschützte Diskette mit bekannten Standard-Fehlern darauf, 'gereinigt' werden soll, um sie manuell oder mit

beiliegenden Parametern zu knacken. Diesem 'Fast Data Copiers' ist ein vollständiges VERIFY eingebaut, das während

des Kopierens gefundene Fehler anzeigt und korrigiert! Wenn es während des Lesens der Quelldisk auf einen Fehler

trifft, wird es versuchen, diesen Fehler während des Schreibens auf die Kopie, zu korrigieren.

Aus dem Hauptmenü wird 'Fast Data Copier' mit dem Cursor ausgewählt, mit <RETURN> geladen. Das erscheinende Untermenü läßt folgende Auswahl zu:

A Single Drive 1541/71 Copier: Kopieren mit einem 1541/71 Laufwerk ('71er als '41er)

B Dual Drive 1541/71 Fast Copier: (Schnell-) Kopieren mit zwei 1541/71 Laufwerken

C Single Drive 1571 Copier: Arbeiten mit einer 1571 als 1571er

D 1581 Single Drive Copier (eine 1581er)

E 1581 Dual Drive Copier (für zwei 1581er)

Wir nehmen an, daß Du zwei 1541er hast und beginnen zunächst mit Option B:

1541 Dual Drive Fast Data Copier:

Nach Aufruf aus dem vorigen Menü mit B erscheint ein neues Optionenmenü. Stelle aber erst sicher, daß eines der Laufwerke Adresse 8, das andere Adresse 9 besitzt. Sind die Einstellungen nicht hardwaremäßig zu tätigen, muß mit 'Soft-Wire' eingestellt werden (s.o.).

Die zu kopierende Diskette sollte unbedingt mit einem Schreibschutz versehen sein, um kostbare Originalsoftware vor Verlust zu schützen.

Es kann mit dieser Option auch Maverick selbst kopiert werden. Ins Ziellaufwerk eine leere Disk einlegen (Für alle diese Kopierprogramme ist es nicht erforderlich vorab zu formatieren!), Menüpunkt 'Copy Disk' anwählen, <RETURN>. Man wird aufgefordert die Disketten zu kontrollieren und nochmal <RETURN> zu drücken. Nach ca. 1 Minute erscheint die Fertigmeldung (Copy complete), mit <RETURN> geht's zurück in das 'Dual Data Copier' Menu. Jetzt kann das Directory der Originaldisk (F1) oder der Kopie (F3) kontrolliert werden.

Der Kopiervorgang kann mit <RESTORE> abgebrochen werden. Da aber zu dieser Zeit die Laufwerke unabhängig vom Computer arbeiten, muß jedes Laufwerk aus- und wieder eingeschaltet werden. Empfehlenswert ist in diesem Fall, in jedem Drive ein gültiges Directory zu lesen (um die Laufwerke zu re-initialisieren), bevor weitergearbeitet wird.

1541 Single Drive Fast Data Copiers:

Unterstützt ein oder zwei 1541/71 Disklaufwerk(e)

Erkennt und benutzt automatisch 1764/1750 REU oder 64K Video RAM

Nach Auswahl diesen Punktes (A) erscheint wieder ein Untermenü:

Copy Disk: Mit diesem Befehl wird der Kopiervorgang gestartet, nachdem alle Parameter gesetzt wurden. War eine

Speichererweiterung in Betrieb und konnte die Disk in einem Rutsch kopiert werden, wird man gefragt, ob eine

weitere Disk zu kopieren ist (Yes/No).

Source: Laufwerksnummer für die Quelldisk. 8 ist voreingestellt, kann aber mit CRSR-ab auf 9, 10 oder 11 geändert werden.

Destination: Nummer für Ziellaufwerk (Backup), voreingestellt 8. Wir bezeichnen dies zwar Single Drive Copier, kann aber

trotzdem mit ein oder zwei Laufwerken arbeiten (Laufwerknummer entsprechend ändern). Mit einem Laufwerk

(Quell- = Ziellaufwerksnr.) erst die Originaldisk einlegen, dann den Bildschirmanzeigen folgen (Disketten wechseln), bis

die Kopie fertig ist. Sollte das Programm auf Fehler stoßen, werden die als 'Diamant' in der kopierten Spur auf dem

Bildschirm angezeigt.

Soft-Wire: Laufwerksadressen softwaremäßig ändern (s.o.)

F1/F3: Directory

F8: Bootet eine Diskette (aber nur für/im 64'er Modus)

1571 Single Drive Fast Data Copier

Unterstützt das 1571 Laufwerk - 1541/71 Formate

Erkennt und unterstützt automat. 1764/1750 REU und/oder 64K Video RAM

Auch hier gilt das oben gesagte. Die neuen Menüpunkte sind:

Copy 1571 Disk: Startet Kopiervorgang im eingestellten Laufwerk. Nach Beendigung des Vorgangs werden, soweit aufgetreten,

Fehler angezeigt.

Select Side: Auswahl der zu kopierenden Seiten, BOTH (beide) oder FRONT (nur Seite 1), mit CRSR.

Device Number: 8 voreingestellt, 9, 10, 11 wählbar (CRSR; s.o.)

Write Verify: Wenn ON, werden alle Lese- und Schreibfehler richtig angezeigt, wenn OFF (Umschaltung mit CRSR), werden nur

Lesefehler angezeigt.

F1: Directory

F8: Booten (s.o.)

1581 Single Drive Fast Copier

Unterstützt 1581 und, soweit vorhanden, REU / 64K Viedo RAM

Dies ist einer der besten Kopierer für die 1581 und macht makellose Kopien in annehmbarer Zeit. Durch Einschränkungen der Hard- und Software ist es unmöglich, ganze Disketten vom 1541 oder 1571 -Format auf die 1581 zu bringen, außer über File-Copy.

In dieses Programm sind viele zeitsparende Eigenschaften eingebaut: Jede zu kopierende Spur wird geprüft und nur dann in den Kopierpuffer übernommen, wenn auch Daten darin enthalten sind. Ansonsten wird die Spur nur formatiert. So ist es vorstellbar, daß eine ganze Disk in nur einem Durchgang kopierbar ist. Die Zahl der Spuren, die mindestens in einem Durchgang kopiert werden können beträgt:

Im Normalfall: 5 Spuren

mit 1564: 30 Spuren

mit 1750: 56 Spuren

mit 64K Video RAM (nur im 128'er): 11 Spuren

Während des kopierens bitte Geduld, es können immerhin mehr als 800.000 bytes auf einer Disk sein. (Mit zwei 1581'er in der Dual Drive Version dauert's nur ca. 2 Minuten)

Copy Disk: startet Kopiervorgang. Das Programm prüft den Schreibschutz von Quell- und Zieldisk. Fehler beim Schreiben/Lesen

werden angezeigt. Bei Schreibfehlern (Write errors) den Kopiervorgang wiederholen.

Device No.: s.o.

Starting Track: Erste zu kopierende Spur, voreingestellt ist 1, kann bis 80 eingestellt werden (mit <RETURN> ansteigend, mit

<SHIFT/RETURN> rückwärts, durch längeres Drücken Auto-repeat)

End Track: letzte zu kopierende Spur, voreingestellt ist 80, ansonsten s.o.

F1: Directory

F8: Bootet Disk (s.o.)

1581 Dual Drive Fast Data Copier:

Unterstützt zwei 1581 Laufwerke

Aus dem Maverick Hauptmenü 'Fast Data Copier' wählen, dann 'E' eingeben. Im neuen Menü stehen zur Auswahl:

Copy Disk: beginnt Kopierprozeß nachdem alle Eingaben erfolgt sind. Das Programm testet automatisch den Zustand der

Schreibschutze (folge Bildschirmanweisungen). Durch das eingebaute 'auto verify' werden am Ende des Kopierpro-

zesses Lese-/Schreibfehler angezeigt. In diesem Falle neuen Kopierversuch unternehmen.

Source Drive: Quell-Lw. Voreingestellt 8, kann bis 11 sein.

Target Drive: Ziellw., voeingestellt 8, kann bis 11 sein.

Starting Track: Startspur (1 bis 80). Mit RETURN erhöhen, mit shift-RETURN erniedrigen. (Tasten halten für Auto-Repeat)

End Track: letzte Spur (1 bis 80). s.o.

F1/F3: Directory

F8: bootet Disk

GCR NYBBLE COPIERS

Dies ist eine der stärksten Waffen gegen geschützte Programme, es kann z.B. DOS Fehlermeldungen übertragen und viele andere Schutzmechanismen

knacken (z.B. RapidLock). Es kann sogar beide Seiten einer echt formatierten 1571 kopieren, ohne die Disk zu wenden (dazu später mehr).

Zum Start aus dem Hauptmenü GCR Nybble Copiers wählen und <RETURN>. Darauf S (Single = EinfachLW), D (Dual = DoppelLW) oder R (RAMBoard) wählen.

Dual Drive GCR Nybble Copier

Unterstützt 1541 und 1571 Formate

Aus dem vorherigen Menü mit D aufrufen. Es erscheint ein Optionenmenü, in dem wie gehabt (CRSR/<RETURN>) weiter zu wählen ist:

Copy Disk: Start, nachdem Parameter gesetzt wurden. Auch hier genügt eine unformatierte Disk im Ziellaufwerk.

Starting Track: erste zu kopierende Spur, mit RETURN bzw. SHIFT/RETURN änderbar

Ending Track: letzte zu kopierende Spur. Änderbar s.o. Bis Spur 80 ist einstellbar, sinnvoll ist bis 38. Warum läßt sich bis 80

wählen? Spur 1 bis 40 sind reserviert für 1541 Format, Spur 41 bis 80 für die Rückseite einer echt 1571 formatierten

Disk (die Endspur ist dann normalerweise 75 bis 80).

Auto Density: Ist mit OFF (Aus) voreingestellt, einschalten, wenn Änderungen der Schreibdichte erwartet werden (z.B. Superkit

1541 oder V-Max!). Vorsichtshalber die Endspur auf 40 setzen.

Source Drive: Laufwerk für Originaldisk (8, kann auf 9 geändert werden)

Dest. Drive: Laufwerk für Backup (9, kann auf 8 geändert werden)

Soft-Wire: Laufwerksadresse 'soft' ändern, s.o.

F1/F3: Directory

F2: Ausgang zum BASIC

F8: Bootet Disk

RESTORE: kehrt in den Nybbler Startbildschirm zurück. Wird mit dieser Taste der Kopiervorgang abgebrochen, müssen die

Laufwerke aus- und wieder eingeschaltet werden!

Single Drive GCR Nybble Copier

Unterstützt 1541 und 1571 Formate

Hierher gelangt man aus dem Maverick Hauptmenü über GCR Nybble Copier und S . Auswahl der Menüpunkte über CRSR / <RETURN>.

Dieses Programm entspricht der Dual Drive Version, da aber nur ein Laufwerk zur Verfügung steht, müssen während des Kopierens die Disketten entsprechend gewechselt werden (4x bei 1541).

In diesem Programm ist das sehr starke 'RapidLok' eingebaut, das die meisten geschützten Programme knackt. Sollte Dual Drive Nybbler nicht zufriedenstellend arbeiten, versuche dieses Programm OHNE Änderungen der Voreinstellungen! Wird nach dem Start dazu aufgefordert, die 'Maverick Master Disk' Seite 2 einzulegen, kannst Du sicher sein, daß es sich um einen RapidLok-Schutz handelt. Sollte es dennoch nicht klappen, handelt es sich um eine neue Version des RapidLok. Wird diese angezeigt, muß die Parameterliste (Maverick Parameter Module #6) benutzt werden.

Achtung: Um RapidLok zu kopieren, muß das Laufwerk sehr genau justiert sein und exakte Geschwindigkeiten einhalten. U.U. das Laufwerk eines Freundes benutzen! Wir meinen, daß deshalb generell die 1571 erfolgreicher arbeitet als die 1541.

RAMBoard Nybbler

Unterstützt 1541/1541-II/1571 Laufwerke

Erkennt und nutzt automatisch 1764/1750 REU und/oder 64K Video RAM

Erfordert unbedingt 8K RAM installiert im Laufwerk!!!

Wenn alle anderen Versuche gescheitert sind, ist hier die letzte Rettung, vorausgesetzt, daß RAMBoard vorhanden ist. Dadurch können ganze Spuren mit Header und Anhängseln ins Ram übernommen werden.

Im RAMBoard-Menü gibt es:

Copy-Disk: Startet Kopiervorgang. Die Original- und Kopiedisk müssen entsprechend der Bildschirmaufforderungen gewechselt

werden (bei nur einem Laufwerk!)

Source Dev No: Laufwerk mit Quelldisk. Kann mit <RETURN> zwischen 8, 9, 10 und 11 gewechselt werden. F2 definiert den

Bereich des zusätz-lichen Laufwerks-RAM.

Target Dev No: Laufwerk mit Zieldisk. Lw-Nr. einstellen mit <RETURN>. F4 definiert den Bereich des zus. Lw-RAM; natürlich muß

jedes Laufwerk ein eigenes 8K RAMBoard installiert haben. (Ansonsten Source = Target Laufwerk)

Starting Track: s.o.

Ending Track: s.o.

Read Accuracy: Erlaubt eine Kompensation von Ungenauigkeiten des Disklaufwerkes. Voreingestellt ist 0, d.h. eine Spur wird

einmal gelesen bevor sie geschrieben wird. Durch <RETURN> kann der Wert bis auf '4' erhöht werden, wodurch

mehrere Lesedurchgänge erfolgen, mit dem Ziel, deckungsgleiche Ergebnisse zu erreichen.

Write Accuracy: entspricht 'Read Accuracy'. Hier kann die Voreinstellung auf bis 255 geändert werden. Entsprechend viele

Versuche unternimmt das Laufwerk, die Daten so zu schreiben wie sie gelesen wurden. (Einstellung ebenfalls mit

RETURN bzw. SHIFT/RETURN)

Check Target Speed: Bevor man diesen Punkt nutzt, erst in 'parameter menu option' in 'target speed modification' nachlesen.

Wegen der Leichtigkeit Geschwindigkeitsänderungen zu beherrschen (mit unserem 'speed control device'), empfehlen

wir, die Laufwerksgeschwindigkeit in die Rote (RED) Zone abzusenken, bevor man mit dem RAMBoard Nybbler Kopier-

versuche unternimmt. Wem dieses Tool nicht zur Verfügung steht, sollte in diesem Punkt für den ersten Versuch

keine Änderungen vornehmen. Wenn die Kopie nicht läuft, kann die Geschwindigkeit für den nächsten Versuch

reduziert werden. Unsere Erfahrung zeigt, daß manche Titel nur mit normaler, andere nur mit verringerter Geschwin-

digkeit kopiert werden können. Nach jedem Versuch mit verringerter Geschwindigkeit, diese wieder zurücksetzen.

Soft-Wire Drive: Geräteadresse 'soft' ändern

RESTORE: Bricht Programmausführung ab. Waren Laufwerke in Betrieb, diese aus- und wieder einschalten.

F1/F3: Directory

F2/F4: Setzt den Platz (in HEX) der 8K RAM Lw-Erweiterung. Voreingestellt ist $8000. Wer Rapidos Pro installiert hat, sollte

dies erst deaktivieren bevor Maverick gebootet wird. Der richtige Platz für Rapidos Pro ist $4000, für die 1571

RAMBoard $6000.

F5: Dient der Umschaltung der automatischen Schreibdichte-Erkennung. Empfohlen wird für den Normalfall AUS (OFF).

F8: Boootet Disk.

Sector Map Editor With Fast Data Scanner

Unterstützt die 1541 und 1571 Formate

Das Programm prüft eine Diskette auf Fehler, zeigt die tatsächliche Belegung an, erlaubt editieren irgendeinen Sektors und druckt das Ergebnis aus. Und es ist Schnell.

Map Disk Errors: Nach dem setzen aller anderen Optionen beginnt hiermit die 'Fehlersuche' der Diskette im aktuellen Laufwerk.

Search Disk: Nach dem setzen aller anderen Optionen beginnt hiermit die Datensuche auf der aktuellen Diskette

Enter Search Data: Dient zur Eingabe eines Suchmusters für die Disk. Die Bytes, die man lokalisieren will, können in drei Formen

angegeben werden: Hex, Dez oder ASCII. Die Eingabe kann maximal zwei Zeilen lang sein. Falsche Eingaben werden

nicht akzeptiert. Hex Daten in der Form $8D,$58,$22,... , Dez in 200,34,12,... und ASCII in "suche" eingeben. Sie können

auch kombiniert werden z.B. in der Form: "suche",$8D,$58,$22,200,34,12. Sind alle Daten eingegeben, beginnt mit

<RETURN> die Suche.

Edit Sector Map: erlaubt Wiederprüfung einer früheren 'Scan Map', ohne den Suchlauf tatsächlich auszuführen.

Start Track: s.o. (für 1541 zwischen 1 und 40, 1571: 1 bis 70)

End Track: s.o.

Device No.: s.o.

F1/F3: Directory

F5: Disk Commands

F8: Bootet Disk

Scan Map Options

Wenn 'Map Disk Errors' oder 'Search Disk'-Options gewählt wurden, beginnt die Anzeige der Spuren, die im Map Menü angegeben sind. Wünscht man die Anzeige zu unterbrechen, <RUN/STOP> drücken, mit <SPACE> weiterführen. Zur Prüfung oder Korrektur der Anzeige <RESTORE> drücken. Die Sektoranzeige befindet sich am linken Rand, die Spur-(Track-)anzeige am unteren Rand des Bildschirms.

Nach dem abtasten (scanning, lesen) der Disk zeigt der Bildschirm eine Spur- und Sektorkarte mit folgenden Darstellungen:

+ Daten im Sektor vorhanden

- Standard 1541 Format - keine Daten enthalten

(leer) Standard 1571 MSD Format - keine Daten enthalten

(Zahl) zeigt DOS-Fehler. 2 steht für Fehler 22, 9 für Fehler 29, u.s.w.

V zeigt eine V-MAX! -formatierte Spur

R zeigt RapidLok -formatierte Spur an

S steht für 'Full Sync Track' (= Killertrack)

T Spurfehler (z.B.: 'Fat Track'). Ein T auf Spur 36 kann auch einen 'Fat Track' auf den Spuren 35/36 anzeigen ('Fat

Track' = Halbspur (?))

* taucht während der Datensuche ein Stern (*) auf, zeigt das einen Treffer für den Suchstring im betr. Sektor

Ist der Lesevorgang beendet, erscheinen bestimmte Spuren und Sektoren revers und ein Cursor blinkt. Mit F1/F3 kann in der Spur, die durch den blinkenden Cursor markiert wird, zum ersten/letzten Sektor gesprungen werden. Mit F5/F7 springt man zur ersten/letzten angezeigten Spur. Gibt es mehr Spuren als angezeigt (1571-Format), läßt sich mit wiederholtem Druck auf F5 bzw. F7 der Bildschirm scrollen. Mit CRSR hoch/runter und CRSR links/rechts kann der blinkende Cursor auf einen lesbaren Sektor zur weiteren Untersuchung plaziert werden. Zum lesen des Sektors oder zur Änderung <SPACE> drücken; die Anzeige erfolgt in HEX/ASCII. Wurde mit Suchfunktion gearbeitet, sind Treffer hervorgehoben angezeigt.

Mit den (unteren) CRSR-Tasten das erste zu ändernde Byte anfahren, Änderungen in HEX durchführen. Soll der gleiche Sektor disassembliert werden, M drücken. Dann kann nach <SPACE> die Korrektur in Mnemonics durchgeführt werden (auf richtiges setzen der Leerfelder achten!), jede Änderung mit <RETURN> bestätigen. Eine falsche Eingabe bewirkt das verlassen des Editiermodus. Sind die Änderungen vollständig, mit W den Sektor zurückschreiben. Mit J springt man zum nächst verketteten Eintrag, soweit vorhanden. Die Pfeil-links-Taste (ESC) springt in den vorhergehenden Bildschirm, wo ein neuer Sektor gewählt werden kann, oder durch erneutes ESC ins Hauptmenü zurückgesprungen wird.

Im 'Map Mode' kann nach C= P ausgedruckt werden (auf Druckern, die den Commodore 801/1526 - Code verstehen).

Maverick GCR Editor

Unterstützt die 1541/1571 Laufwerke

Der GCR Editor ist das mächtigste Werkzeug, eine Disk zu untersuchen. Es gestattet, Daten so anzuzeigen, wie sie wirklich auf der Disk stehen. Unser GCR Editor hat jede erdenkliche Eigenschaft Header und Daten anzuschauen und zu manipulieren. Es gehört aber gründliche Kenntnis des Commodore-Formats dazu, um hiermit mit vollem Nutzen zu arbeiten (wir empfehlen: 'Inside Commodore DOS' von Richard Immers zum Studium). Übung macht den Meister.

Was ist GCR? Wenn man vom 64'er Files auf Disk abspeichert, werden sie nicht Bit für Bit auf die Scheibe geschrieben. So kann die 1541/1571 nicht mehr als drei '0'-Bits in einer Reihe schreiben, so daß ein Byte wie #$06 ein Problem aufwirft! Die Commodore Entwickler erarbeiteten das GCR-Schema um Daten auf/von Diskette zu schreiben/lesen. Es wandelt vier Bits Hexcode in fünf Bits GCR Code um. Ferner werden die Daten, abhängig von ihrem Platz auf der Diskette, mit unterschiedlicher Bit-Rate geschrieben: Spuren 1-17=$60, Spuren 18-24=$40, Spuren 25-30=$20, Spuren 31-35=$00.

Der Commodore DOS Schutz besteht größtenteils darin, keine Standarddaten auf die Diskette zu plazieren, wie Einzelbytes in ungewöhnlichen Lokationen, unnormale Geschwindigkeiten, oder reformatieren einzelner Sektoren, Spuren oder der ganzen Disk. Mit dem GCR Editor erhält man genaue Formatierungsinformationen und kann sogar nicht lauffähige Backups (Kopien) nachbearbeiten.

Aufruf aus dem Hauptmenü mit 'GCR Format Editor'. Das erscheinende Untermenü bittet um Eingabe von G für (Software-) GCR Editor oder R für RAMBoard Track Editor. Nach Auswahl von G soll das Laufwerk kurz anlaufen und das GCR-Menü erscheinen. Die Optionen:

First Screen (Header Section) , 'erster Bildschirm':

Track Selection: Spuren können dezimal eingegeben werden (1 bis 40.5)

Bit Rate Selection: <RETURN> übernimmt voreingestellten Wert, ansonsten $00, $20, $40 oder $60 eingeben.

After Scan of Track: Die Anzahl der Header ist gleich der Zahl der Sync-Marken einer Spur. Linke Spalte = GCR der ersten 8

Bytes, rechte Spalte = umgewandelte GCR-Bytes. Der Infobalken über der Headerliste zeigt den aktuellen Header, auf

dem der Cursor steht, an. Die linke Seite zeigt an: 'Sektor:XX' wenn der aktuelle Header Teil einer standard-

formatierten Spur ist. Die Sektornummer ist Dezimal, so daß der GCR Editor wie ein Sektor Editor gebraucht werden

kann. Auf der rechten Seite erscheint DATA oder HEADER, abhängig davon, ob der Cursor auf einem Data Block

Header (beginnend mit $52) oder dem Datenblock selbst (beginnt mit $55) steht.

Commands First Screen (Befehle):

H: ge-Shiftetes 'H' bietet Hilfe

T: Neue Spur eingeben

R: Neue Bit-Rate für aktuelle Spur eingeben

F1: Directory der Disk im Laufwerk

F3: Lädt wieder das Hauptmenü

CRSR: scrollt durch die Header

SPACE: liest aktuell gewählten Header und springt in den Editier- (zweiten-) Bildschirm

P: Ausdruck der Headerliste (Standard Commodore Drucker)

+/- : geht eine Spur vor bzw. zurück und liest sie ein

C: eine Spur verändern (nachdem sie gelesen wurde)

Option 1: no-sync: löscht ganze Spur durch auffüllen mit $55

Option 2: full-sync: füllt ganze Spur mit $FF

Option 3: create notepad header: löscht eine ganze $55-Spur und schreibt einen ein-Header/eine-Syncmarke

Code zurück (unter Verwendung von 'Notepad Code')

Second Screen (Header Edit Screen) 'zweiter Bildschirm'

Header Info: erscheint ganz oben am Bildschirm. Sync zeigt die Länge der Sync-Marke dieses Headers, bzw. die Länge der

Bytes des Headers. Ein Header mit mehr als $0500 Bytes kann nur bis Byte $04FF im Puffer bearbeitet werden, es sei

denn, mit Lw-Speichererweiterung.

Header and Data Tables: Reihen von zehn GCR Bytes erscheinen auf der inken Seite, die entspr. umgewandelten acht

hex-Bytes rechts.

Commands (Second Screen) 'Kommandos im zweiten Bildschirm'

R: Header Daten nocheinmal lesen

W: schreibt geänderte Daten auf Disk zurück

Z: sucht GCR-Null-Bytes und markiert diese

P: druckt Daten auf dem Drucker

SPACE: schaltet in den Edit-Modus (s.u.)

+/-: erhöht/erniedrigt Sync-Länge um eins

CRSR: bewegt Cursorbalken über die Datenfelder

<: löscht ein Byte ab Cursor

>: fügt ein Byte ($00) am Cursor ein

DEL: löscht Bytes vom Ende der Liste

S: schaltet Spalteneditieren von links nach rechts (oder zurück)

A: schaltet zwischen Hex- und ASCII-Darstellung hin und her (rechts)

D: schaltet in den Disassembliermodus (s.u.)

C: repariert die Checksumme eines Headers oder Datenblocks. Vor W-Kommando eingeben, damit Prüfsummenfehler

vermieden wird

R: Shift-R läßt aktuellen Header nochmals lesen, aber mit anderer Geschwindigkeit als die ganze Spur gelesen wurde

H: Shift-H öffnet Hilfe-Bildschirm

Pfeil-links-Taste: kehrt zum ersten Bildschirm zurück

Edit Mode:

Drücke <SPACE> um hier hineinzukommen. Die Farbe des Bildschirmrandes ändert sich. Gib die Änderungen in Hex oder ASCII ein. <DEL> zeigt den CRSR wieder an, <RETURN> verläßt den Edit Mode. Doppelpunkte ('..') auf der Bildschirmanzeige markieren unbenutzte Bytes. Wenn Du auf einem dieser Bytes <SPACE> drückst, kommst Du nicht in den Edit Mode (ausgenommen der erste '..' rechts vom letzten angezeigten Datenbyte. Hier kannst Du Daten anfügen, die Länge des Headers wird entsprechend angepaßt.)

Disassembly Mode:

Wenn der CRSR in der rechten Spalte steht, 'D' drücken für Disassemblieren. Der disassemblierte Code wird rechts in der GCR-Spalte angezeigt. Assemblertext eintippen, mit <RETURN> übergeben. Mit CRSR auf/ab-Taste Assemblermodus verlassen.

SPACE schaltet in den Disassembliermodus

CRSR auf/ab scrollt durch Disassemble-Bildschirm

RETURN verläßt Disassembliermodus

P sendet disassemblierten Code an den Drucker

Notepad Feature: (Notiz Option)

Manchmal -wenn im GCR Editor- möchte man einen Header speichern, einen anderen anschauen und später zum vorhergegangenen zurückkehren, ohne diesen nochmals lesen zu müssen. Unser GCR Editor besitzt ein Notepad (scratch pad), in dem ein Header im Speicher abgelegt werden kann. Auch der Notepad-Header kann editiert werden:

T: schaltet zwischen dem aktuellen und dem Notepad Header hin und her. Die Randfarbe wechselt und 'Notepad'

erscheint im Eck oben links. Disk commands (wie R,W,Z,...) gelten nicht im Notepad.

S: geshiftetes S speichert Header als Notepad file. Speichert entweder Notepad oder gewählten Header.

L: shift-L lädt Header von der Diskette

^: Pfeil-hoch-Taste speichert aktuellen Header auf Diskette

CTRL I: wirkt nur im GCR-Modus (nicht im Notepad-Modus). Setzt den Code aus dem Notepad, an der aktuellen Cursorposition

beginnend, ein; holt also den Notepad-Inhalt zurück.

CTRL A: hängt den Notepad-Header an die vorhandenen Daten auf Disk, ab Cursorposition an. Wenn Du einen langen

Datenblock mit noch etwas freiem Raum am Ende hast und Du z.B. noch extra Sync-Marken anhängen möchtest,

bewege den Cursor an das Blockende, hab' den gewünschten neuen Header im Notepad gespeichert, drücke CTRL A.

Der GCR Editor wird automatisch die Spur nachprüfen, -bearbeiten.

GCR Editor Tricks, Tips und Hinweise:

Sei sehr vorsichtig bei wiederholter Anwendung des W-Befehls. Der GCR Editor schreibt jeden Header, so perfekt wie es nur irgend geht, auf die Diskette zurück (d.h. mit korrekter Länge und korrekter Syncmarke). Wenn Du einen Header länger machst, als er zuvor war und ihn zurück schreibst, kann damit der folgende Header zerstört werden.

Das gleiche gilt für den CTRL-A Anhängebefehl. Auch das ändern von Sync-Längen und deren rückschreiben auf Disk ist gefährlich. Sei äußerst umsichtig!!!

Nach dem W-Befehl ist es angebracht, mit dem R-Befehl nochmals zu laden, um zu prüfen, ob auch alles richtig gelaufen ist.

Benutze den C-Befehl (Checksum) nachdem ein Datenblock bearbeitet, aber bevor er zurückgeschrieben wird. Dadurch wird die Datenblockprüfsumme repariert (angepaßt). Sonst meldet das Commodore DOS einen 23-read-error, wenn es einen solchen Block zu lesen versucht.

Jetzt hast Du den mächtigsten und dennoch einfachst zu bedienenden GCR Editor, der heute am Markt erhältlich ist. Bist Du nun überwältigt oder ein wenig durcheinander, lege es nicht beiseite; mit etwas Studium und Übung wirst Du Dich bald vertraut damit fühlen.

RAMBoard Track Editor (RAMBoard Spur Editor)

Unterstützt 1541/1541-II/1571 Laufwerke mit 8K installierter RAM

Die heutige neue Generation des Kopierschutzes erfordert anspruchsvolle Werkzeuge. Die Rohdaten einer ganzen Spur müssen auf einmal ('in einem Rutsch') gelesen und geprüft werden können. Die heute gebräuchlichen Formate schreiben auf einmal eine ganze Spur und oft mit einer nicht standardmäßigen Geschwindigkeit oder Bit-Rate. Unser RAMBoard Track Editor ist entwickelt, eine ganze Spur auf alles zu prüfen was notwendig ist, sie dann auch wieder reproduzieren zu können.

Obwohl nicht für Anfänger gedacht, kann der Fortgeschrittene erkunden, was hinter einem V-MAX!, RapidLok oder anderem System steht. In vielen Fällen kann sogar eine ganze Diskette Spur für Spur dupliziert werden. Aber, Du begibst Dich auf unbekanntes Gebiet, GEDULD und AUSDAUER sind deshalb die wichtigsten Schlüsselwörter. Informationsquellen sind Commodore DOS (wenn Du eins findest), oder unser 'CSM Programm Protection Manual Vol.II'.

Aus dem Maverick Hauptmenü 'GCR Format Editor' wählen. Liegt die 'Maverick Master Disk' mit Seite 1 oben im aktuellen Laufwerk, <RETURN> drücken. Im erscheinenden Untermenü <R>AMBoard Track Editor wählen. Das Laufwerk sollte kurz anlaufen und das RAMBoard Track Editor Menü erscheinen. Wiederum mit dem CRSR auf/ab die gewünschte Option wählen und mit <RETURN> aktivieren. Die Menüpunkte von oben nach unten sind:

Edit Tracks: Beginnt Track Edit Funktionen. Siehe unten 'Edit Screen Functions'.

Source Dev No: Setzt die Gerätenummer für die Quelldisk (Leselaufwerk). Mit <RETURN> kann 8, 9, 10 oder 11 eingestellt

werden. F2 definiert den Speicherbereich des zusätzlichen RAM dieses Laufwerks.

Target Dev No: s.o. für Kopie (Schreib-Laufwerk). Speicherbereich festlegen mit F4.

Softwire Drive: Geräteadressen der Laufwerke 'soft' verändern.

RESTORE: Restore-Taste bricht jeden laufenden Vorgang ab. Sind zu diesem Zeitpunkt Laufwerke aktiv gewesen, müssen

diese aus- und wieder eingeschalten werden (re-Initialisierung).

F1/F3: Directory

F2/F4: legt fest, wo die 8K RAM eingegliedert (angesprochen) werden. Voreingestellt ist die Hexadresse $8000 für das

1541/1541C/1541 II RAMBoard. Wer Rapidos Pro installiert hat und mit der 8K Erweiterung arbeiten möchte, muß

Rapidos Pro erst deaktivieren, bevor Maverick gebootet wird. Der richtige Platz für Rapidos Pro ist $4000, für das

1571-RAMBoard $6000. Sollten zur Speicheraufteilung noch irgendwelche Fragen bestehen, fragt beim Hersteller

nach, der vermutlich sehr gerne behilflich sein wird.

F5: Disk Kommando (siehe ganz oben).

F8: Bootet Diskette

Eigenschaften im Editierbildschirm:

Wird die Option 'Edit Tracks' gewählt, öffnet sich der Arbeitsbildschirm. Im oberen Teil sind Statusmeldungen und die Read/Write (Lese/Schreib) Konfiguration kann geändert werden. Im mittleren Teil ist ein scrollbares Fenster, das den gepufferten Track-(Spur-)Inhalt anzeigt, während im unteren Teil des Bildschirms Meldungen und Eingabeaufforderungen erscheinen. Alle Eingaben und Ausgaben (Darstellungen) sind in Hex! Oben links am Bildschirm angefangen stehen folgende Optionen zur Verfügung:

?: Hilfe-Bildschirm

T: zur Eingabe einer Track (Spur), die $01 bis $28 sein kann

B: zur Eingabe einer Bit-Rate für die gewählte Spur. Sie kann $60 (normal für Spur $01-$11), $40 (normal für Spur

$12-$18), $20 (normal für Spur $19-$1E), $00 (normal für Spur $1F-$28) sein.

A: schaltet die automatische Dichte-Erkennung ein/aus, voreingestellt ist Normal/Off und Auto/On. In der Stellung Norm

wird die Spur mit der eingestellten Bit-Rate gelesen, auf Auto wird -wenn möglich- die Spur so gelesen, wie die

Bit-Rate auf der Disk vermerkt ist.

S: setzt die Source- (Lese-) Laufwerksnummer. Durch wiederholtes Drücken ist $08, $09, $0A oder $0B einstellbar.

S: shift-S definiert den Platz des zusätzlichen RAM in diesem Laufwerk ($4000-$E000)

D: setzt Destination- (Schreib-) Laufwerksnummer durch wiederholtes drücken auf $08, $09, $0A oder $0B.

D: shift-D : Platz für zusätzliches RAM ($4000-$E000)

P: setzt Laufwerksgeschwindigkeit für Ziellaufwerk. Mit der Wahl dieser Option, wird man aufgefordert, eine Diskette

ins Ziellaufwerk zu geben. Achtung: hierbei werden die Daten der Spur $26 (und nur $26) gelöscht. Mit <SPACE>

beginnt der Speed-check. Die normale Geschwindigkeit für die aktuelle Spur bei angewählter Bit-Rate wird unten im

Bildschirm angezeigt, die tatsächliche Geschwindigkeit oben. Die Geschwindigkeit wird angegeben als Zahl der Bytes,

die bei eingestellter Bit-Rate, auf die aktuelle Spur geschrieben werden können. Das ist besonders nützlich um

'Custom Formate' zu kopieren.

Die Befehle (G-Y-H) arbeiten in Verbindung miteinander und beeinflussen die Art und Weise, wie eine Spur gelesen wird.

G: setzt Gap-search-Bytes. Gib ein 1 bis 5 Byte Suchmuster ein, das hilft, den Anfang einer Spur zu finden. Wird das

Muster wiederholt nicht gefunden, sucht das Laufwerk unendlich. In diesem Fall <RESTORE> drücken und das

Laufwerk Aus- und wieder Einschalten. Bist Du Dir nicht sicher, nach welchem Muster zu suchen ist, belasse das

voreingestellte $00, welches die meisten Formate richtig liest. Einige Formate wie V-MAX! erfordern diese Eingabe.

G: shift-G kopiert die Daten aus dem Spurpuffer unter dem Cursor in die 'Gap' (Lücke(?))

Y: schaltet Sync-Suche ein bzw. aus. Nachdem Gap-Bytes gefunden wurden, bestimmt diese Option, ob auch nach Syncs

gesucht werden soll oder nicht.

Y: shift-Y setzt (im Editmodus) Syncmarken dorthin,wo der Cursor steht, frägt aber noch nach der Anzahl der

einzusetzenden Syncs ($01 bis $FF).

H: setzt Header-Suchbytes (1 bis 8 Bytes). Diese Option bestimmt den Startpunkt für die Übernahme der Spur in den

Puffer. War die Suche nicht erfolgreich, sucht das Laufwerk unendlich weiter (<RESTORE> (Lw Aus und Ein). Mit CRSR

rechts/links-Taste kann vor bzw. zurück gesprungen werden. Sind die Änderungen eingetippt, mit Pfeil-links-Taste

(Esc) aussteigen. (Achtung: bevor eine neue Spur eingelesen wird, muß entweder das Suchmuster gelöscht oder

geändert werden.)

H: shift-H kopiert Spurpufferdaten unter dem Cursor in den Header

F: setzt Füllbyte, das dazu dient, eine Spur zu 'löschen', bevor die neue Spur geschrieben wird. Ist z.B. $FF gewählt, wird

die Spur komplett mit $FF beschrieben und dann mit dem Inhalt des aktuellen Spurpuffers überschrieben.

R: liest gewählte Spur in den Puffer

+/-: liest nächste/vorherige Spur

W: schreibt aktuellen Pufferinhalt auf gewählte Spur mit aktueller Bit-Rate

HOME: bewegt Cursor zum Anfang des angezeigten Pufferinhaltes

F1/F3: blättert seitenweise durch den Pufferinhalt

F2/F4: blättert $400 Bytes vor/zurück (ca. 6 Bildschirmseiten)

F5: springt in die Nachbarschaft der durch F6 markierten Cursorposition

F6: merkt die Cursorposition im Anzeigebildschirm

F7: Suche Ende der Spur. Während die Spur gelesen wird, plazieren wir ein $00 Byte an die Stelle, die wir für das Ende der

Spur halten. Dieses $00 Byte wird auch im Write- (Schreibe-) modus benutzt, das Ende zu signalisieren. Ihr könnt das

im Anzeigepuffer überprüfen. F7 bewegt den Cursor auf das erste gefundene $00 Byte. Dieses $00 Byte wird nicht

auf die Spur geschrieben!

F8: Sucht Syncmarken im Spurpuffer. Sucht nach 10 aufeinanderfolgenden 1 Bits und stopt dann.

E: Edit Modus. Gib Änderungen der Bytes in den Puffer ein, dabei funktionieren CRSR-, HOME-, F-, INSERT- und DELETE-

Tasten. Die INSERTtaste fügt ein $00 Byte an der aktuellen Cursorposition ein, das -sofern nicht überschrieben-

einen neuen Spurendemarker darstellt.

CLR: (nur im Editmodus) füllt den Puffer mit dem Füllbyte, das oben am Bildschirm angezeigt wird.

M: Macro aufzeichnen. Bis zu 2560 Tastendrucke können gespeichert werden bis mit <RESTORE> abgeschlossen wird.

Damit ist es möglich, den Track Editor zu programmieren und eigene Kopierprogramme zu erstellen.

X: führt das zuletzt erstellte Macro aus. Man wird noch nach der Anfangs- und Endspur abgefragt, dann arbeitet das

Macro jede Spur entsprechend ab, bis zur Endspur oder bis mit <RESTORE> abgebrochen wird. Als Startspur '0'

eingegeben bewirkt ein nur einmaliges abarbeiten des Macros.

GEOS TOOLKIT

Eines der heißesten Programmpakete, die heutzutage angeboten werden, ist GEOS. Wir bei Kracker Jax wissen, daß unsere Kunden Sicherheitskopien benötigen, besonders von den wichtigen Programmen. Und GEOS ist da keine Ausnahme. In diesem ToolKit (Werkzeug) findest Du die Utilities, die man braucht, Kopien zu machen, die sich auf fast jedem Commodore- kompatiblen Laufwerk installieren lassen. Außerdem ist ein Sektor Editor enthalten, der unter GEOS DeskTop V1.3 oder höher läuft und ein GEOS Filekopierer, der allen GEOS Fans das Leben vereinfachen soll.

GEOS Parameter Menü

Um sicher zu gehen, benutze unseren Single Drive Fast Data Copier (mit einem oder zwei Laufwerken), um eine -nicht lauffähige- Kopie deiner INSTALLIERTEN Berkeley Software zu machen. Sollten während des Kopierens Fehler angezeigt werden, handelt es sich wohl um ein defektes GEOS Original. Verifiziere die Fehler mit dem 'Sector Map Editor' und wenn sie sich bestätigen, empfehlen wir, Berkeley um Ersatz zu bitten.

GEOS ToolKit wird aus dem Maverick Hauptmenü ausgewählt. Folge der Bildschirmanzeige und wenn das Untermenü erscheint, wähle 'Parameter Menu', worauf folgende Punkte erhältlich sind:

BOOT SINGLE DATA COPIER: Mit dieser Option gelangt man direkt (nicht über das Hauptmenü) in den 'Single Drive Fast Data Copier'.

BOOT DUAL DATA COPIER: direkt ins 'Dual Drive Fast Data Copier'

BOOT SINGLE NYBBLER: 'Single Drive Nybbler' direkt booten

BOOT DUAL NYBBLER: 'Dual Drive Nybbler' booten

Über die F-Tasten stehen folgende Befehle zur Verfügung:

F1: PARMS IN DRIVE NO.: plaziere das Maverick Parameter Modul #8 in das Laufwerk, das durch diese Option definiert

wird. Nr. 8 ist voreingestellt, kann auf 9, 10 und 11 geändert werden. Das Laufwerk muß vorab entsprechend

eingestellt worden sein (hard oder soft), damit eine andere Nummer als 8 akzeptiert wird.

F3: BACKUP IN DRIVE NO.: gib die Zieldisk (nie das Original) in das Laufwerk, das durch diese Option eingestellt wird (s.o.)

F7: Load Maverick Parameters: Lege Parametermodul #8 in das durch F1 definierte Laufwerk und drücke <RETURN>. Das

Laufwerk startet und lädt ein Listing der erhältlichen Parameter. Den CRSRbalken mit CRSR auf/ab-Taste langsam,

mit CRSR lks/rts schnell durch die Liste bewegen. Steht der CRSR über der gewünschten Option, <RETURN>. Die

Parameter werden geladen und fragen nach Deiner Backupdisk. Mit dem Backup im richtigen Laufwerk, wieder

<RETURN>. Das Programm prüft die Version des Schutzes und wird ihn -soweit er bekannt ist- knacken und den

Erfolg/Mißerfolg anzeigen. Wenn fertig (die Zeit kann deutlich variieren), erscheint das Hauptmenü. Dort kannst Du

einen anderen Parameter laden (für eine nächste Kopie) oder Deine Kopie testen. Wenn die 'parameter successful'

oder 'version unknown' Meldung erscheint (und die bearbeitete Kopie) auch nach mehreren Versuchen nicht läuft,

kontakte uns, wir werden versuchen Dir einen Parameter zu bauen. Anmerkung: Berkeley hat eine Version GEOS64

V1.2 herausgegeben, die in Wirklichkeit eine SYSTEMS DISK ist. Jede SYSTEMS DISK mit V1.2 ist bei uns als 'GEOS64

V1.3' zu behandeln.

Wichtig: GEOS64 V1.3 oder 2.0 enthält zweifachen Schutz. Um eine funktionierende Kopie zu erhalten, mußt Du

sowohl den entsprechenden GEOS64 Parameter, als auch den Desktop Parameter benutzen. Weil der Desktop auch

geschützt ist, muß der Desktop Parameter auf jede Arbeitsdiskette mit Desktop angewendet werden, um

'trojanische Pferde' auszuschließen.

C= P: Commodore+P druckt die Parameterliste im Commodore 801/1525 Format aus, nachdem sie von der Disk geladen

wurde. Dazu wirst Du noch nach der Druckeradresse (meist 4) und 'line feeds' (meistNO) gefragt. Mit 'A' Audruck

abbrechen, mit 'P' pausieren.

RUN STOP/RESTORE: kehrt vom Parameterlistingmodus in das Parameter Hauptmenü zurück.

F8: bootet Disk

GEOS Sector Editor:

Kein Utility-Pack ist sein Geld wert, ohne Sektor Editor. Wir dachten, es müsse Spaß machen, einen im GEOS Format zu programmieren. Wir bei Kracker Jax sind in der glücklichen Lage, einen der Top Programmierer des Landes, Bob Mills, in unseren Reihen zu haben. Der Sektor Editor, mit allen Eigenschaften ausgerüstet, läuft unter Desktop!

Dieser Sektor Editor erfordert GEOS Grundwissen, ist dann aber sehr einfach zu laden und gebrauchen.

Boote Dein GEOS System (V1.3 oder höher). Aus dem Desktop die Maverick Master Disk Seite 2 aktivieren und das Sector Editor Icon doppelklicken. (Der Sektor Editor kann auch auf eine Arbeitsdisk kopiert und von dort gestartet werden.) Die Voreinstellungen (preferences) des Desktop werden übernommen (z.B. Druckeranpassung, Eingabetreiber).

Wir können Dich mit diesem Manual nicht ins Commodore Format einführen. Benötigst Du Informationen, wende Dich an eine örtliche User Group, dort findest Du Experten, die Dich über die Klippen leiten.

Sector Edit Screen:

Diskette/Left Arrow (Linkspfeil): schreibt den gerade angezeigten Sektor in den Bereich, der durch die NOW Sektoreinstellung

angegeben ist.

Diskette/Right Arrow (Rechtspfeil): liest den durch NOW eingestellten Sektor ein.

T: wähle die gewünschte Track- (Spur-) Nummer (0 bis F) und klicke 'T', um diese Spur zur NOW-Spur zu machen. Um

Spur 18 zu wählen (hex 12), klicke 1, 2, T. Die Spur wird im Track Now Indikator angezeigt.

S: wie T, jedoch für Sektor und 'S'

Chain Loop: zeigt beim anklicken den nächst verketteten Sektor des Files an. Auch zu irgendeiner Zwei-Byte Adresse auf dem

Bildschirm-Puffer kann man springen: Auf das erste der beiden Bytes klicken, das daurch hervorgehoben wird, dann

chain loop icon klicken und der angezeigte Sektor wird in den Bildschirmpuffer gelesen.

Chain +: Alle Standardprogrammfiles haben Linkadressen (Linker, Chainlinks), die man durch klicken auf Chain + verfolgen kann

(vorwärts).

Chain -: wie oben, rückwärts

Large +: liest nächste Spur in der numerischen Folge

Large -: liest numerisch vorhergehende Spur

Small +: liest nächsten Sektor der numerischen Folge

Small -: liest numerisch vorhergehenden Sektor (bis 0 = 'Ende')

Right Arrow/P: druckt Sektor Informationen und Daten in Hex und ASCII. Der richtige Druckertreiber muß installiert sein.

Now: aktuelle Spur und Sektor werden auf dem Bildschirm angezeigt

Previous: vorhergehende Spur und Sektor werden eingelesen in Verbindung mit chain + . 00 zeigt, daß kein vorhergehender

Sektor da war.

Next: Nächste Spur und Sektor (entspr. der 'file chain links', Koppeladresse) wird eingelesen. Arrow/Dual Drives: vertauscht

Laufwerk A mit B und umgekehrt (Icons werden nur angezeigt,wenn zwei Laufwerke auch vorhanden sind).

Position: Zeigt in Dezimal und Hex die Position des aktuellen (angeklickten) Bytes an.

Das Ändern von Bytes der Sektor Map ist einfach: auf das erste zu ändernde Byte klicken und die neuen Werte in Hex eingeben. Befindet man sich in der ASCII-Darstellung, kann die Eingabe auch in ASCII erfolgen.

Hab' Freude mit diesem Sector Editor, aber experimentiere niemals mit den Originaldisketten. Mache erst Kopien mit einem unserer Disc Copiers, dann kann kein irreparabler Schaden entstehen.

GEOS FILE COPIER

Seit wir zum ersten Mal GEOS benutzten, wußten wir, daß hierfür ein Filekopierer notwendig ist. Die normale Kopierfunktion unter GEOS ist langsam und langweilig. Nur ein File auf einmal und dann noch eingeengt darin, welche Files von einer Disk zur anderen kopiert werden können. Mit dem erscheinen von GEOS 64/128 V2.0 wurde das File-Kopieren zwar verbessert, aber immer noch nicht optimal. Der Vorgang ist schwerfällig und langsam und die Fileauswahl immer noch begrenzt.

Unser neues GEOS File Copier hat den Vorteil eines größeren Kopierpuffers und läßt -außer dem Bootfile- alle Filearten zu. Bitte denke daran, daß selbst wenn Du unsere Parameter benutzt eine GEOS Bootdisk zu entschützen, kann der Diskinhalt nicht File-kopiert werden und es ist immer noch eine Arbeitskopie. Die Ursache hierfür ist, daß das 'Kernal'-file auf der Kopie sich exakt auf der gleichen Position wie auf der Originaldisk befinden muß. (Es wird mehr spur- und sektororientiert als fileorientiert geladen.)

Stecke Deine GEOS V1.3 (oder höher) ins Laufwerk und boote (GEOS 128 im 40-Zeichenmodus). Bei erscheinen des DeskTop, die Maverick Master Disk Seite 2 ins gewünschte Laufwerk einlegen und öffnen. Maverick F.C. (= GEOS File Copier) kann auch auf eine Arbeitsdisk kopiert und von dort gestartet werden (Doppelklick). Die Voreinstellungen aus dem DeskTop werden vom Maverick File Copier übernommen.

(Anm.d.Ü.: die 40-Zeichenumschaltung kann auch aus dem DeskTop heraus erfolgen.)

Auf dem GEOS File Copier Hauptbildschirm erscheinen oben folgende Informationen:

Current Disk: Name der Disk im Quell-Laufwerk

Total Files: zeigt die Anzahl der zu kopierenden Files an

Total Blocks: zeigt die Anzahl der Blöcke der zu kopierenden Files an

Source: Quell-Laufwerk: A oder B und Laufwerkstyp

Target: Ziellaufwerk: A oder B und Laufwerkstyp

Nimm Dir bitte Zeit, Dich mit den erhältlichen Optionen vertraut zu machen.

GEOS: bei anklicken wird sich ein Fenster öffnen: Exit to DeskTop: verlassen nach DeskTop Use Desk Accessory: sind auf

der Disk im Quell-Laufwerk Hilfsmittel vorhanden, werden sie in diesem Fenster aufgelistet und durch einfachen Klick

ausgeführt

File: bei anklicken wird sich ein Fenster öffnen: Load Source Directory: anklicken lädt Directory vom Quell-Laufwerk Copy

Files: nachdem alle anderen Optionen eingestellt sind, beginnt hiermit der Kopierprozess (s.u. 'Copy Files')

Disk: öffnet eine Dialogbox, in der Quell- und Ziellaufwerk getauscht werden können. Unser GEOS File Copier unterstützt

jede Kombination von Laufwerken, die auch von GEOS selbst zugelassen werden. Allerdings unterstützt GEOS keine

Unterverzeichnisse (Partitions) auf der 1581.

Page: wenn der Bildschirm ganz mit Fileeinträgen angefüllt ist, kann man hier klicken, um -soweit vorhanden- die nächste

Seite zu sehen.

File Selection: Fileauswahl durch anklicken. Ganze Blöcke können angewählt werden, indem der Knopf gehalten und der

Mauszeiger weiterbewegt wird. Maximal können 128 Files pro Disk ausgewählt werden, die Anzahl der Blöcke ist nicht

begrenzt.

Copy Files: Nach setzen aller Optionen 'File' und dann 'Copy Files' klicken. Du wirst gefragt 'Are You Sure?' (Bist Du sicher?). Ist

die Antwort 'Cancel' kehrt man zum File-Copier-Hauptbildschirm zurück, bei 'OK' erscheint eine neue Dialogbox, in der

-wenn zwei Laufwerke vorh.- Quell- und Ziellaufwerk eingegeben werden können. Die neue Auswahl läßt 'Cancel'

(Rückkehr zum DeskTop) und 'OK' (Start des Kopierprozesses) zu.

GEO*BOOT

Unterstützt 1541/71/81 Diskformate

Erfordert eine 1541 oder 1571 und ein weiteres Laufwerk

Engagierte GEOS Freunde haben viele upgrade features (Verbesserungen) gefordert und erhalten seit GEOS herausgekommen ist und GEOS V2.0 ist Berkeleys feinstes. Eine der letzten Zufügungen ist die (begrenzte) Unterstützung der 1581, wo sie allerdings nur als Datenlaufwerk eingesetzt werden kann. Das ist zwar in Ordnung, aber die Benutzer wollen volle Unterstützung, sie wollen GEOS direkt von der 1581 booten und den vollen Geschwindigkeitsvorteil ihres Laufwerks ausschöpfen. Unser GEO*BOOT- Utility bringt ALLES, was ernsthafte GEOS-Besitzer wollten. Mit GEO*BOOT kann GEOS kopiert und von einer 1581, 1541 oder 1571 (echtes 1571-Format) gestartet werden!

Aus dem Maverick Hauptmenü 'GEOS TOOL KIT' wählen und <RETURN> drücken. Folge den Bildschirmhinweisen und auf dem neuen Menü zwischen 'GEO*BOOT 64' und 'GEO*BOOT 128' wählen und wieder mit <RETURN> bestätigen. Nach Auswahl der 128'er Version wird man gebeten, die 40/80-Zeichentaste zu entriegeln (40-Zeichen!!) und dann den RESET- Knopf zu drücken (nicht ausschalten!!!). Auf dem neuen Menü erscheint:

Install GEOS 2.0: Bevor diese Option gewählt wird, muß das GEOS System komplett installiert, konfiguriert und getestet worden

sein. Dann stelle Quell- (1541/71) und Ziel- (1541/71/81) Laufwerk ein (s.u.). Auf Anforderung ORIGINAL GEOS

SYSTEMDISK (V2.0, Disk 1, Seite A) mit Schreibschutz (!!!) ins Quell- und irgendeine (auch neue) Disk ins Ziellaufwerk

einlegen; <SPACE>. Zuerst wird die Zieldisk entsprechend dem Lw-typ formatiert (1571 User werden gefragt, ob sie

einseitig '1541', oder zweiseitig 'echt 1571' formatieren wollen), dann beginnt der Übertragungsprozeß. Sollte

während dessen ein Basic Reset passieren, handelte es sich entweder um keine Originaldisk oder um ein verändertes

Original. Nach ca. 3 Minuten erscheint die 'fertig' (Installation Complete) Meldung. Auf der Zieldisk findest Du ein

(128'er) oder 3 (64'er) Files. Das sind die convertierten Files einschließlich Fastloadern. 64'er Version laden durch

LOAD"*",GA,1 , die 128'er durch Reset oder BOOT ON U....

Um das convertierte GEOS richtig zu betreiben, mit Geos oder Maverick F.C. (filecopier) Desktop, Eingabetreiber,

Druckertreiber übernehmen, sowie die gewünschten Applikationen.

Source Device No: voreingestellt 8, kann bis 11 eingestellt werden. Allerdings muß in diesem Tool die GA (Geräteadresse)

hardwaremäßig eingestellt werden!

Target Device No: voreingestellt 9, kann auf 8 bis 11 eingestellt werden.

F1/F3: Directory

F8: bootet Disk

Quick File Copier:

Unterstützt 1541/71/81 Diskformate

Erkennt und benutzt automatisch 1764/1750 oder den 64K VideoRAM

Um irgendwelche Files von Disk A auf Disk B zu übertragen, greift der Commodore User zum File Kopierer. Unser Quick File Copier schiebt Programm- und sequentielle Files zwischen der 1541, 1571 und 1581 hin und her, dabei wird auch das echte 1571 Format oder 1581'er Unterverzeichnisse unterstützt. Dabei wird optimal 'beschleunigt', mindestens so schnell wie irgendein anderer Filekopierer. Viel Spaß!

Wenn Du mit diesem Kopierer arbeitest, denke daran, daß Filekopierer für gewöhnlich nicht sehr gut mit geschützter Software 'können'. Selbst wenn Du mit unserem 'Single Drive Fast Copier' eine 'saubere' Kopie deiner geschützten Software gemacht und mit Parametern nachbearbeitet hast, ist das keine Garantie, daß die Kopie problemlos läuft.

Viele Programme kommerzieller Software benutzen den Disketten Direktzugriff um Blöcke oder sogar Datenfiles (z.B. die Maverick Parameter) zu laden. Solche Programme sind nur durch Disk-kopieren kopierbar. Der 'File Copier' kann nur solche Files kopieren, die gültige Directoryeinträge besitzen. Alle Daten, die nicht im Directory verzeichnet sind, werden außen vor gelassen. Ein anderer Punkt: hier muß eine ordentlich formatierte Zieldisk vorliegen. Für Deinen Komfort haben wir noch einen 30-Sekunden-Formatierer (zum Formatieren und Verifizieren) beigelegt.

Aus dem Hauptmenü 'Quick File Copier' <RETURN> führt zum Untermenü:

Two Drive Quick File Copier (schneller 2-Lw-Kopierer):

Die 1581-Optionen sind (manchmal) leicht unterschiedlich zu den der 1541/71 und werden deshalb gesondert aufgeführt; wenn nichts vermerkt ist, sind die Optionen genau gleich. Die Menüpunkte von oben:

Copy Files: startet, nachdem Optionen korrekt gesetzt wurden

Source Drive: Quell-Laufwerksnummer (8 bis 11) unter der das Laufwerk ansprechbar ist (soft oder hard). Der Laufwerkstyp

wird automatisch erkannt.

Subdirectory of Source (1581): Voreingestellt ist OFF (Aus), solange keine 81'er als Quell-Laufwerk eingestellt ist. Mit dieser

Option können Unterverzeichnisse -soweit vorhanden- gelesen werden: Auswahl 'Subdirectory' <RETURN>.

Unterverzeichnisse werden zwischen Pfeilen angezeigt. Sowohl der aktuelle, als auch der vorhergehende

Directoryname werden oben am Bildschirm angezeigt. Willst Du ein Unterverzeichnis lesen, fahre mit der CRSR auf/ab

Taste auf den Namen und drücke <RETURN>. Willst Du zurück, drücke <CLR>. Um Files aus dem aktuellen

Unterverzeichnis zu kopieren, 'Pfeil-links-Taste' drücken. Dieses Unterverzeichnis bleibt solange aktiv, bis

dieser Menüpunkt wieder aufgerufen wird.

Dest.Drive: ändert Ziellaufwerk (8 bis 11). s.o. Subdirectory of Dest.: s.o. Man kann mit entsprechender Einstellung auch Files

von einem Unterverzeichnis in ein anderes (der gleichen Disk) kopieren.

Save Skew (1541/71): Die Art und Weise mit der das Commodore Disk Lw. jeden einzelnen Sektor Daten auf die Scheibe

speichert, nennt man 'interleave' oder 'Skew'. Die normale Skew-Rate (1541) ist 10. Das

bedeudet, DOS beginnt z.B. Sektor 0 einer 21-Sektor-Spur (0 bis 20), addiert 10, schreibt Sektor 20, addiert 10

(macht 30, zieht davon die Maximalzahl der erlaubten Sektoren (21) ab, gibt 9), schreibt Spur 9, addiert 10,... Der Skew

ist direkt mit der Geschwindigkeit verbunden, mit der Diskdaten zum Computer gesendet werden können. Das

normale 1541 DOS zieht den Faktor 10 vor, für die kürzest mögliche Ladezeit. Nun gibt es aber Schnell-Ladesysteme,

die die Ladezeit deutlich verkürzen, sie arbeiten mit geringeren Zahlen. Z.B. arbeitet die 1571 im 128'er Modus mit

Faktor 6, im 64'er Modus dagegen mit 10 (also nicht optimal). Wenn Du mit Deiner 1571 Files kopieren willst, warum

dann nicht den Skewfaktor auf 6 setzen (128'er)? Das wird die Ladezeit deutlich vermindern. Die Skewrate einiger

anderer Kopierer ist: Fastload Cartridge (10), Mach 5 (10), Super Snapshot mit 1541 (5 bis 10), - mit 1571 (5), Warp

Speed (6), Quick Load (9 oder 10), Chip Level Design's Burst ROM (5), Pro DOS unglaubliche 1 bis 5! Du kannst mit

Deinem Lieblings-Fast-Kopierer experimentieren.

Format Dest: Diese Option erlaubt, eine Diskette zu initialisieren oder zu formatieren. Zum formatieren kann eine ganz neue,

oder eine bereits benutzte Diskette genommen werden, auf der dann alle Daten unwiederbringlich verloren gehen.

Das Ziel- (Destination-) Laufwerk (voreingestellt #9) wird die Formatierung ausführen. Nach Auswahl diesen Punktes,

die zu formatierende Diskette einlegen und den Diskname (bis 16 Zeichen lang), Komma, ID (zwei Zeichen lang)

<RETURN>. Du wirst aufgefordert alles zu überprüfen und dann 'Y' (= Yes) zu drücken. Das Formatieren dauert etwa

30 Sekunden und kehrt automatisch zum File Copier Menu zurück. Erscheint die Meldung 00,ok,00,00 ist alles in

Ordnung. Ist Dein Ziellaufwerk eine 1571, wirst Du gefragt, ob Du einseitig (1541'er Format) oder zweiseitig ('echtes'

1571'er Format) formatieren willst.

Softwire Drives: s.o. (Laufwerksadresse 'soft' ändern)

F1/F3: Directory

F5: Diese Funktion sendet Disk Kommandos an die Laufwerke, voreingestellt ist Quell-Lw. (Anzeige: 'S>'). Auf Ziellw.

(Anzeige: 'D>') umschalten durch '#' und <RETURN>. Diese DOS-Wedge ersetzt mit S> bzw. D> den OPEN 15,8,15," -Teil

der Anweisung. So lautet z.B. der Befehl zum löschen: S>S0:Filename. Alle anderen Befehle arbeiten entsprechend

(siehe Anleitung für Laufwerk für vorhandene Befehle)

F7: Ausgang nach BASIC, besonders für 1581-Besitzer. Man liest sich in eine Partition (gewünschter Tiefe) und geht mit

F7 nach BASIC. Dort bleibt die letzte Partition (Unterverzeichnis) für die normalen DOS Kommandos aktiv.

RESTORE: kehrt von irgendwelchen Unterbildschirmen zum 'File copier' Hauptmenü zurück. War gerade ein Laufwerk aktiv, muß

es danach durch aus- und wiedereinschalten 'reset' werden (um Diskettenschaden zu vermeiden,

Laufwerksarretierung (drive doors) öffnen)

Copy Files: Nachdem alle Eingaben gemacht und die Zieldisk vorbereitet ist, plaziere die schreibgeschützte (!!!) Originaldisk ins

Quell-Lw. und wähle die Copy Files Option. Die Directory der Quelldisk wird eingelesen und erscheint auf dem

Bildschirm. Mit der unteren CRSR-auf/ab Taste durch das Listing scrollen. Die Optionen sind:

Space: wählt das angezeigte File aus, der Zeiger wandert automatisch eine Zeile tiefer

A: 'großer Umschalter'. Wählt alle Files zum kopieren aus, Space nimmt nun angewählte Files aus der

Auswahl heraus.

C: Copy Files: bitte 'C' nicht drücken, bevor die Disketten in den richtigen Laufwerken (Quelle/Ziel) liegen.

Die Quelldaten werden gelesen und dem Ziellaufwerk übermittelt. Wenn in der Ziel-BAM der Dateiname

schon vorhanden ist, wird man zur Eingabe eines neuen Namens (mit bis zu 16 Zeichen) aufgefordert.

Die Markierungslinien links im Bildschirm stellen je etwa 10 Sektoren dar (zur groben Orientierung). Die

Laufwerke während der Arbeit nicht stören, abwarten, bis das Menü wiederkommt!!

D: Delete Files: Ausgewählte Files können mit 'D' gelöscht/gescratcht werden. Es erfolgt noch eine

Sicherheitsabfrage. Bei Antwort 'Yes' (Ja) wird man noch gefragt, ob jedes File einzeln bestätigt

werden soll; wir empfehlen 'Yes', weil es nach 'No' keinen Weg zurück gibt (und gelöschte Files können

nur von sehr erfahrenen Disk-Doktoren gerettet werden).

F8: bootet eine Disk

Single Drive Quick File Copier:

Unser 'Single Drive Copier' arbeitet exakt wie die 2-Lw-Version. Lasse die Quell- und Ziel-Lw-Nummer gleich. Du wirst nun zahlreiche male aufgefordert, die Source- (Quell-) und Destination- (Ziel-) Diskette einzulegen. Fahre fort, bis die Kopie fertig ist und das Menü erscheint.

PARAMETER MENU

Kopierschutz hat eine lange Vergangenheit und kam so richtig auf, als Nibbler alles kopieren konnten (oder zumindest dazu gebracht werden konnten). Der heutige Kopierschutz braucht -meistens- 'Parameter'. Was ist 'Parameter'? Kopierschutz besteht zumeist aus zwei verknüpften Routinen: dem physikalischen Schutz, durch den Duplikator aufgebracht und der Routine, geschrieben durch den Programmierer, diesen physikalischen Schutz abzufragen. Ein geschütztes Programm zu kopieren, gibt zwar eine 'Arbeitskopie', aber der physikalische Schutz muß nachbearbeitet, oder die Prüfroutine umgeschrieben werden, damit die Kopierschutzabfrage 'erfolgreich' ist.

Den Schutz zu kopieren, erfordert die Untersuchung des selben mit Tools wie unserem GCR Track Editor, dann ein Spezialprogramm, das die 1541 reprogrammiert und den Schutz schreibt. Natürlich könnten wir diesen Schutz in unseren Nibbler einbauen, aber noch ein paar mehr Prüfroutinen und der Nibbler wird ein langsamer Kriecher

Der andere Weg ist, die Prüfroutine zu entschlüsseln, und das ist höchst effektiv. Wir prüfen die Prüfroutine des Programmierers und deaktivieren sie durch ein 'Patch'. Wir müssen annehmen, daß Dein (zu kopierendes) Programm die gleiche Version ist, mit der wir gearbeitet haben. Wenn nicht, schreiben wir unseren 'Patch' an die falsche Stelle ... aber glücklicherweise kommt das nur selten vor. Meistens kann das Backup als 'broken' (geknackt) bezeichnet werden. Ist der Kopierschutz geknackt, kann ein Disk-Kopierer die Arbeit vollenden.

Ist ein Programm von Anfang bis Ende im Nicht-Standard-Format ausgeschrieben, kann mehr als ein Parameter erforderlich sein. Dann müßten wir einen Spezial Copier für DIESE Disk schreiben; das Ergebnis wäre ein 'maßgeschneiderter' Kopierer. Ein maßgeschneiderter Kopierer könnte nur ein Stück Software kopieren und hätte ansonsten keinen anderen Zweck im Leben. Bitte denke daran, daß es Schutzarten gibt, die unbedingt eine Hardwareerweiterung in der 1541/41-II/71 benötigen. Weil diese Laufwerke nur 2K programmierbares RAM besitzen, können neuere Schutzsysteme mit Laufwerken von der Stange nicht kopiert werden, was sich ändert, wenn wir ein bißchen zusätzlichen Speicher zufügen. Wir können dann die Daten einer kompletten Spur auslesen und damit (fast) jedes Schutzsystem schlagen. Dazu wurden unsere RAMBoards geschaffen. Diese relativ billige optionale Hardware wird durch die Maverick Parameter Module unterstützt.

Aus dem Maverick Hauptmenü 'Parameter Menu' <RETURN>, dann mit CRSR und <RETURN> weiter wählen:

BOOT SINGLE DATA COPIER:

BOOT DUAL DATA COPIER:

BOOT SINGLE NYBBLER:

BOOT DUAL NYBBLER: (s.o.)

Mit den F-Tasten steht zur Verfügung:

F1: PARMS IN DRIVE NO.: die gewünschte Maverick Parameter Disk in das Laufwerk einlegen, das durch diese Option

bestimmt wird. Soweit vorhanden, werden zwei Laufwerke unterstützt.

F3: BACKUP IN DRIVE NO.: die BackupDisk (ggf. vorab File-kopiert) in das durch diese Option bestimmte Laufwerk einlegen

F7: LOAD MAVERICK PARAMETERS: Du wirst aufgefordert, eine Maverick Parameter Disk in das durch F1 bestimmte

Laufwerk einzulegen, dann <RETURN>. Das Laufwerk läuft an, eine Liste der verzeichneten Parameter erscheint.

PARAMETER SELECTION MENU:

Die Parametermodul-Nummer wird im Eck oben links angezeigt. Durch die alphabetisch geordnete Liste der Titel kann mit CRSR auf/ab langsam, mit CRSR links/rechts schnell gescrollt werden. Man kann zur Suche auch einen Anfangsbuchstaben eingeben: für einen Titel der mit 'S' anfängt 'S' drücken. Wenn kein Titel unter 'S' vorhanden, blinkt der Bildschirmrand, die Anzeige wird aber nicht geändert. Mit dem Cursorbalken über den gewünschten Titel gehen, <RETURN>.

Unsere Parameter sind in 10 Kategorien strukturiert, die je (leicht) unterschiedlich sind. Jeder Parameter hat sein eigenes 'tag' (Schildchen), das im unten-links Quadranten des Parameter Menüs angezeigt wird. Jedes Schildchen informiert über Parameter-Typ und wie der betreffende Titel zu kopieren geht. Verstehe bitte, daß, solange es keine andere Instruktion gibt, ein Parameter nur für die A-Seite der Kopie anzuwenden ist. Müssen zusätzliche Seiten kopiert werden, benutze den gleichen Kopierer wie für die A-Seite und KEINE Parameter.

Use Single or Dual Nybbler (then Parameter): Den Titel erst mit dem 'Single' oder 'Dual' Nybbler kopieren, dann ins Parameter Menü gehen und Titel wählen. Auf Aufforderung Kopie einlegen, <RETURN>. Wenn fertig, die Kopie testen.

Use Single or Dual Data Copier (then Parameter): Den Titel erst mit dem Single- oder Dual Fast Data Copier kopieren, weiter wie oben.

Duplicates Protection, Use Single or Dual Data Copier: Den Titel erst mit dem Single- oder Dual Fast Data Copier kopieren, weiter wie oben.

Custom Copier-1541 drives only (no previous backup needed): Den Titel aus dem Parameter Menü wählen, darauf wirst Du aufgefordert, einigemale die Quell- bzw. Zieldisk einzulegen. Wenn fertig, Kopie testen.

Use Single Data Copier Only (then Parameter): Benutze den 'Single Drive Fast Copier' (mit 1 oder 2 Laufwerken) wann immer eine Kopie von allem physikalischen Schutz 'gereinigt' werden muß. Ist die Kopie fertig, im Parameter Menü den Titel auswählen (Parameter einlesen), danach auf Anforderung die Kopie (Backup) einlegen und <RETURN>.

Custom Copier (1541/71 Drives, no previous backup needed): Titel aus dem Parameter Menü wählen, Aufforderungen zum Diskwechseln befolgen.

Use Single Nybbler Only: Manchen Schutz kann man mit dem 'Single Drive Nybbler' überlisten, - einfach 'Single Drive Nybble'-n.

Dupes Protection, Use Single or Dual Nybbler: Titel (bzw. Schutz) mit Single- oder Dual Drive Nybbler kopieren, zum Parameter Menü zurückkehren, Titel wählen, auf Anforderung die Kopie einlegen, <RETURN>, 'fertig'.

Single Nybbler Density On: Originaldisk mit 'Single Drive Nybbler' und eingeschalteter (ON) 'Density Detection' kopieren. Alle Seiten gleich behandeln, die Endspur auf '40' setzen. Ist die Kopie fertig, zum Parametermenü zurück, Titel wählen, Bildschirmanweisungen folgen um Lauffähigkeit der Kopie zu erreichen.

8K RAM Needed: Unglücklicherweise sind manche Schutze soweit entwickelt, daß sie sowohl Hard- als auch Software für das kopieren BENÖTIGEN. Parameter die diesen Punkt anzeigen, benötigen die 8K RAM Erweiterung im Laufwerk.

Unsere Parameter sollten mit irgendeiner 8K RAM Erweiterung im Laufwerk zusammenarbeiten (wie unserem RAMBoard, oder Rapidos Pro von Chip Level Designs, oder Eigenbau). Denjenigen, die RAMBoard noch nicht besitzen, sei versichert, daß es sehr einfach zu installieren ist. Mit einfachem Haushaltswerkzeug und einer halben Stunde Zeit sollte es hinhauen. Wer mit zwei Laufwerken und diesen Parametern arbeiten möchte, braucht natürlich für beide die 8K.

Manche Parameter fordern dazu auf, die Laufwerksgeschwindigkeit zu verändern. Wir konnten das leider nicht umgehen, haben aber ein 'Speed Control Device' entwickelt, das sich sehr leicht einstellen läßt. Ist eine Geschwindigkeitsänderung notwendig, mache Deine Kopie und setze die Werte dann wieder auf Normal zurück.(s.u.: Drive Speed Setting)

Nach Auswahl eines Parameters, der die 8K RAM erfordert, erscheint ein Standardmenü. Wie gewohnt mit CRSR auf/ab und <RETURN> auswählen:

Copy Disk Side: Beginne kopieren mit der ausgewählten Seite. Erfordert, daß die Original- und Kopie- Disk mehrfach

gewechselt wird (Bildschirmanweisungen beachten). Mit 'Verify' ON, kann die Kopierzeit länger dauern, als Du sie

vielleicht erwartest. Das kommt wegen der umfangreichen Lese-/Schreibroutinen, die in diese Parameter

eingebaut sind. War der Kopierer beim Schreiben einer Spur nicht erfolgreich, wirst Du darüber informiert; benutze

dann eine andere Zieldisk und Du wirst hoch zufrieden sein.

Source Dev No.: Quell-Lw-Nr. (8 bis 11). F2 definiert Speicherbereich für RAM in diesem Lw

Target Dev No.: Ziel-Lw-Nr. (8 bis 11). F4 definiert Speicherbereich für RAM

Speed Check: Benutze diese Option, bevor ein Kopierversuch mit irgendeinem 8K-Parameter unternommen wird. Beginne, indem

Du eine leere Disk ins Ziel- (Target-) Lw legst (Schreibschutzkerbe offen) und drücke <RETURN>. Darauf erscheinen

zwei senkrechte Balken und ein Pfeil-Zeiger mitten am Bildschirm. Der grüne hervorgehobene Bezirk im linken Balken

zeigt den optimalen Lw-Geschwindigkeitsbereich. Der rote hervorgehobene Bezirk im rechten Balken zeigt den

erforderlichen Geschwindigkeitsbereich für diesen speziellen Parameter. Der Pfeilzeiger zeigt die aktuelle

Laufwerksgeschwindigkeit an. Du solltest immer in Betracht ziehen, daß es schleppend voran geht, oder ein Lapsus

passiert, weil dieser Kopierer so empfindlich ist. Steht der Pfeilzeiger nicht innerhalb des roten hervorgehobenen

Bereichs: siehe unten 'Drive Speed Setting').

Softwire Drive: s.o.

F1/F3: Directory

F2/F4: Speicherplatz für RAMBoards (siehe oben)

F5: Wählt gewünschte Diskseite zum kopieren. Programme über mehrere Seiten müssen sorgsam gewählt werden.

F6: schaltet die Option Lese-/Schreib- Verify EIN/AUS (ON/OFF). Wir empfehlen OFF, solange keine Fehler auftreten (erst

dann ON und nochmals probieren).

F8: bootet Disk

Drive Speed Setting:

Wann immer ein 8K Parameter aufgerufen wird, bekommst Du einen Tip für die erforderliche optimale Laufwerksgeschwindigkeit über die 'Check Target Speed' Option, die auf dem Menübildschirm eines jeden Parameters erscheint. Nach jedem Kopierversuch muß die Laufwerksgeschwindigkeit zurückgesetzt werden.

Eine Kopie mit veränderten Geschwindigkeiten ist nicht schwierig, kann aber dennoch lästig sein. Wir haben ein 'Speed Control Device' für $24.95 (+$3.50 Versand) entwickelt, der für die 1541/41 II keine, und für die 1571 nur geringe Lötarbeiten erfordert. Damit sind Änderungen einfachst zu bewerkstelligen.

Aus dem Menü 'Target Speed' wählen, um die Diskette (auf Makellosigkeit der Toleranzen) zu prüfen, die als Ziel dienen soll. Liegt der Pointer deutlich außerhalb des rot hervorgehobenen Bereichs, entweder eine nächste Disk testen, oder falls notwendig die Lw-Geschwindigkeit justieren. Dafür einen kleinen Uhrmacher-Schraubenzieher benutzen, während man den Pfeilzeiger beobachtet (natürlich Ziel-Disk im Laufwerk lassen!).

Wir kennen zwei Grundtypen von Laufwerken, die beide mit dem Speedpoti einzustellen gehen. Aber das 1541-II hat keinen und deshalb haben wir für dieses spezielle Problem keine Lösung.

Toggle Door Model: Gehäuse öffnen, dann die zwei Halteschrauben des RF Metallschildes lösen, Schild beiseitelegen. Suche das braune PC Board (zur Gerätefrontseite hin), auf dem sich das Geschwindigkeitspoti befindet. Das ist meist blau und gelb, oben mit einem Kreuzschlitz. Während das Speed Check Programm läuft, mit sehr kleinen Drehungen vorsichtig ändern. Sei geduldig und arbeite äußerst genau, denn die korrekte Geschwindigkeit ist hier sehr kritisch! Nach Fertigstellung der Kopie das Drive wieder auf STANDARD Werte zurückstellen.

Spring Door Model: Gehäuse öffnen, Chassis aus dem Bodenteil lösen (6 Schrauben) und vorsichtig senkrecht auf die Seite stellen. Auf der Unterseite des Chassis, nahe der Front, findest Du ein kleines rundes Loch mit Schlitz: Poti für Geschwindigkeitskontrolle. Während das Speed Check Programm läuft, mit sehr kleinen Drehungen vorsichtig ändern. Sei geduldig und arbeite äußerst genau, denn die korrekte Geschwindigkeit ist hier sehr kritisch! Nach Fertigstellung der Kopie das Drive wieder auf STANDARD Werte zurückstellen.

Andere Kommandos im Parameter Menü:

F1: Directory

F2: Ausgang nach BASIC. Reset zur Originaleinschaltmeldung. Mitunter muß das Laufwerk aus- und wieder eingeschaltet

werden, um es zu re-initialisieren.

F8: bootet Disk

Parameter Printout: Auf vielfachen Wunsch enthält Maverick eine Ausdruckfunktion für das Parameter Menü. Der Ausdruck

enthält ein Listing der Programme mit den Kopieranweisungen. Nach dem lesen des entsprechenden Modules C= und P

(gleichzeitig) drücken., Die Daten werden nach Eingabe der Geräteadresse (meist '4') im Commodore 801/1525

-Format ausgegeben. Die Frage nach den 'line feeds' in der Regel mit 'NO' beantworten.

Der Ausdruck kann mit 'A' abgebrochen, mit 'P' unterbrochen undmit 'C' weitergeführt werden.

RESTORE: kehrt zum Haupt-Parameter Menü zurück

RUN-STOP/RESTORE: kehrt in den Bildschirm zurück, in dem eine (andere) Maverick Parameter Disk eingelesen wird.

Wir haben eine 'Parameter Versions-Erkennung' eingebaut. Beginnend mit Modul #2, können wir in den meisten Fällen erkennen, wenn eine Programmversion anderst ist als die, mit der wir abeiteten (s. Bildschirmanzeige). Wir werden, wenn immer möglich, für ein Update sorgen. Unser Programm kann auch viele bekannte Versionen von Schutzen prüfen, die richtige automatisch wählen und ausführen. Dies wird mehr und mehr benutzt, auch wenn Du es noch nicht kennst.

Gerne bekommen wir Verbesserungsvorschläge von Dir, vielleicht vermißt Du etwas, woran sich auch andere Leute freuen können!

DIRECTORY EDITOR

Unterstützt die 1541/71/81 Diskformate

Der Directory Editor ist ein Werkzeug, das auf praktisch jeder ungeschützten Diskette sowohl Standard- als auch GEOS- Directories umordnen kann. Es kann hand- oder alphabetisch sortieren, separieren, umbenennen, Dateien (ent-) schützen, mit Unterverzeichnissen (1581) umgehen. Wenn Du einmal damit vertraut bist, wird es wohl Dein Favorit sein.

Aus dem Maverick Hauptmenü 'Directory Editor' auswählen; das neue Menü enthält:

Read Directory: Liest das Directory der Diskette im aktuellen Laufwerk, das oben am Bildschirm angezeigt ist. (1581:

root-directory, solange man nicht in den 'Partition Mode' geht.) Die gelesene Directory wird im Edit-Puffer gehalten,

bis sie durch eine neue überschrieben wird. (1581: Wenn Du die blinkenden Pfeile neben einen Partition-Name

-kenntlich am 'Filetyp' SUB- stellst und <RETURN> drückst, wird diese in den Puffer eingelesen. Rückkehr in das

vorhergehende oder Root Directory: <RESTORE> führt in das Editor Menü zurück, dort mit 'Disk Command' Disk ins

root-Directory initialisieren und mit 'Read Directory' -wie oben beschrieben- weiterfahren.)

Edit Directory: Die eingelesene Directory nach Wunsch bearbeiten (s.u.).

New Drive: Laufwerk wechseln (8 bis 11)

F1: Directory

F5: Disk Kommando

F8: Disk booten

Edit Directory:

Befindet sich eine Directory im Puffer, kannst Du mit dieser Option loslegen. Cursor nach Wunsch plazieren, <RETURN>. Die Directory Deiner Arbeitsdisk im Inputpuffer erscheint am Bildschirm links. Die einzelnen Optionen sind:

Edit Changes: oben am Bildschirm Informationen über die Diskette und das File, auf das die Zeiger zeigen. Mit der unteren

CRSR-auf/ab-Taste Filenamen zum bearbeiten anwählen, 'E' (wie editieren) drücken und die Änderung eintippen. Mit

CRSR oder <RETURN> kann folgendes gewählt werden:

Current Disk: Der Diskname (bis 16 Zeichen) kann neu eingegeben werden. Wenn fertig, mit CRSR zum nächsten Punkt.

ID: Eine Standard-ID besteht aus 5 Bytes. Die ersten beiden sind die eigentliche ID (beim formatieren angegeben), das 4.

und 5. sind die CBM DOS ID Bytes. Diese und das leere 3. können durch 5 beliebige Zeichen ersetzt werden.

File Type: ändert den Filetyp. Beachte bitte, daß bei Änderung von z.B. REL nach PRG keine Datei zu einem Programm wird; es

ist lediglich 'Kosmetik' und kann evt. dazu führen,daß Files nicht korrekt geladen werden (A.d.Ü.: 'Schutz vor

neugierigen Blicken'). Experimentiere mit einer Arbeitskopie, wenn Du unsicher bist. Die Filetypen werden mit der

unteren CRSR-links-rechts-Taste geändert.

File Name: Einem File einen neuen Namen (bis 16 Zeichen lang) geben. Die Zeichen *, ? oder " bleiben tabu.

Status: Damit kann ein File 'verschlossen' oder 'geöffnet' werden. Ein 'verschlossenes' File kann mit normalen DOS

Kommandos nicht gelöscht werden, - es sei denn durch Formatierung.

Pfeil-links-Taste: bricht 'Edit Changes Mode' ab.

Buffer Edit Mode:

Das Fenster unten links am Bildschirm ist Dein Eingabepuffer (in das die Directory eingelesen wird) unten rechts der Ausgabepuffer (zum zurückschreiben der Directory). Mit CRSR auf/ab durch die Listings scrollen, mit CRSR recht/links das (aktive) Fenster wechseln. Die Optionen im AKTIVEN Puffer sind:

HOME: springt zum ersten Eintrag des Directory-Listings.

SPACE/SHIFT-SPACE: wählt den angezeigten Titel aus. Mit SPACE wandert der Zeiger einen Platz nach unten, mit SHIFT-SPACE

nach oben. Es kann ein Titel, ein Block von Titeln oder mehrere Blöcke zum Übertrag in den anderen Puffer gewählt

werden.

A: kehrt die Kennzeichnungen (gewählt/nicht gewählt) um.

S: sortiert alle hervorgehobenen (gewählten) Titel nach einer Sicherheitsabfrage ('are you sure?'). Der sortierte Block

wird genau wieder dort hin geschrieben, wo er auch vorher stand, ausgenommen es wird nach Numerischer oder

Alphabetischer Folge sortiert.

M: schiebt die hervorgehobenen Titel ins andere Fenster. Den Pfeilzeiger unter den Block positionieren, unter dem der

Einschub erfolgen soll und 'M' drücken. Wurde der Zeiger nicht im anderen Fenster positioniert, wenn der M-Befehl

gegeben wird, werden die Blocks (voreingestellt) unten im inaktiven Puffer angefügt.

D: fügt eine Trennlinie im Listing ein. Zeiger unter die Position stellen, an der die punktierte Linie eingefügt werden soll,

'D' drücken. Diese Linie ist 'kosmetisch' und nimmt der Diskette keinen Speicherplatz (außer im Directory).

D: shift-D wie oben, es kann aber als Trennzeichen jedes druckbares Zeichen verwendet werden. (shift-D und dann

beliebige Taste)

W: schreibt nach der Sicherheitsabfrage ('are you sure?') die veränderte Directory auf die Diskette. ACHTUNG: alle Titel,

die nicht im Ausgabepuffer stehen, werden nicht nur nicht geschrieben, sondern gelöscht! Automatisches Validieren

findet statt, wenn andere als Trennfiles zurückbleiben. Ansonsten wird man danach gefragt und kehrt in den

Editmodus zurück.

F1/F3: schnelles hoch/runter scrollen durch Filepuffer

L/U: Schutz vor Überschreiben anbringen (L) bzw. löschen (U)

CLR: alle hervorgehobene Blöcke (ausgewählten Files) werden zurückgesetzt ('deselektiert')

RESTORE: kehrt zum Hauptmenü zurück. Deine Arbeit wird dadurch aber nicht ruiniert, sondern steht nach erneutem Aufruf

des 'Directory Editor' unverändert wieder zur Verfügung.

/: 1581-Benutzer können im Puffermodus mit '/' die Root-Directory einlesen. Es handelt sich hier aber um einen

Abbruchbefehl, der die bearbeitete Directory NICHT schreibt, bevor die Root gelesen wird.

Bevor ein neues Directory gelesen wurde, kannst Du auf die vorhergehende Disk zurückgreifen, selbst wenn die Directory schon zurückgeschrieben war. Bei Wiederanwahl der 'Edit Directory' -Funktion kehrt man dorthin zurück, wo man zuvor aufgehört hat. Nach den weiteren Änderungen einfach wieder mit 'W' auf Disk schreiben.

6502 M/L Monitor (6502 Maschinensprache Mon.)

Unterstützt jedes Commodore-kompatible Disklaufwerk

Aus dem Maverick Hauptmenü '6502 M/L Monitor' wählen, <RETURN>. Im Monitorbildschirm mit der unteren CRSR auf/ab Taste weitere Option wählen und mit <RETURN> ausführen. Unser Monitor ist im Speicherbereich frei verschiebbar ('relocatable'): Wenn 'Monitor=$X000' hervorgehoben ist, wird mit <RETURN> die gewünschte Hex-Adresse eingestellt.

F1: Directory

F8: bootet Disk

OPTION 1: führt gewählten Monitor aus (siehe Monitor-Kommandos)

OPTION 2: speichert gewählten Monitor auf eine Arbeitsdisk mit entspr. Autobootfile unter 'MONX000' (LOAD"MONX000",8,1). Die

Op-Code Listings werden unter 'OPS' gespeichert, der Monitor als 'X0'.

OPTION 3: editiert das Op-Code-File (OPS) auf irgendeiner Arbeitsdisk

CRSR auf/ab: langsam durch Liste scrollen

CRSR links/rechts: schnell durch Liste scrollen

RESTORE: zurück ins vorhergehende Menü

SPACE: erlaubt Änderung der Mnemonic

A: ändert schrittweise Adress Modus (A.d.Ü.: ???)

HOME: setzt CRSR an den Anfang ($00-Byte)

S: speichert geänderten Op-Code-File auf Arbeitsdisk zurück

6502 M/L Commands:

R: zeigt Status von A, X, Y Register und Stackpointer

G: 'G XXXX' - führt Code ab $XXXX aus

X: Rückkehr ins BASIC

M: 'M FFFF LLLL' - zeigt in Hex den Speicherinhalt zwischen den beiden Adressen

Klammeraffe: sendet Diskbefehl. Ohne weiteres Zeichen wird Diskstatus ausgelesen, mit $ die Directory.

SPACE: pausiert Directory-Listing

RUN/STOP: bricht Directory-Listing ab

L: lädt File von Disk. L"Filename",GA,Hexadr(optional). Z.B. L"File",08,C000 (wenn Adresse angegeben, wird auch dorthin

geladen!)

V: Verify des File im Speicher. Syntax siehe L(oad). Verify Error wird durch '?' angezeigt.

S: speichert File. S"Filename",GA,Startadresse,Endadresse+1. Beispiel: S"File",08,C000,D001

F: füllt Speicherbereich mit $XX-Byte. Z.B.: F C000 C100 XX

D: disassembliert Speicherbereich. D C000 C100 (Endadresse optional)

Mit CRSR auf/ab durch Listing scrollen. Editieren in Mnemonics ist möglich.

P: schickt Code an den Drucker (nur 1525 kompatibel!)

'PD Anfadr Endadr' sendet disassembliert

'PM Anfadr Endadr' sendet Hex-Listing

A: 'A XXXX' assembliert Code beginnend bei $XXXX (auf richtig plazierte Leerfelder achten!)

H: 'H Anfadr Endadr Suchwort' sucht im angegebenen Bereich nach dem bis zu 8 Byte langen Suchwort, das aus ASCII

und Hex gemischt bestehen kann. ASCII - Text muß in Anführungszeichen stehen

T: 'T Anfadr Endadr Neuanfadr' verschiebt den Speicherinhalt zwischen Anfangsadresse und Endadresse nach

(beginnend bei) NeuAnfang

TC: wie T, verschiebt aber ins Laufwerk

TD: wie T, holt Laufwerksspeicher in den Computer

TF: wie T, Schnellversion des TC Befehles. Warnung: Die NeuAnfAdr kann im Laufwerk nicht zwischen $0001 und $0147

liegen!

O: der Buchstabe 'O', gefolgt von GA (8, 9, A, B) führt in den Laufwerksmonitor für angegebenes Laufwerk. Die oben

aufgeführten Befehle gelten auch im Laufwerksmonitor (nur 'P' ist inaktiv, in diesem Fall Code erst zum Computer,

dann zum Drucker senden). O <RETURN> führt zurück in den Computerspeicher (eine eckige Klammer als Prompt zeigt

Modus Laufwerksmonitor, ein Punkt den Computermodus)

Um zusätzliche ROMs oder den VDC zu assemblieren/disassemblieren, ändere Speicherstelle $0002 als wäre sie $0001. $0001 kann durch diesen Monitor nicht geändert werden.

$0002: $37 = All ROMs in (alle ROMs ein)

$36 = Bank out BASIC ($A000-$BFFF) (blendet Basic aus (?))

$35 = Bank out BASIC and Kernal

$30 = Bank in RAM under $D000 (blendet RAM unter $D000 ein (?))

$31 = Bank in Character-ROM under $D000

Upgrades & Goodies

Menu Selection and Options:

In dieser Abteilung finden sich unsere neuesten Zusätze. Mit 'Upgrades and Goodies' im Disklaufwerk kommen C64/C128 Besitzer mit Super Snapshot V4/V5 nach einschalten oder Reset direkt ins Maverick Hauptmenü. Im Menü mit unterem CRSR auf/ab Punkt anwählen, mit <RETURN> ausführen.

Andere Befehlstasten:

F1: Directory

F2: Ausgang nach BASIC (oder Super Snapshot)

F5: Disk Kommandos

F7: nächste Menüseite

F8: bootet Disk

Custom Menu Construction Procedure: (Menü-Erstellungs-Werkzeug)

Wir von Kracker Jax freuen uns über Eueren Enthusiasmus und die Unterstützung, die Ihr Maverick gegeben habt. Als Dankeschön haben wir den Menü-Auswahl-Prozeß überarbeitet. Sowohl auf der Maverick V5 Master Programm Disk als auch auf der Upgrades & Goodies Disk sind die Menüauswahlen entsprechend der Directories aufgebaut. Alle Auswahlen können auf irgendeine Arbeitsdisk gespeichert und durch irgendein Commodore-kompatibles Laufwerk wieder geladen werden. Diejenigen von Euch, die ein wenig über Pointer und Startadressen bescheid wissen, können das 'Configure Menu Utility' (Menüaufbau Werkzeug) aus dem 'Upgrade & Goodies Menü' benutzen. Alle Werkzeuge um Pointer und Adressen zu bestimmen, sind in Maverick selbst enthalten. Hab' Spaß daran!

Untersuche mit dem 'Quick File Copier' die Directories der Maverick Master Disk und der Upgrade & Goodies Disk. Entscheide, welche Menüteile Du auf Deiner neuen Arbeitsdisk wünschst, dann folge den Schritten:

Benutze den 'Quick File Copier', Deine Arbeitsdisk (5.25" oder 3.5") zu formatieren. Danach die Upgrades & Goodies Disk einlesen und folgende Files kopieren:

UPGRADES! (muß als erstes auf der Arbeitsdisk stehen!)

CSET

OPS

UPG

RUNBASIC (verschiebbares BASIC Start-up Programm: Loadadresse=Bootadr)

BASIC CONFIGURE (optionales Beispiel)

BASIC EXAMPLE (optionales Beispiel)

FL41 (für 1541'er) oder

FL71 (für 1571'er) oder

FL81 (für 1581'er) oder

FLNO! (für irgendein anderes Commodore-kompatibles Laufwerk)

(wähle aus den obigen FastLoadern nur einen für diese Arbeitsdisk!)

CONFIGURE

File-kopiere nun die gewünschten Module mit ihren entsprechenden Files auf Deine Arbeitsdisk. Die Files mit dem Pfundzeichen vor dem Namen (BASIC CONFIGURE und CONFIGURE) sind die aktuellen Bootfiles. Alle Files eines Modules sind zwischen gepunkteten Linien zusammengefaßt.

Sind alle Module kopiert, kannst Du Deine Arbeitsdisk mit LOAD"*",8,1 starten. Das Menü wird wie das 'Upgrades & Goodies'-Menü bedient. Die 'Pfund'-Files können von BASIC aus direkt geladen/gestartet werden über LOAD"Filename",8,1.

Adding Non Maverick Selections To Your Work Disk:

(Hinzufügen von nicht-Maverick Programmen auf die Arbeitsdisk)

Für diejenigen von Euch, die über File-Pointer und Ladeadressen bescheid wissen, haben wir ein Kofigurationswerkzeug beigefügt, das die Fertigung einer maßgeschneiderten Arbeitsdisk erlaubt (unter Verwendung des Upgrades & Goodies Menü). Beginne mit obigem Abschnitt 'Custom Menu Construction Procedure'. Nachdem alle zur Sache gehörigen Files kopiert sind, kopiere Deine weiteren gewünschten Files dazu, die auch im Menü erscheinen sollen. Jetzt die neue Arbeitsdisk mit LOAD"*",8,1 starten und CONFIGURE wählen. WICHTIG: <RETURN> hier nicht nur antippen, sondern gedrückt halten, bis das neue Menü erscheint. Mit diesem Werkzeug können Loader für Deine neuen Menüpunkte konfiguriert werden. Die Menüpunkte der Reihe nach sind:

E: Editieren. Nach Anwahl lassen sich folgende Felder am Bildschirm bearbeiten:

1) Gib' gewünschten Bootname (ohne Pfundzeichen), wie er im Menü erscheinen soll, ein.

2) Handelt es sich um ein Maschinenspracheprogramm, tippe den/die Namen (bis 5) jeden Files EXAKT ein. Braucht

Dein Programm einen BASIC-Starter, alle Filenamen -einschließlich RUNBASIC (das schon vorab kopiert wurde)-

eintippen. WICHTIG: das letzte eingetippte Programm MUß das BASIC-Programm, das gestartet werden soll, sein.

3) Gib' eine Ladeadresse für jedes File ein (oder belasse voreingestelltes $0000 für die normale Ladeadresse)

4) Eingabe, ob Fastloader zu installieren ist. Mit <SPACE> zwischen Yes/No (Ja/Nein) hin- und herschalten. Bei anderen

Laufwerken als 1541/71/81 'No' wählen!

5) bei Maschinenspracheprogrammen die Startadresse in Hex eingeben. Für Programme in BASIC, $CF00 eingeben.

Comments (Kommentare): können als Gedächtnisstütze eingegeben werden (anschauen jederzeit bei Aufruf des

CONFIGURE-Files)

D: löscht CONFIGURE-File mit dem gerade gearbeitet wird (sofern vorher abgespeichert)

S: speichert COBFIGURE-File mit dem gerade gearbeitet wird

B: bootet aus aktuellem CONFIGURE-File (vorher abspeichern, sonst ist Deine Arbeit verloren)

X: Ausgang zum Upgrades & Goodies Menü das gerade bearbeitet wird

Wurde einmal eine Menüoption konfiguriert, kann CONFIGURE nachträglich weiter verändert werden. Das CONFIGURE wird als Pfundz.-Filename im Upgrades & Goodies Menü ausgewählt und wieder: <RETURN> halten, wenn geladen wird.

Tips zur Optimierung der Ladezeit:

Wenn Du Deine maßgeschneiderte Arbeitsdisk nach der Ladezeit optimieren willst, geht das am besten über den Skew-Faktor unseres 'Quick File Copier'.

Ohne Super Snapshot, mit 41/71'er Fastloadfile: 1541'er Skew 5; 1571'er '4'

Mit Super Snapshot, ohne Fastloadfile: 1541/71'er Skew 5

Mit den meisten anderen Schnelladern 1541/71'er Skew 6 (ggf. probieren)

Directory Recovery (Directories wiederherstellen):

Unterstützt 1541/71/81 Diskformate

Super Snapshot deaktivieren!

Hast Du jemals versucht, eine wichtige Arbeitsdisk zu laden und das Laufwerk lief an, verfiel in Hektik, klapperte und blinkte Dir letztendlich mit der roten LED zu? Ist es Dir nicht auch schon passiert, daß Du eine Diskette 'short' (ohne ID) formatiertest und dann feststelltest, daß es sich um die wichtigste Deiner Datensammlungen handelte? Wenn Du Deinen Commodore schon länger besitzt und benutzt, kann die Antwort einfach nur JA heißen.

Unser 'Directory Recovery' Programm ist dazu entwickelt, daß der durchschnittliche Commodore-User seine eigenen Disketten reparieren kann, wenn das undenkbare passiert. Dieses Programm macht automatisch, was einem erfahrenen Diskdoktor stundenlanges vorsichtiges operieren bedeutet. Das erste Mal, wenn Du es benutzen MUßT, wirst Du es richtig schätzen, wenn es Dir zur Verfügung steht.

Aus dem 'Upgrades & Goodies' Menü 'Directory Recovery' wählen (CRSR) und mit <RETURN> ausführen. Im neuen Menü erscheint:

Create New Directory: WICHTIG: Bevor Du mit dieser Option arbeitest, mache mit dem entsprechenden 'Fast Copier' eine Kopie

der defekten Disk, arbeite NICHT mit dem Original. Plaziere die Kopie der defekten Disk -ohne Schreibschutz- in Dein

Laufwerk #8 und starte diesen Punkt mit <RETURN>. Das Programm wird jedes Unterverzeichnis, jedes File und jedes

Filesegment erkennen und retten.

Ist die Reparatur fertig, erscheint eine Fileliste und Du wirst zur Eingabe aufgefordert:

Pfeil-links-Taste: Esc: Rückkehr zum 'Recovery' Menü

T: Umschalter für Filetyp. Wurde ein Programm oder sequentielles File gerettet, wird es als 'File 1', 'File 2', 'File

3' u.s.w. in die Directory geschrieben. Andere Filetypen können nicht wiedergeholt werden.

Unterverzeichnisse -soweit vorhanden- werden -wenn möglich- gerettet und mit dem Namen des Directory

Headers des Unterverzeichnisses angezeigt. Sei Dir bewußt, daß auf diese Weise längst vergessene

(gescratchte) Files wieder auftauchen können. Du mußt nun File-kopieren, durch die einzelnen Files gehen,

die unnötigen aussortieren und die 'guten' entsprechend umbenennen. Nach der Arbeit des 'Directory

Recovery' Programms erhalten alle Files die Kennung 'PRG'. Sollten 'SEQ'-Files darunter gewesen sein, wird

der Filetyp mit dieser Option geändert. Dazu reparierte Disk (ohne Schreibschutz) ins Laufwerk, diese

Option wählen, <RETURN>. Das Directorylisting wird geladen und angezeigt. Folgende Optionen stehen zur

Verfügung:

CRSR auf/ab: bewegt Cursorbalken zum gewünschten File

SPACE/shift-SPACE: schaltet zwischen PRG und SEQ hin und her und bewegt Cursorbalken ein Schritt nach

unten/oben.

CTRL-D: löscht File aus dem Listing

W: schreibt neue Directory auf die Disk

P: druckt Directory auf 1525/801 kompatiblen Drucker

Pfeil-links: ESC: Rückkehr zum Directory Recovery Menü

Toggle File Types (ändere Filetypen): Irgendein Directory kann -ohne die 'Create New Directory' zuvor zu benutzen- gelesen

werden. Benutze diese Option, um Filetypen zu ändern oder die Directory auszudrucken. (s.o. 'Toggle File Types')

Device No.: setzt die GA des Laufwerks, das für die Reparatur dienen soll. Das Programm erkennt automatisch das Diskformat.

F1: Directory

F2: Ausgang nach BASIC. Das Laufwerk initialisiert sich entsprechend der einliegenden Disk.

F5: Disk Kommandos

F8: bootet Disk

Track & Sector Editor

Unterstützt 1541/51/81 Diskformate

Wir haben dieses Werkzeug für jene gemacht, die den Wunsch haben, die Daten auf der Diskette in deren Spur/Sektor Datenblockformat zu untersuchen. Auch ist es möglich Sektoren zu ändern und Hex- /Disassemblerlistings zu drucken. Wir meinen, der 'Sektor Editior' ist sehr einfach zu benutzen und hat alles eingebaut was man so braucht.

Wir können innerhalb dieser Anleitung keinen Kurs für das 1541/71 oder 1581 DOS Format einbauen; dafür empfehlen wir 'Inside Commodore DOS' (vergriffen), 'Anatomy of the 1541 Drive' von Abacus Software, 'The 1581 DOS Reference Guide' von uns. Sie sind am Markt die besten ihrer Art.

Wie immer: gehe vorsichtig mit diesem Werkzeug um, um irreversiblen Schaden an Deinen Arbeitsdisketten zu vermeiden. Zu Deinem Schutz empfehlen wir, Veränderungen nur auf Kopien zu machen.

Aus dem Maverick Hauptmenü 'Upgrades & Goodies' wählen, <RETURN>, dann 'Sector Editor' wählen, <RETURN>. Im Sektor Editor Menü gibt es folgende Opionen:

Edit Diskette: Cursorbalken auf 'Edit Diskette', <RETURN>. Der Editorbildschirm erscheint und bittet um Eingabe der zu bearbeitenden Spur (dezimal). Bei Verwendung einer 1541 oder 1571 ist Spur 18 (Directory) voreingestellt. Spuren können von 1 bis 35 (1541 Format) oder von 1 bis 70 (1571 Format, 1 bis 35 'Vorderseite', 36 bis 70 'Rückseite') eingegeben werden, <RETURN>. Mit der 1581 ist ebenfalls die Directoryspur (40) voreingestellt, möglich sind Eingaben von 1 bis 80. Als nächstes springt der Cursor zur Sektoreingabe, voreingestellt 00, kann jeder gültige Sektor der Spur eingegeben werden, <RETURN>.

Nun wird der gewünschte Sektor gelesen und angezeigt. Es stehen viele Befehle zur Verfügung:

SPACE: Change Byte. Das Byte, das durch den blinkenden Cursor hervorgehoben wird, kann nach drücken von <SPACE> geändert

werden (dezimal, oder nach CRSR-ab in Hex). Gib Deine Änderung ein und bestätige mit <RETURN>.

+ : liest den nächsten Sektor ein. Nach dem letzten Sektor einer Spur gelangt man zur nächsten Spur, Sektor 00.

N: nächste Spur einlesen. Nach der letzten Spur (35, 70 bzw. 80) folgt wieder die erste (01).

J: arbeitet verschieden: in der Directoryspur gelangt man mit 'J' zum ersten Linker eines gültigen Programmfiles. Dazu

den blinkenden Cursor auf die 'Track Link' stellen und 'J' drücken und man gelangt zu dieser Spur/Sektor.

In irgendeiner anderen Spur kommt man mit 'J' zum nächsten File-Link -soweit vorhanden-, der durch die ersten

beiden Positionen im Sektor angegeben wird.

T: Eingabefenster zur Eingabe einer neue Spur erscheint (Spur 1 bis 35, bzw. 70 oder 80 ist möglich). Nach der

Spureingabe erscheint die Sektoreingabe und wieder <RETURN>.

W: Sind alle Änderungen im aktuellen Sektor durchgeführt, diesen mit 'W' auf die Disk schreiben (nach

Sicherheitsabfrage), ggf. Schreibschutz entfernen.

B: Block Allocate im aktuellen Sektor. Die BAM wird entsprechend aktualisiert

D: Disassembliermodus. Der aktuelle Sektor wird unten am Bildschirm disassembliert angezeigt, der obere Teil bleibt zum

Vergleich erhalten. Alle Sektoren im Disassemblepuffer werden auf $5900 als Arbeitsadresse gesetzt und haben mit

der wahren Adresse im Speicher nichts zu tun.

SPACE: setzt Cursor ins Operantenfeld der aktuellen Zeile und erlaubt Änderung von Opcode und/oder Operant

RETURN: nach Änderung, diese mit RETURN bestätigen. War die Eingabe gültig, wird sie übernommen und der Cursor

springt zum Anfang des nächsten Opcodefeldes. War die Eingabe üngültig, werden die Originaldaten nicht

geändert und der Cursor kehrt zum Anfang dieser Zeile zurück.

W: geänderten Block zurückschreiben.

Pfeil-links-Taste: zurück zum vohergehenden Bildschirm

P: aktuellen Pufferinhalt ausdrucken (1525/801-Format)

? : Hilfe. Zeigt Umwandlungstabellen für jedes Zeichen in Hex, Dezimal, und ASCII. <SPACE> führt auf die nächste Seite,

dann zurück zu dem Punkt von wo ? aufgerufen wurde.

A: ASCII-Modus. Alphanumerischer Text kann direkt (ab Cursorposition) in den Datenanzeigebildschirm eingetippt

werden. CTRL-T in diesem Modus macht ein Cursorbackup (?), RETURN verläßt diesen Modus. Waren die Änderungen

nicht akzeptabel, lies den Sektor nochmal durch drücken von S <RETURN>.

- : liest einen Sektor vorher ein. Von Sektor 00 geht's eine Spur zurück, letzten Sektor.

M: liest eine Spur vorher ein. Bei Spur 01 erfolgt Sprung nach Spur 35 (1541), 70 (1571) oder 80 (1581).

K: liest vorhergehenden Linker (nachdem vorher mit 'J' gearbeitet wurde.

S: Sektoreingabefenster wird geöffnet, um Sektor direkt anzuspringen

H: Umschaltung zum Hex-Modus. Der aktuelle Sektor wird unten im 'Memory-Map-Format' angezeigt (Hex links, ASCII

rechts). Der obere Teil des Schirms bleibt als Referenz erhalten. Alle Sektoren im Hex-Puffer haben (Arbeits-)

Adresse $5900, die nichts mit der tatsächlichen Speicheradresse zu tun hat.

CRSR: bewegt Cursor

W: schreibt aktuellen Block auf die Disk

Pfeil-links-Taste: zum vorhergehenden Bildschirm zurück

P: aktuellen Pufferinhalt ausdrucken (1525/801-Format)

HOME: im Haupt-Editierbildschirm den blinkenden Cursor auf die Position 00 stellen.

RETURN: im Haupt-Editierbildschirm den blinkenden Cursor an den Anfang der nächsten Zeile bewegen. Aus der letzten Zeile

erfolgt der Sprung zur ersten.

CRSR auf/ab, CRSR rechts/links bewegen den Cursor wie normal

F: Block free, für de-allocate aktuellen Sektor. Die BAM wird entspr. angepaßt

Pfeil-links-Taste: zurück zum vorhergehenden Bildschirm

RESTORE: zurück zum Track & Sector 'Editor Main Menu'

New Drive: mit dieser Option läßt sich eins der vier möglichen Laufwerke (8 bis 11) wählen. Mit einer 5,25" Floppy ist das 1541

Format voreingestellt, es sei denn es befindet sich eine 71'er Disk im 71'er Laufwerk UND diese Option wird nochmals

aufgerufen. Das 81'er Format wird automatisch erkannt.

F1/F3: Directory

F5: Disk Kommando

F8: bootet Disk

Disk Compare:

Unterstützt die 1541/71/81 Diskformate

Unser 'Disk Compare' geht auf einen Kundenwunsch zurück. Es vergleicht schnell zwei Disketten gleichen Formates in gleichen Laufwerken und erlaubt einfach die Anzeige und Änderung der Quell- und Zieldiskdaten.

Aus dem 'Upgrade & Goodies' Menü 'Disk Compare' wählen, <RETURN>. Im disk Compare Menü stehen zur Verfügung:

Compare Disk: Bevor diese Option benutzt wird, die zu vergleichenden Disketten in jedes Laufwerk einlegen und mit <RESTORE>

einloggen. Ist das einloggen fertig, mit <RETURN> den Vergleich starten, beide Laufwerke laufen an. Ist der Vergleich

fertig, erscheint ein Schema auf dem Schirm, in dem die Sektoren mit * gekennzeichnet sind, die nicht

übereinstimmen. In diesem Bild stehen folgende Funktionen zur Verfügung:

F1/F3: Cursor schnell auf/ab bewegen

F5/F7: Cursor schnell rechts/links bewegen

C= P: Vergleichsbildschirm ausdrucken (1525/801-Format)

Pfeil-links-Taste: zum Menü zurück

SPACE: liest Daten vom Quell- UND Ziellaufwerk in den Speicher. Danach erscheint ein neuer Bildschirm, der die

Daten der Quellsektoren zeigt. Aus diesem Bild kann man die Daten von Quell- oder Ziellaufwerk anzeigen

und ändern und zurück schreiben. Nicht übereinstimmende Bytes sind hervorgehoben dargestellt. Die

Kommandos sind:

CRSR auf/ab: langsam auf/ab scrollen (scannen)

CRSR rechts/links: schnell scrollen (scannen)

R: Quell- und Zielsektoren nochmals lesen (frisch starten)

W: schreiben. Frägt, ob auf Quell-(='S') oder Ziel-Lw(='T'), kann mit Pfeil-links-Taste abgebrochen

werden.

J: springt zum nächsten FileLink -soweit vorhanden-

S: Datenanzeige zwischen Quelle und Ziel hin- und her schalten

M: schaltet Modus zwischen disassembliert und Hex hin und her

Pfeil-links-Taste: zurück zum Vergleichsbildschirm

Edit Sector Map: holt den letzten Vergleichsbildschirm zurück. Die zuletzt bearbeiteten Disks können weiterbearbeitet werden,

ohne sie nochmals zu lesen.

Source Device No.: Quell-Laufwerksnummer (8 bis 11)

Target Device No.: Ziellaufwerksnummer (8 bis 11)

Starting Track No.: mit RETURN/shift-RETURN Startspur einstellen

Ending Track No.: mit RETURN/ shift-RETURN Endspur einstellen

F1/F3: Directory

F5: Disk Kommando

F8: bootet Disk

Relative File Copier:

Unterstützt alle Commodore kompatiblen Laufwerke

Relative Files werden in Commodore Software immer dann benutzt, wenn schneller Datanzugriff erforderlich ist. Weil die Struktur der relativen Files sehr unterschiedlich zum Programm- oder sequentiellen File ist, kopiert man diese Files am besten über DOS. Aus diesem Grund und weil wir alle von Commodore gebauten Laufewrke unterstützen wollen, gehen auch wir diesen Weg. Dadurch ist dieser Kopierer nicht so schnell, wie wir das gerne haben möchten, aber er ist super kompatibel.

Aus dem Maverick Hauptmenü 'Upgrades & Goodies' wählen, <RETURN>, dann 'Relative File Copier' <RETURN>. Es stehen folgende Optionen zur Verfügung:

Source Device: unterstützt GA 1 bis 15 für das Quell-Laufwerk

Source Drive: unterstützt Doppellaufwerke (z.B. MSD), voreingestellt ist '0' für Einzellaufwerk

Destination Device: GA 1 bis 15 für Ziellaufwerk. Bevor eine Kopie mit zwei Laufwerken gestartet wird, sich versichern, daß die

Adressen und Disketten korrekt sind.

Destination Drive: unterstützt Doppellaufwerke, 0 ist voreingestellt

Filename: Du mußt vorab den Filenamen kennen, nur exakten Filenamen eingeben, keine Wildcards (d.h. * oder ?)

REU Quick Test

Dieses Werkzeug dient dem Funktionstest Deiner REU 1764, 1750 oder 1750-Umbau. Wir empfehlen diesen Test bevor der 'Quick File Copier' oder der 'Single Drive Fast Data Copier' benutzt wird. Du solltest ihn dann nicht mehr brauchen, bis irgendwelche Probleme auftauchen und Du die REU erneut testen willst. Bedenke, dies ist ein oberflächlicher Test, genauer geht's mit dem mit der REU ausgelieferten Commodore-langsam Test.

Vor dem Start vergewissern, daß die REU korrekt im Port sitzt. Boote Maverick, wähle 'Upgrades & Goodies', <RETURN>, dann 'REU Quick Test' wählen, <RETURN>. Der Test beginnt sofort, nach sehr kurzer Zeit wird er fertig sein.

1764 Einheiten: Abnormalitäten werden als 'X' in einem der Chips in Bank 1 angezeigt. Da es in der 1764 keine Bank 2 gibt, sind zwei 'X' dort normal.

1750 oder 1750-Ausbau: Abnormalitäten werden als 'X' in Bank 1 oder 2 gekennzeichnet.

F7: Wiederholung des Testlaufes (Warnung: REU nicht ziehen oder stecken während derComputer eingeschalten ist!)

F8: bootet Disk

64K VDC RAM Test

Nur für C128(D)

Aus Hauptmenü 'Upgrades & Goodies', dann '64K VDC RAM Test' wählen.

SPACE startet den Test. Bildschirmhinweisen folgen

F8: bootet Disk

FILE TRACER

Unterstützt 1541/71/81 Disk Formate

Der File Tracer erlaubt bequemes prüfen oder reparieren von Files direkt von Disk. Er zeigt nicht nur wie das File auf der Disk verteilt ist, sondern zeigt auch die Daten selbst in zweierlei Form.

Wir unterstützen 1541, 1571 und 1581 Formate, die alle gleich behandelt werden, abgesehen von der Spurenzahl und der Lage der Directoryspur:

1541 Format: 35 Spuren, Directory auf Spur 18

1571 Format: 70 Spuren, Directory auf Spur 18

1581 Format: 80 Spuren, Directory auf Spur 40

Aus dem 'Upgrades & Goodies' Menü 'File Tracer' wählen, den Bildschirmanweisungen folgen. Die Befehle:

SELECT FILE:

Display Mode: Wenn Du diesen Befehl gewählt hast, wirst Du aufgefordert, die Disk mit dem gewünschten File ins Laufwerk

einzulegen. <SPACE> lädt Directory und zeigt sie in einem Fenster zusammen mit ihrer Sektorenlänge an (-soweit

vorhanden- auch die Unterverzeichnisse, durch SUB gekennzeichnet, die wiederum können mit dem CRSR-Balken

ausgewählt und mit <RETURN> gelesen werden. Zurück geht's über <RESTORE>, Hauptmenü und Diskkommando '/' zur

Initialisierung der Rootdirectory, 'Choose A File' option und <RETURN> zum gewünschten Unterverzeichnis). Choose a

File, -File wählen- mit CRSR und <RETURN>. Der Filename und die Zahl der Blocks, die gelinkt werden, werden angezeigt.

Ist das Linken fertig, wirst Du aufgefordert <SPACE> zu drücken. Obwohl der File Tracer speziell für Programmfiles

entworfen wurde, haben wir auch sequentielle Files zugelassen (die eine Adresse von $1000 voreingestellt haben, die

aber nur interne Bedeutung hat). Der File Tracer wird ein Spur/Sektornetz aufbauen und den Ort des Files gelb

markieren, dessen Anfang mit einem schwarz blinkenden Cursor. Die aktuelle Spur- und Sektorposition des Cursors

wird -dezimal- oben am Bildschirm angezeigt, ebenso die aktuelle Speicheradresse in Hexadezimal. <RESTORE> führt

jederzeit zum 'File Tracer' Hauptmenü zurück.

Edit Mode: Mit dem CRSR auf/ab den blinkenden Cursor vor/zurück durch die Sektoren bewegen. Auf CRSR ab beweget sich der

Cursor entsprechend den Linkadressen vorwärts durch die Sektoren. Mit CRSR rechts/links 8 Blöcke auf einmal. Mit

SPACE den Block untersuchen, der unter dem blinkenden Cursor steht (die Daten werden geladen und disassembliert

dargestellt). Die Darstellung kann mit 'M' zwischen Hexadezimal und ASCII hin und hergeschaltet werden. Der Modus

bleibt aktiv (selbst beim laden neuer Files), bis er geändert wird. Die Editierbefehle im einzelnen:

Disassembly Mode:

SPACE: mit SPACE gelangt man ins Operantenfeld der aktuellen Zeile und kann dort Opcode und/oder Operanten ändern.

RETURN: nach Änderungen <RETURN>. Sind die Änderungen gültig, werden sie übernommen und der Cursor wandert zum Beginn

des nächsten Opcodefeldes. Waren die Eingaben ungültig, werden die Daten nicht geändert und der Cursor kehrt zum

Anfang dieser Zeile zurück.

HOME: setzt Cursor zum Anfang des Blocks, wenn dieser links der Adressenspalte steht.

J: setzt Cursor zum nächsten Block im File (soweit vorhanden), wenn der Cursor links der Adressenspalte steht.

W: schreibt geänderten Block auf Diskette; wird dies versäumt bevor der Bildschirm gewechselt wird, sind die

Änderungen verloren.

Pfeil-links-Taste: kehrt zum Spur/Sektornetz zurück, nochmals gedrückt, zum File Tracer Hauptmenü.

Hex/ASCII Mode:

Cursortasten: In diesem Modus normale Cursorbewegungen

HOME: zurück zum Blockanfang, jederzeit möglich

J: zum Anfang des nächsten Blocks im File

W: schreibt aktuellen Block auf Disk

Pfeil-links-Taste: zurück zum Spur/Sektornetz

Andere Hauptmenü-Optionen:

Edit File: zeigt Spur/Sektornetz nochmals an und erlaubt Änderungen im aktuellen File.

New Drive: Laufwerk auswählen (8 bis 11), wenn 1571 gewählt wird, wird sie nur dann als 1571 erkannt, wenn die Disk auch

echt 1571 formatiert ist UND diese Option durchlaufen wird.

F1/F3: Directory

F5: Disk Kommandos

F8: bootet Disk

File Viewer

Unterstützt 1541/71/81 Diskformate

Der File Viewer wurde gemacht, um schnell sequentielle und Programmfiles auf den Bildschirm zu bringen. Es werden auch die meisten BBS Files und Files Deiner Textverarbeitungsprogramme unterstützt.

Aus dem 'Upgrade & Goodies' Menü 'File Viewer' wählen, <RETURN>. Die neuen Menüpunkte:

Select File: mit <RETURN> Directory einlesen, es werden aber nur PRG und SEQ Files angezeigt; und von diesen sind nur die einsehbar, die auch einen visuell lesbaren Text enthalten. Mit CRSR auf/ab langsam, mit CRSR rechts/links schnell durchs Listing scrollen. Mit <SPACE> hervorgehobene Auswahl in den Ansichtspuffer laden. Directories der 1581 mit Unterverzeichnissen listet diese mit der Kennung SUB. Unterverzeichnisse lesen durch wählen mit CRSR und <SPACE>.

Wird der Ansichtspuffer angezeigt, stehen zur Verfügung:

SPACE: seitenweise durch das File gehen. Beachte die Lesbarkeit gegenüber anderen Readern. Ist das File zu lang für den

Puffer, wird es zur rechten Zeit weitergelesen und der Puffer überschrieben.

HOME: zum Beginn des aktuellen Pufferinhalts

M: Modusumschaltung für Textinterpretation zwischen ASCII, CBM ASCII und Rohdaten (manche Wordprozessoren

arbeiten damit). Wird M im File gedrückt, kehrt man zur HOME-Position zurück.

C= P: druckt Puffer aus (Commodore 1525/801-Format)

Pfeil-links-Taste (ESC): zurück zum File Viewer Hauptmenü

View File: zeigt das zuletzt eingelesene File wieder an (erste Seite)

Device No.: Laufwerk auswählen (8 bis 11), wenn 1571 gewählt wird, wird sie nur dann als 1571 erkannt, wenn die Disk auch

echt 1571 formatiert ist UND die Option 'New Drive' durchlaufen wird. Der File Viewer ist nur für ein Laufwerk

konzipiert. Sollten Schwierigkeiten auftauchen, schalte alle anderen Laufwerke AUS.

F1/F3: Directory

F5: Disk Kommando

F8: bootet Disk

Troubleshooting (Fehlersuche)

Sollten Fehler im Gebrauch von Maverick auftauchen, muß erst das Problem isoliert werden. Das beste ist ersteinmal: ALLES was nicht unbedingt an Peripherie gebraucht wird, auszustecken (!) (Extralaufwerke, Interfaces, Drucker, Modems und Joysticks) und komplett abtrennen. Läuft Maverick nun, können die Geräte einzelnen zugeschaltet und getestet werden, bis das Problem isoliert ist.

Wir haben herausgefunden, daß wenn beständig die 'Device not present' -Meldung kommt, es ein sicheres Zeichen ist, daß der serielle Bus überladen ist. Vergewissere Dich auch nochmals, daß wirklich alle Geräte eine eigene Adresse besitzen.

Hauptmenü:

Problem: Maverick lädt nicht auf Deinem System

Lösung: a) vergewissere Dich, daß Maverick Master Disk Seite A im Laufwerk #8 ist, und gib 'LOAD"*",8,1' ein <RETURN>

b) schaue unter Systemanforderungen nach (am Anfang der Anleitung), evt. hast Du inkompatible Geräte.

c) probiere es auf dem Gerät eines Freundes. Funktioniert es dort, muß Dein Laufwerk in die Werkstatt

(reinigen,justieren).

d) wenn Maverick auf keiner Maschine lädt, kann die Disk defekt sein (siehe Garantie).

Single Fast Data Copier:

Problem: 'write errors' (Schreibfehler) werden auf der Ziel-(Dest.-) disk angezeigt

Lösung: a) Zieldisk defekt. Neuer Versuch mit anderer Disk

b) Laufwerk in die Werkstatt (reinigen, justieren,...)

Problem: 1581-Kopierer arbeitet nicht korrekt

Lösung: entferne Schnellader, ist wohl inkompatibel

Dual Fast Data Copier:

Problem: Kopie 'tut nicht richtig', Original ist o.k.

Lösung: zuerst 'Single Drive Fast Copier' probieren, dann 'Single' oder 'Dual Nybbler' und in den Parameterlisten nachsehen.

Single GCR Nybbler:

Problem: Maverick kopiert ein RapidLok Programm und hängt sich in der zweiten Phase auf

Lösung: Zwei Laufwerke EIN können zu Problemen führen. Als letzten Versuch nicht benötigte serielle Anschlüsse abtrennen.

Single or Dual GCR Nybbler:

Problem: Kopierer startet, hängt sich dann auf

Lösung: wahrscheinlich ist Original kopiergeschützt und benötigt einen Parameter (siehe Parameterlisting). Findest Du dort

Deinen Titel nicht, kontaktiere uns um Rat.

Sector Map Editor:

Problem: Ausdruck nicht korrekt

Lösung: benutze einen Drucker/Interface, das wirklich Commodore 1525/801 emuliert

Problem: das Programm bricht ab, nachdem nur ein paar Spuren gelesen wurden

Lösung: Programm unterstützt nicht mehr als vier Peripheriegeräte, trenne weitere Laufwerke, Modems, Drucker,... ab

Maverick GCR Editor:

Problem: irgendwann läuft das Laufwerk ununterbrochen weiter

Lösung: ist normal während mancher Vorgänge (stellt sicher, daß die Geschwindigkeit stimmt).

Problem: Ausdruck nicht korrekt

Lösung: benutze einen Drucker/Interface, das wirklich Commodore 1525/801 emuliert

Parameter Menü:

Problem: alles hat hingehauen, die Meldung 'parameter successful' (erfolgreich) erscheint, aber die Kopie läuft dennoch nicht

Lösung: die meisten neueren Parameter (ab Modul #2) prüfen die Programmversion und beziehen darauf die 'erfolgreich'

-Meldung, die älteren Module haben dies noch nicht. Bei Problemen handelt es sich um unbekannten Versionen, rufe

uns an.

Problem: Fehler mit einem 8K RAM Parameter

Lösung: a) JEDES Laufwerk MUß die 8K RAM-Erweiterung haben, ggf. RAM-Funktion prüfen. Ebenfalls prüfen: stimmt der

angegebene Speicherplatz für das RAM?

b) viele unserer 8K Parameter benötigen ORIGINAL Quelldisk, eine KOPIE ist oft NICHT KOPIERBAR.

c) die Geschwindigkeit des Ziellaufwerks für diesen Titel und diese Diskette prüfen.

d) wenn obiges nicht zutrifft und zwei Versuche fehlgeschlagen sind, verwende besseres Diskettenmaterial

und schalte Verfify EIN. Unsere Routinen sind Solide, aber die Diskettenqualität ist ein kritischer Faktor.

e) wenn zwei Laufwerke 'nicht gehen', probiere es mit nur einem (wir haben es erlebt, daß zwei Laufwerke einzeln

gut kopieren konnten, nur eben zusammen nicht)

f) wenn die obigen Punkte nichts gebracht haben, versuche die Geschwindigkeit des Ziellaufwerkes 3 Einheiten

zurück zu nehmen (manche Laufwerke kopieren nicht bei normaler Geschwindigkeit)

g) wenn alles nichts hilft: qualifizierten Kundendienst für's Laufwerk

Problem: Ein Custom Kopierer erfordert ein 1541 Laufwerk, aber die Kopie 'läuft nicht'

Lösung: unglücklicherweise wird nur ein Standard 1541'er diese Titel kopieren. In diesem Fall sind 1541 II Laufwerke

ungeeignet.

Problem: Ausdruck nicht korrekt

Lösung: benutze einen Drucker/Interface, das wirklich Commodore 1525/801 emuliert

Problem: das Programm bricht ab, nachdem nur ein paar Spuren gelesen wurden

Lösung: Programm unterstützt nicht mehr als vier Peripheriegeräte, trenne weitere Laufwerke, Modems, Drucker,... ab

Geo*Boot:

Problem: wenn PAL System installiert, scheint alles o.k., aber 1581'er Kopie 'läuft nicht'

Lösung: vor dem booten ALLE Schnellader entfernen (egal ob im Laufwerk oder Computer)

Problem: (nur 128'er 5,25"-Version) nach Validate einer Geo*Boot Arbeitsdisk funktioniert das Autoboot (n. Reset) nicht mehr

Lösung: GEOS überschreibt den 128'er Bootsektor. Mit 'Track und Sector Editor' Spur 1, Sektor 0 wieder herstellen

Inhaltsverzeichnis

5 dummy 1 KB App Data Write Image V2.1 VLIR 1993-03-05 22:27 .cvt .html
6 CS-DOS-INFO.dt 2 KB App Data Write Image V2.1 VLIR 1993-03-15 18:15 .cvt .html
Infos zu der Übersetzung der Original CS- Anleitung

CS-DOS

- ist ein Programm(-paket) mit interessanten DOS- und Archivfunktionen, geschrieben von Chris Smeets, als Shareware.

Die englische Originalanleitung wurde selbständig übersetzt durch

Michael Scholich

Scharhoferstraße 21

6800 Mannheim -31

Ihr findet zwei Versionen der Übersetzung:

CS-DOS-BS.dt für Bildschirmausgabe (in BSW128)

CS-DOS-DR.dt für Druckerausgabe (in University LQ)

7 CS-DOS-BS.dt 98 KB App Data Write Image V2.1 VLIR 1993-02-28 17:11 .cvt .html
Übersetzung der Original-CS-Anleitung zur Bildschirmausgabe, erstellt durch eMSch in 3/'93

(freie) Übersetzung der original CS-Dokumentation durch eMSch in 3/'93

INHALTSVERZEICHNIS auf Seite 30

CS - DOS Dokumentation für DOS-Shell Version 1.42

CS-Dos ist Copyright 1987,1989 by Chris Smeets

CS-DOS ist Shareware. Die Lizenz sollte nach einer etwa 4 Wochen langen Testphase überwiesen werden an: (Achtung NEUE Adresse)

Chris Smeets

110 Brookland Drive

Bramalea, Ontario, Canada

L6T 2MS

Der Urheber bittet um Beträge, die man für angemessen hält, schlägt aber $20 vor.

Die Programme dürfen nur vollständig und kostenlos kopiert und weitergegeben werden.

---------------------------------------------------------------------------------------------

Einführung

CS-DOS für den Commodore 128 entstand aus dem C64 'ARC64'-Utility und arbeitet oft genau so.

Um dieses System flexibel zu gestalten und weitere Befehle leicht zufügen zu können, wurde es modular aufgebaut und alle Befehle sind 'transient' (müssen also extra in die RAM-Disk geladen werden).

Das größte und wichtigste Modul ist die DOS-Shell selbst, die den Command Line Interpreter (zur Erkennung und Abarbeitung von Befehlszeilen) zur Verfügung stellt.

Solltest Du noch eine übrige 1571 'rumfahren haben und es macht Dir nichts aus, vor Befehlen eine Laufwerkskennung einzugeben, bist Du schon auf dem richtigen Weg. Mit größerer Wahrscheinlichkeit willst Du zumindest ein paar der gebräuchlichsten Befehle auf einer RAM-Disk installieren und so kommt AUTOEXEC ins Spiel.

Nachdem die DOS-Shell geladen und gestartet ist, setzt sie sich in die rechten Speicherbereiche und sucht im Laufwerk 8, Drive 0 eine SEQ-Datei namens 'AUTOEXEC'. Diese ist eine normale Textdatei und alles was darin steht wird ausgeführt ('executed'), als würden die Befehle über die Tastatur eingegeben. Und hier hast Du die Möglichkeit, das System nach Deinen Wünschen anzupassen, wie Bildschirmfarben festlegen, Laufwerke konfigurieren, eine RAM-Disk installieren, Hintergrundmusik ertönen oder Deinen Namen 16-farbig über den Schirm gleiten zu lassen.

SETRAM wird Dir eine RAM-Disk installieren (entweder in Bank 1 oder Bank 0 oder wenn Du einen EPROM-Brenner hast, auch in einer der Bänke 4 bis 12); zum Anfang am besten in Bank 1. Die Details hierzu später unter SETRAM. Gib' für's erste direkt ein (oder füge es in Deine AUTOEXEC Datei ein):

A: SETRAM 1,49152

Dadurch wird Speicherplatz (RAM) in Bank 1 beginnend bei Speicherstelle 49152 ($C000) reserviert (bis zum BASIC-Speicher-Ende, normalerweise $FEFF) und für CS-Befehle zur Verfügung gestellt, immerhin 16K. Der erste Befehl, den Du benötigst, dürfte wohl INSTALL sein, um weitere Befehle zu installieren (aufzunehmen). Der Befehl dazu lautet:

A: INSTALL A: INSTALL

Das erste A: INSTALL sagt der Shell: suche Laufwerk A: und dort nach der Datei 'INSTALL' und lade diese in den Speicher des 128'er. Ist dies geschehen, wird die Kontrolle auf das geladene Programm übertragen und gleichzeitig der zweite Parameter (zweites A: INSTALL) übergeben, der besagt: Kopiere diese Datei von der Floppy in die interne RAM-Disk.

Dies ist Dein erster interner Befehl, der einem BASIC-Befehl sehr ähnlich reagiert. Das A: braucht nun nicht mehr mitangegeben werden.

ACHTUNG: die installierten Befehle arbeiten nur im Direktmodus und nicht in einem BASIC Programm!

Als nächstes möchtest Du vielleicht gebräuchlichere Befehle wie z.B. REMOVE, DIR, RDIR, REN oder ARC installieren, das könntest Du wie oben beschrieben machen, oder bei Ungeduld mit:

INSTALL A: *=P

Dieser Befehl installiert alles was vorhanden ist. Um zu sehen welche Befehle nun zur Verfügung stehen, gib' ein:

RDIR

Die Directory der RAM-Disk wird ausgegeben. Gefällt Dir irgendetwas dort nicht, (z.B. die Shell) wirst Du es mit

REMOVE "SHELL"

los. Soll der ('nutzlose') DIR Befehl gelöscht werden, benutze

REMOVE DIR

Hast Du nun ein bißchen 'rumgespielt und bist Dir mit Deiner Konfiguration einig, speichere den gesamten Inhalt der RAM-Disk als eine Datei mit beliebigem Namen:

PUTRAM NAMEN

Nach dem nächsten booten der Shell kann mit

GETRAM NAMEN

auf einen Satz alles wieder 'reingeholt werden.

Die Befehlszeile und I/O Umleitung

Wenn BASIC die READY. Meldung ('Prompt') ausgibt, ruht der 128'er und wartet cursorblinkend auf den nächsten Arbeitsauftrag, der aus einer Textzeile und anschließendem <RETURN> besteht. Alles was in der Zeile des blinkenden Cursors stand, wurde so zur 'Befehlszeile' und BASIC schiebt diese nun in den 'Eingabepuffer'. Hier greift CS-DOS ein.

Zuerst prüft CS, ob das erste Nicht-Leer-Zeichen der Befehlszeile ein '*' ist. Wenn 'Ja', wird es aus der Befehlszeile entfernt und gleichzeitig alles getan, daß jeder Bildschirmausdruck auch auf dem Drucker erscheint. Die Druckerumleitung bleibt solange aktiv, bis die nächste READY. Meldung zurückkehrt.

Da CS-Shell dem BASIC nicht ganz traut, macht es als nächstes eine Kopie der Befehlszeile zum Eigengebrauch und zählt die eingegeben Parameter (bzw. Befehlsbegrenzungen) durch. 'Befehlsbegrenzungen' sind Leerstellen ('SPACE') oder Kommas, 'Parameter' sind davon eingeschlossen, z.B.:

*ARC/L BIGFILE,HIGH, LOW,,,,,MEDIUM , SLOW

ergibt

'ARC/L' Parameter Nr. 0

'BIGFILE' Parameter Nr. 1

'HIGH' Parameter Nr. 2

'LOW' Parameter Nr. 3

'MEDIUM' Parameter Nr. 4 und

'SLOW' Parameter Nr. 5

Um auch Leerstellen in einem Filenamen zu akzeptieren, können Parameter von Anführungszeichen eingeschlossen werden.

Der nächste Arbeitsgang des CS-DOS prüft das Ende der Befehlszeile auf '>' oder '>>'. Dadurch wird die Ausgabe auf Disk umgeleitet und dieser letzte Parameter aus der Befehlszeile gelöscht.

Zu guter letzt wird die Befehlszeile auf 'Befehlszeilenschalter' untersucht. Schalter dürfen nur dem Parameter 0 folgen und mit '/' beginnen. Die Schalter belegen die Speicherstellen $1BFC und $1BFD, d.h. es gibt maximal 2 Stück; unbelegt beinhalten sie 0. Die Eingabe

LIST >PROGRAMM.BAS

verhält sich so, als hättest Du LIST eingegeben, aber alles was auf dem Bildschirm erscheint, wird auch auf Disk unter 'PROGRAMM.BAS' gespeichert.

Was als nächstes passiert, hängt vom Parameter 0 ab. Beginnt dieser mit einer Laufwerkskennung (z.B. 'D:'), versucht CS-DOS das Programm, das im Parameter angegeben wurde, zu laden und zu starten. Ist das Programm nicht zu laden oder zu starten, geht's zurück ins BASIC mit 'SYNTAX ERROR.'

Fängt der 0-Parameter nicht mit 'D:' an, sucht CS-DOS in der RAM-Disk nach dem Programm, um es zu laden/starten; bei Mißerfolg ebenfalls BASIC/Fehlermeldung.

Druckerausgabe

* leitet jede Ausgabe nicht nur auf den Bildschirm, sondern auch auf den Drucker. Allen (oder fast allen) Befehlen oder 'Einzeilern' kann das '*' vorangestellt werden, um eine Hardcopy zu erhalten.

Manchmal scheint * nicht mit BASIC-orientierten Befehlen zusammenzuarbeiten, z.B.:

*CATALOG D0,"*=P

arbeitet nicht korrekt, aber

*DIR *=P

kann's. Probiert halt 'n bißchen 'rum, verhunzt 'n paar Blatt Papier und macht Euch mit * vertraut. Noch 'n Tip, wenn's nicht funktioniert, nimm doch mal CMD. Wir werden versuchen die Probleme in zukünftigen Versionen zu beheben.

Es gibt ein Paar Pokes, die am besten in die AUTOEXEC eingebaut werden. Sie werden beim booten nur einmal gelesen und dann nicht mehr verändert. Es sind:

$1BEE (7150) Printeradresse (voreingestellt: 4)

$1BEF (7151) Printersekundäradresse (voreingestellt: 7)

* arbeitet gut mit einem IEEE (4022) und auch mit einem seriellen Drucker (1526) zusammen. Unglücklicherweise gibt es so viele verschiedene Drucker, daß nicht alle getestet werden konnten. Bei Problemen mußt Du mit der Sekundäradresse experimentieren. Sollte überhaupt nichts funktionieren, dann leite die Ausgabe auf Disk um und laß' Dein Lieblingstextprogramm den Drucker ansprechen.

Ausgabeumleitung auf Diskette

> und >> leiten den Bildschirmausdruck auch auf Diskette um, in eine SEQ-Datei. Diese Befehle arbeiten gerade so wie *, mit den gleichen Beschränkungen, nur eben auf Disk anstatt auf Drucker.

> legt eine neue Datei an, >> hängt Daten an eine schon bestehende Datei an. Es ergeben sich eine Menge interessanter Möglichkeiten in Kombination mit CHECK, GET, PUT und DIR Disketten zu katalogisieren. In Verbindung mit ARC/L kannst Du damit eine Liste dessen anlegen, was auf Deinem BBS on-line ist, oder mit CHANGE, VDUMP, MONITOR oder COMP kannst Du es bequem zur Fehlersuche ('debugging') einsetzen.

Die Ausgabeumleitung ist dem BASIC nicht ganz so transparent wie die Eingabeumleitung (EXEC). Wenn Dein laufendes Programm einen Befehlskanal auf das Ausgabelaufwerk öffnet (OPEN15,8,15) und dann den Kanal wieder schließt, schließt es auch die Datei, in die umgeleitet wurde. Hast Du mehr als ein Laufwerk, kannst Du das umgehen, indem Du die Ausgabe verschiedene Laufwerke ansprechen läßt.

Die umgeleitete Ausgabe (zu Drucker oder Disk) dauert nur bis zur Rückkehr zur READY. Meldung.

Beispiele:

VDUMP >TEST.EXEC die BASIC-Variablen werden in eine SEQ-Datei

namens TEST.EXEC geschrieben (dump)

CHECK A:* >GAMES01.CHK schickt eine reich kommentierte Directory zum

Default-Laufwerk, ebenfalls als SEQ-Datei

CHECK B:* >>GAMES01.CHK hängt an die Datei im vorigen Beispiel an

ARC/L RA >86NAV schickt die Directory 'RA.ARC' des Default-Laufwerk

in die SEQ-Datei '86NAV'

MONITOR >DEBUG.SESSION leitet die Ausgabe des Maschinensprache Monitors

auf die Diskette

LIST >MEINPROGRAMM legt ein ASCII-Listing des im BASIC-RAM befindlichen

Textes/Programmes an. Diese Datei könnte später

an andere im Speicher angehängt werden

PATTERN (MUSTER)

Viele der hier beschriebenen Befehle beziehen sich auf eine 'Patternliste', wie unten beschrieben. Die Befehlszeile kann maximal 20 Parameter aufnehmen, die Patternliste 19 Patterns. Z.B. im Befehl

CHECK A*.B* C:A??*.ASM D:NERD* D:ULTRA* C: >TEMP

reicht die Patternliste von A* bis >TEMP.

Die Dateinamenjoker ('wildcards') wurden für viele Befehle des CS-DOS etwas weiterentwickelt. Zusätzlich zum normalen Gebrauch der CBM-wildcards macht CS-Dos das Leben etwas leichter, indem das * leicht unterschiedlich interpretiert und ein eigenes Zeichen (&, oder NOT-Operator) zugefügt wird.

Ein & vor einem Dateinamen spricht alle Dateien an, außer dem angegebenen, z.B.:

ARC/A MISCDATA &*=P

nimmt in das Archiv im Default-Laufwerk alle Dateien auf, außer Programmen.

ARC/A MISC &C:*.ARC

nimmt alle Dateien von Laufwerk C: auf, ausgenommen jene mit der Endung ARC.

Der Asterisk wird gleitend interpretiert. Spiele ein wenig damit in Verbindung mit CHECK, um Dich vertraut zu machen. Z.B.:

*.* wählt alle Dateien mit einem '.' im Namen aus (wie z.B.:

HELLO.ARC, SUPER.COPY.ASM oder MEGAMON. )

*.*=P wirkt gleich,, wählt aber nur Programme aus

*.ARC wählt alle Dateien mit der Endung '.ARC' aus

*.?? wählt alle Dateien mit einem '.' an drittletzter Stelle aus

JJ*.PIK wählt alle Dateien mit 'JJ' am Anfang und 'PIK' am Ende

des Dateinamens aus

*NASE* sucht alle Dateinamen in denen irgendwo 'NASE' vorkommt

Bis jetzt kann diese Dateiauswahl noch nicht mit allen Befehlen zusammenarbeiten (z.B. DIR oder DEL), vielleicht wird's in späteren Versionen möglich sein. Aber die normalen CBM-DOS Joker sollten auf alle Fälle funktionieren.

Befehl: ASSIGN

Syntax: ASSIGN Buchstabe TO Buchstabe2 LAUFWERK, DRIVE

siehe auch: AUTOEXEC, INT06

Zweck: ordnet einem Laufwerk einen Kennbuchstaben als Adresse zu

Nach dem booten sind die Laufwerke wie folgt zugeordnet:

A: Laufwerk 8, Drive 0 B: Laufwerk 8, Drive 1

C: Laufwerk 9, Drive 0 D: Laufwerk 9, Drive 1

u.s.w. bis K: und L: für 13,0 bzw. 13,1

M: bis Y: sind alle dem Laufwerk 8, Drive 0 zugeordnet

Z: ist Drive 0 des Laufwerkes, von dem aus CS-DOS gebootet wurde

Gefällt Dir diese Voreinstellung nicht, ändere sie mit ASSIGN, elegant in der AUTOEXEC-Datei. Sollten ungültige Daten eingegeben werden, bricht ASSIGN mit einer Fehlermeldung ab, ansonsten passiert nichts. Gültige Werte sind:

Buchstabe A bis Z

Laufwerk 8 bis 30

Drive 0 bis 9

Zweifellos gibt es nur wenige 128'er Benutzer, die mehr als 26 Laufwerke ansprechen wollen, aber die Laufwerksbuchstaben eignen sich gut als Aliase (Pseudobefehle) und sind in Batchdateien hilfreich. Z.B. 'Z:' als Alias für das CS-Bootlaufwerk. Möchtest Du auf alle Routinen zugreifen, diese aber nicht ins RAM kopieren, kannst Du sie über Z: erreichen, egal von welchem Laufwerk gebootet wurde (wenn die Bootdisk dort belassen wurde).

Aliase vereinfachen u.U. den Aufwand Batchdateien zu ändern (anstatt der Assignbefehle der AUTOEXEC-Datei), wenn Dein System oder die Voreinstellung wechselt. Sie helfen auch Batchdateien von einem auf ein anderes System zu transportieren.

Beispiele:

ASSIGN A 9,0 'TO' kann ausgelassen werden. 'A:' spricht nun

Laufwerk 9, Drive 0 an.

ASSIGN "C" TO 8 1 macht Laufwerk 8, Drive 1 zu C:

ASSIGN A TO 8,9 macht Laufwerk 8, Drive 9 zu A:

Befehl: AUTOEXEC

siehe auch: BATCH, SHELL

Bei irgendeinem Diskzugriff auf dem 128'er (z.B. CS-DOS laden...) merkt sich das 128'er Kernal in $BA (186) die Laufwerksnummer. CS-DOS geht davon aus, die AUTOEXEC im Bootlaufwerk zu finden. So schaut die Shell in 186 nach und macht dieses Laufwerk, Drive 0 zum Defaultlaufwerk und zu Z: und führt Z:AUTOEXEC aus. Dadurch kannst Du CS-DOS von jedem beliebigen Laufwerk aus booten.

Auch Du hast die Möglichkeit Dinge ein wenig anzupassen, manches muß, manches kann. Zuerst das Notwendige:

1.) teile CSARC1750 und LHA mit, welchen Teil der 1750 sie benutzen dürfen.

Dazu dient der Befehl

POKE 7119, LOW*16+HIGH

'LOW' ist die niedrigste numerierte 1750-Bank, die diese Programme als Puffer

nutzen dürfen, 'HIGH' die Höchste plus eins. Soll z.B. nur Bank 0 benutzt

werden, lautet der Befehl:

POKE 7119, 0*16+1

2.) ähnlich muß für TERM ein Puffer festgelegt werden, der vom obigen nicht

unterschiedlich sein muß:

POKE 7120, LOW*16+HIGH

Nun die 'freiwilligen' Pokes:

1.) nimm Z:SETRAM um die RAM-Disk zu installieren

2.) nimm Z:GETRAM um eine früher angelegte RAM-Disk einzuladen

3.) wähle TEXT oder BASIC Modus

4.) mit ASSIGN wichtige Laufwerke, Drives festlegen (Lw-Buchstaben zuordnen)

5.) poke in folgende Stellen ein paar Zahlen:

7104 BAUD-Rate für TERM, LOW-Byte

7105 BAUD-Rate für TERM, HIGH-Byte

(einige Befehle, wie DIR und RDIR, arbeiten auch mit folgenden Farben)

7112 Farbe 1 (Voreinstellung weiß)

7113 Farbe 2 (Voreinstellung gelb)

7114 Farbe 3 (Voreinstellung grün)

7115 Farbe 4 (Voreinstellung cyan)

7116 Farbe 5 (Voreinstellung braun)

7117 Farbe 6 (Voreinstellung purpur)

7118 Farbe 7 (Voreinstellung gelb)

7122 Echo Status (Voreinstellung 0) 0=ON; $80=OFF

7150 Adresse Drucker (Voreinstellung 4)

7151 Sekundäradresse Drucker+96 (Voreinstellung 96)

5.) Voreinstellung der programmierbaren Funktionstasten

6.) UND SO WEITER . . . UND SO WEITER . . .

Schlüsselwort: BATCH DATEIEN

siehe auch: IF, GOTO, LOOP, BEGIN, GETKEY, EXEC, AUTOEXEC

Batch Dateien sind den MS-DOS "*.BAT"-Dateien sehr ähnlich, man braucht sie nicht extra zu starten ('execute'). Gib' nur den Dateinamen in der Befehlszeile ein -mit oder ohne Parameter- und ab geht's. Wenn CS-DOS beim Laden auf Progammdateien stößt (PRG), werden diese gestartet (RUN), sequentielle Dateien (SEQ) werden ausgeführt (EXEC).

Wie im MS-DOS können der Batchdatei Parameter übergeben werden. Enthält deine Batchdatei ('Test') z.B. die Zeile

ECHO %0 %1 %2 %2 %4 %5 %5 %6 %7 %8 %9

und Du gibst

TEST A B C D E F G H I J K L M N O P Q R S T U V

ein, wird das Ergebnis sein:

TEST A B C D E F G H I

Parameter höher als %9 werden ignoriert und %0 ist der Befehlsname selbst. Existiert in der Befehlszeile kein Parameter, wird ein SPACE ausgegeben. Wenn die Batchdatei

ECHO "%1"

wäre, würde

TEST

zu dem Ergebnis

" "

führen.

Eine Batchdatei kann eine andere (oder eine EXEC-Datei) aufrufen, aber die aufrufende wird dadurch beendet, evt. nachfolgende Befehle werden ignoriert.

Batchdateien sind von Floppy- oder RAM-Disk aufrufbar. Zweiteres ist vorzuziehen, da es weniger Probleme gibt und schneller geht.

Eine Batchdatei kannst Du stoppen durch

1.) POKE 7162,0 oder

2.) gleichzeitiges Drücken von C= und CTRL oder

3.) Aufruf einer anderen Batchdatei (die gar nichts tut).

Batchdateien und EXEC-Dateien sind nicht das gleiche; EXEC kann keine Parameter aus der Befehlszeile übernehmen ( %0, %1, ...). Enthielte Deine SEQ-Datei "TEST" die Zeile

ECHO %1 %2 %3

würde EXEC TEST

zu %1 %2 %3 führen,

aber A:TEST

würde TEST (+ 4mal SPACE) ausgeben.

Befehl: BEGIN LOOP

siehe auch: BATCH, GOTO, IF

BEGIN und LOOP kontrollieren den Ablauf einer Batch-Datei. BEGIN speichert die augenblickliche Position der Ausführung, LOOP springt zur durch BEGIN gespeicherten Position zurück. LOOP ohne BEGIN bleibt ohne Effekt.

BEGIN und LOOP arbeiten nur aus Batchdateien heraus, die in der RAM-Disk liegen und bleiben von der Floppy heraus ohne Wirkung.

Beispiel: Batchdatei um Disks auszutauschen ('swapping') unter Verwendung von ARC128

echo Lege Programmdiskette in Laufwerk Z: ein, dann drücke bitte <RETURN>

begin

getkey

if not errorlevel 13 loop

load "z.arc"

echo Lege Datendiskette in Laufwerk Z: ein, dann drücke bitte RETURN

begin

getkey

if not errorlevel 13 loop

z:

>i0

run:/ . . %1 %2 %3 %4 %5 %6 %7 %8 %9

run:/1 %1

;

Befehl: CHANGE

siehe auch: FIND, TEXT, BASIC, >, *

Syntax: change/vorher/nachher/, Zeilenbereich

change "vorher" "nachher", Zeilenbereich

Der Befehl change ändert Text oder Basicprogramme, die sich gerade im Speicher befinden. Jeder String "vorher" wird gegen "nachher" im angegebenen Zeilenbereich (Syntax wie im Basicbefehl LIST) ausgetauscht.

Change arbeitet abhängig vom Modus (TEXT/BASIC): kommen im ('vorher' oder/und 'nachher') String Basicschlüsselworte vor (wie 'if' in 'Gift'), werden diese vom Interpreter in die Basic-Tokens umgewandelt (nur im Basicmodus), es sei denn sie werden von Anführungszeichen umgeben ("Gift"). Darum wurde hier auch die alternative Syntax mit den Anführungszeichen aufgenommen.

Beispiele: (die folgenden sind äquivalent, bewirken das gleiche)

change/lda/ldy/

cange :lda:ldy:,0

change"lda""ldy"

change "lda" "ldy"

Im folgenden wird ein Protokoll der Austauschvorgänge in einer Diskdatei festgehalten (es sind nur die Zeilen 1000-2000 betroffen):

change/lda/ldy/, 1000-2000 >Dateiname

Befehl: CHECK

CRC

siehe auch: DIR, *, PATTERNLIST, >, INT16

Syntax: check patternlist

crc patternlist

Dieser Befehl listet wortreich Directories. Er glaubt nicht (wie der DIR-Befehl) das was in der Directoryspur steht, sondern verfolgt jede Datei von Anfang bis Ende und berechnet die exakte Dateigröße, sowohl in Bytes, als auch Blöcken. NUR: REL-Datei 'side sectors' werden ignoriert.

Außerdem erfolgt die Angabe der Start- und Endadressen und RECORD-Längen (REL).

CHECK und CRC sind gleich, bis auf den 'zyklischen Redundanzcheck' (CRC) einer jeden Datei in der Patternlist. CHECK arbeitet sich blockweise, CRC byteweise durch die Dateien, deshalb ist CHECK auch schneller.

Hast Du einen Text oder ein BASIC-Programm im Speicher, läßt CHECK das kalt, aber CRC wird es abklopfen.

Mit CRC kannst Du auch die Integrität eines Archivs testen. Der angezeigte CRC-Wert sollte gleich dem sein, den CRC durch ARC oder PKARC anzeigte, als ein MS-DOS Archiv-Directory angezeigt wurde. Vermutest Du einen Fehler, wird CRC ihn finden, oder Deine Bedenken zerstreuen.

Suchmuster sind hier besonders mächtig (siehe PATTERNLIST).

CHECK kann sehr nützlich sein, die Inhalte von Archiven (oder Disketten) zu katalogisieren. Da CHECK mit der selben Art Suchmuster arbeitet wie ARC, könntest Du CHECK benutzen, bevor ein Archiv eingerichtet und dessen Ausgabe in eine Disk-Datei (z.B.: "diesesarc.chk") umgeleitet wird. Dann hole (mit GET) "diesearc.chk" ins RAM, füge zu den links gelisteten Dateien am rechten Rand ein paar beschreibende Stichworte ein, über oder/und unter der Directory noch ein paar Kommentare und schreibe das ganze (PUT) auf Diskette zurück. Nimmst Du nun die '.chk'-Datei ins Archiv auf (oder benutzt sie als Titelbildschirm eines SDA), kann jeder glänzen sehen, worum es in Deinem Archiv geht.

Beispiele:

check a:*.mus b:*.pic checkt alle Dateien in Laufwerk a: , deren Namen

mit '.mus' endet oder auf Laufwerk b: mit '.pic'

crc &*=p Directory für alle Dateien auf Laufwerk c:, außer

Programmen

check b:r* >ch.hlp gab folgenden Ausdruck:

============================================================

d:filename type bytes blocks

============================================================

"b:ren.asm" seq 1,772 7

"b:ren" prg 191 1 $0b00-0bbd

"b:remove.asm" seq 2,788 11

"b:remove" prg 297 2 $0b00-0c27

"b:rdoff.asm" seq 1,574 7

"b:rdoff" prg 215 1 $0b00-0bd5

"b:rdir.asm" seq 2,090 9

"b:rdir" prg 298 2 $0b00-0c28

"b:relfile" rel 1,409 6 rl = 128

============================================================

9 file(s) 10,634 46

Befehl: CHANGEUNIT

Syntax: changeunit LaufwerkAlt to LaufwerkNeu

Dies ist Jim Butterfields Public Domain "drive address Change"-Programm, so angepaßt, daß auch die Befehlszeilen-Parameter abgearbeitet werden. (Dies ist auch ein Beispiel dafür, daß BASIC-Programme Befehlszeilen-Parameter übernehmen können!)

Da das ein BASIC-Programm ist, wird Text oder ein schon vorhandenes BASIC-Programm aus dem Speicher 'rausgeschmissen.

changeunit 8 to 9 ändert Laufwerk 8 auf Adresse 9

changeunit 9 8 ändert wieder zurück ('to' ist optional)

changeunit 8 14 I dieser 3-Zeiler könnte eine nützliche

changeunit 9 8 I EXEC-Datei sein, Laufwerksnummern

changeunit 14 9 I 8 und 9 gegeneinander zu tauschen

Bist Du ein Zeitschinder, kannst Du ein paar Millisekunden sparen:

changeunit 8 14

run: 9 8

run: 14 9

Befehl: COMP

Syntax: comp s:ErsteDatei d:ZweiteDatei

Comp vergleicht zwei Disk-Dateien und gibt nicht nur 'gleich' oder 'ungleich' aus, sondern zeigt genau die Bereiche an, die gleich und die die ungleich sind.

Da es viele verschiedene Möglichkeiten gibt, wie sich zwei Dateien unterscheiden können, wird jede Vergleichsfunktion ihre Grenzen haben; COMP deckt natürlich zahlreiche Fälle ab.

COMP wurde geschrieben, um ARC zu 'debuggen' (Fehler zu finden). Dateien wurden ge-ARC-t und anschließend ent-ARC-t, um sie mit dem Original zu vergleichen. Erst als es keine Unterschiede mehr gab, konnte ARC in Ordnung sein.

Auch wenn ein Programm eine Datei ausgibt, kannst Du erkennen, wie geänderte Eingaben sich auf die Ausgabedatei auswirken.

Beispiel: nimm an "Datei a" enthält folgendes Programm:

1000 dopen#1,"relDatei",l20

1010 for x=1 to 10: print#1,"recordNummer ";x:next

1020 dclose#1

und "Datei b" enthält:

1010 dopen#1,"relDatei",l15

1010 for x=1 to 99: print#1,"recordNummer ";x:next

1020 print#1, "Ende"

1030 dclose#1

so gibt COMP aus:

a:Datei a a:Datei b

-------------------------------------------------------------------

offset addr1 addr2 match? comments

-------------------------------------------------------------------

000000 001c01 001c01 yes files start out the same

000016 001c15 001c15 no two bytes are different

000018 001c17 001c17 yes a bunch more the same

000025 001c24 001c24 no two more different

000027 001c26 001c26 yes a bunch more the same

000040 001c3f 001c3f no remaining bytes are mostly

000041 001c40 001c40 yes not alike. (only short

000044 001c43 001c43 no "yes" intervals)

00004a eof 001c49 no file a ends. $4a bytes long

00005b eof eof no file b ends. $5b bytes long

übersetzt:

a:Datei a a:Datei b

-------------------------------------------------------------------

offset addr1 addr2 gleich? Kommentar

-------------------------------------------------------------------

000000 001c01 001c01 ja Dateien starten gleich

000016 001c15 001c15 nein zwei Bytes sind unterschiedlich

000018 001c17 001c17 ja eine handvoll Gleichheit

000025 001c24 001c24 nein zwei Bytes mehr unterschiedlich

000027 001c26 001c26 ja eine handvoll Gleichheit

000040 001c3f 001c3f nein verbleibende Bytes sind überwiegend

000041 001c40 001c40 yes ungleich (nur kurze Intervalle

000044 001c43 001c43 no der Übereinstimmung)

00004a eof 001c49 no Datei a zu Ende. $4a Bytes lang

00005b eof eof no Datei b zu Ende. $5b Bytes lang

Beachte, eof ist nie eine Übereinstimmung, da eof bedeudet 'es gibt keine Daten mehr' (und nicht: 'dies ist das letzte Byte der Datei').

Befehl: COPY

siehe auch: >

Syntax: copy s:Quelldateiname d:Zieldateiname

Copy verschiebt Dateien zwischen Laufwerken hin und her. Copy liest die Quelldatei in einen 32K Puffer in Bank 1 und schreibt sie dann ins Ziel. Dabei bleiben Programme im Speicher unberührt, aber definierte BASIC-Variablen gehen verloren.

Wird s: (Source,Quelle) oder d: (Destination,Ziel) ausgelassen, nimmt der Befehl das Default Laufwerk an, aber die Dateinamen sind beide anzugeben.

Copy ist bei weitem nicht das beste Filecopyprogramm; Du hast sicher 'n paar 'rumhängen, die Du anstatt Copy INSTALLieren kannst. Da aber Copy aktuelle Programme im Speicher nicht anrührt, ist es doch interessant, so zwischendurch -während BASIC- oder Textbearbeitung- eben 'mal 'ne Kopie zu fertigen.

Beispiele:

copy a:diese b:jene kopiert 'diese' Datei von a: als 'jene' auf b:

copy a:diese jene kopiert 'diese' Datei von a: als 'jene' in Default

copy a:diese b:jene das gleiche wie: '>c1:jene=0:diese'

unter der Annahme eines Doppellaufwerkes mit

a: als Drive 0 und b: als Drive 1

Befehl: DATE

siehe auch: ARC, INT14, INT15

Syntax: date tt,mm,jjjj

Stellt das Datum (Default ist 1. Januar 1980). tt = Tag (1 bis 31), mm = Monat (1 bis 12), jjjj = Jahr (1980 bis 2107). Für Jahre in diesem Jahrhundert kann das '19' entfallen (1.1.1987 = 1.1.87).

ARC ist der einzige Befehl der auf DATE zurückgreift.

Befehl: DCLEAR

siehe auch: EXEC, *, >

Syntax: dclear

Dieser Befehl schließt alle offenen Diskdateien, ist aber etwas unterschiedlich zum BASIC DCLEAR. Es wirkt wie:

close15: for dv= 8 to 30: open 15,dv,15: close15: next dv

Gelegentlich, bei Ausgabeumleitung über EXEC, * oder > kann eine Datei offen bleiben, wenn das READY. erscheint. dclear verhindert unkorrekt geschlossene Dateien.

Dclear wird die Ausführung einer EXEC Datei NICHT unter- oder abbrechen, Du kannst es dort also ohne weiteres einsetzen.

Befehl: DEL

siehe auch: VDEL, >

Syntax: del d: Muster1 d: Muster2 . . .

Del löscht bestimmte Dateien. Es ist eine Batchdatei und eine Sonderform des VDEL, welches weiter geht und annimmt, Du hättest alle Abfragen des VDEL mit 'Ja' beantwortet.

Eine DEL Batchdatei sieht etwa so aus:

vdel/a %1 %2 %3 %4 %5 %6 %7 %8 %9

DEL wird kein 1581 - Unterverzeichnis löschen können, auch keine offene oder nicht ordnungsgemäß geschlossene Datei (nimm dazu: >s0:Name )

Beispiele: del *.arc löscht alle Archive

del a:a b:b c:c löscht die drei Dateien 'a', 'b' und 'c'

Befehl: DIR

siehe auch: CHECK, CRC

Syntax: dir/w Muster

Wirft ein einfaches Directorylisting aus. Muster ist irgendein zulässiger Dateiname und kann die Joker * und ? beinhalten. Die '/w'-Option zeigt nur Dateinamen an, unter Ausnutzung der ganzen Bildschirmbreite.

Beispiele:

dir c:*=p gleich wie: CATALOG D0 ON U9,"*=P

dir/w c:*=p gleich wie oben, zeigt aber nur Dateinamen an

*dir sendet Defaultdirectory zum Drucker

dir/w c: >Namen sendet Directory des Laufwerks c: in eine SEQ-

Datei mit 'Namen' ins Defaultlaufwerk

Befehl: EXEC

siehe auch: *, >, >>, GET, PUT, INT20, BATCH FILES

Syntax: exec seqDateiname

Wenn Du die DOS-Shell bootest, sucht sie im Laufwerk a: eine SEQ-Datei namens 'autoexec' und führt aus, was immer darin steht und zwar so, als wären die Eingaben über die Tastatur erfolgt. Dies funktioniert, weil sich die DOS-Shell 'exec autoexec' selbst in die Befehlszeile schreibt.

Hast Du jemals SYSRES im 64'er Modus gebraucht, bist Du vielleicht mit EXEC-Dateien vertraut und weißt, wie nützlich sie sein können.

Wenn Du eine Datei 'EXEC' (ausführst) passiert folgendes:

Die Shell versucht die Datei zu öffnen. Existiert diese nicht, oder gibt es einen Diskfehler, passiert überhaupt nichts.

War bis hier alles in Ordnung, wird der Computer jedesmal wenn er ein Zeichen von der Tastatur (Geräteadresse 0) holen will, auf die EXEC-Datei umgeleitet. Dabei ist es egal, ob er sich im Direkt- oder Programm-Modus befindet, oder ob Du INPUT oder GET benutzt, -das KERNAL glaubt, mit der Tastatur zusammenzuarbeiten, tatsächlich ist's aber die EXEC Datei.

Am Ende der EXEC Datei wird die normale Tastaturfunktion wiederhergestellt.

EXEC versucht so unauffällig wie nur irgendmöglich zu sein, aber es gibt doch ein paar Einschränkungen: Da EXEC seine Daten von der Diskette holen muß (Sektor für Sektor), kann es passieren, daß eine Diskdatei göffnet werden soll, während EXEC arbeitet. Das geht nur, wenn EXEC mehr als einen Block lang ist.

Die andere Einschränkung: BASIC kann 'nur' maximal 10 Dateien gleichzeitig geöffnet halten (was aber im allgemeinen genügen sollte). Eher könnten Laufwerke ausgereizt sein, die mit weniger geöffneten Dateien gleichzeitig umgehen.

Es gibt ein Paar POKEs die vielleicht in EXEC hilfreich sein können:

$1bfa (7162) eine Null hier unterbricht EXEC, 255 fährt weiter

$1beb (7147) normalerweise wird EXEC jedes Zeichen aus der EXEC-Datei

auch auf den Bildschirm werfen. 255 schaltet das aus, Null

wieder ein.

Befehl: FIND

siehe auch: CHANGE, TEXT, BASIC, >, *

Syntax: find/string/,Zeilenbereich

find"string",Zeilenbereich

Find sucht alle Stellen (im Text oder Programm), an denen 'String' vorkommt und zeigt diese an; Zeilenbereich entspricht der Syntax des Basicbefehls 'LIST'.

FIND arbeitet im Text- etwas anderst als im Basic-Modus: Im Basicmodus wird der Suchstring durch den Interpreter 'TOKEN-isiert', was durch Anführungszeichen um den Suchstring zu verhindern geht.

Der Begrenzer um den Suchstring kann irgendein Zeichen sein, ohne angegebenenen Zeilenbereich ist der Schlußbegrenzer optional.

Die folgenden Beispiele sind äquivalent:

find/lda/

find :lda

find *lda*.0-

find"lda"

find restorelda (im BASIC-Modus)

Befehl: GET

siehe auch: PUT, TEXT, SCROLL

Syntax: get/a Dateiname,Startzeile

Der GET-Befehl lädt SEQuentielle Textdateien zum editieren in den Speicher. Der Schalter /a ist optional und wandelt dabei die Datei von Standard- in Commodore-ASCII um.

Ohne angegebene Startzeile wird die Textdatei alles überschreiben, was sich bereits im Speicher befindet. Mit einer Startzeile werden die Zeilen kleiner oder gleich der angegebenen erhalten, nur die höheren werden überschrieben.

Dateiname ist irgendein zulässiger, den das Laufwerk finden kann, aber SEQ-Typs sein muß.

GET kann natürlich keinen Text über den top-RAM-pointer (RAM-Endzeiger) hinaus laden, längere Texte werden einfach gekappt, ebenso werden Zeilen >160 Zeichen auf 160 Zeichen gestutzt.

GET prüft nicht, ob die angegebene Datei tatsächlich ein gültiges Textfile ist, weshalb u.U. Abstürze vorkommen (normalerweise harmlos). In diesem Fall RESET-Knopf drücken, SYS 6000 eingeben und Du bist zurück in der DOS-Shell.

Beispiele:

get helptext holt 'helptext' vom Default-Laufwerk

get b:helptext holt helptext von Laufwerk b:

get "helptext",5000 merge-t helptext ins RAM, Beginn nach Zeile 5000

get/a "capture buffer" holt Standard-ASCII-Datei vom Default-Laufwerk als

Commodore-ASCII ins RAM

Befehl: GETKEY

siehe auch: BATCH, IF, GOTO, LOOP, BEGIN

Syntax: getkey

Getkey wartet auf einen Tastendruck. Der ASCII-Wert der gedrückten Taste wird als 'errorlevel' ausgegeben. Getkey wird hauptsächlich in Batchdateien angewendet.

Befehl: GETRAM

siehe auch: PUTRAM, RAMDISK

Syntax: getram d:Dateiname

Hast Du einmal die Befehle INSTALLiert, die Du benutzen möchtest, kannst Du sie mit PUTRAM in einem Stück auf Disk speichern, dann brauchst Du die INSTALLation nicht jedesmal neu durchrackern.

GETRAM stellt die RAM-Disk (wie mit PUTRAM abgespeichert) wieder her und ist folgendem BASIC-Befehl gleich:

BLOAD "Dateiname", B(BankRAM-Disk), P(AdresseRAM-Disk), Dx on Uy

Es wird nicht geprüft, ob die Datei "Dateiname" auch in den angegebenen Speicherplatz hineinpaßt, so sei bitte umsichtig.

Beispiele:

getram c:Assemblerstoff holt 'Assemblerstoff' von Laufwerk c:

getram ARC-stoff holt 'ARC-stoff' vom Defaultlaufwerk

Befehl: GOTO

siehe auch: BATCH, IF, LOOP, BEGIN

Syntax: goto label

Springt in einer Batchdatei vorwärts bis zum angegebenen Label. 'Label' ist irgendeine Zeile, die in Position Null einen Doppelpunkt ':' hat. Der Batch

goto there

: there

echo hi

:there

echo bye

würde 'bye' auswerfen und nicht 'hi' (und 'bye'), das erste :there wird nicht als Label anerkannt.

Du kannst nur vorwärts (und nicht rückwärts) durch die Batchdatei suchen.

Befehl: IF

siehe auch: BATCH, BEGIN, LOOP, GOTO, GETKEY, ;

Syntax: if exist Muster Befehl

if String1 = String2 Befehl

if errorlevel N Befehl

If wird in Batchdateien zur Ablaufsteuerung eingesetzt.

'Befehl' kann ein BASIC- oder CS-DOS-Befehl sein.

Nur wenige CS-DOS-Befehle geben einen sinnvollen errorlevel zurück. Generell gilt, errorlevel 0: der Befehl tat was Du von ihm erwartet hast, irgendeine andere Zahl: aus irgendeinem Grund ist etwas schiefgelaufen.

'if exist Muster Befehl' führt den Befehl nur aus, wenn das Dateisuch-Muster existiert

'if String1 = String2 Befehl' führt den Befehl nur aus, wenn String1 = String2

'if errorlevel N Befehl' führt den Befehl nur aus, wenn der letzt vorhergehende Befehl

den Wert N als errorlevel rückgemeldet hat.

Z.B. eine Batchdatei, die auf dem DEL Befehl aufbaut, - laß' sie uns "lösche" nennen:

if "%1" = " " goto usage

if "%2" = "ifon" goto delif

del %1 %2 %3 %4 %5 %6 %7 %8 %9

goto done

:delif

if "%3" = " " goto usage

if exist %3%1 del %1

goto done

:usage

echo usage %0 Dateiname ifon d: ('ifon d:' ist optional)

:done

;

Der Aufruf mit 'lösche Name' wäre zwar der gleiche wie 'del Name', aber beim Aufruf mit 'lösche Name ifon b:' wird nur die Datei im Defaultlaufwerk löschen, wenn eine gleichnamige Datei in Laufwerk b: existiert.

Oder hier eine Batchdatei, die ein Programm assembliert und reinstalliert. Nimm an, wir nennen sie "assm" und wollen sie mit 'assm Name' aufrufen:

asm %1 , asm %1

if not errorlevel 0 goto error

remove %1

install %1

goto done

:error

echo Assembler-Fehler !!!

:done

;

Befehl: INSTALL

siehe auch: REMOVE, SETRAM

Syntax: install/bank d:Muster d:Muster . . . .

Installiert eine neue Datei von Diskette in die RAM-Disk.

Bank ist eine einstellige Hex-Zahl für die Bank (0 bis F entsprechend dez. 1 bis 15), in der das Programm ausgeführt werden soll. Voreingestellt ist F, solange nichts anderes angegeben wird.

Install versucht Fehler zu erkennen, es ignoriert Dateien, die nicht Programm sind und installiert nicht über das Ende der RAM-Disk hinaus (was auch immer das Ende des RAM's für BASIC war, als RAM-Disk installiert wurde).

INSTALL läßt Dich auch SEQ-Dateien in die RAM-Disk installieren. Als Voreinstellung geht INSTALL davon aus, daß eine SEQ-Datei ein Batch ist. SEQ-Dateien sind auch als TYPE-Dateien installierbar. TYPE-Dateien werden auf dem Bildschirm ausgedruckt, wenn Du ihren Namen nach dem READY.-Prompt eintippst. Das finde ich bequem, um Speicherbelegungen (memory maps), BBS Telefonnummern, I/O Register u.s.w. anzusehen. TYPE-Dateien können mit einem Argument versehen werden, dann kommen nur die Zeilen zum Ausdruck, die das Argument enthalten. Hast Du z.B. eine Type-Datei namens 'p', die folgende Zeilen enthält:

GEnie 793-1256 (jkl987,smedlap)

Dragon's Lair 956-1234 (password)

com1 458-0039 (hunk)

dann würde 'p com1' nur die dritte Zeile anzeigen, 'p' alleine, aber die ganze Datei.

Um eine SEQ-Datei als Batchdatei zu installieren, benutze 'install Name' ; als Typedatei nimm 'install/t Name' .

Beispiele:

install *=p installiert alle Programme auf dem Defaultlaufwerk

install &arc installiert alle Dateien auf dem Defaultlaufwerk, außer 'arc'

install a b c installiert 'a', 'b' und 'c'

install/t esc installiert SEQ-Datei "esc" als Type-Datei

Befehl: Merge

siehe auch: EXEC, >, *

Obwohl Du MERGE nicht siehst, wenn Du den Inhalt der RAM-Disk mit RDIR listest, ist es im EXEC-Befehl enthalten.

Programmierst Du in BASIC, kannst Du eine ganze Bibliothek von Unterroutinen aufbauen, die Du später, wie folgt, in Dein aktuelles Projekt MERGEn kannst:

Erst kodiere, prüfe (debug) und teste die Routinen, bis alles glatt läuft. Dann als ASCII-Datei auf Disk speichern mit

list Zeilenbereich >Dateiname

Zeilenbereich ist der Bereich der Subroutine, der gespeichert werden soll.

Später, wenn Du die Subroutinen in andere Programme aufnehmen willst ('Merge'), ist alles was zu tun ist: EXEC ('ausführen'). Dies wäre das selbe, als die Zeilen nochmals per Tastatur einzutippen.

COLD Computer Reset

FORTY schaltet in den 40-Zeichen RGB-Modus

EIGHTY schaltet in den 80-Zeichen RGB-Modus

PUSHDIR sichert das aktuelle Defaultlaufwerk (nützlich in Batchdateien)

POPDIR restauriert das Defaultlaufwerk auf das, das durch PUSHDIR gespeichert wurde

; tut nichts. Es ist nur dazu da, Kommentare in Batchdateien einzufügen

cd eine Batchdatei, um 1581-Partitions zu wechseln

# I Dies sind noch ein paar Batch- oder Type- Dateien,

rd I RSAVE sie auf die Floppy, TYPE

esc I und schaue dann nach,

cls I was sich jeweils darin/dahinter

colors I verbirgt.

Befehl: MOVE

siehe auch: COPY, PATTERN

Syntax: move s:pattern d:

MOVE kopiert Dateien von einem Laufwerk zu einem anderen. Dabei liest MOVE die Datei vom Quell-Laufwerk ('source', s:) in einen 32K-Puffer in Bank 1 und schreibt sie dann ins Ziellaufwerk ('destination', d:). Irgendwelche Programme im Speicher werden nicht beeinflußt, aber definierte BASIC-Variablen gehen verloren. Wird s: oder d: ausgelassen, setzt CS-DOS das Default-Laufwerk ein. Mit diesem Befehl sind erweiterte Suchmuster anwendbar.

Beispiele:

move c:*.arc kopiert alle Archive von Laufwerk c: aufs Default-Laufwerk

move jj* c: kopiert alle Dateien, deren Namen mit 'jj' beginnt, von Default nach c:

move c:* d:* b:* kopiert alle Dateien von Laufwerk c:, d: und b: aufs Default-Laufwerk

Befehl: OLD

Syntax: old

Nach einem 'NEW' oder Reset (mit Resetknopf) ist Dein Programm oder Text zwar noch im Speicher, läßt sich aber nicht mehr LISTen etc. OLD stellt die Programmzeiger wieder her, und alles ist wieder im Lot.

Befehl: PUT

siehe auch: GET, TEXT, SCROLL

Syntax: put/a d:Dateiname,Anfangszeile,Endzeile

Der PUT-Befehl speichert den RAM-Inhalt als SEQ-Datei auf Disk. Der /a -Schalter ist optional und wandelt die Datei ins Standard-ASCII-Format um (und fügt 'linefeeds', Zeilenvorschübe, ein), bevor sie auf Disk gesendet wird.

Bitte Start- und Endzeile angeben, oder beide auslassen (dann werden sie auf 0 bzw. 65535 gesetzt).

Beispiele:

put "DieseDatei" speichert RAM in eine Datei "DieseDatei" auf dem

Default-Laufwerk

put b:JeneDatei,5000 speichert ab Zeile 5000 als "JeneDatei" auf Lw. b:

put text - 5000 speichert bis Zeile 5000 auf das Default-Laufwerk

put range,3000,4000 speichert den Bereich Zeilen 3000-4000 als 'range'

put/a Kapitel9.txt speichert Speicherinhalt als ASCII-Datei 'Kapitel9.txt'

Befehl: PUTRAM

siehe auch: GETRAM, RAMDISK

Syntax: putram d:Dateiname

PUTRAM speichert den Inhalt der aktuell definierten RAMDISK als Diskdatei und entspricht dem BASIC-Befehl

BSAVE"Dateiname",B(Bank),P(Startadresse) TO P(Endadresse+1), Dx on Uy

Mit GETRAM, PUTRAM, INSTALL und REMOVE lassen sich Gruppen Deiner Lieblingsutilities zusammenstellen und etliche Deiner 'Entwicklungen' abspeichern. Z.B. Assemblerzubehör auf eine Disk, Filekopierer und ARC (Archivdateien) auf eine andere, BASIC Programmierhilfen auf eine weitere, u.s.w. Dadurch läßt sich viel 'swapping' (hin- und herkopieren) sparen, besonders, wenn nur ein Disklaufwerk zur Verfügung steht.

Es ist schlau , besonders mit der großen 1750-RAM-Disk, ab und an ein Backup der RAM-Disk zu machen. Obwohl die Daten dort relativ sicher sind, ist es doch möglich, daß irgendwelche harmlos aussehende Programme so den Speicher beschreiben, daß ohne vernünftigen Grund die RAM-Disk zerrissen wird. Das trifft oft auch dann zu, wenn Du irgendwas programmierst und von Zeit zu Zeit Abstürze fabrizierst.

Eine 'zerrissene' RAM-Disk kann man zwar abspeichern (PUTRAM), aber man hätte nichts davon, sie wieder zu laden. Deshalb ist es sinnvoller, auf eine frühere Sicherung zurückzugreifen.

Beispiele:

putram c:modemstuff speichert 'modemstuff' auf Laufwerk c:

putram spritestuff speichert 'spritestuff' auf Default-Laufwerk

Schlüsselwort:RAMDISK

siehe auch: GETRAM, PUTRAM, INSTALL, REMOVE, SETRAM, RDOFF, RDIR

Dateien werden in der RAM-Disk als 'linked list' gespeichert, ganz ähnlich wie BASIC die Zeilen eines BASIC-Programms speichert.

Kein Befehl wird tatsächlich dort ausgeführt, wo er in der RAM-Disk sitzt, - er wird erst dorthin verschoben, wo er ablaufen soll. Dadurch ist die RAM-Disk frei verschiebbar ('completely relocatable'); sie kann heute in Bank 1, morgen irgendwo in Bank 0 und übermorgen im ROM liegen.

Du kannst jedes Programm, das klein genug ist, um in die RAM-Disk zu passen, dadurch laden und starten, indem sein Name in die Befehlszeile eingegeben und RETURN gedrückt wird. Um die Namen leichter eingeben zu können, sind die Dateinamen rename-bar, bevor sie INSTALLiert werden.

Jeder RAM-Disk-Eintrag besteht aus einem kleinen Header, gefolgt von der Datei selbst. Das Format ist:

2 Bytes Offset zum nächsten RAM-Disk-Eintrag. Eine Null signalisiert: Ende der

RAM-Disk erreicht

? Bytes Dateiname, Null wird ausgelassen

1 Byte Ist Bit 7 wahr, handelt es sich um eine SEQ-Datei; Bit 6 wahr = Type-

Datei; anderenfalls: Batchdatei

? Bytes die Datei-Daten folgen

Befehl: RDIR

siehe auch: INSTALL, REMOVE, GETRAM, RDOFF

Syntax: rdir/w

Vielleicht brauchst Du diesen Befehl oft, er listet die Dateien (oder Befehle), die in der aktuellen RAM-Disk gerade vorhanden sind. Im ausgegebenen RAM-Disk Directory sind Dateiname, Start- und Endadresse, gesamt verbrauchter Speicherplatz (im RAM) und noch freier Platz enthalten.

Beispiele:

*rdir schickt RAM-Disk Directory (auch) zum Drucker

rdir >ram1.dir schickt RAM-Disk Directory in eine Textdatei namens 'ram1.dir'

rdir/w Ausgabe der RAM-Disk Directory fortlaufend, anstatt

untereinander (am Bildschirm)

Befehl: RDOFF

siehe auch: SETRAM

Syntax: rdoff

Die RAM-Disk wird gelöscht, der Speicher dem BASIC zur Verfügung gestellt. Dabei vollzieht rdoff verschiedenes:

Erstens: die Flag(s), für den Befehlszeilen-Interpreter werden zurückgesetzt und damit die automatische Suche nach den Befehlen in der RAM-Disk unterbunden. Befand sich die RAM-Disk in einer anderen Bank als 0 oder 1, ist jetzt schon alles zur Abschaltung getan.

Zweitens prüft rdoff, ob sich die RAM-Disk in Bank 0 oder 1 befindet. Wenn ja, wird versucht, den BASIC-Endzeiger wieder so herzustellen, wie er vor der Installation war. Wurde aber in der Zwischenzeit die BASIC-Endadresse durch Programme unterhalb die durch SETRAM gelegten Grenzen verschoben, tut RDOFF nichts (und teilt Dir das auch mit). Ist das nicht das, was Du willst, drücke RESET und gib' 'SYS 6000' ein, um die CS-DOS-Shell zu reaktivieren; so hast Du die RAM-Disk aufgelöst und Dein 'normales' RAM zurück.

RDOFF ist vergleichbar dem NEW (mit dem aber der RAM-Disk-Inhalt nicht beeinflußt wird), es gibt aber kein 'OLD' für RDOFF. Auch SETRAM nach RDOFF kann die RAM-Disk nicht restaurieren. (u.U. sind mit RESET oder COLD-Befehl und SYS 6000 ein paar Zeiger auf die RAM herstellbar).

Befehl: REMOVE

siehe auch: INSTALL, RDIR, SETRAM

Syntax: remove Datei1 Datei2 Datei3 . . .

Löscht Datei(en) von der RAM-Disk. Hier sind leider keine Joker erlaubt, jeder Dateiname ist voll auszuschreiben.

Befehl: REN

Syntax: ren d:DateinameAlt DateinameNeu

Ändert den Dateinamen von 'DateinameAlt' auf 'DateinameNeu' im Laufwerk d: . REN verhält sich wie der BASIC-Befehl RENAME und ist gleichwertig zu:

RENAME "DateinameAlt" TO "DateinameNeu", Dx ON Uy

Beispiele:

ren "a b c" abc um die Leerschritte im Dateinamen loszuwerden

(Anführungszeichen weil Leerschritte im Dateinamen)

ren "a?b?c?" abc ungültig. Keine Jokerzeichen zugelassen

Befehl: RSAVE

siehe auch: INSTALL, RDIR, SETRAM, GETRAM

Syntax: rsave Datei1 Datei2 Datei3 . . .

Kopiert ein Programm aus der internen RAM-Disk in eine Floppy PRG-Datei. Joker sind nicht erlaubt, Datenamen müssen korrekt ausgeschrieben werden.

Beispiele:

rsave a:arc speichert 'arc' von RAM-Disk nach Laufwerk a:

rsave dir put speichert 'dir' und 'put' aufs Defaultlaufwerk

Schlüsselwort:SCROLL

siehe auch: TEXT, BASIC, GET, PUT

Eine der besten Eigenschaften des Commodore BASIC, besonders im 128'er 80-Zeichenmodus ist der Bildschirmeditor; Commodore hat nicht nicht viel ausgelassen, . . . aber das Scrolling. Wenn Du einmal frei mit den Cursortasten durch ein Programm vor- und zurückgescrollt hast, wirst Du diesen Luxus wohl nicht mehr missen wollen. Darum haben wir ein Scroll-Tool mit eingebaut, bei dem auch Leerzeilen kein Problem sind.

Scroll blendet sich im RUN-Modus selbst aus, so daß Beeinflussungen der Programme nicht auftreten dürften.

Scroll braucht nicht viel Erklärung, es sucht sich, wenn der Cursor über den unteren (oberen) Bildschirmrand gesteuert wird, aus dem RAM die nächst-höhere (-niedere) Zeilennummer. Dabei ist es Scroll egal, wo die (erste) Zeilennummer herkommt: es könnte das Ergebnis eines FIND-Vorganges sein, oder schlicht eine eingetippte Zeilennummer.

Befehl: SETRAM

siehe auch: RDOFF, RDIR, GETRAM, RAMDISK, PUTRAM, INSTALL, REMOVE

Syntax: setram Bank, Adresse

setram 1750bank+1, 1750bankanzahl

SETRAM legt Teile des Speicherplatzes aus dem RAM (C128-intern, oder aus der 17xx Erweiterung) als RAM-Disk fest. Irgendwelche Programme, die in die RAM-Disk kopiert werden, verhalten sich wie eingebaute Befehle. In der MS-DOS-Sprache ausgedrückt, verhält sich die RAM-Disk so, als wäre 'RAM-Disk' die einzige Directory in deinem PATH.

Hast Du mehr als ein Laufwerk zur Verfügung und es macht Dir nichts aus, vor jedem Befehl einen Laufwerksbuchstaben einzutippen, kommst Du ganz gut auch ohne RAM-Disk aus. Alle Befehle können gleichwohl von Disk, wie von RAM-Disk gestartet werden.

Hast Du eine 1750, so installiere dort die RAM-Disk und ignoriere die nächsten paar Absätze.

Ohne Speichererweiterung ist es eine gute Idee, eine kleine 8 oder 12K RAM-Disk in Bank 1 zu installieren und dort kleinere vielbenutzte Befehle abzulegen, und die größeren Befehle (Programme) -wie z.B. ARC- von Diskette zu starten. Die 1571 ist doch ganz schön schnell, so daß sich eine RAM-Disk nicht unbedingt lohnt.

RAM-Disk ist in irgendeine der Bänke 0 bis 11 installierbar. Ich weiß nicht, wofür Commodore die Bänke 2 und 3 konzipiert hat, aber meide sie besser für's erste, da SETRAM für diese beiden die BASIC-Zeiger nicht richtig hinbekommt (Bank 2 ist in Wirklichkeit Bank 0 und Bank 3 die 'echte' Bank 1).

Die Bänke 4 bis 11 sind internes und externes ROM. Hast Du Zugriff auf einen EPROM-Brenner, so könntest Du die RAM-Disk in einer dieser Bänke installieren. Bezüglich des Befehlszeilen-Interpreters macht es keinen Unterschied ob es sich um eine RAM- oder ROM-Disk handelt. Deshalb, spiele ein bißchen 'rum, bis Dir gefällt, was Du im RAM hast, sichere das mit PUTRAM als Diskdatei und brenne die dann auf EPROM.

Wahrscheinlicher ist, daß Du die RAM-Disk in Bank 1 oder 0 installierst. Dabei sind ein paar Dinge zu beachten:

Manche Befehle (bis jetzt sind das ARC, MOVE und COPY) nutzen Bank 1 als Ein-/Ausgabepuffer, der dort beginnt, wo die DOS-Shell endet ($4000) und bis zum Ende des BASIC-RAM (d.h. falls in Bank 1 Deine RAM-Disk sitzt, bis zu deren Beginn) reicht. Gerät die RAM-Disk zu groß, wird der Puffer zu klein und der Schreib-/Lesekopf des Laufwerks muß Extraschichten einlegen (besonders wenn nur ein Laufwerk zur Verfügung steht).

Auch Bank 0 ist kein sonderlich gut geeigneter Ort für die RAM-Disk. Da es sehr einfach geht, eigene Programme für Bank 0 zu schreiben, kann es gut sein, daß die RAM-Disk durch dein Programm 'vernascht' wird. ARC benötigt RAM bis $C000 (49152) in Bank 0, deshalb ist dies die niedrigst mögliche Adresse, wenn ARC benutzt werden soll. Kein Befehl geht über $C000 hinaus, deshalb ist dieser Bereich ziemlich sicher (wenn er Dir reicht).

Ich werde versuchen, so gut es geht, den Bereich oberhalb $C000 in allen Bänken freizuhalten (mit LHA ist's nicht möglich).

In allen Bänken ist die absolut niederigste Adresse für die RAM-Disk $4000 (16384).

Für die 1750 lautet die Syntax:

setram ErsteBank,AnzahlBänke

wobei 16, 17 . . . 23 für 'ErsteBank' den 1750-Bänken 0, 1 . . . 7 entspricht. So reserviert

setram 16,8

die ganze 1750,

setram 22,2

nur die letzten beiden Bänke für die RAM-Disk. Es ist möglich, mehr als eine RAM-Disk zu installieren, aber es kann jeweils nur eine aktiv sein.

Da es recht lange dauert, eine große RAM-Disk in die 1750 einzuladen, initialisiert SETRAM die RAM-Disk nicht. Das bedeudet, was auch immer gerade in der RAM-Disk steht, wird als gültige RAM-Disk angesehen. Die AUTOEXEC-Datei, die mit dem CS-DOS kommt, prüft anhand des IF-Befehls, ob die RAM-Disk gültig ist. Ist der IF-Befehl vorhanden, wird eine intakte RAM-Disk angenommen und so die Zeit gespart, sie nochmals laden zu müssen.

Für die Initialisierung der RAM-Disk gibt es zwei Möglichkeiten. Erstens mit GETRAM eine früher ge-save-te RAM-Disk einladen. Zweitens mit dem BASIC-Befehl STASH zwei Nullen an den Anfang der RAM-Disk setzen. Letzteres ist auch notwendig, wenn nach einem SCRATCH eine neue RAM-Disk aufgebaut wird.

Beispiel: (Einrichtung einer RAM-Disk in 1750-Bank 0 und deren Initialisierung)

setram 16,1

poke4864,0:poke4865,0

stash 2,4864,bank,0 (bank=erste benutzte 1750-Bank, hier 0)

weitere Beispiele:

a:setram 1,$b000 installiert RAM-Disk in Bank 1 bei 45056

a:setram 0,49152 installiert RAM-Disk in Bank 0 bei $c000

a:setram 8 $4000 installiert RAM-Disk in die Cartridge. Ist irgendetwas

außer RAM-Disk dort, sind die Ergebnisse unvorher-

sehbar

a:setram 16,1 nutzt nur die erste Bank der REU 17xx

Befehl: TEXT

Befehl: BASIC

siehe auch: GET, PUT, FIND, CHANGE, SCROLL

Syntax: text

Syntax: basic

Wählt den Text- bzw. Basicmodus. Die Editorbefehle FIND, CHANGE und LIST, sowie das SCROLL-ing verhalten sich etwas unterschiedlich, abhängig vom gewählten Modus.

Wie wir alle wissen, spart BASIC ein wenig Platz und Zeit, indem Befehle token-isiert (in eine 'Abkürzung umgewandelt') werden. Diese Token sind nur ein Byte groß. Beim LIST-en eines BASIC-Programmes werden die Token entsprechend rückübersetzt. Hier liegt das Problem, wenn mit dem BASIC-Editor Textdateien bearbeitet werden. Viele übliche Zeichen einer Textdatei (in Verbindung mit Großbuchstaben) werden beim LIST-en 'rückübersetzt', oder von BASIC aus token-isiert. Dies ist durch die Wahl des Modus abschaltbar (Text-Modus) oder einschaltbar (BASIC-Modus).

Bist Du mit der Token-isierung nicht vertraut, probiere sie doch einfach aus, indem Du ein BASIC-Programm einmal im Text- und einmal im BASIC-Modus LIST-est. Dann gib ein paar Zeilen im Text-Modus ein (unter Verwendung von Großbuchstaben) und LIST-e sie in beiden Modi . . . und sehe, was ich meinte.

Bei Moduswechsel ändert sich die Bildschirm-Vordergrundfarbe (als Gedächtnisstütze).

Befehl: TIME

siehe auch: DATE

Syntax: time hhmmss

Setzt die Uhr (bei $dc08) auf die angegebene Zeit.

Da viele Programme in der Uhr 'rumfummeln, ist es müßig, 'was vernünftiges zu machen und es ist durchaus wahrscheinlich, daß die Zeit ab und an verloren geht.

Trotzdem kann die Zeit gut für eine Zeitmessung genutzt werden und bei Vermeidung 'verletzender' Programme, auch zur Anzeige der Tageszeit.

Beispiele:

time zeigt die aktuelle Zeit an

time 1:34 setzt die Zeit auf 1:34:00.0

time 024515 setzt die Zeit auf 2:45:15

time 0 setzt die Zeit auf 0:00:00.0

Ein Beispiel für eine Batch-Datei:

time 0

arc/.. %1 %2 %3 %4 %5 %6 %7 %8 %9

echo Vergangene Zeit:

time

Befehl: TYPE

siehe auch: *, >, >>

Syntax: type/x d:Dateiname

Type zeigt Dateiinhalte an.

/x ist optional, x kann sein:

a wandelt die Ausgabe von PETSCII in Standard-ASCII um

p wandelt die Ausgabe von Standard-ASCII in PETSCII um

s zeigt die Datei als Bildschirmcode

h zeigt die Datei als Hexadezimal-Bytes

Joker dürfen benutzt werden, zur Anzeige kommt aber nur die jeweils erst-gefundene Datei.

In Verbindung mit /s (Bildschirmcode) funktionert die parallele Ausgabe auf Diskette oder Drucker leider nicht.

Beispiele:

type read.me zeigt 'read.me' ohne Umwandlung an

*type/p read.me kopiert 'read.me' auf den Drucker, umgewandelt

von Standard-ASCII auf PETSCII

type/s *=p zeigt erste Programmdatei des Default-Laufwerks

als Bildschirmcode an.

type/a pet.txt >asc.txt kopiert 'pet.txt' als 'asc.txt' unter Konversion

(Umwandlung) von PETSCII- nach ASCII-Code

Befehl: VAL

siehe auch: COMMAND LINE, INT11

Syntax: val Zahl Zahl Zahl . . .

Val zeigt den Wert eines Ausdrucks (zwei Bytes) in verschiedener Form an.

'Zahl' kann sein:

%Binärzahl

(Klammeraffe)Oktalzahl

Dezimalzahl

$Hexadezimalzahl

Der 'Ausdruck' wird in jedem der Zahlensysteme angezeigt und auch in Bildschirmcode.

Beispiele:

Eingabe Ausgabe

val $4000 $4000 16384 %0100000000000000 -(Klammeraffe)

val %11 Kla11 11 $11 $0003 3 %0000000000000011 Kla c

$0009 9 %0000000000001001 Kla i

$000b 11 %0000000000001011 Kla k

$0011 17 %0000000000010001 Kla q

Befehl: VDEL

siehe auch: DEL

Syntax: vdel/a Suchmuster (. . .Suchmuster . . .)

Scratch-t (löscht) die angegebene(n) Datei(en). Bis zu 20 Suchmuster können unter Verwendung aller Joker eingesetzt werden. Bevor jede einzelne Datei tatsächlich gelöscht wird, erfolgt eine Sicherheitsabfrage; beantwortet mit 'n' oder <RETURN> wird nicht gelöscht, 'y' löscht. Als dritte Möglichkeit kann * eingegeben werden, es weist vdel an, ohne weitere Sicherheitsabfrage(n) fortzufahren.

Der optionale Schalter /a (wie 'always' = 'immer') übergeht von vornherein die Sicherheitsabfrage(n) (umsichtig handhaben!).

Mit vdel können keine 1581-Unterverzeichnisse und keine offenen oder nicht richtig geschlossenen Dateien gelöscht werden (aber mit ' >s0:Name' der Wedge geht's).

Beispiele:

vdel &*.arc löscht alle Dateien außer Archiven vom Default-Laufwerk

vdel a:* b:* löscht alle Dateien aus Laufwerken a: und b:

Befehl: >

siehe auch: COPY, REN, DEL, MOVE

Syntax: >Diskbefehl

> schickt einen Diskbefehl zum Default-Laufwerk. > alleine, holt den aktuellen Diskstatus vom Default-Laufwerk und zeigt ihn an. Dies ist einer der wenigen fest eingebauten Befehle.

Beispiele:

>i0 initialisiert Drive 0 des Default-Laufwerks

>n0:1571 disk,ss formatiert Diskette

>u0>m1 schaltet die 1571 in den 1571-Modus

>uj läßt eine 4040 rasseln und schnarren (A.d.Ü.: ???)

> entspricht 'PRINT DS$'

Schlüsselwort: ARC 2.41

ARC 2.41 ist im Grunde das gleiche wie die 64'er Version ARC 2.30, deshalb erstmal die Unterschiede.

Am wichtigsten: die 128'er Version ist zur 64'er 100%ig kompatibel, d.h. Archive, unter 128 erstellt, können vom 64'er aufgedröselt werden und umgekehrt.

ARC/C wurde 'rausgeschmissen. ARC/A erstellt nun sowohl neue Archive, als auch Erweiterungen ('append') bestehender Dateien. ARC prüft, ob ein Archiv bereits existiert, wenn ja, wird automatisch angefügt ('append'); wenn nein wird ein neues Archiv angelegt.

ARC/M ist aufgenommen. Es entspricht im wesentlichen dem ARC/A, nur daß eine neu ins Archiv aufgenommene Datei vom Source-(Quell-)Laufwerk automatisch gelöscht wird (deshalb umsichtig anwenden!).

Eine Kurzübersicht der ARC-Syntax bekommst Du mit

ARC/?

Der größte Unterschied zwischen den beiden Versionen offenbart sich, wenn Du stolzer Besitzer einer 1571 oder 1581 bist: die Geschwindigkeit. Infolge besseren Pufferns und der besseren 71'er Übertragungsrate, ist ARC nun etwa 3mal schneller, als in der Kombination 64/1541. Auch IEEE-Drives sind schneller (hauptsächlich durch die 2MHz Taktrate).

ARC wurde auf einem System mit je einer 1571, 1581, 4040, 8250 getestet.

Da ARC mit einem großen Puffer in Bank 1 arbeitet, gibt es viel weniger Disk-Aktivitäten sowohl beim anlegen, als auch beim aufdröseln von Archiven auf Single Drive Systemen (mit nur einem Laufwerk). Der Puffer ist Inputpuffer beim auflösen, Outputpuffer beim anlegen der Archive. Befehle, die keinen Nutzen aus dem Puffer ziehen, benutzen ihn auch nicht (z.B. ARC/P oder ARC/L).

Neu sind die erweiterten Suchmuster (an anderer Stelle beschrieben), die bei Errichtung der Archive benutzt werden können. Zur Extraktion aus Archiven gelten (immer noch) die Standard CBM-DOS Suchmuster (Joker).

Letztlich konnte ARC 2.30 keine relativen Dateien mit Ein-Laufwerk-Konfigurationen extrahieren, da ARC 2.30 sowohl das Archiv, als auch die relative Datei gleichzeitig offenhalten mußte ('das ging mit einer 1541 nicht so gut' und mündete in einen 'no channel error'). Das ist jetzt bereinigt.

Bist Du mit der 64'er Version bereits vertraut, ist das alles, was Du wissen mußt.

Hinzufügen von Dateien in ein Archiv

arc/a <d:ArcDatei.arc> <s:Suchmuster1> <s:Suchmuster2> . . .

arc/ax <d:ArcDatei.arc> <s:Suchmuster1> <s:Suchmuster2> . . .

arc/m <d:ArcDatei.arc> <s:Suchmuster1> <s:Suchmuster2> . . .

arc/mx <d:ArcDatei.arc> <s:Suchmuster1> <s:Suchmuster2> . . .

Diese Befehle erstellen ein Archiv auf Laufwerk d: namens 'ArcDatei.arc' oder erweitern dieses Archiv, sollte es schon vorhanden sein. Bis acht Suchmuster sind zulässig, x kann folgende Werte annehmen:

n ohne Datenkompression werden die Dateien einfach nur abgelegt

p alle Dateien werden gepackt

s alle Dateien werden ge-squeeze-t

q alle Dateien werden ge-squash-t

c alle Dateien werden ge-crunch-t (in zwei Durchgängen)

1 alle Dateien werden ge-crunch-t (in einem Durchgang)

z crunch abschalten. Entspricht ARC/A, außer daß crunching niemals als

Kompressor gewählt wird

ARC/M verhält sich genauso wie ARC/A, außer daß die ins Archiv bewegte ('moved') Datei vom Herkunfts-Laufwerk gelöscht ('scratched') wird.

Bei Auswahl der Option 1 werden Teile der Information, die zum 'auspacken' der Archive notwendig sind, am Ende der Datei gespeichert; dort steht die originale Dateilänge und die Prüfsumme. Und unglücklicherweise muß ARC die Dateilänge genau wissen, bevor's an die Arbeit geht, damit der Speicherplatz auf der Diskette genau zugeteilt werden kann. So sind REL-Dateien nicht in einem Durchgang zu crunchen. Sollte ARC in der Option 1 auf eine REL-Datei stoßen, wird diese (automatisch) mit der Option c behandelt.

Die z Option wurde schon in ARC 2.30 eingefügt und funktioniert gleich wie ARC/A, d.h. ARC wählt automatisch den jeweils besten Datenkompressor (aber niemals crunch). Die z Option stellt die Kompatibilität zum USQ-Utility her (das ge-crunch-te Dateien nicht unterstützt).

Beispiele:

arc/a a:sq b:sq.* b:usq.* erstellt Archiv 'sq.arc' auf Laufwerk a:, das dann

alle Dateien enthält, die mit 'sq.' oder 'usq' beginnen

arc/as a:test.arc f:*-* archiviert alle Dateien von Laufwerk f: mit einem '-'

im Namen als 'test.arc' auf Laufwerk a. und

squeez-t alle Einträge

arc/m seq b:*=s archiviert alle sequentiellen Dateien von Laufwerk b:

als 'seq.arc' im Default-Laufwerk und löscht sie

danach von b:

Manchmal stimmt die Anzahl der Blöcke im Directorylisting nach einem Append (anfügen) nicht mit ARC überein. Das ist ein harmloser Fehler (bug) im CBM-DOS. Seltsam genug, daß ein Validate zwar Deine Zeit verplembert, aber den Blockzähler nicht beeinflußt.

Wegen der Kompatibilität können ältere Archive mit dieser Version erweitert werden.

Bei der Erweiterung (Append) von Dateien solltest Du etwas vorsichtig sein, damit die Archivlänge ein ganzzahliges vielfaches von 254 Bytes wird. Überträgst Du Archive über Modem (mit XMODEM Protokoll), geschieht das 128-Byte-weise. Ist die Datei nicht ein vielfaches von 128 Bytes lang, wie die meisten, 'polstert' XMODEM die Datei bis zur passenden Länge auf. Konsequenterweise wird auch noch ein extra Diskblock ans Ende des Archives angefügt. Mit einem Disk-Doktor Programm ist das leicht zu lösen: ändere die Linkadresse des vorletzten Sektors im Archiv auf 0,255.

Mit der Extraktion von Dateien aus 'downloaded' XMODEM Archiven sollte es keine Probleme geben, da ARC die 'Aufpolsterung' des XMODEM ignoriert. Aber bevor Du ein Archiv erweiterst, solltest Du dieses Problem angehen, sonst kannst Du nicht mehr de-archivieren.

Zur Erkennung Dieser Art von Problem, hat ARC den Befehl

arc/f ArchivName

erhalten. ARC marschiert die Track/Sektor-Linkadressen des Archives ab und schmeißt den letzten Sektor raus. Ist das Archiv in Ordnung und die letzte Linkadresse ist -wie sie sein sollte- '0,255' unternimmt ARC nichts weiter, sondern gibt die Meldung aus

archive is ok.

Ist das Archiv nicht in Ordnung und die Linkadresse ist eine andere als 0,255 , geht ARC in den zweitletzten Sektor und ändert dort die Adresse auf 0,255 . So wird der Extrasektor des XMODEMs 'entfernt'. Arc wird aber weder den gelöschten (deleted) Sektor freigeben, noch den Directoryblockzähler aktualisieren. Brauchst Du diesem Block unbedingt, mache ein Validate.

Dateien aus einem Archiv herausholen (extract) mit:

arc/x d <d:Archivdatei> <Suchmuster1> <Suchmuster2> . . .

Ohne Suchmuster wird alles extrahiert, ansonsten nur die 'Treffer' der Suchmuster. Verschlüsselte Dateien (encrypted files) werden von ARC nicht mehr unterstützt, sie müssen mit der 64'er Version bearbeitet werden. (Das ist die einzige 'Inkopatibilität' der neuen zur alten Fassung.)

Beispiele:

arc/x a:sq holt alle Dateien aus 'sq.arc' von Laufwerk 8,0 und legt sie im

Default-Laufwerk ab

arc/x a:sq * gleich obigem Befehl

arc/xf b:temp.arc holt alle Dateien aus 'temp.arc' von Laufwerk 8,1 und legt sie

auf der Diskette in f: (10,1) ab

arc/e c:buch060893 kapitel9 holt nur die Datei 'kapitel9' aus dem Archiv

'buch060893' ins Laufwerk c:

ARC/X und ARC/E sind synonym (gleich)

arc/l <d:ArchivName> listet die Dateien eines Archives, was typischerweise etwa so

aussieht:

arc/l a:archelp

ARC version 2.41

03/86 . . . Ampere Metal

directory for archive: a:archelp.arc

======================================================================

filename type blks now v stowage date

======================================================================

xarc.type.me p 129 41 2 crunched 24aug86

samples s 22 9 2 crunched 24aug86

================ ==== ====

2 files 151 50

Die beiden ersten Spalten zeigen Dateinamen und -typ (p,s,u,r),

die nächsten beiden die Dateilänge vor bzw. nach Kompression

(bei Rel-Dateien stimmen die Blöcke nicht mit dem Directory

überein, da ARC die 'Sidesectors' nicht braucht). Spalte v ist die

Versionsnummer (derzeit drei möglich: '1' für Archive unter 1.xx

erstellt, '2' für 2.xx, oder 'I' für MS-DOS Archive). Desweiteren

erfolgt die Angabe der Kompressionsmethode und des Datums

(Datum nur in der 80-Zeichen-Version).

arc/px <d:ArchivName> <Suchmuster1> <Suchmuster2> . . .

druckt die angegebenen Dateien aus 'AchivName' auf den Bild-

schirm. Die Syntax ist gleich ARC/X, nur geht der Ausdruck auf

den Bildschirm anstatt auf Diskette.

Der optionale Schalter x kann folgende Werte annehmen:

p wandelt von Standard-ASCII ins Commodore-ASCII um

a wandelt von PET-SCII ins wahre ASCII um

arc/v <d:ArchivName> <Suchmuster1> <Suchmuster2> . . .

Verifiziert die Inhalte des Archives. ARC berechnet eine zwei-

Byte Prüfsumme aus der noch nicht komprimierten Originaldatei.

Beim Verify dekompressiert ARC die Dateien, berechnet die neue

Prüfsumme und vergleicht sie mit der gespeicherten und gibt

ggf. eine Fehlermeldung aus (Fehler können durch Disketten-

fehler oder Fehler beim 'upload' oder 'download' auftreten).

Die Syntax entspricht wieder der von ARC/X, d.h. es müßte Dir

aufgefallen sein, daß alle drei Befehle (/X, /P, /V) nur leichte

Variationen der gleichen Sache sind.

Befehl: CSARC

Syntax: CSARC/n d:Archivname <Suchmuster 1> <Suchmuster2> . . .

CSARC legt Archive im Standard-MS-DOS-Format an, das sowohl von IBM PC/XT/AT und kompatiblen, sowie von Atari st und Amiga benutzt wird.

Der /n Schalter (opt.) verhindert Datenkompression, alle Dateien werden 'nur gespeichert'.

In der vorliegenden Form kann CSARC nur direkt, oder ge-crunch-t in die Archive speichern (nicht ge-pack-t oder ge-squeeze-t). PKARCs squashing, obwohl leichter auszuführen als crunching, konnte durch die Begrenzung des Speicherplatzes nicht mit aufgenommen werden.

CSARC hat nur eine Einschränkung in Dateinamen, sie müssen kürzer als 12 Zeichen sein. CSARC wandelt den Dateinamen in Standard-ASCII um, bevor ge-arc-t wird, aber prüft nicht, ob es sich tatsächlich um einen (unter MS-DOS) gültigen Dateinamen handelt - das liegt in Deiner Verantwortung. (MS-DOS Dateinamen müssen die Form 'Name.ext' einhalten. 'Name' ist maximal 8 Zeichen lang, 'ext' (Extension,Erweiterung) maximal 3 Zeichen.

Weder in 'Name' noch 'ext' dürfen vorkommen:

Klammern (alle Arten), Punkt, Komma, ; , : , ?, *, /, Backslash, +, ", Space, >, <,

CBM-Grafik- und Steuerzeichen

Um sicher zu gehen, benutze nur a-z, 0-9.

CSARC bedient sich lediglich der Standard-I/O-Befehle (OPEN,CHRIN,CHROUT) und sollte deshalb mit jedem CBM-Laufwerk zusammenarbeiten.

Befehl: CSARC1750

Der CSARC1750-Befehl entspricht in Zweck und Syntax dem CSARC, hat aber ein paar Vorteile. Vor allen gibt es hier einen Schalter /p, mit dem CSARC eine Pause einlegt, wenn ein Archiv erstellt ist (um auf Systemen mit nur einem Laufwerk ggf. einen Diskwechsel vornehmen zu können).

Zweitens nutzt CSARC1750 Burstroutinen, um Dateien, die zu archivieren sind, zu lesen. Unter CSARC ist das nicht möglich, da eine Datei nicht zum schreiben (des Archives) geöffnet sein kann und gleichzeitig Burstload-Routinen anwendbar sind.

Das Archiv wird innerhalb der 1750 erstellt, die als Auffangpuffer (capture buffer) dient. Vergewissere Dich, vorab alles aus der 1750 gesichert zu haben, was Dir noch wichtig ist, bevor CSARC1750 aufgerufen wird. Beachte außerdem, daß der Auffangpuffer groß genug ist, das ganze Archiv zu fassen, weil Du keine Fehlermeldung bekommst, wenn der Puffer überläuft (dann mußt Du nochmal von vorne anfangen).

Da die Datei während der analyze-Phase ge-crunch-t wird, ist CSARC1750 deutlich schneller als CSARC (wenn überhaupt ge-crunch-t werden soll).

Befehl: CSXARC

Syntax: csxarc/p Dateiname

CSXARC löst (immer nur ganze) MS-DOS Archive auf. Die extrahierten Dateien kommen aufs Default-Laufwerk. Mit der /p Option erfolgt Bildschirmausgabe unter gleichzeitiger Umwandlung von ASCII in PETSCII.

Unglücklicherweise speichert MS-DOS am Archivende eine EOF-Marker ('end of File'). Um ein Archiv zu erweitern (append), ist es notwendig, jenes um zwei Bytes zu kürzen (und das ist im CBM-DOS äußerst umständlich). Konsequenterweise ist es nicht möglich, bestehende Archive mit CSARC zu erweitern. Der EOF-Marker würde bestehen bleiben, und obwohl beim erweitern augenscheinlich alles glatt lief, wäre kein Programm in der Lage, die angehängten Dateien zu extrahieren.

Die Speicherbelegung im C128 für CSARC:

Bank 0 $1c01 - $2fff CSARC/CSARC1750 Programmdaten

$7000 - $f000 crunch-Stringtabellen

Bank 1 (strend)-(fretop) Inputpuffer

dies bedeudet mit anderen Worten, irgendetwas in Bank 1 ist bei Start von CSARC dort sicher, in Bank 0 aber nicht.

Schaust Du in die AUTOEXEC-Datei findest Du eine Zeile etwa wie . . .

poke dec("1bd0"),3*16+8 (hex 1bd0 entspr.: dez 7120)

Damit werden für CSARC die 1750-Bänke 3 bis 7 als Input/Output Puffer reserviert. Aktualisiere unbedingt diese Zeile, wenn Deine RAM-Disk größer als die (Default-) 128K wird (Bank 0 und 1), sonst wird sie durch CSARC verpfuscht.

CSARC wurde gegen PKARC (Version 3.6) ausgetestet, welches wohl wiederum mit der SEA-ARC (Version 5.10) kompatibel sein soll, aber ich habe nicht weiterverfolgt, was SEA nach derm arcwars-Aufruhr ('ARC-Krieg') mit ARC angestellt hat.

Befehl: LHA

Syntax: LHA-s Archiv Datei(en)

LHA legt Archive im LHARC-Format an. Die '-s' Option teilt LHA mit, eine selbstauflösende SFX anzulegen (siehe die SFX-Dokumentation für nähere Details).

PRO: Das LHA hat Vorteile gegenüber ARC128 und MS-DOS-ARC-Formaten und wird immer populärer. zu den Vorteilen gehört . . .

1.) Einfachheit. Mit nur einem Datenkompressions-Algorithmus ist der Code weniger komplex und wir müssen uns nicht um altmodische Versionen des Kompressors oder die mögliche Art des Kompressors kümmern.

2.) Beweglichkeit. Seit der C Quellcode für Kompressor und Dekompressor in der Public Domain erhältlich ist, wird das Format auf zahlreichen Systemen eingesetzt (MS-DOS, Amiga-DOS, u.a.). So können Archive, auf dem C128 erstellt, mit anderen Sytemen bearbeitet werden und umgekehrt.

3.) Effektivität. Der 'sliding dictionary data compression' -Algorithmus des LHARC ist eine deutliche Weiterentwicklung der 'Lempel Zev'-Technik, angewandt von ARC, ZOO und anderen. Desweiteren arbeitet die Technik gut mit kleinen Dateien und solchen zusammen, die sonst nicht so gut zu verdichten gehen. Oft liegt der Gewinn gegenüber ARC128 oder CSARC bei 20-25% oder mehr. Das bedeudet, daß eine mit Archiven randvolle 800K Floppydisk nach Umwandlung ins LHARC-Format noch etwa 160K frei hat.

4.) lange Dateinamen. Das LHARC-Format tyrannisiert dich nicht auf die 8+3 Einschränkung der Dateinamen und ist so für das Commodore 8 Bit DOS oder AmigaDOS o.ä. komfortabler.

5.) SFX. Das SelF eXtract Modul kann vom 64'er oder 128'er gestartet werden.

KONTRA:

Das hängt hier vom Vergleich ab. Im Vergleich mit PKWARE ZIP oder DHESI ZOO bleiben für LHARC Wünsche offen, bezüglich der Unterstützung von Dateikommentaren, Wiederherstellung beschädigter Archive, u.s.w., aber dennoch schlägt sich LHARC im Vergleich zu vielen anderen ganz gut.

Hauptproblem ist die Geschwindigkeit. Lempel Zev ist schneller, aber in der vorliegenden Fassung ist LHA nur unbedeudend langsamer als ARC128.

So überwiegen die Datenverdichtung und die Austauschbarkeit die 'Mängel' bei weitem.

Voraussetzung: LHA erfordert eine 1750 und läuft nicht ohne.

Hast Du keine RAM-Erweiterung, kannst Du LHARChive anschauen und/oder auflösen, aber nicht anlegen.

Jede Datei im Archiv bekommt einen Vorspann ('header'), der u.a. die ursprüngliche Dateigröße, die komprimierte Größe und die dateiberechnete CRC enthält. Diese Informationen stehen nicht zur Verfügung, bevor die Datei gespeichert wird, da LHA die komprimierte Datei erst in die 1750 verschiebt, den Vorspann (header) schreibt und dann von dort auf die Disk (ins Archiv) 'spült'.

Zu diesem Ablauf gibt's Alternativen, aber die sind zu kompliziert oder zu langsam.

Da Du die 1750 wohl auch für andere Aufgaben benutzen magst, mußt Du dem LHA mitteilen, welche Bereiche des RAMs freigehalten sind. Dazu dient etwa folgende Zeile z.B. in der AUTOEXEC-Datei

poke 7119,x*16+y

in der bedeudet x die niederigste zu benutzende Bank, y die höchste plus eins.

poke 7119,4*16+7

teilt LHA mit: benutze die 1750-Bänke 4, 5 und 6; alle anderen Bänke werden nicht angerührt. Oft reichen ein oder zwei Bänke aus. Wird eine komprimierte Datei größer als der zur Verfügung stehende Speicherplatz, bricht LHA einfach ab.

LHA verbraucht auch ein gutes Stück vom C128-Speicher: fast alles von Bank 1 ($4000 bis $e100) (LHA läuft nicht, wenn da was anderes zwischenkommt), sowie von Bank 0 $1c00 bis $bfff ($c000 und darüber wird nicht angerührt).

Nur PRG- und SEQ-Dateien sind archivierbar, REL- und USR-Dateien werden abgewiesen. REL- Dateien sind umständlich handzuhaben und werden deshalb (noch) nicht unterstützt; USR- Dateien können Dateien sein, aber auch nicht.

LHA prüft immer, ob die Zieldatei bereits existiert. Wenn ja, hängt es die neuen Daten an ('append'); wenn nein, wird die Zieldatei angelegt.

Für bessere Kompatibilität wandelt LHA den Dateinamen erst ins Standard-ASCII-Format um, bevor er in den Archiv-Header geschrieben wird. Beim extrahieren der Datei aus dem Archiv wird der Namen automatisch wieder ins Commodore-ASCII zurückverwandelt. Deshalb mußt Du aufpassen, daß die verwendeten Namen nur aus jeweils gültigen Zeichen bestehen und ggf. auch von anderen Systemen akzeptiert werden.

Auf Systemen, die Unterverzeichnisse untersützen, läßt LHARC im Archiv die Speicherung des vollen Pfad- und Dateinamens zu. Da Commodore-DOS Unterverzeichnisse nicht unterstützt, ignoriert LHX den Pfad- und gebraucht nur den Dateinamen. Das führt zu folgenden Effekten:

1.) In Commodore-Dateinamen sind Schrägstriche ('slash') vor- und rückwärts erlaubte Zeichen, führen aber zu Mißdeutungen. Deshalb die entsprechende(n) Datei(en) vor der Bearbeitung umbenennen.

2.) Eine Datei gleichen Namens kann in verschiedenen Unterverzeichnissen stehen. Da der Pfad weggelassen wird, würde die die zweite Datei die erste überschreiben. Dies zu umgehen, gibt es die -r Option, mit der LHX schon bestehende Dateien umbenennt. Dazu legt LHX eine Batchdatei namens 'Duplicates' (Doppelgänger) an, die, wenn alles gesagt und getan ist, editiert und ausgeführt werden kann.

Eigentlich sollte LHA mit einem Null-Header das Ende eines Archives markierenen, aber es tut's nicht, weil sowohl Amiga- als auch MS-DOS-LHARC ohne dies das Dateiende richtig erkennen. Das bedeudet, daß Du zwei LHARChive zu einem gültigen neuen aneinanderreihen kannst, vorausgesetzt, beide wurden mit LHA erstellt und kein XMODEM oder so hat die Dateilänge verändert. Das ist auch ein Grund, warum eine Erweiterung bestehender Dateien überhaupt möglich ist. Wenn Du natürlich via XMODEM überspielte oder per Amiga oder MS-DOS erstellte LHARChive hast, solltest Du diese nicht erweitern, da die zusätzliche Information verloren gehen kann, wenn LHX den Null-Header findet und sich damit am Dateiende wähnt. Es gibt einen Ausweg, aber das ist harte Arbeit und den Aufwand oft nicht wert.

Ist LHA fertig, teilt es die Anzahl der von Disk gelesenen und auf Disk geschriebenen Bytes mit. Beim neuanlegen eines Archives, geben die Zahlen die Gesamtlänge (incl. ggf. SFX- Header) des Archives an, bei einer Erweiterung nur die Länge der hinzugefügten Information.

LHA speichert den Dateityp im Archiv mit ab, so daß SEQ und PRG bei der Extraktion wiedergewonnen werden (natürlich nur LHA-erstellte LHARChive!). Ist eine Dateityp Information aus dem Archiv erhältlich, überschreibt diese den voreingestellten ('default') Typ. Das Dateityp-Byte liegt so gut im Dateinamen vergraben, daß es von MS-DOS- oder Amiga-LHARC nicht gefunden wird.

Während das Archiv aufgebaut wird, versucht LHA Dich mit einer Balkengrafik der Dateigröße vor und nach der Kompression zu beeindrucken. Jeder senkrechte Balken ist ein Viertel Zeichen breit und steht für 256 Bytes, und die Breite eines Zeichens steht für 1K. Der Balken für die originale Dateigröße wird während des Kompressionsvorganges aufgebaut, für die komprimierte Datei während des 'spülens' von der 1750 auf Diskette.

Anstatt alle zu archivierende Dateinamen in die Befehlszeile einzugeben, können sie auch in einer Datei angegeben werden. Zum Beispiel der Befehl

LHA test Klammeraffea:Namen

könnte das LHA beauftragen, daß es die Dateien, die in der Dateinamensliste 'a:Namen' verzeichnet sind, dem Archiv hinzufügen soll. Dies wäre zum Beispiel nützlich, wenn man an einem größeren Projekt arbeitet und regelmäßig die Arbeitsdatei aktualisieren möchte. Das könnte etwas Tipparbeit sparen, stünde die Liste der zu archivierenden Dateien in einer Backup-Liste-Datei. Der Hauptgrund für diese Option ist natürlich, daß LHA mit anderen Programmen zusammenarbeiten kann. Solche Programme (eine Art menügesteuerte Dateiauswahl zum Beispiel) könnten die ausgewählten Dateinamen speichern, die ins Archiv aufgenommen werden sollen und dann LHA aktivieren.

Das Format einer KlammeraffeName -Datei ist wie folgt. (LHA ignoriert alle Zeilen, die nicht konform gehen, oder mit einem Strichpunkt (Semikolon) beginnen)

d:Name,t ; alles nach dem t wird ignoriert

Name darf maximal 16 Zeichen lang sein und keine Joker enthalten

,t muß angegeben werden. t (type) steht entweder für p (PRG) oder für

s (SEQ)

d: Laufwerksangabe (optional)

Um Dir eine Vorstellung zu geben, wie schnell (oder langsam) LHA und LHX sind, hier ein paar Beispiele. Alle Tests sind mit identischem Archiv durchgeführt worden; es war nach ARC128 112 CBM-Blöcke groß, nach LHA 82.

Archiv-Listing: 'TEST.LZH'

Name Original Packed Ratio Date Time Attr Type CRC

LHA 11580 7468 64.5% 90-01-11 9:22:56 a--w -lh1- 6322

LHARC5.ASM 11650 2718 23.3% 90-01-11 9:28:16 a--w -lh1- 82a5

LHX 10982 6977 63.5% 90-01-11 9:23:18 a--w -lh1- 503b

LZHUF.C 10021 3442 34.3% 89-11-26 7:28:10 a--w -lh1- 55d3

4 files 44233 20605 46.6% 90-01-11 9:28:36

Zeitbeispiele Zeitbedarf in Sek.

Computer Progr. Quell-Lw Ziel-Lw erst. auflösen

20 MHz 386 LHARC Floppy gl.Floppy 13.7 21.2

1.13c Festpl. Festpl. 6.2 5.0

4.77MHz XT LHARC Floppy gl.Floppy 90.7 89.0

1.13c Festpl. Festpl. 54.1 29.8

Amiga 500 LHARC1.0 Floppy gl.Floppy 110.5 56.8

Festpl. Festpl. 96.9 29.0

C128 LHA/LHX 1571 1581 175.4 105.5

1581 gl.1581 171.5 118.0

C128 ARC128 1571 1581 205.7 121.0

1581 gl.1581 149.3 103.2

Obwohl der 128'er kein Hexer in Sachen Tempo ist, liegt er doch im Bereich dessen, was man von einer 2 MHz - 8 Bit Maschine erwarten kann.

Befehl: LHD

Syntax: LHD ArchivName <Suchschlüssel>

LHD zeigt den Inhalt eines LHARC-erstellten Archives. LHD zeigt die spezifizierten Dateien oder alle (wenn kein Suchmuster angegeben) an. LHD gibt zu jeder Datei und zum Archiv Informationen an.

Die verschiedenen Spalten des Archiv-Listings sind:

1) Filename Disk-Dateiname nach Umwandlung von Commodore- nach Standard-ASCII und

mit Pfad (soweit vorhanden)

2) Original die originale Dateigröße

3) Packed die komprimierte Dateigröße

4) Ratio Größe komprimierte Datei in % von Originalgröße

5) Date Datum der Dateieinrichtung

6) Time Zeit der Dateieinrichtung

7) Ver Version, Datei nur gespeichert: -lh0- Datei komprimiert: -lh1-

8) CRC CRC für die Datei vor Kompression (PKARC-Stil)

Die 'total disks blocks' (gesamt-Diskettenblöcke) am Ende des Ausdrucks geben an, wieviele Diskblocks bei Extraktion der angezeigten Archivdateien belegt würden.

Beispiele:

LHD Name erstellt aus Archiv 'Name.lzh' ein Directory aller Dateien

LHD progs *.c erstellt aus Archiv 'progs.lzh' ein Directory der Dateien, deren

Namen mit .c enden

LHD e:e e* erstellt aus Archiv 'e:e.lzh' ein Directory der Dateien, deren

Namen mit e beginnen

belegter Speicherbereich:

Bank 0 $1c00 bis $bfff

Bank 1 keiner

Befehl: LHX

Syntax: LHX Optionen ArchivName <Suchschlüssel>

LHX extrahiert aus 'ArchivName' die in Suchschlüssel spezifizierten Dateien (oder alle, ohne Angabe des Suchschlüssels). Die Optionen können einzeln, kombiniert oder garnicht angewendet werden:

-a zur Umwandlg. der extrahierten Dateien von Standard- nach Commodore- ASCII

-c bestimmt die Dateien als Commodoredateien. Zum Gebrauch, wenn in

Dateinamen Schrägstriche ('slash' und 'backslash') vorkommen und diese nicht

als Unterverzeichniskennung dienen (sollen)

-l listet die vollen Dateinamen des LHARChives auf, einschließlich der bei

Extraktion notwendig werdenden CBM-Diskblöcke

-p gibt die extrahierte Datei auf Bildschirm anstatt auf Diskette aus

-r normalerweise werden Dateien, die schon bestehen, einfach überschrieben.

Willst Du das nicht, benutze diese Option, zur Umbenennung der Dateien. LHX

schreibt eine Batchdatei 'Duplicates' ins Default-Laufwerk, die sich editieren und

ausführen läßt, um alles wieder ins Lot zu bringen

-s macht SEQ zum Default-Dateityp (ist ansonsten PRG)

-u schaltet die Darstellung des Dateinamens in den Kleinschreibmodus (Archive,

unter MS-DOS erstellt, erscheinen im Großschreibmodus - nicht gerade leserlich)

-v zur Überprüfung, 'verify', ob das Archiv in Ordnung ist

Beispiele:

LHX Name extrahiert alle Dateien aus 'Name.lzh'

LHX -a Name *.txt extrahiert alle Dateien mit der Endung .txt aus 'Name.lzh' und

wandelt sie dabei von ASCII in PETSCII um

LHX -p -a Name *.txt wie oben, jedoch Bildschirmausgabe

LHX -pa Name *.txt wie oben

Speicherbelegung:

Bank 0: $1c00 bis $bfff

Bank 1: keine

Schlüsselwort: SFX (Self extracting LHARChive für C64 und C128)

Das LHARChiv self extracting (selbst extrahierendes) Modul (SFX) ist ein wenig größer, als die SDA-Module für ARC128. Es mißt etwa 3500 Bytes (oder 14 CBM-Blöcke) im Vergleich zu ungefähr 2000 Bytes (8 CBM-Blöcke) des SDA, hat aber etliche Vorteile.

LHARChive sind kleiner, so daß die etwa 1500 Bytes sich sicher in Archiven rechnen, die mehr als ein paar Kilobyte lang sind. LHARChive sind meistens um 20% kleiner, so daß der Gleichstand beider Verfahren bei 1500/0,2 = 7500 Bytes liegt. Ist das Archiv größer, wird das SFX deutlich kleiner als das SDA.

SFX zwingt Dich nicht, wie es das SDA tut, die extrahierten Dateien auf Laufwerk 8, Drive 0 zu schreiben (so steht auch die RAM- oder irgendeine andere Disk offen).

SFX läßt sich einfach bedienen. Du wirst nur nach dem Destination-(Ziel-)Laufwerk und der Drivenummer gefragt. Du kannst Deine Wünsche eingeben, oder mit <RETURN> die Vorgaben übernehmen. Gibst Du nur 'leer' ein (d.h. Vorgabe löschen, <RETURN>), wird SFX abgebrochen, ohne daß etwas passiert.

LHARC ist auch auf MS- und Amiga-DOS erhältlich, deshalb könnten auch auf diesen Maschinen selbstauflösende Archive erstellt werden. Bist Du ein SYSOP, der ein 'bulletin board' auf Amiga oder PC unterhält und Du betreust 8-Bit Commodore Kundschaft, könnte Dir das gelegen kommen. SFX Dateien sind in ('normale') LHARChive umwandelbar, indem der SFX Programmkopf (header) entfernt wird. Du mußt nur aufpassen, daß SFX davon ausgeht, daß alle beinhalteten Dateinamen im gültigen Commodoreformat vorliegen. In der Praxis: erstellst Du SFXe z.B. auf Amiga, nimm keine Dateinamen länger als 16 Zeichen und sage LHARC, es soll keine Pfadnamen ins Archiv aufnehmen.

Erstellst Du SFXe auf dem C128, wird der Dateityp ins LHARChiv aufgenommen und auch korrekt wiedergefunden (Achtung: nur SEQ und PRG erlaubt, REL und USR nicht!). Fehlt die Dateitypinformation, schreibt SFX immer PRG. Erstellst Du SFX auf Amiga, darf Komma in Dateinamen vorkommen und Du kannst die Dateiinformation als ',s', ',p' oder sogar als ',u' anhängen.

Willst Du auf einem nicht-Commodore 8 Bit Rechner ein SFX erstellen, mach' zuerst ein 'normales' LHARChiv und hänge das dann an den SFX Maschinensprache-Header an. Auf einem PC sähe das etwa so aus:

copy/b sfx.ml+Dateiname.lzh Dateiname.sfx

und in Amigasprache:

jion sfx.ml Dateiname.lzh as Dateiname.sfx

SFX ist so geschrieben, daß es sowohl auf C64 als auch C128 läuft; Du kannst es ohne Unterschied vom 128'er im 128'er Modus oder vom 64'er laden (LOAD". . .) und starten (RUN). Das ist doch 'was, denn wenn Du ein 64'er SDA auf dem 128'er starten willst, gibt's einen Absturz und umgekehrt. Darum wählte ich auch die Kennung '.SFX' anstatt 'SDA', um klar zu zeigen, daß beide Maschinen damit umgehen können. (Natürlich sind Dateinamen völlig bedeudungslos, aber sie sind bequeme Kennzeichen)

Für diesen Vorteil ist ein kleiner Preis zu zahlen, aber ich glaube, er ist es wert. Damit SFX auf beiden Maschinen läuft, muß SFX festellen, wo es in den Speicher geladen wurde und sich selbst dorthin verschieben ('relocate'). Scheitert das relocate, ist das Programm nicht ausführbar. Das eingesetzte relocate-Schema geht davon aus, daß der BASIC-Anfang bei $0801 (C64) oder $1c01 (C128) oder einem ganzzahligen mehrfachen von 256 Bytes über oder unter diesen Adressen liegt. Das wird wohl in der Regel auch der Fall sein; hast Du aber ein 'tool' das den BASIC-Start auf eine 'krumme' Adresse verlegt, stürzt SFX ab.

Wenn Du nicht weißt, worauf ich hinauswollte, umgehst Du Probleme, indem Du niemals

1) ein SFX nach einem RUN abspeicherst (SAVE).

2) den BASIC-Start veränderst.

Wenn Du willst, kannst Du das gleiche SFX wieder und wieder starten, ohne es von Disk neu zu laden und natürlich wird die folgende Befehlsreihe einen Absturz erzeugen:

GRAPHIC CLR C128 BASIC-Start = $1c01 (=dez 7169)

LOAD"EIN.SFX",8

RUN verschiebt (relocate) nach $1c01

RUN zweiter Lauf ist in Ordnung. Relocate-Offset ist Null

GRAPHIC 1: GRAPHIC 5 setzt BASIC-Start auf $4001

RUN ist in Ordnung, hochsetzen geht (aber nicht 'runter)

GRAPHIC CLR setzt BASIC-Start auf $1c01

RUN jetzt kommt der Absturz!!!

Das gleiche würde passieren, wenn ein SFX auf dem 128'er gestartet (RUN) wird, anschließend auf Disk gespeichert (SAVE) und dann auf dem 64'er ge-LOAD-et und gestartet (RUN) wird.

Speicherbelegung: C128 C64

SFX Header $1c01-$2a00 $0801-$1600 (ungefähr)

LHARChiv $2a00-$d800 $1600-$cfff

SFX Arbeitsspeicher $d800-$feff $d800-$feff

Daraus ergibt sich für SFX eine maximale Gesamtgröße:

C64 $0801-$cfff 51.200 Bytes

C128 $1c01-$d800 48.128 Bytes

Sollte es vorkommen, daß SFX groß genug ist, über $d800 hinauszuragen, wird der Rattenschwanz durch den Dekompressor überschrieben. Also halte das SFX (einschließlich Header) kleiner als 48K (oder 190 CBM Diskettenblöcke). Es gibt dann zwar noch'n bißchen 'Luft', aber wenn's eng wird, ist es das beste, SFX zu starten und zu prüfen, ob die Extraktion noch komplett abläuft.

Im Falle des 64'er wird SFX über $a000 hinaus richtig extrahieren, aber weil der BASIC-Bereich überschritten wird, bekommst Du ein 'out of memory error', wenn Du irgend etwas anderes machst, als nur eben SFX zu starten (RUN). In diesem Falle die Meldung mit NEW quittieren.

Und, natürlich hast Du weniger Platz für SFX, wenn dein BASIC-Anfang nach oben verschoben ist . . .

TITEL. Im ersten RUN prüft SFX, ob die erste Datei im LHARC 'TITLE' (engl. Title = dt. Titel) heißt. Wenn ja, wird diese Datei auf den Bildschirm ausgedruckt. Danach erst wirst Du nach dem Outputdevice (Ziellaufwerk) gefragt.

Um Pausen während des Titels zu ermöglichen, werden folgende Zeichen anderst gehandhabt:

chr$(0) bewirkt ein leeren des Tastaturspeichers und wartet dann auf einen

Tastendruck

chr$(1) bewirkt eine kurze (ca. 1 Sekunde lange) Pause

Umwandlung von SFX nach LZH:

Die Datei 'sfx2lzh.c' enthält den ANSI C Quellcode eines einfachen Programmes, das den SFX-Header aus dem SFX-Archiv herauslöscht. Es sollte nicht nur mit C128/C64 SFXen laufen, sondern genausogut auch mit MS-DOS selbstextrahierenden EXE- oder COM-Dateien.

Mit SDA für ARC64/ARC128 habe ich versucht, die Größe des SDA so zu halten, daß das eigentliche Archiv immer an einer Disksektorgrenze beginnt. Mit SFX habe ich solche Versuche nicht unternommen.

CS - 23.Januar 1990

I N H A L T S V E R Z E I C H N I S

8 CS-DOS-DR.dt 97 KB App Data Write Image V2.1 VLIR 1993-02-28 17:03 .cvt .html
Übersetzung der Original-CS-Anleitung zur Ausgabe auf Drucker, erstellt von eMSch in 3/'93

(freie) Übersetzung der original CS-Dokumentation durch eMSch in 3/'93

INHALTSVERZEICHNIS auf Seite 25

CS - DOS Dokumentation für DOS-Shell Version 1.42

CS-Dos ist Copyright 1987,1989 by Chris Smeets

CS-DOS ist Shareware. Die Lizenz sollte nach einer etwa 4 Wochen langen Testphase überwiesen werden an:

(Achtung NEUE Adresse)

Chris Smeets

110 Brookland Drive

Bramalea, Ontario, Canada

L6T 2MS

Der Urheber bittet um Beträge, die man für angemessen hält, schlägt aber $20 vor.

Die Programme dürfen nur vollständig und kostenlos kopiert und weitergegeben werden.

---------------------------------------------------------------------------------------------

Einführung

CS-DOS für den Commodore 128 entstand aus dem C64 'ARC64'-Utility und arbeitet oft genau so.

Um dieses System flexibel zu gestalten und weitere Befehle leicht zufügen zu können, wurde es modular aufgebaut und alle Befehle sind 'transient' (müssen also extra in die RAM-Disk geladen werden).

Das größte und wichtigste Modul ist die DOS-Shell selbst, die den Command Line Interpreter (zur Erkennung und Abarbeitung von Befehlszeilen) zur Verfügung stellt.

Solltest Du noch eine übrige 1571 'rumfahren haben und es macht Dir nichts aus, vor Befehlen eine Laufwerkskennung einzugeben, bist Du schon auf dem richtigen Weg. Mit größerer Wahrscheinlichkeit willst Du zumindest ein paar der gebräuchlichsten Befehle auf einer RAM-Disk installieren und so kommt AUTOEXEC ins Spiel.

Nachdem die DOS-Shell geladen und gestartet ist, setzt sie sich in die rechten Speicherbereiche und sucht im Laufwerk 8, Drive 0 eine SEQ-Datei namens 'AUTOEXEC'. Diese ist eine normale Textdatei und alles was darin steht wird ausgeführt ('executed'), als würden die Befehle über die Tastatur eingegeben. Und hier hast Du die Möglichkeit, das System nach Deinen Wünschen anzupassen, wie Bildschirmfarben festlegen, Laufwerke konfigurieren, eine RAM-Disk installieren, Hintergrundmusik ertönen oder Deinen Namen 16-farbig über den Schirm gleiten zu lassen.

SETRAM wird Dir eine RAM-Disk installieren (entweder in Bank 1 oder Bank 0 oder wenn Du einen EPROM-Brenner hast, auch in einer der Bänke 4 bis 12); zum Anfang am besten in Bank 1. Die Details hierzu später unter SETRAM. Gib' für's erste direkt ein (oder füge es in Deine AUTOEXEC Datei ein):

A: SETRAM 1,49152

Dadurch wird Speicherplatz (RAM) in Bank 1 beginnend bei Speicherstelle 49152 ($C000) reserviert (bis zum BASIC-Speicher-Ende, normalerweise $FEFF) und für CS-Befehle zur Verfügung gestellt, immerhin 16K. Der erste Befehl, den Du benötigst, dürfte wohl INSTALL sein, um weitere Befehle zu installieren (aufzunehmen). Der Befehl dazu lautet:

A: INSTALL A: INSTALL

Das erste A: INSTALL sagt der Shell: suche Laufwerk A: und dort nach der Datei 'INSTALL' und lade diese in den Speicher des 128'er. Ist dies geschehen, wird die Kontrolle auf das geladene Programm übertragen und gleichzeitig der zweite Parameter (zweites A: INSTALL) übergeben, der besagt: Kopiere diese Datei von der Floppy in die interne RAM-Disk.

Dies ist Dein erster interner Befehl, der einem BASIC-Befehl sehr ähnlich reagiert. Das A: braucht nun nicht mehr mitangegeben werden.

ACHTUNG: die installierten Befehle arbeiten nur im Direktmodus und nicht in einem BASIC Programm!

Als nächstes möchtest Du vielleicht gebräuchlichere Befehle wie z.B. REMOVE, DIR, RDIR, REN oder ARC installieren, das könntest Du wie oben beschrieben machen, oder bei Ungeduld mit:

INSTALL A: *=P

Dieser Befehl installiert alles was vorhanden ist. Um zu sehen welche Befehle nun zur Verfügung stehen, gib' ein:

RDIR

Die Directory der RAM-Disk wird ausgegeben. Gefällt Dir irgendetwas dort nicht, (z.B. die Shell) wirst Du es mit

REMOVE "SHELL"

los. Soll der ('nutzlose') DIR Befehl gelöscht werden, benutze

REMOVE DIR

Hast Du nun ein bißchen 'rumgespielt und bist Dir mit Deiner Konfiguration einig, speichere den gesamten Inhalt der RAM-Disk als eine Datei mit beliebigem Namen:

PUTRAM NAMEN

Nach dem nächsten booten der Shell kann mit

GETRAM NAMEN

auf einen Satz alles wieder 'reingeholt werden.

Die Befehlszeile und I/O Umleitung

Wenn BASIC die READY. Meldung ('Prompt') ausgibt, ruht der 128'er und wartet cursorblinkend auf den nächsten Arbeitsauftrag, der aus einer Textzeile und anschließendem <RETURN> besteht. Alles was in der Zeile des blinkenden Cursors stand, wurde so zur 'Befehlszeile' und BASIC schiebt diese nun in den 'Eingabepuffer'. Hier greift CS-DOS ein.

Zuerst prüft CS, ob das erste Nicht-Leer-Zeichen der Befehlszeile ein '*' ist. Wenn 'Ja', wird es aus der Befehlszeile entfernt und gleichzeitig alles getan, daß jeder Bildschirmausdruck auch auf dem Drucker erscheint. Die Druckerumleitung bleibt solange aktiv, bis die nächste READY. Meldung zurückkehrt.

Da CS-Shell dem BASIC nicht ganz traut, macht es als nächstes eine Kopie der Befehlszeile zum Eigengebrauch und zählt die eingegeben Parameter (bzw. Befehlsbegrenzungen) durch. 'Befehlsbegrenzungen' sind Leerstellen ('SPACE') oder Kommas, 'Parameter' sind davon eingeschlossen, z.B.:

*ARC/L BIGFILE, HIGH, LOW, , , , , MEDIUM , SLOW

ergibt

'ARC/L' Parameter Nr. 0

'BIGFILE' Parameter Nr. 1

'HIGH' Parameter Nr. 2

'LOW' Parameter Nr. 3

'MEDIUM' Parameter Nr. 4 und

'SLOW' Parameter Nr. 5

Um auch Leerstellen in einem Filenamen zu akzeptieren, können Parameter von Anführungszeichen eingeschlossen werden.

Der nächste Arbeitsgang des CS-DOS prüft das Ende der Befehlszeile auf '>' oder '>>'. Dadurch wird die Ausgabe auf Disk umgeleitet und dieser letzte Parameter aus der Befehlszeile gelöscht.

Zu guter letzt wird die Befehlszeile auf 'Befehlszeilenschalter' untersucht. Schalter dürfen nur dem Parameter 0 folgen und mit '/' beginnen. Die Schalter belegen die Speicherstellen $1BFC und $1BFD, d.h. es gibt maximal 2 Stück; unbelegt beinhalten sie 0. Die Eingabe

LIST >PROGRAMM.BAS

verhält sich so, als hättest Du LIST eingegeben, aber alles was auf dem Bildschirm erscheint, wird auch auf Disk unter 'PROGRAMM.BAS' gespeichert.

Was als nächstes passiert, hängt vom Parameter 0 ab. Beginnt dieser mit einer Laufwerkskennung (z.B. 'D:'), versucht CS-DOS das Programm, das im Parameter angegeben wurde, zu laden und zu starten. Ist das Programm nicht zu laden oder zu starten, geht's zurück ins BASIC mit 'SYNTAX ERROR.'

Fängt der 0-Parameter nicht mit 'D:' an, sucht CS-DOS in der RAM-Disk nach dem Programm, um es zu laden/starten; bei Mißerfolg ebenfalls BASIC/Fehlermeldung.

Druckerausgabe

* leitet jede Ausgabe nicht nur auf den Bildschirm, sondern auch auf den Drucker. Allen (oder fast allen) Befehlen oder 'Einzeilern' kann das '*' vorangestellt werden, um eine Hardcopy zu erhalten.

Manchmal scheint * nicht mit BASIC-orientierten Befehlen zusammenzuarbeiten, z.B.:

*CATALOG D0,"*=P

arbeitet nicht korrekt, aber

*DIR *=P

kann's. Probiert halt 'n bißchen 'rum, verhunzt 'n paar Blatt Papier und macht Euch mit * vertraut. Noch 'n Tip, wenn's nicht funktioniert, nimm doch mal CMD. Wir werden versuchen die Probleme in zukünftigen Versionen zu beheben.

Es gibt ein Paar Pokes, die am besten in die AUTOEXEC eingebaut werden. Sie werden beim booten nur einmal gelesen und dann nicht mehr verändert. Es sind:

$1BEE (7150) Printeradresse (voreingestellt: 4)

$1BEF (7151) Printersekundäradresse (voreingestellt: 7)

* arbeitet gut mit einem IEEE (4022) und auch mit einem seriellen Drucker (1526) zusammen. Unglücklicherweise gibt es so viele verschiedene Drucker, daß nicht alle getestet werden konnten. Bei Problemen mußt Du mit der Sekundäradresse experimentieren. Sollte überhaupt nichts funktionieren, dann leite die Ausgabe auf Disk um und laß' Dein Lieblingstextprogramm den Drucker ansprechen.

Ausgabeumleitung auf Diskette

> und >> leiten den Bildschirmausdruck auch auf Diskette um, in eine SEQ-Datei. Diese Befehle arbeiten gerade so wie *, mit den gleichen Beschränkungen, nur eben auf Disk anstatt auf Drucker.

> legt eine neue Datei an, >> hängt Daten an eine schon bestehende Datei an. Es ergeben sich eine Menge interessanter Möglichkeiten in Kombination mit CHECK, GET, PUT und DIR Disketten zu katalogisieren. In Verbindung mit ARC/L kannst Du damit eine Liste dessen anlegen, was auf Deinem BBS on-line ist, oder mit CHANGE, VDUMP, MONITOR oder COMP kannst Du es bequem zur Fehlersuche ('debugging') einsetzen.

Die Ausgabeumleitung ist dem BASIC nicht ganz so transparent wie die Eingabeumleitung (EXEC). Wenn Dein laufendes Programm einen Befehlskanal auf das Ausgabelaufwerk öffnet (OPEN15,8,15) und dann den Kanal wieder schließt, schließt es auch die Datei, in die umgeleitet wurde. Hast Du mehr als ein Laufwerk, kannst Du das umgehen, indem Du die Ausgabe verschiedene Laufwerke ansprechen läßt.

Die umgeleitete Ausgabe (zu Drucker oder Disk) dauert nur bis zur Rückkehr zur READY. Meldung.

Beispiele:

VDUMP >TEST.EXEC die BASIC-Variablen werden in eine SEQ-Datei namens TEST.EXEC geschrieben (dump)

CHECK A:* >GAMES01.CHK schickt eine reich kommentierte Directory zum Defaultlaufwerk, ebenfalls als SEQ-Datei

CHECK B:* >>GAMES01.CHK hängt an die Datei im vorigen Beispiel an

ARC/L RA >86NAV schickt die Directory 'RA.ARC' des Default-Laufwerk in die SEQ-Datei '86NAV'

MONITOR >DEBUG.SESSION leitet die Ausgabe des Maschinensprache Monitors auf die Diskette

LIST >MEINPROGRAMM legt ein ASCII-Listing des im BASIC-RAM befindlichen Textes/Programmes an. Diese Datei

könnte später an andere im Speicher angehängt werden

PATTERN (MUSTER)

Viele der hier beschriebenen Befehle beziehen sich auf eine 'Patternliste', wie unten beschrieben. Die Befehlszeile kann maximal 20 Parameter aufnehmen, die Patternliste 19 Patterns. Z.B. im Befehl

CHECK A*.B* C:A??*.ASM D:NERD* D:ULTRA* C: >TEMP

reicht die Patternliste von A* bis >TEMP.

Die Dateinamenjoker ('wildcards') wurden für viele Befehle des CS-DOS etwas weiterentwickelt. Zusätzlich zum normalen Gebrauch der CBM-wildcards macht CS-Dos das Leben etwas leichter, indem das * leicht unterschiedlich interpretiert und ein eigenes Zeichen (&, oder NOT-Operator) zugefügt wird.

Ein & vor einem Dateinamen spricht alle Dateien an, außer dem angegebenen, z.B.:

ARC/A MISCDATA &*=P

nimmt in das Archiv im Default-Laufwerk alle Dateien auf, außer Programmen.

ARC/A MISC &C:*.ARC

nimmt alle Dateien von Laufwerk C: auf, ausgenommen jene mit der Endung ARC.

Der Asterisk wird gleitend interpretiert. Spiele ein wenig damit in Verbindung mit CHECK, um Dich vertraut zu machen. Z.B.:

*.* wählt alle Dateien mit einem '.' im Namen aus (wie z.B.: HELLO.ARC, SUPER.COPY.ASM oder MEGAMON. )

*.*=P wirkt gleich,, wählt aber nur Programme aus

*.ARC wählt alle Dateien mit der Endung '.ARC' aus

*.?? wählt alle Dateien mit einem '.' an drittletzter Stelle aus

JJ*.PIK wählt alle Dateien mit 'JJ' am Anfang und 'PIK' am Ende des Dateinamens aus

*NASE* sucht alle Dateinamen in denen irgendwo 'NASE' vorkommt

Bis jetzt kann diese Dateiauswahl noch nicht mit allen Befehlen zusammenarbeiten (z.B. DIR oder DEL), vielleicht wird's in späteren Versionen möglich sein. Aber die normalen CBM-DOS Joker sollten auf alle Fälle funktionieren.

Befehl: ASSIGN

Syntax: ASSIGN Buchstabe TO Buchstabe2 LAUFWERK, DRIVE

siehe auch: AUTOEXEC, INT06

ASSIGNordnet einem Laufwerk einen Kennbuchstaben als Adresse zu. Nach dem booten sind die Laufwerke wie folgt zugeordnet:

A: Laufwerk 8, Drive 0 B: Laufwerk 8, Drive 1

C: Laufwerk 9, Drive 0 D: Laufwerk 9, Drive 1

u.s.w. bis K: und L: für 13,0 bzw. 13,1

M: bis Y: sind alle dem Laufwerk 8, Drive 0 zugeordnet

Z: ist Drive 0 des Laufwerkes, von dem aus CS-DOS gebootet wurde

Gefällt Dir diese Voreinstellung nicht, ändere sie mit ASSIGN, elegant in der AUTOEXEC-Datei. Sollten ungültige Daten eingegeben werden, bricht ASSIGN mit einer Fehlermeldung ab, ansonsten passiert nichts. Gültige Werte sind:

Buchstabe A bis Z

Laufwerk 8 bis 30

Drive 0 bis 9

Zweifellos gibt es nur wenige 128'er Benutzer, die mehr als 26 Laufwerke ansprechen wollen, aber die Laufwerks- buchstaben eignen sich gut als Aliase (Pseudobefehle) und sind in Batchdateien hilfreich. Z.B. 'Z:' als Alias für das CS-Bootlaufwerk. Möchtest Du auf alle Routinen zugreifen, diese aber nicht ins RAM kopieren, kannst Du sie über Z: erreichen, egal von welchem Laufwerk gebootet wurde (wenn die Bootdisk dort belassen wurde).

Aliase vereinfachen u.U. den Aufwand Batchdateien zu ändern (anstatt der Assignbefehle der AUTOEXEC-Datei), wenn Dein System oder die Voreinstellung wechselt. Sie helfen auch Batchdateien von einem auf ein anderes System zu transportieren.

Beispiele:

ASSIGN A 9,0 'TO' kann ausgelassen werden. 'A:' spricht nun Laufwerk 9, Drive 0 an.

ASSIGN "C" TO 8 1 macht Laufwerk 8, Drive 1 zu C:

ASSIGN A TO 8,9 macht Laufwerk 8, Drive 9 zu A:

Befehl: AUTOEXEC

siehe auch: BATCH, SHELL

Bei irgendeinem Diskzugriff auf dem 128'er (z.B. CS-DOS laden...) merkt sich das 128'er Kernal in $BA (186) die Laufwerksnummer. CS-DOS geht davon aus, die AUTOEXEC im Bootlaufwerk zu finden. So schaut die Shell in 186 nach und macht dieses Laufwerk, Drive 0 zum Defaultlaufwerk und zu Z: und führt Z:AUTOEXEC aus. Dadurch kannst Du CS-DOS von jedem beliebigen Laufwerk aus booten.

Auch Du hast die Möglichkeit Dinge ein wenig anzupassen, manches muß, manches kann. Zuerst das Notwendige:

1.) teile CSARC1750 und LHA mit, welchen Teil der 1750 sie benutzen dürfen. Dazu dient der Befehl

POKE 7119, LOW*16+HIGH

'LOW' ist die niedrigste numerierte 1750-Bank, die diese Programme als Puffer nutzen dürfen, 'HIGH' die Höchste

plus eins. Soll z.B. nur Bank 0 benutzt werden, lautet der Befehl:

POKE 7119, 0*16+1

2.) ähnlich muß für TERM ein Puffer festgelegt werden, der vom obigen nicht unterschiedlich sein muß:

POKE 7120, LOW*16+HIGH

Nun die 'freiwilligen' Pokes:

1.) nimm Z:SETRAM um die RAM-Disk zu installieren

2.) nimm Z:GETRAM um eine früher angelegte RAM-Disk einzuladen

3.) wähle TEXT oder BASIC Modus

4.) mit ASSIGN wichtige Laufwerke, Drives festlegen (Lw-Buchstaben zuordnen)

5.) poke in folgende Stellen ein paar Zahlen:

7104 BAUD-Rate für TERM, LOW-Byte

7105 BAUD-Rate für TERM, HIGH-Byte

(einige Befehle, wie DIR und RDIR, arbeiten auch mit folgenden Farben)

7112 Farbe 1 (Voreinstellung weiß)

7113 Farbe 2 (Voreinstellung gelb)

7114 Farbe 3 (Voreinstellung grün)

7115 Farbe 4 (Voreinstellung cyan)

7116 Farbe 5 (Voreinstellung braun)

7117 Farbe 6 (Voreinstellung purpur)

7118 Farbe 7 (Voreinstellung gelb)

7122 Echo Status (Voreinstellung 0) 0=ON; $80=OFF

7150 Adresse Drucker (Voreinstellung 4)

7151 Sekundäradresse Drucker+96 (Voreinstellung 96)

5.) Voreinstellung der programmierbaren Funktionstasten

6.) UND SO WEITER . . . UND SO WEITER . . .

Schlüsselwort: BATCH DATEIEN

siehe auch: IF, GOTO, LOOP, BEGIN, GETKEY, EXEC, AUTOEXEC

Batch Dateien sind den MS-DOS "*.BAT"-Dateien sehr ähnlich, man braucht sie nicht extra zu starten ('execute'). Gib' nur den Dateinamen in der Befehlszeile ein -mit oder ohne Parameter- und ab geht's. Wenn CS-DOS beim Laden auf Progammdateien stößt (PRG), werden diese gestartet (RUN), sequentielle Dateien (SEQ) werden ausgeführt (EXEC).

Wie im MS-DOS können der Batchdatei Parameter übergeben werden. Enthält deine Batchdatei ('Test') z.B. die Zeile

ECHO %0 %1 %2 %2 %4 %5 %5 %6 %7 %8 %9

und Du gibst

TEST A B C D E F G H I J K L M N O P Q R S T U V

ein, wird das Ergebnis sein:

TEST A B C D E F G H I

Parameter höher als %9 werden ignoriert und %0 ist der Befehlsname selbst. Existiert in der Befehlszeile kein Parameter, wird ein SPACE ausgegeben. Wenn die Batchdatei

ECHO "%1"

wäre, würde

TEST

zu dem Ergebnis

" "

führen.

Eine Batchdatei kann eine andere (oder eine EXEC-Datei) aufrufen, aber die aufrufende wird dadurch beendet, evt. nachfolgende Befehle werden ignoriert.

Batchdateien sind von Floppy- oder RAM-Disk aufrufbar. Zweiteres ist vorzuziehen, da es weniger Probleme gibt und schneller geht.

Eine Batchdatei kannst Du stoppen durch

1.) POKE 7162,0 oder

2.) gleichzeitiges Drücken von C= und CTRL oder

3.) Aufruf einer anderen Batchdatei (die gar nichts tut).

Batchdateien und EXEC-Dateien sind nicht das gleiche; EXEC kann keine Parameter aus der Befehlszeile übernehmen

( %0, %1, ...). Enthielte Deine SEQ-Datei "TEST" die Zeile

ECHO %1 %2 %3

würde EXEC TEST

zu %1 %2 %3 führen,

aber A:TEST

würde TEST (+ 4mal SPACE) ausgeben.

Befehl: BEGIN LOOP

siehe auch: BATCH, GOTO, IF

BEGIN und LOOP kontrollieren den Ablauf einer Batch-Datei. BEGIN speichert die augenblickliche Position der Ausführung, LOOP springt zur durch BEGIN gespeicherten Position zurück. LOOP ohne BEGIN bleibt ohne Effekt.

BEGIN und LOOP arbeiten nur aus Batchdateien heraus, die in der RAM-Disk liegen und bleiben von der Floppy heraus ohne Wirkung.

Beispiel: Batchdatei um Disks auszutauschen ('swapping') unter Verwendung von ARC128

echo Lege Programmdiskette in Laufwerk Z: ein, dann drücke bitte <RETURN>

begin

getkey

if not errorlevel 13 loop

load "z.arc"

echo Lege Datendiskette in Laufwerk Z: ein, dann drücke bitte RETURN

begin

getkey

if not errorlevel 13 loop

z:

>i0

run:/ . . %1 %2 %3 %4 %5 %6 %7 %8 %9

run:/1 %1

;

Befehl: CHANGE

siehe auch: FIND, TEXT, BASIC, >, *

Syntax: change/vorher/nachher/, Zeilenbereich

change "vorher" "nachher", Zeilenbereich

Der Befehl change ändert Text oder Basicprogramme, die sich gerade im Speicher befinden. Jeder String "vorher" wird gegen "nachher" im angegebenen Zeilenbereich (Syntax wie im Basicbefehl LIST) ausgetauscht.

Change arbeitet abhängig vom Modus (TEXT/BASIC): kommen im ('vorher' oder/und 'nachher') String Basicschlüsselworte vor (wie 'if' in 'Gift'), werden diese vom Interpreter in die Basic-Tokens umgewandelt (nur im Basicmodus), es sei denn sie werden vonAnführungszeichen umgeben ("Gift"). Darum wurde hier auch die alternative Syntax mit den Anführungszeichen aufgenommen.

Beispiele: (die folgenden sind äquivalent, bewirken das gleiche)

change/lda/ldy/

cange :lda:ldy:,0

change"lda""ldy"

change "lda" "ldy"

Im folgenden wird ein Protokoll der Austauschvorgänge in einer Diskdatei festgehalten (es sind nur die Zeilen 1000-2000 betroffen):

change/lda/ldy/, 1000-2000 >Dateiname

Befehl: CHECK

CRC

siehe auch: DIR, *, PATTERNLIST, >, INT16

Syntax: check patternlist

crc patternlist

Dieser Befehl listet wortreich Directories. Er glaubt nicht (wie der DIR-Befehl) das was in der Directoryspur steht, sondern verfolgt jede Datei von Anfang bis Ende und berechnet die exakte Dateigröße, sowohl in Bytes, als auch Blöcken. NUR: REL-Datei 'side sectors' werden ignoriert.

Außerdem erfolgt die Angabe der Start- und Endadressen und RECORD-Längen (REL).

CHECK und CRC sind gleich, bis auf den 'zyklischen Redundanzcheck' (CRC) einer jeden Datei in der Patternlist. CHECK arbeitet sich blockweise, CRC byteweise durch die Dateien, deshalb ist CHECK auch schneller.

Hast Du einen Text oder ein BASIC-Programm im Speicher, läßt CHECK das kalt, aber CRC wird es abklopfen.

Mit CRC kannst Du auch die Integrität eines Archivs testen. Der angezeigte CRC-Wert sollte gleich dem sein, den CRC durch ARC oder PKARC anzeigte, als ein MS-DOS Archiv-Directory angezeigt wurde. Vermutest Du einen Fehler, wird CRC ihn finden, oder Deine Bedenken zerstreuen.

Suchmuster sind hier besonders mächtig (siehe PATTERNLIST).

CHECK kann sehr nützlich sein, die Inhalte von Archiven (oder Disketten) zu katalogisieren. Da CHECK mit der selben Art Suchmuster arbeitet wie ARC, könntest Du CHECK benutzen, bevor ein Archiv eingerichtet und dessen Ausgabe in eine Disk-Datei (z.B.: "diesesarc.chk") umgeleitet wird. Dann hole (mit GET) "diesearc.chk" ins RAM, füge zu den links gelisteten Dateien am rechten Rand ein paar beschreibende Stichworte ein, über oder/und unter der Directory noch ein paar Kommentare und schreibe das ganze (PUT) auf Diskette zurück. Nimmst Du nun die '.chk'-Datei ins Archiv auf (oder benutzt sie als Titelbildschirm eines SDA), kann jeder glänzen sehen, worum es in Deinem Archiv geht.

Beispiele:

check a:*.mus b:*.pic checkt alle Dateien in Laufwerk a: , deren Namen mit '.mus' endet oder

auf Laufwerk b: mit '.pic'

crc &*=p Directory für alle Dateien auf Laufwerk c:, außer Programmen

check b:r* >ch.hlp gab folgenden Ausdruck:

============================================================

d:filename type bytes blocks

============================================================

"b:ren.asm" seq 1,772 7

"b:ren" prg 191 1 $0b00-0bbd

"b:remove.asm" seq 2,788 11

"b:remove" prg 297 2 $0b00-0c27

"b:rdoff.asm" seq 1,574 7

"b:rdoff" prg 215 1 $0b00-0bd5

"b:rdir.asm" seq 2,090 9

"b:rdir" prg 298 2 $0b00-0c28

"b:relfile" rel 1,409 6 rl = 128

============================================================

9 file(s) 10,634 46

Befehl: CHANGEUNIT

Syntax: changeunit LaufwerkAlt to LaufwerkNeu

Dies ist Jim Butterfields Public Domain "drive address Change"-Programm, so angepaßt, daß auch die Befehlszeilen- Parameter abgearbeitet werden. (Dies ist auch ein Beispiel dafür, daß BASIC-Programme Befehlszeilen-Parameter übernehmen können!)

Da das ein BASIC-Programm ist, wird Text oder ein schon vorhandenes BASIC-Programm aus dem Speicher 'rausgeschmissen.

changeunit 8 to 9 ändert Laufwerk 8 auf Adresse 9

changeunit 9 8 ändert wieder zurück ('to' ist optional)

changeunit 8 14 I dieser 3-Zeiler könnte eine nützliche

changeunit 9 8 I EXEC-Datei sein, Laufwerksnummern

changeunit 14 9 I 8 und 9 gegeneinander zu tauschen

Bist Du ein Zeitschinder, kannst Du ein paar Millisekunden sparen:

changeunit 8 14

run: 9 8

run: 14 9

Befehl: COMP

Syntax: comp s:ErsteDatei d:ZweiteDatei

Comp vergleicht zwei Disk-Dateien und gibt nicht nur 'gleich' oder 'ungleich' aus, sondern zeigt genau die Bereiche an, die gleich und die die ungleich sind. Da es viele verschiedene Möglichkeiten gibt, wie sich zwei Dateien unterscheiden können, wird jede Vergleichsfunktion ihre Grenzen haben; COMP deckt natürlich zahlreiche Fälle ab.

COMP wurde geschrieben, um ARC zu 'debuggen' (Fehler zu finden). Dateien wurden ge-ARC-t und anschließend ent-ARC-t, um sie mit dem Original zu vergleichen. Erst als es keine Unterschiede mehr gab, konnte ARC in Ordnung sein.

Auch wenn ein Programm eine Datei ausgibt, kannst Du erkennen, wie geänderte Eingaben sich auf die Ausgabedatei auswirken.

Beispiel: nimm an "Datei a" enthält folgendes Programm:

1000 dopen#1,"relDatei",l20

1010 for x=1 to 10: print#1,"recordNummer ";x:next

1020 dclose#1

und "Datei b" enthält:

1010 dopen#1,"relDatei",l15

1010 for x=1 to 99: print#1,"recordNummer ";x:next

1020 print#1, "Ende"

1030 dclose#1

so gibt COMP aus:

a:Datei a a:Datei b

-------------------------------------------------------------------

offset addr1 addr2 match? comments

-------------------------------------------------------------------

000000 001c01 001c01 yes files start out the same

000016 001c15 001c15 no two bytes are different

000018 001c17 001c17 yes a bunch more the same

000025 001c24 001c24 no two more different

000027 001c26 001c26 yes a bunch more the same

000040 001c3f 001c3f no remaining bytes are mostly

000041 001c40 001c40 yes not alike. (only short

000044 001c43 001c43 no "yes" intervals)

00004a eof 001c49 no file a ends. $4a bytes long

00005b eof eof no file b ends. $5b bytes long

übersetzt:

a:Datei a a:Datei b

-------------------------------------------------------------------

offset addr1 addr2 gleich? Kommentar

-------------------------------------------------------------------

000000 001c01 001c01 ja Dateien starten gleich

000016 001c15 001c15 nein zwei Bytes sind unterschiedlich

000018 001c17 001c17 ja eine handvoll Gleichheit

000025 001c24 001c24 nein zwei Bytes mehr unterschiedlich

000027 001c26 001c26 ja eine handvoll Gleichheit

000040 001c3f 001c3f nein verbleibende Bytes sind überwiegend

000041 001c40 001c40 yes ungleich (nur kurze Intervalle

000044 001c43 001c43 no der Übereinstimmung)

00004a eof 001c49 no Datei a zu Ende. $4a Bytes lang

00005b eof eof no Datei b zu Ende. $5b Bytes lang

Beachte, eof ist nie eine Übereinstimmung, da eof bedeudet 'es gibt keine Daten mehr' (und nicht: 'dies ist das letzte Byte der Datei').

Befehl: COPY

siehe auch: >

Syntax: copy s:Quelldateiname d:Zieldateiname

Copy verschiebt Dateien zwischen Laufwerken hin und her. Copy liest die Quelldatei in einen 32K Puffer in Bank 1 und schreibt sie dann ins Ziel. Dabei bleiben Programme im Speicher unberührt, aber definierte BASIC-Variablen gehen verloren.

Wird s: (Source,Quelle) oder d: (Destination,Ziel) ausgelassen, nimmt der Befehl das Default Laufwerk an, aber die Dateinamen sind beide anzugeben.

Copy ist bei weitem nicht das beste Filecopyprogramm; Du hast sicher 'n paar 'rumhängen, die Du anstatt Copy INSTALLieren kannst. Da aber Copy aktuelle Programme im Speicher nicht anrührt, ist es doch interessant, so zwischendurch -während BASIC- oder Textbearbeitung- eben 'mal 'ne Kopie zu fertigen.

Beispiele:

copy a:diese b:jene kopiert 'diese' Datei von a: als 'jene' auf b:

copy a:diese jene kopiert 'diese' Datei von a: als 'jene' in Default

copy a:diese b:jene das gleiche wie: '>c1:jene=0:diese' unter der Annahme eines Doppellaufwerkes mit

a: als Drive 0 und b: als Drive 1

Befehl: DATE

siehe auch: ARC, INT14, INT15

Syntax: date tt,mm,jjjj

Stellt das Datum (Default ist 1. Januar 1980). tt = Tag (1 bis 31), mm = Monat (1 bis 12), jjjj = Jahr (1980 bis 2107). Für Jahre in diesem Jahrhundert kann das '19' entfallen (1.1.1987 = 1.1.87).

ARC ist der einzige Befehl der auf DATE zurückgreift.

Befehl: DCLEAR

siehe auch: EXEC, *, >

Syntax: dclear

Dieser Befehl schließt alle offenen Diskdateien, ist aber etwas unterschiedlich zum BASIC DCLEAR. Es wirkt wie:

close15: for dv= 8 to 30: open 15,dv,15: close15: next dv

Gelegentlich, bei Ausgabeumleitung über EXEC, * oder > kann eine Datei offen bleiben, wenn das READY. erscheint. dclear verhindert unkorrekt geschlossene Dateien. Dclear wird die Ausführung einer EXEC Datei NICHT unter- oder abbrechen, Du kannst es dort also ohne weiteres einsetzen.

Befehl: DEL

siehe auch: VDEL, >

Syntax: del d: Muster1 d: Muster2 . . .

Del löscht bestimmte Dateien. Es ist eine Batchdatei und eine Sonderform des VDEL, welches weiter geht und annimmt, Du hättest alle Abfragen des VDEL mit 'Ja' beantwortet.

Eine DEL Batchdatei sieht etwa so aus:

vdel/a %1 %2 %3 %4 %5 %6 %7 %8 %9

DEL wird kein 1581 - Unterverzeichnis löschen können, auch keine offene oder nicht ordnungsgemäß geschlossene Datei (nimm dazu: >s0:Name )

Beispiele: del *.arc löscht alle Archive

del a:a b:b c:c löscht die drei Dateien 'a', 'b' und 'c'

Befehl: DIR

siehe auch: CHECK, CRC

Syntax: dir/w Muster

Wirft ein einfaches Directorylisting aus. Muster ist irgendein zulässiger Dateiname und kann die Joker * und ? beinhalten. Die '/w'-Option zeigt nur Dateinamen an, unter Ausnutzung der ganzen Bildschirmbreite.

Beispiele:

dir c:*=p gleich wie: CATALOG D0 ON U9,"*=P

dir/w c:*=p gleich wie oben, zeigt aber nur Dateinamen an

*dir sendet Defaultdirectory zum Drucker

dir/w c: >Namen sendet Directory des Laufwerks c: in eine SEQ-Datei mit 'Namen' ins Defaultlaufwerk

Befehl: EXEC

siehe auch: *, >, >>, GET, PUT, INT20, BATCH FILES

Syntax: exec seqDateiname

Wenn Du die DOS-Shell bootest, sucht sie im Laufwerk a: eine SEQ-Datei namens 'autoexec' und führt aus, was immer darin steht und zwar so, als wären die Eingaben über die Tastatur erfolgt. Dies funktioniert, weil sich die DOS-Shell 'exec autoexec' selbst in die Befehlszeile schreibt.

Hast Du jemals SYSRES im 64'er Modus gebraucht, bist Du vielleicht mit EXEC-Dateien vertraut und weißt, wie nützlich sie sein können.

Wenn Du eine Datei 'EXEC' (ausführst) passiert folgendes:

Die Shell versucht die Datei zu öffnen. Existiert diese nicht, oder gibt es einen Diskfehler, passiert überhaupt nichts.

War bis hier alles in Ordnung, wird der Computer jedesmal wenn er ein Zeichen von der Tastatur (Geräteadresse 0) holen will, auf die EXEC-Datei umgeleitet. Dabei ist es egal, ob er sich im Direkt- oder Programm-Modus befindet, oder ob Du INPUT oder GET benutzt, -das KERNAL glaubt, mit der Tastatur zusammenzuarbeiten, tatsächlich ist's aber die EXEC Datei.

Am Ende der EXEC Datei wird die normale Tastaturfunktion wiederhergestellt.

EXEC versucht so unauffällig wie nur irgendmöglich zu sein, aber es gibt doch ein paar Einschränkungen: Da EXEC seine Daten von der Diskette holen muß (Sektor für Sektor), kann es passieren, daß eine Diskdatei göffnet werden soll, während EXEC arbeitet. Das geht nur, wenn EXEC mehr als einen Block lang ist.

Die andere Einschränkung: BASIC kann 'nur' maximal 10 Dateien gleichzeitig geöffnet halten (was aber im allgemeinen genügen sollte). Eher könnten Laufwerke ausgereizt sein, die mit weniger geöffneten Dateien gleichzeitig umgehen.

Es gibt ein Paar POKEs die vielleicht in EXEC hilfreich sein können:

$1bfa (7162) eine Null hier unterbricht EXEC, 255 fährt weiter

$1beb (7147) normalerweise wird EXEC jedes Zeichen aus der EXEC-Datei auch auf den Bildschirm werfen. 255

schaltet das aus, Null wieder ein.

Befehl: FIND

siehe auch: CHANGE, TEXT, BASIC, >, *

Syntax: find/string/, Zeilenbereich

find"string", Zeilenbereich

Find sucht alle Stellen (im Text oder Programm), an denen 'String' vorkommt und zeigt diese an; Zeilenbereich entspricht der Syntax des Basicbefehls 'LIST'.

FIND arbeitet im Text- etwas anderst als im Basic-Modus: Im Basicmodus wird der Suchstring durch den Interpreter 'TOKEN-isiert', was durch Anführungszeichen um den Suchstring zu verhindern geht.

Der Begrenzer um den Suchstring kann irgendein Zeichen sein, ohne angegebenenen Zeilenbereich ist der Schlußbegrenzer optional.

Die folgenden Beispiele sind äquivalent:

find/lda/

find :lda

find *lda*.0-

find"lda"

find restorelda (im BASIC-Modus)

Befehl: GET

siehe auch: PUT, TEXT, SCROLL

Syntax: get/a Dateiname,Startzeile

Der GET-Befehl lädt SEQuentielle Textdateien zum editieren in den Speicher. Der Schalter /a ist optional und wandelt dabei die Datei von Standard- in Commodore-ASCII um.

Ohne angegebene Startzeile wird die Textdatei alles überschreiben, was sich bereits im Speicher befindet. Mit einer Startzeile werden die Zeilen kleiner oder gleich der angegebenen erhalten, nur die höheren werden überschrieben.

Dateiname ist irgendein zulässiger, den das Laufwerk finden kann, aber SEQ-Typs sein muß.

GET kann natürlich keinen Text über den top-RAM-pointer (RAM-Endzeiger) hinaus laden, längere Texte werden einfach gekappt, ebenso werden Zeilen >160 Zeichen auf 160 Zeichen gestutzt.

GET prüft nicht, ob die angegebene Datei tatsächlich ein gültiges Textfile ist, weshalb u.U. Abstürze vorkommen (normalerweise harmlos). In diesem Fall RESET-Knopf drücken, SYS 6000 eingeben und Du bist zurück in der DOS-Shell.

Beispiele:

get helptext holt 'helptext' vom Default-Laufwerk

get b:helptext holt helptext von Laufwerk b:

get "helptext",5000 merge-t helptext ins RAM, Beginn nach Zeile 5000

get/a "capture buffer" holt Standard-ASCII-Datei vom Default-Laufwerk als Commodore-ASCII ins RAM

Befehl: GETKEY

siehe auch: BATCH, IF, GOTO, LOOP, BEGIN

Syntax: getkey

Getkey wartet auf einen Tastendruck. Der ASCII-Wert der gedrückten Taste wird als 'errorlevel' ausgegeben. Getkey wird hauptsächlich in Batchdateien angewendet.

Befehl: GETRAM

siehe auch: PUTRAM, RAMDISK

Syntax: getram d:Dateiname

Hast Du einmal die Befehle INSTALLiert, die Du benutzen möchtest, kannst Du sie mit PUTRAM in einem Stück auf Disk speichern, dann brauchst Du die INSTALLation nicht jedesmal neu durchrackern.

GETRAM stellt die RAM-Disk (wie mit PUTRAM abgespeichert) wieder her und ist folgendem BASIC-Befehl gleich:

BLOAD "Dateiname", B(BankRAM-Disk), P(AdresseRAM-Disk), Dx on Uy

Es wird nicht geprüft, ob die Datei "Dateiname" auch in den angegebenen Speicherplatz hineinpaßt, so sei bitte umsichtig.

Beispiele:

getram c:Assemblerstoff holt 'Assemblerstoff' von Laufwerk c:

getram ARC-stoff holt 'ARC-stoff' vom Defaultlaufwerk

Befehl: GOTO

siehe auch: BATCH, IF, LOOP, BEGIN

Syntax: goto label

Springt in einer Batchdatei vorwärts bis zum angegebenen Label. 'Label' ist irgendeine Zeile, die in Position Null einen Doppelpunkt ':' hat. Der Batch

goto there

: there

echo hi

:there

echo bye

würde 'bye' auswerfen und nicht 'hi' (und 'bye'), das erste :there wird nicht als Label anerkannt.

Du kannst nur vorwärts (und nicht rückwärts) durch die Batchdatei suchen.

Befehl: IF

siehe auch: BATCH, BEGIN, LOOP, GOTO, GETKEY, ;

Syntax: if exist Muster Befehl

if String1 = String2 Befehl

if errorlevel N Befehl

If wird in Batchdateien zur Ablaufsteuerung eingesetzt. 'Befehl' kann ein BASIC- oder CS-DOS-Befehl sein.

Nur wenige CS-DOS-Befehle geben einen sinnvollen errorlevel zurück. Generell gilt, errorlevel 0: der Befehl tat was Du von ihm erwartet hast, irgendeine andere Zahl: aus irgendeinem Grund ist etwas schiefgelaufen.

'if exist Muster Befehl' führt den Befehl nur aus, wenn das Dateisuch-Muster existiert

'if String1 = String2 Befehl' führt den Befehl nur aus, wenn String1 = String2

'if errorlevel N Befehl' führt den Befehl nur aus, wenn der letzt vorhergehende Befehl den Wert N als errorlevel

rückgemeldet hat.

Z.B. eine Batchdatei, die auf dem DEL Befehl aufbaut, - laß' sie uns "lösche" nennen:

if "%1" = " " goto usage

if "%2" = "ifon" goto delif

del %1 %2 %3 %4 %5 %6 %7 %8 %9

goto done

:delif

if "%3" = " " goto usage

if exist %3%1 del %1

goto done

:usage

echo usage %0 Dateiname ifon d: ('ifon d:' ist optional)

:done

;

Der Aufruf mit 'lösche Name' wäre zwar der gleiche wie 'del Name', aber beim Aufruf mit 'lösche Name ifon b:' wird nur die Datei im Defaultlaufwerk löschen, wenn eine gleichnamige Datei in Laufwerk b: existiert.

Oder hier eine Batchdatei, die ein Programm assembliert und reinstalliert. Nimm an, wir nennen sie "assm" und wollen sie mit 'assm Name' aufrufen:

asm %1 , asm %1

if not errorlevel 0 goto error

remove %1

install %1

goto done

:error

echo Assembler-Fehler !!!

:done

;

Befehl: INSTALL

siehe auch: REMOVE, SETRAM

Syntax: install/bank d:Muster d:Muster . . . .

Installiert eine neue Datei von Diskette in die RAM-Disk. Bank ist eine einstellige Hexzahl für die Bank (0 bis F entsprechend dez. 0 bis 15), in der das Programm ausgeführt werden soll. Voreingestellt ist F, solange nichts anderes angegeben wird.

Install versucht Fehler zu erkennen, es ignoriert Dateien, die nicht Programm sind und installiert nicht über das Ende der RAM-Disk hinaus (was auch immer das Ende des RAM's für BASIC war, als RAM-Disk installiert wurde).

INSTALL läßt Dich auch SEQ-Dateien in die RAM-Disk installieren. Als Voreinstellung geht INSTALL davon aus, daß eine SEQ-Datei ein Batch ist. SEQ-Dateien sind auch als TYPE-Dateien installierbar. TYPE-Dateien werden auf dem Bildschirm ausgedruckt, wenn Du ihren Namen nach dem READY.-Prompt eintippst. Das finde ich bequem, um Speicherbelegungen (memory maps), BBS Telefonnummern, I/O Register u.s.w. anzusehen. TYPE-Dateien können mit einem Argument versehen werden, dann kommen nur die Zeilen zum Ausdruck, die das Argument enthalten. Hast Du z.B. eine Type-Datei namens 'p', die folgende Zeilen enthält:

GEnie 793-1256 (jkl987,smedlap)

Dragon's Lair 956-1234 (password)

com1 458-0039 (hunk)

dann würde 'p com1' nur die dritte Zeile anzeigen, 'p' alleine, aber die ganze Datei.

Um eine SEQ-Datei als Batchdatei zu installieren, benutze 'install Name' ; als Typedatei nimm 'install/t Name' .

Beispiele:

install *=p installiert alle Programme auf dem Defaultlaufwerk

install &arc installiert alle Dateien auf dem Defaultlaufwerk, außer 'arc'

install a b c installiert 'a', 'b' und 'c'

install/t esc installiert SEQ-Datei "esc" als Type-Datei

Befehl: Merge

siehe auch: EXEC, >, *

Obwohl Du MERGE nicht siehst, wenn Du den Inhalt der RAM-Disk mit RDIR listest, ist es im EXEC-Befehl enthalten.

Programmierst Du in BASIC, kannst Du eine ganze Bibliothek von Unterroutinen aufbauen, die Du später, wie folgt, in Dein aktuelles Projekt MERGEn kannst:

Erst kodiere, prüfe (debug) und teste die Routinen, bis alles glatt läuft. Dann als ASCII-Datei auf Disk speichern mit

list Zeilenbereich >Dateiname

Zeilenbereich ist der Bereich der Subroutine, der gespeichert werden soll.

Später, wenn Du die Subroutinen in andere Programme aufnehmen willst ('Merge'), ist alles was zu tun ist: EXEC ('ausführen'). Dies wäre das selbe, als die Zeilen nochmals per Tastatur einzutippen.

COLD Computer Reset

FORTY schaltet in den 40-Zeichen RGB-Modus

EIGHTY schaltet in den 80-Zeichen RGB-Modus

PUSHDIR sichert das aktuelle Defaultlaufwerk (nützlich in Batchdateien)

POPDIR restauriert das Defaultlaufwerk auf das, das durch PUSHDIR gespeichert wurde

; tut nichts. Es ist nur dazu da, Kommentare in Batchdateien einzufügen

cd eine Batchdatei, um 1581-Partitions zu wechseln

# I Dies sind noch ein paar Batch- oder Type- Dateien,

rd I RSAVE sie auf die Floppy, TYPE

esc I und schaue dann nach,

cls I was sich jeweils darin/dahinter

colors I verbirgt.

Befehl: MOVE

siehe auch: COPY, PATTERN

Syntax: move s:pattern d:

MOVE kopiert Dateien von einem Laufwerk zu einem anderen. Dabei liest MOVE die Datei vom Quell-Laufwerk ('source', s:) in einen 32K-Puffer in Bank 1 und schreibt sie dann ins Ziellaufwerk ('destination', d:). Irgendwelche Programme im Speicher werden nicht beeinflußt, aber definierte BASIC-Variablen gehen verloren. Wird s: oder d: ausgelassen, setzt CS-DOS das Default-Laufwerk ein. Mit diesem Befehl sind erweiterte Suchmuster anwendbar.

Beispiele:

move c:*.arc kopiert alle Archive von Laufwerk c: aufs Default-Laufwerk

move jj* c: kopiert alle Dateien, deren Namen mit 'jj' beginnt, von Default nach c:

move c:* d:* b:* kopiert alle Dateien von Laufwerk c:, d: und b: aufs Default-Laufwerk

Befehl: OLD

Syntax: old

Nach einem 'NEW' oder Reset (mit Resetknopf) ist Dein Programm oder Text zwar noch im Speicher, läßt sich aber nicht mehr LISTen etc. OLD stellt die Programmzeiger wieder her, und alles ist wieder im Lot.

Befehl: PUT

siehe auch: GET, TEXT, SCROLL

Syntax: put/a d:Dateiname,Anfangszeile,Endzeile

Der PUT-Befehl speichert den RAM-Inhalt als SEQ-Datei auf Disk. Der /a -Schalter ist optional und wandelt die Datei ins Standard-ASCII-Format um (und fügt 'linefeeds', Zeilenvorschübe, ein), bevor sie auf Disk gesendet wird.

Bitte Start- und Endzeile angeben, oder beide auslassen (dann werden sie auf 0 bzw. 65535 gesetzt).

Beispiele:

put "DieseDatei" speichert RAM in eine Datei "DieseDatei" auf dem Default-Laufwerk

put b:JeneDatei,5000 speichert ab Zeile 5000 als "JeneDatei" auf Lw. b:

put text - 5000 speichert bis Zeile 5000 auf das Default-Laufwerk

put range,3000,4000 speichert den Bereich Zeilen 3000-4000 als 'range'

put/a Kapitel9.txt speichert Speicherinhalt als ASCII-Datei 'Kapitel9.txt'

Befehl: PUTRAM

siehe auch: GETRAM, RAMDISK

Syntax: putram d:Dateiname

PUTRAM speichert den Inhalt der aktuell definierten RAMDISK als Diskdatei und entspricht dem BASIC-Befehl

BSAVE"Dateiname",B(Bank),P(Startadresse) TO P(Endadresse+1), Dx on Uy

Mit GETRAM, PUTRAM, INSTALL und REMOVE lassen sich Gruppen Deiner Lieblingsutilities zusammenstellen und etliche Deiner 'Entwicklungen' abspeichern. Z.B. Assemblerzubehör auf eine Disk, Filekopierer und ARC (Archivdateien) auf eine andere, BASIC Programmierhilfen auf eine weitere, u.s.w. Dadurch läßt sich viel 'swapping' (hin- und herkopieren) sparen, besonders, wenn nur ein Disklaufwerk zur Verfügung steht.

Es ist schlau , besonders mit der großen 1750-RAM-Disk, ab und an ein Backup der RAM-Disk zu machen. Obwohl die Daten dort relativ sicher sind, ist es doch möglich, daß irgendwelche harmlos aussehende Programme so den Speicher beschreiben, daß ohne vernünftigen Grund die RAM-Disk zerrissen wird. Das trifft oft auch dann zu, wenn Du irgendwas programmierst und von Zeit zu Zeit Abstürze fabrizierst.

Eine 'zerrissene' RAM-Disk kann man zwar abspeichern (PUTRAM), aber man hätte nichts davon, sie wieder zu laden. Deshalb ist es sinnvoller, auf eine frühere Sicherung zurückzugreifen.

Beispiele:

putram c:modemstuff speichert 'modemstuff' auf Laufwerk c:

putram spritestuff speichert 'spritestuff' auf Default-Laufwerk

Schlüsselwort: RAMDISK

siehe auch: GETRAM, PUTRAM, INSTALL, REMOVE, SETRAM, RDOFF, RDIR

Dateien werden in der RAM-Disk als 'linked list' gespeichert, ganz ähnlich wie BASIC die Zeilen eines BASIC-Programms speichert.

Kein Befehl wird tatsächlich dort ausgeführt, wo er in der RAM-Disk sitzt, - er wird erst dorthin verschoben, wo er ablaufen soll. Dadurch ist die RAM-Disk frei verschiebbar ('completely relocatable'); sie kann heute in Bank 1, morgen irgendwo in Bank 0 und übermorgen im ROM liegen.

Du kannst jedes Programm, das klein genug ist, um in die RAM-Disk zu passen, dadurch laden und starten, indem sein Name in die Befehlszeile eingegeben und RETURN gedrückt wird. Um die Namen leichter eingeben zu können, sind die Dateinamen rename-bar, bevor sie INSTALLiert werden.

Jeder RAM-Disk-Eintrag besteht aus einem kleinen Header, gefolgt von der Datei selbst. Das Format ist:

2 Bytes Offset zum nächsten RAM-Disk-Eintrag. Eine Null signalisiert: Ende der RAM-Disk erreicht

? Bytes Dateiname, Null wird ausgelassen

1 Byte Ist Bit 7 wahr, handelt es sich um eine SEQ-Datei; Bit 6 wahr = Type-Datei; anderenfalls: Batchdatei

? Bytes die Datei-Daten folgen

Befehl: RDIR

siehe auch: INSTALL, REMOVE, GETRAM, RDOFF

Syntax: rdir/w

Vielleicht brauchst Du diesen Befehl oft, er listet die Dateien (oder Befehle), die in der aktuellen RAM-Disk gerade vorhanden sind. Im ausgegebenen RAM-Disk Directory sind Dateiname, Start- und Endadresse, gesamt verbrauchter Speicherplatz (im RAM) und noch freier Platz enthalten.

Beispiele:

*rdir schickt RAM-Disk Directory (auch) zum Drucker

rdir >ram1.dir schickt RAM-Disk Directory in eine Textdatei namens 'ram1.dir'

rdir/w Ausgabe der RAM-Disk Directory fortlaufend, anstatt untereinander (am Bildschirm)

Befehl: RDOFF

siehe auch: SETRAM

Syntax: rdoff

Die RAM-Disk wird gelöscht, der Speicher dem BASIC zur Verfügung gestellt. Dabei vollzieht rdoff verschiedenes:

Erstens: die Flag(s), für den Befehlszeilen-Interpreter werden zurückgesetzt und damit die automatische Suche nach den Befehlen in der RAM-Disk unterbunden. Befand sich die RAM-Disk in einer anderen Bank als 0 oder 1, ist jetzt schon alles zur Abschaltung getan.

Zweitens prüft rdoff, ob sich die RAM-Disk in Bank 0 oder 1 befindet. Wenn ja, wird versucht, den BASIC-Endzeiger wieder so herzustellen, wie er vor der Installation war. Wurde aber in der Zwischenzeit die BASIC-Endadresse durch Programme unterhalb die durch SETRAM gelegten Grenzen verschoben, tut RDOFF nichts (und teilt Dir das auch mit). Ist das nicht das, was Du willst, drücke RESET und gib' 'SYS 6000' ein, um die CS-DOS-Shell zu reaktivieren; so hast Du die RAM-Disk aufgelöst und Dein 'normales' RAM zurück.

RDOFF ist vergleichbar dem NEW (mit dem aber der RAM-Disk-Inhalt nicht beeinflußt wird), es gibt aber kein 'OLD' für RDOFF. Auch SETRAM nach RDOFF kann die RAM-Disk nicht restaurieren. (u.U. sind mit RESET oder COLD-Befehl und SYS 6000 ein paar Zeiger auf die RAM herstellbar).

Befehl: REMOVE

siehe auch: INSTALL, RDIR, SETRAM

Syntax: remove Datei1 Datei2 Datei3 . . .

Löscht Datei(en) von der RAM-Disk. Hier sind leider keine Joker erlaubt, jeder Dateiname ist voll auszuschreiben.

Befehl: REN

Syntax: ren d:DateinameAlt DateinameNeu

Ändert den Dateinamen von 'DateinameAlt' auf 'DateinameNeu' im Laufwerk d: . REN verhält sich wie der BASIC-Befehl RENAME und ist gleichwertig zu:

RENAME "DateinameAlt" TO "DateinameNeu", Dx ON Uy

Beispiele:

ren "a b c" abc um die Leerschritte im Dateinamen loszuwerden (Anführungszeichen weil Leerschritte im

Dateinamen)

ren "a?b?c?" abc ungültig. Keine Jokerzeichen zugelassen

Befehl: RSAVE

siehe auch: INSTALL, RDIR, SETRAM, GETRAM

Syntax: rsave Datei1 Datei2 Datei3 . . .

Kopiert ein Programm aus der internen RAM-Disk in eine Floppy PRG-Datei. Joker sind nicht erlaubt, Datenamen müssen korrekt ausgeschrieben werden.

Beispiele:

rsave a:arc speichert 'arc' von RAM-Disk nach Laufwerk a:

rsave dir put speichert 'dir' und 'put' aufs Defaultlaufwerk

Schlüsselwort: SCROLL

siehe auch: TEXT, BASIC, GET, PUT

Eine der besten Eigenschaften des Commodore BASIC, besonders im 128'er 80-Zeichenmodus ist der Bildschirmeditor; Commodore hat nicht nicht viel ausgelassen, . . . aber das Scrolling. Wenn Du einmal frei mit den Cursortasten durch ein Programm vor- und zurückgescrollt hast, wirst Du diesen Luxus wohl nicht mehr missen wollen. Darum haben wir ein Scroll-Tool mit eingebaut, bei dem auch Leerzeilen kein Problem sind.

Scroll blendet sich im RUN-Modus selbst aus, so daß Beeinflussungen der Programme nicht auftreten dürften.

Scroll braucht nicht viel Erklärung, es sucht sich, wenn der Cursor über den unteren (oberen) Bildschirmrand gesteuert wird, aus dem RAM die nächst-höhere (-niedere) Zeilennummer. Dabei ist es Scroll egal, wo die (erste) Zeilennummer herkommt: es könnte das Ergebnis eines FIND-Vorganges sein, oder schlicht eine eingetippte Zeilennummer.

Befehl: SETRAM

siehe auch: RDOFF, RDIR, GETRAM, RAMDISK, PUTRAM, INSTALL, REMOVE

Syntax: setram Bank, Adresse

setram 1750bank+1, 1750bankanzahl

SETRAM legt Teile des Speicherplatzes aus dem RAM (C128-intern, oder aus der 17xx Erweiterung) als RAM-Disk fest. Irgendwelche Programme, die in die RAM-Disk kopiert werden, verhalten sich wie eingebaute Befehle. In der MS-DOS-Sprache ausgedrückt, verhält sich die RAM-Disk so, als wäre 'RAM-Disk' die einzige Directory in deinem PATH.

Hast Du mehr als ein Laufwerk zur Verfügung und es macht Dir nichts aus, vor jedem Befehl einen Laufwerksbuchstaben einzutippen, kommst Du ganz gut auch ohne RAM-Disk aus. Alle Befehle können gleichwohl von Disk, wie von RAM-Disk gestartet werden.

Hast Du eine 1750, so installiere dort die RAM-Disk und ignoriere die nächsten paar Absätze.

Ohne Speichererweiterung ist es eine gute Idee, eine kleine 8 oder 12K RAM-Disk in Bank 1 zu installieren und dort kleinere vielbenutzte Befehle abzulegen, und die größeren Befehle (Programme) -wie z.B. ARC- von Diskette zu starten. Die 1571 ist doch ganz schön schnell, so daß sich eine RAM-Disk nicht unbedingt lohnt.

RAM-Disk ist in irgendeine der Bänke 0 bis 11 installierbar. Ich weiß nicht, wofür Commodore die Bänke 2 und 3 konzipiert hat, aber meide sie besser für's erste, da SETRAM für diese beiden die BASIC-Zeiger nicht richtig hinbekommt (Bank 2 ist in Wirklichkeit Bank 0 und Bank 3 die 'echte' Bank 1).

Die Bänke 4 bis 11 sind internes und externes ROM. Hast Du Zugriff auf einen EPROM-Brenner, so könntest Du die RAM-Disk in einer dieser Bänke installieren. Bezüglich des Befehlszeilen-Interpreters macht es keinen Unterschied ob es sich um eine RAM- oder ROM-Disk handelt. Deshalb, spiele ein bißchen 'rum, bis Dir gefällt, was Du im RAM hast, sichere das mit PUTRAM als Diskdatei und brenne die dann auf EPROM.

Wahrscheinlicher ist, daß Du die RAM-Disk in Bank 1 oder 0 installierst. Dabei sind ein paar Dinge zu beachten:

Manche Befehle (bis jetzt sind das ARC, MOVE und COPY) nutzen Bank 1 als Ein-/Ausgabepuffer, der dort beginnt, wo die DOS-Shell endet ($4000) und bis zum Ende des BASIC-RAM (d.h. falls in Bank 1 Deine RAM-Disk sitzt, bis zu deren Beginn) reicht. Gerät die RAM-Disk zu groß, wird der Puffer zu klein und der Schreib-/Lesekopf des Laufwerks muß Extraschichten einlegen (besonders wenn nur ein Laufwerk zur Verfügung steht).

Auch Bank 0 ist kein sonderlich gut geeigneter Ort für die RAM-Disk. Da es sehr einfach geht, eigene Programme für Bank 0 zu schreiben, kann es gut sein, daß die RAM-Disk durch dein Programm 'vernascht' wird. ARC benötigt RAM bis $C000 (49152) in Bank 0, deshalb ist dies die niedrigst mögliche Adresse, wenn ARC benutzt werden soll. Kein Befehl geht über $C000 hinaus, deshalb ist dieser Bereich ziemlich sicher (wenn er Dir reicht).

Ich werde versuchen, so gut es geht, den Bereich oberhalb $C000 in allen Bänken freizuhalten (mit LHA ist's nicht möglich).

In allen Bänken ist die absolut niederigste Adresse für die RAM-Disk $4000 (16384).

Für die 1750 lautet die Syntax:

setram ErsteBank,AnzahlBänke

wobei 16, 17 . . . 23 für 'ErsteBank' den 1750-Bänken 0, 1 . . . 7 entspricht. So reserviert

setram 16,8

die ganze 1750,

setram 22,2

nur die letzten beiden Bänke für die RAM-Disk. Es ist möglich, mehr als eine RAM-Disk zu installieren, aber es kann jeweils nur eine aktiv sein.

Da es recht lange dauert, eine große RAM-Disk in die 1750 einzuladen, initialisiert SETRAM die RAM-Disk nicht. Das bedeudet, was auch immer gerade in der RAM-Disk steht, wird als gültige RAM-Disk angesehen. Die AUTOEXEC-Datei, die mit dem CS-DOS kommt, prüft anhand des IF-Befehls, ob die RAM-Disk gültig ist. Ist der IF-Befehl vorhanden, wird eine intakte RAM-Disk angenommen und so die Zeit gespart, sie nochmals laden zu müssen.

Für die Initialisierung der RAM-Disk gibt es zwei Möglichkeiten. Erstens mit GETRAM eine früher ge-save-te RAM-Disk einladen. Zweitens mit dem BASIC-Befehl STASH zwei Nullen an den Anfang der RAM-Disk setzen. Letzteres ist auch notwendig, wenn nach einem SCRATCH eine neue RAM-Disk aufgebaut wird.

Beispiel: (Einrichtung einer RAM-Disk in 1750-Bank 0 und deren Initialisierung)

setram 16,1

poke4864,0:poke4865,0

stash 2,4864,bank,0 (bank=erste benutzte 1750-Bank, hier 0)

weitere Beispiele:

a:setram 1,$b000 installiert RAM-Disk in Bank 1 bei 45056

a:setram 0,49152 installiert RAM-Disk in Bank 0 bei $c000

a:setram 8 $4000 installiert RAM-Disk in die Cartridge. Ist irgendetwas außer RAM-Disk dort, sind die

Ergebnisse unvorhersehbar

a:setram 16,1 nutzt nur die erste Bank der REU 17xx

Befehl: TEXT

Befehl: BASIC

siehe auch: GET, PUT, FIND, CHANGE, SCROLL

Syntax: text

Syntax: basic

Wählt den Text- bzw. Basicmodus. Die Editorbefehle FIND, CHANGE und LIST, sowie das SCROLL-ing verhalten sich etwas unterschiedlich, abhängig vom gewählten Modus.

Wie wir alle wissen, spart BASIC ein wenig Platz und Zeit, indem Befehle token-isiert (in eine 'Abkürzung umgewandelt') werden. Diese Token sind nur ein Byte groß. Beim LIST-en eines BASIC-Programmes werden die Token entsprechend rückübersetzt. Hier liegt das Problem, wenn mit dem BASIC-Editor Textdateien bearbeitet werden. Viele übliche Zeichen einer Textdatei (in Verbindung mit Großbuchstaben) werden beim LIST-en 'rückübersetzt', oder von BASIC aus token-isiert. Dies ist durch die Wahl des Modus abschaltbar (Text-Modus) oder einschaltbar (BASIC-Modus).

Bist Du mit der Token-isierung nicht vertraut, probiere sie doch einfach aus, indem Du ein BASIC-Programm einmal im Text- und einmal im BASIC-Modus LIST-est. Dann gib ein paar Zeilen im Text-Modus ein (unter Verwendung von Großbuchstaben) und LIST-e sie in beiden Modi . . . und sehe, was ich meinte.

Bei Moduswechsel ändert sich die Bildschirm-Vordergrundfarbe (als Gedächtnisstütze).

Befehl: TIME

siehe auch: DATE

Syntax: time hhmmss

Setzt die Uhr (bei $dc08) auf die angegebene Zeit.

Da viele Programme in der Uhr 'rumfummeln, ist es müßig, 'was vernünftiges zu machen und es ist durchaus wahrscheinlich, daß die Zeit ab und an verloren geht.

Trotzdem kann die Zeit gut für eine Zeitmessung genutzt werden und bei Vermeidung 'verletzender' Programme, auch zur Anzeige der Tageszeit.

Beispiele:

time zeigt die aktuelle Zeit an

time 1:34 setzt die Zeit auf 1:34:00.0

time 024515 setzt die Zeit auf 2:45:15

time 0 setzt die Zeit auf 0:00:00.0

Ein Beispiel für eine Batch-Datei:

time 0

arc/.. %1 %2 %3 %4 %5 %6 %7 %8 %9

echo Vergangene Zeit:

time

Befehl: TYPE

siehe auch: *, >, >>

Syntax: type/x d:Dateiname

Type zeigt Dateiinhalte an.

/x ist optional, x kann sein:

a wandelt die Ausgabe von PETSCII in Standard-ASCII um

p wandelt die Ausgabe von Standard-ASCII in PETSCII um

s zeigt die Datei als Bildschirmcode

h zeigt die Datei als Hexadezimal-Bytes

Joker dürfen benutzt werden, zur Anzeige kommt aber nur die jeweils erst-gefundene Datei.

In Verbindung mit /s (Bildschirmcode) funktionert die parallele Ausgabe auf Diskette oder Drucker leider nicht.

Beispiele:

type read.me zeigt 'read.me' ohne Umwandlung an

*type/p read.me kopiert 'read.me' auf den Drucker, umgewandelt von Standard-ASCII auf PETSCII

type/s *=p zeigt erste Programmdatei des Default-Laufwerks als Bildschirmcode an.

type/a pet.txt >asc.txt kopiert 'pet.txt' als 'asc.txt' unter Konversion (Umwandlung) von PETSCII- nach

ASCII-Code

Befehl: VAL

siehe auch: COMMAND LINE, INT11

Syntax: val Zahl Zahl Zahl . . .

Val zeigt den Wert eines Ausdrucks (zwei Bytes) in verschiedener Form an.

'Zahl' kann sein:

%Binärzahl

(Klammeraffe)Oktalzahl

Dezimalzahl

$Hexadezimalzahl

Der 'Ausdruck' wird in jedem der Zahlensysteme angezeigt und auch in Bildschirmcode.

Beispiele:

Eingabe Ausgabe

val $4000 $4000 16384 %0100000000000000 -(Klammeraffe)

val %11 Kla11 11 $11 $0003 3 %0000000000000011 Kla c

$0009 9 %0000000000001001 Kla i

$000b 11 %0000000000001011 Kla k

$0011 17 %0000000000010001 Kla q

Befehl: VDEL

siehe auch: DEL

Syntax: vdel/a Suchmuster (. . .Suchmuster . . .)

Scratch-t (löscht) die angegebene(n) Datei(en). Bis zu 20 Suchmuster können unter Verwendung aller Joker eingesetzt werden. Bevor jede einzelne Datei tatsächlich gelöscht wird, erfolgt eine Sicherheitsabfrage; beantwortet mit 'n' oder <RETURN> wird nicht gelöscht, 'y' löscht. Als dritte Möglichkeit kann * eingegeben werden, es weist vdel an, ohne weitere Sicherheitsabfrage(n) fortzufahren.

Der optionale Schalter /a (wie 'always' = 'immer') übergeht von vornherein die Sicherheitsabfrage(n) (umsichtig handhaben!).

Mit vdel können keine 1581-Unterverzeichnisse und keine offenen oder nicht richtig geschlossenen Dateien gelöscht werden (aber mit ' >s0:Name' der Wedge geht's).

Beispiele:

vdel &*.arc löscht alle Dateien außer Archiven vom Default-Laufwerk

vdel a:* b:* löscht alle Dateien aus Laufwerken a: und b:

Befehl: >

siehe auch: COPY, REN, DEL, MOVE

Syntax: >Diskbefehl

> schickt einen Diskbefehl zum Default-Laufwerk. > alleine, holt den aktuellen Diskstatus vom Default-Laufwerk und zeigt ihn an. Dies ist einer der wenigen fest eingebauten Befehle.

Beispiele:

>i0 initialisiert Drive 0 des Default-Laufwerks

>n0:1571 disk,ss formatiert Diskette

>u0>m1 schaltet die 1571 in den 1571-Modus

>uj läßt eine 4040 rasseln und schnarren (A.d.Ü.: ???)

> entspricht 'PRINT DS$'

Schlüsselwort: ARC 2.41

ARC 2.41 ist im Grunde das gleiche wie die 64'er Version ARC 2.30, deshalb erstmal die Unterschiede.

Am wichtigsten: die 128'er Version ist zur 64'er 100%ig kompatibel, d.h. Archive, unter 128 erstellt, können vom 64'er aufgedröselt werden und umgekehrt.

ARC/C wurde 'rausgeschmissen. ARC/A erstellt nun sowohl neue Archive, als auch Erweiterungen ('append') bestehender Dateien. ARC prüft, ob ein Archiv bereits existiert, wenn ja, wird automatisch angefügt ('append'); wenn nein, wird ein neues Archiv angelegt.

ARC/M ist aufgenommen. Es entspricht im wesentlichen dem ARC/A, nur daß eine neu ins Archiv aufgenommene Datei vom Source-(Quell-)Laufwerk automatisch gelöscht wird (deshalb umsichtig anwenden!).

Eine Kurzübersicht der ARC-Syntax bekommst Du mit

ARC/?

Der größte Unterschied zwischen den beiden Versionen offenbart sich, wenn Du stolzer Besitzer einer 1571 oder 1581 bist: die Geschwindigkeit. Infolge besseren Pufferns und der besseren 71'er Übertragungsrate, ist ARC nun etwa 3mal schneller, als in der Kombination 64/1541. Auch IEEE-Drives sind schneller (hauptsächlich durch die 2MHz Taktrate).

ARC wurde auf einem System mit je einer 1571, 1581, 4040, 8250 getestet.

Da ARC mit einem großen Puffer in Bank 1 arbeitet, gibt es viel weniger Disk-Aktivitäten sowohl beim anlegen, als auch beim aufdröseln von Archiven auf Single Drive Systemen (mit nur einem Laufwerk). Der Puffer ist Inputpuffer beim auflösen, Outputpuffer beim anlegen der Archive. Befehle, die keinen Nutzen aus dem Puffer ziehen, benutzen ihn auch nicht (z.B. ARC/P oder ARC/L).

Neu sind die erweiterten Suchmuster (an anderer Stelle beschrieben), die bei Errichtung der Archive benutzt werden können. Zur Extraktion aus Archiven gelten (immer noch) die Standard CBM-DOS Suchmuster (Joker).

Letztlich konnte ARC 2.30 keine relativen Dateien mit Ein-Laufwerk-Konfigurationen extrahieren, da ARC 2.30 sowohl das Archiv, als auch die relative Datei gleichzeitig offenhalten mußte ('das ging mit einer 1541 nicht so gut' und mündete in einen 'no channel error'). Das ist jetzt bereinigt.

Bist Du mit der 64'er Version bereits vertraut, ist das alles, was Du wissen mußt.

Hinzufügen von Dateien in ein Archiv

arc/a <d:ArcDatei.arc> <s:Suchmuster1> <s:Suchmuster2> . . .

arc/ax <d:ArcDatei.arc> <s:Suchmuster1> <s:Suchmuster2> . . .

arc/m <d:ArcDatei.arc> <s:Suchmuster1> <s:Suchmuster2> . . .

arc/mx <d:ArcDatei.arc> <s:Suchmuster1> <s:Suchmuster2> . . .

Diese Befehle erstellen ein Archiv auf Laufwerk d: namens 'ArcDatei.arc' oder erweitern dieses Archiv, sollte es schon vorhanden sein. Bis acht Suchmuster sind zulässig, x kann folgende Werte annehmen:

n ohne Datenkompression werden die Dateien einfach nur abgelegt

p alle Dateien werden gepackt

s alle Dateien werden ge-squeeze-t

q alle Dateien werden ge-squash-t

c alle Dateien werden ge-crunch-t (in zwei Durchgängen)

1 alle Dateien werden ge-crunch-t (in einem Durchgang)

z crunch abschalten. Entspricht ARC/A, außer daß crunching niemals als

Kompressor gewählt wird

ARC/M verhält sich genauso wie ARC/A, außer daß die ins Archiv bewegte ('moved') Datei vom Herkunfts-Laufwerk gelöscht ('scratched') wird.

Bei Auswahl der Option 1 werden Teile der Information, die zum 'auspacken' der Archive notwendig sind, am Ende der Datei gespeichert; dort steht die originale Dateilänge und die Prüfsumme. Und unglücklicherweise muß ARC die Dateilänge genau wissen, bevor's an die Arbeit geht, damit der Speicherplatz auf der Diskette genau zugeteilt werden kann. So sind REL-Dateien nicht in einem Durchgang zu crunchen. Sollte ARC in der Option 1 auf eine REL-Datei stoßen, wird diese (automatisch) mit der Option c behandelt.

Die z Option wurde schon in ARC 2.30 eingefügt und funktioniert gleich wie ARC/A, d.h. ARC wählt automatisch den jeweils besten Datenkompressor (aber niemals crunch). Die z Option stellt die Kompatibilität zum USQ-Utility her (das ge-crunch-te Dateien nicht unterstützt).

Beispiele:

arc/a a:sq b:sq.* b:usq.* erstellt Archiv 'sq.arc' auf Laufwerk a:, das dann alle Dateien enthält, die mit 'sq.' oder

'usq' beginnen

arc/as a:test.arc f:*-* archiviert alle Dateien von Laufwerk f: mit einem '-' im Namen als 'test.arc' auf Laufwerk

a. und squeez-t alle Einträge

arc/m seq b:*=s archiviert alle sequentiellen Dateien von Laufwerk b: als 'seq.arc' im Default-Laufwerk

und löscht sie danach von b:

Manchmal stimmt die Anzahl der Blöcke im Directorylisting nach einem Append (anfügen) nicht mit ARC überein. Das ist ein harmloser Fehler (bug) im CBM-DOS. Seltsam genug, daß ein Validate zwar Deine Zeit verplembert, aber den Blockzähler nicht beeinflußt.

Wegen der Kompatibilität können ältere Archive mit dieser Version erweitert werden.

Bei der Erweiterung (Append) von Dateien solltest Du etwas vorsichtig sein, damit die Archivlänge ein ganzzahliges vielfaches von 254 Bytes wird. Überträgst Du Archive über Modem (mit XMODEM Protokoll), geschieht das 128-Byte-weise. Ist die Datei nicht ein vielfaches von 128 Bytes lang, wie die meisten, 'polstert' XMODEM die Datei bis zur passenden Länge auf. Konsequenterweise wird auch noch ein extra Diskblock ans Ende des Archives angefügt. Mit einem Disk-Doktor Programm ist das leicht zu lösen: ändere die Linkadresse des vorletzten Sektors im Archiv auf 0,255.

Mit der Extraktion von Dateien aus 'downloaded' XMODEM Archiven sollte es keine Probleme geben, da ARC die 'Aufpolsterung' des XMODEM ignoriert. Aber bevor Du ein Archiv erweiterst, solltest Du dieses Problem angehen, sonst kannst Du nicht mehr de-archivieren.

Zur Erkennung Dieser Art von Problem, hat ARC den Befehl

arc/f ArchivName

erhalten. ARC marschiert die Track/Sektor-Linkadressen des Archives ab und schmeißt den letzten Sektor raus. Ist das Archiv in Ordnung und die letzte Linkadresse ist -wie sie sein sollte- '0,255' unternimmt ARC nichts weiter, sondern gibt die Meldung aus

archive is ok.

Ist das Archiv nicht in Ordnung und die Linkadresse ist eine andere als 0,255 , geht ARC in den zweitletzten Sektor und ändert dort die Adresse auf 0,255 . So wird der Extrasektor des XMODEMs 'entfernt'. Arc wird aber weder den gelöschten (deleted) Sektor freigeben, noch den Directoryblockzähler aktualisieren. Brauchst Du diesem Block unbedingt, mache ein Validate.

Dateien aus einem Archiv herausholen (extract) mit:

arc/x d <d:Archivdatei> <Suchmuster1> <Suchmuster2> . . .

Ohne Suchmuster wird alles extrahiert, ansonsten nur die 'Treffer' der Suchmuster. Verschlüsselte Dateien (encrypted files) werden von ARC nicht mehr unterstützt, sie müssen mit der 64'er Version bearbeitet werden. (Das ist die einzige 'Inkopatibilität' der neuen zur alten Fassung.)

Beispiele:

arc/x a:sq holt alle Dateien aus 'sq.arc' von Laufwerk 8,0 und legt sie im Default-Laufwerk ab

arc/x a:sq * gleich obigem Befehl

arc/xf b:temp.arc holt alle Dateien aus 'temp.arc' von Laufw. 8,1 und legt sie auf der Diskette in f: (10,1) ab

arc/e c:buch060893 kapitel9 holt nur die Datei 'kapitel9' aus dem Archiv 'buch060893' ins Laufwerk c:

ARC/X und ARC/E sind synonym (gleich)

arc/l <d:ArchivName> listet die Dateien eines Archives, was typischerweise etwa so aussieht:

arc/l a:archelp

ARC version 2.41

03/86 . . . Ampere Metal

directory for archive: a:archelp.arc

======================================================================

filename type blks now v stowage date

======================================================================

xarc.type.me p 129 41 2 crunched 24aug86

samples s 22 9 2 crunched 24aug86

================ ==== ====

2 files 151 50

Die beiden ersten Spalten zeigen Dateinamen und -typ (p,s,u,r), die nächsten beiden die Dateilänge vor bzw.

nach Kompression (bei Rel-Dateien stimmen die Blöcke nicht mit dem Directory überein, da ARC die

'Sidesectors' nicht braucht). Spalte v ist die Versionsnummer (derzeit drei möglich: '1' für Archive unter

1.xx erstellt, '2' für 2.xx, oder 'I' für MS-DOS Archive). Desweiteren erfolgt die Angabe der

Kompressionsmethode und des Datums (Datum nur in der 80-Zeichen-Version).

arc/px <d:ArchivName> <Suchmuster1> <Suchmuster2> . . .

druckt die angegebenen Dateien aus 'AchivName' auf den Bildschirm. Die Syntax ist gleich ARC/X, nur geht

der Ausdruck auf den Bildschirm anstatt auf Diskette. Der optionale Schalter x kann folgende Werte

annehmen:

p wandelt von Standard-ASCII ins Commodore-ASCII um

a wandelt von PET-SCII ins wahre ASCII um

arc/v <d:ArchivName> <Suchmuster1> <Suchmuster2> . . .

Verifiziert die Inhalte des Archives. ARC berechnet eine zwei-Byte Prüfsumme aus der noch nicht

komprimierten Originaldatei. Beim Verify dekompressiert ARC die Dateien, berechnet die neue

Prüfsumme und vergleicht sie mit der gespeicherten und gibt ggf. eine Fehlermeldung aus (Fehler können

durch Diskettenfehler oder Fehler beim 'upload' oder 'download' auftreten).

Die Syntax entspricht wieder der von ARC/X, d.h. es müßte Dir aufgefallen sein, daß alle drei Befehle (/X, /P,

/V) nur leichte Variationen der gleichen Sache sind.

Befehl: CSARC

Syntax: CSARC/n d:Archivname <Suchmuster 1> <Suchmuster2> . . .

CSARC legt Archive im Standard-MS-DOS-Format an, das sowohl von IBM PC/XT/AT und kompatiblen, sowie von Atari st und Amiga benutzt wird.

Der /n Schalter (opt.) verhindert Datenkompression, alle Dateien werden 'nur gespeichert'.

In der vorliegenden Form kann CSARC nur direkt, oder ge-crunch-t in die Archive speichern (nicht ge-pack-t oder ge-squeeze-t). PKARCs squashing, obwohl leichter auszuführen als crunching, konnte durch die Begrenzung des Speicherplatzes nicht mit aufgenommen werden.

CSARC hat nur eine Einschränkung in Dateinamen, sie müssen kürzer als 12 Zeichen sein. CSARC wandelt den Dateinamen in Standard-ASCII um, bevor ge-arc-t wird, aber prüft nicht, ob es sich tatsächlich um einen (unter MS-DOS) gültigen Dateinamen handelt - das liegt in Deiner Verantwortung. (MS-DOS Dateinamen müssen die Form 'Name.ext' einhalten. 'Name' ist maximal 8 Zeichen lang, 'ext' (Extension,Erweiterung) maximal 3 Zeichen.

Weder in 'Name' noch 'ext' dürfen vorkommen:

Klammern (alle Arten), Punkt, Komma, ; , : , ?, *, /, Backslash, +, ", Space, >, <, CBM-Grafik- und Steuerzeichen

Um sicher zu gehen, benutze nur a-z, 0-9.

CSARC bedient sich lediglich der Standard-I/O-Befehle (OPEN,CHRIN,CHROUT) und sollte deshalb mit jedem CBM-Laufwerk zusammenarbeiten.

Befehl: CSARC1750

Der CSARC1750-Befehl entspricht in Zweck und Syntax dem CSARC, hat aber ein paar Vorteile. Vor allen gibt es hier einen Schalter /p, mit dem CSARC eine Pause einlegt, wenn ein Archiv erstellt ist (um auf Systemen mit nur einem Laufwerk ggf. einen Diskwechsel vornehmen zu können).

Zweitens nutzt CSARC1750 Burstroutinen, um Dateien, die zu archivieren sind, zu lesen. Unter CSARC ist das nicht möglich, da eine Datei nicht zum schreiben (des Archives) geöffnet sein kann und gleichzeitig Burstload-Routinen anwendbar sind.

Das Archiv wird innerhalb der 1750 erstellt, die als Auffangpuffer (capture buffer) dient. Vergewissere Dich, vorab alles aus der 1750 gesichert zu haben, was Dir noch wichtig ist, bevor CSARC1750 aufgerufen wird. Beachte außerdem, daß der Auffangpuffer groß genug ist, das ganze Archiv zu fassen, weil Du keine Fehlermeldung bekommst, wenn der Puffer überläuft (dann mußt Du nochmal von vorne anfangen).

Da die Datei während der analyze-Phase ge-crunch-t wird, ist CSARC1750 deutlich schneller als CSARC (wenn überhaupt ge-crunch-t werden soll).

Befehl: CSXARC

Syntax: csxarc/p Dateiname

CSXARC löst (immer nur ganze) MS-DOS Archive auf. Die extrahierten Dateien kommen aufs Default-Laufwerk. Mit der /p Option erfolgt Bildschirmausgabe unter gleichzeitiger Umwandlung von ASCII in PETSCII.

Unglücklicherweise speichert MS-DOS am Archivende eine EOF-Marker ('end of File'). Um ein Archiv zu erweitern (append), ist es notwendig, jenes um zwei Bytes zu kürzen (und das ist im CBM-DOS äußerst umständlich). Konsequenterweise ist es nicht möglich, bestehende Archive mit CSARC zu erweitern. Der EOF-Marker würde bestehen bleiben, und obwohl beim erweitern augenscheinlich alles glatt lief, wäre kein Programm in der Lage, die angehängten Dateien zu extrahieren.

Die Speicherbelegung im C128 für CSARC:

Bank 0 $1c01 - $2fff CSARC/CSARC1750 Programmdaten

$7000 - $f000 crunch-Stringtabellen

Bank 1 (strend)-(fretop) Inputpuffer (String-Ende bis Ende des freien BASIC-Speichers)

dies bedeudet mit anderen Worten, irgendetwas in Bank 1 ist bei Start von CSARC dort sicher, in Bank 0 aber nicht.

Schaust Du in die AUTOEXEC-Datei findest Du eine Zeile etwa wie . . .

poke dec("1bd0"),3*16+8 (hex 1bd0 entspr.: dez 7120)

Damit werden für CSARC die 1750-Bänke 3 bis 7 als Input/Output Puffer reserviert. Aktualisiere unbedingt diese Zeile, wenn Deine RAM-Disk größer als die (Default-) 128K wird (Bank 0 und 1), sonst wird sie durch CSARC verpfuscht.

CSARC wurde gegen PKARC (Version 3.6) ausgetestet, welches wohl wiederum mit der SEA-ARC (Version 5.10) kompatibel sein soll, aber ich habe nicht weiterverfolgt, was SEA nach derm arcwars-Aufruhr ('ARC-Krieg') mit ARC angestellt hat.

Befehl: LHA

Syntax: LHA-s Archiv Datei(en)

LHA legt Archive im LHARC-Format an. Die '-s' Option teilt LHA mit, eine selbstauflösende SFX anzulegen (siehe die SFX-Dokumentation für nähere Details).

PRO: Das LHA hat Vorteile gegenüber ARC128 und MS-DOS-ARC-Formaten und wird immer populärer. zu den Vorteilen gehört . . .

1.) Einfachheit. Mit nur einem Datenkompressions-Algorithmus ist der Code weniger komplex und wir müssen uns nicht um altmodische Versionen des Kompressors oder die mögliche Art des Kompressors kümmern.

2.) Beweglichkeit. Seit der C Quellcode für Kompressor und Dekompressor in der Public Domain erhältlich ist, wird das Format auf zahlreichen Systemen eingesetzt (MS-DOS, Amiga-DOS, u.a.). So können Archive, auf dem C128 erstellt, mit anderen Sytemen bearbeitet werden und umgekehrt.

3.) Effektivität. Der 'sliding dictionary data compression' -Algorithmus des LHARC ist eine deutliche Weiterentwicklung der 'Lempel Zev'-Technik, angewandt von ARC, ZOO und anderen. Desweiteren arbeitet die Technik gut mit kleinen Dateien und solchen zusammen, die sonst nicht so gut zu verdichten gehen. Oft liegt der Gewinn gegenüber ARC128 oder CSARC bei 20-25% oder mehr. Das bedeudet, daß eine mit Archiven randvolle 800K Floppydisk nach Umwandlung ins LHARC-Format noch etwa 160K frei hat.

4.) lange Dateinamen. Das LHARC-Format tyrannisiert dich nicht auf die 8+3 Einschränkung der Dateinamen und ist so für das Commodore 8 Bit DOS oder AmigaDOS o.ä. komfortabler.

5.) SFX. Das SelF eXtract Modul kann vom 64'er oder 128'er gestartet werden.

KONTRA:

Das hängt hier vom Vergleich ab. Im Vergleich mit PKWARE ZIP oder DHESI ZOO bleiben für LHARC Wünsche offen, bezüglich der Unterstützung von Dateikommentaren, Wiederherstellung beschädigter Archive, u.s.w., aber dennoch schlägt sich LHARC im Vergleich zu vielen anderen ganz gut.

Hauptproblem ist die Geschwindigkeit. Lempel Zev ist schneller, aber in der vorliegenden Fassung ist LHA nur unbedeudend langsamer als ARC128.

So überwiegen die Datenverdichtung und die Austauschbarkeit die 'Mängel' bei weitem.

Voraussetzung: LHA erfordert eine 1750 und läuft nicht ohne.

Hast Du keine RAM-Erweiterung, kannst Du LHARChive anschauen und/oder auflösen, aber nicht anlegen.

Jede Datei im Archiv bekommt einen Vorspann ('header'), der u.a. die ursprüngliche Dateigröße, die komprimierte Größe und die dateiberechnete CRC enthält. Diese Informationen stehen nicht zur Verfügung, bevor die Datei gespeichert wird, da LHA die komprimierte Datei erst in die 1750 verschiebt, den Vorspann (header) schreibt und dann von dort auf die Disk (ins Archiv) 'spült'.

Zu diesem Ablauf gibt's Alternativen, aber die sind zu kompliziert oder zu langsam.

Da Du die 1750 wohl auch für andere Aufgaben benutzen magst, mußt Du dem LHA mitteilen, welche Bereiche des RAMs freigehalten sind. Dazu dient etwa folgende Zeile z.B. in der AUTOEXEC-Datei

poke 7119,x*16+y

in der bedeudet x die niederigste zu benutzende Bank, y die höchste plus eins.

poke 7119,4*16+7

teilt LHA mit: benutze die 1750-Bänke 4, 5 und 6; alle anderen Bänke werden nicht angerührt. Oft reichen ein oder zwei Bänke aus. Wird eine komprimierte Datei größer als der zur Verfügung stehende Speicherplatz, bricht LHA einfach ab.

LHA verbraucht auch ein gutes Stück vom C128-Speicher: fast alles von Bank 1 ($4000 bis $e100) (LHA läuft nicht, wenn da was anderes zwischenkommt), sowie von Bank 0 $1c00 bis $bfff ($c000 und darüber wird nicht angerührt).

Nur PRG- und SEQ-Dateien sind archivierbar, REL- und USR-Dateien werden abgewiesen. REL- Dateien sind umständlich handzuhaben und werden deshalb (noch) nicht unterstützt; USR- Dateien können Dateien sein, aber auch nicht.

LHA prüft immer, ob die Zieldatei bereits existiert. Wenn ja, hängt es die neuen Daten an ('append'); wenn nein, wird die Zieldatei angelegt.

Für bessere Kompatibilität wandelt LHA den Dateinamen erst ins Standard-ASCII-Format um, bevor er in den Archiv-Header geschrieben wird. Beim extrahieren der Datei aus dem Archiv wird der Namen automatisch wieder ins Commodore-ASCII zurückverwandelt. Deshalb mußt Du aufpassen, daß die verwendeten Namen nur aus jeweils gültigen Zeichen bestehen und ggf. auch von anderen Systemen akzeptiert werden.

Auf Systemen, die Unterverzeichnisse untersützen, läßt LHARC im Archiv die Speicherung des vollen Pfad- und Dateinamens zu. Da Commodore-DOS Unterverzeichnisse nicht unterstützt, ignoriert LHX den Pfad- und gebraucht nur den Dateinamen. Das führt zu folgenden Effekten:

1.) In Commodore-Dateinamen sind Schrägstriche ('slash') vor- und rückwärts erlaubte Zeichen, führen aber zu Mißdeutungen. Deshalb die entsprechende(n) Datei(en) vor der Bearbeitung umbenennen.

2.) Eine Datei gleichen Namens kann in verschiedenen Unterverzeichnissen stehen. Da der Pfad weggelassen wird, würde die die zweite Datei die erste überschreiben. Dies zu umgehen, gibt es die -r Option, mit der LHX schon bestehende Dateien umbenennt. Dazu legt LHX eine Batchdatei namens 'Duplicates' (Doppelgänger) an, die, wenn alles gesagt und getan ist, editiert und ausgeführt werden kann.

Eigentlich sollte LHA mit einem Null-Header das Ende eines Archives markierenen, aber es tut's nicht, weil sowohl Amiga- als auch MS-DOS-LHARC ohne dies das Dateiende richtig erkennen. Das bedeudet, daß Du zwei LHARChive zu einem gültigen neuen aneinanderreihen kannst, vorausgesetzt, beide wurden mit LHA erstellt und kein XMODEM oder so hat die Dateilänge verändert. Das ist auch ein Grund, warum eine Erweiterung bestehender Dateien überhaupt möglich ist. Wenn Du natürlich via XMODEM überspielte oder per Amiga oder MS-DOS erstellte LHARChive hast, solltest Du diese nicht erweitern, da die zusätzliche Information verloren gehen kann, wenn LHX den Null-Header findet und sich damit am Dateiende wähnt. Es gibt einen Ausweg, aber das ist harte Arbeit und den Aufwand oft nicht wert.

Ist LHA fertig, teilt es die Anzahl der von Disk gelesenen und auf Disk geschriebenen Bytes mit. Beim neuanlegen eines Archives, geben die Zahlen die Gesamtlänge (incl. ggf. SFX- Header) des Archives an, bei einer Erweiterung nur die Länge der hinzugefügten Information.

LHA speichert den Dateityp im Archiv mit ab, so daß SEQ und PRG bei der Extraktion wiedergewonnen werden (natürlich nur LHA-erstellte LHARChive!). Ist eine Dateityp Information aus dem Archiv erhältlich, überschreibt diese den voreingestellten ('default') Typ. Das Dateityp-Byte liegt so gut im Dateinamen vergraben, daß es von MS-DOS- oder Amiga-LHARC nicht gefunden wird.

Während das Archiv aufgebaut wird, versucht LHA Dich mit einer Balkengrafik der Dateigröße vor und nach der Kompression zu beeindrucken. Jeder senkrechte Balken ist ein Viertel Zeichen breit und steht für 256 Bytes, und die Breite eines Zeichens steht für 1K. Der Balken für die originale Dateigröße wird während des Kompressionsvorganges aufgebaut, für die komprimierte Datei während des 'spülens' von der 1750 auf Diskette.

Anstatt alle zu archivierende Dateinamen in die Befehlszeile einzugeben, können sie auch in einer Datei angegeben werden. Zum Beispiel der Befehl

LHA test Klammeraffea:Namen

könnte das LHA beauftragen, daß es die Dateien, die in der Dateinamensliste 'a:Namen' verzeichnet sind, dem Archiv hinzufügen soll. Dies wäre zum Beispiel nützlich, wenn man an einem größeren Projekt arbeitet und regelmäßig die Arbeitsdatei aktualisieren möchte. Das könnte etwas Tipparbeit sparen, stünde die Liste der zu archivierenden Dateien in einer Backup-Liste-Datei. Der Hauptgrund für diese Option ist natürlich, daß LHA mit anderen Programmen zusammenarbeiten kann. Solche Programme (eine Art menügesteuerte Dateiauswahl zum Beispiel) könnten die ausgewählten Dateinamen speichern, die ins Archiv aufgenommen werden sollen und dann LHA aktivieren.

Das Format einer KlammeraffeName -Datei ist wie folgt. (LHA ignoriert alle Zeilen, die nicht konform gehen, oder mit einem Strichpunkt (Semikolon) beginnen)

d:Name,t ; alles nach dem t wird ignoriert

Name darf maximal 16 Zeichen lang sein und keine Joker enthalten

,t muß angegeben werden. t (type) steht entweder für p (PRG) oder für s (SEQ)

d: Laufwerksangabe (optional)

Um Dir eine Vorstellung zu geben, wie schnell (oder langsam) LHA und LHX sind, hier ein paar Beispiele. Alle Tests sind mit identischem Archiv durchgeführt worden; es war nach ARC128 112 CBM-Blöcke groß, nach LHA 82.

Archiv-Listing: 'TEST.LZH'

Name Original Packed Ratio Date Time Attr Type CRC

LHA 11580 7468 64.5% 90-01-11 9:22:56 a--w -lh1- 6322

LHARC5.ASM 11650 2718 23.3% 90-01-11 9:28:16 a--w -lh1- 82a5

LHX 10982 6977 63.5% 90-01-11 9:23:18 a--w -lh1- 503b

LZHUF.C 10021 3442 34.3% 89-11-26 7:28:10 a--w -lh1- 55d3

4 files 44233 20605 46.6% 90-01-11 9:28:36

Zeitbeispiele Zeitbedarf in Sek.

Computer Progr. Quell-Lw Ziel-Lw erst. auflösen

20 MHz 386 LHARC Floppy gl.Floppy 13.7 21.2

1.13c Festpl. Festpl. 6.2 5.0

4.77MHz XT LHARC Floppy gl.Floppy 90.7 89.0

1.13c Festpl. Festpl. 54.1 29.8

Amiga 500 LHARC1.0 Floppy gl.Floppy 110.5 56.8

Festpl. Festpl. 96.9 29.0

C128 LHA/LHX 1571 1581 175.4 105.5

1581 gl.1581 171.5 118.0

C128 ARC128 1571 1581 205.7 121.0

1581 gl.1581 149.3 103.2

Obwohl der 128'er kein Hexer in Sachen Tempo ist, liegt er doch im Bereich dessen, was man von einer 2 MHz - 8 Bit Maschine erwarten kann.

Befehl: LHD

Syntax: LHD ArchivName <Suchschlüssel>

LHD zeigt den Inhalt eines LHARC-erstellten Archives. LHD zeigt die spezifizierten Dateien oder alle (wenn kein Suchmuster angegeben) an. LHD gibt zu jeder Datei und zum Archiv Informationen an.

Die verschiedenen Spalten des Archiv-Listings sind:

1) Filename Disk-Dateiname nach Umwandlung von Commodore- nach Standard-ASCII und mit Pfad (soweit vorhanden)

2) Original die originale Dateigröße

3) Packed die komprimierte Dateigröße

4) Ratio Größe komprimierte Datei in % von Originalgröße

5) Date Datum der Dateieinrichtung

6) Time Zeit der Dateieinrichtung

7) Ver Version, Datei nur gespeichert: -lh0- Datei komprimiert: -lh1-

8) CRC CRC für die Datei vor Kompression (PKARC-Stil)

Die 'total disks blocks' (gesamt-Diskettenblöcke) am Ende des Ausdrucks geben an, wieviele Diskblocks bei Extraktion der angezeigten Archivdateien belegt würden.

Beispiele:

LHD Name erstellt aus Archiv 'Name.lzh' ein Directory aller Dateien

LHD progs *.c erstellt aus Archiv 'progs.lzh' ein Directory der Dateien, deren Namen mit .c enden

LHD e:e e* erstellt aus Archiv 'e:e.lzh' ein Directory der Dateien, deren Namen mit e beginnen

belegter Speicherbereich:

Bank 0: $1c00 bis $bfff

Bank 1: keiner

Befehl: LHX

Syntax: LHX Optionen ArchivName <Suchschlüssel>

LHX extrahiert aus 'ArchivName' die in Suchschlüssel spezifizierten Dateien (oder alle, ohne Angabe des Suchschlüssels). Die Optionen können einzeln, kombiniert oder garnicht angewendet werden:

-a zur Umwandlg. der extrahierten Dateien von Standard- nach Commodore- ASCII

-c bestimmt die Dateien als Commodoredateien. Zum Gebrauch, wenn in Dateinamen Schrägstriche ('slash' und

'backslash') vorkommen und diese nicht als Unterverzeichniskennung dienen (sollen)

-l listet die vollen Dateinamen des LHARChives auf, einschließlich der bei Extraktion notwendig werdenden

CBM-Diskblöcke

-p gibt die extrahierte Datei auf Bildschirm anstatt auf Diskette aus

-r normalerweise werden Dateien, die schon bestehen, einfach überschrieben. Willst Du das nicht, benutze

diese Option, zur Umbenennung der Dateien. LHX schreibt eine Batchdatei 'Duplicates' ins Default-Laufwerk,

die sich editieren und ausführen läßt, um alles wieder ins Lot zu bringen

-s macht SEQ zum Default-Dateityp (ist ansonsten PRG)

-u schaltet die Darstellung des Dateinamens in den Kleinschreibmodus (Archive, unter MS-DOS erstellt,

erscheinen im Großschreibmodus - nicht gerade leserlich)

-v zur Überprüfung, 'verify', ob das Archiv in Ordnung ist

Beispiele:

LHX Name extrahiert alle Dateien aus 'Name.lzh'

LHX -a Name *.txt extrahiert alle Dateien mit der Endung .txt aus 'Name.lzh' und wandelt sie dabei von ASCII in

PETSCII um

LHX -p -a Name *.txt wie oben, jedoch Bildschirmausgabe

LHX -pa Name *.txt wie oben

Speicherbelegung:

Bank 0: $1c00 bis $bfff

Bank 1: keine

Schlüsselwort: SFX (Self extracting LHARChive für C64 und C128)

Das LHARChiv self extracting (selbst extrahierendes) Modul (SFX) ist ein wenig größer, als die SDA-Module für ARC128. Es mißt etwa 3500 Bytes (oder 14 CBM-Blöcke) im Vergleich zu ungefähr 2000 Bytes (8 CBM-Blöcke) des SDA, hat aber etliche Vorteile.

LHARChive sind kleiner, so daß die etwa 1500 Bytes sich sicher in Archiven rechnen, die mehr als ein paar Kilobyte lang sind. LHARChive sind meistens um 20% kleiner, so daß der Gleichstand beider Verfahren bei 1500/0,2 = 7500 Bytes liegt. Ist das Archiv größer, wird das SFX deutlich kleiner als das SDA.

SFX zwingt Dich nicht, wie es das SDA tut, die extrahierten Dateien auf Laufwerk 8, Drive 0 zu schreiben (so steht auch die RAM- oder irgendeine andere Disk offen).

SFX läßt sich einfach bedienen. Du wirst nur nach dem Destination-(Ziel-)Laufwerk und der Drivenummer gefragt. Du kannst Deine Wünsche eingeben, oder mit <RETURN> die Vorgaben übernehmen. Gibst Du nur 'leer' ein (d.h. Vorgabe löschen, <RETURN>), wird SFX abgebrochen, ohne daß etwas passiert.

LHARC ist auch auf MS- und Amiga-DOS erhältlich, deshalb könnten auch auf diesen Maschinen selbstauflösende Archive erstellt werden. Bist Du ein SYSOP, der ein 'bulletin board' auf Amiga oder PC unterhält und Du betreust 8-Bit Commodore Kundschaft, könnte Dir das gelegen kommen. SFX Dateien sind in ('normale') LHARChive umwandelbar, indem der SFX Programmkopf (header) entfernt wird. Du mußt nur aufpassen, daß SFX davon ausgeht, daß alle beinhalteten Dateinamen im gültigen Commodoreformat vorliegen. In der Praxis: erstellst Du SFXe z.B. auf Amiga, nimm keine Dateinamen länger als 16 Zeichen und sage LHARC, es soll keine Pfadnamen ins Archiv aufnehmen.

Erstellst Du SFXe auf dem C128, wird der Dateityp ins LHARChiv aufgenommen und auch korrekt wiedergefunden (Achtung: nur SEQ und PRG erlaubt, REL und USR nicht!). Fehlt die Dateitypinformation, schreibt SFX immer PRG. Erstellst Du SFX auf Amiga, darf Komma in Dateinamen vorkommen und Du kannst die Dateiinformation als ',s', ',p' oder sogar als ',u' anhängen.

Willst Du auf einem nicht-Commodore 8 Bit Rechner ein SFX erstellen, mach' zuerst ein 'normales' LHARChiv und hänge das dann an den SFX Maschinensprache-Header an. Auf einem PC sähe das etwa so aus:

copy/b sfx.ml+Dateiname.lzh Dateiname.sfx

und in Amigasprache:

jion sfx.ml Dateiname.lzh as Dateiname.sfx

SFX ist so geschrieben, daß es sowohl auf C64 als auch C128 läuft; Du kannst es ohne Unterschied vom 128'er im 128'er Modus oder vom 64'er laden (LOAD". . .) und starten (RUN). Das ist doch 'was, denn wenn Du ein 64'er SDA auf dem 128'er starten willst, gibt's einen Absturz und umgekehrt. Darum wählte ich auch die Kennung '.SFX' anstatt 'SDA', um klar zu zeigen, daß beide Maschinen damit umgehen können. (Natürlich sind Dateinamen völlig bedeudungslos, aber sie sind bequeme Kennzeichen)

Für diesen Vorteil ist ein kleiner Preis zu zahlen, aber ich glaube, er ist es wert. Damit SFX auf beiden Maschinen läuft, muß SFX festellen, wo es in den Speicher geladen wurde und sich selbst dorthin verschieben ('relocate'). Scheitert das relocate, ist das Programm nicht ausführbar. Das eingesetzte relocate-Schema geht davon aus, daß der BASIC-Anfang bei $0801 (C64) oder $1c01 (C128) oder einem ganzzahligen mehrfachen von 256 Bytes über oder unter diesen Adressen liegt. Das wird wohl in der Regel auch der Fall sein; hast Du aber ein 'tool' das den BASIC-Start auf eine 'krumme' Adresse verlegt, stürzt SFX ab.

Wenn Du nicht weißt, worauf ich hinauswollte, umgehst Du Probleme, indem Du niemals

1) ein SFX nach einem RUN abspeicherst (SAVE).

2) den BASIC-Start veränderst.

Wenn Du willst, kannst Du das gleiche SFX wieder und wieder starten, ohne es von Disk neu zu laden und natürlich wird die folgende Befehlsreihe einen Absturz erzeugen:

GRAPHIC CLR C128 BASIC-Start = $1c01 (=dez 7169)

LOAD"EIN.SFX",8

RUN verschiebt (relocate) nach $1c01

RUN zweiter Lauf ist in Ordnung. Relocate-Offset ist Null

GRAPHIC 1: GRAPHIC 5 setzt BASIC-Start auf $4001

RUN ist in Ordnung, hochsetzen geht (aber nicht 'runter)

GRAPHIC CLR setzt BASIC-Start auf $1c01

RUN jetzt kommt der Absturz!!!

Das gleiche würde passieren, wenn ein SFX auf dem 128'er gestartet (RUN) wird, anschließend auf Disk gespeichert (SAVE) und dann auf dem 64'er ge-LOAD-et und gestartet (RUN) wird.

Speicherbelegung: C128 C64

SFX Header $1c01-$2a00 $0801-$1600 (ungefähr)

LHARChiv $2a00-$d800 $1600-$cfff

SFX Arbeitsspeicher $d800-$feff $d800-$feff

Daraus ergibt sich für SFX eine maximale Gesamtgröße:

C64 $0801-$cfff 51.200 Bytes

C128 $1c01-$d800 48.128 Bytes

Sollte es vorkommen, daß SFX groß genug ist, über $d800 hinauszuragen, wird der Rattenschwanz durch den Dekompressor überschrieben. Also halte das SFX (einschließlich Header) kleiner als 48K (oder 190 CBM Diskettenblöcke). Es gibt dann zwar noch'n bißchen 'Luft', aber wenn's eng wird, ist es das beste, SFX zu starten und zu prüfen, ob die Extraktion noch komplett abläuft.

Im Falle des 64'er wird SFX über $a000 hinaus richtig extrahieren, aber weil der BASIC-Bereich überschritten wird, bekommst Du ein 'out of memory error', wenn Du irgend etwas anderes machst, als nur eben SFX zu starten (RUN). In diesem Falle die Meldung mit NEW quittieren.

Und, natürlich hast Du weniger Platz für SFX, wenn dein BASIC-Anfang nach oben verschoben ist . . .

TITEL. Im ersten RUN prüft SFX, ob die erste Datei im LHARC 'TITLE' (engl. Title = dt. Titel) heißt. Wenn ja, wird diese Datei auf den Bildschirm ausgedruckt. Danach erst wirst Du nach dem Outputdevice (Ziellaufwerk) gefragt.

Um Pausen während des Titels zu ermöglichen, werden folgende Zeichen anderst gehandhabt:

chr$(0) bewirkt ein leeren des Tastaturspeichers und wartet dann auf einen Tastendruck

chr$(1) bewirkt eine kurze (ca. 1 Sekunde lange) Pause

Umwandlung von SFX nach LZH:

Die Datei 'sfx2lzh.c' enthält den ANSI C Quellcode eines einfachen Programmes, das den SFX-Header aus dem SFX-Archiv herauslöscht. Es sollte nicht nur mit C128/C64 SFXen laufen, sondern genausogut auch mit MS-DOS selbstextrahierenden EXE- oder COM-Dateien.

Mit SDA für ARC64/ARC128 habe ich versucht, die Größe des SDA so zu halten, daß das eigentliche Archiv immer an einer Disksektorgrenze beginnt. Mit SFX habe ich solche Versuche nicht unternommen.

CS - 23.Januar 1990

I N H A L T S V E R Z E I C H N I S

9 CSUPV4-INFO.dt 2 KB App Data Write Image V2.1 VLIR 1993-03-15 18:11 .cvt .html

CSUPV4 ist das Extra Utility Pack V4.0 (c) von Bruce Vrieling

Die englisch verfaßte Originalanleitung wurde übersetzt durch

10 CSUPV4-BS.dt 21 KB App Data Write Image V2.1 VLIR 1993-03-06 19:23 .cvt .html

Übersetzung der Anleitung zu CS-DOS Extra Utilities Pack 4.0 durch eMSch in 3/'93

CS-DOS Extra Utilities Pack 4.0

Programm und Anleitung (c) 1992 Bruce Vrieling (25.12.1992)

Die Programm-Module dürfen nach Belieben weitergegeben werden, solange der Code nicht verpfuscht wird. Hast Du Ideen für Weiterentwicklungen, laß' es mich bitte wissen (wie ich erreichbar bin: s.u.).

Erscheint bei einigen Modulen in der Dokumentation ein Hinweis auf 'Copyright Parsec', sind die betreffenden Dateien Updates ('neue Versionen') des Original-CS-DOS. Siehe in der CS-DOS Dokumentation nach dem genauen Copyrighthinweis.

Inhalt

Das vorliegende 'CS-DOS Extra Utilities Pack 4.0' ist die neueste Version mächtiger Werkzeuge für das CS-DOS-System.

Die wichtigste Neuheit in V4.0 ist das vollständige UNZIP System, das hier BVUNZIP heißt. Damit kannst Du die heute (in der IBM-Welt) weitverbreiteten ZIP Dateien der PKWARE- Technik dearchivieren. BVUNZIP erschließt die reichhaltigen Informationen, die in ZIP Dateien der IBM-BBSen und anderer Quellen enthalten sind und für Commodore-Betreiber bislang unerreichbar waren. Obwohl das dearchivieren relativ langsam geht, scheint es doch mit jeder Art von ZIP Datei umgehen zu können.

Lies unbedingt zuerst BVUNZIP.TXT, um das Modul richtig zu installieren, versuche nicht, es direkt von Diskette zu starten.

Eine anderes neues Teil ist WHERE, das dazu dient, im angegebenen Laufwerk nach allen Dateien zu suchen, die dem Suchmuster entsprechen. Wichtig ist dabei, daß es auch CMD Unterverzeichnisse durchsucht und aufspürt, was sonst verschollen schien. Es gibt eine Liste aller 'Treffer' (entsprechend Suchmuster) einer Partition (Unterverzeichnis) aus.

Hinweise zum Gebrauch

Um besten Nutzen aus beiliegenden Dateien zu ziehen, sollten sie in der RAM-Disk INSTALLiert sein (und für BVUNZIP ist es unbedingt notwendig).

Ein paar Module sind etwas lang und die Ladezeit kann langweilig werden. Schaue in der CS-DOS-Anleitung nach, wie das INSTALLieren genau geht.

Beachte auch, daß SETRAM auf dem Bootlaufwerk vorhanden sein muß. Denn AUTOEXEC schaut dort nach, nicht auf der RAM-Disk. Willst Du SETRAM auch auf der RAM-Disk haben, mußt Du zuerst das alte SETRAM entfernen, bevor die neue Version installiert werden kann (siehe CS- INSTALL und REMOVE).

Anleitung

Die (englischen Original-) Anleitungen zu jedem Befehl findest Du in diesem Archiv unter COMMAND.TXT. Dort findest Du auch die genaue Syntax.

Die nächste Version

Die jetzt neuen Befehle sind nicht genau das, was ich letztens unter 'Die nächste Version' (als COPY und ICOPY) versprochen hatte, hoffe aber, daß Ihr nicht enttäuscht seid.

Januar 1993 ist für mich der Beginn einer viermonatigen Schulzeit, so daß die Programmiertätigkeit etwas zurückgeht. Für die nächste Version plane ich eine 'Feinabstimmung' der Module, indem ein paar bestehende Befehle auf neuesten Stand gebracht werden ('Update') und vielleicht bringe ich doch noch das ICOPY fertig.

Fragen/Kommentare

Hast Du Fragen, Fehlerberichte ('bug reports'), Meckereien oder Ideen für neue Module, nimm bitte Kontakt mit mir auf - ich reagiere auf alle Fälle:

GEnie: B.VRIELING1

Internet: bvrieling@undergrad.math.waterloo.edu

Fido: Bruce Vrieling @ 1:229/15

Viel Spaß!

CS-DOS Extra Utilities Pack 'Geschichte'

V1.0 8.5.92 Erstausgabe mit CP, MD, RD, CP

V2.0 27.8.92 Erweiterung um WPVIEW, ZIPVIEW

V3.0 2.10.92 Erweiterung um SEARCH, IDIR, RDIR, SETRAM

Änderung des ARC-Formates auf SFX

Aufnahme der EUP-Historie

Korrektur der Internet Adresse in den Dokumentationen

V4.0 25.12.92 Erweiterung um BVUNZIP (einschl. UNSHRINK und UNREDUCE) und WHERE

Aufnahme der Fido Adresse in die Dokumentationen

Befehl: IDIR

siehe auch: DIR, RDIR

Syntax: idir d:

IDIR ist ein CS-DOS-Befehl, der Directories von IBM-Disketten ausgibt, genauer: von Disketten im 360K 5 1/4" und 720K 3 1/2" MFM-Format.

Im Augenblick werden nur Rootdirectories gelesen. Vielleicht werden später 'mal Unterverzeichnisse ('Subdirectories') unterstützt. Der Befehl ignoriert Suchmuster, nur eine Laufwerkskennung kann übergeben werden.

Beispiele:

idir a: zeigt Directory in Laufwerk a:

idir zeigt Directory im aktuellen Laufwerk

Befehl: RDIR

siehe auch: INSTALL, REMOVE, GETRAM, RDOFF

Syntax: rdir/w

*** Anmerkung ***

Der Code und große Teile dieses Textes ist (c) Parsec (die das Programm von Chris Smeets gekauft hat). Ich schrieb dieses Modul nicht, sondern habe es lediglich geändert, mit dem Vorteil, den Extraspeicher einer RAM-Erweiterung zu nutzen. Ich meine, das Modul fällt immer noch unter Parsecs Copyright und gebe es daher nur unter den bei CS-DOS genannten Bedingungen weiter.

*** Anmerkung Ende ***

RDIR wirst Du wahrscheinlich häufig benutzen. Es zeigt einfach eine Liste der Dateien (oder Befehle) in der RAM-Disk an. Die Liste enthält Namen, Start- und Endadresse der Dateien und die belegte und noch freie Kapazität der RAM.

Beispiele:

*rdir sendet RAM-Disk Directory zum Drucker

rdir >ram1.dir sendet RAM-Disk Directory in eine Textdatei namens 'ram1.dir'

rdir/w RAM-Disk Directory mit Ausgabe quer über den Bildschirm,

anstatt abwärts orientiert.

Befehl: SETRAM

siehe auch: RDOFF, RDIR, GETRAM, RAMDISK, PUTRAM, INSTALL, REMOVE

Syntax: setram Bank, Adresse

setram 1750-Bank+1, Anzahl 1750-Bänke

*** Anmerkung ***

Der Code und große Teile dieses Textes ist (c) Parsec (die das Programm von Chris Smeets gekauft hat). Ich schrieb dieses Modul nicht, sondern habe es lediglich geändert, mit dem Vorteil, den Extraspeicher einer RAM-Erweiterung zu nutzen. Ich meine, das Modul fällt immer noch unter Parsecs Copyright und gebe es daher nur unter den bei CS-DOS genannten Bedingungen weiter.

*** Anmerkung Ende ***

SETRAM legt Teile des Speicherplatzes aus dem RAM (C128-intern, oder aus der 17xx Erweiterung) als RAM-Disk fest. Irgendwelche Programme, die in die RAM-Disk kopiert werden, verhalten sich wie eingebaute Befehle. In der MS-DOS-Sprache ausgedrückt, verhält sich die RAM-Disk so, als wäre 'RAM-Disk' die einzige Directory in deinem PATH.

Hast Du mehr als ein Laufwerk zur Verfügung und es macht Dir nichts aus, vor jedem Befehl einen Laufwerksbuchstaben einzutippen, kommst Du ganz gut auch ohne RAM-Disk aus. Alle Befehle können gleichwohl von Disk, wie von RAM-Disk gestartet werden.

Hast Du eine 1750, so installiere dort die RAM-Disk und ignoriere die nächsten paar Absätze.

Ohne Speichererweiterung ist es eine gute Idee, eine kleine 8 oder 12K RAM-Disk in Bank 1 zu installieren und dort kleinere vielbenutzte Befehle abzulegen, und die größeren Befehle (Programme) -wie z.B. ARC- von Diskette zu starten. Die 1571 ist doch ganz schön schnell, so daß sich eine RAM-Disk nicht unbedingt lohnt.

RAM-Disk ist in irgendeine der Bänke 0 bis 11 installierbar. Ich weiß nicht, wofür Commodore die Bänke 2 und 3 konzipiert hat, aber meide sie besser für's erste, da SETRAM für diese beiden die BASIC-Zeiger nicht richtig hinbekommt (Bank 2 ist in Wirklichkeit Bank 0 und Bank 3 die 'echte' Bank 1).

Die Bänke 4 bis 11 sind internes und externes ROM. Hast Du Zugriff auf einen EPROM-Brenner, so könntest Du die RAM-Disk in einer dieser Bänke installieren. Bezüglich des Befehlszeilen-Interpreters macht es keinen Unterschied ob es sich um eine RAM- oder ROM-Disk handelt. Deshalb, spiele ein bißchen 'rum, bis Dir gefällt, was Du im RAM hast, sichere das mit PUTRAM als Diskdatei und brenne die dann auf EPROM.

Wahrscheinlicher ist, daß Du die RAM-Disk in Bank 1 oder 0 installierst. Dabei sind ein paar Dinge zu beachten:

Manche Befehle (bis jetzt sind das ARC, MOVE und COPY) nutzen Bank 1 als Ein-/ Ausgabepuffer, der dort beginnt, wo die DOS-Shell endet ($4000) und bis zum Ende des BASIC-RAM (d.h. falls in Bank 1 Deine RAM-Disk sitzt, bis zu deren Beginn) reicht. Gerät die RAM-Disk zu groß, wird der Puffer zu klein und der Schreib-/Lesekopf des Laufwerks muß Extraschichten einlegen (besonders wenn nur ein Laufwerk zur Verfügung steht).

Auch Bank 0 ist kein sonderlich gut geeigneter Ort für die RAM-Disk. Da es sehr einfach geht, eigene Programme für Bank 0 zu schreiben, kann es gut sein, daß die RAM-Disk durch Dein Programm 'vernascht' wird. ARC benötigt RAM bis $C000 (49152) in Bank 0, deshalb ist dies die niedrigst mögliche Adresse, wenn ARC benutzt werden soll. Kein Befehl geht über $C000 hinaus, deshalb ist dieser Bereich ziemlich sicher (wenn er Dir reicht).

Ich werde versuchen, so gut es geht, den Bereich oberhalb $C000 in allen Bänken freizuhalten (mit LHA ist's nicht möglich).

In allen Bänken ist die absolut niederigste Adresse für die RAM-Disk $4000 (16384).

Für die 1750 lautet die Syntax:

setram ErsteBank,AnzahlBänke

wobei 16, 17 . . . 23 für 'ErsteBank' den 1750-Bänken 0, 1 . . . 7 entspricht. So reserviert

setram 16,8

die ganze 1750,

setram 22,2

nur die letzten beiden Bänke für die RAM-Disk.

setram 24,4

würde die ersten vier Bänke nach den ersten 512K einer aufgrüsteten RAM-Erweiterung benutzen.

Es ist möglich, mehr als eine RAM-Disk zu installieren, aber es kann jeweils nur eine aktiv sein. Die maximale Größe beträgt jeweils 512K oder 8 Bänke.

Da es recht lange dauert, eine große RAM-Disk in die 1750 einzuladen, initialisiert SETRAM die RAM-Disk nicht. Das bedeudet, was auch immer gerade in der RAM-Disk steht, wird als gültige RAM-Disk angesehen. Die AUTOEXEC-Datei, die mit dem CS-DOS kommt, prüft anhand des IF-Befehls, ob die RAM-Disk gültig ist. Ist der IF-Befehl vorhanden, wird eine intakte RAM-Disk angenommen und so die Zeit gespart, sie nochmals laden zu müssen.

Für die Initialisierung der RAM-Disk gibt es zwei Möglichkeiten. Erstens mit GETRAM eine früher ge-save-te RAM-Disk einladen. Zweitens mit dem BASIC-Befehl STASH zwei Nullen an den Anfang der RAM-Disk setzen. Letzteres ist auch notwendig, wenn nach einem SCRATCH eine neue RAM-Disk aufgebaut wird.

Beispiel: (Einrichtung einer RAM-Disk in 1750-Bank 0 und deren Initialisierung)

setram 16,1

poke4864,0:poke4865,0

stash 2,4864,bank,0 (bank=erste benutzte 1750-Bank, hier 0)

weitere Beispiele:

a:setram 1,$b000 installiert RAM-Disk in Bank 1 bei 45056

a:setram 0,49152 installiert RAM-Disk in Bank 0 bei $c000

a:setram 8 $4000 installiert RAM-Disk in die Cartridge. Ist irgendetwas

außer RAM-Disk dort, sind die Ergebnisse unvorher-

sehbar

a:setram 16,1 nutzt nur die erste Bank der REU 17xx

a:setram 24,8 nutzt Bänke 8-15 einer erweiterten Erweiterung

a:setram 43,4 nutzt Bänke 27-31 einer erweiterten Erweiterung

Befehl: SEARCH

siehe auch: FIND, COMP, CHANGE, TEXT, BASIC

Syntax: search/x <Suchstring> <Laufwerk:Dateimuster>

SEARCH ist eine nützliche Funktion, die Textstrings in sequentiellen Dateien findet. Einen Suchstring angegeben, jagt SEARCH durch die Dateien die dem Dateimuster entsprechen und zeigt alle Zeilen an, die den Suchstring enthalten.

Search hat ein paar Schalter; der Wert für x kann sein:

/c führt die Suche ohne Rücksicht auf Groß-/Kleinschreibung durch

/n schaltet die Zeilennummerierung aus

/q schaltet in den 'Quiet-Modus' (unterdrückt unnötige Kommentare)

Beispiele:

search CS-DOS a:*.txt b:*.txt sucht in Laufwerk a: und b: sämtliche Dateien,

die mit '.txt' enden und gibt alle Zeilen aus, die

'CS-DOS' enthalten

search /c /n "dog house" *.wp ohne Rücksicht auf Groß-/Kleinschreibung wird in

allen Dateien mit der Endung '.wp' des aktuellen

Laufwerks der String 'dog house' gesucht. (Zeilen-

nummern unterdrückt)

Befehl: WPVIEW

siehe auch: TYPE, IDIR

Syntax: wpview d:Dateiname

WPVIEW liest WordPerfect Dokument-Dateien und bringt sie auf den Bildschirm. Alle Formatierungsbefehle werden ausgelassen und nur der reine Text angezeigt.

Die Ausgabe des WPVIEW kann auch in eine (neue) Datei umgeleitet und von dort mit irgendwelchen CBM-Textverarbeitungen (die PETSCII- SEQ- Dateien laden können) weiter- verarbeitet werden.

WPVIEW wurde mit IBM- WordPerfect Dateien 4.2, 5.0 und 5.1 getestet. Da das Amiga- WordPerfect kompatibel sein soll, müßte es damit auch gehen. Beim Übertrag der Dateien von IBM nach Commodore soll keine Übersetzung nach ASCII gemacht werden. WPVIEW erwartet Binärdateien des WordPerfect und vollzieht automatisch die Übersetzung nach PETSCII.

Kompliziertere WordPerfectdateien werden nicht korrekt wiedergegeben; schaue Dir 'mal 'ne Tabelle an und was daraus wird. . .

Beispiele:

wpview Datei.txt zeigt den Inhalt von 'Datei.txt' unter der Annahme,

daß es sich um eine WordPerfectdatei handelt

wpview Datei.txt >save.txt wie oben, eine Kopie der Ausgabe geht an das

aktuelle Laufwerk als 'Datei.txt'

Befehl: ZIPVIEW

siehe auch: ARC, CSARC, CSXARC, BVUNZIP

Syntax: zipview d:Dateiname

ZIPVIEW zeigt die Directory einer IBM-ZIP-Datei an. (Beachte, daß das IBM-Format zum Commodoreformat unterschiedlich ist, das ganze Disketten archiviert. ZIPVIEW arbeitet mit letzterem nicht zusammen)

ZIPVIEW kann aus ZIP-Archiven nichts herausholen, nur den Inhalt anzeigen. (ZIP-Dateien sind mit BVUNZIP rückverwandelbar) Der Vorteil des ZIPVIEW gegenüber BVUNZIP liegt darin, daß es vor der Ausführung nicht in die RAM-Disk installiert werden muß.

Beispiele:

zipview a:Zipdatei.zip gibt den Inhalt von Zipdatei auf dem Bildschirm aus

zipview a:Zipdatei.zip >Dir.txt wie oben, Ausgabeumleitung als 'Dir.txt' ins Default-

Laufwerk

Befehl: CD

siehe auch: RD, MD, CP, DIR

Syntax: cd Dirname

CD wechselt die aktuelle Directory in CMD Speichermedien aus der 'native mode' Partition und entspricht dem gleichnamigen MS-DOS-Befehl. Am einfachsten siehst Du die Funktion an ein paar Beispielen:

cd Test geht zum Unterverzeichnis 'Test'

cd /Test wie oben, startet aber aus dem Rootverzeichnis

cd /Test/Dat startet aus Rootverzeichnis, geht über 'Test' in das 'Dat'-Verzeichnis

Ein kritischer Blick über die Beispiele zeigt, daß der einzige Unterschied zum MS-DOS im 'normalen' Schrägstrich besteht (anstatt 'Backslash'). Ein weiterer Unterschied liegt in '.' und '. .' als Pseudodirectorynamen:

cd . . /Dat1 geht nicht eine Unterverzeichnisebene zurück und dann vorwärts in

die 'Dat1' (bei MS-DOS möglich), aber:

cd . bleibt im aktuellen Verzeichnis (d.h. tut nichts)

cd . . geht ein Unterverzeichnis zurück (Richtung Root)

Befehl: CP

siehe auch: CD, MD, RD, DIR

Syntax: cp PartitionNr

CP ändert die Partition (das Unterverzeichnis) auf CMD-Speichermedien.

Beispiel:

cp 2 wechselt zur Partition Nummer 2

Befehl: MD

siehe auch: CD, RD, CP, DIR

Syntax: md Dirname

MD legt aus der 'native mode' Partition heraus ein neues Unterverzeichnis an (CMD- Speichermedien). MD akzeptiert keine Pfadnamen. Der einzig akzeptierte Parameter ist der 'Dirname' für das zu erstellende Unterverzeichnis. Das heißt, das aktuelle (Unter-) Verzeichnis ist der Stamm für das zu erstellende.

Beispiele:

md Test erstellt aus dem aktuellen Verzeichnis heraus das Unterverzeichnis

'Test'

md /Test/Dat *** FEHLER *** Pfadangabe nicht erlaubt !!

Befehl: RD

siehe auch: CD, MD, CP, DIR

Syntax: rd Dirname

RD löscht (im 'native mode' Partition) ein Unterverzeichnis aus CMD- Speichermedien. RD akzeptiert keine Pfadnamen. Der einzig akzeptierte Parameter ist der 'Dirname' für das zu löschende Unterverzeichnis. Das heißt, das aktuelle (Unter-) Verzeichnis ist der Stamm für das zu löschende.

Beispiele:

rd Test löscht aus dem aktuellen Verzeichnis das Unterverzeichnis 'Test'

rd /Test/Dat *** FEHLER *** Pfadangabe nicht erlaubt !!

Befehl: BVUNZIP

siehe auch: ARC, CSARC, CSXARC, ZIPVIEW

Syntax: bvunzip <d:Dateiname> <Dateiangabe>

BVUNZIP ist ein UNZIP für den C128 unter CS-DOS. Es kann alle V1.x PKWARE Dateien 'entpacken', dh. '.ZIP'-Dateien aus der IBM- (und wahrscheinlich auch aus der Amiga-) Welt.

WICHTIG:

1.) BVUNZIP kommt mit zwei Untermodulen UNSHRINK und UNREDUCE ('exploding' und 'unstoring' macht BVUNZIP selbst. Du brauchst alle drei Module (BVUNZIP, UNSHRINK und UNREDUCE) um erfolgreich Dateien zu ent-ZIP-pen.

2.) Alle drei Dateien müssen innerhalb CS-DOS auf die RAM-Disk INSTALLiert und von dort auch gestartet werden. Lies das nochmal. Alle drei Dateien müssen sich in der RAM-Disk befinden (sie benötigen zusammen etwa 35K).

(Es passiert keine Katastrophe, wenn Du doch von Diskette BVUNZIP startest, Du bekommst einen 'Syntax error' mit Abbruch des Programms, wenn es UNSHRINK von RAM-Disk zu lesen versucht. Ich mußte das so lösen, weil die Handhabung der Inputdateien zusammenbricht, wenn sich zwei Dateien auf Diskette duellieren (A.d.Ü.: Es kann zur Zeit immer nur eine Datei geöffnet sein). Das vorzeitige 'end of zipfile' war zu umgehen, indem BVUNZIP von RAM-Disk startet.)

3.) Alle drei Dateien müssen ihren originalen Namen behalten, sie greifen so ineinander ein, daß sie sich durch den korrekten Namen finden müssen.

Dieser ent-Zip-per arbeitet nur mit '.ZIP'-Dateien im IBM-Format (nicht mit ZIPCODE-Dateien die mit C64/128 erstellt wurden).

Bitte entschuldigt die 'Holperigkeit' des Programm-Codes, aber ich war in Eile, das Programm bis Weihnachten '92 fertigzustellen. Du darfst ein Update mit Fehlerkorrektur und weiteren Fortschritten erwarten.

Ich freue mich über alle 'bug reports' (Berichte über aufgetretene Fehler), die über eine meiner Mailboxen einlaufen. Ich bin sehr daran interessiert, dieses Paket 100%ig zum laufen zu bringen und je eher ich von Problemen weiß, desto besser. Wenn Du auch die problematische Zip-Datei schicken könntest, hilft das, das Problem sehr viel schneller zu finden.

Beispiele:

bvunzip zeigt den Copyright- und kurze Anwender-Hinweise

bvunzip a:Zipdatei.zip listet den Inhalt von 'Zipdatei.zip' (in Laufwerk a:) auf

dem Bildschirm

bvunzip a:Zipdatei.zip * ent-zip-t alle Dateien aus 'Zipdatei.zip' (in Laufwerk a:)

auf das aktuelle Laufwerk

bvunzip graphics.zip *.gif ent-zip-t alle Dateien mit der Endung '.gif' aus der Datei

'graphics.zip' im aktuellen Laufwerk

Dieses 'CS-DOS Extra Utilities Pack V4.0' ist 'freeware' und darf nach Belieben weitergegeben werden.

Fragen, Kommentare, Fehler-/Mängelberichte bitte an:

11 CSUPV4-DR.dt 21 KB App Data Write Image V2.1 VLIR 1993-03-06 18:36 .cvt .html

Übersetzung der Anleitung zu CS-DOS Extra Utilities Pack 4.0 durch eMSch in 3/'93

CS-DOS Extra Utilities Pack 4.0

Programm und Anleitung (c) 1992 Bruce Vrieling (25.12.1992)

Die Programm-Module dürfen nach Belieben weitergegeben werden, solange der Code nicht verpfuscht wird. Hast Du Ideen für Weiterentwicklungen, laß' es mich bitte wissen (wie ich erreichbar bin: s.u.).

Erscheint bei einigen Modulen in der Dokumentation ein Hinweis auf 'Copyright Parsec', sind die betreffenden Dateien Updates ('neue Versionen') des Original-CS-DOS. Siehe in der dortigen Dokumentation nach dem genauen Copyrighthinweis.

Inhalt

Das vorliegende 'CS-DOS Extra Utilities Pack 4.0' ist die neueste Version mächtiger Werkzeuge für das CS-DOS-System.

Die wichtigste Neuheit in V4.0 ist das vollständige UNZIP System, das hier BVUNZIP heißt. Damit kannst Du die heute (in der IBM-Welt) weitverbreiteten ZIP Dateien der PKWARE- Technik dearchivieren. BVUNZIP erschließt die reichhaltigen Informationen, die in ZIP Dateien der IBM-BBSen und anderer Quellen enthalten sind und für Commodore-Betreiber bislang unerreichbar waren. Obwohl das dearchivieren relativ langsam geht, scheint es doch mit jeder Art von ZIP Datei umgehen zu können.

Lies unbedingt zuerst BVUNZIP.TXT, um das Modul richtig zu installieren, versuche nicht, es direkt von Diskette zu starten.

Eine anderes neues Teil ist WHERE, das dazu dient, im angegebenen Laufwerk nach allen Dateien zu suchen, die dem Suchmuster entsprechen. Wichtig ist dabei, daß es auch CMD Unterverzeichnisse durchsucht und aufspürt, was sonst verschollen schien. Es gibt eine Liste aller 'Treffer' (entsprechend Suchmuster) einer Partition (Unterverzeichnis) aus.

Die genaueren Anleitungen findest Du irgendwo im Archiv.

Hinweise zum Gebrauch

Um besten Nutzen aus beiliegenden Dateien zu ziehen, sollten sie in der RAM-Disk INSTALLiert sein (und für BVUNZIP ist es unbedingt notwendig).

Ein paar Module sind etwas lang und die Ladezeit kann langweilig werden. Schaue in der CS-DOS-Anleitung nach, wie das INSTALLieren genau geht.

Beachte auch, daß SETRAM auf dem Bootlaufwerk vorhanden sein muß. Denn AUTOEXEC schaut dort nach, nicht auf der RAM-Disk. Willst Du SETRAM auch auf der RAM-Disk haben, mußt Du zuerst das alte SETRAM entfernen, bevor die neue Version installiert werden kann (siehe CS- INSTALL und REMOVE).

Anleitung

Die (englischen Original-) Anleitungen zu jedem Befehl findest Du in diesem Archiv unter COMMAND.TXT. Dort findest Du auch die genaue Syntax.

Die nächste Version

Die jetzt neuen Befehle sind nicht genau das, was ich letztens unter 'Die nächste Version' (als COPY und ICOPY) versprochen hatte, hoffe aber, daß Ihr nicht enttäuscht seid.

Januar 1993 ist für mich der Beginn einer viermonatigen Schulzeit, so daß die Programmiertätigkeit etwas zurückgeht. Für die nächste Version plane ich eine 'Feinabstimmung' der Module, indem ein paar bestehende Befehle auf neuesten Stand gebracht werden ('Update') und vielleicht bringe ich doch noch das ICOPY fertig.

Fragen/Kommentare

Hast Du Fragen, Fehlerberichte ('bug reports'), Meckereien oder Ideen für neue Module, nimm bitte Kontakt mit mir auf - ich reagiere auf alle Fälle:

GEnie: B.VRIELING1

Internet: bvrieling@undergrad.math.waterloo.edu

Fido: Bruce Vrieling @ 1:229/15

Viel Spaß!

CS-DOS Extra Utilities Pack 'Geschichte'

V1.0 8.5.92 Erstausgabe mit CP, MD, RD, CP

V2.0 27.8.92 Erweiterung um WPVIEW, ZIPVIEW

V3.0 2.10.92 Erweiterung um SEARCH, IDIR, RDIR, SETRAM

Änderung des ARC-Formates auf SFX

Aufnahme der EUP-Historie

Korrektur der Internet Adresse in den Dokumentationen

V4.0 25.12.92 Erweiterung um BVUNZIP (einschl. UNSHRINK und UNREDUCE) und WHERE

Aufnahme der Fido Adresse in die Dokumentationen

Befehl: IDIR

siehe auch: DIR, RDIR

Syntax: idir d:

IDIR ist ein CS-DOS-Befehl, der Directories von IBM-Disketten ausgibt, genauer: von Disketten im 360K 5 1/4" und 720K 3 1/2" MFM-Format.

Im Augenblick werden nur Rootdirectories gelesen. Vielleicht werden später 'mal Unterverzeichnisse ('Subdirectories') unterstützt. Der Befehl ignoriert Suchmuster, nur eine Laufwerkskennung kann übergeben werden.

Beispiele:

idir a: zeigt Directory in Laufwerk a:

idir zeigt Directory im aktuellen Laufwerk

Befehl: RDIR

siehe auch: INSTALL, REMOVE, GETRAM, RDOFF

Syntax: rdir/w

*** Anmerkung ***

Der Code und große Teile dieses Textes ist (c) Parsec (die das Programm von Chris Smeets gekauft hat). Ich schrieb dieses Modul nicht, sondern habe es lediglich geändert, mit dem Vorteil, den Extraspeicher einer RAM-Erweiterung zu nutzen. Ich meine, das Modul fällt immer noch unter Parsecs Copyright und gebe es daher nur unter den bei CS-DOS genannten Bedingungen weiter.

*** Anmerkung Ende ***

RDIR wirst Du wahrscheinlich häufig benutzen. Es zeigt einfach eine Liste der Dateien (oder Befehle) in der RAM-Disk an. Die Liste enthält Namen, Start- und Endadresse der Dateien und die belegte und noch freie Kapazität der RAM.

Beispiele:

*rdir sendet RAM-Disk Directory zum Drucker

rdir >ram1.dir sendet RAM-Disk Directory in eine Textdatei namens 'ram1.dir'

rdir/w RAM-Disk Directory mit Ausgabe quer über den Bildschirm, anstatt abwärts orientiert.

Befehl: SETRAM

siehe auch: RDOFF, RDIR, GETRAM, RAMDISK, PUTRAM, INSTALL, REMOVE

Syntax: setram Bank, Adresse

setram 1750-Bank+1, Anzahl 1750-Bänke

*** Anmerkung ***

Der Code und große Teile dieses Textes ist (c) Parsec (die das Programm von Chris Smeets gekauft hat). Ich schrieb dieses Modul nicht, sondern habe es lediglich geändert, mit dem Vorteil, den Extraspeicher einer RAM-Erweiterung zu nutzen. Ich meine, das Modul fällt immer noch unter Parsecs Copyright und gebe es daher nur unter den bei CS-DOS genannten Bedingungen weiter.

*** Anmerkung Ende ***

SETRAM legt Teile des Speicherplatzes aus dem RAM (C128-intern, oder aus der 17xx Erweiterung) als RAM-Disk fest. Irgendwelche Programme, die in die RAM-Disk kopiert werden, verhalten sich wie eingebaute Befehle. In der MS-DOS-Sprache ausgedrückt, verhält sich die RAM-Disk so, als wäre 'RAM-Disk' die einzige Directory in deinem PATH.

Hast Du mehr als ein Laufwerk zur Verfügung und es macht Dir nichts aus, vor jedem Befehl einen Laufwerksbuchstaben einzutippen, kommst Du ganz gut auch ohne RAM-Disk aus. Alle Befehle können gleichwohl von Disk, wie von RAM-Disk gestartet werden.

Hast Du eine 1750, so installiere dort die RAM-Disk und ignoriere die nächsten paar Absätze.

Ohne Speichererweiterung ist es eine gute Idee, eine kleine 8 oder 12K RAM-Disk in Bank 1 zu installieren und dort kleinere vielbenutzte Befehle abzulegen, und die größeren Befehle (Programme) -wie z.B. ARC- von Diskette zu starten. Die 1571 ist doch ganz schön schnell, so daß sich eine RAM-Disk nicht unbedingt lohnt.

RAM-Disk ist in irgendeine der Bänke 0 bis 11 installierbar. Ich weiß nicht, wofür Commodore die Bänke 2 und 3 konzipiert hat, aber meide sie besser für's erste, da SETRAM für diese beiden die BASIC-Zeiger nicht richtig hinbekommt (Bank 2 ist in Wirklichkeit Bank 0 und Bank 3 die 'echte' Bank 1).

Die Bänke 4 bis 11 sind internes und externes ROM. Hast Du Zugriff auf einen EPROM-Brenner, so könntest Du die RAM-Disk in einer dieser Bänke installieren. Bezüglich des Befehlszeilen-Interpreters macht es keinen Unterschied ob es sich um eine RAM- oder ROM-Disk handelt. Deshalb, spiele ein bißchen 'rum, bis Dir gefällt, was Du im RAM hast, sichere das mit PUTRAM als Diskdatei und brenne die dann auf EPROM.

Wahrscheinlicher ist, daß Du die RAM-Disk in Bank 1 oder 0 installierst. Dabei sind ein paar Dinge zu beachten:

Manche Befehle (bis jetzt sind das ARC, MOVE und COPY) nutzen Bank 1 als Ein-/ Ausgabepuffer, der dort beginnt, wo die DOS-Shell endet ($4000) und bis zum Ende des BASIC-RAM (d.h. falls in Bank 1 Deine RAM-Disk sitzt, bis zu deren Beginn) reicht. Gerät die RAM-Disk zu groß, wird der Puffer zu klein und der Schreib-/Lesekopf des Laufwerks muß Extraschichten einlegen (besonders wenn nur ein Laufwerk zur Verfügung steht).

Auch Bank 0 ist kein sonderlich gut geeigneter Ort für die RAM-Disk. Da es sehr einfach geht, eigene Programme für Bank 0 zu schreiben, kann es gut sein, daß die RAM-Disk durch Dein Programm 'vernascht' wird. ARC benötigt RAM bis $C000 (49152) in Bank 0, deshalb ist dies die niedrigst mögliche Adresse, wenn ARC benutzt werden soll. Kein Befehl geht über $C000 hinaus, deshalb ist dieser Bereich ziemlich sicher (wenn er Dir reicht).

Ich werde versuchen, so gut es geht, den Bereich oberhalb $C000 in allen Bänken freizuhalten (mit LHA ist's nicht möglich).

In allen Bänken ist die absolut niederigste Adresse für die RAM-Disk $4000 (16384).

Für die 1750 lautet die Syntax:

setram ErsteBank,AnzahlBänke

wobei 16, 17 . . . 23 für 'ErsteBank' den 1750-Bänken 0, 1 . . . 7 entspricht. So reserviert

setram 16,8

die ganze 1750,

setram 22,2

nur die letzten beiden Bänke für die RAM-Disk.

setram 24,4

würde die ersten vier Bänke nach den ersten 512K einer aufgrüsteten RAM-Erweiterung benutzen.

Es ist möglich, mehr als eine RAM-Disk zu installieren, aber es kann jeweils nur eine aktiv sein. Die maximale Größe beträgt jeweils 512K oder 8 Bänke.

Da es recht lange dauert, eine große RAM-Disk in die 1750 einzuladen, initialisiert SETRAM die RAM-Disk nicht. Das bedeudet, was auch immer gerade in der RAM-Disk steht, wird als gültige RAM-Disk angesehen. Die AUTOEXEC-Datei, die mit dem CS-DOS kommt, prüft anhand des IF-Befehls, ob die RAM-Disk gültig ist. Ist der IF-Befehl vorhanden, wird eine intakte RAM-Disk angenommen und so die Zeit gespart, sie nochmals laden zu müssen.

Für die Initialisierung der RAM-Disk gibt es zwei Möglichkeiten. Erstens mit GETRAM eine früher ge-save-te RAM-Disk einladen. Zweitens mit dem BASIC-Befehl STASH zwei Nullen an den Anfang der RAM-Disk setzen. Letzteres ist auch notwendig, wenn nach einem SCRATCH eine neue RAM-Disk aufgebaut wird.

Beispiel: (Einrichtung einer RAM-Disk in 1750-Bank 0 und deren Initialisierung)

setram 16,1

poke4864,0:poke4865,0

stash 2,4864,bank,0 (bank=erste benutzte 1750-Bank, hier 0)

weitere Beispiele:

a:setram 1,$b000 installiert RAM-Disk in Bank 1 bei 45056

a:setram 0,49152 installiert RAM-Disk in Bank 0 bei $c000

a:setram 8 $4000 installiert RAM-Disk in die Cartridge. Ist irgendetwas außer RAM-Disk dort, sind die

Ergebnisse unvorhersehbar

a:setram 16,1 nutzt nur die erste Bank der REU 17xx

a:setram 24,8 nutzt Bänke 8-15 einer erweiterten Erweiterung

a:setram 43,4 nutzt Bänke 27-31 einer erweiterten Erweiterung

Befehl: SEARCH

siehe auch: FIND, COMP, CHANGE, TEXT, BASIC

Syntax: search/x <Suchstring> <Laufwerk:Dateimuster>

SEARCH ist eine nützliche Funktion, die Textstrings in sequentiellen Dateien findet. Einen Suchstring angegeben, jagt SEARCH durch die Dateien die dem Dateimuster entsprechen und zeigt alle Zeilen an, die den Suchstring enthalten.

Search hat ein paar Schalter; der Wert für x kann sein:

/c führt die Suche ohne Rücksicht auf Groß-/Kleinschreibung durch

/n schaltet die Zeilennummerierung aus

/q schaltet in den 'Quiet-Modus' (unterdrückt unnötige Kommentare)

Beispiele:

search CS-DOS a:*.txt b:*.txt sucht in Laufwerk a: und b: sämtliche Dateien, die mit '.txt' enden und gibt alle Zeilen aus, die

'CS-DOS' enthalten

search /c /n "dog house" *.wp ohne Rücksicht auf Groß-/Kleinschreibung wird in allen Dateien mit der Endung '.wp' des

aktuellen Laufwerks der String 'dog house' gesucht. (Zeilennummern unterdrückt)

Befehl: WPVIEW

siehe auch: TYPE, IDIR

Syntax: wpview d:Dateiname

WPVIEW liest WordPerfect Dokument-Dateien und bringt sie auf den Bildschirm. Alle Formatierungsbefehle werden ausgelassen und nur der reine Text angezeigt.

Die Ausgabe des WPVIEW kann auch in eine (neue) Datei umgeleitet und von dort mit irgendwelchen CBM-Textverarbeitungen (die PETSCII- SEQ- Dateien laden können) weiter- verarbeitet werden.

WPVIEW wurde mit IBM- WordPerfect Dateien 4.2, 5.0 und 5.1 getestet. Da das Amiga- WordPerfect kompatibel sein soll, müßte es damit auch gehen. Beim Übertrag der Dateien von IBM nach Commodore soll keine Übersetzung nach ASCII gemacht werden. WPVIEW erwartet Binärdateien des WordPerfect und vollzieht automatisch die Übersetzung nach PETSCII.

Kompliziertere WordPerfectdateien werden nicht korrekt wiedergegeben; schaue Dir 'mal 'ne Tabelle an und was daraus wird. . .

Beispiele:

wpview Datei.txt zeigt den Inhalt von 'Datei.txt' unter der Annahme, daß es sich um eine WP-Datei handelt

wpview Datei.txt >save.txt wie oben, eine Kopie der Ausgabe geht an das aktuelle Laufwerk als 'Datei.txt'

Befehl: ZIPVIEW

siehe auch: ARC, CSARC, CSXARC, BVUNZIP

Syntax: zipview d:Dateiname

ZIPVIEW zeigt die Directory einer IBM-ZIP-Datei an. (Beachte, daß das IBM-Format zum Commodoreformat unterschiedlich ist, das ganze Disketten archiviert. ZIPVIEW arbeitet mit letzterem nicht zusammen)

ZIPVIEW kann aus ZIP-Archiven nichts herausholen, nur den Inhalt anzeigen. (ZIP-Dateien sind mit BVUNZIP rückverwandelbar) Der Vorteil des ZIPVIEW gegenüber BVUNZIP liegt darin, daß es vor der Ausführung nicht in die RAM-Disk installiert werden muß.

Beispiele:

zipview a:Zipdatei.zip gibt den Inhalt von Zipdatei auf dem Bildschirm aus

zipview a:Zipdatei.zip >Dir.txt wie oben, Ausgabeumleitung als 'Dir.txt' ins Default-Laufwerk

Befehl: CD

siehe auch: RD, MD, CP, DIR

Syntax: cd Dirname

CD wechselt die aktuelle Directory in CMD Speichermedien aus der 'native mode' Partition und entspricht dem gleichnamigen MS-DOS-Befehl. Am einfachsten siehst Du die Funktion an ein paar Beispielen:

cd Test geht zum Unterverzeichnis 'Test'

cd /Test wie oben, startet aber aus dem Rootverzeichnis

cd /Test/Dat startet aus Rootverzeichnis, geht über 'Test' in das 'Dat'-Verzeichnis

Ein kritischer Blick über die Beispiele zeigt, daß der einzige Unterschied zum MS-DOS im 'normalen' Schrägstrich besteht (anstatt 'Backslash'). Ein weiterer Unterschied liegt in '.' und '. .' als Pseudodirectorynamen:

cd . . /Dat1 geht nicht eine Unterverzeichnisebene zurück und dann vorwärts in die 'Dat1' (bei MS-DOS möglich)

cd . bleibt im aktuellen Verzeichnis (d.h. tut nichts)

cd . . geht ein Unterverzeichnis zurück (Richtung Root)

Befehl: CP

siehe auch: CD, MD, RD, DIR

Syntax: cp PartitionNr

CP ändert die Partition (das Unterverzeichnis) auf CMD-Speichermedien.

Beispiel:

cp 2 wechselt zur Partition Nummer 2

Befehl: MD

siehe auch: CD, RD, CP, DIR

Syntax: md Dirname

MD legt aus der 'native mode' Partition heraus ein neues Unterverzeichnis an (CMD- Speichermedien). MD akzeptiert keine Pfadnamen. Der einzig akzeptierte Parameter ist der 'Dirname' für das zu erstellende Unterverzeichnis. Das heißt, das aktuelle (Unter-) Verzeichnis ist der Stamm für das zu erstellende.

Beispiele:

md Test erstellt aus dem aktuellen Verzeichnis heraus das Unterverzeichnis 'Test'

md /Test/Dat *** FEHLER *** Pfadangabe nicht erlaubt !!

Befehl: RD

siehe auch: CD, MD, CP, DIR

Syntax: rd Dirname

RD löscht (im 'native mode' Partition) ein Unterverzeichnis aus CMD- Speichermedien. RD akzeptiert keine Pfadnamen. Der einzig akzeptierte Parameter ist der 'Dirname' für das zu löschende Unterverzeichnis. Das heißt, das aktuelle (Unter-) Verzeichnis ist der Stamm für das zu löschende.

Beispiele:

rd Test löscht aus dem aktuellen Verzeichnis das Unterverzeichnis 'Test'

rd /Test/Dat *** FEHLER *** Pfadangabe nicht erlaubt !!

Befehl: BVUNZIP

siehe auch: ARC, CSARC, CSXARC, ZIPVIEW

Syntax: bvunzip <d:Dateiname> <Dateiangabe>

BVUNZIP ist ein UNZIP für den C128 unter CS-DOS. Es kann alle V1.x PKWARE Dateien 'entpacken', dh. '.ZIP'-Dateien aus der IBM- (und wahrscheinlich auch aus der Amiga-) Welt.

WICHTIG:

1.) BVUNZIP kommt mit zwei Untermodulen UNSHRINK und UNREDUCE ('exploding' und 'unstoring' macht BVUNZIP selbst. Du brauchst alle drei Module (BVUNZIP, UNSHRINK und UNREDUCE) um erfolgreich Dateien zu ent-ZIP-pen.

2.) Alle drei Dateien müssen innerhalb CS-DOS auf die RAM-Disk INSTALLiert und von dort auch gestartet werden. Lies das nochmal. Alle drei Dateien müssen sich in der RAM-Disk befinden (sie benötigen zusammen etwa 35K).

(Es passiert keine Katastrophe, wenn Du doch von Diskette BVUNZIP startest, Du bekommst einen 'Syntax error' mit Abbruch des Programms, wenn es UNSHRINK von RAM-Disk zu lesen versucht. Ich mußte das so lösen, weil die Handhabung der Inputdateien zusammenbricht, wenn sich zwei Dateien auf Diskette duellieren (A.d.Ü.: Es kann zur Zeit immer nur eine Datei geöffnet sein). Das vorzeitige 'end of zipfile' war zu umgehen, indem BVUNZIP von RAM-Disk startet.)

3.) Alle drei Dateien müssen ihren originalen Namen behalten, sie greifen so ineinander ein, daß sie sich durch den korrekten Namen finden müssen.

Dieser ent-Zip-per arbeitet nur mit '.ZIP'-Dateien im IBM-Format (nicht mit ZIPCODE-Dateien die mit C64/128 erstellt wurden).

Bitte entschuldigt die 'Holperigkeit' des Programm-Codes, aber ich war in Eile, das Programm bis Weihnachten '92 fertigzustellen. Du darfst ein Update mit Fehlerkorrektur und weiteren Fortschritten erwarten.

Ich freue mich über alle 'bug reports' (Berichte über aufgetretene Fehler), die über eine meiner Mailboxen einlaufen. Ich bin sehr daran interessiert, dieses Paket 100%ig zum laufen zu bringen und je eher ich von Problemen weiß, desto besser. Wenn Du auch die problematische Zip-Datei schicken könntest, hilft das, das Problem sehr viel schneller zu finden.

Beispiele:

bvunzip zeigt den Copyright- und kurze Anwender-Hinweise

bvunzip a:Zipdatei.zip listet den Inhalt von 'Zipdatei.zip' (in Laufwerk a:) auf dem Bildschirm

bvunzip a:Zipdatei.zip * ent-zip-t alle Dateien aus 'Zipdatei.zip' (in Laufwerk a:) auf das aktuelle Laufwerk

bvunzip graphics.zip *.gif ent-zip-t alle Dateien mit der Endung '.gif' aus der Datei 'graphics.zip' im aktuellen Laufwerk

Dieses 'CS-DOS Extra Utilities Pack V4.0' ist 'freeware' und darf nach Belieben weitergegeben werden.

Fragen, Kommentare, Fehler-/Mängelberichte bitte an:

12 QWKRR128-INFO.dt 2 KB App Data Write Image V2.1 VLIR 1993-03-15 18:17 .cvt .html
Übersetzung der australischen Original-
anleitung QWKRR128 durch eMSch in 3/'93

QWKRR128 V2.1

Informationen zur Übersetzung des australischen Originaldokumentes

QWKRR128 liegt in zwei (übersetzten) Versionen vor:

QWKRR128-BS.dt zur Ausgabe auf dem Bildschirm (BSW128)

QWKRR128-DR.dt zum ausdrucken (in University-Schrift)

13 QWKRR128-BS.dt 39 KB App Data Write Image V2.1 VLIR 1993-03-15 16:25 .cvt .html

Übersetzung des austral. Originaltextes QWKRR128-Documentation durch Michael Scholich

QWKRR128 V2.0 Dokumentation

programmiert von Rod Gasson, Reynella, South Australia

Anleitung von Mark Dowsett, Sydney, New South Wales

INHALT:

Warnungen und Hinweise 2

Diskettengebrauch

Dateigebrauch

Größe der 'Pakete'

Anzahl gewählter 'areas'

Speicherprobleme

Wozu dient QWKRR128? 3

Was brauchst Du um QWKRR128 zu betreiben? 4

Wie bekomme ich ein Mail-Paket? 5

Was muß ich mit '.QWK'-Paketen tun? 6

Gebrauch von CS-DOS 6

Start des QWKRR128 7

Lesen der messages (Nachrichten) 8

READ-(Lese-) Befehle 9

REPLY (Antwort) auf eine message (Nachricht) 10

REPLY-(Antwort-) Befehle 11

ENTER, eine message (Nachricht) eingeben 12

in Netmail hineingehen 13

Gebrauch von MKQwk 14

Quit (Beenden) 15

Lesen, was Du geschrieben hast 16

Unterstützung von Programmen 17

MAILPKT.SCR

QWKRR.DEFAULTS

Glossar 18

Kontaktadressen 19

Registration 19

Update-Hinweise zu Version 2.1 20

Hinweis: für die Aufsteiger von V1.? sind die neuen, bzw. geänderten Abschnitte mit +*+ gekennzeichnet

QWKRR128 V2.0 Dokumentation

Warnungen und Hinweise

Die folgenden Punkte haben sich als bekannte oder mögliche Fallen des QWKRR128 herausgestellt:

Diskettengebrauch:

1.) Hast Du einmal begonnen, die 'MESSAGES.DAT' Datei zu lesen, bleibt der Datenkanal zur Quelldisk solange geöffnet, bis das Programm beendet wird (shift-Q). KEINESFALLS die Disk aus dem Laufwerk nehmen, solange dessen 'Drive'-Lämpchen noch brennt, da sonst das Programm abstürzt und dabei eventuell Daten verfälscht. Die 'Destination'- Disk kannst Du jederzeit wechseln, vorausgesetzt, daß sie nicht auch als Quelldisk dient und daß Du nicht mehrere Antworten erwartest (dann wirst Du aufgefordert, die entsprechende Destination-Disk wieder einzulegen).

2.) Für schnellst mögliches arbeiten, benutze Dein schnellstes Laufwerk als Quell- Laufwerk und das langsamere als Boot-/Destination-Laufwerk.

3.) Auf dem Quell-Laufwerk brauchst Du mindestens 100 freie Blöcke für temporäre Dateien (Zwischenspeicherungen) des QWKRR128. Das Programm prüft den auf der Diskette zur Verfügung stehenden Platz nicht; ist die Disk voll, sollte das Programm abbrechen.

4.) Sollte das Programm aus irgendwelchen Gründen abbrechen, wird es (allerdings ohne Garantie) versuchen, alle Dateien korrekt zu schließen. Bist Du im Zweifel, prüfe erst das Antwortpaket, bevor Du 'was dranhängst ('append'). EIN verfälschtes Byte im Kopfeintrag der Nachricht ('header') verursacht, daß ALLE nachfolgenden Nachrichten verworfen werden.

Dateigebrauch und deren Umlauf:

Jede BBS behandelt ihre 'control.dat' -Datei auf ihre eigene Art und Weise. Unternimm niemals den Versuch, die 'control.dat' einer BBS für die Erstellung eines Antwortpaketes eines anderen Systems zu verwenden. Ebenso solltest Du nie eine 'alte' control.dat mit einem neuen Mail-Paket benützen. Irgendetwas könnte sich seit Deinem letzten Anruf geändert haben. Und vermeide das hochladen eines Antwortpaketes mit einer control.dat, die mehr als ein paar Tage alt ist. Versuche Deine Antworten noch am gleichen Tag hochzuladen, an dem Deine Post runtergeladen wurde.

Größe der Mail-Pakete:

Wenn Du Dich vorbereitest ein Mail-Paket zu bekommen, bedenke Deine Laufwerks- Kapazität. In einem großen Paket wird 1 Nachricht ('message') einer .QWK- (.ARC-) Datei im Durchschnitt ungefähr 1,6 Blöcke lang, entpackt gibt das etwa 3,5 Blöcke in der 'MESSAGES.DAT'-Datei. Das bedeudet, ein 300-'message'-Paket gibt eine .ARC-Datei von 498 Blöcken, die entpackt, kommt locker auf 1000 Blöcke für die MESSAGES.DAT -Datei plus ca. 10 Blöcke für andere Dateien. Und erinnere Dich an den Platz für temporäre Dateien (s.o. unter 3.). Über den Daumen kannst Du mit einer 1541 150-messages-Pakete handhaben, mit einer 1571 etwa 330 (das kann aber schon arg knapp werden, wenn es sich zufällig nur um große 'meesages' handelt).

Anzahl gewählter 'messages areas':

+*+ Ein Problem bleibt immer noch mit BBSen, die eine Auswahl von mehr als 255 'message bases' erlauben. Obwohl das Programm nicht mehr abstürzt (wie noch V1), sollte es doch mit Vorsicht gebraucht werden, da messages in falschen Bereichen hin- und hergeworfen werden (können). Rod konnte keine nahegelene BBS finden, um das zu studieren und zu klären. Wenn Du solche Beschränkungen feststellst, sende Rod das Beispiel-Paket und er wird gerne weiter danach schauen.

Speicherprobleme beim Wechsel von Programmen:

CS-DOS vom QWKRR128 aus aufgerufen gibt keine Probleme, aber anderst herum. Deshalb im CS-DOS den COLD Befehl oder die RESET Taste benutzen. (Ansonsten hängt sich QWKRR128 auf, wenn es die erste message liest.)

Wozu dient QWKRR128?

QWKRR128 ist ein 'native mode' 'offline reader' für die BBS-Freunde mit 128'ern. Es ermöglicht (mit ein paar nützlichen Funktionen) 'offline' (außerhalb der eigentlichen Datenübertragung) BBS-Mail zu lesen, beantworten und zusammenzustellen. Es wurde so gestaltet, daß es -außer der Diskettenkapazität- keine Begrenzung der Größe der message-Pakete gibt.

Warum die Post 'offline' lesen? Es gibt u.a. folgende Gründe:

1.) Senkung der Telefonrechungen (für Ferngespräche). Nur hoch- oder runterladen (up-/downloading) ist wesentlich effektiver.

2.) Reduktion der Zugriffszeit auf BBSen, die nur eine Telefonleitung haben, um anderen eine bessere Chance auf Zugriff zu geben. (Manche SYSOPs geben 'Offline Mail Users' sogar Rabatt, weil diese die Leitung frei(er) halten)

3.) Reduktion der Zeit, die Dein Computer am Telefon hängt (Du kannst gleichzeitig jemanden anrufen und Deine Post beantworten).

Der erste dürfte wohl der Hauptgrund sein, aber die anderen sind auch ganz nützlich.

Was brauchst Du um QWKRR128 zu betreiben?

Du brauchst einen 80-Zeichen-Monitor (läuft leider nicht im 40-Zeichenmodus), einen C128 und ein Diskettenlaufwerk (es kann ein beliebiges sein, aber je mehr Speicherkapazität zur Verfügung steht, desto größere Dateien (Mail-Pakete) können bearbeitet werden; getestet wurde mit 1571, 1581, CMD Hard und RAMLink. Doppellaufwerke, soweit vorhanden, werden ebenfalls unterstützt). Bedauerlicherweise ist QWKRR128 durch Speicherprobleme nicht mit RAMDOS kompatibel.

Du brauchst auch ein Verfahren, um ARC-Dateien im IBM-Format aufzubauen und aufzulösen, da dies im Augenblick das einzige Format ist, das MS-DOS UND der 128'er versteht (die meisten .QWK-Systeme erlauben nur gepackte up-/downloads). Der Autor dieses Programmes empfiehlt CS-DOS von Chris Smeets.

+*+ Die Rechte an CS-DOS liegen nun bei PARSEC INC. (USA), die es dem Augenschein nach als 'freeware' herausgeben wollen. Die neuen Eigner baten darum, daß wir Teile des CS-DOS nicht mit QWKRR128 zusammen vertreiben sollen. Du solltest Dir dennoch CS-DOS (oder ähnliche .ARC-Packer zum Gebrauch für/mit MS-DOS BBSen) beschaffen.

Zusätzlich brauchst Du ein 'mail packet' (muß .QWK-kompatibel sein). .QWK ist einer von vielen IBM BBS 'mail packets' und sehr verbreitet, weil die meisten BBSen in der Lage sind es zu erzeugen.

Wie bekomme ich ein 'mail packet'

Log Dich in Deine Lieblings-BBS ein und betrete die 'offline mail reader area', wo Du ein paar Parameter eingeben mußt:

Packing option: ARC

Packet Type: QWK

Protocol: (entsprechend Deinem Terminal)

Area Selection: (wähle hier die 'mail area' aus, aus der Du Post erhalten willst)

Dies ist für gewöhnlich eine eigene Option neben der 'combined read'-Option. Vielleicht findest Du noch viele andere Optionen, einschließlich der Auswahl 'number of messages', die in ein Paket sollen (oder dürfen, s.o.), oder 'news bulletins' (das Neueste), neue Dateilisten, oder anderes mehr. Es sollte auch eine 'help'-Datei in der BBS vorhanden sein, um die Optionen und deren Gebrauch für Deinen 'offline reader' zu erklären.

Was muß ich mit einem .QWK 'mail packet' tun?

Was hast Du bis jetzt bekommen? Eine Datei <BBS-Name>.QWK. Achtung, der Name ist bei jedem 'download' immer gleich und Du mußt Deine früher erhaltenen Pakete entweder löschen oder umbenennen, bevor die neue Datei 'down'-geladen wird. Dann verlasse das Terminalprogramm und boote CS-DOS oder einen anderen ent-ARC-er.

CS-DOS

+*+ Zitat aus einem Brief von John Brown (Parsec Inc) an Rod Gasson, vom 4.7.92: "Weil ich immer noch im Streit mit verschiedenen Leuten liege, die meine Magazine und Software unerlaubt weitergeben ('pirating'), habe ich meine Einstellung gegenüber CS-DOS geändert. Ich ersuche Dich, nicht einen Teil von CS-DOS oder ARC in Dein QWKRR aufzunehmen." Für jene, die es noch nicht wissen, Parsec hat die Rechte an CS-DOS gekauft und Rod hat keine Absicht, gegen John's Wunsch zu verstoßen, so daß die CS-DOS Auszüge (wie noch in V1.?) nicht mehr mit QWKRR geliefert werden. Parsec möchte CS-DOS als 'freeware' wiederveröffentlichen. Wenn Du es nicht schon hast, kannst Du es immer noch aus den meisten BBSen (die das Commodore-Format unterstützen) 'downloaden'.

Unter CS-DOS mußt Du CSXARC zum ent-ARC-en nehmen, NICHT das Commodore- spezifische ARC-Modul, das mit dem IBM-ARC-Format nicht kompatibel ist. Vor dem ent-ARC-en mußt Du die Datei umbenennen, damit sie die Endung '.ARC' bekommt. Ich bevorzuge einen Namen etwa wie '23MAI92WOW.ARC', der Datum und 'board' oder 'mail area' ('Herkunft') enthält. Da Du Dich nicht auf das IBM-Format beschränken mußt, darfst Du vor der Endung '.ARC' bis zu 12 alpha-numerische Zeichen verwenden. Die Syntax zum ent-ARC-en lautet dann:

CSXARC 23MAI92WOW

Verwendest Du mehrere Laufwerke, wähle zum Ziel-('Destination'-)Laufwerk das aktuelle Laufwerk und füge eine Laufwerkskennung vor den Dateinamen ein:

CSXARC d:23MAI92WOW

Mit CSXARC mußt Du alle Dateien aus dem .ARC extrahieren, aber unter QWKRR128 brauchst Du nur 'CONTROL.DAT' und 'MESSAGES.DAT' (A.d.Ü.: ???). Es gibt noch ein paar andere Dateien im .ARC einschließlich '.NDX', welche durch QWK-reader erstellt, aber für QWKRR128 nicht benötigt werden. Wählst Du 'bulletins' (Nachrichtenblätter), die an das Paket angehängt werden sollen, werden sie im Paket aufgenommen und müssen mit anderen Mitteln gelesen werden.

Jetzt hast Du Deine Dateien und es wird Zeit CS-DOS zu verlassen und den Speicher für den nächsten Schritt zu leeren. Dazu gibt es zwei 'sichere' Wege, entweder den CS-DOS Befehl 'COLD' oder den bewährten RESET-Knopf.

+*+ Regelmäßige CS-DOS-Anwender mögen die Einrichtung einer kleinen RAM-Disk- Datei in Betracht ziehen, die gerade die mindest notwendigen Dateien zur Durchführung dieser Aufgaben enthält. Es wäre eine Verschwendung von Zeit, eine mehr als 300 Blöcke große RAM-Disk zu laden, um nur eine einzige Aufgabe zu bearbeiten. Führst Du wiederholte Arbeitsvorgänge aus und benutzt eine 17xx RAM, kann sie schneller sein (da sie während der Ausführung von QWKRR128 unbehelligt bleibt und von CS-DOS beim wiederstarten nicht überschrieben wird).

Bist Du im QWKRR128 fertig, mußt Du Deine Datei zum 'upload' in die BBS komprimieren; das erreichst Du (IBM-kompatibel) in CS-DOS mit CSARC bzw. CSARC1750. Mein Befehl dazu lautet:

csarc mail *.msg

So wird eine Datei 'MAIL.ARC' erstellt, die je nach Übertragungsprotokoll noch umzubenennen ist. Bei Verwendung eines Y-MODEM (oder eines anderen, das den Dateinamen vor der Datei sendet) wird die BBS nur Dateinamen des Formates <bbsname>.REP akzeptieren. (Der Name wird Dir vorgeschlagen, wenn Du das Programm verläßt.) Unter Einsatz eines X-MODEMS (oder eines Protokolls, das keinen Dateinamen überträgt) brauchst Du natürlich nicht umzubenennen, solltest Dir aber merken wie Du sie gerade betitelt hast!

QWKRR128 starten

Nun zur Sache: Du brauchst die QWKRR128-Dateien und die Diskette mit den *.DAT Dateien. Starte QWKRR218 (egal von welchem Laufwerk) und Du wirst zur Eingabe des Quell- und Ziel-Laufwerkes aufgefordert (Default ist das letztbenutzte Laufwerk, ggf. das, von dem QWKRR128 gebootet wurde). Das Quell-Laufwerk muß die *.DAT Dateien enthalten, sonst bricht das Programm ab. Die nächste Eingabeaufforderung betrifft Datum und Zeit, die der ausgehenden Post angehängt werden. Default (voreingestellt) ist die Zeit in der CONTROL.DAT (und dann ist nur der Tag änderbar, was aber nicht schlimm ist, weil Du Antworten binnen ein/zwei Tagen geben solltest. Nur zum Monatswechsel kann's Probleme geben, dann mußt Du mit falschem Datum arbeiten). Die einzugebende Zeit ist vierstellig, ohne Punktuation (d.h.: Format 'hhmm').

Der Autor hat auch noch eine 'annoyware'('lästige')-Version herausgegeben, die Dich an dieser Stelle durch drei Seiten Text quält, solange Du nicht registriert bist. Registrierte Kopien haben Deinen BBS-Namen fest integriert und dieser Schritt wird übergangen, WENN der registrierte Name mit dem in der CONTROL.DAT übereinstimmt (das heißt, Deine registrierte Version weitergegeben, verhält sich wie nicht registriert). Die registrierten Versionen haben einen zusätzlichen Menüpunkt 'Press any key <I>nfo'. Auf die Eingabe von 'I' bekommst Du Installations-(setup-)Hinweise etc., andere Tasten bringen Dich ins Programm.

Messages lesen

Bist Du bis hierhin vorgestoßen und die Dateien befinden sich dort, wo QWKRR128 sie erwartet, wird die erste 'message' des Pakets angezeigt, unten im Bild mit einem Menü:

<P>revious <N>ext <R>eply <F>wd e<X>port <#>print <S>can <Q>uit <<*>>

Es gibt noch ein paar mehr Tasten, die nicht im Menü erscheinen: ESC zum Abbruch einer message, <SPACE> und <RETURN> sind dem <N> gleich. ESC wirkt immer, die anderen nur, wenn der Bildschirm das Menü zeigt.

Weitere Befehle:

CRSR hoch eine Zeile hoch scrollen CRSR ab eine Zeile abw. scrollen

CRSR links eine Bildschirmseite hoch CRSR rechts eine Bildschirmseite abw.

CLR/HOME zum Seitenanfang shift-CLR/HOME zum Seitenende

(diese Tasten funktionieren in den meisten Optionen, in Kurz-messages oder -bildschirmen bleiben sie meist wirkungslos)

READ (Lese-) Befehle

ESC ist die einzige Funktion, die bereits arbeitet, bevor die Menüzeile (am Ende der message) angezeigt wird und bewirkt einen Abbruch der message. Sie könnte eingesetzt werden, wenn Du eine message liest und dabei feststellst, daß sie Dich doch nicht interesssiert. Eine abgebrochene message kann nicht wiederaufgenommen werden (es sei denn durch Neustart).

<P>revious führt Dich zur vorhergehenden message, bis höchstens zur zehnten (von der höchsten eingelesenen message-Nummer gerechnet). Der Befehl funktioniert nicht mehr nach einem ESC.

<N>ext oder <SPACE> oder <RETURN> bringt Dich zur nächsten message ('Seite')

<R>eply gibt die Antwort in eine message area. Siehe: 'Antwort auf eine message'

<F>wd dient zur Antwort auf eine message unter Wechsel der area, in die gesendet werden soll; auch zur Antwort per NetMail auf Fido, oder per 'private mail' auf eine 'public message'. Die Optionen sind die gleichen wie bei REPLY, außer daß die message area ausgewählt werden muß (wie beim eingeben einer message).

e<X>port sendet die aktuelle message als CBM-ASCII-Datei zum Destination- (Ziel-) Laufwerk und vergibt dabei die Namen EXPORT.1, EXPORT.2, . . . Das Programm prüft, ob EXPORTdateien bereits bestehen. Falls ja, wird die Extension fortlaufend weiternummeriert. Ich finde es am einfachsten, nach einer 'Session' die Dateien gleich umzubenennen, um später noch zu wissen worum es ging.

<#>print gibt die aktuelle message auf einem CBM-kompatiblen Drucker aus. Dabei wird nicht geprüft, ob der Drucker vorhanden/angeschalten ist; wenn nein hängt sich das Programm auf.

<S>can blättert schnell durch ein message-Paket unter Anzeige der jeweiligen Kopfzeilen (To: From: Subj.: deutsch: An: Von: Thema: ). Irgendein Tastendruck unterbricht Scan; dabei mußt Du SEHR schnell sein, sonst wird bereits die nächste message angezeigt. Der Hauptnutzen dürfte darin liegen, daß Du schnell durch ein früher schon geladenes (und abgebrochenes) Paket kommst. Dabei mußt Du selbst auf die message-Nummern achten (eine Automatik, dort weiterzufahren, wo Du früher aufhörtest, ist leider nicht möglich).

<Q>uit +*+ shift-Q ist der einzige Weg, das Programm geordnet zu verlassen. Dabei wird der 'Disk-Haushalt' auf der Source-(Quell-) Disk in Ordnung gebracht und -wenn Du ein Antwortpaket erstellt hast- verwendete Dateinamen ausgegeben.

* der Asterisk gibt Dir die Möglichkeit, die Belegung der Funktionstasten F1 bis F8 zu editieren und mit Standardphrasen zu belegen (und damit Tipparbeit zu sparen). Voreingestellt ist nur 'Hi' auf F8, für die REPLY-Funktion. Die Belegung wird in einer Datei, die mit 'QWKRRK.' beginnt, abgelegt; voreingestellt ist QWKRRK.KEYS, aber Du kannst jede Extension verwenden. Auch mehrere QWKRRK.'s sind möglich. QWKRRK. -Dateien sind unter * zu <E>dit-ieren, <L>oad-en oder <S>ave-n. Bei Eingabe von '$' unter Load, erhältst Du ein Verzeichnis der augenblicklichen Tastaturbelegung. Jede Belegung darf maximal 255 Zeichen lang sein.

REPLY (Antwort) auf eine message

Auf Anwahl von <R>eply, erstellt das Programm einen 'message header' ('Kopfzeile'). Die dazu benötigten Angaben (From: To: Subj.: bzw. Von: An: Thema:) kannst Du editieren, oder mit <RETURN> übernehmen. Die nächste Eingabeaufforderung setzt die Flag 'privat' (oder löscht sie). Wenn Du eine message eingibst, ist immer 'public' voreingestellt. Wenn Du antwortest, wird die Flag der eingegangenen message als Voreinstellung übernommen. Ändere diese Flag mit Bedacht: die 'privat'-Kennzeichnung kann bei Eintritt in eine 'public only' area verlorengehen und manche BBS lehnt 'falsch' geflagte messages in bestimmten Bereichen einfach ab.

Auf die Frage 'private' hast Du nun 'Yes' oder 'No' geantwortet und der Cursor marschiert zum message-Feld, in dem schon zwei Worte eingegeben sind: 'Hi' als Gruß (aus F8) und der erste Namensteil des Empfängers (hoffentlich der Vorname). Du kannst jetzt Deine Antwort eintippen.

+*+ Die Texteingabe erfolgt im 80-Zeichen-Format, aber nur 78 passen in eine Bildschirmzeile. Die gerade unsichtbaren Zeichen holst Du mit '<' oder '>' ins Bild.

Der hier verwendete Editor ist sehr einfach gehalten und öffnet sein Menü (hier REPLY-Menü genannt) auf 'ESC' mit folgenden Opionen:

<Q>uote <C>ont <S>ave i<M>port <A>bort <E>dit <I>nsert <D>elete

REPLY-Befehle

<Q>uote +*+ ermöglicht Dir, Teile der erhaltenen message zu zitieren (damit der Empfänger weiß, worauf Du Dich beziehst). Das Fido-Protokoll schlägt vor, genügend zu zitieren, um Sinn zu machen, aber nicht mehr als unbedingt notwendig, da ja irgendjemand die Telefonrechnung (u.U. rund um die Welt) zahlen muß. Denke beim antworten in einem internationalen Netz auch daran, daß die Original-message schon 10 Tage alt sein kann, bis sie endlich den Adressaten erreicht. . .

Nach Aufruf von Quote wird ein Teil der Original-message in einem Fenster angezeigt; mit einer hervorgehobenen Zeile, die mit <RETURN> zum Zitat (Quote) in Deiner message wird. Dem Zitat werden die Initialen des Urhebers und ein > vorangestellt, um es als solches zu kennzeichnen. Die Cursortasten bewegen den Balken zeilenweise auf oder ab (oder seitenweises bewegen: siehe READ-Befehle). 'ESC' oder 'Q' bringt Dich zum message-Menü zurück.

+*+ zitierter Text kann mehr als 80 Zeichen enthalten (durch den Vorspann 'XX>'). Eine solche Zeile ist wie jede andere editierbar, wird aber beim Save auf 80 Zeichen gestutzt. Auch die meisten Bildschirmdarstellungen stutzen auf 80, aber die Cont Option überträgt die 'Abschnitte' auf die nächste Zeile.

<C>ont erlaubt Dir, weiter in Deine message einzugeben, wenn Du schon zurück im Menü warst (um andere Funktionen auszuführen).

<S>ave speichert die message ins Destination-(Ziel-) Laufwerk unter Verwendung des in der BBS CONTROL.DAT vorgegebenen Dateinamens mit der Extension '.MSG'. Speicherst Du die erste message einer Session, prüft das Programm, ob eine gleichlautende Datei bereits existiert. Wenn ja, wirst Du gefragt, ob jene überschrieben ('overwrite'), daran angehängt ('append') oder der Vorgang abgebrochen ('abort') werden soll. Im Anschluß nachfolgende Antworten werden automatisch an die erste Antwort angehängt ('append'), um letztlich EINE Antwortdatei zu erhalten.

i<M>port holt eine Textdatei vom Destination-(Ziel-) Laufwerk in Deine message. Dabei kannst Du das <A>SCII oder <P>ETSCII Format für den Import wählen.

<A>bort bricht die REPLY-(Antwort-) Option ab und bringt Dich zur Original-message zurück.

<E>dit +*+ Hast 'n paar Tippfühler gemacht??? Hier kannst Du sie korrigieren. Nach 'E' (wie Editieren) wird die aktuelle Zeile in einem extra Fenster angezeigt und nach <RETURN> zum editieren freigegeben. Die Cursortasten bringen DIch durch die message, 'ESC' oder 'Q' zurück zum Hauptmenü. Wählst Du eine Zeile mittels <RETURN>, wirst Du mit zwei Strings konfrontiert, einmal den zu ändernden (hervorgehoben) und den mit der Änderung. Wenn Du für den Suchstring <RETURN> eingibst gelangst Du zum vorhergehenden Prompt zurück.

(A.d.Ü.: dieser Teil ist im Original ziemlich unverständlich. Vielleicht kannst Du mir 'mal erklären, wie das hier funktioniert . . .)

<I>nsert erlaubt Dir, Text (oder Leerzeilen) zeilenweise einzufügen. Willst Du an diesem Punkt, oder während der Antworteingabe, Leerzeilen eingeben um Deine message zu formatieren, mußt Du mindestens ein 'space' eingeben, damit der Editor nicht die message zum Menü verläßt.

<D>elete +*+ Hier kannst Du eine einzelne Zeile, oder einen Zeilenbereich löschen. Die aktuelle Zeile erscheint in einem Fenster und wird durch <RETURN> gelöscht. Die Cursor- Tasten bringen Dich durch die message und 'Q' oder 'ESC' zum REPLY-Menü zurück.

ENTERing a message (eine message eingeben)

Wie schon im 'READing message'-Teil angeführt, erlaubt Dir 'E' aus dem Menü heraus, einen anderen Text (als eine Antwort) einzugeben. Nach Anwahl von 'E' öffnet sich ein Fenster mit der Liste aller message areas der gerade benutzten CONTROL.DAT Datei (unter der Überschrift die der SYSOP bestimmt hat). Bewege den Cursorbalken in die gewünschte area und wähle diese mit <RETURN> aus. Gib danach den Empfängername und das Thema ('subject') ein. Achtung: es gibt keine Möglichkeit, im 'mail-offline' Betrieb den Empfängernamen auf Gültigkeit zu prüfen, wie es die BBS im Nahbereich ('local calls') tut; das mußt Du prüfen.

Bist Du ausversehen im Entermodus gelandet, kommst Du mit 'ESC' und anschließend 'A' ('abort') schnell wieder 'raus.

Hast Du Deine Informationen eingegeben, wirst Du in eine 'message creation area' versetzt, die der REPLY-area entspricht (allerdings ohne Qoute Option).

In NetMail hineinkommen

Das .QWK mail packet system wurde nicht geschrieben, mit den Unbillen NetMails fertigzuwerden (nach Auffassung des Autors von MKQwK, eines Packers für RamAccess-BBS). Trotzdem wurde NetMail unter unten beschriebenen Bedingungen erfolgreich getestet. Diese Bedingungen mögen vielleicht nicht immer funktionieren, dann lies bitte die lokalen System Instruktionen.

Anm.: egal welches System Deine BBS nutzt, Du MUßT die richtige area für NetMail anwählen (Netmail, Matrix-Mail oder ähnlich). Außerdem solltest Du das 'private' flag setzen, sonst lehnt die BBS ab (wozu eine öffenliche (public) NetMail message senden?).

Um mit NetMail so 'schmerzarm' wie möglich umzugehen, wurden Routinen für ein paar verschiedene Systeme eingebaut. (Durch die vielen verwendeten Formate, die Rod auch nicht alle zur Verfügung standen, konnten nicht alle berücksichtigt werden) Im Augenblick kann QWKRR128 V2 nur Qmail, MkQwk und SBBS bearbeiten. Wenn REGISTRIERTE User Rod Details mitteilen, wie ihre BBS damit umgeht, werden sie gerne bei der Verteilung zukünftiger Versionen berücksichtigt.

Die ersten Probleme ein 'automatisches' NetMail zu errichten, tauchen auf, eine korrekte Erkennung der NetMail area zu finden, weil jeder SYSOP auf Deiner BBS 'freie Wahl' hat und der Name unter anderen Netmail, NetMail, Matrix mail, Matrix Mail sein kann.

Rod nahm's leicht, QWKRR128 sucht nach dem Textstück 'ail', . . . und das scheint meistens hinzuhauen (wenn nicht gerade sowas wie 'Privatecho' drinsteht). Auf der anderen Seite gibt's ein Problem, wenn Dein SYSOP zwei areas mit 'ail' hat (z.B.: NetMail und Localmail). In beiden Fällen hast Du die Wahl, die eingebauten NetMail- Routinen zu benutzen, oder einfach die message wie irgendeine andere zu behandeln.

Nimmst Du 'Y' (wie Yes oder Ja), um die NetMailroutinen zu nutzen (zur Eingabe einer oder Antwort auf eine message), wirst Du zur Eingabe der NetMail-Adresse aufgefordert (alle NetMail benötigt die Adresse wohin es gehen soll). QWKRR128 unternimmt einen Versuch, eine gültige Adresse aus der aktuell gelesenen message herauszufinden; war es erfolgreich, wird Dir diese Adresse als Default angeboten. Wurde keine gültige Fido Adresse gefunden, werden die NetMailroutinen abgebrochen und die message als 'normal' behandelt. ACHTUNG: aus der Tatsache, daß QWKRR128 eine Adresse akzeptierte, ist nicht darauf zu schließen, daß diese für die BBS auch gültig ist (das obliegt wiederum Dir, das zu prüfen). Außerdem gibt es ein paar BBSen, die NetMail garnicht zulassen.

Du kannst mit einem Blick erkennen, ob die message als NetMail message gespeichrt wird, indem Du auf die area-Zeile schaust. Steht dort 'NetMail to Z: XXX/YYY' dann wird Netmail auch benutzt, ansonsten steht dort nur 'NetMail' und die message wird wie jede andere behandelt. Sollte letzteres der Fall sein, wird sie vielleicht von der BBS zurückgewiesen, es sei denn, Du befindest Dich NICHT in der NetMail area.

Als Beispiel, wie Netmail 'manuell' geschickt werden kann, habe ich die Anweisung für MKQwk V1 in diese Dokumentation aufgenommen.

Der Gebrauch des MKQwk

Das MKQwk-paket interpretiert den Inhalt der Message als Adresse, wenn sie mit '@' beginnt. Mail, so verschickt, kannst Du auch als Crash, Immediate oder Direct NetMail flaggen, indem Du CRASH, IMM und/oder DIR an die Adresse anhängst. Ein Thema/Anlaß kann in die ausgehende NetMail message in die erste Zeile eingefügt werden: 'Subj: <Thema/Anlaß>'. Die message könnte dann etwa so aussehen:

To: Rod Gasson

From: Mark Dowsett

Subj: @3:680/809

-- <HeaderEnde - messageTextAnfang> --

Subj: Netmail test.

Die empfangende BBS wird den Rest tun.

Quit (Beenden)

Wählst Du <Q>uit (shift-Q), wird das Programm beendet. Zuvor geschehen noch 'Haushaltsarbeiten' auf der Source-(Quell-) Disk und es werden Informationen des für Dich erstellten Mail-Paketes ausgegeben (einschließlich des Namens und der Warnung, daß dieser nun nicht mehr geändert werden darf). Das ist nicht GANZ wahr, die BBS, die ich benutze, gibt mir ein Paket aus: WOW-BBS.msg (die Groß-/ Kleinschreibung ist nicht bedeutent, aber der Name).

Nach <Q>uit werden die Funktionstasten automatisch wie folgt belegt:

F1 SHELL starten (CS-DOS)

F3 vollständiger RESET des C128

F5 Neustart des QWKRR128

Möchtest Du F5 benützen, müssen die Dateien QWKRR.DEFAULTS und QWRRK.KEYS auf dem Bootlaufwerk (erster Start des QWKRR128) zur Verfügung stehen.

Jetzt mußt Du 'rausgehen und eine IBM-kompatible ARC-Datei zum 'upload'-en erstellen. Siehe hierzu CS-DOS. Fertig? Gut! Re-boot (starte erneut) Dein Terminalprogramm, rufe die BBS an, gehe in die 'Offline Mail Area' und lade Dein Paket hoch ('upload'). War das nicht einfach? Beobachte den Vorgang des uploads, da das 'Offline Mail Module' normalerweise Fehler, die auftreten, angibt (die Nachrichten aber nicht lange auf dem Bildschirm bleiben). Ist alles in Ordnung, wird (vielleicht) die Anzahl erhaltener messages, die areas in die gesendet wurde und sonstige Information ausgegeben.

MKQwk gibt immer an, in welche 'area number' jede einzelne message gekommen ist, deren Thema und Fehlermeldungen (für gewöhnlich: 'Message moved to Default area', wenn aus irgendeinem Grund die message in der gewünschten area nicht akzeptiert wurde, wofür es zwei mögliche Gründe gibt: 1. Public Mail in Private area und umgekehrt und 2. Netmail ohne zulässige Adresse oder genügend Netmail-Guthaben).

Lesen, was Du geschrieben hast

Du möchtest Dein eigenes Paket lesen? Du weißt nicht mehr, was Du geschrieben hast? oder willst einfach prüfen, wie Dein Paket 'rauskommt (Formatierung kontrollieren)? Das ist einfach . . . Du brauchst nur sicherzustellen, daß die CONTROL.DAT Datei (vom schreiben des Pakets) auf der gleichen Disk vorliegt, wie das .MSG Paket selbst. Dann nenne das .MSG Pakt um, in MESSAGES.DAT und boote QWKRR128. Jetzt kannst Du Dein Paket lesen, als hättest Du es von außen bekommen.

Dies war KEINE geplante Funktion des Programmes. Es war ein Nebenprodukt, das zur Fehlersuche im Programm ('debugging') diente und die Richtigkeit des Antwortpaketes prüfen kann. Unternimm keinen Versuch, Dein Antwortpaket zu editieren und antworte nicht auf diese Antworten (ich wüßte auch nicht wozu das gut sein sollte, frage Dich selbst. . .).

Wenn Du willst, kannst Du die Export/Print Optionen auf diese Datei anwenden, was manchmal gelegen kommt (z.B.: eine gespeicherte message soll editiert werden. e<X>portiere sie, gehe in die Leseoption des ORIGINAL-Pakets, i<M>portiere sie und editiere dann. Oft ist es jedoch einfacher, das ganze nochmal von vorne einzugeben.).

Unterstützung von Programmen und Dateien

MAILPKT.SCR Dieses kurze BASIC-Programm wurde geschrieben, das löschen von Dateien zu vereinfachen (die während des entpackens (de-ARC-en) 'angefallen' sind und nicht mehr benötigt werden). Es entfernt alles, außer den .DAT Dateien, die Du zum lesen des Paketes brauchst. Dein Part ist, MAILPKT.SCR starten und das entsprechende Laufwerk anzugeben (8 bis 16). Es frägt dann nach den .DAT Dateien, die mit 'NO' (nein) voreingestellt sind. Willst Du irgendwelche Extradateien einschließen, findest Du regelmäßig die Namen in DATA-Statements abgelegt, die Du nach Belieben erweitern kannst (solange die letzte Zeile DATA "END" enthält). Sei sehr umsichtig im Einsatz von Wildcards (Jokern), die manchmal doch sehr 'brutal' wirken!

Dieses Programm kann gut in Deine CS-DOS RAM-Disk INSTALLiert werden.

+*+ QWKRR.DEFAULTS Diese Datei erlaubt dem geneigten User, seine bevozugten Diskadressen und Farben festzulegen. Es ist eine einfache Textdatei, die mit jedem Texteditor (einschließlich CS-DOS im TEXT-Modus) änderbar ist. Sie sieht etwa folgendermaßen aus:

0 source drive = use boot drive (Quell-/Boot-Laufwerk)

0 destination drive (Ziellaufwerk)

1 background - black (Hintergrund schwarz)

154 border - lt.blue (Rahmen hellblau)

153 header text - lt.green (Kopfzeile hellgrün)

158 header data - yellow (Kopfzeileneinträge gelb)

5 message text - white (message-Text weiß)

155 message highlight - grey (Hervorhebung im Text grau)

Mit diesen Werten wird diese Datei mit QWKRR128 V2 zusammen ausgeliefert. Die Eingaben unterliegen folgenden Regeln:

- nur die ersten drei Zeichen einer Zeile sind von Bedeutung (der Rest kann für Kommentare dienen). Diese 3 Zeichen müssen Zahlen sein.

- das Source-(Quell-) und das Destination-(Ziel-) Laufwerk kann irgendeine gültige Laufwerksnummer sein. 0 steht für das Laufwerk, von dem aus gebootet wurde. Egal, was Du hier voreinstellst, Laufwerke können im Programm noch geändert werden.

- die Hintergrundfarbe kann 1 bis 16 sein (entsprechend dem BASIC7-Befehl COLOR, d.h. 1=schwarz, 2=weiß, 3=rot, . . . )

- alle anderen Farben entsprechen dem Commodore Tastaturcode (d.h. 5=weiß, 28=rot, 154=hellblau, 155=grau3, . . . ). Ungültige Codes belassen die interne Voreinstellung. Es gibt keinen Test auf Blödsinn (z.B.: schwarzer Text auf schwarzem Grund, oder so).

- QWKRR.DEFAULTS wird nur beim ersten Programmstart geladen. Ist die Datei nicht auf der Bootdisk, wird mit internen Werten gearbeitet. Beachte, daß nach Ausstieg aus QWKRR128 die re-RUN-Funktion (F5) die Bootdisk im ursprünglichen Laufwerk erwartet (sonst werden auch hier interne Voreinstellungen übernommen und die Funktionstasten enthalten nichts nützliches).

- aus dieser Datei unter keinen Umständen eine Zeile auslassen, sonst hängt sich das Programm eventuell auf.

Glossar

ARC Eine ARChiv-Datei, die eine oder mehrere komprimierte Dateien enthält. ARC muß in der 8-Bit-Welt des Commodore vorsichtig gehandelt werden, weil es zwei inkompatible Formen gibt: Das Original-CBM-ARC kann nur von 64'ern und 128'ern verarbeitet werden und ist zu anderen Systemen inkompatibel. Die andere Form des ARC war zuerst nur für MS-DOS gedacht, breitet sich aber immer weiter aus. Es gibt Programme, die auch 64'ern und 128'ern das MS-DOS-ARC zugänglich machen (wenngleich die Erstellung ge-ARC-ter Dateien bislang nur mit dem 128'er unter CS-DOS gelingt).

CSARC / CSXARC sind Programmoptionen unter CS-DOS, um MS-DOS ARC's zu erstellen und aufzulösen.

CS-DOS ist ein flexibles SHAREWARE Operating-System für den 128'er, geschrieben von Chris Smeets. Es hat eine ähnliche Befehlsstruktur wie MS-DOS. Viele Befehle sind von einer RAM-Disk (einer 17xx oder 128'er-intern) ausführbar.

QWK ein verbreitetes BBS-mail-packet-Format für MS-DOS. Es gibt auch noch andere (wie z.B.: .XRS), aber QWKRR128 unterstützt zur Zeit nur .QWK

KONTAKTADRESSE

Rod Gasson

90 Hillers Road

REYNELLA SA 5161

Australia

Telephone +61 8 322 2716

NetMail 3:680/809

DOKUMENTATION

Mark Dowsett

P.O.Box 227

RANDWICK NSW 2031

Australia

Telephone +61 2 399 6549

NetMail 3:713/888

Die Registrierung (bzw. Bestellung einer registrierten Kopie) erfolgt gegen 20 Australische Dollars bei

VideoCam Services/Rod Gasson

(siehe oben)

mit dem Originalformular aus der Originalanleitung

Update-Informationen für QWKRR128 V2.1

- arbeitet nun mit BBS'en zusammen, die mehr als 255 message areas haben

- Probleme mit dem unüblichen Datumsformat mancher BBS wurden gelöst

- area #0 (soweit vorhanden) ist benutzbar

- Probleme mit 'grunged messages' gelöst (Dank an Russell Prater & Tim Winters)

- das 'quote' Problem beim editieren 'ungesehener' Texte ist ebenfalls gelöst

- echte 'tag lines', beginnend mit '. . .' (Anmerkungen) sind nun nutzbar gemacht, obwohl sie noch keine User-Option sind. Diejenigen, die die tags unbedingt ändern wollen, können das mit einem m/c monitor. Wer das bisher schon gemacht hat, wird sich freuen, daß ich den 'Registraturhinweis' "R/NR" gekürzt und gleichzeitig den 'default text' erweitert habe, auf nunmehr 80 Zeichen (d.h.: 72 Zeichen plus QWKRR128- Interna)

- die Abbruchoption bei der message-Eingabe wurde auf shift-A geändert

- bei Programmbeendigung können die F-Tasten nochmals neu belegt werden (mache dazu eine neue Tastaturbelegungsdatei 'keysexit', die von der Bootdisk geladen wird, wenn der Abbruch über <Q>uit erfolgt). Die .QWK Erweiterung für den Dateinamen bitte nicht verwenden. Die Abbruchmeldung berücksichtigt eine neue F-Tastenbelegung nicht.

- neu ist das Programm(teil) 'Qwikread128'. Weit davon, perfekt zu sein, ist es doch schon nützlich (besonders für diejenigen mit großen Laufwerkskapzitäten, also für fast jeden QWKRR-User). Es stellt den 'inneren Wert' meiner nächsten Version dar und soll zeigen, mit welchen 'Annehmlichkeiten' (für den User) ich meine Zeit verbringe (gilt auch für User- definierbare 'taglines')

fröhliches BBS-en

Rod Gasson

14 QWKRR128-DR.dt 37 KB App Data Write Image V2.1 VLIR 1993-03-15 17:45 .cvt .html

Übersetzung des austral. Originaltextes QWKRR128-Documentation durch Michael Scholich

QWKRR128 V2.0 Dokumentation

programmiert von Rod Gasson, Reynella, South Australia

Anleitung von Mark Dowsett, Sydney, New South Wales

INHALT:

Warnungen und Hinweise 2

Diskettengebrauch

Dateigebrauch

Größe der Pakete

Anzahl gewählter 'areas'

Speicherprobleme

Wozu dient QWKRR128? 2

Was brauchst Du um QWKRR128 zu betreiben? 2

Wie bekomme ich ein Mail-Paket? 3

Was muß ich mit '.QWK'-Paketen tun? 3

Gebrauch von CS-DOS 3

Start des QWKRR128 3

Lesen der messages (Nachrichten) 4

READ-(Lese-) Befehle 4

REPLY (Antwort) auf eine message (Nachricht) 4

REPLY-(Antwort-) Befehle 5

ENTER, eine message (Nachricht) eingeben 5

in Netmail hineingehen 5

Gebrauch von MKQwk 6

Quit (Beenden) 6

Lesen, was Du geschrieben hast 6

Unterstützung von Programmen 6

MAILPKT.SCR 6

QWKRR.DEFAULTS 7

Glossar 7

Kontaktadressen 7

Registration 7

Update-Hinweise zu Version 2.1 8

Hinweis: für die Aufsteiger von V1.? sind die neuen, bzw. geänderten Abschnitte mit +*+ gekennzeichnet

QWKRR128 V2.0 Dokumentation

Warnungen und Hinweise

Die folgenden Punkte haben sich als bekannte oder mögliche Fallen des QWKRR128 herausgestellt:

Diskettengebrauch:

1.) Hast Du einmal begonnen, die 'MESSAGES.DAT' Datei zu lesen, bleibt der Datenkanal zur Quelldisk solange geöffnet, bis das Programm beendet wird (shift-Q). KEINESFALLS die Disk aus dem Laufwerk nehmen, solange dessen 'Drive'-Lämpchen noch brennt, da sonst das Programm abstürzt und dabei eventuell Daten verfälscht. Die 'Destination'- Disk kannst Du jederzeit wechseln, vorausgesetzt, daß sie nicht auch als Quelldisk dient und daß Du nicht mehrere Antworten erwartest (dann wirst Du aufgefordert, die entsprechende Destination-Disk wieder einzulegen).

2.) Für schnellst mögliches arbeiten, benutze Dein schnellstes Laufwerk als Quell- Laufwerk und das langsamere als Boot-/Destination-Laufwerk.

3.) Auf dem Quell-Laufwerk brauchst Du mindestens 100 freie Blöcke für temporäre Dateien (Zwischenspeicherungen) des QWKRR128. Das Programm prüft den auf der Diskette zur Verfügung stehenden Platz nicht; ist die Disk voll, sollte das Programm abbrechen.

4.) Sollte das Programm aus irgendwelchen Gründen abbrechen, wird es (allerdings ohne Garantie) versuchen, alle Dateien korrekt zu schließen. Bist Du im Zweifel, prüfe erst das Antwortpaket, bevor Du 'was dranhängst ('append'). EIN verfälschtes Byte im Kopfeintrag der Nachricht ('header') verursacht, daß ALLE nachfolgenden Nachrichten verworfen werden.

Dateigebrauch und deren Umlauf:

Jede BBS behandelt ihre 'control.dat' -Datei auf ihre eigene Art und Weise. Unternimm niemals den Versuch, die 'control.dat' einer BBS für die Erstellung eines Antwortpaketes eines anderen Systems zu verwenden. Ebenso solltest Du nie eine 'alte' control.dat mit einem neuen Mail-Paket benützen. Irgendetwas könnte sich seit Deinem letzten Anruf geändert haben. Und vermeide das hochladen eines Antwortpaketes mit einer control.dat, die mehr als ein paar Tage alt ist. Versuche Deine Antworten noch am gleichen Tag hochzuladen, an dem Deine Post runtergeladen wurde.

Größe der Mail-Pakete:

Wenn Du Dich vorbereitest ein Mail-Paket zu bekommen, bedenke Deine Laufwerks- Kapazität. In einem großen Paket wird 1 Nachricht ('message') einer .QWK- (.ARC-) Datei im Durchschnitt ungefähr 1,6 Blöcke lang, entpackt gibt das etwa 3,5 Blöcke in der 'MESSAGES.DAT'-Datei. Das bedeudet, ein 300-'message'-Paket gibt eine .ARC-Datei von 498 Blöcken, die entpackt, kommt locker auf 1000 Blöcke für die MESSAGES.DAT -Datei plus ca. 10 Blöcke für andere Dateien. Und erinnere Dich an den Platz für temporäre Dateien (s.o. unter 3.). Über den Daumen kannst Du mit einer 1541 150-messages-Pakete handhaben, mit einer 1571 etwa 330 (das kann aber schon arg knapp werden, wenn es sich zufällig nur um große 'meesages' handelt).

Anzahl gewählter 'messages areas':

+*+ Ein Problem bleibt immer noch mit BBSen, die eine Auswahl von mehr als 255 'message bases' erlauben. Obwohl das Programm nicht mehr abstürzt (wie noch V1), sollte es doch mit Vorsicht gebraucht werden, da messages in falschen Bereichen hin- und hergeworfen werden (können). Rod konnte keine nahegelene BBS finden, um das zu studieren und zu klären. Wenn Du solche Beschränkungen feststellst, sende Rod das Beispiel-Paket und er wird gerne weiter danach schauen.

Speicherprobleme beim Wechsel von Programmen:

CS-DOS vom QWKRR128 aus aufgerufen gibt keine Probleme, aber anderst herum. Deshalb im CS-DOS den COLD Befehl oder die RESET Taste benutzen. (Ansonsten hängt sich QWKRR128 auf, wenn es die erste message liest.)

Wozu dient QWKRR128?

QWKRR128 ist ein 'native mode' 'offline reader' für die BBS-Freunde mit 128'ern. Es ermöglicht (mit ein paar nützlichen Funktionen) 'offline' (außerhalb der eigentlichen Datenübertragung) BBS-Mail zu lesen, beantworten und zusammenzustellen. Es wurde so gestaltet, daß es -außer der Diskettenkapazität- keine Begrenzung der Größe der message-Pakete gibt.

Warum die Post 'offline' lesen? Es gibt u.a. folgende Gründe:

1.) Senkung der Telefonrechungen (für Ferngespräche). Nur hoch- oder runterladen (up-/downloading) ist wesentlich effektiver.

2.) Reduktion der Zugriffszeit auf BBSen, die nur eine Telefonleitung haben, um anderen eine bessere Chance auf Zugriff zu geben. (Manche SYSOPs geben 'Offline Mail Users' sogar Rabatt, weil diese die Leitung frei(er) halten)

3.) Reduktion der Zeit, die Dein Computer am Telefon hängt (Du kannst gleichzeitig jemanden anrufen und Deine Post beantworten).

Der erste dürfte wohl der Hauptgrund sein, aber die anderen sind auch ganz nützlich.

Was brauchst Du um QWKRR128 zu betreiben?

Du brauchst einen 80-Zeichen-Monitor (läuft leider nicht im 40-Zeichenmodus), einen C128 und ein Diskettenlaufwerk (es kann ein beliebiges sein, aber je mehr Speicherkapazität zur Verfügung steht, desto größere Dateien (Mail-Pakete) können bearbeitet werden; getestet wurde mit 1571, 1581, CMD Hard und RAMLink. Doppellaufwerke, soweit vorhanden, werden ebenfalls unterstützt). Bedauerlicherweise ist QWKRR128 durch Speicherprobleme nicht mit RAMDOS kompatibel.

Du brauchst auch ein Verfahren, um ARC-Dateien im IBM-Format aufzubauen und aufzulösen, da dies im Augenblick das einzige Format ist, das MS-DOS UND der 128'er versteht (die meisten .QWK-Systeme erlauben nur gepackte up-/downloads). Der Autor dieses Programmes empfiehlt CS-DOS von Chris Smeets.

+*+ Die Rechte an CS-DOS liegen nun bei PARSEC INC. (USA), die es dem Augenschein nach als 'freeware' herausgeben wollen. Die neuen Eigner baten darum, daß wir Teile des CS-DOS nicht mit QWKRR128 zusammen vertreiben sollen. Du solltest Dir dennoch CS-DOS (oder ähnliche .ARC-Packer zum Gebrauch für/mit MS-DOS BBSen) beschaffen.

Zusätzlich brauchst Du ein 'mail packet' (muß .QWK-kompatibel sein). .QWK ist einer von vielen IBM BBS 'mail packets' und sehr verbreitet, weil die meisten BBSen in der Lage sind es zu erzeugen.

Wie bekomme ich ein 'mail packet'

Log Dich in Deine Lieblings-BBS ein und betrete die 'offline mail reader area', wo Du ein paar Parameter eingeben mußt:

Packing option: ARC

Packet Type: QWK

Protocol: (entsprechend Deinem Terminal)

Area Selection: (wähle hier die 'mail area' aus, aus der Du Post erhalten willst)

Dies ist für gewöhnlich eine eigene Option neben der 'combined read'-Option. Vielleicht findest Du noch viele andere Optionen, einschließlich der Auswahl 'number of messages', die in ein Paket sollen (oder dürfen, s.o.), oder 'news bulletins' (das Neueste), neue Dateilisten, oder anderes mehr. Es sollte auch eine 'help'-Datei in der BBS vorhanden sein, um die Optionen und deren Gebrauch für Deinen 'offline reader' zu erklären.

Was muß ich mit einem .QWK 'mail packet' tun?

Was hast Du bis jetzt bekommen? Eine Datei <BBS-Name>.QWK. Achtung, der Name ist bei jedem 'download' immer gleich und Du mußt Deine früher erhaltenen Pakete entweder löschen oder umbenennen, bevor die neue Datei 'down'-geladen wird. Dann verlasse das Terminalprogramm und boote CS-DOS oder einen anderen ent-ARC-er.

CS-DOS

+*+ Zitat aus einem Brief von John Brown (Parsec Inc) an Rod Gasson, vom 4.7.92: "Weil ich immer noch im Streit mit verschiedenen Leuten liege, die meine Magazine und Software unerlaubt weitergeben ('pirating'), habe ich meine Einstellung gegenüber CS-DOS geändert. Ich ersuche Dich, nicht einen Teil von CS-DOS oder ARC in Dein QWKRR aufzunehmen." Für jene, die es noch nicht wissen, Parsec hat die Rechte an CS-DOS gekauft und Rod hat keine Absicht, gegen John's Wunsch zu verstoßen, so daß die CS-DOS Auszüge (wie noch in V1.?) nicht mehr mit QWKRR geliefert werden. Parsec möchte CS-DOS als 'freeware' wiederveröffentlichen. Wenn Du es nicht schon hast, kannst Du es immer noch aus den meisten BBSen (die das Commodore-Format unterstützen) 'downloaden'.

Unter CS-DOS mußt Du CSXARC zum ent-ARC-en nehmen, NICHT das Commodore- spezifische ARC-Modul, das mit dem IBM-ARC-Format nicht kompatibel ist. Vor dem ent-ARC-en mußt Du die Datei umbenennen, damit sie die Endung '.ARC' bekommt. Ich bevorzuge einen Namen etwa wie '23MAI92WOW.ARC', der Datum und 'board' oder 'mail area' ('Herkunft') enthält. Da Du Dich nicht auf das IBM-Format beschränken mußt, darfst Du vor der Endung '.ARC' bis zu 12 alpha-numerische Zeichen verwenden. Die Syntax zum ent-ARC-en lautet dann:

CSXARC 23MAI92WOW

Verwendest Du mehrere Laufwerke, wähle zum Ziel-('Destination'-)Laufwerk das aktuelle Laufwerk und füge eine Laufwerkskennung vor den Dateinamen ein:

CSXARC d:23MAI92WOW

Mit CSXARC mußt Du alle Dateien aus dem .ARC extrahieren, aber unter QWKRR128 brauchst Du nur 'CONTROL.DAT' und 'MESSAGES.DAT' (A.d.Ü.: ???). Es gibt noch ein paar andere Dateien im .ARC einschließlich '.NDX', welche durch QWK-reader erstellt, aber für QWKRR128 nicht benötigt werden. Wählst Du 'bulletins' (Nachrichtenblätter), die an das Paket angehängt werden sollen, werden sie im Paket aufgenommen und müssen mit anderen Mitteln gelesen werden.

Jetzt hast Du Deine Dateien und es wird Zeit CS-DOS zu verlassen und den Speicher für den nächsten Schritt zu leeren. Dazu gibt es zwei 'sichere' Wege, entweder den CS-DOS Befehl 'COLD' oder den bewährten RESET-Knopf.

+*+ Regelmäßige CS-DOS-Anwender mögen die Einrichtung einer kleinen RAM-Disk- Datei in Betracht ziehen, die gerade die mindest notwendigen Dateien zur Durchführung dieser Aufgaben enthält. Es wäre eine Verschwendung von Zeit, eine mehr als 300 Blöcke große RAM-Disk zu laden, um nur eine einzige Aufgabe zu bearbeiten. Führst Du wiederholte Arbeitsvorgänge aus und benutzt eine 17xx RAM, kann sie schneller sein (da sie während der Ausführung von QWKRR128 unbehelligt bleibt und von CS-DOS beim wiederstarten nicht überschrieben wird).

Bist Du im QWKRR128 fertig, mußt Du Deine Datei zum 'upload' in die BBS komprimieren; das erreichst Du (IBM-kompatibel) in CS-DOS mit CSARC bzw. CSARC1750. Mein Befehl dazu lautet:

csarc mail *.msg

So wird eine Datei 'MAIL.ARC' erstellt, die je nach Übertragungsprotokoll noch umzubenennen ist. Bei Verwendung eines Y-MODEM (oder eines anderen, das den Dateinamen vor der Datei sendet) wird die BBS nur Dateinamen des Formates <bbsname>.REP akzeptieren. (Der Name wird Dir vorgeschlagen, wenn Du das Programm verläßt.) Unter Einsatz eines X-MODEMS (oder eines Protokolls, das keinen Dateinamen überträgt) brauchst Du natürlich nicht umzubenennen, solltest Dir aber merken wie Du sie gerade betitelt hast!

QWKRR128 starten

Nun zur Sache: Du brauchst die QWKRR128-Dateien und die Diskette mit den *.DAT Dateien. Starte QWKRR218 (egal von welchem Laufwerk) und Du wirst zur Eingabe des Quell- und Ziel-Laufwerkes aufgefordert (Default ist das letztbenutzte Laufwerk, ggf. das, von dem QWKRR128 gebootet wurde). Das Quell-Laufwerk muß die *.DAT Dateien enthalten, sonst bricht das Programm ab. Die nächste Eingabeaufforderung betrifft Datum und Zeit, die der ausgehenden Post angehängt werden. Default (voreingestellt) ist die Zeit in der CONTROL.DAT (und dann ist nur der Tag änderbar, was aber nicht schlimm ist, weil Du Antworten binnen ein/zwei Tagen geben solltest. Nur zum Monatswechsel kann's Probleme geben, dann mußt Du mit falschem Datum arbeiten). Die einzugebende Zeit ist vierstellig, ohne Punktuation (d.h.: Format 'hhmm').

Der Autor hat auch noch eine 'annoyware'('lästige')-Version herausgegeben, die Dich an dieser Stelle durch drei Seiten Text quält, solange Du nicht registriert bist. Registrierte Kopien haben Deinen BBS-Namen fest integriert und dieser Schritt wird übergangen, WENN der registrierte Name mit dem in der CONTROL.DAT übereinstimmt (das heißt, Deine registrierte Version weitergegeben, verhält sich wie nicht registriert). Die registrierten Versionen haben einen zusätzlichen Menüpunkt 'Press any key <I>nfo'. Auf die Eingabe von 'I' bekommst Du Installations-(setup-)Hinweise etc., andere Tasten bringen Dich ins Programm.

Messages lesen

Bist Du bis hierhin vorgestoßen und die Dateien befinden sich dort, wo QWKRR128 sie erwartet, wird die erste 'message' des Pakets angezeigt, unten im Bild mit einem Menü:

<P>revious <N>ext <R>eply <F>wd e<X>port <#>print <S>can <Q>uit <<*>>

Es gibt noch ein paar mehr Tasten, die nicht im Menü erscheinen: ESC zum Abbruch einer message, <SPACE> und <RETURN> sind dem <N> gleich. ESC wirkt immer, die anderen nur, wenn der Bildschirm das Menü zeigt.

Weitere Befehle:

CRSR hoch eine Zeile hoch scrollen CRSR ab eine Zeile abw. scrollen

CRSR links eine Bildschirmseite hoch CRSR rechts eine Bildschirmseite abw.

CLR/HOME zum Seitenanfang shift-CLR/HOME zum Seitenende

(diese Tasten funktionieren in den meisten Optionen, in Kurz-messages oder -bildschirmen bleiben sie meist wirkungslos)

READ (Lese-) Befehle

ESC ist die einzige Funktion, die bereits arbeitet, bevor die Menüzeile (am Ende der message) angezeigt wird und bewirkt einen Abbruch der message. Sie könnte eingesetzt werden, wenn Du eine message liest und dabei feststellst, daß sie Dich doch nicht interesssiert. Eine abgebrochene message kann nicht wiederaufgenommen werden (es sei denn durch Neustart).

<P>revious führt Dich zur vorhergehenden message, bis höchstens zur zehnten (von der höchsten eingelesenen message-Nummer gerechnet). Der Befehl funktioniert nicht mehr nach einem ESC.

<N>ext oder <SPACE> oder <RETURN> bringt Dich zur nächsten message ('Seite')

<R>eply gibt die Antwort in eine message area. Siehe: 'Antwort auf eine message'

<F>wd dient zur Antwort auf eine message unter Wechsel der area, in die gesendet werden soll; auch zur Antwort per NetMail auf Fido, oder per 'private mail' auf eine 'public message'. Die Optionen sind die gleichen wie bei REPLY, außer daß die message area ausgewählt werden muß (wie beim eingeben einer message).

e<X>port sendet die aktuelle message als CBM-ASCII-Datei zum Destination- (Ziel-) Laufwerk und vergibt dabei die Namen EXPORT.1, EXPORT.2, . . . Das Programm prüft, ob EXPORTdateien bereits bestehen. Falls ja, wird die Extension fortlaufend weiternummeriert. Ich finde es am einfachsten, nach einer 'Session' die Dateien gleich umzubenennen, um später noch zu wissen worum es ging.

<#>print gibt die aktuelle message auf einem CBM-kompatiblen Drucker aus. Dabei wird nicht geprüft, ob der Drucker vorhanden/angeschalten ist; wenn nein hängt sich das Programm auf.

<S>can blättert schnell durch ein message-Paket unter Anzeige der jeweiligen Kopfzeilen (To: From: Subj.: deutsch: An: Von: Thema: ). Irgendein Tastendruck unterbricht Scan; dabei mußt Du SEHR schnell sein, sonst wird bereits die nächste message angezeigt. Der Hauptnutzen dürfte darin liegen, daß Du schnell durch ein früher schon geladenes (und abgebrochenes) Paket kommst. Dabei mußt Du selbst auf die message-Nummern achten (eine Automatik, dort weiterzufahren, wo Du früher aufhörtest, ist leider nicht möglich).

<Q>uit +*+ shift-Q ist der einzige Weg, das Programm geordnet zu verlassen. Dabei wird der 'Disk-Haushalt' auf der Source-(Quell-) Disk in Ordnung gebracht und -wenn Du ein Antwortpaket erstellt hast- verwendete Dateinamen ausgegeben.

* der Asterisk gibt Dir die Möglichkeit, die Belegung der Funktionstasten F1 bis F8 zu editieren und mit Standardphrasen zu belegen (und damit Tipparbeit zu sparen). Voreingestellt ist nur 'Hi' auf F8, für die REPLY-Funktion. Die Belegung wird in einer Datei, die mit 'QWKRRK.' beginnt, abgelegt; voreingestellt ist QWKRRK.KEYS, aber Du kannst jede Extension verwenden. Auch mehrere QWKRRK.'s sind möglich. QWKRRK. -Dateien sind unter * zu <E>dit-ieren, <L>oad-en oder <S>ave-n. Bei Eingabe von '$' unter Load, erhältst Du ein Verzeichnis der augenblicklichen Tastaturbelegung. Jede Belegung darf maximal 255 Zeichen lang sein.

REPLY (Antwort) auf eine message

Auf Anwahl von <R>eply, erstellt das Programm einen 'message header' ('Kopfzeile'). Die dazu benötigten Angaben (From: To: Subj.: bzw. Von: An: Thema:) kannst Du editieren, oder mit <RETURN> übernehmen. Die nächste Eingabeaufforderung setzt die Flag 'privat' (oder löscht sie). Wenn Du eine message eingibst, ist immer 'public' voreingestellt. Wenn Du antwortest, wird die Flag der eingegangenen message als Voreinstellung übernommen. Ändere diese Flag mit Bedacht: die 'privat'-Kennzeichnung kann bei Eintritt in eine 'public only' area verlorengehen und manche BBS lehnt 'falsch' geflagte messages in bestimmten Bereichen einfach ab.

Auf die Frage 'private' hast Du nun 'Yes' oder 'No' geantwortet und der Cursor marschiert zum message-Feld, in dem schon zwei Worte eingegeben sind: 'Hi' als Gruß (aus F8) und der erste Namensteil des Empfängers (hoffentlich der Vorname). Du kannst jetzt Deine Antwort eintippen.

+*+ Die Texteingabe erfolgt im 80-Zeichen-Format, aber nur 78 passen in eine Bildschirmzeile. Die gerade unsichtbaren Zeichen holst Du mit '<' oder '>' ins Bild.

Der hier verwendete Editor ist sehr einfach gehalten und öffnet sein Menü (hier REPLY-Menü genannt) auf 'ESC' mit folgenden Opionen:

<Q>uote <C>ont <S>ave i<M>port <A>bort <E>dit <I>nsert <D>elete

REPLY-Befehle

<Q>uote +*+ ermöglicht Dir, Teile der erhaltenen message zu zitieren (damit der Empfänger weiß, worauf Du Dich beziehst). Das Fido-Protokoll schlägt vor, genügend zu zitieren, um Sinn zu machen, aber nicht mehr als unbedingt notwendig, da ja irgendjemand die Telefonrechnung (u.U. rund um die Welt) zahlen muß. Denke beim antworten in einem internationalen Netz auch daran, daß die Original-message schon 10 Tage alt sein kann, bis sie endlich den Adressaten erreicht. . .

Nach Aufruf von Quote wird ein Teil der Original-message in einem Fenster angezeigt; mit einer hervorgehobenen Zeile, die mit <RETURN> zum Zitat (Quote) in Deiner message wird. Dem Zitat werden die Initialen des Urhebers und ein > vorangestellt, um es als solches zu kennzeichnen. Die Cursortasten bewegen den Balken zeilenweise auf oder ab (oder seitenweises bewegen: siehe READ-Befehle). 'ESC' oder 'Q' bringt Dich zum message-Menü zurück.

+*+ zitierter Text kann mehr als 80 Zeichen enthalten (durch den Vorspann 'XX>'). Eine solche Zeile ist wie jede andere editierbar, wird aber beim Save auf 80 Zeichen gestutzt. Auch die meisten Bildschirmdarstellungen stutzen auf 80, aber die Cont Option überträgt die 'Abschnitte' auf die nächste Zeile.

<C>ont erlaubt Dir, weiter in Deine message einzugeben, wenn Du schon zurück im Menü warst (um andere Funktionen auszuführen).

<S>ave speichert die message ins Destination-(Ziel-) Laufwerk unter Verwendung des in der BBS CONTROL.DAT vorgegebenen Dateinamens mit der Extension '.MSG'. Speicherst Du die erste message einer Session, prüft das Programm, ob eine gleichlautende Datei bereits existiert. Wenn ja, wirst Du gefragt, ob jene überschrieben ('overwrite'), daran angehängt ('append') oder der Vorgang abgebrochen ('abort') werden soll. Im Anschluß nachfolgende Antworten werden automatisch an die erste Antwort angehängt ('append'), um letztlich EINE Antwortdatei zu erhalten.

i<M>port holt eine Textdatei vom Destination-(Ziel-) Laufwerk in Deine message. Dabei kannst Du das <A>SCII oder <P>ETSCII Format für den Import wählen.

<A>bort bricht die REPLY-(Antwort-) Option ab und bringt Dich zur Original-message zurück.

<E>dit +*+ Hast 'n paar Tippfühler gemacht??? Hier kannst Du sie korrigieren. Nach 'E' (wie Editieren) wird die aktuelle Zeile in einem extra Fenster angezeigt und nach <RETURN> zum editieren freigegeben. Die Cursortasten bringen DIch durch die message, 'ESC' oder 'Q' zurück zum Hauptmenü. Wählst Du eine Zeile mittels <RETURN>, wirst Du mit zwei Strings konfrontiert, einmal den zu ändernden (hervorgehoben) und den mit der Änderung. Wenn Du für den Suchstring <RETURN> eingibst gelangst Du zum vorhergehenden Prompt zurück.

(A.d.Ü.: dieser Teil ist im Original ziemlich unverständlich. Vielleicht kannst Du mir 'mal erklären, wie das hier funktioniert . . .)

<I>nsert erlaubt Dir, Text (oder Leerzeilen) zeilenweise einzufügen. Willst Du an diesem Punkt, oder während der Antworteingabe, Leerzeilen eingeben um Deine message zu formatieren, mußt Du mindestens ein 'space' eingeben, damit der Editor nicht die message zum Menü verläßt.

<D>elete +*+ Hier kannst Du eine einzelne Zeile, oder einen Zeilenbereich löschen. Die aktuelle Zeile erscheint in einem Fenster und wird durch <RETURN> gelöscht. Die Cursor- Tasten bringen Dich durch die message und 'Q' oder 'ESC' zum REPLY-Menü zurück.

ENTERing a message (eine message eingeben)

Wie schon im 'READing message'-Teil angeführt, erlaubt Dir 'E' aus dem Menü heraus, einen anderen Text (als eine Antwort) einzugeben. Nach Anwahl von 'E' öffnet sich ein Fenster mit der Liste aller message areas der gerade benutzten CONTROL.DAT Datei (unter der Überschrift die der SYSOP bestimmt hat). Bewege den Cursorbalken in die gewünschte area und wähle diese mit <RETURN> aus. Gib danach den Empfängername und das Thema ('subject') ein. Achtung: es gibt keine Möglichkeit, im 'mail-offline' Betrieb den Empfängernamen auf Gültigkeit zu prüfen, wie es die BBS im Nahbereich ('local calls') tut; das mußt Du prüfen.

Bist Du ausversehen im Entermodus gelandet, kommst Du mit 'ESC' und anschließend 'A' ('abort') schnell wieder 'raus.

Hast Du Deine Informationen eingegeben, wirst Du in eine 'message creation area' versetzt, die der REPLY-area entspricht (allerdings ohne Qoute Option).

In NetMail hineinkommen

Das .QWK mail packet system wurde nicht geschrieben, mit den Unbillen NetMails fertigzuwerden (nach Auffassung des Autors von MKQwK, eines Packers für RamAccess-BBS). Trotzdem wurde NetMail unter unten beschriebenen Bedingungen erfolgreich getestet. Diese Bedingungen mögen vielleicht nicht immer funktionieren, dann lies bitte die lokalen System Instruktionen.

Anm.: egal welches System Deine BBS nutzt, Du MUßT die richtige area für NetMail anwählen (Netmail, Matrix-Mail oder ähnlich). Außerdem solltest Du das 'private' flag setzen, sonst lehnt die BBS ab (wozu eine öffenliche (public) NetMail message senden?).

Um mit NetMail so 'schmerzarm' wie möglich umzugehen, wurden Routinen für ein paar verschiedene Systeme eingebaut. (Durch die vielen verwendeten Formate, die Rod auch nicht alle zur Verfügung standen, konnten nicht alle berücksichtigt werden) Im Augenblick kann QWKRR128 V2 nur Qmail, MkQwk und SBBS bearbeiten. Wenn REGISTRIERTE User Rod Details mitteilen, wie ihre BBS damit umgeht, werden sie gerne bei der Verteilung zukünftiger Versionen berücksichtigt.

Die ersten Probleme ein 'automatisches' NetMail zu errichten, tauchen auf, eine korrekte Erkennung der NetMail area zu finden, weil jeder SYSOP auf Deiner BBS 'freie Wahl' hat und der Name unter anderen Netmail, NetMail, Matrix mail, Matrix Mail sein kann.

Rod nahm's leicht, QWKRR128 sucht nach dem Textstück 'ail', . . . und das scheint meistens hinzuhauen (wenn nicht gerade sowas wie 'Privatecho' drinsteht). Auf der anderen Seite gibt's ein Problem, wenn Dein SYSOP zwei areas mit 'ail' hat (z.B.: NetMail und Localmail). In beiden Fällen hast Du die Wahl, die eingebauten NetMail- Routinen zu benutzen, oder einfach die message wie irgendeine andere zu behandeln.

Nimmst Du 'Y' (wie Yes oder Ja), um die NetMailroutinen zu nutzen (zur Eingabe einer oder Antwort auf eine message), wirst Du zur Eingabe der NetMail-Adresse aufgefordert (alle NetMail benötigt die Adresse wohin es gehen soll). QWKRR128 unternimmteinen Versuch, eine gültige Adresse aus der aktuell gelesenen message herauszufinden; war es erfolgreich, wird Dir diese Adresse als Default angeboten. Wurde keine gültige Fido Adresse gefunden, werden die NetMailroutinen abgebrochen und die message als 'normal' behandelt. ACHTUNG: aus der Tatsache, daß QWKRR128 eine Adresse akzeptierte, ist nicht darauf zu schließen, daß diese für die BBS auch gültig ist (das obliegt wiederum Dir, das zu prüfen). Außerdem gibt es ein paar BBSen, die NetMail garnicht zulassen.

Du kannst mit einem Blick erkennen, ob die message als NetMail message gespeichrt wird, indem Du auf die area-Zeile schaust. Steht dort 'NetMail to Z: XXX/YYY' dann wird Netmail auch benutzt, ansonsten steht dort nur 'NetMail' und die message wird wie jede andere behandelt. Sollte letzteres der Fall sein, wird sie vielleicht von der BBS zurückgewiesen, es sei denn, Du befindest Dich NICHT in der NetMail area.

Als Beispiel, wie Netmail 'manuell' geschickt werden kann, habe ich die Anweisung für MKQwk V1 in diese Dokumentation aufgenommen.

Der Gebrauch des MKQwk

Das MKQwk-paket interpretiert den Inhalt der Message als Adresse, wenn sie mit '@' beginnt. Mail, so verschickt, kannst Du auch als Crash, Immediate oder Direct NetMail flaggen, indem Du CRASH, IMM und/oder DIR an die Adresse anhängst. Ein Thema/Anlaß kann in die ausgehende NetMail message in die erste Zeile eingefügt werden: 'Subj: <Thema/Anlaß>'. Die message könnte dann etwa so aussehen:

To: Rod Gasson

From: Mark Dowsett

Subj: @3:680/809

-- <HeaderEnde - messageTextAnfang> --

Subj: Netmail test.

Die empfangende BBS wird den Rest tun.

Quit (Beenden)

Wählst Du <Q>uit (shift-Q), wird das Programm beendet. Zuvor geschehen noch 'Haushaltsarbeiten' auf der Source-(Quell-) Disk und es werden Informationen des für Dich erstellten Mail-Paketes ausgegeben (einschließlich des Namens und der Warnung, daß dieser nun nicht mehr geändert werden darf). Das ist nicht GANZ wahr, die BBS, die ich benutze, gibt mir ein Paket aus: WOW-BBS.msg (die Groß-/ Kleinschreibung ist nicht bedeutent, aber der Name).

Nach <Q>uit werden die Funktionstasten automatisch wie folgt belegt:

F1 SHELL starten (CS-DOS)

F3 vollständiger RESET des C128

F5 Neustart des QWKRR128

Möchtest Du F5 benützen, müssen die Dateien QWKRR.DEFAULTS und QWRRK.KEYS auf dem Bootlaufwerk (erster Start des QWKRR128) zur Verfügung stehen.

Jetzt mußt Du 'rausgehen und eine IBM-kompatible ARC-Datei zum 'upload'-en erstellen. Siehe hierzu CS-DOS. Fertig? Gut! Re-boot (starte erneut) Dein Terminalprogramm, rufe die BBS an, gehe in die 'Offline Mail Area' und lade Dein Paket hoch ('upload'). War das nicht einfach? Beobachte den Vorgang des uploads, da das 'Offline Mail Module' normalerweise Fehler, die auftreten, angibt (die Nachrichten aber nicht lange auf dem Bildschirm bleiben). Ist alles in Ordnung, wird (vielleicht) die Anzahl erhaltener messages, die areas in die gesendet wurde und sonstige Information ausgegeben.

MKQwk gibt immer an, in welche 'area number' jede einzelne message gekommen ist, deren Thema und Fehlermeldungen (für gewöhnlich: 'Message moved to Default area', wenn aus irgendeinem Grund die message in der gewünschten area nicht akzeptiert wurde, wofür es zwei mögliche Gründe gibt: 1. Public Mail in Private area und umgekehrt und 2. Netmail ohne zulässige Adresse oder genügend Netmail-Guthaben).

Lesen, was Du geschrieben hast

Du möchtest Dein eigenes Paket lesen? Du weißt nicht mehr, was Du geschrieben hast? oder willst einfach prüfen, wie Dein Paket 'rauskommt (Formatierung kontrollieren)? Das ist einfach . . . Du brauchst nur sicherzustellen, daß die CONTROL.DAT Datei (vom schreiben des Pakets) auf der gleichen Disk vorliegt, wie das .MSG Paket selbst. Dann nenne das .MSG Pakt um, in MESSAGES.DAT und boote QWKRR128. Jetzt kannst Du Dein Paket lesen, als hättest Du es von außen bekommen.

Dies war KEINE geplante Funktion des Programmes. Es war ein Nebenprodukt, das zur Fehlersuche im Programm ('debugging') diente und die Richtigkeit des Antwortpaketes prüfen kann. Unternimm keinen Versuch, Dein Antwortpaket zu editieren und antworte nicht auf diese Antworten (ich wüßte auch nicht wozu das gut sein sollte, frage Dich selbst. . .).

Wenn Du willst, kannst Du die Export/Print Optionen auf diese Datei anwenden, was manchmal gelegen kommt (z.B.: eine gespeicherte message soll editiert werden. e<X>portiere sie, gehe in die Leseoption des ORIGINAL-Pakets, i<M>portiere sie und editiere dann. Oft ist es jedoch einfacher, das ganze nochmal von vorne einzugeben.).

Unterstützung von Programmen und Dateien

MAILPKT.SCR Dieses kurze BASIC-Programm wurde geschrieben, das löschen von Dateien zu vereinfachen (die während des entpackens (de-ARC-en) 'angefallen' sind und nicht mehr benötigt werden). Es entfernt alles, außer den .DAT Dateien, die Du zum lesen des Paketes brauchst. Dein Part ist, MAILPKT.SCR starten und das entsprechende Laufwerk anzugeben (8 bis 16). Es frägt dann nach den .DAT Dateien, die mit 'NO' (nein) voreingestellt sind. Willst Du irgendwelche Extradateien einschließen, findest Du regelmäßig die Namen in DATA-Statements abgelegt, die Du nach Belieben erweitern kannst (solange die letzte Zeile DATA "END" enthält). Sei sehr umsichtig im Einsatz von Wildcards (Jokern), die manchmal doch sehr 'brutal' wirken!

Dieses Programm kann gut in Deine CS-DOS RAM-Disk INSTALLiert werden.

+*+ QWKRR.DEFAULTS Diese Datei erlaubt dem geneigten User, seine bevozugten Diskadressen und Farben festzulegen. Es ist eine einfache Textdatei, die mit jedem Texteditor (einschließlich CS-DOS im TEXT-Modus) änderbar ist. Sie sieht etwa folgendermaßen aus:

0 source drive = use boot drive (Quell-/Boot-Laufwerk)

0 destination drive (Ziellaufwerk)

1 background - black (Hintergrund schwarz)

154 border - lt.blue (Rahmen hellblau)

153 header text - lt.green (Kopfzeile hellgrün)

158 header data - yellow (Kopfzeileneinträge gelb)

5 message text - white (message-Text weiß)

155 message highlight - grey (Hervorhebung im Text grau)

Mit diesen Werten wird diese Datei mit QWKRR128 V2 zusammen ausgeliefert. Die Eingaben unterliegen folgenden Regeln:

- nur die ersten drei Zeichen einer Zeile sind von Bedeutung (der Rest kann für Kommentare dienen). Diese 3 Zeichen müssen Zahlen sein.

- das Source-(Quell-) und das Destination-(Ziel-) Laufwerk kann irgendeine gültige Laufwerksnummer sein. 0 steht für das Laufwerk, von dem aus gebootet wurde. Egal, was Du hier voreinstellst, Laufwerke können im Programm noch geändert werden.

- die Hintergrundfarbe kann 1 bis 16 sein (entsprechend dem BASIC7-Befehl COLOR, d.h. 1=schwarz, 2=weiß, 3=rot, . . . )

- alle anderen Farben entsprechen dem Commodore Tastaturcode (d.h. 5=weiß, 28=rot, 154=hellblau, 155=grau3, . . . ). Ungültige Codes belassen die interne Voreinstellung. Es gibt keinen Test auf Blödsinn (z.B.: schwarzer Text auf schwarzem Grund, oder so).

- QWKRR.DEFAULTS wird nur beim ersten Programmstart geladen. Ist die Datei nicht auf der Bootdisk, wird mit internen Werten gearbeitet. Beachte, daß nach Ausstieg aus QWKRR128 die re-RUN-Funktion (F5) die Bootdisk im ursprünglichen Laufwerk erwartet (sonst werden auch hier interne Voreinstellungen übernommen und die Funktionstasten enthalten nichts nützliches).

- aus dieser Datei unter keinen Umständen eine Zeile auslassen, sonst hängt sich das Programm eventuell auf.

Glossar

ARC Eine ARChiv-Datei, die eine oder mehrere komprimierte Dateien enthält. ARC muß in der 8-Bit-Welt des Commodore vorsichtig gehandelt werden, weil es zwei inkompatible Formen gibt: Das Original-CBM-ARC kann nur von 64'ern und 128'ern verarbeitet werden und ist zu anderen Systemen inkompatibel. Die andere Form des ARC war zuerst nur für MS-DOS gedacht, breitet sich aber immer weiter aus. Es gibt Programme, die auch 64'ern und 128'ern das MS-DOS-ARC zugänglich machen (wenngleich die Erstellung ge-ARC-ter Dateien bislang nur mit dem 128'er unter CS-DOS gelingt).

CSARC / CSXARC sind Programmoptionen unter CS-DOS, um MS-DOS ARC's zu erstellen und aufzulösen.

CS-DOS ist ein flexibles SHAREWARE Operating-System für den 128'er, geschrieben von Chris Smeets. Es hat eine ähnliche Befehlsstruktur wie MS-DOS. Viele Befehle sind von einer RAM-Disk (einer 17xx oder 128'er-intern) ausführbar.

QWK ein verbreitetes BBS-mail-packet-Format für MS-DOS. Es gibt auch noch andere (wie z.B.: .XRS), aber QWKRR128 unterstützt zur Zeit nur .QWK

KONTAKTADRESSE

Rod Gasson

90 Hillers Road

REYNELLA SA 5161

Australia

Telephone +61 8 322 2716

NetMail 3:680/809

DOKUMENTATION

Mark Dowsett

P.O.Box 227

RANDWICK NSW 2031

Australia

Telephone +61 2 399 6549

NetMail 3:713/888

Die Registrierung (bzw. Bestellung einer registrierten Kopie) erfolgt gegen 20 Australische Dollars bei

VideoCam Services/Rod Gasson

(siehe oben)

mit dem Originalformular aus der Originalanleitung

Update-Informationen für QWKRR128 V2.1

QWKRR128_deutsch, Seite SEITE von 8

15 Routines.dt1 87 KB App Data Write Image V2.1 VLIR 1993-03-27 18:49 .cvt .html

note: * in front = GEOS 128 only * steht vor GEOS128-Befehlen

* AccessCache $C2EF dez.49903 Cache-Zugriff

Pass: r4 Source address in bank 1 Übergabe: r4 Quelladresse in Bank 1

r1h Dir. sector (0-20) r1h Directory sector (0-20)

y - DoBOp code 0 - save y DoBOp code 0 - speichern

1 - read 1 - lesen

2 - swap 2 - swap

3 - verify 3 - verify

or $FF to reset all pointer oder $ff um alle Zeiger zurückzusetzen

Return: access dir. cache buffer in bank 00 gibt zurück: access dir. cache buffer in bank 00

Destroyed: a, x, y + verändert: a, x, y +

AddDirBlock $9039 dez. 36921 Directoryblock hinzufügen

Pass: r1 Track & Sector of last Dir. sector Übergabe: r1 Spur und Sektor des letzten Directorysektors

Return: r1 Track & Sector of new page gibt zurück: r1 Spur und Sektor der neuen Seite

Destroyed: a, y, r0 - r15 verändert: a, y, r0 - r15

AllocateBlock $9048 dez. 36936 Block zuweisen

Pass: r6 Track & Sector Übergabe: r6 Spur und Sektor

Return: x 0 = OK gibt zurück: x Fehlerstauts (0 = OK)

Destroyed: nothing verändert: nichts

AppendRecord $C289 dez. 49801 Datensatz('Record') anhängen

Pass: nothing Übergabe: nichts

Return: a curRecord gibt zurück: a curRecord (aktueller Datensatz)

x 0 = OK x Fehlerstauts (0 = OK)

set next record, and update usedRecords arrangiert nächsten Datensatz u. aktualisiert vorh. Datensätze

Destroyed: a, x, y, r1, r4 verändert: a, x, y, r1, r4

BBMult $C160 dez. 49504 BBMult

Pass: x address of destination zpage Übergabe: x Adresse der Ziel- zpage (zeropage?)

y address of source zpage y Adresse der Quell- zpage

Return: x,y unchanged gibt zurück: x,y unverändert

Destroyed: a, r7, r8 verändert: a, r7, r8

BitmapClip $C2AA dez. 49834 Bitmapclip

Pass: r0 pointer to bitmap Übergabe: r0 Zeiger auf die Bitmap

r1L leftside of window in bytes to display the bitmap (0-39) r1L linke Seite des Bitmapfensters (0-39)

r1H top of window in pixels (0-199) r1H oberes Ende des Fensters in Pixeln

r2L width of window in bytes (0-39) r2L Breite des Fensters in Bytes

r2H height of window in pixels (0-39) r2H Höhe des Fensters in Pixeln

r11L nbr of bytes to skip from the left side before printing it r11L Byteanzahl (leer) am linken Rand zum Ausdruck

r11H the width in pixels of the bitmap to show within the window r11H Breite (Pixel) der Bitmap im Fenster angez.

r12 nbr of scanline to skip from the top r12 Anzahl scanlines ('Leerzeilen') von oben

Return: display the bitmap gibt zurück: Anzeige der Bitmap

Destroyed: a, x, y, r0 - r12 verändert: a, x, y, r0 - r12

BitmapUp $C142 dez. 49474

Pass: r0 ptr of bitmap Übergabe: r0 Zeiger auf Bitmap

r1L x pos. in bytes (0-39) r1L x Position in Bytes

r1H y pos. in scanlines (0-199) r1H y Position in scanlines ('Leerzeilen')

r2L width in bytes (0-39) r2L Breite in Bytes

r2H height in pixels (0-199) r2H Höhe in Pixeln

Return: display the bitmap gibt zurück: Anzeige der Bitmap

Destroyed: a, x, y, r0 - r9l verändert: a, x, y, r0 - r9l

BitOtherClip $C2C5 dez. 49861

Pass: r0 ptr to a 134 bytes buffer Übergabe: r0 Zeiger auf einen 134 Bytes großen Puffer

r1L leftside of window in bytes (0-39) r1L linke Fensterseite in Bytes

r1H top of window (0-199) r1H Oberseite des Fensters

r2L width in bytes of window (0-39) r2L Fensterbreite in Bytes

r2H height in pixels of window (0-199) r2H Fensterhöhe in Pixeln

r11L nbr of bytes to skip from the left side before printing it r11H linker Druckrand in Bytes

r11H the width in pixels of the bitmap to show within the window r11H Breite der Bitmap im Fenster

r12 nbr of scanline to skip from the top r12 Anzahl scanlines ('Leerzeilen') von oben (Druckrand)

r13 add. of input routine, returns next byte from bitmap in the accu. r13 gibt nächstes BitmapByte in den Akkum.

r14 address of sync routine. Just reload r0 with buffer address r14 Adresse der Sync.Routine.Lade r0 mit Pufferadresse

Return: display the bitmap gibt zurück: Bitmap-Anzeige

Destroyed: a, x, y, r0 - r14 verändert: a, x, y, r0 - r14

BldGDirEntry $C1F3 dez. 49651

Pass: r2 size of the file Übergabe: r2 Dateigröße

r6 ptr to allocated blocks in fileTrScTab r6 Zeiger auf zugewiesene Blöcke in fileTrScTab

r9 ptr to File Header block r9 Zeiger auf Datei header-Block

Return: r6 ptr to first unused block gibt zurück: r6 Zeiger auf ersten ungebrauchten Block

dirEntryBuf, update with all informations dirEntryBuf, Aktualisierung mit allen Informationen

Destroyed: a, y, r0 - r5, r7, r8 verändert: a, y, r0 - r5, r7, r8

BlkAlloc $C1FC dez.49660 Block-Zuweisung

Pass: r2 nbr of bytes, max 32,258 Übergabe: r2 Anzahl Bytes, max 32,258

r6 ptr to fileTrScTab, or +2, or +4 r6 Zeiger auf fileTrScTab oder +2 oder +4

curDirHead - loaded from disk lädt curDirHead von Disk (aktuellen DirectoryHeader)

interleave: - set interleave: - gesetzt (freie Plätze einschieben)

Return: r2 nbr of blks allocated gibt zurück: r2 Anzahl zugewiesener Blöcke

r3L track of last blk allocated r3L Spur des letzt zugewiesenen Blockes

r3H sector of last blk allocated r3H Sektor des letzt zugewiesenen Blockes

x 0 = OK x Fehlerstatus (0 = OK)

curDirHead - updated (only in memory) curDirHead wird im Speicher aktualisiert (aktueller DirHeader)

fileTrScTab - updated fileTrScTab wird aktualisiert (Datei-Spur/Sektor Tabelle)

r8L nbr of bytes in last sector r8L Anzahl der Bytes im letzten Sektor

Destroyed: a, x, y, r4 - r8 verändert: a, x, y, r4 - r8

BlockProcess $C10C dez. 49420 Block-Verarbeitung

Pass: x nbr of the process to block Übergabe: x Anzahl der Prozesse (zum Zusammenfassen???)

Destroyed: a verändert: a

BMult $C163 dez. 49507

Pass: x add. of destination zpage Übergabe: x Zufügung zu Ziel-zpage ('zeropage'?)

y add. of source zpage y Zufügung zu Quell-zpage

Return: results in destination register gibt zurück: Ergebnis ins Ziel-Register

Destroyed: a, r6, r8 verändert: a, r6, r8

BootGEOS $C000 dez.49152 Boot GEOS

Pass: nothing Übergabe: nichts

Return: to GEOS DESKTOP geht zurück zu: GEOS DESKTOP

Destroyed: complete reset verändert: alles (vollständiges RESET)

CalcBlksFree $C1DB dez. 49627 Berechnung freier Blocks

Pass: r5 ptr to Directory Header Übergabe: r5 Zeiger auf Direktory-Header

Return: r3 nbr of blocks of disk format gibt zurück: r3 Anzahl der Blocks des Diskformates

r4 nbr of block free r4 Anzahl freier Blocks

Destroyed: a, y verändert: a, y

CallDrvRoutine $9042 dez. 36930 Aufruf Laufwerks-Routine

Pass: r1 address to call Übergabe: r1 aufzurufende Adresse

Return: I do not Know how this one really works gibt zurück: Ich weiß nicht, was es wirklich tut

destroyed: ??? verändert: ???

CallRoutine $C1D8 dez. 49624 Aufruf Routine

Pass: a low byte address of routine Übergabe: a low byte Adresse der Routine

x high byte address of routine x high byte Adresse der Routine

Destroyed: nothing verändert: nichts

ChangeDiskDevice $C2BC dez. 49852 Änderung Laufwerk

Pass: a new devive nbr (8, 9, 10, 11) Übergabe: neue Laufwerksnummer (8 bis 11)

Return: x 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, x, y, r0 - r3 verändert: a, x, y, r0 - r3

ChkDkGEOS $C1DE dez. 49630

Pass: r5 ptr to curDirHead (updated from disk) Übergabe: r5 Zeiger auf curDirHead (von Disk aktualisiert)

Return: isGEOS $FF = TRUE, $00 = FALSE gibt zurück: istGEOS $ff=wahr, $00=falsch

a same as isGEOS a das gleiche wie isGEOS

Destroyed: x, y verändert: x, y

ChkDrvStatus $9045 dez. 36933 prüfe Disk-Status

Pass: nothing Übergabe: nichts

Return: x 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: ??? verändert: ???

ClearMouseMode $C19C dez. 49564 beendet Maus-Modus

Pass: nothing Übergabe: nichts

Return: turn off the mouse and disable it's sprite gibt zurück: schaltet Maus mitsamt Sprite aus

Destroyed: a, x, r3l verändert: a, x, r3l

ClearRam $C178 dez. 49528 löscht RAM

Pass: r0 nbr of bytes to clear Übergabe: r0 Anzahl zu löschender Bytes

r1 address to start r1 Startadresse für r0

Return: section fill with 0's gibt zurück: Nullen im angegebenen Bereich

Destroyed: a, y, r0, r1, r2l verändert: a, y, r0, r1, r2l

CloseRecordFile $C277 dez. 49783 schließe 'Record'-Datei

Pass: VLIR variables - updated Übergabe: aktualisierte VLIR-Variablen

Return: index table,BAM,directory block-updated gibt zurück: Indexliste, BAM, aktualisierter Directory-Block

Destroyed: a, y, r1, r4, r5 verändert: a, y, r1, r4, r5

CmpFString $C26E dez. 49774 vergleiche File-String

Pass: x add. of zpage : source string Übergabe: x add. zpage : Quell-String

y add. of zpage : destination string y add. zpage : Ziel-String

a nbr of bytes to compare a Anzahl zu vergleichender Bytes

Return: zero flag - set if strings equal gibt zurück: Null-Flag, wenn Strings gleich

minus flag - set if source byte that didn't Minus-Flag, wenn das ungleiche Quell-Byte kleiner war

match was smaller

Destroyed: a, x, y verändert: a, x, y

CmpString $C26B dez. 49771 vergleiche String

Pass: x add. of zpage : source string,NULL terminated Übergabe:x add. zpage : Quell-String, Null beendet

y add. of zpage : destination string y add. zpage : Ziel-String

Return: zero flag - set if strings equal gibt zurück: Null-Flag, wenn Strings gleich

minus flag - set if first pair of source byte Minus-Flag, wenn das erste Paar ungleicher Quell-Bytes

that didn't match was smaller kleiner war

Destroyed: a, x, y verändert: a, x, y

* ColorCard $C2F8 dez. 49912 Farb-Karte

Pass: A Color ( back - foreground color) Übergabe: A Farbe (Hinter-/Vordergrund)

r11L y position r11L y Koordinate

r3 x position r3 x koordinate

carry flag: set to color- clear for read carry flag auf Farbe gesetzt - lösche für read ('lesen')

Return: if reading - A color gibt zurück: beim lesen - eine Farbe

r5 VDC address r5 VDC Adresse

Destroyed: a, x, y, r5 verändert: a, x, y, r5

* ColorRectangle $C2FB Farbe Rechteck dez. 49915

Pass: A Color ( back - foreground color) Übergebe: A Farbe (Hinter-/Vordergrund)

r2L top r2L oben

r2H bottom r2H unten

r3 left r3 links

r4 right r4 rechts

Return: rectangle colored, if color permitted gibt zurück: gefärbtes Rechteck, soweit Farbe zugelassen

Destroyed: a, x, y, r5, r11l verändert: a, x, y, r5, r11l

CopyFString $C268 kopiere File-String dez. 49768

Pass: x add. of zpage : source string Übergebe: x Zufügung zpage Quell-String

y add. of zpage : destination y Zufügung zpage Ziel-String

a nbr of bytes to compare a Anzahl zu vergleichender Bytes

Return: string copied to destination gibt zurück: String ans Ziel kopiert

Destroyed: a, x, y verändert: a, x, y

CopyString $C265 kopiere String dez. 49765

Pass: x add. of zpage : source string, NULL terminated Übergebe: x Zufügung zpage Quell-String,Null=Abbruch

y add. of zpage : destination y Zufügung zpage Ziel-String

Return: string copied to destination gibt zurück: String ans Ziel kopiert

Destroyed: a, x, y verändert: a, x, y

CRC $C20E CRC dez. 49678

Pass: r0 ptr to data Übergebe: r0 Zeiger auf Daten

r1 nbr of bytes to check r1 Anzahl Bytes, die zu prüfen sind

Return: r2 checksum gibt zurück: r2 Prüfsumme

Destroyed: a, x, y, r0, r1, r3l verändert: a, x, y, r0, r1, r3l

Dabs $C16F Dabs dez. 49519

Pass: x add. of zpage contaning the nbr Übergebe: x Zufügung zpage einschl. Anzahl

Return: x zpage : contains the absol. value gibt zurück: x zpage enthält absoluten Wert

Destroyed: a verändert: a

Ddec $C175 Ddec dez. 49525

Pass: x add. of zpage contaning the nbr Übergebe: x Zufügung zpage einschl. Anzahl

Return: x zpage: cont. the decremented nbr gibt zurück: x zpage enthält verminderte Anzahl

Destroyed: a verändert: a

Ddiv $C169 Ddiv dez.49513

Pass: x add. of zpage: destination Übergebe: x Zufügung zpage Ziel-String

y add. of zpage: source y Zufügung zpage Quell-String

Return: destination zpage: 16 bit result gibt zurück: Ziel zpage: 16-Bit-Ergebnis

r8 remainder r8 Rest (Rückstand)

Destroyed: a, r9 verändert: a, r9

DeleteFile $C238 lösche Datei dez.49720

Pass: r0 ptr to the filename: NULL terminated Übergebe: r0 Zeiger auf Dateiname, Null = Abbruch

Return: x 0 = OK gibt zurück: x Fehlerstatus (0 = in Ordnung)

Destroyed: a, y, r0 - r9 verändert: a, y, r0 - r9

DeleteRecord $C283 lösche Record (Datensatz) dez. 49795

Pass: VLIR variable - Übergebe: VLIR-Variable

Return: x 0 = OK gibt zurück: x Fehlerstatus (0 = in Ordnung)

curRecord - points to next or last record curRecord zeigt auf nächsten oder vorigen Record

Destroyed: a, y, r0 - r9 verändert: a, y, r0 - r9

DisablSprite $C1D5 Sprite deaktivieren dez. 49621

Pass: r3L sprite nbr (0-7) Übergebe: r3L Sprite-Nummer (0 - 7)

Return: VIC register set to disable sprite. setzt zurück: VIC-Register inaktiv für Sprites

Destroyed: a, x verändert: a, x

DMult $C166 DMult dez. 49510

Pass: x add. of zpage : destination Übergebe: Zufügung zpage: Ziel

y add. of zpage : source Zufügung zpage: Quelle

Return: destination zpage gets the 16 bit result gibt zurück: Ziel zpage bekommt 16-Bit-Ergebnis

Destroyed: a, r6 - r8 verändert: a, r6 - r8

Dnegate $C172 dnegate dez.49522

Pass: x add. of zpage : word Übergebe: Zufügung zpage: Wort

Return: destination zpage gets negated gibt zurück: Ziel zpage wird negiert

Destroyed: a, y verändert: a, x

* DoBOp $C2EC DoBOp dez. 49900

Pass: r0 Ptr to start of block 1 Übergebe: r0 Zeiger auf Startblock 1

r1 Ptr to start of block 2 r1 Zeiger auf Startblock 2

r2 Number of bytes r2 Anzahl Bytes

r3L Bank of block 1 (0 or 1) r3L Bank für Block 1 (0 oder 1)

r3H Bank of block 2 (0 or 1) r3H Bank für Block 2 (0 oder 1)

Y 0 = Move Blk1 to Blk2 Y 0 = bewege Block 1 nach Block 2

1 = Move Blk2 to Blk1 1 = bewege Block 2 nach Block 1

2 = Swap Blk1 and Blk2 2 = swap Block 1 und Block 2

3 = Verify Blk1 and Blk2 3 = verfiziere Block 1 und Block 2

Return: x 0=match, $FF=mismatch (verify) gibt zurück: x 0=korrekt, $FF=Fehler (b. verifizieren)

Destroyed: a, x, y verändert: a, x, y

DoDlgBox $C256 Erstelle Dialogbox dez. 49750

Pass: r0 ptr to DB definition table Übergebe: r0 Zeiger auf DB (Dialogbox) Definitionstabelle

ex: .byte DEF_DB_POSö1 ; default box ex: .byte DEF_DB_POSö1 ; default box

.byte DBTXTSTR, X, Y .byte DBTXTSTR, X, Y

.word TextPtr ; text string .word TextPtr ; text string

.byte OK, X, Y ; Ok icon .byte OK, X, Y ; Ok icon

.byte NULL ; end of DB .byte NULL ; end of DB

TABLE: Tabelle:

1 = .byte OK, X, Y 1 = .byte OK, X, Y (in Ordnung)

2 = .byte CANCEL, X, Y 2 = .byte CANCEL, X, Y (Abbruch)

3 = .byte YES, X, Y 3 = .byte YES, X, Y (Ja)

4 = .byte NO, X, Y 4 = .byte NO, X, Y (Nein)

5 = .byte OPEN, X, Y 5 = .byte OPEN, X, Y (öffne)

6 = .byte DISK, X, Y 6 = .byte DISK, X, Y (Diskette)

7 - 10 not used 7 - 10 nicht in Gebrauch

11 = $0B .byte DBTXTSTR, X, Y 11 = $0B .byte DBTXTSTR, X, Y (Dialogbox-Textstring)

.word TextPtr .word TextPtr (Text-Zeiger)

12 = $0C .byte DBVARSTR, X, Y, RegNbr 12 = $0C .byte DBVARSTR, X, Y, RegNbr

13 = $0D .byte DBGETSTRING, X, Y, RegNbr, MaxChars 13 = $0D .byte DBGETSTRING, X, Y, RegNbr, MaxChars

14 = $0E .byte DBSYSOPV 14 = $0E .byte DBSYSOPV

15 = $0F .byte DBGRPHSTR 15 = $0F .byte DBGRPHSTR

.word graphicString .word graphicString

16 = $10 .byte DBGETFILES, X, Y 16 = $10 .byte DBGETFILES, X, Y

r7l = file type r7l Dateityp

r5 = file buffer addr r5 Datei Pufferadresse

r10 = permt file name r10 Dateiname permanent

17 = $11 .byte DBOPVEC 17 = $11 .byte DBOPVEC

.word UserVector .word UserVector

18 = $12 .byte DBUSRICON, X, Y 18 = $12 .byte DBUSRICON, X, Y

.word UserIcon .word UserIcon

UserIcon: .word iconPic,0 UserIcon: .word iconPic,0

.byte Width, Height .byte Breite, Höhe

.word ServRout .word ServRout

19 = $13 .byte DB_USR_ROUT 19 = $13 .byte DB_USR_ROUT

.word UserVector .word UserVector

Return: return through RstrFrmDialog gibt zurück: RstrFrmDialog (Restore from Dialogbox??)

r0L contains the icon's nbr r0L enthält die Nummer des Icons

Destroyed: a, x, y, r0 - r4 verändert: a, x, y, r0 - r4

DoIcons $C15A dez. 49498 öffne Icons

Pass: r0 ptr to icon table Übergebe: r0 Zeiger auf Icon-Tabelle

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 - r11 verändert: a, x, y, r0 - r11

ex: .byte nbr_icons ex: .byte nbr_icons (Icon-Anzahl)

.word x mouse .word x mouse (x Position Maus)

.byte y mouse .byte y mouse (y Position Maus)

.word icon1Pic .word icon1Pic

.byte x,y,w,h .byte x,y,w,h

.word DoIcon1 .etc... .word DoIcon1 .etc...

DoInlineReturn $C2A4 dez. 49828

Pass: a the nbr of byte to jump over Übergebe: a Anzahl der zu überspringenden Bytes

returnAdd: contain the proper return Add returnAdd: enthält korrekte return-Adresse

Return: return to application geht zurück: zur Applikation

Destroyed: a verändert: a

DoMenu $C151 dez. 49489 öffne Menü

Pass: a nbr of menu to place mouse on Übergebe: a Nummer des Menüs, auf die die Maus zeigen soll

r0 address of menu table r0 Adresse der Menü-Tabelle

Return: menu(s) seted up gibt zurück: geöffnetes Menü

Destroyed: a, x, y, r0 - r13 verändert: a, x, y, r0 - r13

ex: .byte top,bottom ex: .byte oben, unten

.word left,right .word links, rechts

.byte nbr_menuötype .byte nbr_menuötype (Nummer Menü-Typ??)

.word text1 .word text1

.byte type .byte type

.word subMenu1 .etc... .word subMenu1 .etc... (Untermenü)

subMenu1: .byte top,bottom subMenu1: .byte oben, unten

.word left,right .word links, rechts

.byte nbr_itemsötype .byte nbr_itemsötype

.word text1a .word text1a

.byte type .byte type

.word domenu1 .etc... .word domenu1 .etc...

DoneWithIO $C25F dez. 49759 Input/Output fertig

Pass: nothing Übergebe: nichts

Return: restore memory configuration gibt zurück: restaurierte Speicherkonfiguration

Destroyed: a verändert: a

DoPreviousMenu $C190 dez. 49552 öffne voriges Menü

Pass: nothing Übergebe: nichts

Return: enable previous menu gibt zurück: voriges Menü

Destroyed: a, x, y, r0 - r13 verändert: a, x, y, r0 - r13

DoRAMOp $C2D4 dez. 49876 arbeite mit RAM

Pass: y command nbr $90 = stash Übergebe: y $90 = stash

$91 = fetch $91 = fetch

$92 = swap $92 = swap

$93 = verify $93 = verify

r0 computer address r0 Computer-Adresse

r1 R.E.U. address r1 RAM-Adresse

r2 Transfer lenght r2 Transfer-Länge

r3L R.E.U. bank nbr r3L Bank-Nummer in der RAM

Return: the data is moved gibt zurück: bewegt die Daten

Destroyed: a, x, y verändert: a, x, y

DrawLine $C130 dez. 49456 zeichne Linie

Pass: signFlg set to recover from back screen Übergebe: sign Flag vom Hintergrundbildschirm zurückkehren

reset for drawing (reset beim Zeichnen)

carryFlg set for drawing in forground color carry Flag bestimmt beim Zeichnen Vordergrundfarbe

reset for background color (reset für Hintergrundfarbe)

r3 x pos of 1st point (0-319) r3 x Position für ersten Punkt (0-319)

r11L y pos of 1st point (0-199) r11L y Position für ersten Punkt (0-199)

r4 x pos of 2nd point (0-319) r4 x Position für zweiten Punkt (0-319)

r11H y pos of 2nd point (0-199) r11H y Position für zweiten Punkt (0-199)

Return: line is drawn or recover gibt zurück: gezeichnete oder wiederhergestellte Linie

Destroyed: a, x, y, r4 - r8, r11 verändert: a, x, y, r4 - r8, r11

DrawPoint $C133 dez. 49459 zeichne Punkt

Pass: same as DrawLine with no 2nd point Übergebe: wie DrawLine, jedoch ohne zweiten Punkt

Return: point is drawn or recover gibt zurück: gezeichneter oder wiederhergestellter Punkt

Destroyed: a, x, y, r5 - r6 verändert: a, x, y, r5 - r6

DrawSprite $C1C6 dez. 49606 zeichne Sprite

Pass: r3L sprite nbr (2-7) Übergebe: r3L Spritenummer (2 - 7)

r4 ptr to picture data r4 Zeiger auf Bilddaten

Return: graphic data transfer to VIC chip gibt zurück: Grafikdaten zum VIC

Destroyed: a, y, r5 verändert: a, y, r5

DSdiv $C16C dez. 49516 DSdiv

Pass: x add of destination zpage Reg Übergebe: x Zufügung zu Ziel- zpage Reg (-ister?)

y add of source zpage Reg y Zufügung zu Quell- zpage Reg

Return: r8 the remainder gibt zurück: r8 den Rest

Destroyed: a, r9 verändert: a, r9

DShiftLeft $C15D dez. 49501 Bits nach links verschieben

Pass: x add of zpage Reg Übergebe: x Zufügung zu zpage Reg (-ister?)

y nbr of bits to shift left y Anzahl der nach links zu verschiebenden Bits

Return: (x) Reg pointed by x is shifted gibt zurück: (x) Register, auf das x zeigt, wird verschoben

Destroyed: y verändert: y

DShiftRight $C262 dez. 49762 Bits nach rechts verschieben

Pass: x add of zpage Reg Übergebe: x Zufügung zu zpage Reg (-ister?)

y nbr of bits to shift right y Anzahl der nach rechts zu verschiebenden Bits

Return: (x) Reg pointed by x is shifted gibt zurück: (x) Register, auf das x zeigt, wird verschoben

Destroyed: y verändert: y

EnableProcess $C109 dez. 49417 Prozeß starten

Pass: x nbr of the process to have run Übergebe: x Nummer des zu startenden Prozesses

Return: process routine is run during next Main Loop gibt zurück: Routine wird im nächsten Main Loop ausgeführt

Destroyed: a verändert: a

EnablSprite $C1D2 dez. 49618 Sprite aktivieren

Pass: r3L sprite nbr (0-7) Übergebe: r3L Spritenummer (0 - 7)

Return: sprite activated gibt zurück: aktiviertes Sprite

Destroyed: a, x verändert: a, x

EnterDeskTop $C22C dez.49708 gehe in DeskTop

Pass: nothing Übergebe: nichts

Return: GEOS initialize and DESKTOP loaded gibt zurück: initialisiertes GEOS und lädt DeskTop

Destroyed: system is reinitialized verändert: alles (reinitialisiert)

EnterTurbo $C214 dez. 49684 Turbo aktivieren

Pass: curDrive - drive nbr Übergebe: curDrive - Laufwerksnummer (aktuell)

turboFlags - bit 7 = 1, if turbo code resident turboFlags - bit 7 = 1, wenn turbo code vorhanden

bit 6 = 1, if turbo is running - bit 6 = 1, wenn turbo gerade läuft

Return: X error status, 0 = OK gibt zurück: X Fehlerstatus, 0 = OK

Destroyed: a, y verändert: a, y

ExitTurbo $C232 dez. 49714 Ausstieg aus Turbo

Pass: curDrive: nbr of the drive to exit Übergabe: curDrive: Laufwerksnummer für Ausstieg (aktuelles Laufw.)

diskOpenFlag: Bit 7 = 1 Turbo is resident diskOpenFlag: Bit 7 = 1 : Turbo vorhanden

Bit 6 = 1 Turbo is running Bit 6 = 1 : Turbo läuft gerade

Return: x 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, y verändert: a, y

FastDelFile $C244 dez. 49732 schnelles Datei-löschen

Pass: r0 ptr to filename,0 Übergabe: r0 Zeiger auf Dateiname,0

r3 ptr to Tr/Sc list r3 Zeiger auf Spur-/Sektorliste

curDrive - set and open curDrive - gesetzt und geöffnet (aktuelles Laufwerk)

Return: x error 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

BAM updated aktualisierte BAM

dirEntryBuf - Entry of deleted file dirEntryBuf - Eintrag der gelöschten Datei (DirEintragPuffer)

Destroyed: a, y, r0 - r9 verändert: a, y, r0 - r9

FetchRAM $C2CB dez. 49867 fetch(hole)RAM

Pass: r0 computer address Übergabe: r0 Computer-Adresse

r1 R.E.U. address r1 RAM-Adresse

r2 Transfer lenght r2 Länge des Übertrags

r3L R.E.U. bank nbr r3L RAM-Bank-Nummer

Return: the data is imported from R.E.U. gibt zurück: importierte Daten von RAM

Destroyed: a, x, y verändert: a, x, y

FillRam $C17B dez. 49531 fülle RAM

Pass: r0 nbr of bytes to clear Übergabe: r0 Anzahl zu löschender Bytes

r1 address of first byte r1 Adresse des ersten Bytes (Beginn)

r2L value of byte to store in r2L zu speichernder Byte-Wert

Return: area filled in gibt zurück: einen gefüllten Bereich

Destroyed: a, y, r0 - r2l verändert: a, y, r0 - r2l

FindBAMBit $C2AD dez. 49837 suche BAM-Bit

Pass: r6L, r6H Track and Sector Übergabe: r6L, r6H Spur und Sektor

Return: zero flag - 1 = unused gibt zurück: zero-Flag 1 = unbenutzt

- 0 = used 0 = benutzt

Destroyed: nothing verändert: nichts

FindFile $C20B dez. 49675 suche Datei

Pass: r6 ptr to filename,0 Übergabe: r6 Zeiger auf Dateiname,0

Return: x error status 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

diskBlkBuf - dir blk of file diskBlkBuf - Directoryblock der Datei

dirEntryBuf - dir entry of file dirEntryBuf - Directoryeintrag der Datei

curDirHead - dir header of disk curDirHead - Disk-Directory-Header

r1L, r1H Tr/Sc of dir block r1L, r1H Spur/Sektor des Directoryblocks

r5 ptr to dir entry in diskBlkBuf r5 Zeiger auf Directoryeintrag in diskBlkBuf

Destroyed: a, y, r4, r6 verändert: a, y, r4, r6

FindFTypes $C23B dez. 49723 finde File-Typ

Pass: r6 ptr to filename buffer: 16 char,0 Übergabe: r6 Zeiger auf Dateinamen-Puffer: 16 char,0

r7L file type to look for r7L Dateityp nach dem gesucht wird

r7H maximum nbr of filename r7H Höchstzahl an Dateinamen

r10 0 or ptr to permanent name,0 r10 0 oder Zeiger auf ständigen Namen,0

Return: - buffer gets filenames gibt zurück: Dateinamen in den Puffer

- r7h = r7h - nbr of files found r7h = Anzahl der gefundenen Dateien

Destroyed: a, y, r0 - r2l, r4, r6 verändert: a, y, r0 - r2l, r4, r6

* NOTE: if r7l = DA, then only the DAs that can be run Achtung: wenn r7l = DA, dann werden nur DAs zurückgegeben, die im aktuellen

under the present graphic mode will be return. Grafikmodus startbar sind (DA= Desk-Hilfsmittel)

ex: if you are in 80 col., only DAs that can run 80 col. ex: im 80-Zeichenmodus werden nur DAs zurückgegeben, die im 80-Zeichenmod.

will be return. startbar sind

FirstInit $C271 dez. 49777 Erstinitialisierung

Pass: nothing Übergabe: nichts

Return: initialize GEOS gibt zurück: initialisiert GEOS

Destroyed: a, y, r0 - r2l verändert: a, y, r0 - r2l

FollowChain $C205 dez. 49669 folge der Verkettung

Pass: r1L, r1H Tr/Sc of first block Übergabe: r1L, r1H Spur/Sektor des ersten Blocks

r3 ptr to buffer to store Tr/Sc r3 Zeiger auf Puffer zum speichern von Spur/Sektor

Return: r1L, r1H Tr/Sc of last block gibt zurück: r1L, r1H Spur/Sektor des letzten Blocks

r3 same r3 gleich (unverändert??)

diskBlkBuf - last block of the chain diskBlkBuf - letzter Block der Verkettung (DiskBlockPuffer)

Destroyed: a, y, r1, r4 verändert: a, y, r1, r4

FrameRectangle $C127 dez. 49447 RahmenRechteck

Pass: a GEOS pattern Übergabe: a GEOS Muster

r2L top (0-199) r2L oben (0-199)

r2H bottom (0-199) r2H unten (0-199)

r3 left (0-319) r3 links (0-319)

r4 right (0-319) r4 rechts (0-319)

Return: r2L, r3H unchanged gibt zurück: r2L, r3H unverändert

Destroyed: a, x, y, r5 - r9, r11 verändert: a, x, y, r5 - r9, r11

FreeBlock $C2B9 dez. 49849 freier Block

Pass: curDirHead - dir header Übergabe: curDirHead - Directory-Header (aktuell)

r6L, r6H track and sector r6L, r6H Spur/Sektor

Return: x error status 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, r7, r8 verändert: a, r7, r8

FreeFile $C226 dez. 49702 freie Datei

Pass: dirEntryBuf - dir entry of file Übergabe: dirEntryBuf - Directoryeintrag der Datei

r9 ptr to dirEntryBuf r9 Zeiger auf dirEntryBuf

Return: x error status 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

BAM updated aktualisierte BAM

Destroyed: a, y, r0 - r9 verändert: a, y, r0 - r9

FreezeProcess $C112 dez. 49426 Prozess einfrieren

Pass: x nbr of the process to freeze Übergabe: x Nummer des einzufrierenden Prozesses

Return: process freezed gibt zurück: Prozeß eingefroren

Destroyed: a verändert: a

Get1stDirEntry $9030 dez. 36912 hole ersten Directoryeintrag

Pass: curDrive set and open Übergabe: curDrive gesetzt und geöffnet (aktuelles Laufwerk)

Return: r5 ptr 1st dir entry in diskBlkBuf gibt zurück: r5 Zeiger auf ersten Directoryeintrag in diskBlkBuf

x error status 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

GetBlock $C1E4 dez. 49636 hole Block

Pass: r1L. r1H Tr/Sc of first block Übergabe: r1L. r1H Spur/Sektor des ersten Blocks

r4 ptr to buffer r4 Zeiger auf Puffer

Return: x error status 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

GetCharWidth $C1C9 dez. 49609 hole Zeichenbreite

Pass: a ASCII char ($20 - $7e) Übergabe: a ASCII-Zeichen ($20 - $7e) (dez.. 32 - 126)

Return: a width of character gibt zurück: a Zeichenbreite

Destroyed: y verändert: y

GetDirHead $C247 dez. 49735 hole DirectoryHeader

Pass: curDrive set and open Übergabe: curDrive gesetzt und geöffnet (aktuelles Laufwerk)

Return: curDirHead - updated gibt zurück: curDirHead - aktualisierter aktueller DirHeader

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

GetDiskBlkBuf $903C dez. 36924 hole DiskBlockPuffer

Pass: r1L, r1H Tr/Sc to get Übergabe: r1L, r1H zu holende(-r) Spur/Sektor

Return: diskBlkBuf - contain the block gibt zurück: diskBlkBuf - enthält den Block

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

GetFHdrInfo $C229 dez. 49705 hole DateiHeaderInfo

Pass: r9 ptr to dir entry of file Übergabe: r9 Zeiger auf Datei-Directoryeintrag

Return: r1L, r1H Tr/Sc of first block of data gibt zurück: r1L, r1H Spur/Sektor des ersten Datenblocks

or of the index table oder der Indexliste

r7 start address r7 Startadresse

fileHeader - updated fileHeader - aktualisiert

fileTrScTab - 2 frst bytes are Ts/Sc of fileTrScTab - die zwei ersten Bytes sind Spur/Sektor des

the file header Dateiheaders

x error status 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, y, r4 verändert: a, y, r4

GetFile $C208 dez. 49627 hole Datei

Pass: r6 ptr to filename,0 Übergabe: r6 Zeiger auf Dateiname,0

r0L loadOpt flag r0L lade Opt Flag

- Bit 0 = 0 - standard loading Bit 0 = 0: standartmäßiges laden

= 1 - load file at add add ptr in r7 = 1: lädt Datei bei add add Zeiger in r7 (A.d.Ü.:???)

- Bit 6 = 0 - no printing Bit 6 = 0: druckt nicht

= 1 - set by DESKTOP for printing = 1: durch DeskTop zum drucken gesetzt

- Bit 7 = 0 - no data file Bit 7 = 0: keine Daten-Datei

= 1 - data file was klick on = 1: angeklickte Daten-Datei

r2 & r3 : only if bit 6 & 7 are set in r0L r2 und r3 nur wenn Bit 6und 7 in r0L gesetzt sind

- r2 ptr to data disk name r2 Zeiger auf Data Diskettenname

- r3 ptr to data filename r3 Zeiger auf Data Dateiname

r7 load address if Bit 0 is set in r0L r7 Ladeadresse, wenn Bit 0 in r0L gesetzt

r10L DA Recover flag r10L DA Wiederherstellungs-Flag

Bit 6 = 0 - does not save color Bit 6 = 0: Farbe wird nicht gespeichert

= 1 - does save color = 1: speichert Farbe

Bit 7 = 0 - doesn't save foreground scr Bit 7 = 0: Vordergrundbildschirm wird nicht gespeichert

= 1 - does save foreground screen = 1: Vordergrundbildschirm wird gespeichert

Return: to the file loaded or its application geht zurück: zur geladenen Datei oder ihrer Applikation

Destroyed: a, y, r0 - r10 verändert: a, y, r0 - r10

GetFreeDirBlk $C1F6 dez. 49654 suche freien DirectoryBlock

Pass: r10L page nbr to start looking Übergabe: r10L Seitennummer für Beginn des suchens

curDirHead - up to date curDirHead - up to date

Return: x error status 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

diskBlkBuf - dir blk with free dir diskBlkBuf - Directoryblock frei

y ptr to free dir in DiskBlkBuf y Zeiger auf freie Directory in diskBlkBuf

r10L page nbr of free dir entry r10L Seitennummer des freien Directoryeintrags

curDirHead - updated but only in memory curDirHead-akt. DirectoryHeader aktualisiert (nur im Speicher!)

Destroyed: a, x, y, r0 - r8 verändert: a, x, y, r0 - r8

GetNextChar $C2A7 dez. 49831 hole nächstes Zeichen

Pass: nothing Übergabe: nichts

Return: a char from input buf or 0 if empty gibt zurück: a Zeichen aus InputPuffer (oder 0, wenn leer)

Destroyed: x verändert: x

GetNxtDirEntry $9033 dez. 36915 hole nächsten Directoryeintrag

Pass: r5 add of actual dir entry within Übergabe: r5 fügt aktuellen Directoryeintrag zu diskBlkBuf

diskBlkBuf

Return: r5 ptr to next entry, valid or not gibt zurück: r5 Zeiger auf nächsten Eintrag (ob gültig oder nicht)

x error status 0 = OK x Fehlerstatus (0 = OK)

y 0 = OK, $FF = last entry on disk y 0 = OK, $FF = letzter Eintrag auf der Diskette

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

GetOPDPtr $9036 dez. 36918

Pass: nothing Übergabe: nichts

Return: r1 Tr/Sc of Off page directory gibt zurück: r1 Spur/Sektor des Off page Directory

y 0 = OK, $FF = not a GEOS dsk y 0 = OK, $FF = keine GEOS-Diskette

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

GetPtrCurDkNm $C298 dez. 49816

Pass: x add of zpage reg to put ptr in Übergabe: x add des zpage Registers zur Ablage des Zeigers in

exeption of r15 Ausnahme von r15

Return: ptr in reg specified by x gibt zurück: Zeiger im Register, das durch x angegeben

Destroyed: a, y verändert: a, y

GetRandom $C187 dez. 49543 hole Zufallszahl

Pass: nothing Übergabe: nichts

Return: ramdom - contains new 16 bit nbr gibt zurück: Zufallszahl - enthält neue 16 Bit-Nummer

Destroyed: a verändert: a

GetRealSize $C1B1 dez. 49585 hole echte Größe

Pass: a ASCII character Übergabe: a ASCII-Zeichen

x currentMode x aktueller Modus

Return: y character width gibt zurück: y Zeichenbreite

x character height x Zeichenhöhe

a baseline offset a Grundlinien offset

Destroyed: nothing verändert: nichts

GetScanLine $C13C dez. 49468 hole ScanLinie

Pass: x scanline nbr Übergabe: x Scanlinie Nummer

Return: r5 add of 1st byte of foreground scr gibt zurück: r5 add of erstes Byte des Vordergrund-Bildschirms

r6 add of 1st byte of background scr r6 add of erstes Byte des Hintergrund-Bildschirms

Destroyed: a verändert: a

GetSerialNumber $C196 dez. 49558 hole Seriennummer

Pass: nothing Übergabe: nichts

Return: r0 serial nbr of your kernal gibt zurück: r0 Seriennummer Deines Kernals

Destroyed: a verändert: a

Note: In the FindFType code there is a small routine that Achtung: Im FindFType code gibt's eine kleine Routine die die Seriennummer

will recheck the serial number and if it is not the same überprüft. Ist sie nicht mehr gleich wie beim booten, wird die LdDeskAcc

as at boot up, it will corrupt the LdDeskAcc address. Adresse verfälscht.

GEOS64 & 128 v2.0 GEOS64 & 128 v2.0

GetString $C1BA dez. 49594 hole String

Pass: keyVector - add of routine to call Übergabe: Schlüsselvektor - add of aufzurufender Routine

r0 add of a buffer to put string r0 add of eines Puffers um String abzulegen

r1L flag - if Bit 7 =1, use string fault r1L flag, wenn Bit 7 = 1 wird String Vektor bentzt, auf den

vector pointed by r4 r4 zeigt

r1H y position in scanlines (0-199) r1H y-Position in Scanlines (0-199)

r2L max char to accept from user r2L max. Zeichen, die vom User akzeptiert werden

r11 x position in pixels (0-319) r11 x Position in Pixeln (0-319)

r4 (opt) string fault vector ptr r4 string-Vektor-Zeiger (optional)

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 - r13 verändert: a, x, y, r0 - r13

GotoFirstMenu $C1BD dez. 49597 gehe zu erstem Menü

Pass: nothing Übergabe: nichts

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 - r13 verändert: a, x, y, r0 - r13

GraphicsString $C136 dez. 49462 Grafikstring

Pass: r0 ptr to graphics string,0 Übergabe: r0 Zeiger auf Grafik-String,0

MOVEPENTO 1 .word x, .byte y bewege Zeichenstift auf 1 .word x, .byte y

LINETO 2 .word x, .byte y Linie bis 2 .word x, .byte y

RECTANGLETO 3 .word x, .byte y Rechteck bis 3 .word x, .byte y

NEWPATTERN 5 .byte pattern No. neues Muster 5 .byte Musternummer

ESC_PUTSTRING 6 see PutString Abbruch Putstring 6 siehe PUTSTRING

FRAME_RECTO 7 .word x, .byte y RahmenRechteck bis 7 .word x, .byte y

New: Neu:

MOVEPENRIGHT 8 .word x bewege Z-stift rechts 8 .word x

MOVEPENDOWN 9 .byte y setze Z-stift auf 9 .byte y

MOVERIGHTDOWN 10 .word x, .byte y setze Z-stift rechts/auf 10 .word x, .byte y

Return: graphics being drawed gibt zurück: gezeichnete Grafik

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

* HideOnlyMouse $C2F2 dez. 49906 verdecke nur Maus

Pass: nothing Übergabe: nichts

return: nothing gibt zurück: nichts

Destroyed: a, x, y verändert: a, x, y

HorizontalLine $C118 dez. 49432 waagerechte Linie

Pass: a pattern byte Übergabe: a Muster-Byte

r11L y position in scanlines (0-199) r11L y Position in scanlines (0-199)

r3 x in pixel of left end (0-319) r3 x in Pixel von linkem Ende her (0-319)

r4 x in pixel of right end (0-319) r4 x in Pixel von rechten Ende her (0-319)

Return: r11L unchanged gibt zurück: r11L unverändert

Destroyed: a, x, y, r5 - r8, r11 verändert: a, x, y, r5 - r8, r11

ImprintRectangle $C250 dez. 49744 ImpressumRechteck

Pass: r2L top (0-199) Übergabe: r2L oben (0-199)

r2H bottom (0-199) r2H unten (0-199)

r3 left (0-319) r3 links (0-319)

r4 right (0-319) r4 rechts (0-319)

Return: r2L, r3H unchanged gibt zurück: r2L, r3H unverändert

Destroyed: a, x, y, r5 - r8, r11 verändert: a, x, y, r5 - r8, r11

InitForIO $C25C dez. 49756 Initialisierung für Input/Output

Pass: nothing Übergabe: nichts

Return: interrupts & sprites disabled and c64 Kernal gibt zurück: Interrupts und Sprites deaktiviert und C64 Kernal und I/O

and I/O in ein

Destroyed: a verändert: a

InitMouse $FE80 dez. 65152 Maus initialisieren

Pass: nothing Übergabe: nichts

Return: mouseXPos - set to initial value (0-319) gibt zurück: mouseXPos - gesetzt auf Anfangswert (0-319)

mouseYPos - set to initial value (0-199) mouseYPos - gesetzt auf Anfangswert (0-199)

mouseData - set to release mouseData - gesetzt zur Freigabe

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

InitProcesses $C103 dez. 49411 Prozesse initialisieren

Pass: a nbr of process to initialize. 20 max Übergabe: a Anzahl (max.20) zu initialisierender Prozesse

r0 ptr to process table r0 Zeiger auf Prozeßliste

Return: process initialized gibt zurück: initialisierter Prozeß

Destroyed: a, x, y verändert: a, x, y

ex: .word processRout1 ex: .word processRout1

.word time/60th sec .word time/60th sec

.word processRout2 etc... .word processRout2 etc...

InitRam $C181 dez. 49537 RAM-Initialisierung

Pass: r0 ptr to initialization table Übergabe: r0 Zeiger auf Initialisierungs-Liste

.word location .word location ('Ort')

.byte nbr of bytes .byte nbr of bytes (Anzahl Bytes)

.byte value1, value2, ... value n .byte value1, value2, ... value n (Wert1, Wert2, ...)

.word new location .word new location (neuer Ort)

etc. ,0,0 etc. ,0,0

Return: memory initialize gibt zurück: RAM-Initialisierung

Destroyed: a, x, y, r0 - r1 verändert: a, x, y, r0 - r1

InitTextPrompt $C1C0 dez. 49600 Initialisierung Textprompt

Pass: a size in pixels of the edit cursor Übergabe: a Größe des Edit-cursors in Pixeln

Return: nothing gibt zurück: nichts

Destroyed: a, x, y verändert: a, x, y

InsertRecord $C286 dez. 49798 Record einfügen

Pass: nothing Übergabe: nichts

Return: usedRecords - increment by one gibt zurück: usedRecords - (benutzte Records) um eins weitergezählt

curRecord - ptr to empty curRecord - (aktueller Record) Zeiger auf den neuen, leeren

Destroyed: a, x, y, r1, r4 verändert: a, x, y, r1, r4

InterruptMain $C100 dez. 49408 Interrupt

Pass: nothing Übergabe: nichts

Return: nothing gibt zurück: nichts

Destroyed: a, x, y verändert: a, x, y

InvertLine $C11B dez. 49435 Linie revers darstellen

Pass: r3 x pos of left endpoint (0-319) Übergabe: r3 x Position des linken Endpunkts (0-319)

r4 x pos of right endpoint (0-319) r4 x Position des rechten Endpunkts (0-319)

r11L y pos (0-199) r11L y Position (0-199)

Return: r3-r4 unchanged gibt zurück: r3-r4 unverändert

Destroyed: a, x, y, r5 - r8 verändert: a, x, y, r5 - r8

InvertRectangle $C12A dez. 49450 Rechteck revers darstellen

Pass: r2L top in scanlines (0-199) Übergabe: r2L oben in scanlines (0-199)

r2H bottom in scanlines (0-199) r2H unten in scanlines (0-199)

r3 left in pixels (0-319) r3 links in Pixeln (0-319)

r4 right in pixels (0-319) r4 rechts in Pixeln (0-319)

Return: r2L, r3H unchanged gibt zurück: r2L, r3H unverändert

Destroyed: a, x, y, r5 - r8 verändert: a, x, y, r5 - r8

IsMseInRegion $C2B3 dez. 49843

Pass: r2L y coord of top (0-199) Übergabe: r2L y-Koordinate oben (0-199)

r2H y coord of bottom (0-199) r2H y-Koordinate unten (0-199)

r3 x coord of left (0-319) r3 x-Koordinate links (0-319)

r4 x coord of right (0-319) r4 x-Koordinate rechts (0-319)

Return: a $FF = in : $00 = outside gibt zurück: a $FF = innen ; $00 = außen

Destroyed: nothing verändert: nichts

i_BitmapUp $C1AB dez. 49579

Same as BitmapUp with data after the jsr entspricht BitmapUp mit Daten nach jsr

i_FillRam $C1B4 dez. 49588

Same as FillRam with data after the jsr entspricht FillRam mit Daten nach jsr

i_FrameRectangle $C1A2 dez. 49570

Same as FrameRectangle with data after the jsr entspricht FrameRectangle mit Daten nach jsr

with the pattern byte the last mit Muster-Byte an letzter Stelle

i_GraphicsString $C1A8 dez. 49576

Same as GraphicsString with data after the jsr entspricht GraphicsString mit Daten nach jsr

i_ImprintRectangle$C253 dez. 49747

Same as ImprintRectangle with data after the jsr entspricht ImprintRectangle mit Daten nach jsr

i_MoveData $C1B7 dez. 49591

Same as MoveData with data after the jsr entspricht MoveData mit Daten nach jsr

i_PutString $C1AE dez. 49582

Pass: .word x Übergabe: .word x

.byte y .byte y

.byte "text",0 .byte "text",0

Destroyed: a, x, y, r0 - r10 verändert: a, x, y, r0 - r10

i_RecoverRectangle$C1A5 dez. 49573

Same as RecoverRectangle with data after the jsr entspricht RecoverRectangle mit Daten nach jsr

i_Rectangle $C19F dez. 49567

Same as Rectangle with data after the jsr entspricht Rectangle mit Daten nach jsr

* JmpIndX $9D80 dez. 40320

Pass: A reg. nbr containing address to jsr Übergabe: a Registernummer mit Adresse für jsr

through

Return: nothing gibt zurück: nichts

Destroyed: a, x, + dest. by routine called verändert: a, x, +Ziel, durch Routine aufgerufen

LdApplic $C21D dez. 49693 lade Applikation

Pass: r9 ptr to dir entry of file Übergabe: r9 Zeiger auf Directoryeintrag der Datei

r0L loadOpt flag r0L lade optionales Flag

- Bit 0 = 0 - standard loading - Bit 0 = 0 standartmäßiges Laden

= 1 - load file at add add ptr in r7 = 1 lade Datei bei add add Zeiger in r7

- Bit 6 = 0 - no printing - Bit 6 = 0 kein Druck

= 1 - set by DESKTOP for printing = 1 wird durch DeskTop zum Drucken gesetzt

- Bit 7 = 0 - no data file - Bit 7 = 0 kein Datenfile

= 1 - data file was klick on = 1 Datenfile wurde angeklickt

r2 & r3 : only if bit 6 & 7 are set in r0L r2 & r3 : nur wenn Bit 6 & 7 in r0L gesetzt sind

- r2 ptr to data disk name r2 Zeiger auf Name der Datendisk

- r3 ptr to data filename r3 Zeiger auf Name des Datenfiles

r7 load address if Bit 0 is set in r0L r7 Ladeadresse, wenn Bit0 in r0L gesetzt ist

Return: to the application, unless r7 was used kehrt zurück: zur Applikation, es sei denn, r7 wurde gebraucht

fileTrScTab+2 - list of Tr/Sc of file fileTrScTab+2 Liste der Spuren/Sektoren der Datei

x error status (0 = OK) x Fehlerstatus (0 = OK)

r1 if buf overflo, Tr/Sc that didn't fit r1 bei Pufferüberlauf: Spur/Sektor, der nicht passend war

Destroyed: a, x, y, r0 - r10 verändert: a, x, y, r0 - r10

LdDeskAcc $C217 dez. 49687 lade DeskAcc ('DeskHilfsmittel'), 'DA'

Pass: r9 ptr to dir entry of file Übergabe: r9 Zeiger auf Directoryeintrag der Datei

r10L DA recover Flag (see GetFile) r10L DeskHilfsmittel-Wiederherstellungsflag (siehe GetFile)

Return: To D.A. at start address in file header geht zurück: zum DeskHilfsmittel bzw. zur Startadresse im Datei-Header

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

LdFile $C211 dez. 49681 lade Datei

Pass: r9 ptr to dir entry of file Übergabe: r9 Zeiger auf Directoryeintrag der Datei

r0L loadOpt flag (see GetFile) r0L Flag für Ladeoption (siehe GetFile)

r7 load address if Bit 0 is set in r0L r7 Ladeadresse, wenn in r0L Bit 0 gesetzt

Return: to the application, unless r7 was used geht zurück: zur Applikation, es sei denn, r7 war in Gebrauch

Destroyed: a, x, y, r0 - r10 verändert: a, x, y, r0 - r10

LoadCharSet $C1CC dez. 49612 lade Zeichensatz

Pass: r0 add of font Übergabe: r0 add of Zeichensatz

Return: new character set activated gibt zurück: aktivierten neuen Zeichensatz

Destroyed: a, y, r0 verändert: a, y, r0

MainLoop $C1C3 dez. 49603

Pass: nothing Übergabe: nichts

Return: nothing gibt zurück: nichts

Destroyed: a, x, y + depends on vector verändert: a, x, y und weitere, abhängig vom Vektor

MouseOff $C18D dez. 49549 Maus deaktivieren

Pass: nothing Übergabe: nichts

Return: mouse disable gibt zurück: 'aus' die Maus

Destroyed: a, x, y, r3 verändert: a, x, y, r3

MouseUp $C18A dez. 49546 Maus einschalten

Pass: nothing Übergabe: nichts

Return: reactivate mouse after a MouseOff gibt zurück: reaktivierte Maus (nach MouseOff)

Destroyed: a verändert: a

* MoveBData $C2E3 dez. 49891 bewege

Pass: Same as DoBOp without Y Übergabe: gleich wie DoBOp, jedoch ohne Y

return: nothing gibt zurück: nichts

Destroyed: a, x, y verändert: a, x, y

MoveData $C17E dez. 49534 bewege Daten

Pass: r0 source address Übergabe: r0 Quelladresse

r1 destination address r1 Zieladresse

r2 transfer lenght r2 Länge des zu bewegenden Teils

Return: data is moved to destination gibt zurück: zum Ziel bewegte Daten

Destroyed: a, y, r0 - r2 verändert: a, y, r0 - r2

NextRecord $C27A dez. 49786 nächster Record (Datensatz)

Pass: nothing Übergabe: nichts

Return: a curRecord gibt zurück: a curRecord (aktueller Datensatz)

x error status, 0 = OK x Fehlerstatus (0 = OK)

y track of record, or 0 if empty y Spur des Datensatzes, wenn leer, dann 0

r1 Track and Sector of record r1 Spur und Sektor des Datensatzes

Destroyed: nothing verändert: nichts

NewDisk $C1E1 dez. 49633 neue Diskette

Pass: curDrive - correct device nbr Übergabe: curDrive - korrekte aktuelle Laufwerksnummer

Return: New BAM read into drive memory gibt zurück: neue BAM wird in Laufwerksspeicher eingelesen

x error status, 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, y, r1, Disk buffers verändert: a, y, r1, Disk-Puffer

* NormalizeX $C2E0 dez. 49888 normiere X

Called: by all Graghics Routines Aufgerufen: durch alle Grafik-Routinen

Pass: x register nbr containing the word Übergabe: x Registernummer, die das zu normalisierende Wort enthält

to normalize as follows:

bit of high byte Bit des Highbyte:

7 6 5 7 6 5

0 0 0 do nothing, positive value 0 0 0 tut nix, positiver Wert

1 1 0 do nothing, negative value 1 1 0 tut nix, negativer Wert

1 0 n double X + n, positive value 1 0 n doppelt X + n, positiver Wert

0 1 n double X - n, negative value 0 1 n doppelt X - n, negativer Wert

return: nothing gibt zurück: nichts

Note: Do nothing but strip the 3 high bytes if in 40 col. Anmerkung: tut nix, außer die 3 highbytes strippen (40-Zeichenmodus)

Destroyed: a verändert: a

NxtBlkAlloc $C24D dez. 49741 nächsten Block zuteilen

Pass: r3 Tr/Sc to start looking for open blk Übergabe: r3 Spur/Sektor für Beginn der Suche nach offenem Block

r2 nbr of bytes to allocate space for r2 Anzahl der Bytes, für die Platz zugeteilt ewrden soll

r6 ptr to buffer for the Tr/Sc table r6 Zeiger auf Puffer für Spur/Sektor-Liste

curDirHead - up to date curDirHead aktuell

interleave - nbr of interleave interleave - Anzahl 'Einschübe'

Return: r2 nbr of blocks allocated gibt zurück: r2 Anzahl zugeteilter Blocks

r3 Tr/Sc of last blk allocated r3 Spur/Sektor des zuletzt zugeteilten Blocks

x error status, 0 = OK x Fehlerstatus (0 = OK)

curDirHead - updated for new allocated blk curDirHead aktualisiert für neu zugeteilten Block

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

OpenDisk $C2A1 dez. 49825 Diskette öffnen

Pass: curDrive - set with SetDevice Übergabe: curDrive mit SetDevice gesetzt

Return: r5 ptr to Dr?curDkNm gibt zurück: r5 Zeiger auf Dr?curDkNm

x error status, 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

OpenRecordFile $C274 dez. 49780 öffne Datensatz-Datei

Pass: r0 ptr to filename,0 Übergabe: r0 Zeiger auf Dateiname,0

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

fileHeader - index table fileHeader - Indexliste

usedRecords - nbr of records in file usedRecords - Anzahl Datensätze in Datei

fileWritten - 0 = no change fileWritten - 0 = keine Änderung

curRecord - $FF = empty curRecord - $FF = leer

dirEntryBuf - dir entry of file dirEntryBuf - Directoryeintrag der Datei

curDirHead - dir header of disk curDirHead - Directoryheader der Diskette

Destroyed: a, y, r1, r4 - r6 verändert: a, y, r1, r4 - r6

Panic $C2C2 dez. 49858 Panik-Absturz

Pass: nothing Übergabe: nichts

Return: does not return gibt zurück: es gibt kein zurück

Destroyed: ???, you will have to reboot verändert: ??? - Du mußt neu booten

PointRecord $C280 dez. 49792 zeige auf Datensatz

Pass: a record to point to Übergabe: a Datensatz auf den zu zeigen ist

Return: a curRecord gibt zurück: a curRecord (aktueller Datensatz)

x error status, 0 = OK x Fehlerstatus (0 = OK)

y track of record, or 0 if empty y Spur des Datensatzes, oder 0 wenn leer

r1 Track and Sector of record r1 Spur und Sektor des Datensatzes

Destroyed: nothing verändert: nichts

PosSprite $C1CF dez. 49615 Sprite positionieren

Pass: r3L sprite nbr (0-7) Übergabe: r3L Spritenummer (0-7)

r4 x pos (0-319) r4 x Position (0-319)

r5L y pos (0-199) r5L y Positoin (0-199)

Return: r3L unchanged gibt zurück: r3L unverändert

Destroyed: a, x, y, r6 verändert: a, x, y, r6

PreviousRecord $C27D dez. 49789 vorhergehender Datensatz

Pass: nothing Übergabe: nichts

Return: a curRecord gibt zurück: a curRecord (aktueller Datensatz)

x error status, 0 = OK x Fehlerstatus (0 = OK)

y track of record, or 0 if empty y Spur des Datensatzes, oder 0 wenn leer

r1 Track and Sector of record r1 Spur und Sektor des Datensatzes

Destroyed: nothing verändert: nichts

PromptOff $C29E dez. 49822 Eingabeprompt ausschalten

Pass: nothing Übergabe: nichts

Return: erase cursor gibt zurück: radiert Cursor aus

Destroyed: a, x, r3l verändert: a, x, r3l

PromptOn $C29B dez. 49819 Eingabeprompt einschalten

Pass: stringX x pos in pixels (0-319) Übergabe: stringX x Position in Pixeln (0-319)

stringY y pos in scanlines (0-199) stringY y Position in scanlines (0-199)

Return: display cursor at x, y gibt zurück: Cursor erscheint bei x, y

Destroyed: a, x, r3l, r5l, r6 verändert: a, x, r3l, r5l, r6

PurgeTurbo $C235 dez. 49717 Turbo 'auskippen'

Pass: curDrive - up to date Übergabe: curDrive - aktuell

TurboFlags - up to date TurboFlags - aktuell

Bit 7 - 1 if turbo is in drive Bit 7 = 1, wenn Turbo im Laufwerk vorhanden

Bit 6 - 1 if turbo is running in drive Bit 6 = 1, wenn Turbo im Laufwerk aktiv (läuft)

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

TurboFlags - updated TurboFlags - aktualisiert

Destroyed: a, x, y, r0 - r3 verändert: a, x, y, r0 - r3

PutBlock $C1E7 dez. 49639 Block 'ablegen'

Pass: r1 Tr/Sc to put block Übergabe: r1 Spur/Sektor um Block abzulegen

r4 ptr to block of data r4 Zeiger auf Datenblock

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

PutChar $C145 dez. 49477 Zeichen 'ablegen'

Pass: a ASCII character Übergabe: a ASCII - Zeichen

r1H y position (0-199) r1H y Position (0-199)

r11 x position (0-319) r11 x position (0-319)

Return: r1H y position for next char gibt zurück: r1H y Position für nächstes Zeichen

r11 x position for next char r11 x Position für nächstes Zeichen

Destroyed: a, x, y, r0, r2 - r10, r12, r13 verändert: a, x, y, r0, r2 - r10, r12, r13

PutDecimal $C184 dez. 49540 Dezimal(punkt) setzen

Pass: a - format: Bit 7: 1 for left justify Übergabe: a - Format: Bit 7 = 1 für linksbündige Anordnung

0 for right = 0 für rechtsbündige Anordnung

Bit 6: 1 supress leading 0's Bit 6 = 1 unterdrückt führende Nullen

0 print leading 0's = 0 schreibt führende Nullen

Bit 0-5: field width 4 right justify Bit 0-5 Feldbreite 4, rechtsbündig

r0 16 Bit nbr to print r0 16-Bit-Zahl zur Ausgabe

r1H y position (0-199) r1H y Position (0-199)

r11 x position (0-319) r11 x Position (0-319)

Return: r1H y position for next char gibt zurück: r1H y Position für nächstes Zeichen

r11 x position for next char r11 x Position für nächstes Zeichen

Destroyed: a, x, y, r0, r2 - r10, r12, r13 verändert: a, x, y, r0, r2 - r10, r12, r13

PutDirHead $C24A dez. 49738 DirectoryHeader 'ablegen'

Pass: curDirHead - up to date for current disk Übergabe: curDirHead - aktuell für aktuelle Diskette

curDrive - set and open curDrive - gesetzt und geöffnet

Return: curDirHead - written to current disk gibt zurück: curDrive - auf aktuelle Diskette geschrieben

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

PutDiskBlkBuf $903F dez. 36927 DiskBlockPuffer 'ablegen'

Pass: r1 Tr/Sc to put block Übergabe: r1 Spur/Sektor um Block abzulegen

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

PutString $C148 dez. 49480 String 'ablegen'

Pass: r0 ptr to text string,0 Übergabe: r0 Zeiger auf String,0

r1H y position (0-199) r1H y Position (0-199)

r11 x position (0-319) r11 x Position (0-319)

Return: r1H y position for next char gibt zurück: r1H y Position für nächstes Zeichen

r11 x position for next char r11 x Position für nächstes Zeichen

Destroyed: a, x, y, r0l, r2 - r10l verändert: a, x, y, r0l, r2 - r10l

ReadBlock $C21A dez. 49690 lies Block

Pass: r1 Tr/Sc of block to read Übergabe: r1 Spur/Sektor des zu lesenden Blockes

r4 buffer for block r4 Puffer für den Block

curDrive - set and open curDrive - gesetzt und geöffnet

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

r1, r4 unchanged r1, r4 unverändert

Destroyed: a, y verändert: a, y

ReadByte $C2B6 dez. 49846 lies Byte

Pass: r1 Tr/Sc of block to read Übergabe: r1 Spur/Sektor des zu lesenden Blockes

r4 buffer for block r4 Puffer für den Block

r5 0, index to nxt byte to read r5 0, Hinweis auf nächst zu lesendes Byte

curDrive - set and open curDrive - gesetzt und geöffnet

Return: a byte read from block gibt zurück: a gelesenes Byte aus dem Block

x error status, 0 = OK x Fehlerstatus (0 = OK)

r1 Tr/Sc of next block r1 Spur/Sektor des nächsten Blockes

r4 unchanged r4 unverändert

Destroyed: a, y verändert: a, y

ReadFile $C1FF dez. 49663 lies Datei

Pass: r7 address to read file Übergabe: r7 Adresse, die Datei zu lesen

r1 Tr/Sc of firsr block r1 Spur/Sektor des ersten Blockes

r2 size of destination buffer r2 Größe des Zielpuffers

Return: fileTrScTab - updated gibt zurück: fileTrScTab - aktualisiert

x error status, 0 = OK x Fehlerstatus (0 = OK)

r7 ptr to last byte+1 r7 Zeiger zum letzten Byte +1

r5L ptr to last entry in fileTrScTab r5L Zeiger auf letzten Eintrag in fileTrScTab

r1 if buffer overflow, Tr/Sc of last blk r1 bei Puffer-Überlauf: Spur/Sektor des letzten Blockes

Destroyed: a, y, r1 - r4 verändert: a, y, r1 - r4

ReadLink $904B dez. 36939 lies LinkBytes

Pass: r1 Tr/Sc of block to read Übergabe: r1 Spur/Sektor des zu lesenden Blockes

r4 buffer for Tr/Sc link bytes (2) r4 Puffer für Spur/Sektor- LinkBytes

curDrive - set and open curDrive - gesetzt und geöffnet

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

r1, r4 unchanged r1, r4 unverändert

Destroyed: a, y verändert: a, y

ReadRecord $C28C dez. 49804 lies Datensatz

Pass: r2 max space of buffer Übergabe: r2 maximale Puffergröße

r7 address to put data r7 Adresse, um Daten abzulegen

file - open with OpenRecordFile Datei öffnen mit OpenRecordFile

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

r7 ptr to last byte +1 r7 Zeiger auf letztes Byte +1

a 0 if empty record a = 0, wenn Datensatz leer

fileTrScTab - Tr/Sc table of record fileTrScTab - Spur/Sektor-Liste des Datensatzes

r5L ptr to last Tr/Sc in fileTrScTab r5L Zeiger auf letzten Spur/Sektor in fileTrScTab

r1 if buffer overflow, Tr/Sc of last blk r1 wenn Puffer überläuft: Spur/Sektor des letzten Blocks

Destroyed: a, y, r1 - r4 verändert: a, y, r1 - r4

RecoverAllMenus $C157 dez. 49495 alle Menüs wiederherstellen

Pass: nothing Übergabe: nichts

Return: return s to main menu geht zurück: zum Hauptmenü

Destroyed: a, y, r0 - r15 verändert: a, y, r0 - r15

RecoverLine $C11E dez. 49438 Linie wiederherstellen

Pass: r3 x pos of left endpoint (0-319) Übergabe: r3 x Position des linken Endpunkts (0-319)

r4 x pos of right endpoint (0-319) r4 x Position des rechten Endpunkts (0-319)

r11L y pos of line (0-199) r11L y Position der Linie

Return: copies bits of line from background to gibt zurück: kopiert die Bits der Linie vom Hintergrund- in den

foreground sceen Vordergrundbildschirm

Destroyed: a, x, y, r5 - r8 verändert: a, x, y, r5 - r8

RecoverMenu $C154 dez. 49492 Menü wiederherstellen

Pass: nothing Übergabe: nichts

Return: erase menu from screen gibt zurück: löscht Menü vom Bildschirm

Destroyed: a, y, r0 - r15 verändert: a, y, r0 - r15

RecoverRectangle $C12D dez. 49453 Rechteck wiederherstellen

Pass: r2L top (0-199) Übergabe: r2L oben (0-199)

r2H bottom (0-199) r2H unten (0-199)

r3 left (0-319) r3 links (0-319)

r4 right (0-319) r4 rechtrs (0-319)

Return: rectangle recovered from backscreen gibt zurück: Rechteck vom Hintergrundschirm geholt

Destroyed: a, x, y, r5 - r8, r11 verändert: a, x, y, r5 - r8, r11

Rectangle $C124 dez. 49444 Rechteck

Pass: r2L top (0-199) Übergabe: r2L oben (0-199)

r2H bottom (0-199) r2H unten (0-199)

r3 left (0-319) r3 links (0-319)

r4 right (0-319) r4 rechtrs (0-319)

Return: draws the rectangle gibt zurück: gezeichnetes Rechteck

Destroyed: a, x, y, r5 - r8, r11 verändert: a, x, y, r5 - r8, r11

ReDoMenu $C193 dez. 49555 Menü reaktivieren

Pass: nothing Übergabe: nichts

Return: reactivate a menu after a selection gibt zurück: reaktiviertes Menü nach einer Anwahl

Destroyed: a, x, y, r0 - r13 verändert: a, x, y, r0 - r13

RenameFile $C259 dez. 49753 Datei umbenennen

Pass: r6 ptr to old filename,0 Übergabe: r6 Zeiger auf alten Dateinamen,0

r0 ptr to new filename,0 r0 Zeiger auf neuen Dateinamen,0

curDrive - set and open curDrive - gesetzt und geöffnet

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

dirEntryBuf - updated for new filename dirEntryBuf - aktualisiert für neuen Dateinamen

diskBlkBuf - dir block of that file diskBlkBuf - DirectoryBlock dieser Datei

Destroyed: a, x, y, r1, r4 - r6 verändert: a, x, y, r1, r4 - r6

ResetHandle $C003 dez. 49155 Reset-Handhabe

Internal routine used during boot up interne Routine, wird während des bootens benutzt

RestartProcess $C106 dez. 49414 Prozeß nochmals starten

Pass: x nbr of the process to restart Übergabe: x Nummer des erneut zu startenden Prozesses

Return: resets a process timer gibt zurück: Prozeß-Timer-zurückgesetzt

Destroyed: a verändert: a

RstrAppl $C23E dez. 49726 Restore Applikation (Appl. wiederherstellen)

Pass: nothing Übergabe: nichts

Return: to the application that loaded the D.A. geht zurück: zu der Applikation, die das Desk-Hilfsmittel lud

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

RstrFrmDialog $C2BF dez. 49855 Restore von Dialog

Pass: sysDBData - icon nbr Übergabe: sysDBData - Icon-Nummer

Return: r0L copy of sysDBData gibt zurück: r0L Kopie der sysDBData

Destroyed: a, x, y, r0h - r14 verändert: a, x, y, r0h - r14

SaveFile $C1ED dez. 49645 Datei speichern

Pass: r9 ptr to file header block, 2 first Übergabe: r9 Zeiger auf DateiHeaderBlock, die beiden ersten Bytes

bytes must point to filename,0 müssen auf Dateinamen,0 zeigen

r10L page nbr to start looking 4 empty r10L Seitennummer für Beginn Suche, ob 4 leer ist

Return: fileHeader - updated for file saved gibt zurück: fileHeader - aktualisiert für gespeicherte Datei

BAM updated to reflect new change BAM aktualisiert (neue Änderung berücksichtigt)

if VLIR index table created wenn VLIR-Format: Indexliste wird angelegt

x error status, 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, y, r0 - r8 verändert: a, y, r0 - r8

* SetColorMode $C2F5 dez. 49909 setze Farbmodus

Pass: A: color mode ( see chart ) Übergabe: a Farbmodus (siehe Tabelle)

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 verändert: a, x, y, r0

SetDevice $C2B0 dez. 49840 setze Laufwerk

Pass: a device nbr Übergabe: a Lafwerksnummer

Return: curDevice - updated gibt zurück: curDevice - aktualisiert

x error status, 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, x, y verändert: a, x, y

SetGDirEntry $C1F0 dez. 49648 setze G... Directory-Eintrag

Pass: r9 ptr to file header block Übergabe: r9 Zeiger auf DateiHeaderBlock

r6 ptr to fileTrScTab: already allocated r6 Zeiger auf fileTrScTab; muß schon zugeteilt sein

r10L page nbr to start looking 4 empty r10L Seitennummer für Beginn Suche, ob 4 leer ist

curDirHead - up to date curDirHead - aktuell

Return: dirEntryBuf - updated for file gibt zurück: dirEntryBuf - für Datei aktualisiert

diskBlkBuf - dir blk with file entry on it diskBlkBuf - Directoryblock der Dateieintrag enthält

curDirHead - should be written to disk curDirHead - sollte auf Disk geschrieben werden

x error status, 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, y, r0 - r5, r7, r8 verändert: a, y, r0 - r5, r7, r8

SetGEOSDisk $C1EA dez. 49642 setze GEOS-Diskette

Pass: curDrive containing disk Übergabe: curDrive - Diskette enthaltend

Return: curDirHead - updated for new GEOS dsk gibt zurück: curDirHead - für neue GEOS-Disk aktualisiert

disk - updated with Off Page Directory Disk - aktualisiert mit Off Page Directory

Destroyed: a, x, y verändert: a, x, y

* SetMouse $FE89 dez. 65161 setze Maus

Pass: nothing Übergabe: nichts

Return: nothing gibt zurück: nichts

Destroyed: depends on input device verändert: hängt vom Eingabegerät ab

* SetMsePic $C2DA 49882 setze Maus-Bild

Pass: r0 ptr to mouse picture Übergabe: r0 Zeiger auf Mausbild

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

* SetNewMode $C2DD dez. 49885 setze Neuen Modus

Pass: vdcClrMode: color mode see chart Übergabe: vdcClrMode: Farbmodus nach Tabelle

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 verändert: a, x, y, r0

SetNextFree $C292 dez. 49810 setze Nächst(e Seite) Frei

Pass: r3 Tr/Sc to start looking from Übergabe: r3 Spur/Sektor für Beginn der Suche

interleave - desired nbr interleave - gewünschte Anzahl

curDrive - set and opened curDrive - gesetzt und geöffnet (aktuelles Laufwerk)

Return: r3 Tr/Sc of allocated block gibt zurück: r3 Spur/Sektor zugeteilter Blocks

x error status, 0 = OK x Fehlerstatus (0 = OK)

curDirHead - updated, but not to disk curDirHead - aktualisiert, aber nicht auf Diskette

Destroyed: a, y, r6, r7, r8h verändert: a, y, r6, r7, r8h

SetPattern $C139 dez. 49465 setze Muster

Pass: a pattern nbr (0-33) Übergabe: a Muster-Nummer (0-33)

Return: currentPattern - updated gibt zurück: currentPattern - wird aktualisiert

Destroyed: a verändert: a

Sleep $C199 dez. 49561 Pause

Pass: r0 time to sleep in 60th of a second Übergabe: r0 Zeit in 60-stel Sekunden (für Pause)

Return: to previous routine geht zurück: zur vorhergehenden Routine

Destroyed: depends & 20 sleep max will be handle verändert: kommt darauf an. (max.20 sleeps können gehandhabt werden

SlowMouse $FE83 dez. 65155 Maus langsam

Pass: nothing Übergabe: nichts

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

SmallPutChar $C202 dez. 49666 kleines 'PutChar'

Pass: same as PutChar, but must be sure that Übergabe: wie PutChar, allerdings mußt Du sicher sein, daß alles i.O.

everything is OK, there is no checking ist; es gibt keine Testroutine

Return: same as PutChar gibt zurück: wie PutChar

Destroyed: same as PutChar verändert: wie PutChar

StartAppl $C22F dez. 497111 Start Applikation

Pass: r7 start address of application Übergabe: r7 Startadresse der Applikation

Return: to application geht zurück: zur Applikation

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

StartMouseMode $C14E dez. 49486 Start Maus-Modus

Pass: carry set to save initial pos & slow vels Übergabe: carry auf ursprüngliche Position gesetzt und 'slow vels'

r11 x position (0-319) r11 x Position (0-319)

y y position (0-199) y y Position (0-199)

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

StashRAM $C2C8 dez. 49864 Stash RAM

Pass: same as FetchRAM Übergabe: wie FetchRAM

Return: store data from computer to R.E.U. gibt zurück: Daten vom Computer zur RAM

Destroyed: a, x, y verändert: a, x, y

SwapRAM $C2CE dez. 49870 Swap RAM

Pass: same as FetchRAM Übergabe: wie FetchRAM

Return: swap data between computer and R.E.U. gibt zurück: swap-t Daten zwischen Computer und RAM

Destroyed: a, x, y verändert: a, x, y

* SwapBData $C2E3 dez. 49891

Pass: Same as DoBOp without Y Übergabe: wie DoBOp, jedoch ohne Y

return: nothing gibt zurück: nichts

Destroyed: a, x, y verändert: a, x, y

* TempHideMse $C2D7 dez. 49879 Maus (voübergehend?) verschwinden lassen

Pass: nothing Übergabe: nichts

Return: nothing gibt zurück: nichts

Destroyed: a, x, y verändert: a, x, y

ToBasic $C241 dez. 49729 Ausgang zum BASIC

Pass: r0 ptr to Basic command string,0 Übergabe: r0 Zeiger auf Basic Befehlsstring,0

r5 ptr to dir entry of file to load r5 Zeiger auf Directoryeintrag der zu ladenden Datei

or r5H = 0 for no file oder r5H = 0 für: keine Datei

* GEOS 128 r5L > 0 will autoboot disk im 128'er r5L >0 führt Autoboot durch

r7 address to load file, if any r7 Adresse zum Laden der Datei (soweit gewünscht)

Return: to basic geht zurück: zum BASIC

Destroyed: a verändert: a

TestPoint $C13F dez. 49471 prüfe Punkt

Pass: a pattern Übergabe: a Muster

r3 x position of pixel (0-319) r3 x Position des Pixel (0-319)

r11L y position of pixel (0-199) r11L y Position des Pixel (0-199)

Return: carry set if bit is set gibt zurück: carry gesetzt, wenn Bit gesetzt

Destroyed: a, x, y, r5, r6 verändert: a, x, y, r5, r6

UnblockProcess $C10F dez. 49423

Pass: x nbr of the process to unblock Übergabe: x Nummer des Prozesses, der entsperrt werden soll

Return: process's flag reset, timer counting down gibt zurück: Prozeß-Flag wird zurückgesetzt, Timer läuft ab

Destroyed: a verändert: a

UnfreezeProcess $C115 dez. 49429

Pass: x nbr of the process to unblock Übergabe: x Nummer des Prozesses, der entsperrt werden soll

Return: restart the process's timer gibt zurück: Prozeß-Timer wird erneut gestartet

Destroyed: a verändert: a

UpdateMouse $FE86 dez. 65158 Maus-Position aktualisieren

Pass: mouseXPosition - current position Übergabe: mouseXPosition - aktuelle Position x

mouseYPosition - current position mouseYPosition - aktuelle Position y

Return: mousePositions - updated gibt zurück: mousePositions - aktualisierte Maus-Position

mouseData - negative for release mouseData - negativ für Freigabe

pressFlag - Bit 6 set if fire button changed pressFlag - Bit 6 gesetzt, wenn Feuerknopf gewechselt

- Bit 5 set if inputData has changed Bit 5 gesetzt, wenn inputData geändert

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

UpdateRecordFile $C295 dez. 4918 Datensatz-Datei aktualisieren

Pass: VLIR variables up to date Übergabe: VLIR-Variablen aktuell

curDrive - set and opened curDrive - gesetzt und geöffnet (aktuelles Laufwerk)

Return: index Table - updated gibt zurück: indexListe - aktualisiert

BAM - updated BAM - aktualisiert

fileWritten - reset to 0 fileWritten - reset auf 0

Destroyed: a, x, y, r1, r4 - r6 verändert: a, x, y, r1, r4 - r6

UseSystemFont $C14B dez. 49483 benutze Systemzeichensatz

Pass: nothing Übergabe: nichts

Return: BSW as the actuel font gibt zurück: BSW als aktuellen Zeichensatz

Destroyed: a, y, r0 verändert: a, y, r0

* VerifyBData $C2E3 dez. 49891

Pass: Same as DoBOp without Y Übergabe: wie DoBOp, jedoch ohne Y

return: x 0 = same, FF = no match gibt zurück: x 0= gleich, $FF= keine Übereinstimmung

Destroyed: a, x, y verändert: a, x, y

VerifyRAM $C2D1 dez. 49873 RAM verifizieren

Pass: same as FetchRAM Übergabe: wie FetchRAM

Return: verify data between computer and R.E.U. gibt zurück: vergleicht Daten zwischen Computer und RAM

Destroyed: a, x, y verändert: a, x, y

VerticalLine $C121 dez. 49441 senkrechte Linie

Pass: a pattern Übergabe: a Muster

r3L top of line (0-199) r3L oberes Ende der Linie (0-199)

r3H bottom of line (0-199) r3H unteres Ende der Linie (0-199)

r4 x position of line (0-319) r4 x Position der Linie (0-319)

Return: draw the line gibt zurück: gezeichnete Linie

Destroyed: a, x, y, r4 - r8, r11 verändert: a, x, y, r4 - r8, r11

VerWriteBlock $C223 dez. 49699 verifiziert geschriebenen Block

Pass: r1 Tr/Sc of block Übergabe: r1 Spur/sektor des Blockes

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, x, y verändert: a, x, y

WriteBlock $C220 dez. 49696 Block schreiben

Pass: r1 Tr/Sc of block Übergabe: r1 Spur/sektor des Blockes

r4 buffer that holds the block r4 Puffer der den Block enthält

curDrive - set and opened curDrive - gesetzt und geöffnet (aktuelles Laufwerk)

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

WriteFile $C1F9 dez. 49657 Datei schreiben

Pass: r7 ptr to beginning of data Übergabe: r7 Zeiger auf Datenanfang

r6 ptr to a table of free disk blocks r6 Zeiger auf Liste freier Diskettenblöcke

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, y verändert: a, y

WriteRecord $C28F dez. 49807

Pass: r2 nbr of bytes to write Übergabe: r2 Anzahl zu schreibender Bytes

r7 ptr to beginning of data r7 Zeiger auf Datenanfang

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

VLIR variables - updated VLIR Variablen - aktualisiert

r8L nbr of bytes in last block r8L Anzahl der Bytes im letzten Block

r3 Tr/Sc of last block r3 Spur/Sektor des letzten Blocks

curDirHead - updated, but not to disk curDirHead - aktualisiert, aber nicht auf Diskette (aktDirHeader)

Destroyed: a, y, r0 - r9 verändert: a, y, r0 - r9

________________________________

Charts:

vdcColorMode: ( 80 column mode only ) VDC Farbmodus (nur 80 Zeichen!)

0 - 33 rows 0 33 Zeilen

- 25 rows in a frame 25 Zeilen in einem Rahmen

- 8 scanlines per character 8 'Zeilen' pro Zeichen

- no attribute ( no color ) kein Attribut (keine Farbe)

- Bitmap mode ( graphics ) Bitmapmodus (Grafik)

1 - 33 rows 1 33 Zeilen

- 22 rows in a frame 22 Zeilen in einem Rahmen

- 8 scanlines per character 8 'Zeilen' pro Zeichen

- attribute address at $3880 Attributadresse bei dez.14464

- Bitmap mode ( graphics ) Bitmapmodus (Grafik)

* For Expanded video ( 64K ) Für 128-Blech mit 64K Video RAM

2 - 33 rows 2 33 Zeilen

- 25 rows in a frame 25 Zeilen in einem Rahmen

- 8 scanlines per character 8 'Zeilen' pro Zeichen

- attribute address at $4000 Attributadresse bei dez.16384

- Bitmap mode ( graphics ) Bitmapmodus (Grafik)

3 - 65 rows 3 65 Zeilen

- 50 rows in a frame 50 Zeilen in einem Rahmen

- 4 scanlines per character 4 'Zeilen' pro Zeichen

- attribute address at $4000 Attributadresse bei dez.16384

4 - 129 rows 4 129 Zeilen

- 100 rows in a frame 100 Zeilen in einem Rahmen

- 2 scanlines per character 2 'Zeilen' pro Zeichen

- attribute address at $4000 Attributadresse bei dez.16384

____________________________

Disk ERROR: Disk Fehlermeldungen:

0 = OK alles in Ordnung

1 = Not enough blocks nicht genügend Blöcke

2 = Invalid track ungültige Spur

3 = Insufficient space nicht genügend Platz (Kapazität)

4 = Full directory Directory voll

5 = File not found Datei nicht gefunden

6 = Bad BAM fehlerhafte BAM

7 = Unopened VLIR file nicht geöffnete VLIR-Datei

8 = Invalid record ungültiger Record (Datensatz)

9 = Out of records keine Records mehr da

10 ($0A) = Structure mismatch Fehler in der Struktur

11 ($0B) = Buffer overflow Puffer-Überlauf

12 ($0C) = CANCEL error Abbruch-Fehler

13 ($0D) = Device not found Laufwerk nicht gefunden

14 ($0E) = Incompatible 40/80 col Bildschirmdarstellung (40/80 Z.) nicht kompatibel

32 ($20) = Header blk not found Headerblock nicht gefunden

33 ($21) = No sync mark on disk Sync-Marke nicht gefunden

34 ($22) = Data blk not there Datenblock nicht vorhanden

35 ($23) = Data checksum error Prüfsummenfehler in Daten

36 ($24) = Incompatible filetypes Dateityp nicht kompatibel

37 ($25) = Write verify error Fehler beim Schreib-Verify

38 ($26) = Write protect ON Schreibschutz EIN

39 ($27) = Header checksum error Prüfsummenfehler im Header

41 ($29) = Disk ID mismatch Disketten ID stimmt nicht

46 ($2e) = Read rate error Fehler in Leserate

115 ($73) = DOS mismatch Fehler im DOS

16 Routines.dt2 87 KB App Data Write Image V2.1 VLIR 1993-03-27 18:49 .cvt .html

note: * in front = GEOS 128 only * steht vor GEOS128-Befehlen

* AccessCache $C2EF dez.49903 Cache-Zugriff

Pass: r4 Source address in bank 1 Übergabe: r4 Quelladresse in Bank 1

r1h Dir. sector (0-20) r1h Directory sector (0-20)

y - DoBOp code 0 - save y DoBOp code 0 - speichern

1 - read 1 - lesen

2 - swap 2 - swap

3 - verify 3 - verify

or $FF to reset all pointer oder $ff um alle Zeiger zurückzusetzen

Return: access dir. cache buffer in bank 00 gibt zurück: access dir. cache buffer in bank 00

Destroyed: a, x, y + verändert: a, x, y +

AddDirBlock $9039 dez. 36921 Directoryblock hinzufügen

Pass: r1 Track & Sector of last Dir. sector Übergabe: r1 Spur und Sektor des letzten Directorysektors

Return: r1 Track & Sector of new page gibt zurück: r1 Spur und Sektor der neuen Seite

Destroyed: a, y, r0 - r15 verändert: a, y, r0 - r15

AllocateBlock $9048 dez. 36936 Block zuweisen

Pass: r6 Track & Sector Übergabe: r6 Spur und Sektor

Return: x 0 = OK gibt zurück: x Fehlerstauts (0 = OK)

Destroyed: nothing verändert: nichts

AppendRecord $C289 dez. 49801 Datensatz('Record') anhängen

Pass: nothing Übergabe: nichts

Return: a curRecord gibt zurück: a curRecord (aktueller Datensatz)

x 0 = OK x Fehlerstauts (0 = OK)

set next record, and update usedRecords arrangiert nächsten Datensatz u. aktualisiert vorh. Datensätze

Destroyed: a, x, y, r1, r4 verändert: a, x, y, r1, r4

BBMult $C160 dez. 49504 BBMult

Pass: x address of destination zpage Übergabe: x Adresse der Ziel- zpage (zeropage?)

y address of source zpage y Adresse der Quell- zpage

Return: x,y unchanged gibt zurück: x,y unverändert

Destroyed: a, r7, r8 verändert: a, r7, r8

BitmapClip $C2AA dez. 49834 Bitmapclip

Pass: r0 pointer to bitmap Übergabe: r0 Zeiger auf die Bitmap

r1L leftside of window in bytes to display the bitmap (0-39) r1L linke Seite des Bitmapfensters (0-39)

r1H top of window in pixels (0-199) r1H oberes Ende des Fensters in Pixeln

r2L width of window in bytes (0-39) r2L Breite des Fensters in Bytes

r2H height of window in pixels (0-39) r2H Höhe des Fensters in Pixeln

r11L nbr of bytes to skip from the left side before printing it r11L Byteanzahl (leer) am linken Rand zum Ausdruck

r11H the width in pixels of the bitmap to show within the window r11H Breite (Pixel) der Bitmap im Fenster angez.

r12 nbr of scanline to skip from the top r12 Anzahl scanlines ('Leerzeilen') von oben

Return: display the bitmap gibt zurück: Anzeige der Bitmap

Destroyed: a, x, y, r0 - r12 verändert: a, x, y, r0 - r12

BitmapUp $C142 dez. 49474

Pass: r0 ptr of bitmap Übergabe: r0 Zeiger auf Bitmap

r1L x pos. in bytes (0-39) r1L x Position in Bytes

r1H y pos. in scanlines (0-199) r1H y Position in scanlines ('Leerzeilen')

r2L width in bytes (0-39) r2L Breite in Bytes

r2H height in pixels (0-199) r2H Höhe in Pixeln

Return: display the bitmap gibt zurück: Anzeige der Bitmap

Destroyed: a, x, y, r0 - r9l verändert: a, x, y, r0 - r9l

BitOtherClip $C2C5 dez. 49861

Pass: r0 ptr to a 134 bytes buffer Übergabe: r0 Zeiger auf einen 134 Bytes großen Puffer

r1L leftside of window in bytes (0-39) r1L linke Fensterseite in Bytes

r1H top of window (0-199) r1H Oberseite des Fensters

r2L width in bytes of window (0-39) r2L Fensterbreite in Bytes

r2H height in pixels of window (0-199) r2H Fensterhöhe in Pixeln

r11L nbr of bytes to skip from the left side before printing it r11H linker Druckrand in Bytes

r11H the width in pixels of the bitmap to show within the window r11H Breite der Bitmap im Fenster

r12 nbr of scanline to skip from the top r12 Anzahl scanlines ('Leerzeilen') von oben (Druckrand)

r13 add. of input routine, returns next byte from bitmap in the accu. r13 gibt nächstes BitmapByte in den Akkum.

r14 address of sync routine. Just reload r0 with buffer address r14 Adresse der Sync.Routine.Lade r0 mit Pufferadresse

Return: display the bitmap gibt zurück: Bitmap-Anzeige

Destroyed: a, x, y, r0 - r14 verändert: a, x, y, r0 - r14

BldGDirEntry $C1F3 dez. 49651

Pass: r2 size of the file Übergabe: r2 Dateigröße

r6 ptr to allocated blocks in fileTrScTab r6 Zeiger auf zugewiesene Blöcke in fileTrScTab

r9 ptr to File Header block r9 Zeiger auf Datei header-Block

Return: r6 ptr to first unused block gibt zurück: r6 Zeiger auf ersten ungebrauchten Block

dirEntryBuf, update with all informations dirEntryBuf, Aktualisierung mit allen Informationen

Destroyed: a, y, r0 - r5, r7, r8 verändert: a, y, r0 - r5, r7, r8

BlkAlloc $C1FC dez.49660 Block-Zuweisung

Pass: r2 nbr of bytes, max 32,258 Übergabe: r2 Anzahl Bytes, max 32,258

r6 ptr to fileTrScTab, or +2, or +4 r6 Zeiger auf fileTrScTab oder +2 oder +4

curDirHead - loaded from disk lädt curDirHead von Disk (aktuellen DirectoryHeader)

interleave: - set interleave: - gesetzt (freie Plätze einschieben)

Return: r2 nbr of blks allocated gibt zurück: r2 Anzahl zugewiesener Blöcke

r3L track of last blk allocated r3L Spur des letzt zugewiesenen Blockes

r3H sector of last blk allocated r3H Sektor des letzt zugewiesenen Blockes

x 0 = OK x Fehlerstatus (0 = OK)

curDirHead - updated (only in memory) curDirHead wird im Speicher aktualisiert (aktueller DirHeader)

fileTrScTab - updated fileTrScTab wird aktualisiert (Datei-Spur/Sektor Tabelle)

r8L nbr of bytes in last sector r8L Anzahl der Bytes im letzten Sektor

Destroyed: a, x, y, r4 - r8 verändert: a, x, y, r4 - r8

BlockProcess $C10C dez. 49420 Block-Verarbeitung

Pass: x nbr of the process to block Übergabe: x Anzahl der Prozesse (zum Zusammenfassen???)

Destroyed: a verändert: a

BMult $C163 dez. 49507

Pass: x add. of destination zpage Übergabe: x Zufügung zu Ziel-zpage ('zeropage'?)

y add. of source zpage y Zufügung zu Quell-zpage

Return: results in destination register gibt zurück: Ergebnis ins Ziel-Register

Destroyed: a, r6, r8 verändert: a, r6, r8

BootGEOS $C000 dez.49152 Boot GEOS

Pass: nothing Übergabe: nichts

Return: to GEOS DESKTOP geht zurück zu: GEOS DESKTOP

Destroyed: complete reset verändert: alles (vollständiges RESET)

CalcBlksFree $C1DB dez. 49627 Berechnung freier Blocks

Pass: r5 ptr to Directory Header Übergabe: r5 Zeiger auf Direktory-Header

Return: r3 nbr of blocks of disk format gibt zurück: r3 Anzahl der Blocks des Diskformates

r4 nbr of block free r4 Anzahl freier Blocks

Destroyed: a, y verändert: a, y

CallDrvRoutine $9042 dez. 36930 Aufruf Laufwerks-Routine

Pass: r1 address to call Übergabe: r1 aufzurufende Adresse

Return: I do not Know how this one really works gibt zurück: Ich weiß nicht, was es wirklich tut

destroyed: ??? verändert: ???

CallRoutine $C1D8 dez. 49624 Aufruf Routine

Pass: a low byte address of routine Übergabe: a low byte Adresse der Routine

x high byte address of routine x high byte Adresse der Routine

Destroyed: nothing verändert: nichts

ChangeDiskDevice $C2BC dez. 49852 Änderung Laufwerk

Pass: a new devive nbr (8, 9, 10, 11) Übergabe: neue Laufwerksnummer (8 bis 11)

Return: x 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, x, y, r0 - r3 verändert: a, x, y, r0 - r3

ChkDkGEOS $C1DE dez. 49630

Pass: r5 ptr to curDirHead (updated from disk) Übergabe: r5 Zeiger auf curDirHead (von Disk aktualisiert)

Return: isGEOS $FF = TRUE, $00 = FALSE gibt zurück: istGEOS $ff=wahr, $00=falsch

a same as isGEOS a das gleiche wie isGEOS

Destroyed: x, y verändert: x, y

ChkDrvStatus $9045 dez. 36933 prüfe Disk-Status

Pass: nothing Übergabe: nichts

Return: x 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: ??? verändert: ???

ClearMouseMode $C19C dez. 49564 beendet Maus-Modus

Pass: nothing Übergabe: nichts

Return: turn off the mouse and disable it's sprite gibt zurück: schaltet Maus mitsamt Sprite aus

Destroyed: a, x, r3l verändert: a, x, r3l

ClearRam $C178 dez. 49528 löscht RAM

Pass: r0 nbr of bytes to clear Übergabe: r0 Anzahl zu löschender Bytes

r1 address to start r1 Startadresse für r0

Return: section fill with 0's gibt zurück: Nullen im angegebenen Bereich

Destroyed: a, y, r0, r1, r2l verändert: a, y, r0, r1, r2l

CloseRecordFile $C277 dez. 49783 schließe 'Record'-Datei

Pass: VLIR variables - updated Übergabe: aktualisierte VLIR-Variablen

Return: index table,BAM,directory block-updated gibt zurück: Indexliste, BAM, aktualisierter Directory-Block

Destroyed: a, y, r1, r4, r5 verändert: a, y, r1, r4, r5

CmpFString $C26E dez. 49774 vergleiche File-String

Pass: x add. of zpage : source string Übergabe: x add. zpage : Quell-String

y add. of zpage : destination string y add. zpage : Ziel-String

a nbr of bytes to compare a Anzahl zu vergleichender Bytes

Return: zero flag - set if strings equal gibt zurück: Null-Flag, wenn Strings gleich

minus flag - set if source byte that didn't Minus-Flag, wenn das ungleiche Quell-Byte kleiner war

match was smaller

Destroyed: a, x, y verändert: a, x, y

CmpString $C26B dez. 49771 vergleiche String

Pass: x add. of zpage : source string,NULL terminated Übergabe:x add. zpage : Quell-String, Null beendet

y add. of zpage : destination string y add. zpage : Ziel-String

Return: zero flag - set if strings equal gibt zurück: Null-Flag, wenn Strings gleich

minus flag - set if first pair of source byte Minus-Flag, wenn das erste Paar ungleicher Quell-Bytes

that didn't match was smaller kleiner war

Destroyed: a, x, y verändert: a, x, y

* ColorCard $C2F8 dez. 49912 Farb-Karte

Pass: A Color ( back - foreground color) Übergabe: A Farbe (Hinter-/Vordergrund)

r11L y position r11L y Koordinate

r3 x position r3 x koordinate

carry flag: set to color- clear for read carry flag auf Farbe gesetzt - lösche für read ('lesen')

Return: if reading - A color gibt zurück: beim lesen - eine Farbe

r5 VDC address r5 VDC Adresse

Destroyed: a, x, y, r5 verändert: a, x, y, r5

* ColorRectangle $C2FB Farbe Rechteck dez. 49915

Pass: A Color ( back - foreground color) Übergebe: A Farbe (Hinter-/Vordergrund)

r2L top r2L oben

r2H bottom r2H unten

r3 left r3 links

r4 right r4 rechts

Return: rectangle colored, if color permitted gibt zurück: gefärbtes Rechteck, soweit Farbe zugelassen

Destroyed: a, x, y, r5, r11l verändert: a, x, y, r5, r11l

CopyFString $C268 kopiere File-String dez. 49768

Pass: x add. of zpage : source string Übergebe: x Zufügung zpage Quell-String

y add. of zpage : destination y Zufügung zpage Ziel-String

a nbr of bytes to compare a Anzahl zu vergleichender Bytes

Return: string copied to destination gibt zurück: String ans Ziel kopiert

Destroyed: a, x, y verändert: a, x, y

CopyString $C265 kopiere String dez. 49765

Pass: x add. of zpage : source string, NULL terminated Übergebe: x Zufügung zpage Quell-String,Null=Abbruch

y add. of zpage : destination y Zufügung zpage Ziel-String

Return: string copied to destination gibt zurück: String ans Ziel kopiert

Destroyed: a, x, y verändert: a, x, y

CRC $C20E CRC dez. 49678

Pass: r0 ptr to data Übergebe: r0 Zeiger auf Daten

r1 nbr of bytes to check r1 Anzahl Bytes, die zu prüfen sind

Return: r2 checksum gibt zurück: r2 Prüfsumme

Destroyed: a, x, y, r0, r1, r3l verändert: a, x, y, r0, r1, r3l

Dabs $C16F Dabs dez. 49519

Pass: x add. of zpage contaning the nbr Übergebe: x Zufügung zpage einschl. Anzahl

Return: x zpage : contains the absol. value gibt zurück: x zpage enthält absoluten Wert

Destroyed: a verändert: a

Ddec $C175 Ddec dez. 49525

Pass: x add. of zpage contaning the nbr Übergebe: x Zufügung zpage einschl. Anzahl

Return: x zpage: cont. the decremented nbr gibt zurück: x zpage enthält verminderte Anzahl

Destroyed: a verändert: a

Ddiv $C169 Ddiv dez.49513

Pass: x add. of zpage: destination Übergebe: x Zufügung zpage Ziel-String

y add. of zpage: source y Zufügung zpage Quell-String

Return: destination zpage: 16 bit result gibt zurück: Ziel zpage: 16-Bit-Ergebnis

r8 remainder r8 Rest (Rückstand)

Destroyed: a, r9 verändert: a, r9

DeleteFile $C238 lösche Datei dez.49720

Pass: r0 ptr to the filename: NULL terminated Übergebe: r0 Zeiger auf Dateiname, Null = Abbruch

Return: x 0 = OK gibt zurück: x Fehlerstatus (0 = in Ordnung)

Destroyed: a, y, r0 - r9 verändert: a, y, r0 - r9

DeleteRecord $C283 lösche Record (Datensatz) dez. 49795

Pass: VLIR variable - Übergebe: VLIR-Variable

Return: x 0 = OK gibt zurück: x Fehlerstatus (0 = in Ordnung)

curRecord - points to next or last record curRecord zeigt auf nächsten oder vorigen Record

Destroyed: a, y, r0 - r9 verändert: a, y, r0 - r9

DisablSprite $C1D5 Sprite deaktivieren dez. 49621

Pass: r3L sprite nbr (0-7) Übergebe: r3L Sprite-Nummer (0 - 7)

Return: VIC register set to disable sprite. setzt zurück: VIC-Register inaktiv für Sprites

Destroyed: a, x verändert: a, x

DMult $C166 DMult dez. 49510

Pass: x add. of zpage : destination Übergebe: Zufügung zpage: Ziel

y add. of zpage : source Zufügung zpage: Quelle

Return: destination zpage gets the 16 bit result gibt zurück: Ziel zpage bekommt 16-Bit-Ergebnis

Destroyed: a, r6 - r8 verändert: a, r6 - r8

Dnegate $C172 dnegate dez.49522

Pass: x add. of zpage : word Übergebe: Zufügung zpage: Wort

Return: destination zpage gets negated gibt zurück: Ziel zpage wird negiert

Destroyed: a, y verändert: a, x

* DoBOp $C2EC DoBOp dez. 49900

Pass: r0 Ptr to start of block 1 Übergebe: r0 Zeiger auf Startblock 1

r1 Ptr to start of block 2 r1 Zeiger auf Startblock 2

r2 Number of bytes r2 Anzahl Bytes

r3L Bank of block 1 (0 or 1) r3L Bank für Block 1 (0 oder 1)

r3H Bank of block 2 (0 or 1) r3H Bank für Block 2 (0 oder 1)

Y 0 = Move Blk1 to Blk2 Y 0 = bewege Block 1 nach Block 2

1 = Move Blk2 to Blk1 1 = bewege Block 2 nach Block 1

2 = Swap Blk1 and Blk2 2 = swap Block 1 und Block 2

3 = Verify Blk1 and Blk2 3 = verfiziere Block 1 und Block 2

Return: x 0=match, $FF=mismatch (verify) gibt zurück: x 0=korrekt, $FF=Fehler (b. verifizieren)

Destroyed: a, x, y verändert: a, x, y

DoDlgBox $C256 Erstelle Dialogbox dez. 49750

Pass: r0 ptr to DB definition table Übergebe: r0 Zeiger auf DB (Dialogbox) Definitionstabelle

ex: .byte DEF_DB_POSö1 ; default box ex: .byte DEF_DB_POSö1 ; default box

.byte DBTXTSTR, X, Y .byte DBTXTSTR, X, Y

.word TextPtr ; text string .word TextPtr ; text string

.byte OK, X, Y ; Ok icon .byte OK, X, Y ; Ok icon

.byte NULL ; end of DB .byte NULL ; end of DB

TABLE: Tabelle:

1 = .byte OK, X, Y 1 = .byte OK, X, Y (in Ordnung)

2 = .byte CANCEL, X, Y 2 = .byte CANCEL, X, Y (Abbruch)

3 = .byte YES, X, Y 3 = .byte YES, X, Y (Ja)

4 = .byte NO, X, Y 4 = .byte NO, X, Y (Nein)

5 = .byte OPEN, X, Y 5 = .byte OPEN, X, Y (öffne)

6 = .byte DISK, X, Y 6 = .byte DISK, X, Y (Diskette)

7 - 10 not used 7 - 10 nicht in Gebrauch

11 = $0B .byte DBTXTSTR, X, Y 11 = $0B .byte DBTXTSTR, X, Y (Dialogbox-Textstring)

.word TextPtr .word TextPtr (Text-Zeiger)

12 = $0C .byte DBVARSTR, X, Y, RegNbr 12 = $0C .byte DBVARSTR, X, Y, RegNbr

13 = $0D .byte DBGETSTRING, X, Y, RegNbr, MaxChars 13 = $0D .byte DBGETSTRING, X, Y, RegNbr, MaxChars

14 = $0E .byte DBSYSOPV 14 = $0E .byte DBSYSOPV

15 = $0F .byte DBGRPHSTR 15 = $0F .byte DBGRPHSTR

.word graphicString .word graphicString

16 = $10 .byte DBGETFILES, X, Y 16 = $10 .byte DBGETFILES, X, Y

r7l = file type r7l Dateityp

r5 = file buffer addr r5 Datei Pufferadresse

r10 = permt file name r10 Dateiname permanent

17 = $11 .byte DBOPVEC 17 = $11 .byte DBOPVEC

.word UserVector .word UserVector

18 = $12 .byte DBUSRICON, X, Y 18 = $12 .byte DBUSRICON, X, Y

.word UserIcon .word UserIcon

UserIcon: .word iconPic,0 UserIcon: .word iconPic,0

.byte Width, Height .byte Breite, Höhe

.word ServRout .word ServRout

19 = $13 .byte DB_USR_ROUT 19 = $13 .byte DB_USR_ROUT

.word UserVector .word UserVector

Return: return through RstrFrmDialog gibt zurück: RstrFrmDialog (Restore from Dialogbox??)

r0L contains the icon's nbr r0L enthält die Nummer des Icons

Destroyed: a, x, y, r0 - r4 verändert: a, x, y, r0 - r4

DoIcons $C15A dez. 49498 öffne Icons

Pass: r0 ptr to icon table Übergebe: r0 Zeiger auf Icon-Tabelle

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 - r11 verändert: a, x, y, r0 - r11

ex: .byte nbr_icons ex: .byte nbr_icons (Icon-Anzahl)

.word x mouse .word x mouse (x Position Maus)

.byte y mouse .byte y mouse (y Position Maus)

.word icon1Pic .word icon1Pic

.byte x,y,w,h .byte x,y,w,h

.word DoIcon1 .etc... .word DoIcon1 .etc...

DoInlineReturn $C2A4 dez. 49828

Pass: a the nbr of byte to jump over Übergebe: a Anzahl der zu überspringenden Bytes

returnAdd: contain the proper return Add returnAdd: enthält korrekte return-Adresse

Return: return to application geht zurück: zur Applikation

Destroyed: a verändert: a

DoMenu $C151 dez. 49489 öffne Menü

Pass: a nbr of menu to place mouse on Übergebe: a Nummer des Menüs, auf die die Maus zeigen soll

r0 address of menu table r0 Adresse der Menü-Tabelle

Return: menu(s) seted up gibt zurück: geöffnetes Menü

Destroyed: a, x, y, r0 - r13 verändert: a, x, y, r0 - r13

ex: .byte top,bottom ex: .byte oben, unten

.word left,right .word links, rechts

.byte nbr_menuötype .byte nbr_menuötype (Nummer Menü-Typ??)

.word text1 .word text1

.byte type .byte type

.word subMenu1 .etc... .word subMenu1 .etc... (Untermenü)

subMenu1: .byte top,bottom subMenu1: .byte oben, unten

.word left,right .word links, rechts

.byte nbr_itemsötype .byte nbr_itemsötype

.word text1a .word text1a

.byte type .byte type

.word domenu1 .etc... .word domenu1 .etc...

DoneWithIO $C25F dez. 49759 Input/Output fertig

Pass: nothing Übergebe: nichts

Return: restore memory configuration gibt zurück: restaurierte Speicherkonfiguration

Destroyed: a verändert: a

DoPreviousMenu $C190 dez. 49552 öffne voriges Menü

Pass: nothing Übergebe: nichts

Return: enable previous menu gibt zurück: voriges Menü

Destroyed: a, x, y, r0 - r13 verändert: a, x, y, r0 - r13

DoRAMOp $C2D4 dez. 49876 arbeite mit RAM

Pass: y command nbr $90 = stash Übergebe: y $90 = stash

$91 = fetch $91 = fetch

$92 = swap $92 = swap

$93 = verify $93 = verify

r0 computer address r0 Computer-Adresse

r1 R.E.U. address r1 RAM-Adresse

r2 Transfer lenght r2 Transfer-Länge

r3L R.E.U. bank nbr r3L Bank-Nummer in der RAM

Return: the data is moved gibt zurück: bewegt die Daten

Destroyed: a, x, y verändert: a, x, y

DrawLine $C130 dez. 49456 zeichne Linie

Pass: signFlg set to recover from back screen Übergebe: sign Flag vom Hintergrundbildschirm zurückkehren

reset for drawing (reset beim Zeichnen)

carryFlg set for drawing in forground color carry Flag bestimmt beim Zeichnen Vordergrundfarbe

reset for background color (reset für Hintergrundfarbe)

r3 x pos of 1st point (0-319) r3 x Position für ersten Punkt (0-319)

r11L y pos of 1st point (0-199) r11L y Position für ersten Punkt (0-199)

r4 x pos of 2nd point (0-319) r4 x Position für zweiten Punkt (0-319)

r11H y pos of 2nd point (0-199) r11H y Position für zweiten Punkt (0-199)

Return: line is drawn or recover gibt zurück: gezeichnete oder wiederhergestellte Linie

Destroyed: a, x, y, r4 - r8, r11 verändert: a, x, y, r4 - r8, r11

DrawPoint $C133 dez. 49459 zeichne Punkt

Pass: same as DrawLine with no 2nd point Übergebe: wie DrawLine, jedoch ohne zweiten Punkt

Return: point is drawn or recover gibt zurück: gezeichneter oder wiederhergestellter Punkt

Destroyed: a, x, y, r5 - r6 verändert: a, x, y, r5 - r6

DrawSprite $C1C6 dez. 49606 zeichne Sprite

Pass: r3L sprite nbr (2-7) Übergebe: r3L Spritenummer (2 - 7)

r4 ptr to picture data r4 Zeiger auf Bilddaten

Return: graphic data transfer to VIC chip gibt zurück: Grafikdaten zum VIC

Destroyed: a, y, r5 verändert: a, y, r5

DSdiv $C16C dez. 49516 DSdiv

Pass: x add of destination zpage Reg Übergebe: x Zufügung zu Ziel- zpage Reg (-ister?)

y add of source zpage Reg y Zufügung zu Quell- zpage Reg

Return: r8 the remainder gibt zurück: r8 den Rest

Destroyed: a, r9 verändert: a, r9

DShiftLeft $C15D dez. 49501 Bits nach links verschieben

Pass: x add of zpage Reg Übergebe: x Zufügung zu zpage Reg (-ister?)

y nbr of bits to shift left y Anzahl der nach links zu verschiebenden Bits

Return: (x) Reg pointed by x is shifted gibt zurück: (x) Register, auf das x zeigt, wird verschoben

Destroyed: y verändert: y

DShiftRight $C262 dez. 49762 Bits nach rechts verschieben

Pass: x add of zpage Reg Übergebe: x Zufügung zu zpage Reg (-ister?)

y nbr of bits to shift right y Anzahl der nach rechts zu verschiebenden Bits

Return: (x) Reg pointed by x is shifted gibt zurück: (x) Register, auf das x zeigt, wird verschoben

Destroyed: y verändert: y

EnableProcess $C109 dez. 49417 Prozeß starten

Pass: x nbr of the process to have run Übergebe: x Nummer des zu startenden Prozesses

Return: process routine is run during next Main Loop gibt zurück: Routine wird im nächsten Main Loop ausgeführt

Destroyed: a verändert: a

EnablSprite $C1D2 dez. 49618 Sprite aktivieren

Pass: r3L sprite nbr (0-7) Übergebe: r3L Spritenummer (0 - 7)

Return: sprite activated gibt zurück: aktiviertes Sprite

Destroyed: a, x verändert: a, x

EnterDeskTop $C22C dez.49708 gehe in DeskTop

Pass: nothing Übergebe: nichts

Return: GEOS initialize and DESKTOP loaded gibt zurück: initialisiertes GEOS und lädt DeskTop

Destroyed: system is reinitialized verändert: alles (reinitialisiert)

EnterTurbo $C214 dez. 49684 Turbo aktivieren

Pass: curDrive - drive nbr Übergebe: curDrive - Laufwerksnummer (aktuell)

turboFlags - bit 7 = 1, if turbo code resident turboFlags - bit 7 = 1, wenn turbo code vorhanden

bit 6 = 1, if turbo is running - bit 6 = 1, wenn turbo gerade läuft

Return: X error status, 0 = OK gibt zurück: X Fehlerstatus, 0 = OK

Destroyed: a, y verändert: a, y

ExitTurbo $C232 dez. 49714 Ausstieg aus Turbo

Pass: curDrive: nbr of the drive to exit Übergabe: curDrive: Laufwerksnummer für Ausstieg (aktuelles Laufw.)

diskOpenFlag: Bit 7 = 1 Turbo is resident diskOpenFlag: Bit 7 = 1 : Turbo vorhanden

Bit 6 = 1 Turbo is running Bit 6 = 1 : Turbo läuft gerade

Return: x 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, y verändert: a, y

FastDelFile $C244 dez. 49732 schnelles Datei-löschen

Pass: r0 ptr to filename,0 Übergabe: r0 Zeiger auf Dateiname,0

r3 ptr to Tr/Sc list r3 Zeiger auf Spur-/Sektorliste

curDrive - set and open curDrive - gesetzt und geöffnet (aktuelles Laufwerk)

Return: x error 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

BAM updated aktualisierte BAM

dirEntryBuf - Entry of deleted file dirEntryBuf - Eintrag der gelöschten Datei (DirEintragPuffer)

Destroyed: a, y, r0 - r9 verändert: a, y, r0 - r9

FetchRAM $C2CB dez. 49867 fetch(hole)RAM

Pass: r0 computer address Übergabe: r0 Computer-Adresse

r1 R.E.U. address r1 RAM-Adresse

r2 Transfer lenght r2 Länge des Übertrags

r3L R.E.U. bank nbr r3L RAM-Bank-Nummer

Return: the data is imported from R.E.U. gibt zurück: importierte Daten von RAM

Destroyed: a, x, y verändert: a, x, y

FillRam $C17B dez. 49531 fülle RAM

Pass: r0 nbr of bytes to clear Übergabe: r0 Anzahl zu löschender Bytes

r1 address of first byte r1 Adresse des ersten Bytes (Beginn)

r2L value of byte to store in r2L zu speichernder Byte-Wert

Return: area filled in gibt zurück: einen gefüllten Bereich

Destroyed: a, y, r0 - r2l verändert: a, y, r0 - r2l

FindBAMBit $C2AD dez. 49837 suche BAM-Bit

Pass: r6L, r6H Track and Sector Übergabe: r6L, r6H Spur und Sektor

Return: zero flag - 1 = unused gibt zurück: zero-Flag 1 = unbenutzt

- 0 = used 0 = benutzt

Destroyed: nothing verändert: nichts

FindFile $C20B dez. 49675 suche Datei

Pass: r6 ptr to filename,0 Übergabe: r6 Zeiger auf Dateiname,0

Return: x error status 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

diskBlkBuf - dir blk of file diskBlkBuf - Directoryblock der Datei

dirEntryBuf - dir entry of file dirEntryBuf - Directoryeintrag der Datei

curDirHead - dir header of disk curDirHead - Disk-Directory-Header

r1L, r1H Tr/Sc of dir block r1L, r1H Spur/Sektor des Directoryblocks

r5 ptr to dir entry in diskBlkBuf r5 Zeiger auf Directoryeintrag in diskBlkBuf

Destroyed: a, y, r4, r6 verändert: a, y, r4, r6

FindFTypes $C23B dez. 49723 finde File-Typ

Pass: r6 ptr to filename buffer: 16 char,0 Übergabe: r6 Zeiger auf Dateinamen-Puffer: 16 char,0

r7L file type to look for r7L Dateityp nach dem gesucht wird

r7H maximum nbr of filename r7H Höchstzahl an Dateinamen

r10 0 or ptr to permanent name,0 r10 0 oder Zeiger auf ständigen Namen,0

Return: - buffer gets filenames gibt zurück: Dateinamen in den Puffer

- r7h = r7h - nbr of files found r7h = Anzahl der gefundenen Dateien

Destroyed: a, y, r0 - r2l, r4, r6 verändert: a, y, r0 - r2l, r4, r6

* NOTE: if r7l = DA, then only the DAs that can be run Achtung: wenn r7l = DA, dann werden nur DAs zurückgegeben, die im aktuellen

under the present graphic mode will be return. Grafikmodus startbar sind (DA= Desk-Hilfsmittel)

ex: if you are in 80 col., only DAs that can run 80 col. ex: im 80-Zeichenmodus werden nur DAs zurückgegeben, die im 80-Zeichenmod.

will be return. startbar sind

FirstInit $C271 dez. 49777 Erstinitialisierung

Pass: nothing Übergabe: nichts

Return: initialize GEOS gibt zurück: initialisiert GEOS

Destroyed: a, y, r0 - r2l verändert: a, y, r0 - r2l

FollowChain $C205 dez. 49669 folge der Verkettung

Pass: r1L, r1H Tr/Sc of first block Übergabe: r1L, r1H Spur/Sektor des ersten Blocks

r3 ptr to buffer to store Tr/Sc r3 Zeiger auf Puffer zum speichern von Spur/Sektor

Return: r1L, r1H Tr/Sc of last block gibt zurück: r1L, r1H Spur/Sektor des letzten Blocks

r3 same r3 gleich (unverändert??)

diskBlkBuf - last block of the chain diskBlkBuf - letzter Block der Verkettung (DiskBlockPuffer)

Destroyed: a, y, r1, r4 verändert: a, y, r1, r4

FrameRectangle $C127 dez. 49447 RahmenRechteck

Pass: a GEOS pattern Übergabe: a GEOS Muster

r2L top (0-199) r2L oben (0-199)

r2H bottom (0-199) r2H unten (0-199)

r3 left (0-319) r3 links (0-319)

r4 right (0-319) r4 rechts (0-319)

Return: r2L, r3H unchanged gibt zurück: r2L, r3H unverändert

Destroyed: a, x, y, r5 - r9, r11 verändert: a, x, y, r5 - r9, r11

FreeBlock $C2B9 dez. 49849 freier Block

Pass: curDirHead - dir header Übergabe: curDirHead - Directory-Header (aktuell)

r6L, r6H track and sector r6L, r6H Spur/Sektor

Return: x error status 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, r7, r8 verändert: a, r7, r8

FreeFile $C226 dez. 49702 freie Datei

Pass: dirEntryBuf - dir entry of file Übergabe: dirEntryBuf - Directoryeintrag der Datei

r9 ptr to dirEntryBuf r9 Zeiger auf dirEntryBuf

Return: x error status 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

BAM updated aktualisierte BAM

Destroyed: a, y, r0 - r9 verändert: a, y, r0 - r9

FreezeProcess $C112 dez. 49426 Prozess einfrieren

Pass: x nbr of the process to freeze Übergabe: x Nummer des einzufrierenden Prozesses

Return: process freezed gibt zurück: Prozeß eingefroren

Destroyed: a verändert: a

Get1stDirEntry $9030 dez. 36912 hole ersten Directoryeintrag

Pass: curDrive set and open Übergabe: curDrive gesetzt und geöffnet (aktuelles Laufwerk)

Return: r5 ptr 1st dir entry in diskBlkBuf gibt zurück: r5 Zeiger auf ersten Directoryeintrag in diskBlkBuf

x error status 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

GetBlock $C1E4 dez. 49636 hole Block

Pass: r1L. r1H Tr/Sc of first block Übergabe: r1L. r1H Spur/Sektor des ersten Blocks

r4 ptr to buffer r4 Zeiger auf Puffer

Return: x error status 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

GetCharWidth $C1C9 dez. 49609 hole Zeichenbreite

Pass: a ASCII char ($20 - $7e) Übergabe: a ASCII-Zeichen ($20 - $7e) (dez.. 32 - 126)

Return: a width of character gibt zurück: a Zeichenbreite

Destroyed: y verändert: y

GetDirHead $C247 dez. 49735 hole DirectoryHeader

Pass: curDrive set and open Übergabe: curDrive gesetzt und geöffnet (aktuelles Laufwerk)

Return: curDirHead - updated gibt zurück: curDirHead - aktualisierter aktueller DirHeader

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

GetDiskBlkBuf $903C dez. 36924 hole DiskBlockPuffer

Pass: r1L, r1H Tr/Sc to get Übergabe: r1L, r1H zu holende(-r) Spur/Sektor

Return: diskBlkBuf - contain the block gibt zurück: diskBlkBuf - enthält den Block

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

GetFHdrInfo $C229 dez. 49705 hole DateiHeaderInfo

Pass: r9 ptr to dir entry of file Übergabe: r9 Zeiger auf Datei-Directoryeintrag

Return: r1L, r1H Tr/Sc of first block of data gibt zurück: r1L, r1H Spur/Sektor des ersten Datenblocks

or of the index table oder der Indexliste

r7 start address r7 Startadresse

fileHeader - updated fileHeader - aktualisiert

fileTrScTab - 2 frst bytes are Ts/Sc of fileTrScTab - die zwei ersten Bytes sind Spur/Sektor des

the file header Dateiheaders

x error status 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, y, r4 verändert: a, y, r4

GetFile $C208 dez. 49627 hole Datei

Pass: r6 ptr to filename,0 Übergabe: r6 Zeiger auf Dateiname,0

r0L loadOpt flag r0L lade Opt Flag

- Bit 0 = 0 - standard loading Bit 0 = 0: standartmäßiges laden

= 1 - load file at add add ptr in r7 = 1: lädt Datei bei add add Zeiger in r7 (A.d.Ü.:???)

- Bit 6 = 0 - no printing Bit 6 = 0: druckt nicht

= 1 - set by DESKTOP for printing = 1: durch DeskTop zum drucken gesetzt

- Bit 7 = 0 - no data file Bit 7 = 0: keine Daten-Datei

= 1 - data file was klick on = 1: angeklickte Daten-Datei

r2 & r3 : only if bit 6 & 7 are set in r0L r2 und r3 nur wenn Bit 6und 7 in r0L gesetzt sind

- r2 ptr to data disk name r2 Zeiger auf Data Diskettenname

- r3 ptr to data filename r3 Zeiger auf Data Dateiname

r7 load address if Bit 0 is set in r0L r7 Ladeadresse, wenn Bit 0 in r0L gesetzt

r10L DA Recover flag r10L DA Wiederherstellungs-Flag

Bit 6 = 0 - does not save color Bit 6 = 0: Farbe wird nicht gespeichert

= 1 - does save color = 1: speichert Farbe

Bit 7 = 0 - doesn't save foreground scr Bit 7 = 0: Vordergrundbildschirm wird nicht gespeichert

= 1 - does save foreground screen = 1: Vordergrundbildschirm wird gespeichert

Return: to the file loaded or its application geht zurück: zur geladenen Datei oder ihrer Applikation

Destroyed: a, y, r0 - r10 verändert: a, y, r0 - r10

GetFreeDirBlk $C1F6 dez. 49654 suche freien DirectoryBlock

Pass: r10L page nbr to start looking Übergabe: r10L Seitennummer für Beginn des suchens

curDirHead - up to date curDirHead - up to date

Return: x error status 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

diskBlkBuf - dir blk with free dir diskBlkBuf - Directoryblock frei

y ptr to free dir in DiskBlkBuf y Zeiger auf freie Directory in diskBlkBuf

r10L page nbr of free dir entry r10L Seitennummer des freien Directoryeintrags

curDirHead - updated but only in memory curDirHead-akt. DirectoryHeader aktualisiert (nur im Speicher!)

Destroyed: a, x, y, r0 - r8 verändert: a, x, y, r0 - r8

GetNextChar $C2A7 dez. 49831 hole nächstes Zeichen

Pass: nothing Übergabe: nichts

Return: a char from input buf or 0 if empty gibt zurück: a Zeichen aus InputPuffer (oder 0, wenn leer)

Destroyed: x verändert: x

GetNxtDirEntry $9033 dez. 36915 hole nächsten Directoryeintrag

Pass: r5 add of actual dir entry within Übergabe: r5 fügt aktuellen Directoryeintrag zu diskBlkBuf

diskBlkBuf

Return: r5 ptr to next entry, valid or not gibt zurück: r5 Zeiger auf nächsten Eintrag (ob gültig oder nicht)

x error status 0 = OK x Fehlerstatus (0 = OK)

y 0 = OK, $FF = last entry on disk y 0 = OK, $FF = letzter Eintrag auf der Diskette

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

GetOPDPtr $9036 dez. 36918

Pass: nothing Übergabe: nichts

Return: r1 Tr/Sc of Off page directory gibt zurück: r1 Spur/Sektor des Off page Directory

y 0 = OK, $FF = not a GEOS dsk y 0 = OK, $FF = keine GEOS-Diskette

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

GetPtrCurDkNm $C298 dez. 49816

Pass: x add of zpage reg to put ptr in Übergabe: x add des zpage Registers zur Ablage des Zeigers in

exeption of r15 Ausnahme von r15

Return: ptr in reg specified by x gibt zurück: Zeiger im Register, das durch x angegeben

Destroyed: a, y verändert: a, y

GetRandom $C187 dez. 49543 hole Zufallszahl

Pass: nothing Übergabe: nichts

Return: ramdom - contains new 16 bit nbr gibt zurück: Zufallszahl - enthält neue 16 Bit-Nummer

Destroyed: a verändert: a

GetRealSize $C1B1 dez. 49585 hole echte Größe

Pass: a ASCII character Übergabe: a ASCII-Zeichen

x currentMode x aktueller Modus

Return: y character width gibt zurück: y Zeichenbreite

x character height x Zeichenhöhe

a baseline offset a Grundlinien offset

Destroyed: nothing verändert: nichts

GetScanLine $C13C dez. 49468 hole ScanLinie

Pass: x scanline nbr Übergabe: x Scanlinie Nummer

Return: r5 add of 1st byte of foreground scr gibt zurück: r5 add of erstes Byte des Vordergrund-Bildschirms

r6 add of 1st byte of background scr r6 add of erstes Byte des Hintergrund-Bildschirms

Destroyed: a verändert: a

GetSerialNumber $C196 dez. 49558 hole Seriennummer

Pass: nothing Übergabe: nichts

Return: r0 serial nbr of your kernal gibt zurück: r0 Seriennummer Deines Kernals

Destroyed: a verändert: a

Note: In the FindFType code there is a small routine that Achtung: Im FindFType code gibt's eine kleine Routine die die Seriennummer

will recheck the serial number and if it is not the same überprüft. Ist sie nicht mehr gleich wie beim booten, wird die LdDeskAcc

as at boot up, it will corrupt the LdDeskAcc address. Adresse verfälscht.

GEOS64 & 128 v2.0 GEOS64 & 128 v2.0

GetString $C1BA dez. 49594 hole String

Pass: keyVector - add of routine to call Übergabe: Schlüsselvektor - add of aufzurufender Routine

r0 add of a buffer to put string r0 add of eines Puffers um String abzulegen

r1L flag - if Bit 7 =1, use string fault r1L flag, wenn Bit 7 = 1 wird String Vektor bentzt, auf den

vector pointed by r4 r4 zeigt

r1H y position in scanlines (0-199) r1H y-Position in Scanlines (0-199)

r2L max char to accept from user r2L max. Zeichen, die vom User akzeptiert werden

r11 x position in pixels (0-319) r11 x Position in Pixeln (0-319)

r4 (opt) string fault vector ptr r4 string-Vektor-Zeiger (optional)

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 - r13 verändert: a, x, y, r0 - r13

GotoFirstMenu $C1BD dez. 49597 gehe zu erstem Menü

Pass: nothing Übergabe: nichts

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 - r13 verändert: a, x, y, r0 - r13

GraphicsString $C136 dez. 49462 Grafikstring

Pass: r0 ptr to graphics string,0 Übergabe: r0 Zeiger auf Grafik-String,0

MOVEPENTO 1 .word x, .byte y bewege Zeichenstift auf 1 .word x, .byte y

LINETO 2 .word x, .byte y Linie bis 2 .word x, .byte y

RECTANGLETO 3 .word x, .byte y Rechteck bis 3 .word x, .byte y

NEWPATTERN 5 .byte pattern No. neues Muster 5 .byte Musternummer

ESC_PUTSTRING 6 see PutString Abbruch Putstring 6 siehe PUTSTRING

FRAME_RECTO 7 .word x, .byte y RahmenRechteck bis 7 .word x, .byte y

New: Neu:

MOVEPENRIGHT 8 .word x bewege Z-stift rechts 8 .word x

MOVEPENDOWN 9 .byte y setze Z-stift auf 9 .byte y

MOVERIGHTDOWN 10 .word x, .byte y setze Z-stift rechts/auf 10 .word x, .byte y

Return: graphics being drawed gibt zurück: gezeichnete Grafik

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

* HideOnlyMouse $C2F2 dez. 49906 verdecke nur Maus

Pass: nothing Übergabe: nichts

return: nothing gibt zurück: nichts

Destroyed: a, x, y verändert: a, x, y

HorizontalLine $C118 dez. 49432 waagerechte Linie

Pass: a pattern byte Übergabe: a Muster-Byte

r11L y position in scanlines (0-199) r11L y Position in scanlines (0-199)

r3 x in pixel of left end (0-319) r3 x in Pixel von linkem Ende her (0-319)

r4 x in pixel of right end (0-319) r4 x in Pixel von rechten Ende her (0-319)

Return: r11L unchanged gibt zurück: r11L unverändert

Destroyed: a, x, y, r5 - r8, r11 verändert: a, x, y, r5 - r8, r11

ImprintRectangle $C250 dez. 49744 ImpressumRechteck

Pass: r2L top (0-199) Übergabe: r2L oben (0-199)

r2H bottom (0-199) r2H unten (0-199)

r3 left (0-319) r3 links (0-319)

r4 right (0-319) r4 rechts (0-319)

Return: r2L, r3H unchanged gibt zurück: r2L, r3H unverändert

Destroyed: a, x, y, r5 - r8, r11 verändert: a, x, y, r5 - r8, r11

InitForIO $C25C dez. 49756 Initialisierung für Input/Output

Pass: nothing Übergabe: nichts

Return: interrupts & sprites disabled and c64 Kernal gibt zurück: Interrupts und Sprites deaktiviert und C64 Kernal und I/O

and I/O in ein

Destroyed: a verändert: a

InitMouse $FE80 dez. 65152 Maus initialisieren

Pass: nothing Übergabe: nichts

Return: mouseXPos - set to initial value (0-319) gibt zurück: mouseXPos - gesetzt auf Anfangswert (0-319)

mouseYPos - set to initial value (0-199) mouseYPos - gesetzt auf Anfangswert (0-199)

mouseData - set to release mouseData - gesetzt zur Freigabe

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

InitProcesses $C103 dez. 49411 Prozesse initialisieren

Pass: a nbr of process to initialize. 20 max Übergabe: a Anzahl (max.20) zu initialisierender Prozesse

r0 ptr to process table r0 Zeiger auf Prozeßliste

Return: process initialized gibt zurück: initialisierter Prozeß

Destroyed: a, x, y verändert: a, x, y

ex: .word processRout1 ex: .word processRout1

.word time/60th sec .word time/60th sec

.word processRout2 etc... .word processRout2 etc...

InitRam $C181 dez. 49537 RAM-Initialisierung

Pass: r0 ptr to initialization table Übergabe: r0 Zeiger auf Initialisierungs-Liste

.word location .word location ('Ort')

.byte nbr of bytes .byte nbr of bytes (Anzahl Bytes)

.byte value1, value2, ... value n .byte value1, value2, ... value n (Wert1, Wert2, ...)

.word new location .word new location (neuer Ort)

etc. ,0,0 etc. ,0,0

Return: memory initialize gibt zurück: RAM-Initialisierung

Destroyed: a, x, y, r0 - r1 verändert: a, x, y, r0 - r1

InitTextPrompt $C1C0 dez. 49600 Initialisierung Textprompt

Pass: a size in pixels of the edit cursor Übergabe: a Größe des Edit-cursors in Pixeln

Return: nothing gibt zurück: nichts

Destroyed: a, x, y verändert: a, x, y

InsertRecord $C286 dez. 49798 Record einfügen

Pass: nothing Übergabe: nichts

Return: usedRecords - increment by one gibt zurück: usedRecords - (benutzte Records) um eins weitergezählt

curRecord - ptr to empty curRecord - (aktueller Record) Zeiger auf den neuen, leeren

Destroyed: a, x, y, r1, r4 verändert: a, x, y, r1, r4

InterruptMain $C100 dez. 49408 Interrupt

Pass: nothing Übergabe: nichts

Return: nothing gibt zurück: nichts

Destroyed: a, x, y verändert: a, x, y

InvertLine $C11B dez. 49435 Linie revers darstellen

Pass: r3 x pos of left endpoint (0-319) Übergabe: r3 x Position des linken Endpunkts (0-319)

r4 x pos of right endpoint (0-319) r4 x Position des rechten Endpunkts (0-319)

r11L y pos (0-199) r11L y Position (0-199)

Return: r3-r4 unchanged gibt zurück: r3-r4 unverändert

Destroyed: a, x, y, r5 - r8 verändert: a, x, y, r5 - r8

InvertRectangle $C12A dez. 49450 Rechteck revers darstellen

Pass: r2L top in scanlines (0-199) Übergabe: r2L oben in scanlines (0-199)

r2H bottom in scanlines (0-199) r2H unten in scanlines (0-199)

r3 left in pixels (0-319) r3 links in Pixeln (0-319)

r4 right in pixels (0-319) r4 rechts in Pixeln (0-319)

Return: r2L, r3H unchanged gibt zurück: r2L, r3H unverändert

Destroyed: a, x, y, r5 - r8 verändert: a, x, y, r5 - r8

IsMseInRegion $C2B3 dez. 49843

Pass: r2L y coord of top (0-199) Übergabe: r2L y-Koordinate oben (0-199)

r2H y coord of bottom (0-199) r2H y-Koordinate unten (0-199)

r3 x coord of left (0-319) r3 x-Koordinate links (0-319)

r4 x coord of right (0-319) r4 x-Koordinate rechts (0-319)

Return: a $FF = in : $00 = outside gibt zurück: a $FF = innen ; $00 = außen

Destroyed: nothing verändert: nichts

i_BitmapUp $C1AB dez. 49579

Same as BitmapUp with data after the jsr entspricht BitmapUp mit Daten nach jsr

i_FillRam $C1B4 dez. 49588

Same as FillRam with data after the jsr entspricht FillRam mit Daten nach jsr

i_FrameRectangle $C1A2 dez. 49570

Same as FrameRectangle with data after the jsr entspricht FrameRectangle mit Daten nach jsr

with the pattern byte the last mit Muster-Byte an letzter Stelle

i_GraphicsString $C1A8 dez. 49576

Same as GraphicsString with data after the jsr entspricht GraphicsString mit Daten nach jsr

i_ImprintRectangle$C253 dez. 49747

Same as ImprintRectangle with data after the jsr entspricht ImprintRectangle mit Daten nach jsr

i_MoveData $C1B7 dez. 49591

Same as MoveData with data after the jsr entspricht MoveData mit Daten nach jsr

i_PutString $C1AE dez. 49582

Pass: .word x Übergabe: .word x

.byte y .byte y

.byte "text",0 .byte "text",0

Destroyed: a, x, y, r0 - r10 verändert: a, x, y, r0 - r10

i_RecoverRectangle$C1A5 dez. 49573

Same as RecoverRectangle with data after the jsr entspricht RecoverRectangle mit Daten nach jsr

i_Rectangle $C19F dez. 49567

Same as Rectangle with data after the jsr entspricht Rectangle mit Daten nach jsr

* JmpIndX $9D80 dez. 40320

Pass: A reg. nbr containing address to jsr Übergabe: a Registernummer mit Adresse für jsr

through

Return: nothing gibt zurück: nichts

Destroyed: a, x, + dest. by routine called verändert: a, x, +Ziel, durch Routine aufgerufen

LdApplic $C21D dez. 49693 lade Applikation

Pass: r9 ptr to dir entry of file Übergabe: r9 Zeiger auf Directoryeintrag der Datei

r0L loadOpt flag r0L lade optionales Flag

- Bit 0 = 0 - standard loading - Bit 0 = 0 standartmäßiges Laden

= 1 - load file at add add ptr in r7 = 1 lade Datei bei add add Zeiger in r7

- Bit 6 = 0 - no printing - Bit 6 = 0 kein Druck

= 1 - set by DESKTOP for printing = 1 wird durch DeskTop zum Drucken gesetzt

- Bit 7 = 0 - no data file - Bit 7 = 0 kein Datenfile

= 1 - data file was klick on = 1 Datenfile wurde angeklickt

r2 & r3 : only if bit 6 & 7 are set in r0L r2 & r3 : nur wenn Bit 6 & 7 in r0L gesetzt sind

- r2 ptr to data disk name r2 Zeiger auf Name der Datendisk

- r3 ptr to data filename r3 Zeiger auf Name des Datenfiles

r7 load address if Bit 0 is set in r0L r7 Ladeadresse, wenn Bit0 in r0L gesetzt ist

Return: to the application, unless r7 was used kehrt zurück: zur Applikation, es sei denn, r7 wurde gebraucht

fileTrScTab+2 - list of Tr/Sc of file fileTrScTab+2 Liste der Spuren/Sektoren der Datei

x error status (0 = OK) x Fehlerstatus (0 = OK)

r1 if buf overflo, Tr/Sc that didn't fit r1 bei Pufferüberlauf: Spur/Sektor, der nicht passend war

Destroyed: a, x, y, r0 - r10 verändert: a, x, y, r0 - r10

LdDeskAcc $C217 dez. 49687 lade DeskAcc ('DeskHilfsmittel'), 'DA'

Pass: r9 ptr to dir entry of file Übergabe: r9 Zeiger auf Directoryeintrag der Datei

r10L DA recover Flag (see GetFile) r10L DeskHilfsmittel-Wiederherstellungsflag (siehe GetFile)

Return: To D.A. at start address in file header geht zurück: zum DeskHilfsmittel bzw. zur Startadresse im Datei-Header

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

LdFile $C211 dez. 49681 lade Datei

Pass: r9 ptr to dir entry of file Übergabe: r9 Zeiger auf Directoryeintrag der Datei

r0L loadOpt flag (see GetFile) r0L Flag für Ladeoption (siehe GetFile)

r7 load address if Bit 0 is set in r0L r7 Ladeadresse, wenn in r0L Bit 0 gesetzt

Return: to the application, unless r7 was used geht zurück: zur Applikation, es sei denn, r7 war in Gebrauch

Destroyed: a, x, y, r0 - r10 verändert: a, x, y, r0 - r10

LoadCharSet $C1CC dez. 49612 lade Zeichensatz

Pass: r0 add of font Übergabe: r0 add of Zeichensatz

Return: new character set activated gibt zurück: aktivierten neuen Zeichensatz

Destroyed: a, y, r0 verändert: a, y, r0

MainLoop $C1C3 dez. 49603

Pass: nothing Übergabe: nichts

Return: nothing gibt zurück: nichts

Destroyed: a, x, y + depends on vector verändert: a, x, y und weitere, abhängig vom Vektor

MouseOff $C18D dez. 49549 Maus deaktivieren

Pass: nothing Übergabe: nichts

Return: mouse disable gibt zurück: 'aus' die Maus

Destroyed: a, x, y, r3 verändert: a, x, y, r3

MouseUp $C18A dez. 49546 Maus einschalten

Pass: nothing Übergabe: nichts

Return: reactivate mouse after a MouseOff gibt zurück: reaktivierte Maus (nach MouseOff)

Destroyed: a verändert: a

* MoveBData $C2E3 dez. 49891 bewege

Pass: Same as DoBOp without Y Übergabe: gleich wie DoBOp, jedoch ohne Y

return: nothing gibt zurück: nichts

Destroyed: a, x, y verändert: a, x, y

MoveData $C17E dez. 49534 bewege Daten

Pass: r0 source address Übergabe: r0 Quelladresse

r1 destination address r1 Zieladresse

r2 transfer lenght r2 Länge des zu bewegenden Teils

Return: data is moved to destination gibt zurück: zum Ziel bewegte Daten

Destroyed: a, y, r0 - r2 verändert: a, y, r0 - r2

NextRecord $C27A dez. 49786 nächster Record (Datensatz)

Pass: nothing Übergabe: nichts

Return: a curRecord gibt zurück: a curRecord (aktueller Datensatz)

x error status, 0 = OK x Fehlerstatus (0 = OK)

y track of record, or 0 if empty y Spur des Datensatzes, wenn leer, dann 0

r1 Track and Sector of record r1 Spur und Sektor des Datensatzes

Destroyed: nothing verändert: nichts

NewDisk $C1E1 dez. 49633 neue Diskette

Pass: curDrive - correct device nbr Übergabe: curDrive - korrekte aktuelle Laufwerksnummer

Return: New BAM read into drive memory gibt zurück: neue BAM wird in Laufwerksspeicher eingelesen

x error status, 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, y, r1, Disk buffers verändert: a, y, r1, Disk-Puffer

* NormalizeX $C2E0 dez. 49888 normiere X

Called: by all Graghics Routines Aufgerufen: durch alle Grafik-Routinen

Pass: x register nbr containing the word Übergabe: x Registernummer, die das zu normalisierende Wort enthält

to normalize as follows:

bit of high byte Bit des Highbyte:

7 6 5 7 6 5

0 0 0 do nothing, positive value 0 0 0 tut nix, positiver Wert

1 1 0 do nothing, negative value 1 1 0 tut nix, negativer Wert

1 0 n double X + n, positive value 1 0 n doppelt X + n, positiver Wert

0 1 n double X - n, negative value 0 1 n doppelt X - n, negativer Wert

return: nothing gibt zurück: nichts

Note: Do nothing but strip the 3 high bytes if in 40 col. Anmerkung: tut nix, außer die 3 highbytes strippen (40-Zeichenmodus)

Destroyed: a verändert: a

NxtBlkAlloc $C24D dez. 49741 nächsten Block zuteilen

Pass: r3 Tr/Sc to start looking for open blk Übergabe: r3 Spur/Sektor für Beginn der Suche nach offenem Block

r2 nbr of bytes to allocate space for r2 Anzahl der Bytes, für die Platz zugeteilt ewrden soll

r6 ptr to buffer for the Tr/Sc table r6 Zeiger auf Puffer für Spur/Sektor-Liste

curDirHead - up to date curDirHead aktuell

interleave - nbr of interleave interleave - Anzahl 'Einschübe'

Return: r2 nbr of blocks allocated gibt zurück: r2 Anzahl zugeteilter Blocks

r3 Tr/Sc of last blk allocated r3 Spur/Sektor des zuletzt zugeteilten Blocks

x error status, 0 = OK x Fehlerstatus (0 = OK)

curDirHead - updated for new allocated blk curDirHead aktualisiert für neu zugeteilten Block

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

OpenDisk $C2A1 dez. 49825 Diskette öffnen

Pass: curDrive - set with SetDevice Übergabe: curDrive mit SetDevice gesetzt

Return: r5 ptr to Dr?curDkNm gibt zurück: r5 Zeiger auf Dr?curDkNm

x error status, 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

OpenRecordFile $C274 dez. 49780 öffne Datensatz-Datei

Pass: r0 ptr to filename,0 Übergabe: r0 Zeiger auf Dateiname,0

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

fileHeader - index table fileHeader - Indexliste

usedRecords - nbr of records in file usedRecords - Anzahl Datensätze in Datei

fileWritten - 0 = no change fileWritten - 0 = keine Änderung

curRecord - $FF = empty curRecord - $FF = leer

dirEntryBuf - dir entry of file dirEntryBuf - Directoryeintrag der Datei

curDirHead - dir header of disk curDirHead - Directoryheader der Diskette

Destroyed: a, y, r1, r4 - r6 verändert: a, y, r1, r4 - r6

Panic $C2C2 dez. 49858 Panik-Absturz

Pass: nothing Übergabe: nichts

Return: does not return gibt zurück: es gibt kein zurück

Destroyed: ???, you will have to reboot verändert: ??? - Du mußt neu booten

PointRecord $C280 dez. 49792 zeige auf Datensatz

Pass: a record to point to Übergabe: a Datensatz auf den zu zeigen ist

Return: a curRecord gibt zurück: a curRecord (aktueller Datensatz)

x error status, 0 = OK x Fehlerstatus (0 = OK)

y track of record, or 0 if empty y Spur des Datensatzes, oder 0 wenn leer

r1 Track and Sector of record r1 Spur und Sektor des Datensatzes

Destroyed: nothing verändert: nichts

PosSprite $C1CF dez. 49615 Sprite positionieren

Pass: r3L sprite nbr (0-7) Übergabe: r3L Spritenummer (0-7)

r4 x pos (0-319) r4 x Position (0-319)

r5L y pos (0-199) r5L y Positoin (0-199)

Return: r3L unchanged gibt zurück: r3L unverändert

Destroyed: a, x, y, r6 verändert: a, x, y, r6

PreviousRecord $C27D dez. 49789 vorhergehender Datensatz

Pass: nothing Übergabe: nichts

Return: a curRecord gibt zurück: a curRecord (aktueller Datensatz)

x error status, 0 = OK x Fehlerstatus (0 = OK)

y track of record, or 0 if empty y Spur des Datensatzes, oder 0 wenn leer

r1 Track and Sector of record r1 Spur und Sektor des Datensatzes

Destroyed: nothing verändert: nichts

PromptOff $C29E dez. 49822 Eingabeprompt ausschalten

Pass: nothing Übergabe: nichts

Return: erase cursor gibt zurück: radiert Cursor aus

Destroyed: a, x, r3l verändert: a, x, r3l

PromptOn $C29B dez. 49819 Eingabeprompt einschalten

Pass: stringX x pos in pixels (0-319) Übergabe: stringX x Position in Pixeln (0-319)

stringY y pos in scanlines (0-199) stringY y Position in scanlines (0-199)

Return: display cursor at x, y gibt zurück: Cursor erscheint bei x, y

Destroyed: a, x, r3l, r5l, r6 verändert: a, x, r3l, r5l, r6

PurgeTurbo $C235 dez. 49717 Turbo 'auskippen'

Pass: curDrive - up to date Übergabe: curDrive - aktuell

TurboFlags - up to date TurboFlags - aktuell

Bit 7 - 1 if turbo is in drive Bit 7 = 1, wenn Turbo im Laufwerk vorhanden

Bit 6 - 1 if turbo is running in drive Bit 6 = 1, wenn Turbo im Laufwerk aktiv (läuft)

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

TurboFlags - updated TurboFlags - aktualisiert

Destroyed: a, x, y, r0 - r3 verändert: a, x, y, r0 - r3

PutBlock $C1E7 dez. 49639 Block 'ablegen'

Pass: r1 Tr/Sc to put block Übergabe: r1 Spur/Sektor um Block abzulegen

r4 ptr to block of data r4 Zeiger auf Datenblock

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

PutChar $C145 dez. 49477 Zeichen 'ablegen'

Pass: a ASCII character Übergabe: a ASCII - Zeichen

r1H y position (0-199) r1H y Position (0-199)

r11 x position (0-319) r11 x position (0-319)

Return: r1H y position for next char gibt zurück: r1H y Position für nächstes Zeichen

r11 x position for next char r11 x Position für nächstes Zeichen

Destroyed: a, x, y, r0, r2 - r10, r12, r13 verändert: a, x, y, r0, r2 - r10, r12, r13

PutDecimal $C184 dez. 49540 Dezimal(punkt) setzen

Pass: a - format: Bit 7: 1 for left justify Übergabe: a - Format: Bit 7 = 1 für linksbündige Anordnung

0 for right = 0 für rechtsbündige Anordnung

Bit 6: 1 supress leading 0's Bit 6 = 1 unterdrückt führende Nullen

0 print leading 0's = 0 schreibt führende Nullen

Bit 0-5: field width 4 right justify Bit 0-5 Feldbreite 4, rechtsbündig

r0 16 Bit nbr to print r0 16-Bit-Zahl zur Ausgabe

r1H y position (0-199) r1H y Position (0-199)

r11 x position (0-319) r11 x Position (0-319)

Return: r1H y position for next char gibt zurück: r1H y Position für nächstes Zeichen

r11 x position for next char r11 x Position für nächstes Zeichen

Destroyed: a, x, y, r0, r2 - r10, r12, r13 verändert: a, x, y, r0, r2 - r10, r12, r13

PutDirHead $C24A dez. 49738 DirectoryHeader 'ablegen'

Pass: curDirHead - up to date for current disk Übergabe: curDirHead - aktuell für aktuelle Diskette

curDrive - set and open curDrive - gesetzt und geöffnet

Return: curDirHead - written to current disk gibt zurück: curDrive - auf aktuelle Diskette geschrieben

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

PutDiskBlkBuf $903F dez. 36927 DiskBlockPuffer 'ablegen'

Pass: r1 Tr/Sc to put block Übergabe: r1 Spur/Sektor um Block abzulegen

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

PutString $C148 dez. 49480 String 'ablegen'

Pass: r0 ptr to text string,0 Übergabe: r0 Zeiger auf String,0

r1H y position (0-199) r1H y Position (0-199)

r11 x position (0-319) r11 x Position (0-319)

Return: r1H y position for next char gibt zurück: r1H y Position für nächstes Zeichen

r11 x position for next char r11 x Position für nächstes Zeichen

Destroyed: a, x, y, r0l, r2 - r10l verändert: a, x, y, r0l, r2 - r10l

ReadBlock $C21A dez. 49690 lies Block

Pass: r1 Tr/Sc of block to read Übergabe: r1 Spur/Sektor des zu lesenden Blockes

r4 buffer for block r4 Puffer für den Block

curDrive - set and open curDrive - gesetzt und geöffnet

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

r1, r4 unchanged r1, r4 unverändert

Destroyed: a, y verändert: a, y

ReadByte $C2B6 dez. 49846 lies Byte

Pass: r1 Tr/Sc of block to read Übergabe: r1 Spur/Sektor des zu lesenden Blockes

r4 buffer for block r4 Puffer für den Block

r5 0, index to nxt byte to read r5 0, Hinweis auf nächst zu lesendes Byte

curDrive - set and open curDrive - gesetzt und geöffnet

Return: a byte read from block gibt zurück: a gelesenes Byte aus dem Block

x error status, 0 = OK x Fehlerstatus (0 = OK)

r1 Tr/Sc of next block r1 Spur/Sektor des nächsten Blockes

r4 unchanged r4 unverändert

Destroyed: a, y verändert: a, y

ReadFile $C1FF dez. 49663 lies Datei

Pass: r7 address to read file Übergabe: r7 Adresse, die Datei zu lesen

r1 Tr/Sc of firsr block r1 Spur/Sektor des ersten Blockes

r2 size of destination buffer r2 Größe des Zielpuffers

Return: fileTrScTab - updated gibt zurück: fileTrScTab - aktualisiert

x error status, 0 = OK x Fehlerstatus (0 = OK)

r7 ptr to last byte+1 r7 Zeiger zum letzten Byte +1

r5L ptr to last entry in fileTrScTab r5L Zeiger auf letzten Eintrag in fileTrScTab

r1 if buffer overflow, Tr/Sc of last blk r1 bei Puffer-Überlauf: Spur/Sektor des letzten Blockes

Destroyed: a, y, r1 - r4 verändert: a, y, r1 - r4

ReadLink $904B dez. 36939 lies LinkBytes

Pass: r1 Tr/Sc of block to read Übergabe: r1 Spur/Sektor des zu lesenden Blockes

r4 buffer for Tr/Sc link bytes (2) r4 Puffer für Spur/Sektor- LinkBytes

curDrive - set and open curDrive - gesetzt und geöffnet

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

r1, r4 unchanged r1, r4 unverändert

Destroyed: a, y verändert: a, y

ReadRecord $C28C dez. 49804 lies Datensatz

Pass: r2 max space of buffer Übergabe: r2 maximale Puffergröße

r7 address to put data r7 Adresse, um Daten abzulegen

file - open with OpenRecordFile Datei öffnen mit OpenRecordFile

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

r7 ptr to last byte +1 r7 Zeiger auf letztes Byte +1

a 0 if empty record a = 0, wenn Datensatz leer

fileTrScTab - Tr/Sc table of record fileTrScTab - Spur/Sektor-Liste des Datensatzes

r5L ptr to last Tr/Sc in fileTrScTab r5L Zeiger auf letzten Spur/Sektor in fileTrScTab

r1 if buffer overflow, Tr/Sc of last blk r1 wenn Puffer überläuft: Spur/Sektor des letzten Blocks

Destroyed: a, y, r1 - r4 verändert: a, y, r1 - r4

RecoverAllMenus $C157 dez. 49495 alle Menüs wiederherstellen

Pass: nothing Übergabe: nichts

Return: return s to main menu geht zurück: zum Hauptmenü

Destroyed: a, y, r0 - r15 verändert: a, y, r0 - r15

RecoverLine $C11E dez. 49438 Linie wiederherstellen

Pass: r3 x pos of left endpoint (0-319) Übergabe: r3 x Position des linken Endpunkts (0-319)

r4 x pos of right endpoint (0-319) r4 x Position des rechten Endpunkts (0-319)

r11L y pos of line (0-199) r11L y Position der Linie

Return: copies bits of line from background to gibt zurück: kopiert die Bits der Linie vom Hintergrund- in den

foreground sceen Vordergrundbildschirm

Destroyed: a, x, y, r5 - r8 verändert: a, x, y, r5 - r8

RecoverMenu $C154 dez. 49492 Menü wiederherstellen

Pass: nothing Übergabe: nichts

Return: erase menu from screen gibt zurück: löscht Menü vom Bildschirm

Destroyed: a, y, r0 - r15 verändert: a, y, r0 - r15

RecoverRectangle $C12D dez. 49453 Rechteck wiederherstellen

Pass: r2L top (0-199) Übergabe: r2L oben (0-199)

r2H bottom (0-199) r2H unten (0-199)

r3 left (0-319) r3 links (0-319)

r4 right (0-319) r4 rechtrs (0-319)

Return: rectangle recovered from backscreen gibt zurück: Rechteck vom Hintergrundschirm geholt

Destroyed: a, x, y, r5 - r8, r11 verändert: a, x, y, r5 - r8, r11

Rectangle $C124 dez. 49444 Rechteck

Pass: r2L top (0-199) Übergabe: r2L oben (0-199)

r2H bottom (0-199) r2H unten (0-199)

r3 left (0-319) r3 links (0-319)

r4 right (0-319) r4 rechtrs (0-319)

Return: draws the rectangle gibt zurück: gezeichnetes Rechteck

Destroyed: a, x, y, r5 - r8, r11 verändert: a, x, y, r5 - r8, r11

ReDoMenu $C193 dez. 49555 Menü reaktivieren

Pass: nothing Übergabe: nichts

Return: reactivate a menu after a selection gibt zurück: reaktiviertes Menü nach einer Anwahl

Destroyed: a, x, y, r0 - r13 verändert: a, x, y, r0 - r13

RenameFile $C259 dez. 49753 Datei umbenennen

Pass: r6 ptr to old filename,0 Übergabe: r6 Zeiger auf alten Dateinamen,0

r0 ptr to new filename,0 r0 Zeiger auf neuen Dateinamen,0

curDrive - set and open curDrive - gesetzt und geöffnet

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

dirEntryBuf - updated for new filename dirEntryBuf - aktualisiert für neuen Dateinamen

diskBlkBuf - dir block of that file diskBlkBuf - DirectoryBlock dieser Datei

Destroyed: a, x, y, r1, r4 - r6 verändert: a, x, y, r1, r4 - r6

ResetHandle $C003 dez. 49155 Reset-Handhabe

Internal routine used during boot up interne Routine, wird während des bootens benutzt

RestartProcess $C106 dez. 49414 Prozeß nochmals starten

Pass: x nbr of the process to restart Übergabe: x Nummer des erneut zu startenden Prozesses

Return: resets a process timer gibt zurück: Prozeß-Timer-zurückgesetzt

Destroyed: a verändert: a

RstrAppl $C23E dez. 49726 Restore Applikation (Appl. wiederherstellen)

Pass: nothing Übergabe: nichts

Return: to the application that loaded the D.A. geht zurück: zu der Applikation, die das Desk-Hilfsmittel lud

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

RstrFrmDialog $C2BF dez. 49855 Restore von Dialog

Pass: sysDBData - icon nbr Übergabe: sysDBData - Icon-Nummer

Return: r0L copy of sysDBData gibt zurück: r0L Kopie der sysDBData

Destroyed: a, x, y, r0h - r14 verändert: a, x, y, r0h - r14

SaveFile $C1ED dez. 49645 Datei speichern

Pass: r9 ptr to file header block, 2 first Übergabe: r9 Zeiger auf DateiHeaderBlock, die beiden ersten Bytes

bytes must point to filename,0 müssen auf Dateinamen,0 zeigen

r10L page nbr to start looking 4 empty r10L Seitennummer für Beginn Suche, ob 4 leer ist

Return: fileHeader - updated for file saved gibt zurück: fileHeader - aktualisiert für gespeicherte Datei

BAM updated to reflect new change BAM aktualisiert (neue Änderung berücksichtigt)

if VLIR index table created wenn VLIR-Format: Indexliste wird angelegt

x error status, 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, y, r0 - r8 verändert: a, y, r0 - r8

* SetColorMode $C2F5 dez. 49909 setze Farbmodus

Pass: A: color mode ( see chart ) Übergabe: a Farbmodus (siehe Tabelle)

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 verändert: a, x, y, r0

SetDevice $C2B0 dez. 49840 setze Laufwerk

Pass: a device nbr Übergabe: a Lafwerksnummer

Return: curDevice - updated gibt zurück: curDevice - aktualisiert

x error status, 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, x, y verändert: a, x, y

SetGDirEntry $C1F0 dez. 49648 setze G... Directory-Eintrag

Pass: r9 ptr to file header block Übergabe: r9 Zeiger auf DateiHeaderBlock

r6 ptr to fileTrScTab: already allocated r6 Zeiger auf fileTrScTab; muß schon zugeteilt sein

r10L page nbr to start looking 4 empty r10L Seitennummer für Beginn Suche, ob 4 leer ist

curDirHead - up to date curDirHead - aktuell

Return: dirEntryBuf - updated for file gibt zurück: dirEntryBuf - für Datei aktualisiert

diskBlkBuf - dir blk with file entry on it diskBlkBuf - Directoryblock der Dateieintrag enthält

curDirHead - should be written to disk curDirHead - sollte auf Disk geschrieben werden

x error status, 0 = OK x Fehlerstatus (0 = OK)

Destroyed: a, y, r0 - r5, r7, r8 verändert: a, y, r0 - r5, r7, r8

SetGEOSDisk $C1EA dez. 49642 setze GEOS-Diskette

Pass: curDrive containing disk Übergabe: curDrive - Diskette enthaltend

Return: curDirHead - updated for new GEOS dsk gibt zurück: curDirHead - für neue GEOS-Disk aktualisiert

disk - updated with Off Page Directory Disk - aktualisiert mit Off Page Directory

Destroyed: a, x, y verändert: a, x, y

* SetMouse $FE89 dez. 65161 setze Maus

Pass: nothing Übergabe: nichts

Return: nothing gibt zurück: nichts

Destroyed: depends on input device verändert: hängt vom Eingabegerät ab

* SetMsePic $C2DA 49882 setze Maus-Bild

Pass: r0 ptr to mouse picture Übergabe: r0 Zeiger auf Mausbild

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

* SetNewMode $C2DD dez. 49885 setze Neuen Modus

Pass: vdcClrMode: color mode see chart Übergabe: vdcClrMode: Farbmodus nach Tabelle

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 verändert: a, x, y, r0

SetNextFree $C292 dez. 49810 setze Nächst(e Seite) Frei

Pass: r3 Tr/Sc to start looking from Übergabe: r3 Spur/Sektor für Beginn der Suche

interleave - desired nbr interleave - gewünschte Anzahl

curDrive - set and opened curDrive - gesetzt und geöffnet (aktuelles Laufwerk)

Return: r3 Tr/Sc of allocated block gibt zurück: r3 Spur/Sektor zugeteilter Blocks

x error status, 0 = OK x Fehlerstatus (0 = OK)

curDirHead - updated, but not to disk curDirHead - aktualisiert, aber nicht auf Diskette

Destroyed: a, y, r6, r7, r8h verändert: a, y, r6, r7, r8h

SetPattern $C139 dez. 49465 setze Muster

Pass: a pattern nbr (0-33) Übergabe: a Muster-Nummer (0-33)

Return: currentPattern - updated gibt zurück: currentPattern - wird aktualisiert

Destroyed: a verändert: a

Sleep $C199 dez. 49561 Pause

Pass: r0 time to sleep in 60th of a second Übergabe: r0 Zeit in 60-stel Sekunden (für Pause)

Return: to previous routine geht zurück: zur vorhergehenden Routine

Destroyed: depends & 20 sleep max will be handle verändert: kommt darauf an. (max.20 sleeps können gehandhabt werden

SlowMouse $FE83 dez. 65155 Maus langsam

Pass: nothing Übergabe: nichts

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

SmallPutChar $C202 dez. 49666 kleines 'PutChar'

Pass: same as PutChar, but must be sure that Übergabe: wie PutChar, allerdings mußt Du sicher sein, daß alles i.O.

everything is OK, there is no checking ist; es gibt keine Testroutine

Return: same as PutChar gibt zurück: wie PutChar

Destroyed: same as PutChar verändert: wie PutChar

StartAppl $C22F dez. 497111 Start Applikation

Pass: r7 start address of application Übergabe: r7 Startadresse der Applikation

Return: to application geht zurück: zur Applikation

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

StartMouseMode $C14E dez. 49486 Start Maus-Modus

Pass: carry set to save initial pos & slow vels Übergabe: carry auf ursprüngliche Position gesetzt und 'slow vels'

r11 x position (0-319) r11 x Position (0-319)

y y position (0-199) y y Position (0-199)

Return: nothing gibt zurück: nichts

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

StashRAM $C2C8 dez. 49864 Stash RAM

Pass: same as FetchRAM Übergabe: wie FetchRAM

Return: store data from computer to R.E.U. gibt zurück: Daten vom Computer zur RAM

Destroyed: a, x, y verändert: a, x, y

SwapRAM $C2CE dez. 49870 Swap RAM

Pass: same as FetchRAM Übergabe: wie FetchRAM

Return: swap data between computer and R.E.U. gibt zurück: swap-t Daten zwischen Computer und RAM

Destroyed: a, x, y verändert: a, x, y

* SwapBData $C2E3 dez. 49891

Pass: Same as DoBOp without Y Übergabe: wie DoBOp, jedoch ohne Y

return: nothing gibt zurück: nichts

Destroyed: a, x, y verändert: a, x, y

* TempHideMse $C2D7 dez. 49879 Maus (voübergehend?) verschwinden lassen

Pass: nothing Übergabe: nichts

Return: nothing gibt zurück: nichts

Destroyed: a, x, y verändert: a, x, y

ToBasic $C241 dez. 49729 Ausgang zum BASIC

Pass: r0 ptr to Basic command string,0 Übergabe: r0 Zeiger auf Basic Befehlsstring,0

r5 ptr to dir entry of file to load r5 Zeiger auf Directoryeintrag der zu ladenden Datei

or r5H = 0 for no file oder r5H = 0 für: keine Datei

* GEOS 128 r5L > 0 will autoboot disk im 128'er r5L >0 führt Autoboot durch

r7 address to load file, if any r7 Adresse zum Laden der Datei (soweit gewünscht)

Return: to basic geht zurück: zum BASIC

Destroyed: a verändert: a

TestPoint $C13F dez. 49471 prüfe Punkt

Pass: a pattern Übergabe: a Muster

r3 x position of pixel (0-319) r3 x Position des Pixel (0-319)

r11L y position of pixel (0-199) r11L y Position des Pixel (0-199)

Return: carry set if bit is set gibt zurück: carry gesetzt, wenn Bit gesetzt

Destroyed: a, x, y, r5, r6 verändert: a, x, y, r5, r6

UnblockProcess $C10F dez. 49423

Pass: x nbr of the process to unblock Übergabe: x Nummer des Prozesses, der entsperrt werden soll

Return: process's flag reset, timer counting down gibt zurück: Prozeß-Flag wird zurückgesetzt, Timer läuft ab

Destroyed: a verändert: a

UnfreezeProcess $C115 dez. 49429

Pass: x nbr of the process to unblock Übergabe: x Nummer des Prozesses, der entsperrt werden soll

Return: restart the process's timer gibt zurück: Prozeß-Timer wird erneut gestartet

Destroyed: a verändert: a

UpdateMouse $FE86 dez. 65158 Maus-Position aktualisieren

Pass: mouseXPosition - current position Übergabe: mouseXPosition - aktuelle Position x

mouseYPosition - current position mouseYPosition - aktuelle Position y

Return: mousePositions - updated gibt zurück: mousePositions - aktualisierte Maus-Position

mouseData - negative for release mouseData - negativ für Freigabe

pressFlag - Bit 6 set if fire button changed pressFlag - Bit 6 gesetzt, wenn Feuerknopf gewechselt

- Bit 5 set if inputData has changed Bit 5 gesetzt, wenn inputData geändert

Destroyed: a, x, y, r0 - r15 verändert: a, x, y, r0 - r15

UpdateRecordFile $C295 dez. 4918 Datensatz-Datei aktualisieren

Pass: VLIR variables up to date Übergabe: VLIR-Variablen aktuell

curDrive - set and opened curDrive - gesetzt und geöffnet (aktuelles Laufwerk)

Return: index Table - updated gibt zurück: indexListe - aktualisiert

BAM - updated BAM - aktualisiert

fileWritten - reset to 0 fileWritten - reset auf 0

Destroyed: a, x, y, r1, r4 - r6 verändert: a, x, y, r1, r4 - r6

UseSystemFont $C14B dez. 49483 benutze Systemzeichensatz

Pass: nothing Übergabe: nichts

Return: BSW as the actuel font gibt zurück: BSW als aktuellen Zeichensatz

Destroyed: a, y, r0 verändert: a, y, r0

* VerifyBData $C2E3 dez. 49891

Pass: Same as DoBOp without Y Übergabe: wie DoBOp, jedoch ohne Y

return: x 0 = same, FF = no match gibt zurück: x 0= gleich, $FF= keine Übereinstimmung

Destroyed: a, x, y verändert: a, x, y

VerifyRAM $C2D1 dez. 49873 RAM verifizieren

Pass: same as FetchRAM Übergabe: wie FetchRAM

Return: verify data between computer and R.E.U. gibt zurück: vergleicht Daten zwischen Computer und RAM

Destroyed: a, x, y verändert: a, x, y

VerticalLine $C121 dez. 49441 senkrechte Linie

Pass: a pattern Übergabe: a Muster

r3L top of line (0-199) r3L oberes Ende der Linie (0-199)

r3H bottom of line (0-199) r3H unteres Ende der Linie (0-199)

r4 x position of line (0-319) r4 x Position der Linie (0-319)

Return: draw the line gibt zurück: gezeichnete Linie

Destroyed: a, x, y, r4 - r8, r11 verändert: a, x, y, r4 - r8, r11

VerWriteBlock $C223 dez. 49699 verifiziert geschriebenen Block

Pass: r1 Tr/Sc of block Übergabe: r1 Spur/sektor des Blockes

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, x, y verändert: a, x, y

WriteBlock $C220 dez. 49696 Block schreiben

Pass: r1 Tr/Sc of block Übergabe: r1 Spur/sektor des Blockes

r4 buffer that holds the block r4 Puffer der den Block enthält

curDrive - set and opened curDrive - gesetzt und geöffnet (aktuelles Laufwerk)

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

WriteFile $C1F9 dez. 49657 Datei schreiben

Pass: r7 ptr to beginning of data Übergabe: r7 Zeiger auf Datenanfang

r6 ptr to a table of free disk blocks r6 Zeiger auf Liste freier Diskettenblöcke

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

Destroyed: a, y verändert: a, y

WriteRecord $C28F dez. 49807

Pass: r2 nbr of bytes to write Übergabe: r2 Anzahl zu schreibender Bytes

r7 ptr to beginning of data r7 Zeiger auf Datenanfang

Return: x error status, 0 = OK gibt zurück: x Fehlerstatus (0 = OK)

VLIR variables - updated VLIR Variablen - aktualisiert

r8L nbr of bytes in last block r8L Anzahl der Bytes im letzten Block

r3 Tr/Sc of last block r3 Spur/Sektor des letzten Blocks

curDirHead - updated, but not to disk curDirHead - aktualisiert, aber nicht auf Diskette (aktDirHeader)

Destroyed: a, y, r0 - r9 verändert: a, y, r0 - r9

________________________________

Charts:

vdcColorMode: ( 80 column mode only ) VDC Farbmodus (nur 80 Zeichen!)

0 - 33 rows 0 33 Zeilen

- 25 rows in a frame 25 Zeilen in einem Rahmen

- 8 scanlines per character 8 'Zeilen' pro Zeichen

- no attribute ( no color ) kein Attribut (keine Farbe)

- Bitmap mode ( graphics ) Bitmapmodus (Grafik)

1 - 33 rows 1 33 Zeilen

- 22 rows in a frame 22 Zeilen in einem Rahmen

- 8 scanlines per character 8 'Zeilen' pro Zeichen

- attribute address at $3880 Attributadresse bei dez.14464

- Bitmap mode ( graphics ) Bitmapmodus (Grafik)

* For Expanded video ( 64K ) Für 128-Blech mit 64K Video RAM

2 - 33 rows 2 33 Zeilen

- 25 rows in a frame 25 Zeilen in einem Rahmen

- 8 scanlines per character 8 'Zeilen' pro Zeichen

- attribute address at $4000 Attributadresse bei dez.16384

- Bitmap mode ( graphics ) Bitmapmodus (Grafik)

3 - 65 rows 3 65 Zeilen

- 50 rows in a frame 50 Zeilen in einem Rahmen

- 4 scanlines per character 4 'Zeilen' pro Zeichen

- attribute address at $4000 Attributadresse bei dez.16384

4 - 129 rows 4 129 Zeilen

- 100 rows in a frame 100 Zeilen in einem Rahmen

- 2 scanlines per character 2 'Zeilen' pro Zeichen

- attribute address at $4000 Attributadresse bei dez.16384

____________________________

Disk ERROR: Disk Fehlermeldungen:

0 = OK alles in Ordnung

1 = Not enough blocks nicht genügend Blöcke

2 = Invalid track ungültige Spur

3 = Insufficient space nicht genügend Platz (Kapazität)

4 = Full directory Directory voll

5 = File not found Datei nicht gefunden

6 = Bad BAM fehlerhafte BAM

7 = Unopened VLIR file nicht geöffnete VLIR-Datei

8 = Invalid record ungültiger Record (Datensatz)

9 = Out of records keine Records mehr da

10 ($0A) = Structure mismatch Fehler in der Struktur

11 ($0B) = Buffer overflow Puffer-Überlauf

12 ($0C) = CANCEL error Abbruch-Fehler

13 ($0D) = Device not found Laufwerk nicht gefunden

14 ($0E) = Incompatible 40/80 col Bildschirmdarstellung (40/80 Z.) nicht kompatibel

32 ($20) = Header blk not found Headerblock nicht gefunden

33 ($21) = No sync mark on disk Sync-Marke nicht gefunden

34 ($22) = Data blk not there Datenblock nicht vorhanden

35 ($23) = Data checksum error Prüfsummenfehler in Daten

36 ($24) = Incompatible filetypes Dateityp nicht kompatibel

37 ($25) = Write verify error Fehler beim Schreib-Verify

38 ($26) = Write protect ON Schreibschutz EIN

39 ($27) = Header checksum error Prüfsummenfehler im Header

41 ($29) = Disk ID mismatch Disketten ID stimmt nicht

46 ($2e) = Read rate error Fehler in Leserate

115 ($73) = DOS mismatch Fehler im DOS

17 BBRV4.dt01 16 KB App Data Write Image V2.1 VLIR 1993-08-30 18:29 .cvt .html

Übersetzung der kompletten Anleitungen zum BBR

durch Michael Scholich, Scharhoferstraße 21, 68307 Mannheim,

der für kleine finanzielle Anerkennungen (Spenden) dankbar ist.

Big Blue Reader Version 4.0

Inhaltsverzeichnis:

Read me 2

Disk Copy Read.me 5

ASCII Übersetzungstabellen 6

Haupttext 7

Zu Beginn 7

Read.me Datei des Big Blue Reader 128/64 Version 4.0, vom 22. Mai 1992

WICHTIG

Textdateien, die vom Commodore- ins MS-DOS-Format und umgekehrt übertragen werden sollen, müssen unter der BBR PRINT Option (mit der entsprechenden ASCII Übersetzung) lesbar sein. Ist das nicht der Fall, wird höchstwahrscheinlich eine Übersetzung unbrauchbar sein.

TEXTDATEI-FORMATE

Bei jeder Übertragung von Textdateien muß das ASCII-Format berücksichtigt werden. Das gebräuchliche Format für MS-DOS Textdateien ist 'Standard-ASCII', für die meisten Commodore Textverarbeitungen ist es 'PET-ASCII' oder 'Screen Code'. Screen Code ('Bildschirmcode') Dateien sind zwar nicht standardisiert, lassen sich oft aber dennoch mit der BBR 'Screen Code' Übersetzung direkt nach MS-DOS übertragen (z.B.: Write Stuff 64 & 128, Speed Script 64 & 128, Omni Writer, Word Writer 64, . . . ).

Pocket Writer 64 & 128 und Paper Clip 64 & 128 nutzen Screen Code, der unformatiert umgesetzt wird, mit <SPACE> zum Beginn jeder Zeile.

Screen Code Dateien können Formatierungsbefehle enthalten, die separat editiert werden müssen.

Andere Textformate enthalten Standard-ASCII (Word Writer 128), PET-ASCII (Easy Script) oder GEOS.

'Pocket Writer' und 'Paper Clip' benutzen Screen Code, der unformatiert übertragen wird. Solche Dateien sollten erst -mit neuem Dateinamen- als SEQ-Datei erneut abgespeichert und dann mit der BBR 'normal ASCII translation' plus 'line feeds' nach MS-DOS übertragen werden.

Sowohl 'Pocket Writer' als auch 'Paper Clip' können sequentielle Dateien direkt laden.

'Word Writer 128' benutzt das Standard ASCII, somit 'NO ASCII' Übertragung ohne zusätzliche ('added') 'line feeds'.

'Word Writer 64' benutzt 'Screen Code', die Dateien können mit 'Screen Code' direkt ins MS-DOS übertragen werden.

Alternativ kann mit dem "CONVERT"-Programm von TimeWorks eine 'Word Writer' (64 oder 128) -Datei ins PET-ASCII, anschließend mit BBR 'normal ASCII translation' nach MS-DOS übersetzt werden.

'GEOS' benützt ein eigenes Dateiformat. Mit dem 'Text Grabber' lassen sich Dateien in GeoWrite aufnehmen. Unglücklicherweise kann GEOS keine SEQ-Dateien ausgeben, aber mit dem PD-Programm 'Convert' lassen sich GEOS-Dateien in PET-ASCII umwandeln, dann mit BBR 'normal ASCII translation' nach MS-DOS.

'Speed Script' benutzt Screen Code und kann direkt mit der 'Screen Code translation table' nach MS-DOS übertragen werden.

Oder vorher mit 'Speed Script' "Convert" die Dateien ins PET-ASCII wandeln, dann mit BBR 'normal ASCII translation' ins MS-DOS.

'Font Master 128' Benutzer laden und speichern sequetielle Dateien über den 'PUT'- bzw. 'GET'-Befehl, dann die Datei mit BBR 'normal ASCII translation' ins MS-DOS übertragen.

'Easy Script' bedient sich sequentieller Dateien mit eingelagertem PET-ASCII Code. Hierfür ist keine Vorbehandlung erforderlich, nur mit BBR 'normal ASCII translation' ins MS-DOS übersetzten. Allerdings gehen Formatierungen verloren.

'Fleet System IV'. Beide Randmarkierungen soweit wie möglich nach außen setzen, Text mit dem Fleet System Export (Printer File Output -Option) als ASCII-Datei exportieren, dann BBR mit 'no ASCII translation' und 'no adding line feeds' übertragen. Für saubere Arbeit darauf achten, daß wirklich eine ASCII-Druckerdatei generiert wird.

Der Big Blue Reader kann 'Screen Code Files' (z.B. von Speed Script, Omni Writer 64, Word Writer 64) direkt mit der 'Screen Code'-Tabelle ins MS-DOS übertragen. Hierzu drucken Sie bitte die Datei 'About Tables' aus, die sich auf der BBR-Diskette befindet und weitergehende Informationen enthält.

Die meisten Textverarbeitungsprogramme enthalten eine Option, PET-ASCII und/oder Standard-ASCII direkt zu lesen. Überträgt der BBR MS-DOS ASCII auf Commodore Disketten, endet der Vorgang in einer ASCII oder PET ASCII Datei.

Speed Script Nutzer müssen das Speed Script Convertprogramm benutzen, ASCII Dateien lesen zu können. GEOS erfordert den Text Grabber, um Texte von außerhalb zu lesen.

Die meisten MS-DOS Textprogramme arbeiten nur mit Standard-ASCII, oder haben mindestens eine Option dafür.

Sollen mit dem BBR PostScript Dateien nach MS-DOS übertragen werden (für PostScript Ausgabe): NO ASCII translation und NO added Linefeeds.

Macintosh Computer mit einem SuperDrive können 3,5" MS-DOS Disketten lesen und beschreiben.

Beim Übertrag von Text- und ASCII- Dateien vom Commodore- auf das IBM MS-DOS- Format kommt es unter Umständen zu zwei Problemen, deren (wahrscheinliche) Lösung ist:

erstes Problem: die übersetzte Datei besteht nur aus Großbuchstaben und Satzzeichen. Wahrscheinlich bestand das Original aus Commodore Screen Code. Deshalb bitte nochmals die obige Liste durchsehen und eine vor- Umwandlung ins PET-ASCII durchführen,bevor der BBR zum Einsatz kommt.

zweites Problem: in der übersetzten Datei sind Groß- und Kleinbuchstaben vertauscht. Dann wurde wahrscheinlich die Option "Commodore PET-ASCII to Standard ASCII translation" gewählt, obwohl sie nicht erforderlich wäre.

Vor der Umwandlung von Screen Code Dateien nach PET-ASCII ist es günstig, alle Randmarkierungen zu entfernen, mindestens die rechte ganz nach rechts setzen (und unter neuem Namen als SEQ- oder ASCII- Datei zwischenspeichern). So wird die Reformatierung vereinfacht.

Übersetzung von GW- oder Commodore- BASIC mit dem BBR

Die folgenden Hinweise dienen 'fortgeschrittenen' Basic Programmierern und geht davon aus, daß selbstgeschriebene Basicprogramme übertragen werden. Der BBR wird BASIC-Programm-Code NICHT verändern, außer möglicherweise ASCII zu übersetzen. Natürlich müssen Syntaxunterschiede (u.U. auch Zeilennummern!!!) zwischen Commodore-BASIC und MS-DOS BASIC (wie QBASIC, GW-BASIC, BASICA, u.s.w.) separat bearbeitet werden. Der Basiccode muß als Textdatei vorliegen.

WARNUNG: BASIC Programme, die jemand anderst (als kommerzielles oder PD Programm) schrieb, sind nur sehr schwierig umzusetzen.

Unglücklicherweise ist ein direkter Übertrag von BASIC Programmen zwischen Commodore und MS-DOS nicht möglich, da der Programmcode binär (oder tokenisiert) auf der Diskette gespeichert wird. Daher ergeben sich folgende Schritte:

MS-DOS nach Commodore-BASIC:

1) das Programm im ASCII Format auf eine MS-DOS Disk speichern ('A'-Option, d.h. SAVE"PROGRAMMNAME",A)

2) mit dem BBR mit der 'NO ASCII' Option die Datei auf eine Commodore Disk speichern, als SEQ-Datei (NICHT als PRG, bzw. der BBR ',P'-Funktion), da die Datei retokenisiert werden muß (durch das Commodore BASIC)

3) den C64/128 rebooten ('READY') und für den 64'er "STP" bzw. für den 128'er "C128 SEQ-TO-PRG" laden und starten (LOAD und RUN). Folgen Sie den Aufforderungen und speichern das Programm SOFORT mit neuem Namen auf eine andere Diskette.

Nähere Informationen zu den beiden Hilfsprogrammen stehen jeweils in REM Hinweisen.

Eine Retokenisierung ist mit dem 128'er im Direktmodus auch möglich mit

DOPEN#1,"DATEINAME":SYS 65478, ,1

DCLOSE

Auch hierfür ist 'NO ASCII' erforderlich, aber ALLE Zeilenvorschübe (linefeeds) müssen aus der Datei gelöscht sein. Diese Methode ist nicht sehr elegant, es gibt keine Prompts. Der einzige Hinweis, daß das Dateiende erreicht ist, ist daß das Laufwerk anhält. Dann <RUN-STOP> und <RESTORE> drücken.

Commodore-BASIC nach MS-DOS:

1.) das 64'er oder 128'er Programm auf eine andere Diskette als SEQ-Datei speichern. Dazu das Programm laden und im Direktmodus eingeben:

LOAD"PROGRAMMNAME",8

OPEN8,8,8,"NEUERNAME.BAS,S,W":CMD8:LIST

PRINT#8:CLOSE8

So erhalten Sie eine Commodore PET-ASCII-Datei auf Ihrer Diskette.

2) Diese Datei mit dem BBR nach MS-DOS übersetzen, unter Umständen mit

'Normal ASCII' Option (abhängig vom verwendeten Commodore Grafikmodus)

3) Die erhaltene MS-DOS Datei umbenennen unter Verwendung der Endung

'.BAS', damit MS-DOS das Programm richtig erkennt.

4) Starten Sie BASIC unter MS-DOS und laden die Datei. Jetzt geht der Spaß

erst richtig los - editieren je nach Wunsch und/oder Notwendigkeit.

Disk Copy Read.me Datei des Big Blue Reader 128/64 Version 4.0, vom 22. Mai 1992

Disk Copy kopiert ganze Disketten der 1571 oder 1581 im MFM oder GCR Format, Spur für Spur; aber keine Sonderformate oder kopiergeschützten Disketten.

Disk Copy ist intelligent, mit folgenden Eigenschaften:

1) verarbeitet viele der Standard MFM Formate

2) benutzt die 1764 oder 1750 REU um häufige Diskettenwechsel zu umgehen.

3) konnte die Quelldisk komplett eingelesen werden, sind Mehrfachkopien möglich (wiederholtes Schreiben, 'Kopiermaschine')

4) leere Spuren (oder solche voller $00, $E5 oder $F6) werden zur Zeitersparnis nicht zurückgeschrieben.

Mit <F1> und <F3> wird das Quell- bzw. Ziellaufwerk eingestellt. Beide Laufwerke müssen gleichen Typs sein!

Mit <F5> wird das Verify beim Schreiben ein- bzw. ausgeschalten (um das Schreiben auf den meisten 1571'ern zu beschleunigen, entspricht dem Diskbefehl U0>V0).

Einzelne 1571 Laufwerke erreichen durch diesen Befehl keine Geschwindigkeitsvorteile.

Mit <F7> kann das Formatieren der Zieldisk ein-/ausgeschaltet werden.

Mit <F6> wird das Füllbyte für den Formatiervorgang von MFM Disketten eingestellt; bei Commodore normalerweise $00, CP/M: $E5 und MS-DOS: $F6

Allerdings lief der Formatiervorgang mit unseren 1571 oder 1581 Laufwerken nicht mit dem $F6 Füllbyte. In diesem Fall $00 für MS-DOS Disketten benützen.

ACHTUNG: Disk Copy formatiert beide Seiten einer 1541/1571 GCR Diskette, selbst wenn die Quelldisk nur einseitig ist. Für die Erzeugung einseitiger Kopien, entsprechend vorformatierte Disketten verwenden und die 'Format Destination' Option ausschalten (OFF).

ACHTUNG: nach dem Kopiervorgang werden alle Laufwerke zurückgesetzt (reset), daher die Laufwerksnummern nicht soft ändern (auch nicht durch 'swap' bei den CMD Laufwerken).

Über die ASCII Übersetzungstabellen (von SOGWAP Software Technical Support)

Achtung: Bei der Übertragung von Dateien innerhalb eines Systems (Commodore - Commodore, MS-DOS - MS-DOS, CP/M - CP/M) mit 'NO ASCII' arbeiten. Daraus resultiert ein binärer Dateitransfer (auch wenn 'no linefeed' gewählt wurde).

BBR 128 benutzt drei definierbare ASCII Übersetzungstabellen. Jede Tabelle ist 256 Bytes lang und sitzt in Bank 0. Die Tabelle funktioniert nach der Vergleichsmethode, jedes einzelne Zeichen wird in der Tabelle gesucht und gegen das entsprechende ausgetauscht. Ist z.B. das Originalzeichen CHR$(13) (hex.0d), geht das Programm in der Tabelle zur 13. Stelle und verwendet das dort stehende Zeichen. Steht dort ein CHR$(0) (hex.00), wird das Byte ausgelassen ('gestrippt').

Durch die 'Line Feed' Option wird nach jedem Carriage Return (CHR$(13)) ein CHR$(10) eingefügt.

Die drei Tabellen sind:

1) 'None/Special', Speicherplatz $d00 bis $dff. Diese Tabelle bestimmt welche Zeichen am Bildschirm oder Drucker ausgegeben wird. Die default- (vorgegebene) Tabelle entfernt alle Controlcodes aus der Datei.

2a) 'PET ASCII to Standard ASCII', Speicherplatz $e00 bis $eff. Diese 'Normal ASCII' Tabelle übersetzt das Commodore PET-ASCII in Standard ASCII (also C= nach MS-DOS, CP/M, oder an einen ASCII Drucker.

2b) 'Translate: Screen Codes', Speicherplatz $e00 bis $eff. Diese Tabelle dient der Übersetzung der Bildschirmzeichen nach Standard ASCII, d.h. Commodore Bildschirmcode- Dateien nach MS-DOS, CP/M oder auf einen ASCII Drucker.

3) 'Standard ASCII to Commodore ASCII', Speicherplatz $f00 bis $fff. Übersetzung von Standard ASCII Dateien nach Commodore PET ASCII, also CP/M oder MS-DOS auf 'normale' Commodore Disketten; ebenso für die Ausgabe von Standard ASCII Dateien auf einem Commodore Drucker.

Nach dem laden des BBR 128 kann die gewünschte Tabelle selektiert werden.

Erfahrene 128'er User können natürlich auch mit einem Maschinensprache Monitor eine eigene Tabelle schreiben. Dabei bitte beachten, daß der BBR 128 beim laden der Tabelle deren Länge nicht kontrolliert. Die Ladeadresse kann $d00, $e00 oder $f00 in Bank 0 sein.

Die beigefügten Tabellen wurden mit dem eingebauten Monitor des 128 hergestellt, indem die vorgegebene Tabelle nach $d00 bis $fff geladen, dann entsprechend verändert und wieder abgespeichert wurde.

Zu Beginn

Vor dem eigentlichen Beginn sollen erst die benötigten Disketten formatiert werden; Commodore Disketten über das 'DISK CMDS' -Menü, IBM MS-DOS Disketten mit dem 'Format' -Programm.

BBR 128 lädt automatisch in Laufwerk #8 (Diskette einlegen, Resetknopf drücken).

BBR 64 läßt sich wie folgt laden:

LOAD"BOOT-64",8,1: <RETURN>

RUN: <RETURN>

Nach dem booten wählen Sie <1> für normale ASCII Übersetzung, <2> für Screen- (Bildschirm-) Code Übersetzung oder <3> um das FORMAT Programm zu laden und starten.

Beim lesen oder beschreiben von MS-DOS Disketten im 1571 oder 1581 Laufwerk kann das Laufwerkslämpchen blinken, das ist normal und zeigt keinen Fehler an.

Bei BBR 64 blinkt das Lämpchen auch beim fastload von Commodore Dateien.

HAUPTMENÜ und ALTERNATIV-Bildschirm

18 .info_gw 1 KB System .info_gw V1.0 SEQ 1994-05-12 14:43 GATE WAY .cvt

18 file(s), 770 KB

geos-app_czeditor-newtools-utilities.d81 — “clause” id:of [D81, 819,200 bytes] download .d81

#FilenameSizeGEOS TypeClassSDateAuthor
1 CZEDITOR 16 KB Application CZEDITOR SEQ 1990-04-04 01:01 Douglas Adams .cvt
Passport I/F compatible CZ patch editor
2 CZEDv1.1info 13 KB App Data Write Image V2.0 VLIR 1990-05-11 13:32 .cvt .html
DOCUMENTATION for
geoCZEDITOR v1.1

Instructions for geoCZEDITOR v1.1

geoCZEDITOR is a voice-editing utility for the Casio CZ series of synthesizers; however, it is generally oriented toward the CZ-101/1000. Effects (Tone Mix, Bend Range, etc), sequencer data, and CZ-1 operation memory and keyboard set-ups are not supported. geoCZEDITOR is designed to work in conjunction with geoCZLIBRARIAN, but both are independent programs and can be used seperately.

(Version 1.1 has some added features over V1.0, designated here with a "*". To accomodate these additions, the ability to access Desk Accessories has been eliminated.)

Overview

geoCZEDITOR imports individual patches to be editted from the CZ's Preset, Internal, and Cartridge banks (see section on Memory Configuration below), and from Application Data files created with geoCZLIBRARIAN (geoCZLIBRARIAN Application Data files are not compatible with the standard "CZ."-type sequential data files. However, geoCZLIBRARIAN can convert "CZ."-type files to geoCZLIBRARIAN format). Editted patches can be sent to the CZ's Internal or Cartridge Bank or Compare/Recall sound area, or saved in Application Data files. All voice parameters and envelopes can be editted, which include:

Line Select

Octave

Modulation

Detune Settings

Vibrato Settings

Wave Forms

Key Follows

Envelopes; Sustain and End points

Operations are menu and computer-keyboard driven.

Start Up

Before running, make sure:

1) your synthesizer is on

2) the write protect switch is off

3) the proper MIDI cable connections have been made

4) the CZ is set to receive/transmit over MIDI channel 1

Open geoCZEDITOR from the deskTop. If your MIDI interface is inaccessible you will get a dialog box with some possible solutions. Once the problem is fixed---if it can be fixed---click "OK" and the program will resume.

Before the Workscreen comes up, each patch in geoCZEDITOR's sixteen-patch file buffer is loaded with the "CZ Initialized Patch"---the patch you would get if you used the CZ's Initialize button on each parameter and envelope. For reference, each of these patches is labeled "*".

The Workscreen will display an initialized patch and you are ready to begin editing.

Keyboard Operations

The Workscreen is really divided into two editing regions. The upper-half is for editing Parameters, the lower for Envelopes. The cursor will appear in the Line Select box in the Parameter region on Start Up.

To change between editing regions, hit the Space Bar. The cursor will jump to Step 1/rate of DCO 1. Hitting the Space Bar again moves the cursor to the Parameter region again.

Use the CRSR keys to move the prompt and +/- keys to change values. *Pressing Commodore key/+ increments Envelope values and some Parameter values by 10. There is no decrement 10x function. Most incrementing and decrementing is wrap-around.

To enter Sustain and End points, CRSR to the row above the rate/level Step you want to change. Use S or E for the appropriate point. When a Sustain point is entered over a designated End point, the End point moves to Step 8. (Note: On the CZ, when you enter an End point, the level at that Step becomes "0". Not so on the editor. However, if the patch is sent to the CZ, the synth will recognize the End point where you have set it and will zero the level.)

Once you have made some changes, you can send the patch to the CZ's Compare/Recall temporary sound area to give it a listen. First, activate the sound area by changing a parameter on the CZ; tap Ring or Modulation twice, for example. Send the patch from geoCZEDITOR to the Compare/Recall area by pressing Return. The data is not permanently written to the CZ in this case.

*To retrieve the CZ's currently active patch voice, press the Left Arrow key. Whichever voice is active---this data is actually in the CZ's temporary sound area---will be displayed for editing in the Workscreen. Since patches from the CZ are unnamed, patches retrieved this way will be labeled "?".

You can also select a specific CZ patch to edit or a specific patch location to save a patch to within geoCZEDITOR, as described below in the "get" and "save" sub-menus.

*To erase and Initialize the Workscreen at any time press Commodore key/I. This function destroys whatever data is in the Workscreen and replaces it with the "Initialized Patch".

Clip-and-Save:

SPACE changes editing regions

CRSR keys move cursor within regions

S Enters SUSTAIN point

E Enters END point

+/- increments/decrements values

Commodore/+ increments 10x (when applicable)

Left Arrow gets currently active CZ patch

RETURN sends patch to COMPARE/RECALL

Commodore/I erase and Initialize Workscreen

Menu Operations

The three Main Menu selections are geos, get, and save. There is no Desk Accessory access.

geos sub-menu:

*MIDI channel lets you change the MIDI channel (1 to 16) over which data is transmitted. The geoCZEDITOR default MIDI channel is 1, as it is on the CZ.

This can be a convenient feature if you use two or more CZ's in your set-up. Please note though that whichever CZ is in use must have both its MIDI IN and MIDI OUT connected to the interface, perhaps through a MIDI splitter or matrix device. A Slaved CZ set only to receive data through its MIDI IN will not be able to transmit data back to the computer, which it must do in compliance with the CZ's particular data handshaking protocol.

Please note that after changing the MIDI channel on the editor, you MUST be certain the CZ is set to the same channel. Failure to do so will crash the program.

info drops down an index to keyboard-driven operations.

quit returns you to the deskTop. geoCZEDITOR does not automatically update files. Unless data is saved it will be lost through quit.

get sub-menu:

patch from CZ lets you select a patch to import and edit from the CZ's Preset, Internal, or Cartridge banks. Patches from the CZ are unnamed so they will be labeled P/1, P/2. . .I/1, I/2. . . C/1, C/2 . . .etc, for reference.

patch from file gets a patch from a loaded Data file in the file buffer (see below). The patch name will appear in the patch box, and data will be displayed to be editted.

file from disk loads a geoCZLIBRARIAN-type Application Data file into the file buffer so that you can access its sixteen patches as described above. Currently, geoCZEDITOR only allows you to choose among the first fifteen Data files in a drive for loading. Change Drive/Disk options are available.

save submenu:

patch to CZ will send the patch to a location you specify in either the CZ'S Internal (or Memory Bank A thru B) or Cartridge bank. The data remains in the editor as well.

patch to file will save the patch to the currently loaded file in the file buffer, which will be either the Initialized file created at Start-up or a Data file loaded from disk. You can rename the patch and choose which slot number to place the patch. Be sure to save the file to disk if you have made any changes.

file to disk will save the buffered file as a geoCZLIBRARIAN-type Application Data file. If the file exists under its current filename you will have the option of replacing it; otherwise, just change the filename. This file will be compatible with geoCZLIBRARIAN.

Bank Configurations

geoCZEDITOR follows the CZ101/1000 configuration for Memory Banks: sixteen-patches-per-bank x three-banks. The CZ3000/5000 are somewhat different, eight-patches-per-bank x eight-banks. Consequently, geoCZEDITOR can only access patches in four of the CZ3000/5000's banks, and Banks only in pairs:

geoCZEDITOR & CZ101/1000 CZ3000/5000

Preset 1-16 = Preset A-1 thru B-8

(Preset C-1 thru D-8 inaccessible)

Internal 1-16 = Memory A-1 thru B-8

(Memory C-1 thru D-8 inaccessible)

Therefore, geoCZEDITOR can only send patches to CZ3000/5000 Memory Bank A thru B and Cartridge memory.

The Compare/Recall sound area and Cartridge Memory Configuration are the same on all devices.

I'll assume that CZ3000/5000 users are familiar with this difference and forego further discussion on it.

Addenda

1) You must have a Passport compatible MIDI interface in order to use this program. It will not work with Sequential-types.

2) This program positively will not work with the new GEORAM. GEORAM usurps address space needed by MIDI interfaces. It will, however, operate with the Commodore REUs, providing a cartridge-port expander (ie: Aprospand) is used to accomodate both the REU and the MIDI interface. geoCZEDITOR works fine with REU-less, single drive set-ups.

3) Since only the first fifteen Data files on a disk can be accessed for loading at a time I've found it best to just dump the up-to-fifteen files I plan on using into the REU along with geoCZEDITOR. If more files need to be accessed, just bring 'em down and move them to the first page in the REU. If you don't have an REU, just prepare a Work Disk with geoCZEDITOR on it and move your files to that.

4) If you aren't used to editing CZ patches, there are many good "tip" books available. The "Sound Synthesis Handbook" which was packed with the CZ offers some help. Also, some back-issues of Keyboard Magazine, circa '86-'88, have primers on CZ programming. (Yes, unfortunaely, the CZ is no longer state-of-the-art and has been relegated to "back issue" status.)

5) I've tried to include as many features that might be found on other CZ editors as possible. Features such as graphic editing, printing, and Envelope copying had to be left out due, primarily, to size constraints. I do not expect to be doing much work on this program or its companion, geoCZLIBRARIAN, in the near future. I had planned to incorporate some of Bill Coleman's excellent routines and make other modifications, but I'm afraid I've reached a plateau as far as development goes. I hope that others will do more with GEOS and MIDI.

Douglas Adams

3632 Pawtucket Avenue

East Providence, RI 02915

This program is released into the Public Domain for GEOS users, and can be copied and distributed but may not

3 CZLIBRARIAN 10 KB Application CZLIBRARIAN SEQ 1990-04-04 01:01 Douglas Adams .cvt
Passport I/F-type compatible CZ Librarian for GEOS
4 CZLIBv1.1info 18 KB App Data Write Image V2.0 VLIR 1990-05-11 13:25 .cvt .html
Documentation for CZLIBRARIAN V1.1

Instructions for using geoCZLIBRARIAN V1.1

geoCZLIBRARIAN is a four-bank MIDI patch librarian for the Casio CZ-series of synthesizers; however, it is generally oriented toward the CZ-101/1000. Effects (Tone Mix, Bend Range, etc), sequencer data, and CZ-1 operation memory and keyboard set-ups are not supported.. All versions of geoCZLIBRARIAN to date require a Passport-compatible MIDI interface. geoCZLIBRARIAN gives you the utilty operations of other similar Librarians, with the added advantages of operating within the GEOS environment:

- Load and Save CZ patch data from and to disk as GEOS

Application Data files

- Access to up to seven GEOS Desk Accessories

(calculator, notepad, Convert DA, etc)

- REU (Ram Expansion Unit) access*

- Import CZPL- and CZSL-type seq. data files

- and many other features

*geoCZLIBRARIAN will support the 1764/1750 REU providing you are also using a cartridge-port expander (i.e, Aprospand) to accomodate both the REU and the MIDI interface. This version of geoCZLIBRARIAN has not yet been tested on the 128.

Please be sure to read the Addenda section later.

OVERVIEW

Before running, make sure:

1) your synthesizer is on

2) the write protect switch is off

3) the proper MIDI cable connections have been made

4) the CZ is set to transmit/receive on MIDI channel 1

Open geoCZLIBRARIAN from the deskTop. If your MIDI interface is inaccessible you will get a dialog box with some possible solutions. Once the problem is fixed---if it can be fixed---click "OK" and the program will resume. The screen will display four user-Banks, the Operation Menu, 16-patch display with the "in use" box wherein the currently active Bank is displayed, and MIDI channel display.

You can only perform Operations on one selected Bank at a time, which you activate by clicking on its Bank Icon, i.e:

You can change the Bank in-use at any time after the completion of an Operation. No Librarian Operations will be performed unless a Bank is activated by Icon first.

Some Dialog Boxes may ask you to enter a Bank A-D. The Bank letter must be entered with a shift. If you enter "a-d" instead of "A-D", you'll get an "input out of range" error, and the operation will be canceled.

The Operation Menu has twelve Menu Icons which allow you to: send banks or individual patches to and from the CZ and geoCZLIBRARIAN; load from and save to disk a bank of patches; print a bank of patch names; rename a patch; swap patches between Librarian Banks; and audition patches. The Operation Menu is explained later.

Exit the program by selecting quit in the geos menu. Unlike geoWrite or geoPaint files, geoCZLIBRARIAN files are not automatically updated. Unless the Banks have been saved to disk, they will be lost by quit.

To import CZSL or CZPL type patch files into geoCZLIBRARIAN click on the clone menu and select open file. You will be instructed to insert a disk of "CZ."-prefixed files into drive A (device #9/drive B cannot be used to import "CZ."-type files). The selected "CZ." file will be loaded into the current in-use bank. It can then be saved as a GEOS-type CZ file. The original "CZ." file will not be destroyed. See notes on File Manipulation later.

To change the MIDI channel, click on MIDI ch. in the clone sub-menu. Enter a new MIDI channel between 1 and 16. The default channel is 1, as it is on the CZ.

This can be a convenient feature if you use two or more CZ's in your set-up. Please note though that whichever CZ is in use must have both its MIDI IN and MIDI OUT connected to the interface, perhaps through a MIDI splitter or matrix device. A Slaved CZ set only to receive data through its MIDI IN will not be able to transmit data back to the computer, which it must do in compliance with the CZ's particular data handshaking protocol.

Be CERTAIN that after setting the MIDI channel on the librarian the CZ is set to the same channel. Failure to do so will crash the program.

FILE MANIPULATION

At this point, a few words might be necessary on how Data files are handled by geoCZLIBRARIAN.

Currently, only the first fifteen patch files on a disk can be viewed in either the load or clone dialog box at a time. Therefore, it may be necessary to arrange your CZ data files in such a way that the ones you want to access are closest to the first page of the deskTop.

A GEOS-type CZ Application Data file is created by geoCZLIBRARIAN when data is saved by the program. It has a GEOS header and icon, and looks like this on the deskTop:

It can loaded by geoCZLIBRARIAN from either the disk drive or REU. This type of file cannot be reverted back to a "CZ"-type data file by the librarian, nor loaded by non-GEOS librarians.

A "CZ."-type CZ data file refers to the type of file created by non-GEOS CZ librarians, so-called here because of the "CZ." prefixed filename, sometimes called "Dr.T" format (actually, they are Commodore sequential files). Generally, most CZ librarians save data in this format.

("CZ."-type data files can only be imported/cloned from the drive/device #8. Why? First, in order for GEOS to access these files, the GEOS Turbo has to be "purged" from the drive. I was not able to do this with the REU, nor do I believe it can be done. Secondly, your stash of "CZ." files are presumably already on disk---how would they get into the REU?. Nonetheless, this small shortfall shouldn't be an inconvenience.)

geoCZLIBRARIAN can load both file formats, but will only save data as a GEOS-type.

I would suggest assembling your favorite patches into a few GEOS-type data files (like me, you probably only really use about a dozen of the thousands you have anyway!), so you don't have to worry about cloning "CZ." files too frequently.

OPERATION MENU, as it appears on the screen:

Choose an Operation by clicking on the appropriate Icon.

Below are the Menu Icons and their descriptions:

Get Internal bank

Get Cartridge bank

Get patch

(note arrow points away from keyboard)

Selecting one of these Icons will get the designated bank, or a specified patch from the CZ.

Patches loaded from the CZ's Internal and Cartridge banks are unnamed, so for reference they will be listed in the patch display area as I/1, I/2. . .1/16 and C/1, C/2. . .C/16, and the entire bank will designated as either "I" or "C". If data will be saved to disk, be sure to rename the bank and patches. Otherwise you'll end up with many, many patches named "I/1", "I/2", etc

Send bank to Internal

Send bank to Cartridge

Send patch

(note arrow points to the keyboard)

Transmit the current Bank in-use to the Internal or Cartridge bank of the CZ, or an individual patch from the in-use Bank to a CZ patch location. Note that data is copied to the CZ, and remains resident in the Librarian.

Rename patch

Rename a patch from the in-use Bank. The cursor will appear in the patch display area after selecting a patch. After renaming, hit Return to resume operations

Swap two patches

Swap two patches between two (or within one) loaded Banks. A patch in the in-use Bank is chosen as the first of the swap-pairs, then a second Bank is chosen (it may be the same Bank) and displayed, and the second of the swap-pairs is selected from it, after which the two selected patches will swap places. The second selected Bank remains desplayed.

Load from disk

Load a geosCZLIBRARIAN Application Data file from a drive into the in-use Bank. Change drive/disk options are available. (Use clone operation to import non-GEOS data files.)

Refer to earlier discussion of files for more info.

Save to disk

Save the in-use Bank to disk as a geosCZLIBRARIAN Application Data file. If the file already exists, you will have the option of replacing it Otherwise, you should rename the file-to-save.

Refer to earlier discussion on files for more info.

Audition

Hear what a voice sounds like before actually writing it to the CZ. This neat operation sounds the note C from each of the five octaves on the synthesizer using a selected patch from the current in-use bank. No patch data is over-written; the patch is sent to the Compare/Recall slot of the CZ, and played via an internal MIDI routine.

Print

Print the currently selected bank in draft mode. The filename and its sixteen patch names will be printed vertically. Your GEOS printer driver must be on the same disk/drive as geoCZLIBRARIAN. And your printer must be on!

Bank Configurations

geoCZLIBRARIAN follows the CZ101/1000 configuration for Memory Banks: sixteen-patches-per-bank x three-banks. The CZ3000/5000 are somewhat different, eight-patches-per-bank x eight-banks. Consequently, geoCZLIBRARIAN can only access patches in two of the CZ3000/5000's banks, and Banks only in pairs:

geoCZLIBARARIAN & CZ101/1000 CZ3000/5000

Internal 1-16 = Memory A-1 thru B-8

(Memory C-1 thru D-8 inaccessible)

Therefore, geoCZLIBRARIAN can only access patches in CZ3000/5000 Memory Bank A thru B and the Cartridge memory.

The Compare/Recall sound area and Cartridge Memory Configuration are the same on all devices.

I'll assume that CZ3000/5000 users are familiar with this difference and forego further discussion on it.

ERRORS

Disk errors may occasionally occur. geoCZLIBRARIAN has one error message, and tracking down the cause of the error is left to you. Here are some possible errors:

- Out of disk space.

- Disk is non-GEOS

- Missing or unformatted disk.

- Disk is write-protected.

- Filename too big.

There may be others. Just watch it.

ADDENDA

1) geoCZLIBRARIAN was conceived with a disk drive as device #8 and a REU as device #9 in mind, which is a fairly typical setup. The 1581 is accessible as the third drive with the REU. "CZ."-type files can only be imported from device #8.

2) Regrettably, the new GEORAM cannot be used for MIDI applications (GEORAM uses I/O registers required to access standard MIDI interfaces, virtually obliterating the burgeoning potential of MIDI/GEOS), and thus cannot be used with geoCZLIBRARIAN.

3) Some of the MIDI routines in this program are based on Alan Bland's public domain "CZPL" librarian, and adapted for use within GEOS. And thank you Jim Collette for answers to my geos-imponderables.

4) HEY!

Make sure your CZ is on. Make sure your CZ's write-protect switch is off. Make sure your MIDI cables are plugged in correctly. Make sure MIDI channel settings agree. These oversights will definetly crash the program. Despite all the error checking, it is still up to you to keep track of your data.

5) I do not expect to be doing much work on this program or its companion, geoCZEDITOR, in the near future. I had planned to incorporate some of Bill Coleman's excellent routines and make other modifications, but I'm afraid I've reached a plateau as far as development goes. I hope that others will do more with GEOS and MIDI.

Douglas Adams

3632 Pawtucket Avenue

East Providence, RI 02915

This program is released into the Public Domain for GEOS users, and can be copied and distributed but may not be sold. To the best of my knowledge, no copyrights or licenses have been infringed by this program.

5 NewTools 5 KB Desk Acc NewTools V1.0 SEQ 1990-10-21 11:28 David B. Ferguson .cvt
A new set of tools to be used in geoPAINT.
6 NewTools.80 5 KB Desk Acc NewTools V1.0 SEQ 1990-10-21 11:28 David B. Ferguson .cvt
A new set of tools to be used in geoPAINT for 128 in 80 columns only!
7 NewTools Docs 7 KB App Data Write Image V2.0 VLIR 1990-10-21 14:39 .cvt .html

NewTools by David B. Ferguson

(Copyright 1990)

Preliminary Notes:

NewTools is a Desk Accessory meant for use in GeoPaint. While it can be run from other applications, it will serve no useful purpose in them, at best, and may crash.

Running it from DARunner works. Running it from the geoWizard DA routine doesn't.

Finally, this was written and tested on a C64. It should also work fine on a 128 in 40 columns. I have no idea what it will do in 80 columns, but don't get your hopes up.

Introduction:

NewTools is a set of 16 graphic manipulation tools to be used from within geoPaint. There are four basic manipulation types, each with four directions:

1) Skewing, where rows of pixels are shifted one pixel right or left, starting from the top or the bottom of the graphic.

2) Arrow, where the graphic is made into an arrow shape (kinda) left, right, up or down.

3) Slanting, where columns of pixels are shifted one pixel up or down, starting from the left or the right of the graphic.

4) Rotating 45 Degrees, where the graphic is rotated up-left, up-right, down-left or down-right. The graphic pivots on the opposite corner. IE up-left pivots from the upper, right corner. Rotating has a bizarre effect on the graphic: it tends to make it twice as big and half as dense. I had neither the energy or the inclination to develop a smoothing routine for this. Maybe future versions.

You should print out the NewTools demo geoPaint file to get a better idea of what each of these do.

Make It Go:

Plan ahead and play around with NewTools to get an idea of what it can do and what its limitations are.

Create whatever graphic you want to word with, either some text, or a picture, or whatever. Your only limitation here is that you don't use the first two or three lines at the top of the geoPaint work area; the NewTools cursor can not access the top tw or three rows.

Then go to the Geos menu and select New Tools.

Two things will happen right away:

The tool box on the left of the screen will change to the new toolbox;

The cursor will change to a crosshair.

You will also notice that you can not move the cursor off of the geoPaint work area. NewTools is waiting for you to select the area you wish to manipulate. Your first selection should be the upper left corner of the rectangular area you wish to select. Find that point, then click. Nothing will happen. Then find the lower right corner of the are and click again. (The area you selecte is always rectangular.)

Now something should happen. Your mouse picture will return to whatever it normaly is, and you are now restricted to the toolbox area.

At this point you may click on the icon that reflects the manipulation you wish to make. After you make your selection, your graphic will change according to your wishes, the cursor changes to a crosshair again and you are once again restricted to the work area.

A manipulation is NON-destructive of anything in its path. In other words, if you skew something to the right, it will layer itself over whatever is to the right of it, in the same way geoPaint pastes an object in the transparent mode.

The toolbox also has three other options:

1) CA--allows you to cancel the two position selections you just made. You may then go back and select again.

2) UN--allows you to undo the last manipulation done. So, lets say you skewed something to the right and don't like the results. Just click the mouse twice on the work area and click on UN. That will undo the skew.

3) DONE--sends you back to the normal geoPaint tools. Like UN, to do DONE just click the mouse twice anywhere on the work area.

THE MOST IMPORTANT THINGS:

Once are done you will be returned to the geoPaint work screen. STOP!!!

STOP!!!

The change you made is NOT yet PERMANENT!!!

If you do not like the changes you made while using NewTools, select "recover" from the file menu NOW! Your screen will revert to what it looked like before you entered NewTools.

If you LIKE what you did, then you must make it permanent. You can do this just by changing anything on the screen. This can be as simple as using the pencil, making a dot, then undoing the dot. Or erasing something. Or just about anything.

HOWEVER, if you close, or quit or move the screen prior to doing the above, your efforts in NewTools WILL BE LOST!!! AND if I get one message from someone who says they keep losing the work they did in NewTools, I'm gonna scream!!!!

This Is Not A Perfect World:

So don't expect it to be. The things that NewTools do aren't do-able with the normal geoPaint routines. But like geoPaint itself, some graphic objects don't lend themselves to manipulation as well as others. Occasionaly oddities show up in the routines, so play around alot.

A Lie I Told:

When you are selecting your area to manipulate, your clicks can actually be on any corner of the area you wish to select as long as they are opposite corners. Your clicks don't have

8 NewTools demo 29 KB App Data Paint Image V1.1 VLIR 1990-10-21 13:07 .cvt .png
9 NT2 CHRISTMAS 38 KB App Data Paint Image V1.1 VLIR 1988-08-22 06:09 .cvt .png
10 Handy Import 9 KB Application HS to GEOS 1.0 SEQ 1990-11-20 21:02 Red Storm .cvt
Import from Handy Scanner format.
Written by Joe Buckley.
11 CHRISTMAS 1 28 KB App Data Paint Image V1.1 VLIR 1990-11-12 20:39 .cvt .png
Scanned Christmas Art (except for the words "Merry Christmas" which are from TT Grafix Fonts 2)
12 CHRISTMAS 2 24 KB App Data Paint Image V1.1 VLIR 1990-11-12 22:09 .cvt .png
Use Scrap It by Terry Van Camp to get clips of the larger art. =)
13 .info_gw 1 KB System .info_gw V1.0 SEQ 1992-01-10 12:06 GATE WAY .cvt
14 PS.Patch 2.0 4 KB Application PS Patcher V2.0 VLIR 1989-06-17 13:20 Jim Collette .cvt
Patches GEOLASER & GEOPUBLASER to save PostScript files to disk
Now works with all drives!
15 EPS INSERT TEXT 3 KB App Data text album V2.1 VLIR 1990-06-20 23:20 .cvt
16 Sneaky Snake 5 KB Application Sneaky Snake 1.0 SEQ 1990-09-19 06:46 John S. Chrisman .cvt
Maneuver the snake around the maze and eat the bugs. Don't hit anything!
17 DemoUtilities 13 KB Application DEMO V1.0 SEQ 1989-04-08 02:04 Jean F. Major .cvt
Demo program about
GEOS Utilities #1...
18 GeoList2.0 5 KB Application GeoList V2.0 SEQ Jan Kranenburg .cvt
Lists a disk directory to printer or disk file.
19 ICONDIR2 21 KB Application StudentForthV1.0 SEQ 1990-05-14 11:29 Hank Wilkinson .cvt
20 Directory Label 3 KB Application Disk Labeler 2.0 SEQ 1989-09-14 18:00 Red Storm .cvt
Disk labels printed in BSW 9.
21 DIRMANAGER 7 KB Application DIR MANAGER V1.0 SEQ 1990-02-28 17:17 Roger L. Lawhorn .cvt
Directory Sorter.
OK to copy. DO NOT sell.
Works with 1541, 1571, 1581.
22 DIRMAN DOCS 4 KB App Data Write Image V2.1 VLIR 1992-03-31 09:59 Red Storm .cvt .html
DIR MANAGER DOCS.

Dear user,

For a long time there has been a demand for a 1581 directory sorter. I was asked almost immediately to meet the need, but declined thinking that someone else had already started it. With no sign of a 1581 sorter in sight I finally gave in with an "ALL RIGHT! I'LL DO IT!". I made at least one person I know (and my twisted arm) very, very happy.

I now have a 1581 and a 1571 and I can understand what it is like to use the DeskTop to sort a large directory! After creating a long list of things to add to the program, in order to make it first class, I became a little disheartened with the size of the project. Therefore, I am releasing it AS IS so that everyone can benefit from it. I know that as certain things become a necessity I will add to it bit by bit and maybe one day it will be a full-blown DIRECTORY MANAGER, but until that day I have something very, very important to me that I REALLY, REALLY, REALLY, want to work on. What is it? Well, in about year you won't be able to miss it. It'll be in every GEOS based magazine known to man (it's that GOOD).

Until then, enjoy the program!

Sincerely, Roger Lawhorn

OnyTheBest Software

Next page....

Sorting:

Click on sort from the options menu. You will see a dialogue box asking you to select a drive to sort. You may notice that there is a drive D. Currently the GEOS kernel is built for a forth drive, but the configure isn't. I believe that this will change with the advent of the one meg ram called RamLink. Anyway, it'll be supported when GEOS finally supports it. Below the drive names is a 1581 sub directory option. It is NOT operational even though you can select it.

Sort Options:

Next you will see several options for sorting. Use the following guidelines:

1) Unless you have files you need to recover then ALWAYS choose the scratch deleted files options. If you don't the empty slots on your directory will be forced to the beginning of the directory. Deleted files have the value zero for everything: name, size, type, and date. Therefore they will appear before everything else.

2) ALWAYS select REWRITE DIR. This is not hard to remember since it is selected automatically for you. The Text Scrap and Merge Scrap options are not operational. They will return you to the main menu.

After selecting a drive and your sort options the computer will tell you everything is it doing. You will be done when there are no more messages. The last message wil be "Writing Directory...".

You can sort by Name, Size, Type or Date. You may also sort by (Name) and (Size, Type or Date). DIR MANAGER will sort by Name first then by Size, Type, or Date, but will not effect the previous sort by Name.

For instance:

you have ten files that begin with the letter "A" and ten files that begin with the letter "B". If you sort by Name and Date then all of the files that begin with "A" will still be together as well as the files that begin with "B", but sorted according to Date also.

23 geoLogger 9 KB Application geoLogger V1.1 VLIR 1991-07-06 18:29 Mike Craig .cvt
GEOS128 80 col. disk file cataloging system.$5.00 Shareware
24 GEOJACKET 2 14 KB App Data Paint Image V1.1 VLIR 1991-01-20 19:37 .cvt .png
"GEOLABEL" Disk Sleeve
Template.
FAT BEAR
25 HeaderEditor 8 KB Application HeaderEditorV1.1 VLIR 1991-03-16 12:11 Nate Fiedler .cvt
Edit GEOS file headers.
Shareware $5 to $10.
by Nate Fiedler
26 HEADEDITdocs 15 KB App Data Write Image V2.1 VLIR 1991-02-16 23:37 .cvt .html

HeaderEditor by Nate Fiedler

This program is an application designed to give the typical programmer more power and make it easy to use.

HeaderEditor is a header block editor. The header block is the part of every Geos file that tells the deskTop important information about the file. This information is what you see when you select the "file/info" menu option under the deskTop.

Why would you want a header editor? Well, have you seen the application that was accidentally assembled as a desk accessory? Not exactly safe practice, since you can't run an application as a desk_acc, and Geos applications would try to load a program that's not made to run as a desk_acc! Have you ever wanted to have more than one Notes file on one disk? I use notepad as my daily diary, and it's convient if I can change the Notes SYSTEM file to an APPL_DATA, that way I can change it's name and have more than one on a disk! Ever wanted to know where certain programs load into memory? With HeaderEditor, you can examine a file's load addresses!

HeaderEditor displays ALL information on the header block and directory entry of ANY file! Not only does it display that data, you can change it to your needs! And the editor will allow english input! Yes, you enter the file type as a word! An example would be, SYSTEM_BOOT. That's how you change it! Simple! No numbers to memorize, no tables to look up. All you have to do is remember that proper spelling!

NOTE: Spelling is listed in the following pages, and can also be referenced in the GEOPROGRAMMER MANUAL that comes with every geoProgrammer package.

When you first run HeaderEditor, you will see two menu items. If you are running HeaderEditor from a real disk drive (as opposed to an REU), you will experience a brief pause while HeaderEditor loads it's second module into memory.

geos - This menu item has one submenu item, Editor info. This displays credits and mailing information.

file - This menu item has two submenu items. They are edit a hdr and quit Editor. The second item will exit to the deskTop. The first item will display a file selection dialog box.

File Selection. The file selection dialog box displays all available files on a disk. It can list up to 255 Geos files. There is an OPEN, DISK, DRIVE, and CANCEL icon. I'll explain the OPEN icon a little later; the other icons are rather self explanatory.

In the display box, you will find six more icons. These icons will only appear if there are more files than will fit in the display window. (More than 6 files.) These icons consist of: UP, DOWN, PAGE UP, PAGE DOWN, TOP, and BOTTOM. UP scrolls the list by one; DOWN goes down by one; PAGE UP and PAGE DOWN move 6 files at a time; TOP and BOTTOM will move you to the top or the bottom.

You will also see, next to the display window, an elevator. This elevator will only appear if there are more than six files on the disk. This elevator will move as you scroll through the file list. You can also click in the elevator shaft and move the elevator up and down the shaft. To move the elevator, you must click in the shaft, and hold down the mouse button. Once you release the mouse button, the elevator will move the list to the new position.

This elevator will also change size depending on how many files there are on a disk. The more files on the disk, the smaller the elevator; the fewer files, the larger it will be. The worst-case senario will be if there are 255 files on a disk. In this case, the elevator will be one pixel high. No need to worry, since clicking anywhere in the elevator shaft will automatically attach the elevator to the mouse.

There is one other feature of this dialog box. It has a blinking cursor. Use this to input a filename when you know the name of the file, but don't feel like searching a list of 200 files!

Now for the Editor. The editor is activated by selecting OPEN in the display box. This OPEN command will open the highlighted file name. It will read in the header block and the directory entry, and then display the edit box.

Once in the editor, you will see a large window in which you will find 13 fields. These fields act like those of geoFile. To input something in a particular field, click in the box. You will then see a cursor and you can enter the data.

The 13 fields are as follows:

Filename: This field displays the file name of the currently open file. Click here, and you can change the name of the file that you will see on the deskTop. It will search the directory for any duplicate filenames before excepting your input.

File type: This field displays the Commodore DOS file type. The six possible types are: DELeted, SEQuential, PRoGram, USeR, RELative, and CBM (1581 BAM protection table). You can enter these in upper case or lower case; the editor will automatically convert lower case letters to upper case. NOTE: the DEL file type will make the file appear as a deleted file, and you will not be able to reexamine it. The deskTop will also believe it to be dead. Also note, that if you make a file deleted, the blocks that it occupied will still be allocated, so a VALIDATE under deksTop will be necessary.

Geos type: This field displays the geos file type of the currently opened file. This may contain one of the following: BASIC, ASSEMBLY, DATA, SYSTEM, DESK_ACC, APPLICATION, APPL_DATA, FONT, PRINTER, INPUT_DEVICE, DISK_DEVICE, SYSTEM_BOOT, TEMPORARY, AUTO_EXEC, and INPUT_128. NOTE: Spelling counts in these two fields! You can type in any of the above words, and HeaderEditor will promptly change the Geos type of the file. Again, you can enter the words in upper or lower case letters. Note: NOT_GEOS types are unable to be opened since they don't have header blocks.

Structure: This field displays the Geos structure type of the file. It will either contain VLIR or SEQUENTIAL. When you click on this field, it will automatically switch to the other structure type.

Start addr: This field displays the starting load address of the file. This address is displayed in hexadecimal and contains four digits. When entering a new address, you should enter 4 digits. If you enter less than 4 digits you will get a weird number.

Example: 0400 (for $0400)

End addr: This field displays the ending load address of the file. This acts much the same way as the start addr.

Exec addr: This is the execute address of the file. This is the address the deskTop will jmp to when it runs a file. This also acts the same as the start addr.

Permanent: This is the permanent name of the file. This exists on all Geos files. This is what geoWrite and geoPaint search for when you want to open a document. Change this, and those applications will not find this file. On an application's header, this field will be used by the application to find itself for some various disk routines.

Author/Disk: This is the author's name, or the documents parent disk. You can enter just about anything here, since nothing uses this part of the header.

Parent appl: This is the parent application's name. This will only have something in it if it is a document. If it is an application, it will probably be blank. This field can contain any name you wish. This is where the deskTop looks when you double-click on a document, to find the proper application to open the document. Example: geoWrite V2.1, tells deskTop to load up geoWrite version 2.1 and open up this document.

Write Protect: This shows whether the file is write protected or not. To change it, simply click in the field and it will switch to the opposite setting.

Time & Date: This shows the date and time in decimal notation. When you enter this, you MUST enter it as follows: YEAR/MONTH/DAY äspaceü HOUR:MINUTE. Enter the numbers in decimal, and don't forget the slashes, spaces, and colons. The HOUR is in 24 hour time.

Example: 91/2/8 11:36 (for 11:36 AM on February the 8th of 1991.)

Size in blks: This shows the size of the file in blocks. Note, blocks are not the same thing as Kbytes. Four blocks will equal one K. This number MUST have 4 digits, and is entered as hexadecimal.

Example: 002F (for 47 blocks)

There are also icons in this edit window. They are: Save, Undo, Exit, ->Buf, and <-Buf. The save icon will save the header back to disk. The Undo icon will reread the header from disk, reading whatever was last saved. This is like the "recover file" option under geoWrite and geoPaint. The Exit icon will exit the edit box, NOT saving the header to disk, letting you then load another file. The last two icons make use of a buffer in the applications memory. The ->Buf icon will save the current header to the buffer, and the <-Buf will read it back in. You can write a header into the buffer, then exit, load another file, and read the original header in from the buffer. NOTE: The name of the current file will not change when you read from the buffer. (There are some other bytes that are not transferred. They are the header block pointers in the directory entry, and the "beginning block" pointers.)

Final notes. I would like to inform you of an important detail. That is, a NOT_GEOS program will not have a header block. So, if you change the Geos type to NOT_GEOS, and save it, you will not be able to open that file again. HeaderEditor will display a dialog box saying "This file has no header block." The header block will still be on the disk, but under HeaderEditor, it is inaccessable. You can use geoDebugger to change it back or any other disk secotr editor.

NOT_GEOS types are not displayed in the list window, BUT, you can type in it's name in the list box and it will try to open that file. Again, you will see the "no header" message.

Also, if you create a deleted file, save it, but do NOT exit, you can still repair it. Just enter another file type other than DEL. If you do create a DEL file type, then you better validate the disk from deskTop. Remember, once you create a DEL file, and exit the edit box, you will not be able to retrieve that file with HeaderEditor. Note: There are a few good file retrievers floating around, so your file is never really unretrievable.

Blank disks. If you try to open a blank disk, you will get an "Error reading disk" message.

A disk with only NOT_GEOS types on it will cause an "Error reading disk" message also, since there would be no files that you could edit on that disk.

Some of the fields in the editor will automatically confirm your input by reprinting what you've typed. Example: You enter "system" for the Geos type, HeaderEditor will reprint "SYSTEM" as a confirmation of your input.

Another point. If you haven't noticed, this program will not let you edit the header icon. This is something I decided not to do since there are at two icon editors that I know of. One of them was published in RUN magazine. Another thing I don't edit is the info box text. This is the text you see when you do the "file/info" menu item from the deskTop. Why do another field if deskTop does it for me?

IMPORTANT:

Nathan Fiedler disclaims all warranties with regard to this program, including all implied warranties of merchantability and fitness. In no event shall Nathan Fiedler be liable for any special, indirect, or consequential damages or any damages whatsoever resulting from loss of use, data, or profits, whether in an action of contract, negligence, or other tortious actions, arising out of or in connection with the use of this program.

In other words, you better know what you're doing before you screw up your disks, because I'm not responsible for what you do with HeaderEditor.

Thank you

(cont)

At this time, I would like to thank Jim Collette for his help in the elevator formula. If he didn't show me how to use it properly, HeaderEditor would not have an elevator!

Thanks Jim!

If you have any questions, please mail me at:

Nate Fiedler

Rd 3 Box 140

Bernville, PA 19506

27 LockUnlock 2 KB Application Lockr/UNLckrV1.0 SEQ 1990-01-18 18:37 Scott E. Resh .cvt
Use 'Locker/Unlocker' to changethe 'protect'
28 unTrash 5 KB Application unTrash V3.0 SEQ 1990-04-28 09:28 John F. Howard .cvt
Supports all C= drives. unTrashes GEOS & C= files.
29 geoDiskEd128 8 KB Application geoDiskEdit V1.0 SEQ 1989-04-16 22:47 Mike Craig .cvt
30 QwikBAM 6 KB Application QwikBAM V1.0 SEQ 1991-02-18 13:15 John F. Howard .cvt
Displays BAM to screen and printer.
31 QWIKPIK 4 KB Application QwikPik V1.0 SEQ 1990-12-01 12:04 John F. Howard .cvt
Select files to copy to RAMDrive with QwikStash
32 QWIKSTASH 4 KB Auto-Exec QwikStash V1.0 SEQ 1990-12-02 15:50 John F. Howard .cvt
Copies selected files to RAMDrive
33 Pik/StashDocs 4 KB App Data Write Image V2.1 VLIR 1992-03-31 10:04 .cvt .html

QwikPik and QwikStash Documentation

This pair of programs lets you automatically dump selected files from your boot disk to your RAMdrive and, if you desire, swap the RAMdrive for your boot or data drive. I use these programs to copy application files from my bootable 1581 disks to my RAMDrive (512K REU) and then automatically swap the RAMDrive and the 1581 for maximum application speed, keeping my data on my 1541.

QwikPik is the first half of the pair. Put QwikPik on your boot disk with your system in its normal configuration. Double click its icon and it first checks for your RAMDrive and keeps track of its type (1541/71/81). You'll see a presentation similar to QwikTop's screen. You can select the files you want to copy by clicking on the file names. As you select the files they will be reversed and the number of Kbytes selected and remaining will be displayed at the bottom of the screen. QwikPik won't let you select more files than there is room on your RAMDisk, and will only let you select files from the first eight pages of your boot disk. Deselect a file by clicking on its reversed name. Once you have selected the files you want you can save those selections by chosing "save and quit" from the "file" menu option. Note - If you plan to use the swap option from QwikStash you'll need to select DeskTop and Input Driver to be copied, otherwise when the swap is made the system will lock up. The files you've selected are saved in a file named "QWIKDATA" on your boot disk. You may change this name from the DeskTop if you like since it is found by QwikStash using its permanent name.

QwikStash is the workhorse of the pair. Put it on your boot disk (AS THE LAST AUTO-EXEC FILE!) and it will copy the files you selected in QwikPik from your boot disk to your REU.

QwikStash has two modes - normal application and auto-exec. In the normal application mode, double click QwikStash from the DeskTop and you'll get to select whether you want an automatic swap of drive C (your RAMDisk) and drive B or C or no swap at all. (QwikStash comes to you with the no swap option selected.) Once you make that selection you'll be asked if you want to copy the files now. Answer OK and the selected files will be copied to the REU and any selected swap executed. Answer no and you'll be returned to the DeskTop. In either case your swap selection is preserved for auto-exec mode.

As an auto-exec file (remember - make it the last auto-exec file on your boot disk) QwikStash will copy the files selected by QwikPik and stored in QwikData from your boot disk to your REU and execute a swap of REU and drive 8 or 9 as you selected in application mode.

If you have any questions or comments on these programs send me E-Mail to ILLINI70 (on Q'Link) or a note to me:

John F. Howard

4433 Clemsford Drive

Virginia Beach, VA 23456

34 R S V P 3 KB Font GeoFont 1.4 VLIR 1991-04-13 20:42 .cvt .png
HotFonts disk - $8 - send check/MO to:
Robert Stanley, 1412 Carmel Blvd.,
Zion, IL 60099
35 Der Vaterland 5 KB Font GeoFont 1.4 VLIR 1991-04-13 22:03 nj .cvt .png
HotFonts disk - $8. Send check/MO to: Robert Stanley, 1412 Carmel Blvd., Zion, IL 60099
36 Park Avenue 3 KB Font GeoFont 1.4 VLIR 1986-04-07 15:54 6ry V1.1 .cvt
Available in 18 point.
37 wilson.919 6 KB Font GeoFont VLIR 1988-07-06 14:09 f .cvt .png
Michael Myers, 414 E. 3rd, Beardstown, IL 62618
12 pt., 14 pt. and 24 pt.
38 iconfont.926 4 KB Font GeoFont VLIR 1990-07-01 10:04 J .cvt .png
Michael Myers, 414 E. 3rd, Beardstown, IL
39 reverse.927 2 KB Font GeoFont VLIR 1990-03-27 10:25 .cvt .png
Michael Myers, 414 E. 3rd, Beardstown, IL 62618
use asterick (*) for space.
40 geoGIF 8 KB Application geoGIF V1.1 SEQ 1990-08-14 23:59 Randy Weems .cvt
A GIF data stream format to geoPaint decoder for Commodore computers using GEOS.
41 geoGIF.doc 5 KB App Data Write Image V2.1 VLIR 1992-03-31 10:05 Red Storm .cvt .html
This file was created with
Wrong is Write.
Written by Joe Buckley.

geoGIF

Copyright 1990, Randy Weems

GIF and 'Graphics Interchange Format' are trademarks (tm)

of Compuserve Incorporated, and H&R Block Company.

geoGIF is the copyright property of Randy Weems. geoGIF is released as shareware; if you find this software useful, please send a $10 shareware fee to...

Randy Weems

2200 Centerpoint Rd

Cumberland Furnace, TN 37051

Introduction

geoGIF is a GIF data stream to geoPaint file convertor. It uses an advanced dithering technique to produce excellent quality monochrome results. geoPaint or a geoPaint file viewer may be used to view the results.

Use

Operation of geoGIF is simple. Upon opening geoGIF from the desk top, the user will immediately be presented with a files dialog box. This dialog box will list the first 160 non-GEOS files ending in '.GIF' (case is not important). The standard DRIVE and DISK icons are provided. A file may be selected by clicking on it, by clicking on the icons at the bottom of the dialog box (if more than seven files are present), or by using the UP/DOWN cursor key. A selected file may be opened by clicking on the OPEN icon, by double clicking on the file, or by hitting the RETURN key.

When a file is opened, geoGIF will first verify that it is a GIF data stream. If it is a valid GIF data stream, geoGIF will prompt the user for the output geoPaint file name. This defaults to the original GIF file name minus the '.GIF' suffix.

Next, the user will be provided with some information about the GIF data stream in a 'Screen Descriptor' information box and decoding will begin. Information and progress for each image in the data stream is provided on screen in. When the conversion is complete, the user will be returned to the files dialog box.

When you have converted all the GIFs you want, select CANCEL from the files dialog box to return the the deskTop. You may then use geoPaint or a geoPaint file viewer to view or print the files.

Dithering Technique

geoGIF uses a dithering technique known as error distributed dithering (specifically, it is a Stucki dither). This is generally considered to be the dithering technique that produces the best results. One disadvantage is speed; the dithering slows geoGIF down more than anything else. Considering the results though, geoGIF runs at a fairly respectable speed. Another disadvantage is the amount memory required; GEOS doesn't give applications much room to begin with. After you subtract off the memory needed for decoding the GIF and the memory needed for dithering, very little room is left for the code itself. The biggest disadvantage is that error distributed dithering requires that the raster lines of the images must be in sequential format; the only way to support interlaced images when using error distributed dithering is to buffer half the image. Due to memory constraints, this certainly isn't feasible.

Multi-image GIFs

There is no reason why a GIF data stream must contain only one image (although most do). GIF was designed to allow multiple images per data stream. Unlike most decoders for 8-bit Commodore computers, geoGIF correctly supports multi-image GIFs (MIGs).

Interlaced images

Version 1.0 of geoGIF does not support interlaced images. This is due to the dithering technique used. A later version of geoGIF may support interlaced images, or I may provide a utility to convert interlaced images to sequential images in the near future. This is the ONLY feature of the GIF87a specification not supported.

Comments

42 geoPCX 7 KB Application geoPCX V1.0 SEQ 1991-06-08 17:44 Jim Collette .cvt
Convert geoPaint to PCX format for import to PC
geoDraw.
by Jim Collette 6/91.
43 geoPCX docs 4 KB App Data Write Image V2.1 VLIR 1991-06-08 18:31 .cvt .html
geoPCX documentation.... (nah, really?!)

geoPCX (Version 1.0)

Copyright (C) 1991, Jim Collette

44 QTAuto 1 KB Auto-Exec QTAutoExec V1.2 SEQ 1990-10-06 20:02 John F. Howard .cvt
Modify kernal to call QwikTop instead of DeskTop.
45 QWIK TOP 12 KB Application QwikTop V3.1 SEQ 1990-08-19 14:55 John F. Howard .cvt
64 files displayed on the screen, load & run like DeskTop.
46 QWIK-TOP 8 KB Application QwikTop V2.4 SEQ 1989-10-29 12:17 John F. Howard/JC .cvt
64 files displayed on the screen, load & run.GEOS 128 mods by Jim Collette.
47 KeyMaker2.0 12 KB Application KyBrdDefinerV2.0 VLIR 1991-04-13 19:52 Irv Cobb .cvt
$5.00 sharewareIrv Cobb, 909 Main StreetUnion Grove, WI 53182
48 DUAL TOP 19 KB Auto-Exec Dual Top V2.5 SEQ 1991-07-11 21:06 Paul B. Murdaugh .cvt
***** Share Ware *****
Help keep the C64 alive!
Support your S. W. authors
Details in menu
49 DualTop64.Docs 18 KB App Data Write Image V2.0 VLIR 1991-07-11 21:39 Paul B. Murdaugh .cvt .html
Users Manual for
Dual Top v2.5

DUAL TOP 2.5

_________________________

U s e r ' s M a n u a l

_________________________

Paul Murdaugh

2253 N. Kansas

Springfield MO, 65803

Important: Read This Notice Before Using This Software!

This software Is shareware. Please seriously consider your decision as to whether or not you will send a fee for this product. If you like the Dual Top, your fee will guarantee future upgrades of Dual Top and future releases of other products by this author. Help keep the c64 alive by supporting the ShareWare authors that are supporting you. I am not asking for a specific shareware fee. Instead, I would like you to set your own value for this product, based on it's usefulness to your particular system. Shareware fees, comments and suggestions should be mailed to-

Paul B.Murdaugh

2253 N. Kansas Ave.

Springfield MO, 65803

I may also be contacted on these bbs'

QLINK (Send Email to RedSonia.)

The Cave (417) 820-4027 (Send Email to Pzapro)

Disk Vision (417) 886-2562 (Send Email to Pzapro)

_____________________________________________________

Welcome to Dual Top!.

This program is an alternative to the DESK TOP.

Table of contents

1. System Requirements

2. Gadgets and Icons

3. General use instructions

4 . Configuration suggestions

5. Future plans for Dual Top

6. New features for 2.5

System requirements

64 Dual Top was designed to work with GEOS 64 v2.0, with a ram expansion unit. With this set up you can use up to 2 real drives and 1 ram drive, or 1 real drive and 2 ram drives if you have a 2 meg reu configured as such. This program will not work with lower versions of GEOS. It will also work on a unexpanded system with all drives being of the same type. It will not work on an unexpanded system with different drive types.

===============================================================================

Gadgets and Icons

There are 2 gadgets used for moving through the list of files, one for each window. To use this gadget place the mouse pointer on top of the gadget and then hold down the left mouse button. When you have moved it to the desired location, release the button and the files will be listed from the new location.

To scroll through the files in a window use the arrows on the side of the window. If you hold the mouse button down the files will continue to page until the button is released or the end of the file is reached.

In the middle of the screen are 10 buttons. The top 3 buttons are for the drives. The lower 7 buttons (see below) will perform the following functions on the selected files in the 'SOURCE' window.

ALL: This button will select every file in the 'SOURCE' window.

CLEAR: This button will deselect every file in the 'SOURCE' window.

INFO: This button will give you information on all selected files from the source window. It will work on all 3 drives.

COPY: This button will copy all selected files from the source window to the destination window. It will copy between any combination of drives. A:>B:,A:>C:,B:>C:, and the reverse.

PRINT: This button will send the FIRST selected file in the source window to it's parent application for printing. This is not a multifile function. If the file is not a data file the function will abort. Data files for the major applications cannot be printed from drive C: in this manner.

RENAME: This button will allow you to rename all selected files on the source disk. Will function on all 3 drives.

DELETE: This button will delete all selected files from the source window. It will function on all 3 drives.

There are two windows to work from. The 'SOURCE' window and the 'DESTINATION' window. All selected functions are performed on the 'SOURCE' window. To make a window the 'SOURCE' simply press the mouse button with the pointer anywhere in or on the window.

There are two gauges on the windows. On the outside are fuel gauges. These show how much room is left on the disk. On the inside is a file gauge this shows the number of files on the disk.

NEW!: On the bottom of the file window is the exact number of Kbytes used and free.

General use

The first thing we need to know is how to open a disk. Simply click on the drive button that has the disk that you want opened. The files on that disk will then be listed in the window that has the word 'SOURCE' printed on top of it. To open another disk without losing the file listing of the first, click anywhere in the 'DESTINATION' window and it will become the 'SOURCE' window. The text on top of the window will change to show this. You may now open another disk.

Next, we need to know how to execute a program or open a data file. Simply double click on the file you want opened. If the double clicked file is not an executable file and is also not a data file, the file will be returned to it's unhighlighted state.

To perform a function on a file, simply click on it and then select the desired function from the buttons in the middle. Note: You may have files selected in both windows at the same time, but the function will be performed only on the files that are in the 'SOURCE' window. To use the selected files in the 'DESTINATION' window simply click anywhere in that window and it will become the 'SOURCE' window. You may then perform a function on those files.

KeyBoard ShortCuts

A). For moving through large file listings the function keys may be used.

F1=Top of listing

F3=Move 1 page up

F4=Move 1 page down

F7=Bottom of listing

B). 'C=' has 2 functions. (Keep held down for both functions)

Aborting the copying of multiple files

Disabling the double click from opening files

Drag feature.

When you have several files grouped together that you want to select (or deselect), simply point click and drag just like you would in GeoWrite.

Note: To have 64 Dual Top install itself when GEOS is first loaded, simply place it on your BOOT disk after the configure file.

Menu Options

geos:

Dual top Info: Will display information about the program.

Select printer : To change print drivers, select desired driver then choose "Select Printer" from menu.

Select Input: To change input devices, select desired device then choose "Select Input" from menu.

Select Preferences: Choose this option with a disk containing a Preferences file in the source window to load a preference file.

DeskTop: This will return you to the Desk Top.

disk:

Close: Close the source window

Rename: Rename the disk in the source window.

Erase: Erase the disk in the source window

Format: Format a disk in any drive.

configure:

Swap A: & B: Make drives change device number positions

Swap A: & C: Same as above

Swap B: & C: Same as above

options:

Reset: To use this option Dual Top must be on an opened disk in the source window. It will do a warm start of the system and reinitializes Dual Top.

Basic: This will return you to basic.

auto dir:

Drive A: To use this option Dual Top must be on an opened disk in the source window. This is on on/off switch for doing an automatic directory when control is returned to Dual Top, such as when you quit from an application.

Drive B: Same as above

Drive C: Same as above

Note: If no drives are selected for Auto Dir, Dual Top will return to the last used drive.

auto sort:

auto on(off):To use this option Dual Top must be on an opened disk in the source window. This is an on/off switch for automatically sorting the file listing when a disk is opened. The menu will show the state of the switch if the menu is chosen. Example: If the menu option is 'auto off' then the current setting is sort on. Clicking on this option would then turn auto sorting off.

do source:

This option will sort the list of files in the source window .This can be used to quickly find a file on a disk with a large listing.

Configuration Suggestions

I will begin by describing how Geos looks at the drives. The Geos kernel supports four drives but the code for returning to the Desk Top from an application looks at the drives as two sets of two, rather than just four drives. The kernel acts as if there is a wall between these two sets of drives. What this means is that when an application is run from the first set of drives (AB) the kernel will only look at this set for the Desk Top. This also happens in the reverse situation. When an application is run from the second set of drives (CD) the kernel will only search the second set for the Desk Top. I look at it like two sides of a river with no bridge between them. This situation is further shown in the applications produced by BSW. They are designed to operate only within set (AB). Lastly the Desk Top resides only within the realm of set (AB) with the added capability to access set (CD) and swap drive C with a drive from set (AB). Dual Top replaces the Desk Top with some added abilities to bridge the gap between the two drive sets. The kernel has the ability to access set (CD) the same as set (AB), so supporting file copying, or any other function, is possible between the two sets.

Next, I will discuss how the BSW applications look at the drives. The BSW applications were designed to work only within the set (AB). There are, however, some loop holes in the code. 1. When a file is double clicked out of set (AB) the parent application does not have to be in that set! The application can reside in set (CD) and still load its data files from set (AB). 2. When an application is directly opened from set (CD) and OPEN is selected from the dialog box, files from the application's parent disk will be listed. There are two problems with this. 2A). The disk name in the top of the dialog box will show the name of the disk in drive B. This will confuse you if you are not expecting it. 2B). If you select the DRIVE icon you will not be able to relist the files on applications disk unless you close and then reopen the application.

Lastly, I will discuss how Dual Top takes advantage of these loop holes to further bridge the gap between set (AB) and set (CD). When a data file is double clicked or selected for printing, Dual Top will always search the ram drive first for the parent application. Example: If in drive A: you have a paint file and GEOPAINT and you have GEOPAINT in Ram Drive C, the application will be loaded from the ram drive and the application will then load the data file from drive A.

This my recommended setup for 3 drive systems for users that use the ram drive only for applications, fonts, etc. and use the real drives for data.

Drive A: Real drive. Data disk

Drive B: Real drive or Ram drive if you have 2 ram drives. Data and/or utility disk.

Drive C: Ram Drive. Applications, print driver, Dual top, fonts, utilities.

If you prefer to put the applications and the data files in ram for faster operation, then use this set up.

Drive A: Ram Drive. Applications, print driver, Dual top, fonts, utilities.

Drive B: Real drive. Data disk.

Drive C: Real drive. BackUp Data disk and/or Utilities.

Note: You must keep in mind that the kernel handles the reloading of Dual Top when you exit an application. It will only search the drive set that the application was ran from. You do not want to get caught in set (CD) without a copy of Dual Top if drive C is your ram drive. The only way to recover from this is to reset and reboot!

Future plans for Dual Top.

Future improvements on Dual Top will only be possible with YOUR support!

Dual Top 3.0. This will be a major reworking of the Dual Top system. The 2 main features will be 4 drive support and a new modular structure. With its new structure, there will be no more future versions of Dual Top. Instead, new modules will be written that can be installed into the Dual Top system. With this system you can choose the modules you like and have a personalized Dual Top.

I would like to send a special thanks to those who have sent their shareware contributions.

Paul B. Murdaugh.

===========================================================

New Features for 2.5

Why 2.5? The principal reason for this version was to correct a bug in the copy routine that only appeared to affect a small percentage of GeoPaint files. I did not want to release a new version only for the sake of repairing a bug so I added some new features to make it an actual upgrade to 2.0.

This is a list of the new features of DT 2.5

1. Copy routines have been repaired. I have tested the new routine for a month copying hundreds of files of all types from one drive format to another. They are rock solid.

2. In response to user request, I have added more information to the windows. The Kbytes free and used are now displayed at the bottom of each window.

3. In response to user request, I have rewritten the scrolling routines. They are now about 8 times as fast as the old routines.

4. The faster sorting routine from the 128 Dual Top was implemented into this 64 version. On a disk with 100 files the sort time went from 30sec to 10sec giving a 300% improvement. (Your actual mileage may very.).

5. In response to user request, When you exit Dual Top you are no longer forced into drive A:. If you have your ram drive as A: or B: then Dual Top will force the system to search the Ram drive first for the Desk Top.

6. For increased compatibility with non geos disks a filter has been installed to remove any non printable characters from the file names. They are replaced with an "*". This was necessary as those characters caused system errors when they were printed.

7. In response to user request, I have installed a BASIC loader. You can now load any non geos file that has a "PRG" file type. Fast loads all PRG files that load at $801 and are less than 30K. All files that are loaded to an address other than $801 are slow loaded from the CBM basic.

50 128 DUALTOP 19 KB Auto-Exec Dual Top V2.5 SEQ 1991-07-28 18:00 Paul B. Murdaugh .cvt
*** Share Ware ***
Support your ShareWare authors
51 Dual Top128.Docs 20 KB App Data Write Image V2.1 VLIR 1988-08-22 17:05 Paul B Murdaugh .cvt .html

128 DUAL TOP 2.5

_________________________

U s e r ' s M a n u a l

_________________________

Paul Murdaugh

2253 N. Kansas

Springfield MO, 65803

Important: Read This Notice Before Using This Software!

This software Is shareware. Please seriously consider your decision as to whether or not you will send a fee for this product. If you like the Dual Top, your fee will guarantee future upgrades of Dual Top and future releases of other products by this author. Help keep the 128 alive by supporting the ShareWare authors that are supporting you. I am not asking for a specific shareware fee. Instead, I would like you to set your own value for this product, based on it's usefulness to your particular system. Shareware fees, comments and suggestions should be mailed to-

Paul B.Murdaugh

2253 N. Kansas Ave.

Springfield MO, 65803

I may also be contacted on these bbs'

QLINK (Send Email to RedSonia.)

The Cave (417) 820-4027 (Send Email to Pzapro)

Disk Vision (417) 864-6574 (Send Email to Pzapro)

_____________________________________________________

Welcome to Dual Top!.

This program is an alternative to the DESK TOP.

Table of contents

1. System Requirements

2. Gadgets and Icons

3. General use instructions

4. Configuration suggestions

5. Future plans for Dual Top

6. New features for 2.5

System requirements

128 Dual Top was designed to work with GEOS 128 V2.0 with a ram expansion unit. With this set up you can use up to 2 real drives and 1 ram drive, or 1 real drive and 2 ram drives if you have a 2 meg reu configured as such, just as you can with the Desk Top. This program has not been tested on lower versions of GEOS. It will also work on a unexpanded 1 drive system. It will not work on an unexpanded system with different drive types.

==========================================================================================================

Gadgets and Icons

There are 2 gadgets used for moving through the list of files, one for each window. To use this gadget place the mouse pointer on top of the gadget and then hold down the left mouse button. When you have moved it to the desired location, release the button and the files will be listed from the new location.

To page through the files in a window use the arrows on the side of the window. If you hold the mouse button down the files will continue to page until the button is released or the end of the file is reached.

In the middle of the screen are 10 buttons. The top 3 buttons are for the drives. The lower 7 buttons (see below) will perform the following functions on the selected files in the 'SOURCE' window.

ALL: This button will select every file in the 'SOURCE' window.

CLEAR: This button will deselect every file in the 'SOURCE' window.

INFO: This button will give you information on all selected files from the source window. It will work on all 3 drives.

COPY: This button will copy all selected files from the source window to the destination window. It will copy between any combination of drives. A:>B:,A:>C:,B:>C:, and the reverse.

PRINT: This button will send the FIRST selected file in the source window to it's parent application for printing. This is not a multifile function. If the file is not a data file the function will abort. Data files for the major applications cannot be printed from drive C: in this manner.

RENAME: This button will allow you to rename all selected files on the source disk.It will function on all 3 drives.

DELETE: This button will delete all selected files from the source window. It will function on all 3 drives.

There are two windows to work from. The 'SOURCE' window and the 'DESTINATION' window. All selected functions are performed on the 'SOURCE' window. To make a window the 'SOURCE' simply press the mouse button with the pointer anywhere in or on the window.

There are two gauges on the windows. On the outside are fuel gauges. These show how much room is left on the disk. On the inside is a file gauge this shows the number of files on the disk.

NEW!: On the bottom of the file window is the exact number of Kbytes used and free.

Menu Options

geos:

Dual top Info: Will display information about the program.

Select printer : To change print drivers, select desired driver then choose "Select Printer" from menu.

Select Input: To change input devices, select desired device then choose "Select Input" from menu.

Select Preferences: Choose this option with a disk containing a Preferences file in the source window to load a preference file.

DeskTop: This will return you to the Desk Top.

disk:

Close: Close the source window

Rename: Rename the disk in the source window.

Erase: Erase the disk in the source window

Format: Format a disk in any drive.

configure:

Swap A: & B: Make drives change device number positions

Swap A: & C: Same as above

Swap B: & C: Same as above

options:

Reset: To use this option Dual Top must be on an opened disk in the source window. It will do a warm start of the system and reinitializes Dual Top.

Basic: This will return you to basic.

auto dir:

Drive A: To use this option Dual Top must be on an opened disk in the source window. This is on on/off switch for doing an automatic directory when control is returned to Dual Top, such as when you quit from an application.

Drive B: Same as above

Drive C: Same as above

Note: If no drives are selected for Auto Dir, Dual Top will return to the last used drive.

auto sort:

auto on(off): To use this option Dual Top must be on an opened disk in the source window. This is an on/off switch for automatically sorting the file listing when a disk is opened. The menu will show the state of the switch if the menu is chosen. Example: If the menu option is 'auto off' then the current setting is sort on. Clicking on this option would then turn auto sorting off.

do source: This option will sort the list of files in the source window.This can be used to quickly find a file on a disk with a large listing.

General use

The first thing we need to know is how to open a disk. Simply click on the drive button that has the disk that you want opened. The files on that disk will then be listed in the window that has the word 'SOURCE' printed on top of it. To open another disk without losing the file listing of the first, click anywhere in the 'DESTINATION' window and it will become the 'SOURCE' window. The text on top of the window will change to show this. You may now open another disk.

Next, we need to know how to execute a program or open a data file. Simply double click on the file you want opened. If the double clicked file is not an executable file and is also not a data file, the file will be returned to it's unhighlighted state.

To perform a function on a file, simply click on it and then select the desired function from the buttons in the middle. Note: You may have files selected in both windows at the same time, but the function will be performed only on the files that are in the 'SOURCE' window. To use the selected files in the 'DESTINATION' window simply click anywhere in that window and it will become the 'SOURCE' window. You may then perform a function on those files.

128 Dual Top handles the 40/80 screen in a very straight forward maner. Dual Top itself always runs in 80 cols. When you double click on an application or desk acc, Dual Top checks to see what modes it can run under. If the file runs in 80 (80 only or 40/80) it will be ran in 80 col mode. If the file is 40 col mode only, Dual Top will switch the system to 40cols and run the file. You will not be prompted as to whether or not you want to change modes. When you quit from a 40col file, Dual Top returns the system to 80cols.

KeyBoard ShortCuts

A). For moving through large file listings the function keys may be used.

F1=Top of listing

F3=Move 1 page up

F4=Move 1 page down

F7=Bottom of listing

B). 'C=' has 2 functions. (Keep held down for both functions)

Aborting the copying of multiple files

Disabling the double click from opening files

C). Other c= shortcuts

c= P: This will load a prefrence file from the disk in the source window

c= ' ': (Space bar) Toggels source and Destanition windows

c= A: List the files in drive A: in the source window

c= B: List the files in drive B: in the source window

c= C: List the files in drive C: in the source window

Drag feature.

When you have several files grouped together that you want to select (or deselect), simply point click and drag just like you would in GeoWrite.

Note: To have 128 Dual Top install itself when GEOS is first loaded, simply place it on your BOOT disk AFTER the configure file.

Configuration Suggestions

I will begin by describing how Geos looks at the drives. The Geos kernal supports four drives but the code for returning to the Desk Top from an application looks at the drives as two sets of two, rather than just four drives. The kernal acts as if there is a wall between these two sets of drives. What this means is that when an application is run from the first set of drives (AB) the kernal will only look at this set for the Desk Top. This also happens in the reverse situation. When an application is run from the second set of drives (CD) the kernal will only search the second set for the Desk Top. I look at it like two sides of a river with no bridge between them. This situation is further shown in the applications produced by BSW. They are designed to operate only within set (AB). Lastly the Desk Top resides only within the realm of set (AB) with the added capability to access set (CD) and swap drive C with a drive from set (AB). Dual Top replaces the Desk Top with some added abilities to bridge the gap between the two drive sets. The kernal has the ability to access set (CD) the same as set (AB), so supportting file copying, or any other function, is possible between the two sets.

Next, I will discuss how the BSW applications look at the drives. The BSW applications were designed to work only within the set (AB). There are, however, some loop holes in the code. 1. When a file is double clicked out of set (AB) the parent application does not have to be in that set! The application can reside in set (CD) and still load its data files from set (AB). 2. When an application is directly opened from set (CD) and OPEN is selected from the dialog box, files from the application's parent disk will be listed. There are two problems with this. A). The disk name in the top of the dialog box will show the name of the disk in drive B. This will confuse you if you are not expecting it. B). If you select the DRIVE icon you will not be able to relist the files on applications disk unless you close and then reopen the application.

Lastly, I will discuss how Dual Top takes advantage of these loop holes to further bridge the gap between set (AB) and set (CD). When a data file is double clicked or selected for printing, Dual Top will always search the ram drive first for the parent application. Example: If in drive A: you have a paint file and GEOPAINT and you have GEOPAINT in Ram Drive C, the application will be loaded from the ram drive and the application will then load the data file from drive A.

This my recommended setup for 3 drive systems for users that use the ram drive only for applications, fonts, etc. and use the real drives for data.

Drive A: Real drive. Data disk

Drive B: Real drive or Ram drive if you have 2 ram drives. Data and/or utility disk.

Drive C: Ram Drive. Applications, print driver, Dual top, fonts, utilities.

If you prefer to put the applications and the data files in ram for faster operation, then use this set up.

Drive A: Ram Drive. Applications, print driver, Dual top, fonts, utilities.

Drive B: Real drive. Data disk.

Drive C: Real drive. BackUp Data disk and/or Utilites.

Note: You must keep in mind that the kernal handles the reloading of Dual Top when you exit an application. It will only search the drive set that the application was ran from. You do not want to get caught in set (CD) without a copy of Dual Top if drive C is your ram drive. The only way to recover from this is to reset and reboot!

Future plans for Dual Top.

Future improvements on Dual Top will only be possible with YOUR support!

Dual Top 3.0. This will be a major reworking of the Dual Top system. The 2 main features will be 4 drive support and a new modular structure. With its new structure, there will be no more future versions of Dual Top. Instead, new modules will be written that can be installed into the Dual Top system. With this system you can choose the modules you like and have a personalized Dual Top.

I would like to send a special thanks to those who have sent their shareware contributions.

Paul B. Murdaugh.

===========================================================================

New Features for 2.5

Why 2.5? Frankly 128 Dual Top 2.0 was a bust. I was just in too big of a rush to get it out. Well here it is again with a couple of more months of work. I think you will find a world of difference between 2.0 and 2.5.

This is a list of the new features of DT 2.5

1. Copy routines have been repaired. I have tested the new routine for a month copying hundreds of files of all types from one drive format to another. They are rock solid.

2. In response to user request, I have added more information to the windows. The Kbytes free and used are now displayed at the bottom of each window.

3. In response to user request, When you exit Dual Top you are no longer forced into drive A:. If you have your ram drive as A: or B: then Dual Top will force the system to search the Ram drive first for the Desk Top.

4. For increased compatibility with non geos disks a filter has been installed to remove any non printable characters from the file names. They are replaced with an "*". This was necessary as those characters caused system errors when they were printed.

5. In response to user request, I have installed a BASIC loader. You can now load any non geos file that has a "PRG" file type. Fast loads all PRG files that load at $1c01 and are less than 30K. All files that are loaded to an address other than $1c01 are slow loaded from the CBM basic. I was not able to achieve 100% success with chosing the correct load command but I have achieved much better results then the Desk Top. Here are the rules Dual Top uses to decided how to load a CBM PRG.

1. Checks to see if the file loads at $1c01. This is the normal load address for 128 basic programs. This type of file will be fast loaded and a "RUN" command will be sent to basic.

2. Checks to see if file loads at $801. This is a 64 basic PRG and will be loaded by using the 'RUN"NAME",U#' command.

3. Checks if the file loads at $401. This is a vic basic PRG and will be loaded by using the 'RUN"NAME",U#' command

4. If the file does not load at any of the above addresses it wil be loaded with the BOOT"NAME",U# command.

6. In response to user request, Dual Top will now give you the option of formating 1571 disks as single or double sided.

7. In response to user request, more keyboard shortcuts have been added. See Page 4

52 SCRAPGRAB 3 KB Desk Acc SCRAPGRAB V2.1 SEQ 1991-02-04 11:16 Michael Myers .cvt
Use SCRAPGRAB to manage photo scraps and
53 PHOTOGRAB 3 KB Application PHOTOGRAB V2.1 SEQ 1991-02-04 10:18 Michael Myers .cvt
Use PHOTOGRAB to manage photo scraps and
54 AlbumCopy 3 KB Application AlbumCopy V2.1 SEQ 1991-02-13 10:12 Michael Myers .cvt
Use AlbumCopy to copy photo scraps between Photo Albums.
55 geostampdemo 24 KB Desk Acc STAMP DEMO V1.0 SEQ 1991-03-05 22:08 David B. Ferguson .cvt
56 geostamp.docs 25 KB App Data Write Image V2.1 VLIR 1991-03-05 23:42 .cvt .html

geostampdemo

GeoSTAMP

StampEdit

StampCollect

"GeoSTAMP", "StampCollect", "StampEdit","StampCollector","StampEditor","geostampdemo" are all

Copyright (c) 1990,1991 by David B. Ferguson and Quincy Softworks

What you are about to read is the documentation for "The GeoSTAMP Disk". This is the documentation file as it will appear on the disk, and so refers to files and programs other than "geostampdemo". In fact, on the following pages, "geostampdemo" is not referred to at all. For instructions on how to use the demo, read the instructions for "GeoSTAMP". The only important difference is that you can NOT load any files with the demo; there is a stamp set already "hard-coded" into the demo program. The reason that I have included the whole set of instructions is to give you an idea of what else is on the disk you will purchase.

"geostampdemo" and these docs may be duplicated and re-distributed for demonstration purposes ONLY, in UNMODIFIED form!!

To order "The GeoSTAMP Disk" please send $13.95 ($16.04 overseas) to:

Quincy Softworks

9479 E. Whitmore Ave.

Hughson, CA 95326-9745

Send check or money order, US funds only, CA residents add sales tax.

Instructions

for

GeoSTAMP

StampEdit

StampCollect

THE CONCEPT and THE DISK

The "GeoSTAMP" set of programs came about from my frustration with geoPaint's cut-and-paste (mostly the paste part) and the edit feature. I found it to be very inaccurate, since you couldn't see the object you were moving around on the screen and never knew exactly where you were. I hated the fact that everything within the rectangle got destroyed when you used the move or copy features. In general, it just bugged me. So I developed the "GeoSTAMP" concept.

First, quit thinking about postage stamps!! We are talking about the kind of stamps that you bang down on an inked pad and then bang down on a piece of paper! That's exactly what "GeoSTAMP" is; a highly versatile stamper set.

There are three main programs on this disk; two Desk Accessories and an Application. The Desk Accessories are designed to be run directly from geoPaint without any intermediary programs such as GeoWizard or DA-Runner.

"GeoSTAMP" is the core DA. It is the one that lets you place your graphic images onto the screen. Each stamp file can hold up to 30 stamps. Each stamp has a maximum size of 48 pixels wide by 32 pixels high. You "carry" the stamp with you as you move your mouse over the geoPaint screen, placing it where you want with a click of a button.

"StampCollect" is almost a reverse version of "GeoSTAMP". It allows you to travel across a geoPaint page and "lift" graphic images into a stamp file. I used this extensively in the development of the stamp sets included on this disk, since I am not much of an artist. Of course, this allows you to use all of geoPaint's tools to create an image before adding it to your stamp set.

"StampEdit" is the Application. It is a pixel editor which allows you to create new stamp files as well as edit existing ones. People who are more "arty" than me will enjoy using this. It is a relatively simple editor, but it does the trick.

In addition to the three main programs, the disk includes a geoPaint file called "Stamp Template", which will help you set up graphics to use "StampCollect" with; "wally maze", a useless little geoPaint maze I created with "GeoSTAMP in about 1/2 hour; and a whole lot of stamp files to get you started. (Yes, I know the stamp file icon is a postage stamp and I told you not to think of postage stamps, but I couldn't resist putting my two cents in!)

On with the show!

COMPATABILITY

"GeoSTAMP" is one of many signs of the growth and vigor in the Geos world. In order for that growth to continue, programmers have found ways to make Geos do some neat tricks! Please keep in mind that "GeoSTAMP" does things that the designers of Geos never anticipated, and it breaks some rules to do them. Therefore, I once again remind you that the two Desk Accessories should only be run from within geoPaint without any intermediary programs. Using them in any other way will, at best, not work, and may possibly crash the system. In some cases I have successfully used the "StampCollect" program outside of geoPaint, but those times have been rare.

GeoSTAMP

This is the heart and soul of the whole concept.

When you select "GeoSTAMP" from the geoPaint DA menu, your drives will all cheerfully whirr for a second or two and then a Dialog Box will appear on the screen asking you to load a file. It is your typical multi-file box which allows you to choose from any of your drives. Selecting "CANCEL" at this time will send you back to geoPaint.

When you finally open a stamp file, you will notice this "gadget" box at the bottom of the screen.

In that big white space to the right will appear the first stamp in your stamp set. Also, you will notice your pointer has been replaced by the same image, which you can move around on the screen. You can not move the stamp off of the geoPaint canvas. You can scroll thru the current stamp set by pressing "1" to scroll left and "2" to scroll right. (The scrolling is virtual; when you scroll left past the first stamp you will see the last stamp--scrolling right from stamp #30 takes you to stamp #1.)

About the "gadget" box (the black square is the selected one):

Move C,N,S--In addition to moving the stamps around the screen with the mouse, you can also use the cursor keys. By changing the Move size, you change the distance the stamp moves. N = Normal--each cursor press moves the stamp one pixel in that key's direction. S = Stamp--each cursor press moves the stamp by the size of the stamp; Cursor Up or Down moves the stamp 32 pixels; Left or Right moves it 48 pixels. C = Card--each cursor press moves the stamp 8 pixels (1 card) in that key's direction. The letter "m" or the "ALT" key (on the 128) change this mode.

Tran./Dest.--Transparent or Destructive. In the transparent mode, your stamp graphic will "layer" itself on top of whatever is below it transparently. In the destructive mode, everything within the rectangular area of the stamp is erased before the new stamp is placed. This is toggled with the "t" key.

Cookie--I didn't know what to call this. I think of it as a cookie cutter. This is a tough one to explain. When this is on, every set bit on the screen that matches a set bit in the stamp is erased. For example, if I stamped an image of a cat on a completely solid background, I would then see the image of the cat in reverse. Okay, you gotta do it to see it.

#--Which stamp number you are on.

x and y--Your coordinates on the screen. The upper left corner of the screen is x=0, y=0. But, of course, since you can't move the stamp off the canvas, your upper left corner will depend on which mode you are in: C64, C128-40, C128-80.

Note also that by hitting the "h" key you can get help screens that will remind you of all of the keyboard shortcuts.

A brief word about your mouse control and then on to the keyboard shortcuts. There are no menus or icons in "GeoSTAMP". Your mouse serves only to move the stamp around on the screen and then place it where you want by pressing the button. By holding down the button and moving the mouse you can "paint" with the stamp. This is tricky, but I have done some neat things with this. Keep in mind that as long as you are holding the button down, the program is repeatedly placing the stamp image. The faster you move the mouse with the button down, the further apart the images will be; the slower you move, the closer they will be.

We have already looked at some of the keyboard shortcuts, but now it is time to talk about all of them. (Some of the keys mentioned are only on the C128.)

The cursor keys move the stamp as mentioned before.

In addition, the following keys will make Card or Stamp sized moves regardless of the Move setting; these make sense and are more useful if you have a C128:

"7" - Stamp Size Up

"4" - " " Down

"8" - " " Left

"5" - " " Right

"9" - Card Size Up

"6" - " " Down

"+" - " " Left

"-" - " " Right

In addition to the mouse button, "p", "ENTER" or "RETURN" - places the stamp onto the screen.

"u" or "ESC" - undoes last placement.

"1" and "2" - scroll you thru the stamps as mentioned.

"i" - inverts the current image. See NOTE below.

"x" and "y" - flips image on x or y axis. NOTE: in 80 column mode the result will not appear on screen until you move the mouse slightly. Also, when you invert or flip, only the sprite changes. The picture at the bottom of the screen does not change.

"l" - lets you load a new stamp file

"q" or "STOP" - lets you quit. When you quit, whatever you have placed on the screen will remain when you return to geoPaint. If you want to erase all of the work you did in "GeoSTAMP", select "recover" from the geoPaint menu BEFORE you do anything else.

"t" - toggles you between Transparent and Destructive modes.

"d" - toggles the coordinates display on and off to make sprite movement smoother. Most of the time I leave this off.

"m" or "ALT" - changes the move size.

"c" - toggles cookie mode.

"h" or "HELP" - takes you to the help screens

(Someone is bound to ask why I didn't use the Function keys for stamp movement. Well, it's because F2 causes the mouse to dance all over the screen. I dunno why, but it does in almost all programs, including geoWrite and geoPaint.)

GeoSTAMP TIPS & TRICKS

1) Using the card and stamp size moves is really useful for almost everything. I only use the mouse for big moves or for "painting".

2) There are two ways to erase something on the screen. One is to take the same image as what you want to erase, go into the "cookie" mode and place the stamp exactly over the image. Since it turns off every bit that matches, it will erase the whole image without destroying anything around it. The other way is to take any image and turn on both "cookie" and "dest". This will erase everything in the stamp rectangle. To make this even easier, take a blank stamp, invert it, and then turn on "cookie" and "dest". You can even drag this around the screen like a big, slooooow eraser.

3) The rectangular stamp area can NOT leave the screen no matter what size the actual stamp image is. This means you may get to the edge of the screen and not be able to bring your stamp all the way down. You will feel like one of those street mimes stuck in an invisible box! One solution is to leave "GeoSTAMP" and scroll the screen. Or, if you are using a stamp image that looks the same flipped on way as another, you can flip it. This was not an oversight, but the result of a technical problem with sprite images going too far off the Geos screen.

INTERMISSION

The Puzzle Game--You will see a stamp file on the disk called "Disk Game". This is an example of how you can create puzzles with "GeoSTAMP". I took a graphic of a 3.5 inch floppy disk and "cut" it into 20 or so pieces, placing them in a stamp set, but NOT in order! Your task is to reconstruct the disk. Note that a few of the pieces overlap one another. With "GeoSTAMP" this is no problem, since you can stamp one image over another without destroying them. When you get to the bottom, you will have to stop, scroll the geoPaint page up a bit, and then finish.

StampCollect

This looks alot like "GeoSTAMP", since it is the reverse of it. When you run this you will be asked to load a file. If you don't want to load one, press "CANCEL" and you will be ready for a new file. In this program "CANCEL" does not send you back to geoPaint.

Here is the "gadget" box for "StampCollect":

You already know what Move does. The difference here is that now you are moving around a rectangular box made up of dotted lines. This is the frame you use to pick up an object and add it to your stamp collection. The dots ARE inclusive. That means that when you set the box over an area to lift up, the area under the frame of the box is lifted up too. Does that make sense? It will when you use it.

Except for the fact that you don't have any need to hold down the mouse button and drag the frame around, all of the mouse movements are exactly the same as in "GeoSTAMP" and aren't repeated here.

Other keyboard commands:

In addition to the mouse button, "p", "ENTER", or "RETURN" will pick up the stamp.

"l" - load file.

"s" - save file.

"q" or "STOP" - quits.

"d" - toggles coordinates display.

"c" or "CLR" - clears the current stamp in the box below.

"u" or "ESC" - undoes your last action pick-up

"1" & "2" - scroll the stamp set.

"h" or "HELP" - gives you the help menu.

"m" or "ALT" - changes the move size.

"n" - new; this erases the entire stamp set.

You can do some rather interesting things with this program. The pick-up is transparent, so you could get one image, and then layer another image on top of it to create a different stamp. You'll see. Any file you create here can be edited with "StampEdit".

StampCollect TIPS & TRICKS

1) I don't really have any.

StampEdit

This is pixel editor Application. The file loading and saving are just like "StampCollect". Your mouse is stuck within the boundaries of the edit frame. Clicking the mouse turns a pixel on or off. To draw with the mouse, click on an unset pixel and hold the button down while you drag the mouse. To erase, click on a set pixel and hold the button down while you drag the mouse.

Here is the box at the bottom of the "StampEdit" screen. All that changes here is the stamp # and the stamp picture. (The postage stamp picture here is just because I wanted to fill the space.)

Once again the keyboard commands are very similar to the other two programs:

In addition to the mouse button, "f", "ENTER", or "RETURN" flips the pixel on and off.

"l" - loads a stamp file.

"s" - saves a stamp file.

"1" & "2" - scroll thru the stamp set.

"i" - inverts the stamp.

"x" & "y" - flips the stamp on its x or y axis.

"q" or "STOP" - quits "StampEdit".

"b" - saves the current stamp to a buffer. This image is kept in the buffer until you put something else into it.

"r" - recalls the image from the buffer.

"t" - saves the stamp image to the "undo" buffer. This image is destroyed whenever you do something new.

"u" or "ESC" - undo last change. This recalls whatever was last saved in the "undo" buffer.

"h" or "HELP" - gets you the help screens.

"n" - new; clears entire stamp set.

StampEdit TIPS & TRICKS

1) Unlike the other two programs, scrolling thru the stamp set is very slow. In addition, it seems to be more sensitive to holding down the "1" or "2" keys too long. As a result, you may actually start drawing on a stamp because you think it has stopped scrolling, only to suddenly see your work scroll off and the next stamp scroll in. The solution:

a) tap the "1" or "2" keys quickly.

b) wait a few seconds when the stamp number you want to edit appears. If the number stays displayed for a couple of seconds, you can safely assume that you have stopped scrolling.

2) This program CAN run in 80 columns, but the header on it is set only for 40. If you want it to work in 80 columns, you can change it with a flag setter or whatever. HOWEVER, the dialogue boxes may look funny. They should work okay.

3) I use "StampEdit" mostly for graphics that I have collected with "StampCollect".

4) This appears to work fine when called from GeoWizard. In fact, I have gone directly from inside "GeoSTAMP" to "StampEdit" to work on a set I am using, then back to "GeoSTAMP". When you do this however, you must load the file you were using in "GeoSTAMP" again if you want to see the changes made.

ABOUT THE STAMP SETS ON THE DISK

Most if the stamp sets on this disk are complete and ready to use and play with. There are a couple of sets that are not completed, more like works in progress. They are included more to give you an idea of what I want to see happend with "GeoSTAMP".

DISK SPACE CONSIDERATION

Each stamp file takes up 8k of disk space. It is very easy, in a stamp making session, to fill up a disk. You will be told when this happens.

Also, although the "GeoSTAMP" and "StampCollect" programs are no more than 10k on the disk, you must have at least 23k on your disk to run them. If you don't, Geos won't let you.

CONCLUSION

I think that, overall, all three of these programs or very intuitive. In other words, you don't need much in the way of detailed docs to make them work. There is no limit to what "GeoSTAMP" can do, but you have to really play with it to appreciate it. I have spent hours doing that myself, having fun making up the stamp sets on this disk.

My thanks to the people who tested this program and offerred constructive criticism, advice, or merely friendship:

Jim Collette (GeoRep Jim)

Bobby DaCunta (GeoRep BD)

Steve Main (GeoRep SM)

Dale Beach (CartoonKid)

Carlos Amezaga (The Smee)

Mevlin Montgomery (CMDR FIXER)

Susan Lamb (Yuma Lamb)

Peter Hughes (GeoLib PH)

Angie McKenna of GeoWorks (Berkeley Softworks)

And of course, my best friend and partner, Dweezil.

ABOUT QUINCY SOFTWORKS

57 Read Me! 4 KB App Data Write Image V2.1 VLIR 1991-05-08 10:33 .cvt .html

STOP!!! Before you do anything else, make a copy of this disk and put the original away!!!

THANKS

Thank you for purchasing "DweezilDisk 2" from Quincy Softworks. It is the encouragement of people like you which keeps third party software developers such as QSW alive! Please read the legal mumbo-jumbo below, but keep in mind that if you are dissapointed with the value of any QSW product, I WANT TO KNOW ABOUT IT! My name is David B. Ferguson. You may write to me at the QSW address, or you may send me E-Mail via Q-Link (GeoHostDBF, DiBieF, or QuincySoft), GEnie (DiBieF), or Compuserve (73515,1631). Your safest bet is to use the Q-Link "GeoHostDBF" name; I log on with that almost every night. I only check the other Q-Link names, GEnie and Compuserve once or twice a month

Limited Warranty and Limitation of Liability

This disk is warranted to be free from manufacturing defects for thirty (30) days from the date of purchase. If the disk should become defective within this period, return it to Quincy Softworks and it will be replaced. If the disk should become defective after the warranty period, include a $5.00 check or money order for replacement.

THIS PRODUCT IS PROVIDED "AS IS". THERE IS NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING (BUT NOT LIMITED TO) THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR USE. THE ENTIRE RISK AS TO THE RESULTS AND PERFORMANCE OF THIS PRODUCT IS WITH YOU. IN NO EVENT WILL QUINCY SOFTWORKS BE LIABLE FOR ANY DAMAGES, INCLUDING LOSS OF DATA, LOST PROFITS, ANY INCIDENTAL, SPECIAL, CONSEQUENTIAL OR INDIRECT DAMAGES RESULTING FROM THE USE OR INABILITY TO USE THIS PRODUCT, INCLUDING WITHOUT LIMITATION, DAMAGE TO PROPERTY, EVEN IF QUINCY SOFTWORKS HAS BEEN ADVISED OF THE POSSIBILITY OF ANY SUCH DAMAGES OR LOSS. SOME STATES DO NOT ALLOW LIMITATIONS ON THE DURATION OR EXCLUSION OF ANY IMPLIED WARRANTIES AND/OR THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION AND/OR EXCLUSIONS AND LIMITATIONS MAY NOT APPLY TO YOU. THIS WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS AND YOU MAY ALSO HAVE OTHER RIGHTS WHICH VARY FROM STATE TO STATE. YOU AGREE THAT THE LIABILITY OF QUINCY SOFTWORKS ARISING OUT OF ANY KIND OF LEGAL CLAIM (WHETHER IN CONTRACT, TORT, OR OTHERWISE) WILL NOT EXCEED THE AMOUNT YOU ORIGINALLY PAID FOR THE USE OF THIS PRODUCT.

GEOS and geoPaint

58 CMD_MOVE 7 KB Application CMD Move V1.1 SEQ 1993-05-13 12:58 Jim Collette .cvt
Change partitions & copy files between them. Use with gateWay or GEOS and
CMD devices.

58 file(s), 548 KB

geos-app_desk-accessories-collection.d81 — “rl-7 ” id:rl [D81, 829,440 bytes] download .d81

#FilenameSizeGEOS TypeClassSDateAuthor
1 geoutil1.sfx 38 KB Non-GEOS SEQ .prg
2 read me (u) 3 KB Non-GEOS SEQ .prg
3 autoalarm 1 KB Non-GEOS SEQ .prg
4 autoalarm docs 3 KB Non-GEOS SEQ .prg
5 blackout 2 KB Non-GEOS SEQ .prg
6 blackout docs 4 KB Non-GEOS SEQ .prg
7 RAM_MOVE 5 KB Application RAM Move V1.1 SEQ 1992-01-26 00:40 Jim Collette .cvt
Change RL 1581 partitions & copy files between them.

8 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1997-02-15 08:43 Brian Dougherty .cvt
9 chaos 1 KB Non-GEOS SEQ .prg
10 chaos docs 2 KB Non-GEOS SEQ .prg
11 deletehfp 2 KB Non-GEOS SEQ .prg
12 deletehfp docs 4 KB Non-GEOS SEQ .prg
13 dirprint 3 KB Non-GEOS SEQ .prg
14 dirprint docs 3 KB Non-GEOS SEQ .prg
15 disbam 2 KB Non-GEOS SEQ .prg
16 disbam docs 2 KB Non-GEOS SEQ .prg
17 diskprotect 2 KB Non-GEOS SEQ .prg
18 diskprotect docs 2 KB Non-GEOS SEQ .prg
19 eggtimer 2 KB Non-GEOS SEQ .prg
20 eggtimer docs 5 KB Non-GEOS SEQ .prg
21 eggtimer2 2 KB Non-GEOS SEQ .prg
22 eggtimer2 docs 4 KB Non-GEOS SEQ .prg
23 filelock 2 KB Non-GEOS SEQ .prg
24 filelock docs 3 KB Non-GEOS SEQ .prg
25 findfile 3 KB Non-GEOS SEQ .prg
26 findfile docs 4 KB Non-GEOS SEQ .prg
27 findfile128 3 KB Non-GEOS SEQ .prg
28 findfile128 docs 1 KB Non-GEOS SEQ .prg

28 file(s), 131 KB

geos-app_dialogue128-german-manual.d81 — “dialogue 128 anl” id:1$0d [D81, 829,440 bytes] download .d81

#FilenameSizeGEOS TypeClassSDateAuthor
1 Dialogue.dt 125 KB App Data Write Image V2.1 VLIR 1998-03-01 13:23 .cvt .html
Uebersetzung der Dialogueanleitung durch M.Scholich in 1/95 !!! SHAREWARE !!!

Dies ist die Übersetzung der Anleitung zu Dialogue128 von Triple Point Software, Toronto, ergänzt durch Erläuterungen/Übersetzungen der Bildschirme und eigene Erfahrungen, wenn das Original nicht ausführlich genug war, außerdem sind konsequent auch die Menübefehle (für eine Mauszeigersteuerung des Programmes) aufgenommen worden.

übersetzt/bearbeitet durch Michael Scholich, Traubenstraße 8, 68199 Mannheim im Januar/Februar 1995 und verteilt als Shareware, das heißt, der Übersetzer hat sehr viel Arbeit investiert und freut sich auf kleine (finanzielle) Anerkennungen; deshalb bitte diese Datei nur mit diesem Hinweis weitergeben !

Da schon mehrere Anleitungen übersetzt worden sind, lohnt sich u.U. eine Anfrage (die vielleicht sogar als Anregung zu 'neuen Taten' dienen kann . . . ).

Dialogue 128

I N H A L T S V E R Z E I C H N I S

Systemvoraussetzungen, um mit Dialogue 128 zu arbeiten 2

Anlegen einer Arbeitsdiskette 2

Dialogue 128 starten 2

Terminalmodus 2

Die Tastatur 3

Das Dialogue 128 Menüsystem 4

Prompts und Frageboxen 4

Befehlsübersicht für Befehle mit der C= -Taste 6

Befehlsübersicht für Befehle mit der ALT-Taste 6

eingehende Controlcodes und Terminalemulationen 7

Dialogue 128 konfigurieren 7

automatische Anwahl 10

die Protokolle für Up-/Downloads 12

Beschreibung der einzelnen Protokolle 13

Beeinflussung des Übertragungsmodus' (Transmit Modification) 14

Puffer Funktionen 15

Puffer Editor 17

die Makrotasten 19

die Befehle des Terminalmodus' 19

das Batchdateiensystem 22

die Batchprogrammierung 23

Anhang A; die Modemdateien 28

Anhang B; Erweiterungsmodule 30

Anhang C; Control-codes 32

Copyright in 1995: M.Scholich

Systemvoraussetzungen, um mit Dialogue 128 zu arbeiten:

- Commodore 128 oder 128D

- Commodore 1541 oder 1571 oder kompatible

- 80-Zeichen Monitor (Farbe oder Schwarz/Weiss)

- Modem

- Swiftlink (optional)

- Commodore REU 1700 oder 1750 (optional)

- Joystick oder Commodore 1351 Proportionalmaus (optional)

Anlegen einer Dialogue 128 Arbeitsdiskette:

Die erhaltene einseitig beschriebene Programmdiskette sollte als 'Masterdisk' betrachtet werden und ist nicht zum regelmäßigen Gebrauch bestimmt.

Zum anlegen einer Arbeitsdiskette befindet sich auf der Programmdiskette das Programm "WORK DISK", das mit RUN gestartet wird:

RUN "WORK DISK" oder RUN "WORK DISK" ON U<Geräteadresse>

Zuerst wird man gefragt, ob man eine neue Arbeitsdiskette anlegen (Option 1), oder eine schon vorhandene ändern möchte (Option 2). Im zweiten Bildschirm wird davon ausgegangen, daß sich die Masterdisk (Original) in Laufwerk 8 befindet und es wird nach der Laufwerksnummer gefragt, auf der die Arbeitsdiskette angelegt werden soll (es kann eine 1541, 1571, HD, RL, 1581, FD, . . . sein).

Auf der dritten Seite ist der vorhandene Modemtyp einzugeben (im Zweifelsfall bitte im Anhang A nachschlagen), auf der vierten das Anwahlverfahren ('Touch-Tone' = Mehrfrequenzverfahren; 'Pulse or Rotary dial' = Pulstonverfahren), auf der fünften der vorhandene Computertyp (C128, C128D oder C128 mit aufgerüstetem 64K VDC), auf der sechsten der Monitortyp (Farbe oder schwarz/weiß). Auf der siebten Seite bitte wählen, welches Eingabegerät neben der Tastatur verwendet werden soll. Nun werden die gemachten Eingaben zur Kontrolle aufgelistet und mit 'Y' + RETURN bestätigt.

Das Programm liest nun die benötigten Dateien von der Masterdisk ein, bittet um das einlegen der zukünftigen Arbeitsdiskette in das entsprechende Laufwerk und frägt, ob diese Diskette vorab zu formatieren ist ('Y' für 'Ja', 'N' für 'Nein'). Die Diskette wird nun (ggf.) formatiert und beschrieben; zu guter letzt kann man auch noch einen Autoboot Sektor schreiben lassen (dabei frägt das Programm nach, ob sich die Disk in einem 1851 Laufwerk befindet).

Dialogue 128 starten

Das Programm läßt sich starten mit

RUN "DIALOGUE" oder RUN "DIALOGUE" ON U<Geräteadresse>

oder bei vorhandenem Autobootsektor durch einschalten des 128'er (Disk in Laufwerk 8) oder mit BOOT oder BOOT ON U<Geräteadresse>

Das laden dauert zwischen 24 Sekunden (1581/JiffyDOS) und 130 Sekunden (1541).

Sollte eine REU 1700 oder 1750 installiert sein, wird diese automatisch erkannt und durch RAMDOS unterstützt (dazu muß sich das Programm 'RAMDOS128.BIN' auf der Arbeitsdiskette befinden).

Nach dem laden erscheint der Konfigurationsbildschirm, Voreinstellungs-, System- und Modemdateien werden nachgeladen, der blinkende Cursor erscheint.

Terminalmodus

Die revers dargestellte Statuszeile am oberen Bildschirmrand gibt Auskunft über wichtige Funktionen:

C: 00:00:00 zeigt die verstrichene Zeit, seit der ein 'Carrier' erkannt wurde ('Connect Time'), also wie lange man 'eingeloggt' ist. Es besteht die Möglichkeit, diese Zeiten für jede Mailbox separat auf Diskette zu speichern.

T: 00:00:00am ist eine Echtzeituhr, die die verstrichene Zeit seit dem Ladevorgang anzeigt, wie lange man also mit Dialogue arbeitet. Beide Uhren haben das Format Stunden:Minuten:Sekunden (hh:mm:ss).

LR:400 1 LC:000 zeigt Pufferstatus an. LR steht für 'lines remaining' (noch zur Verfügung stehende Zeilen im Puffer), die '1' steht für den gewählten Pufferbereich (acht Bereiche können angesprochen werden). Blinkt diese Ziffer, ist der Puffer zur Aufnahme von eingehendem Text bereit. LC zeigt 'lines captured' (im Puffer aufgenommene Zeilen).

A:C:D:N:O:S Meldung diese Buchstaben blinken oder sind revers hervorgehoben, wenn die entsprechende Funktion aktiv ist:

A steht für ablaufende auto-exec oder auto-logon Funktionen (Batchdateien)

C steht für 'carrier detect' (Verbindung aufgebaut)

D steht für Puffer/Diskette (Entleerung des Puffers auf die Diskette)

N nichtsichtbare Zeichen werden dargestellt

O Online. Dieses Zeichen ist bei 'dummen' Modems (z.B. 1650/1660) wichtig, es zeigt 'off hook' des Modems an. Bei 'intelligentem' Modem (mit AT-Befehlen) ist es immer 'an'

S Grafikzeichensatz. In CBM Boxen könnte es sein, daß die Grafikzeichen (über Commodoretaste erreichbar) benötigt werden. Normalerweise ist die C= Taste für Dialogue eine Befehlstaste. Ist das 'S' hervorgehoben, ist C= keine Befehlstaste mehr, funktioniert 'wie gewohnt'. Die Befehle für Dialogue sind nach wie vor vorhanden, müssen dann aber über die Menüs aufgerufen werden.

Die Meldung ganz rechts zeigt im Augenblick 'Terminal Mode' (Terminalmodus aktiv). Hier werden später auch System- oder Fehlermeldungen und Bedienungshinweise angezeigt.

Die Tastatur

Das Standard ASCII enthält ein paar Zeichen, die der 128'er normalerweise nicht kennt. Dialogue belegt selten gebrauchte Tasten mit diesen Zeichen:

der Unterstrich ('Underline') liegt auf der 'Pfeil-links-Taste'

der Hochpfeil (bzw. das 'Dächlein') ('Caret') liegt auf der 'Pfeil-hoch-Taste'

der 'Schrägstrich nach links' ('Backslash') liegt auf der 'Pfund-Sterling-Taste'

die 'geschwungene Klammer auf' ('open curly brace') auf Shift und '+' (gleichzeitig)

die 'geschwungene Klammer zu' ('close curly brace') auf Shift und '-' (gleichzeitig)

das einfache Anführungszeichen ('single open quote') auf Shift und 'Pfund-Sterling-Taste'

der senkrechte Strich ('vertical bar') auf Shift und Klammeraffe

die Tilde (wellenähnlich) ('tilde') auf Shift und '*'

Im CBM-Terminalmodus wird die normale CBM Tastaturbelegung wieder hergestellt.

Spezielle Tasten

Funktionstasten ohne Bildschirm-'ausdruck' sind:

ESC deren Funktion hängt vom aktiven Modus ab. Im 'Terminal Mode' wird über das Modem ein 'ESC' (= chr$(27)) gesendet.

TAB im 'Terminal Mode' wird ein CTRL-I gesendet (was viele Mailboxen als TAB akzeptieren, andere aber ignorieren). Im Editormodus 'normale' TAB-Funktion.

CAPS LOCK wie normal, aber ein ROM-Fehler in manchen 128'ern schloß die q-Taste nicht mit ein. Unter Dialogue ist mit der CAPS LOCK (bzw. SHIFT LOCK) auch ein 'Q' erreichbar.

ALT führt zusammen mit anderen Tasten verschiedene Funktionen aus.

HELP öffnet die 'Pull-down'-Menüs.

LINE FEED sendet an die Mailbox ein chr$(10).

NO SCROLL hängt von der eingestellten 'Flowcontrol' (siehe Konfigurieren) ab. Bei Flowcontrol 'off' ist NO SCROLL ohne Auswirkung, bei 'XON/XOFF' sendet es abwechselnd CTRL-S und CTRL-Q (für scroll anhalten bzw. -weiterführen), bei CTS/RTS wird der RTS-Status ebenfalls hin- und hergeschalten (für MNP-Modems).

C= führt zusammen mit anderen Tasten verschiedene Funktionen aus.

F1, F3, F5, F7 benutzerdefinierte Funktionstasten

Control Codes sind nicht darstellbare ASCII-'Zeichen' mit Werten < 32 (siehe Anhang C). Um ein Control-Zeichen zu erzeugen, die CTRL-Taste drücken und halten und den entsprechenden Code eingeben. (Die Online-Hilfe der Mailbox gibt u.U. auch Auskunft über unterstützte Codes)

Escape Codes innerhalb Dialogue 128 sind auch Escapesequenzen (wie im 128'er Handbuch beschrieben) aktiv:

ESC-P löscht den Text der aktuellen Zeile bis zur Cursorposition

ESC-Q löscht den Text der aktuellen Zeile ab der Cursorposition

ESC-(Klammeraffe) löscht den Text ab der Cursorposition bis zum Ende des Bildschirms

ESC-I fügt an der aktuellen Cursorposition eine Leerzeile ein

ESC-D löscht die Zeile der aktuellen Cursorposition

Das Dialogue 128 Menüsystem

Die Befehle des Dialogue 128 können zum einen über die Tastatur, zum anderen über Pull-down-Menüs (und dort wiederum per Tastatur, Maus, Joystick oder Trackball) eingegeben werden.

Gleichzeitig kann das Pull-down-Menü als Hilfe-Bildschirm betrachtet werden, denn das dem Befehl entsprechende Tastaturkürzel ist mit aufgeführt. Dabei gilt:

das kleine unterstrichene 'c' steht für die Commodore-Taste

das kleine unterstrichene 'a' steht für die ALT-Taste

der Pfeil nach oben steht für die SHIFT-Taste

das spitze Dächlein steht für die CTRL-Taste

der Pfeil-links steht für die ESC-Taste

der Unterstrich steht für die Leertaste

CRSR steht für Cursortaste

CLR steht für die CLR/HOME-Taste

R/S steht für die RUN/STOP-Taste

Tastaturgeführte Pull-down-Menüs

erscheinen mit der HELP-Taste an Stelle der Statuszeile. Der erste Menüpunkt des ersten Menüfensters ist durch einen Cursorbalken revers dargestellt. Der Cursorbalken kann mit den Cursortasten auf und ab bewegt werden, mit den Cursortasten links-rechts wechselt das Menüfenster. Die hervorgehobene Option wird mit RETURN oder Leertaste ausgeführt (fast immer wenn ein Befehl ausgeführt werden soll, kann anstatt RETURN auch die Leertaste verwendet werden).

Die Pull-down-Menüs werden durch RUN/STOP oder erneutes drücken der HELP-Taste verlassen.

Menüzeigergeführte Pull-down-Menüs

können durch führen des Menüzeigers (mit Joystick, Maus, Trackball) auf die Statuszeile aufgerufen werden; sie haben den selben Inhalt wie bei einem Tastaturaufruf, können aber nicht per Tastatur weiterbedient werden (und umgekehrt).

Beim anlegen der Arbeitsdiskette besteht die Option für GEOS- oder Amiga- ähnliche Eingabetreiber:

GEOS STYLE POINTER CONTROL (1351-Maus, Joystick oder Trackball) benutzt nur eine (Maus-) Taste (bei einer 1350 oder 1351 Maus: nur die linke). In der Menüzeile wird das entsprechende Menüfenster durch einfachen Klick auf des Thema geöffnet. Das Menüfenster schließt sich, wenn der Zeiger nach außerhalb bewegt wird, oder nach Anwahl eines Punktes. Ein Punkt wird angewählt, indem man ihn einfach anklickt.

AMIGA STYLE POINTER CONTROL (nur für eine 1351-Maus) benutzt beide Maustasten. Die rechte Taste drücken und halten öffnet die Menüzeile (solange bis sie wieder losgelassen wird). Führt man den Zeiger über eine Option, wird diese hervorgehoben und nach loslassen der Taste ausgeführt.

Der Cursorbalken

innerhalb sonstiger Fenster (Konfiguration oder Anwahl) kann frei mit den Cursortasten bewegt werden, die HOME-Taste setzt ihn in die Position oben-links.

Bei Verwendung des Zeigers wird eine Option durch einmaliges anklicken hervorgehoben und mit einem zweiten Klick ausgeführt. In den Fällen, wo Einstellungen aus einer Liste zu wählen sind, schaltet jeder Klick eine Option weiter (Zahlen nur in aufsteigender Folge, nur per Tastatur kann über SHIFT und RETURN auch absteigend gescrollt werden).

Im 'Zeigermodus' haben die Fenster ein Schließfeld im Eck links-oben. Im Tastaturmodus lassen sich die Fenster mit RUN/STOP schließen.

Prompts und Frageboxen

gibt es dreierlei: Frageboxen, Text- oder Dateneingabefenster und Prompts zur Eingabe von Dateinamen. Dialogue 128 behandelt sie unterschiedlich und bietet auch jeweils unterschiedliche Optionen an.

Frageboxen (graphic requester boxes) tauchen manchmal auf und bieten bis zu drei Auswahlmöglichkeiten an. Um eine Option davon zu wählen, kann man den Zeiger (mit Maus oder Joystick) in das entsprechende Antwortkästchen bewegen und dort klicken, oder man drückt den ersten Buchstaben des Antwortkästchens (z.B.: 'y' oder 'n') auf der Tastatur. Drückt man einfach nur RETURN, wird immer die zweite Option gewählt (die meistens die 'sichere' ist).

Text- oder Dateneingabefenster (text input prompts) erscheinen oft als Teil von Dialogue 128 -Befehlen zur Eingabe von Text oder numerischen Daten. Die Feldlängen sind von Prompt zu Prompt unterschiedlich. Wird in einem Feld lediglich RETURN gedrückt, bleiben die Daten unverändert; CLR (also SHIFT-HOME) löscht den alten Inhalt; die Cursor links-rechts- und Insert-/Delete- Tasten funktionieren wie gewohnt; Neueingabe über vorhandenen Text überschreibt diesen.

Prompts zur Eingabe von Dateinamen (filename input prompts) besitzen zusätzlich zu den obigen Eigenschaften noch weitere Funktionen:

Eine Datei auf andere Laufwerke umleiten. In der Welt des Commodore gibt es drei Laufwerkstypen: Einfachlaufwerke (z.B.: 1571), Doppellaufwerke (z.B.: 4040) und Xetec Festplatten, die drei oder mehr Laufwerksnummern unter einer Geräteadresse verwalten. Weitere Laufwerke arbeiten mit logischen Unterteilungen, den Partitionen (wie z.B.: 1581 oder CMD-HD) oder/und Unterverzeichnissen (CMD-HD).

Dialogue 128 zeigt mit dem Dateinamen-Prompt immer die aktive Geräteadresse in eckigen Klammern an; mit jeder Eingabe eines Dateinamens kann ein anderes Laufwerk bzw. eine andere Geräteadresse angegeben werden:

"Dateiname,9" leitet auf Geräteadresse 9 um

"1,Dateiname,9" leitet auf Laufwerk 1, Geräteadresse 9 um

Drückt man ohne Eingabe RETURN, wird diese Funktion abgebrochen. Wird ein Dateiname oder Laufwerk nicht gefunden, erscheint eine Fehlermeldung mit Fragebox ('Retry' für nochmaliges versuchen, 'Change device number' um ein anderes Laufwerk anzusprechen und 'Abort' zur Rückkehr zum Prompt für die Eingabe des Dateinamens).

Voreingestelltes Laufwerk ändern. Beim DOS-Prompt läßt sich das voreingestellte Laufwerk durch Eingabe von '#' ändern. Ein einfaches '#' zeigt alle vorhandenen betriebsbereiten Laufwerke an, das gewünschte läßt sich mit dem Cursorbalken anwählen. Man kann aber auch direkt das gewünschte Laufwerk eingeben mit '#<Geräteadresse>'. Alternativ läßt sich am DOS-Prompt auch das Menüfenster 'Options' öffnen und 'Change unit #' wählen

Directory anzeigen durch Eingabe von '$' (oder 'Options' 'Directory'). '$' zeigt die Directory aus dem aktuellen Laufwerk, '$,9' lädt die Directory aus Geräteadresse 9; '$1' lädt die Directory aus Laufwerk 1. Ist eine Directory länger als eine dreispaltige Bildschirmseite, erscheint das Wort 'More?' in der Statuszeile. RETURN oder Leertaste zeigt die nächste Bildschirmseite an, RUN/STOP bricht den Vorgang ab.

Diskette anzeigen. Durch Eingabe von '$$' (oder 'Options' Directory header') wird lediglich der Header der Diskette und die Anzahl der noch freien Blöcke angezeigt.

Zugriff auf DOS Befehle. Durch Eingabe eines '>' (oder über die Menüs 'Disk' 'DOS wedge') gelangt man in das DOS-Wedge und kann jeden der Commodore DOS 2.0 Befehle direkt an das Laufwerk senden. Die DOS Befehle findet man in den Handbüchern zu den Laufwerken, sie werden aber auch später noch aufgeführt und erläutert.

Sonderbefehle für 1581-Laufwerke. Eine 1581 Partition kann mit "/Partitionsname" direkt angesprochen werden. Ein '/' (oder 'Options' '1581 root') kehrt zum Rootverzeichnis zurück. Ganze Pfade können beim Dateinamenprompt nicht eingegeben werden, man muß sich also von Unterverzeichnis zu Unterverzeichnis 'durchhangeln' bis man im gewünschten ist, und kann erst dann den Dateinamen eingeben. Ein '//' (oder 'Options' '1581 Partition') zeigt alle Unterverzeichnisse im aktuellen Verzeichnis an; dabei kann mit dem Cursorbalken ein gewünschtes Unterverzeichnis gewählt/angeklickt werden.

Dateiauswahlmodus ist aktiv, wenn eine Directory (oder Unterverzeichnisliste) am Bildschirm angezeigt ist. Ein Cursorbalken erscheint auf dem ersten Eintrag und läßt sich mit den Cursortasten (oder dem Mauszeiger) bewegen. Die Auswahl wird mit RETURN bzw. Doppelklick aktiviert. RUN/STOP bricht diesen Modus ab und kehrt zum normalen Eingabeprompt zurück.

Befehle mit der C= -Taste (Commodoretaste)

In den Pull-down-Menüs ist das Kürzel für die C= -Taste das unterstrichene kleine 'c'.

Die C= -Befehle aufzurufen, ist die Commodoretaste zu drücken und zu halten und die entsprechende zweite Taste kurz zu drücken.

Tastendruck Beschreibung/Funktion siehe Seite

C= und A ruft die Liste für die automatische Anwahl auf

C= und B öffnet bzw. schließt den Puffer

C= und C öffnet das Konfigurationsfenster

C= und D Datei downloaden (empfangen), mit Fehlerprotokoll

C= und E öffnet den Puffereditor

C= und F zeigt die Funktionstastenbelegung an

C= und G packt den aktuellen Bildschirminhalt in den Puffer

C= und H Auflegesequenz (abhängig vom Modemtyp)

C= und I Info; zeigt die Statistik des letzten Upload/Download

C= und L lädt Diskettendatei in den Puffer

C= und M öffnet das Fenster für Makrobearbeitung

C= und N wechseln des aktiven Puffers

C= und P druckt den Inhalt des Puffers aus

C= und Q beendet Dialogue 128 (nach Sicherheitsabfrage)

C= und R löscht den Inhalt des Puffers

C= und S speichert den Inhalt des Puffers auf Diskette

C= und T übermittelt den Pufferinhalt zum Modem

C= und U Datei von Disk Uploaden (absenden) mit Fehlerprotokoll

C= und V zeigt den Inhalt des Puffers am Bildschirm an

C= und W wartet auf einen Anruf (Host-Modus)

C= und > DOS-Befehle senden (DOS-Wedge)

C= und = schaltet geteilten Bildschirm ein/aus (nicht f. VT-Modi)

C= und Pfeil-hoch zeigt 'scrollback' -Puffer

C= und * zum setzen der Systemuhr

C= und CRSR aktiviert 'release cursor mode'

C= und RUN/STOP bricht automatisch ablaufende Vorgänge ab

C= und CLR löscht den Terminalmodus- Bildschirm

C= und 1 . . . 8 wählt den entsprechenden Pufferbereich

C= und SHIFT schaltet den Zeichensatz um

Befehle mit der ALT-Taste

In den Pull-down-Menüs ist das Kürzel für die ALT-Taste das unterstrichene kleine 'a'.

Die ALT-Befehle aufzurufen, ist die ALT-Taste zu drücken und zu halten und die entsprechende zweite Taste kurz zu drücken.

Tastendruck Beschreibung/Funktion siehe Seite

ALT und A ruft automatisch ablaufende Dateien auf

ALT und B schaltet die Puffer-an-Diskette-Option um

ALT und I sendet den Initialisierungsstring an das Modem

ALT und L lädt die Dialogue Extensionsdatei

ALT und N schaltet die 'unsichtbaren Zeichen' ein/aus

ALT und P sendet aktuellen (Terminal-) Bildschirminhalt an Drucker

ALT und R setzt den capture buffer line transmit pointer zurück

ALT und S schaltet den zweiten Commodore-Zeichensatz ein/aus

ALT und T übermittelt eine einzelne Zeile aus dem Puffer

ALT und V zeigt eine Diskettendatei am Bildschirm an

ALT und 0 . . . 9 ruft entsprechenden Makro auf (10-er Tastatur)

ALT u. RUN/STOP sendet ein BREAK Signal

Eingehende Kontrollcodes und Terminalemulationen

CBM-Modus akzeptiert Commodore Codes einschließlich jener, die für viele Farbboards erforderlich sind. C= und SHIFT schaltet zwischen den Zeichensätzen Groß-/Kleinschrift und Großschrift/Grafikzeichen um.

ASCII-Modus ist der Standard für Mailboxen (akzeptiert auch CompuServe Codes).

IBM-Modus unterstützt die meisten IBM ANSI Codes einschließlich Farbe und Grafik der IBM (kompatiblen) Mailboxen.

VT100-Modus akzeptiert einen Teil der VT100 Kontrollsequenzen, einschließlich VT100 Grafik; meistens genügend, um sich mit leichten Einschränkungen in solchen Systemen zurechtzufinden. Da Leitungsstörungen leicht zum Umschalten des Grafikmodus führen können, kann mit C= und SHIFT wieder zurückgeschaltet werden.

VT52-Modus akzeptiert den Standard- Befehlssatz, unterstützt die Controlcodes.

auf folgende eingehende Controlcodes antwortet Dialogue 128:

CTRL-G In allen Modi wird durch CTRL-G (= CHR$(7)) ein Rufzeichen gegeben. Das Rufzeichen kann im Konfigurationsmenü geändert oder ausgeschaltet werden.

CTRL-L löscht den Terminalbildschirm (in CBM-, IBM- und ASCII- Modus) und setzt den Cursor oben-links am Bildschirm.

CTRL-S/CTRL-Q während der Übermittlung eines Pufferinhaltes: XON/XOFF

Dialogue 128 konfigurieren (anpassen)

Das Konfigurationsfenster, erreichbar über Pull-down-Menü ('Dialogue' 'Configure') oder Tastatur (C= und C), dient dazu, sehr viele der (Grund-) Einstellungen zu verändern und anzupassen; einschließlich Bildschirm, Modem, RS-232.

Im Konfigurationsfenster werden alle augenblicklichen Einstellungen angezeigt und es erscheint der Cursorbalken, mit dem die einzelnen Optionen ansprechbar sind. Drückt man bei einer angesprochenen Option RETURN, erscheint entweder ein Eingabeprompt für Dateinamen, oder man blättert (vorwärts) durch eine Parameterliste. SHIFT und RETURN blättert rückwärts. RUN/STOP schließt das Konfigurationsfenster.

Im Zeigermodus wird durch erstmaliges anklicken einer Option, diese ausgewählt, bei weiteren Klicks durch die Parameterliste (nur vowärts) gescrollt. Zum schließen des Fensters das Schließsymbol anklicken.

Beschreibung der Optionen im Konfigurationsmenü

Screen Columns schaltet auf die 40- oder 80- Zeichendarstellung um. Auch die 40- Zeichendarstellung benutzt den (schnellen) 80- Zeichen Bildschirm.

Screen Lines schaltet in die 25- oder 50- Zeilendarstellung um. Die 50 Zeilen Bildschirmdarstellung ist allerdings auf manchen Monitoren unscharf. Der 25 und der 50 Zeilen Schirm benutzt eine eigene Farbtafel, so daß man das beste aus dem Monitor herausholen kann.

Newline Mode dient dazu, den Code einzustellen, der den Cursor an den Anfang der nächsten Zeile positioniert; meistens wird 'CR/LF' (Wagenrücklauf/Zeilenvorschub) verwendet.

Wordwrap Mode 'ON' stellt den automatischen Zeilenumbruch 'EIN', d.h. Worte die nicht in eine Bildschirmzeile passen, werden als ganzes auf die neue Zeile geschrieben. Bei 'OFF' wird der Wortumbruch von der Mailbox (dem 'host'-Rechner) übernommen.

Flow Control erlaubt, den Textfluß nach Bedarf anzuhalten (z.B.: wenn der Terminalmodus zum Aufruf eines Menüs verlassen wird); normalerweise mit XON/XOFF (entspricht CTRL-S/CTRL-C). Unter Verwendung von MNP Modems (bis Level 5) wird RTS/CTS eingestellt.

Delete Character Der ASCII-Code der DEL-Taste kann auf CHR$(8) oder CHR$(127) eingestellt werden. SHIFT und DEL sendet den jeweils anderen Code.

Screen Output legt fest, ob die Daten während Up- oder Downloads, Pufferaktivitäten oder Ausdrucken auf dem Bildschirm angezeigt werden sollen. Die Optionen sind 'None' für keine Bildschirmausgabe, 'Buffer' für Bildschirmausgabe während Pufferinhalte geladen oder gespeichert werden, 'Protocol' für Ausgaben während Up- oder Downloads (senden /empfangen) und 'Both' für beide vorangegangenen Optionen.

Menu Pointer schaltet den Zeiger ('Mauspfeil') ein bzw. aus und damit das Schließsymbol in den Menüfenstern aus bzw. ein. Wenn man den Zeiger nicht braucht, sollte er 'OFF' sein.

Pointer timeout macht den Zeiger nach der angegeben Zeit (in Sekunden) unsichtbar. Wird er angesprochen (der Joystick /die Maus bewegt), wird der Zeiger wieder sichtbar.

Baud Rate scrollt durch die Übertragungsgeschwindigkeiten (300/600/1200/2400/4800 Bits pro Sekunde, sowie in UART Versionen auch 7200/9600/14.400/19.200/38.400 bps). Nach Druck auf 'B' (oder Menü 'Options' 'Other Baud rates') kann manuell auch eine weitere Geschwindigkeit eingefügt werden. Für MNP5 Modems ist 4800 bps zu empfehlen.

Fine Tune (nicht für UART Versionen). Manche Modems brauchen eine 'Feinabstimmung' der Übertragungsgeschwindigkeit, wenn regelmäßig nur 'Datenschrott' ankommt; normalerweise sollte man die Einstellung hier bei 'Null' belassen.

Lenght/Parity stellt den Status des achten Bits eines übermittelten Bytes ein:

8/None 8 Datenbits, ohne Parität (für CBM und IBM Mailboxen)

7/Odd 7 Datenbits, 8. Bit setzt 'high bits' ungerade

7/Even 7 Datenbits, 8. Bit setzt 'high bits' gerade

7/Space 7 Datenbits, 8. Bit immer 'low'

7/Mark 7 Datenbits, 8. Bit immer 'high'

Stop Bits setzt die Zahl der Stopbits auf 'eins' oder 'zwei' pro übermitteltes Datenbyte

Local Echo stellt ein, ob eingegebene Zeichen unmittelbar auf dem Bildschirm dargestellt werden, oder erst, nachdem sie vom Modem als 'Echo' zurückkommen (Full Duplex = 'Echo Off'; Half Duplex = 'Echo On'). Anm.: wenn auf dem Bildschirm Zeichen doppelt dargestellt werden, z.B. 'qq' anstatt 'q', dann 'Echo Off' stellen.

Terminal Mode stellt den Emulationsmodus für das Modem ein:

CBM PETSCII Modus (Commodore 'Farb'-Boards)

ASCII gängigster Mailboxmodus (A.d.Ü.: in Amerika?)

IBM spezielle Einstellung die PC Grafik und Farbe unterstützt (ANSI)

VT100 - (A.d.Ü.: z.B. BTX in Deutschland)

VT52 -

Transmit Mode bestimmt, wie übermittelter Text zum 'Host' gesendet wird:

Stream die Zeichen werden kontinuierlich gesendet, unterbrochen von Pausen (siehe

unten: Transmit Delay)

Stream 2 die Zeichen werden kontinuierlich gesendet, unterbrochen von Pausen jeweils

am Ende jeder Zeile (siehe unten: Transmit Delay)

Reflect hier wartet Dialogue darauf, daß jedes Zeichen als 'Echo' zurückkommt, bevor

das nächste gesendet wird. Das ist natürlich langsamer, aber man hat die

Gewissheit (durch die visuelle Kontrolle), daß der Text wie gewünscht

angekommen ist.

Transmit Delays stellt die Pausenlänge für Stream und Stream 2 ein (in 1/100 Sek.)

Cursor Type wählt die Darstellung des Cursors (Block oder Unterstrich)

Cursor Flash schaltet das blinken des Cursors ein bzw. aus

Printer Device # stellt die Geräteadresse für den Drucker ein (leider nur seriell!)

Secondary Adress setzt die Sekundäradresse für den seriellen Drucker

Bell Mode wählt das 'Klingelzeichen':

Sound: stellt ein hörbares Klingelzeichen dar

Visible: läßt den Bildschirm flackern

Both: gibt ein akustisches und optisches Signal

None: keine Klingel- bzw. Rufzeichen

Buffer Mode wählt die Methode, Zeichen in den Puffer zu schreiben. "Line" übernimmt ganze Zeilen (und läßt eine Bearbeitung mit dem Puffereditor zu), "Character" zeigt nur erhaltene Zeichen an (ohne Editiermöglichkeit, dafür aber mehr Platz im Puffer).

Buffer Configure hiermit werden 1, 2, 4 oder 8 voneinander unabhänige Pufferbereiche eingerichtet. Die folgende Tafel zeigt für verschiedene Einstellungen die Statuszeile bei leerem Puffer:

Mode Buffer config Display Buffers

Lines 1 LR: 800 1 LC: 000 1x 800

Lines 2 LR: 400 1 LC: 000 2x 400

Lines 4 LR: 200 1 LC: 000 4x 200

Lines 8 LR: 100 1 LC: 000 8x 100

Characters 1 R: 64000 1 C: 00000 1x 64000

Characters 2 R: 32000 1 C: 00000 2x 32000

Characters 4 R: 16000 1 C: 00000 4x 16000

Characters 8 R: 8000 1 C: 00000 8x 8000

Zusammen mit einer optionalen 1700 oder 1750 REU bestehen weitere Möglichkeiten, wenn RAMDOS nicht aktiviert ist:

Mit einer 1700:

Lines RAM1 LR: 800 1 LC: 000 2x 800

Lines RAM2 LR: 1600 1 LC: 0000 1x 1600

Characters RAM1 R: 64000 1 C: 00000 2x 64000

Characters RAM2 R:128000 1 C: 000000 1x128000

Mit einer 1750:

Lines RAM1 LR: 800 1 LC: 000 8x 800

Lines RAM2 LR: 6400 1 LC: 0000 1x 6400

Characters RAM1 R: 64000 1 C: 00000 8x 64000

Characters RAM2 R:512.000 1 C: 000000 1x 512.000

Die großen RAM2 Puffer können nicht mit dem eingebauten Editor bearbeitet werden ! !

Set Defaults öffnet zunachst ein weiteres Fenster in dem die Dateinamen (bis zu 12 Zeichen lang) für die verschiedenen Systemdateien (mit den entsprechenden eigenen Einstellungen) eingegeben werden. Diese Dateien werden dann bei jedem Start von Dialogue 128 automatisch mit eingelesen. Sind keine Dateinamen eingegeben, wird 'None' angezeigt. Über das Menü 'Install' lassen sich vorübergehend ("temporär") der Zeichensatz ('Character set'), das 'Modem file', 'Modem control' und die Übersetzungstabelle ('Translation table') "von Hand" einstellen.

Die Dateinamen erhalten automatisch (also nicht mit eingeben) einen Punkt und eine Kennung angehängt:

Modem file Datei mit den Befehlen für das Modem .MOD

Number file das voreingestellte Anwahlverzeichnis .NUM

Macro file die voreingestellte Makrotastenbelegung .MAC

Chr.set (25) der eingestellte Zeichensatz für 25 Zeilen-Bildschirm .CHR

Chr.set (50) der eingestellte Zeichensatz für 50 Zeilen-Bildschirm .CHR

Editor setup Einstellung v. Tabulatoren, Rändern und des Modus .EDT

Extension optionale Extensionsmodule .EXT

Translation optionale eigene (Code-) Übersetzungstabellen .TRN

Colour Settings dient der Farbenwahl über ein Untermenü:

Screen Colour die Farbe des Bildschirmhintergrundes

Text Colour die Zeichenfarbe (eingehenden Textes)

Cursor Colour die Farbe von Cursor und der Signalfelder in der Statuszeile

Status Line für die Statuszeile

Highlight Colour Farbe zum hervorheben von Text ('Bold')

System Text Dialogue 128-Texte (Systemfenster und Menüs)

Die Optionen für den 25- und 50- Zeilenmodus sind zwar die gleichen, werden aber separat abgespeichert (um die 50'er Einstellungen zu tätigen, muß dieser Modus zuvor aktiviert sein).

Abspeichern der Systemkonfiguration Im Konfigurationsfenster 'S' drücken (oder 'Defaults' 'Save defaults'), speichert die aktuellen Einstellungen auf Diskette, nachdem die Geräteadresse (Device Number) des Laufwerks eingestellt bzw. quittiert wird. In den meisten Fällen wird die Datei 'configure.sys' auf der Diskette bereits vorhanden sein, in diesem Falle erfolgt die Sicherheitsabfrage, ob die alte Datei überschrieben ('overwrite') werden soll.

Laden einer Systemkonfiguration durch drücken von 'L' im Konfigurationsfenster (oder Anwahl von 'Load Defaults' aus dem Menü 'Defaults') werden Voreinstellungen geladen. Eine Box frägt 'All Default Files?', 'Yes' wird alle eingestellten Dateien laden, als ob neu gebootet würde, 'No' durchsucht lediglich die Dateiliste der Voreinstellungen nach Dateien, die noch nicht geöffnet sind.

Die folgenden Befehle sind nur temporär, d.h. sie werden nicht auf Diskette gespeichert:

'B' -variable Baudrate; dient zur Eingabe einer ('beliebigen') Baudrate im Bereich 50 bis 9999. Dazu erst in der Mailbox (wenn dort überhaupt unterstützt) die gewünschte Geschwindigkeit einstellen, dann das Configuration Fenster öffnen, 'B' drücken (oder im 'Options'-Menü 'Other Baud Rates' wählen) und für Dialogue die neue Baudrate eingeben. (Modems mit 1200 oder 2400 Baud können im Onlinebetrieb NICHT die Geschwindigkeit ändern!)

'C' -alternativer Zeichensatz; kann auch über das Menü 'Install' gewählt werden ('Load Character Set'). Nach diesem Aufruf ist der Name des zu ladenden Zeichensatzes einzugeben (ohne .CHR -Endung). Auf der Programmdiskette sind ein paar Zeichensätze und ein Zeichensatzeditor (CHREDIT) mitgeliefert. Soll ein bestimmter Zeichensatz schon beim booten geladen werden, muß er in Configure eingestellt sein. (für den 25-Zeilen Modus werden andere Zeichensätze als für den 50-Zeilen Modus benötigt; die Zeichensätze müssen aus dem entsprechenden aktiven Modus heraus geladen werden!)

'F' -Modemfile laden. Muß aus irgendeinem Grund ein alternatives Modemfile nach Dialogue 128 geladen werden, ist dessen Name (ohne .MOD -Endung) nach dem Druck auf 'F' einzugeben (oder Menü 'Install' 'Modem File').

'M' -Modem Control. Nur für 'Smart'-('intelligente') Modems. Nach Druck auf 'M' (oder klicken im 'Install' Menü auf 'Modem control') im Configuration- Fenster erwartet Dialogue einen Modem Initialisierungsstring, gefolgt von einer Anwahlnummer ('AT' setzt Dialogue automatisch, braucht also nicht eingegeben zu werden; auch 'DT' ist voreingestellt, dies muß ggf. durch löschen des 'T' auf 'P' geändert werden.)

'T' -Translation Table laden. Befindet sich Dialogue in einem anderen Emulationsmodus als CBM, müssen alle Zeichen die gesendet werden, von PETSCII in echtes ASCII (oder z.B. in ATASCII) gewandelt werden und umgekehrt. Dialogue benutzt 512 Byte lange Tabellen hierfür, die beliebig editierbar sind (siehe Anhang B).

Automatische Anwahl mit Dialogue 128

Mit C= und 'A' oder 'Auto-Dial' aus dem Menü 'Communication' wird das Fenster für die automatische Anwahl geöffnet, in dem bis zu 30 Anwahlsequenzen dargestellt sind.

'E' (oder 'Directory' 'Edit entry') Eingabe einer neuen Sequenz. Zuerst mit dem Cursorbalken die Position wählen, an der die Anwahl zukünftig stehen soll, dann 'E' drücken. Mit dem Zeiger: erst die Position anklicken, dann im Menü 'Directory' 'Edit Entry' wählen.

In der Statuszeile erscheint die Eingabeaufforderung für 'System Info' (einer 18 stelligen Beschreibung der Mailbox); die Tasten Cursor-rechts/links und Insert/Delete stehen hier auch zur Verfügung; mit RETURN die Eingabe abschließen. Jetzt wird die max. 16 Stellen lange 'System Number' (die Anschlußnummer der Mailbox) eingegeben (RETURN), dabei werden Minuszeichen -als Trennungssymbole- ignoriert und Kommas stehen für eine Pause von 2 Sekunden. Besitzer 'intelligenter' Modems können auch Modembefehle eingeben (AT setzt Dialogue automatisch, wenn das erste eingegebene Zeichen keine Ziffer ist, aber DT oder DP muß dann mit dem Anwahlstring eingegeben werden.).

Die nächste Box frägt 'Define Function Keys?' (Funktionstasten definieren?). Auf 'Y' für 'Ja' zeigt Dialogue die Funktionstasten an, jede kann mit einem bis zu 20 Zeichen langen Text belegt werden. Im Terminalmodus wird dieser Text auf Druck der F-Taste gesendet. Jedem der bis zu 30 Mailboxeinträge lassen sich 4 Funktiontasten programmieren; sie können z.B. Namen, Logon Info, Paßwort, spezielle Befehle u.v.a. enthalten. In den Emulationen VT52 und VT100 sind die Tasten mit speziellen Funktionen belegt, eigene Funktionen sind dann über SHIFT-Funktionstaste erreichbar.

Die nächste Bildschirmanzeige ist eine verkürzte Fassung des Configuration Fensters zur Eingabe der Parameter für die einzelne Mailbox. Diese Parameter sind frei änderbar, sind aber so voreingestellt, daß mit großer Wahrscheinlichkeit eine Verbindung möglich ist. Am häufigsten muß die Baudrate verändert werden (im Zweifelsfall mit 300 oder 1200 Baud beginnen). Die anderen Parameter sind:

Screen lines für 25 oder 50 Zeilen pro Bildschirm

Wordwrap Wortumbruch (wenn die Zeilen der Box länger als die eigenen sind

Flow Control s. Configure (None, XON/XOFF, RTS/CTS sind einstellbar)

Delete chr Delete-Tastenbelegung mit CHR$(8) oder CHR$(127)

Local Echo s. Configure (Half Duplex oder Full Duplex)

Terminal Mode wählt ASCII, IBM (ANSI), VT100, VT52 oder CBM Emulation

Transmit Mode manche Systeme sind nicht schnell genug für 'Stream', dann: 'Reflect'

Transmit Delays verzögert im Streammodus die Textübertragungsgeschwindigkeit

Carrier Check nach der eingestellten Zeit legt das Modem auf, sofern keine

Verbindung aufgebaut werden konnte (60" sind oft ausreichend)

Save connect time bei 'ON' wird die Zeit, die man in einer Box verbracht hat, auf

Diskette abgespeichert (s. unten)

Protocol zur Einstellung des Übertragungsprotokolls für uploads/downloads

(kann jederzeit im Protokollparameter Fenster geändert werden; s.u.)

Dieses Anwahl-Configure Fenster kann mit 'RUN/STOP', 'SPACE' oder dem Schließsymbol zum Anwahlnummernverzeichnis verlassen werden.

Das Anwahlnummernverzeichnis kann jetzt mit 'S' (oder Menü 'Directory' 'Save Directory') abgespeichert werden, damit es beim nächsten Bootvorgang (automatisch) wieder zur Verfügung steht. Dialogue bittet noch um Eingabe eines Dateinamens (bitte ohne die Extension .NUM; sie wird automatisch angefügt). Nach Abschluß der Eingabe mit RETURN wird geprüft, ob bereits eine Datei mit diesem Namen auf der Diskette besteht, wenn ja, muß in der folgenden Dialogbox ("File exists, Replace?") bestätigt werden ('Yes'), daß diese 'alte' Datei gelöscht und dann überschrieben wird. Mit 'No' springt das Programm zurück zum Eingabefeld für den Dateinamen; mit RETURN in das Nummernverzeichnis ('Auto-Dial Directory')

Sollte der Wunsch bestehen, diese Datei vor-einzustellen (für automatisches laden während des Bootvorganges): siehe oben unter Konfiguration.

Mit 'L' (bzw. 'Directory' 'Load directory') kann jederzeit ein anderes Nummernverzeichnis von der Diskette eingeladen werden. Auf einer Diskette können 'beliebig' viele Verzeichnisse abgelegt, aber nur eines voreingestellt sein.

Automatische Anwahl erfolgt mit RETURN (oder 'Dialing' 'Dial number' im Menü), nachdem der Cursorbalken auf den entsprechenden Eintrag plaziert wurde. Das nächste Fenster zeigt den Titel und den Anwahlstring der Mailbox an, und die Restzeit, die Dialogue noch bis zum Aufbau einer Verbindung wartet. Kommt die Verbindung in dieser Zeit (Einstellung: siehe Anwahlnummerneingabe) nicht zustande, hängt Dialogue wieder auf (ebenso, wenn die RUN/STOP Taste gedrückt, oder das Schließsymbol angeklickt wird).

Wird die Verbindung hergestellt ('carrier detected'), springt das Programm in den Terminalmodus, die Voreinstellungen für dieses System werden aktiviert, der Bildschirm gelöscht. Oben am Bildschirm erscheint der Name der Mailbox (wie im Anwahlverzeichnis eingegeben) und in der Statuszeile wird 'C' (wie 'carrier') hervorgehoben. Du bist nun 'Online' (in der Mailbox) und mit einem von dort angezeigten Tastendruck (z.B.: 2x ESC oder RETURN oder Leertaste oder . . . ) geht es weiter.

(Manche Modems haben interne Timer, dann muß man u.U. das Register ATS7 angleichen.)

Die automatische Wiederwahl (SHIFT und RETURN, oder SHIFT und LEERTASTE, oder Menü 'Dialing' 'Cycle dial') veranlaßt Dialogue die Anwahl so oft zu wiederholen, bis eine Verbindung zustandekommt (oder man diesen Modus mit RUN/STOP abbricht). Bei Modems mit Lautsprecher kann man bei auftreten des Besetzt-Tones den Rest der voreingestellten Wartezeit ('countdown') überspringen (LEERTASTE oder RETURN); Dialogue wählt automatisch sofort neu an. Kommt nach der automatischen Wiederwahl eine Verbindung zustande, zeigt dies ein Tonsignal und/oder Bildschirmflackern (je nach Voreinstellung) an; diese Signale lassen sich mit der C= Taste abstellen.

Unterstützt das Modem 'Busy Detect', kann man auch diesen Modus aktivieren (siehe Modemhandbuch, ATX-Befehle). Der ATX- (oder ATS7-) Befehl läßt sich bei Bedarf auch in den Modem-Initialisierungsstring (siehe unten) aufnehmen.

Handeingabe einer Anwahl mit 'N' (oder 'Dialing' 'Single Dial'). Wenn die Nummer nicht gespeichert werden braucht, muß man nach 'N' die gewünschte Nummer eingeben. Nach RETURN erfolgt sofort die Anwahl. Die Terminaleinstellungen werden aus den Konfigurationsmenü entnommen.

Mit 'A' (anstatt RETURN) zur Anwahl einer Mailbox (oder aus dem Menü 'Dialing' 'Dial + Exec' wird eine Batchdatei aufgerufen, die sich auf diese Anwahl bezieht. SHIFT und 'A' (bzw. 'Dialing' 'Cycle + Exec') bewirkt automatische Neuwahl, solange bis eine Verbindung zustande kommt. Ist die Verbindung hergestellt, arbeitet sich die Batchdatei sofort ab. Die Ausführung der Batchdatei läßt sich jederzeit mit C= und RUN/STOP unterbrechen. Batchdateien werden weiter unten beschrieben.

Aufzeichnung einer Batchdatei mit 'W' aus dem Anwahlenmenü heraus, oder durch anklicken von 'Options' und 'Write auto-exec'. Das Programm springt in den Puffereditor (in den höchsten Puffer, der konfiguriert wurde). Dieser Pufferbereich wird überschrieben, deshalb sollte er leer sein (oder nur noch 'unwichtiges' enthalten). Näheres zum Editor: siehe unten.

Die Liste der Anwahlnummern läßt sich mit 'P' (oder 'Directory' 'Print-out') ausdrucken (Drucker- und Sekundäradresse im Konfigurationsmenü einstellen).

Mit 'R' läßt sich die Anwahlliste neu sortieren. Dazu mit dem Cursorbalken einen Eintrag auswählen, R drücken, Cursorbalken an die 'neue' Stelle bewegen und RETURN drücken. Die beiden Einträge tauschen nun ihre Plätze (mit dem Zeiger: ersten Eintrag anklicken, dann 'Directory' und 'Rearrange', zweiten Eintrag zweimal anklicken).

Aufsummierte Verbindungszeiten für jede Mailboxnummer (die im 'Host Configuration' -Menü die Option 'Save Connect Time' "ON" hat) sind mit 'T' (oder 'Options' 'Time review') abrufbar. Die Zeit ('Total Connect Time:') wird in der Statuszeile angezeigt; gleichzeitig wird man gefragt, ob die aufgelaufene Zeit gelöscht (auf Null zurückgesetzt) werden soll.

Mehrfache Anwahl mit 'M' oder 'Multiple Dial' aus dem Menü 'Dialing'. Möchte man regelmäßig während einer Sitzung in mehrere Mailboxen nacheinander einloggen, kann mit RETURN in diesem Modus eine hervorgehobene Mailboxnummer nach der anderen ausgewählt werden. In der Statuszeile erscheint 'none' für nicht ausgewählte Dateien, 'dial' für Standardanwahl und 'exec' für gleichzeitigen Aufruf einer auto-exec Datei (RETURN schaltet jeweils eine Option weiter). Die gesamte Auswahl läßt sich mit 'CLR' (also SHIFT-HOME) zurück setzen. Ist die Auswahl getroffen, schaltet man mit RUN/STOP in den normalen Anwahlmodus zurück.

Die Liste des 'Multiple Dial' läßt sich mit 'D' (oder 'Dial List' aus dem Menü 'Dialing') abarbeiten. Alle Nummern der Liste werden revers dargestellt und nach Verbindungsaufbau wieder zurückgesetzt. Die restliche(n) Nummer(n) lassen sich jederzeit mit 'D' bzw. 'Dial List' anwählen.

'K' übergeht eine Nummer aus der Mehrfachanwahlliste, wenn die Taste während des 'Countdowns' gedrückt wird.

Die Mehrfachanwahlliste läßt sich mit ALT und 'S' bzw. ALT und 'L' (oder 'Save List' bzw. 'Load List' aus dem Menü 'Options') abspeichern bzw. laden; in beiden Fällen ist das Kürzel .LST zum Dateinamen nicht mit anzugeben.

Protokolle und Up-/Downloading mit Dialogue 128

Begriffsklärung:

Upload ist das übertragen einer Datei von Deinem Computer zu einem anderen System

Download ist das übertragen einer Datei von einem anderen Sytem in Deinen Computer

Für beide Vorgänge bedient man sich sogenannter 'Fehlerprotokolle'.

Protokolle. Das Telefon wurde konstruiert, Sprache zu übertragen und keine Daten. Innerhalb der technischen Möglichkeiten der Telefonleitungen leisten Modems großes, aber manchmal werden Daten bei der Übertragung verfälscht. Während normaler Kommunikation (z.B.: 'Chat Mode') sieht man sofort, wenn ein Zeichen fehlt oder verfälscht ist; dagegen hat man während der Übertragung von Dateien zunächst 'keine Chance' und die ganze Datei wird nutzlos (und teuer). Ein Protokoll stellt ein Verfahren zur Fehlererkennung und -korrektur zur Verfügung.

Das Protokoll teilt die Datei(en) in kleine Päckchen auf und vergleicht jedes Päckchen mit einer Prüfsumme. Stimmt diese nicht, wird dieses Päckchen nochmals übertragen. Stimmt die Prüfsumme, wird das Päckchen auf Diskette gespeichert, bis die gesamte Datei übermittelt ist.

Dialogue unterstützt 6 verschiedene Protokolle: Punter C1, Xmodem checksum, Xmodem CRC, Xmodem 1K (manchmal irrtümlich als Ymodem bezeichnet), Ymodem Batch und das CompuServe Quick B. Die meisten Mailboxen werden mindestens eines dieser Protokolle unterstützen.

Bevor man mit dem Up-/Download beginnt, sollte man sich in der Mailbox schon ganz gut auskennen. Leider hat jede Box eigene Befehle und Eigenschaften, so daß diese Anleitung keine allgemein gültige Beschreibung geben kann; notfalls bitte auf das Hilfesystem der Box zurückgreifen (oder den Sysop fragen).

Sind die Vorbereitungen für ein Up- oder Download im System abgeschlossen, sollte eine Aufforderung erscheinen, die Datenübertragung zu beginnen.

Jetzt C= und 'U' für ein Upload, bzw. C= und 'D' für Download drücken, oder den Punkt 'Upload' bzw. 'Download' aus dem Menü 'File transfer' wählen. (Nur das CompuServe B startet automatisch)

Das Protokoll Parameter Fenster öffnet sich, um die gewünschten Optionen einzustellen. Mit den Cursortasten läßt sich das Thema anwählen, mit RETURN durch die jeweils vorhandenen Optionen durchblättern. (Dieses Fenster läßt sich bei jedem Prompt zur Eingabe eines Dateinamens durch '?' wieder aufrufen.)

Protocol blättert durch die Datenübertragungsprotokolle

Translation (ein oder aus, das C1-Protokoll ignoriert diese Einstellung) dient dazu, die eingehenden Daten, die wohl zumeist in 'echtem' ASCII gesendet werden, in das PETSCII Format des C128 zu übersetzen. Diese Übersetzung kann dann wünschenswert sein, wenn in dem Text Großbuchstaben und Kleinbuchstaben vertauscht dargestellt sind.

Ymodem Filenames ('Prompt' oder 'Default'). Im Y-Protokoll kann der Dateiname mit übermittelt werden; in der Einstellung 'Default' wird der Name übernommen. Bei 'Prompt' erscheint für jede Datei ein Eingabefeld in der Statuszeile und man kann einen eigenen Namen vergeben (besonders beim Download interessant, da man auf dem 128'er bis zu 16 Zeichen eingeben kann, während die IBM Rechner ja auf max. 8 Zeichen begrenzt sind).

Filetypes ('Prompt', 'PRG' oder 'SEQ') erfolgt im C1 Protokoll automatisch; ansonsten muß der gewünschte Filetyp vorgewählt werden. 'PRG' oder 'SEQ' wird alle empfangenen Dateien als 'Programmfile' bzw. 'sequentielle Daei' auf Diskette schreiben; 'Prompt' öffnet für jede einzelne Datei eine Auswahlbox für 'PRG' oder 'SEQ'. (SEQ wird automatisch voreingestellt, wenn 'Translation' 'On' ist)

Punter Block Size (kann zwischen 40 und 255 sein) gilt nur für das Punter Protokoll. (siehe unten unter Protokollbeschreibungen)

Sind in diesem Fenster die Einstellungen getätigt, RUN/STOP drücken, bzw. das Schließsymbol anklicken.

Nun öffnet sich das 'Transfer Statistics' Fenster mit Informationen über den Fortgang der Datenübertragung. Eingehende Daten können (wenn im Konfigurationsmenü die 'Screen Output' Option mit 'Protocol' oder 'Both' gewählt ist) in einem zweiten Fenster unmittelbar verfolgt werden.

Alle Datenübertragungen lassen sich mit RUN/STOP oder klicken auf das Schließsymbol jederzeit abbrechen. Dialogue kehrt unter der Meldung 'Uload aborted' bzw. 'Dload aborted' in den Terminalmodus zurück. Die Mailbox benötigt u.U. noch ein paar Sekunden, um einen Abbruch zu erkennen, manche benötigen dazu auch eine öfters wiederholte Eingabe von CTRL und 'X'.

Professionelle Mailboxen informieren Dich darüber, wie das Up- oder Download durchgeführt wird. Vielleicht sollen aber Daten an Freunde übermittelt werden, oder direkt zwischen zwei Computern, die nebeneinander stehen. Beide Terminals (Computer) müssen das gleiche Protokoll eingestellt haben (das CompuServe B funktioniert in diesen Fällen nicht!), 'Ymodem Batch' ist zu empfehlen, da mehrere Dateien 'in einem Rutsch' übertragen werden können.

Für die Übertragung muß der 'Uploader' beginnen (aber anderst als in Mailboxen gibt es keinerlei 'Startsignal' und alle Zeiten müssen manuell abgeschätzt werden), das Upload zu starten. Der 'Downloader' muß nach einer "angemessenen" Zeit das Download einleiten.

Bei Verwendung des C1 Protokolls erscheint auf dem Bildschirm des Downloaders die Meldung 'GOO' als Teil des Fehlerprotokolls und kann ignoriert werden.

Im Terminalmodus kann das (jeweils letzte) Statistikfenster mit C= und 'I' bzw. 'Info' aus den 'File transfer' -Menü nochmals eingesehen werden.

Beschreibung der einzelnen Protokolle

Punter C1

1984 durch Steve Punter (in Mississauga, Ontario) entwickelt, war es lange Zeit Standard für die Commodore 8-bit Rechner und hat sogar Einzug bis in die Amiga- und MS-DOS- Welt gefunden. Nach Einführung von Xmodem-1K und Ymodem-Batch ist die allgemeine Bedeutung zurückgegangen, besteht aber immer noch für sogenannte 'colour boards'.

C1 beinhaltet eine variable Päckchengröße ('Block size'; zwischen 40 und 255 Blocks) und eine zweifache Prüfsummenkontrolle ('additive checksum' und 'cyclic redundancy check'). Die Blockgröße hat in diesem Falle nichts mit Diskettenblöcken zu tun. Bei sehr schlechten Telefonleitungen können kleinere Päckchen verschickt werden, was die Wahrscheinlichkeit erhöht, daß ein Päckchen ordentlich ankommt.

Das C1 Protokoll sendet die Block-(Päckchen-)größe als Teil des ersten Blocks, das heißt, die Einstellung ist nur für Uploads relevant. Für Downloads muß eine Änderung der Blockgröße vor dem Download in der Mailbox eingestellt werden.

Gebrauch: typischerweise bieten die 64/128'er BBS-en (Mailboxen) die Befehle LOAD und SAVE für Down- bzw. Uploads. Dann kann mit LIST eine Liste der Dateien angezeigt werden, die für ein Download zur Verfügung stehen. Steht die Auswahl fest, den LOAD Befehl eingeben und die BBS frägt nach dem gewünschten Dateinamen, den Du eingibst. Auf die Meldung 'Waiting for start signal. A to abort, B to change block size' drücke C= und 'D' zum Start des Download.

Nun erscheint das 'Protokoll Parameter' Fenster. Stimmt das Protokoll (noch) nicht, drücke RETURN (oder klicke es an), bis 'Punter C1' aktiviert ist. Mit RUN/STOP (Schließsymbol anklicken) erscheint in der Statuszeile der Prompt zur Eingabe des Dateinamens für Deine Diskette. Nach Eingabe des Namens und RETURN beginnt das Download. RETURN ohne Namenseingabe bricht den Vorgang ab; dann auch der BBS mit 'A' melden, daß abgebrochen wurde.

Tritt man unter dem C1 Protokoll mit einem Amiga oder MS-DOS Rechner in Verbindung, muß man deren Beschränkungen für die Vergabe von Dateinamen beachten: MS-DOS läßt nur 8-stellige alpha-numerische Zeichen gefolgt von einer 3-stelligen Kennung ('Extension') zu (keine Sonderzeichen! alle Buchstaben als Großbuchstaben!), Amigas sind da etwas flexibler, vertragen aber keine Leerzeichen oder Schrägstriche in den Dateinamen.

Xmodem

1977 von Ward Christenson für CP/M entwickelt, wurde zum allgemeinen Standard für Mikrocomputer. Dialogue 128 unterstützt drei Varianten des Xmodem:

Checksum : das 'Original' mit einer Blockgröße von 128 Bytes und einfacher Prüfsumme

CRC (Cycle Redudancy Checksum): mit verbesserter Prüfsummenmethode

Xmodem 1K : ist eine erweiterte CRC-Methode, 1982 durch Chuck Forsberg geschrieben, nachdem Ward Christenson seinen Code öffentlich zugänglich machte. Xmodem 1K läßt Blocks von 128 oder 1024 Bytes zu. Die 1K-Blocks bringen Geschwindigkeitsvorteile. Manchmal wird Xmodem 1K irrtümlich als Ymodem bezeichnet.

Gebrauch: finde in der BBS die Befehle für das anzeigen der Downloadlisten und für das Up- bzw. Download (evt. über HELP oder Sysop).

In CompuServe LIB (Verzeichnis) wählen und mit BROWSE durchsuchen. Hinter jedem Dateinamen steht eine kurze Beschreibung und das 'Disposition!' -Prompt. Zum Download eingeben: dow pro:xmo . CompuServe antwortet: "Starting Xmodem send. Please initiate Xmodem receive and press <CR> when the transfer is complete" . Jetzt C= und 'D' drücken. Falls notwendig, im Parameterfenster noch eine der Xmodem Optionen anwählen und den Dateinamen eingeben. Nach RETURN beginnt die Datenübertragung. Zeigt Dialogue in der Statuszeile ganz rechts 'dload complete' ('fertig'), RETURN drücken, um CompuServe zu bestätigen. Das Upload funktioniert ebenso, der Befehl ist: upl pro:xmo am LIB -Prompt.

Ymodem Batch

1987 durch Chuck Forsberg entwickelt, baut auf seinem eigenen Xmodem 1K auf, indem die Dateinamen Bestandteil der Datenübertragung sind. Daher können ganze Gruppen von Dateien 'in einem Rutsch' übermittelt werden.

Gebrauch: finde in der BBS die Befehle für das anzeigen der Downloadlisten und für das Up- bzw. Download (evt. über HELP oder Sysop). Nachdem die Mailbox auf die Datenübertragung vorbereitet ist, mit C= und 'U' bzw. 'D' (oder 'File transfer' 'Upload' bzw. 'Download') drücken. Unter Ymodem besteht die Möglichkeit, alle Dateien ohne Unterbrechung downzuloaden, oder nach jeder Datei kurz zu unterbrechen, um einen eigenen Dateinamen oder/und Dateiart einzugeben. Die Einstellung hierfür liegt im Protokoll Parameterfenster: 'Ymodem filenames': 'default' übernimmt die Originalnamen, 'prompt' erwartet für jede Datei eine manuelle Eingabe.

Beim Upload mit Ymodem bediene Dich des 'File Selection Mode', indem Dateinamen für Dateinamen (jeweils mit RETURN abschließen) eingegeben werden. Dabei können auch unterschiedliche Laufwerke angegeben werden (Syntax: siehe oben). Dieser Puffer faßt ca. 20 Namen (abhängig von deren Länge). Mit RUN/STOP (oder 'Options' 'Exit input') diesen Modus abbrechen. Die Sicherheitsabfrage 'Upload all files?' mit 'N' beantwortet, bricht den Vorgang ab, 'Y' startet die Übertragung.

CompuServe B

wurde in den frühen 80'ern speziell für CompuServe geschrieben, unter der Vorgabe, ein Up- bzw. Download so einfach wie möglich zu gestalten. Die Weiterentwicklung kam 1987 als Version 'Quick B'. Dialogue hat folgende Blockgrößen vorgegeben: 128 Byte bei 300 Baud, 512 Byte bei 1200 Baud und 1024 Byte bei 2400 Baud und darüber.

Gebrauch: Für ein Download beim 'Disposition!' -Prompt einfach dow pro:b eingeben. CompuServe fragt nach einem Dateinamen zum abspeichern auf Deiner Diskette ('Filename for your computer:'); nach dessen Eingabe läuft alles automatisch. Da keine CBM Befehle gebraucht werden und Dialogue nicht nach dem Dateinamen frägt, erscheint noch eine Dialogue-Box zur Eingabe des anzusprechenden Diskettenlaufwerkes.

Nach erfolgter Übertragung springt Dialogue wieder in den Terminalmodus.

Beeinflussung des Übertragungsmodus' ('Transmit Modification Characters')

Mit Dialogue besteht auch die Möglichkeit, Text an die Mailbox zu senden, ohne ihn direkt einzutippen. Der Übertragungsmodus wird im Konfigurationsfenster ('Transmit mode' und 'Transmit Delays') geregelt. Text kann über Funktionstasten, Makros oder Batchdateien direkt vom Bildschirm ausgelesen und übertragen werden. Dazu gibt es u.a. folgende Befehle:

SHIFT und RETURN (erscheint als C/R): Normalerweise endet ein durch Dialogue übermittelter Text mit 'Carriage return' ('Wagenrücklauf'). Wenn nötig können weitere Wagenrückläufe erzwungen werden, die Dialogue alle mit CHR$(13) übersetzt. Beim anlegen einer Batchdatei wird C/R durch C= und RETURN erzeugt.

C= und '+' (erscheint als 'Pfeil-rechts') unterdrückt am Textende den Wagenrücklauf (C/R); d.h. der Text wird bis zu diesem Zeichen übermittelt, der Cursor bleibt an dieser Stelle stehen. Jetzt können andere Makros oder Funktionstasten aufgerufen werden, um evt. zusätzliche Parameter eingeben zu können.

Hochpfeil (erscheint als '^') teilt Dialogue mit: das nächste Zeichen ist ein Controlcode (CTRL). Controlcodes werden nicht auf dem Bildschirm ge-echoed (dargestellt). Eine Liste der Controlcodes findet sich im Anhang C (z.B.: ^s als Stopzeichen). Übertragungen mit einem Controlcode am Ende erhalten nicht den automatischen Wagenrücklauf (C/R)!

ESC (erscheint als 'Pfeil-links') dient der Übermittlung von ESC-Codes (gefolgt von entsprechender Befehlstaste).

Backslash Sequenzen: (der Backslash, der 'umgekehrte' Schrägstrich, liegt auf der 'Pfundtaste') Manchmal benötigt man Zeichen, die nicht direkt über die Dialogue-Tastatur eingebbar sind; sie sind leicht definierbar: einfach den entsprechenden ASCII-Wert nach dem Backslash eingeben (z.B.: Backslash065 stellt ein 'a' dar). Folgende Zeichen sind schon vordefiniert:

Backslash'b' Backspace (CHR$(8)/^h)

Backslash'd' Delete (CHR$(127))

Backslash'e' Escape (CHR$(27)/^d)

Backslash'l' Linefeed, Zeilenvoschub (CHR$(10)/^j)

Backslash'r' Carriage return, Wagenrücklauf (CHR$(13)/^m)

Backslash't' Tab (CHR$(9)/^i)

BackslashBackslash erlaubt einen Backslash zu senden

Backslash'U' Cursor up (aufwärts) I Diese Cursorsteuerung

Backslash'D' Cursor down (abwärts) I ist hauptsächlich für

Backslash'L' Cursor links I die Batchdateien

Backslash'R' Cursor rechts I interessant.

Backslash### übermittelt den dreistelligen ASCII-Code (entspricht CHR$(###))

Puffer Funktionen

Der Rückschaupuffer

Dialogue hat ein 'Gedächtnis' ('Scrollback Review Buffer'), das immer aktiv ist und alles (bzw. die letzten 9000 Zeichen) vom Terminalmodus-Bildschirm mitschreibt. Daher können Texte zurückgeholt werden, selbst wenn der 'Capturebuffer' nicht geöffnet war.

C= und '^' (oder 'View scroll-back' aus dem Menü 'Buffer') öffnet den Buffer und stellt ihn umgekehrt dar, d.h. das neueste zu oberst, am unteren Bildschirmrand beginnend. Dabei gibt es folgende Optionen:

RUN/STOP Abbruch zum normalen Terminalmodus

CRSR mit den Cursortasten kann durch den Puffer auf- und abgescrollt werden

Leertaste schnelles scrolling (in die Richtung, die zuletzt benutzt wurde)

'+' bzw. '-' nächste bzw. vorhergehende Pufferseite abrufen

C= und 'g' kopiert die aktuelle Bildschirmseite in den 'Capture buffer' (s.u.)

Dieser Puffer wird jedesmal geleert, wenn die Bildschirmbreite geändert, eine Batchdatei aufgerufen oder beendet, interne Pointer zurückgesetzt werden.

Der 'Mitschreibepuffer' ('Capture buffer')

öffnet sich mit C= und 'B' (oder 'Buffer' 'Buffer capture' in den Menüs). Der aktive Pufferbereich blinkt in der Mitte der Statuszeile und rechts erscheint die Meldung 'Capture On', damit wird aller ab dann eingehender Text aufgezeichnet. Die beiden Statuszähler zeigen den Füllstand des Puffers an; die Puffergröße (und -anzahl) hängt von der Pufferkonfiguration (s.o.) ab. Ein zweiter Druck auf C= und 'B' (oder 'Buffer' 'Buffer capture' in den Menüs) schließt die Pufferaufzeichnung wieder.

Dialogue kann bis zu acht separate Puffer verwalten, die mit C= und '1', '2', . . . ,'8' (oder 'Buffer' 'Set buffer' in den Menüs, oder C= und 'N') angewählt werden können; hierfür nicht die Zahlentasten des 10er Blockes verwenden, die sind anderst belegt. Die folgenden Funktionen beziehen sich jeweils auf den aktiven Pufferbereich:

C= und 'G' (oder 'Buffer' 'Grab screen' in den Menüs) übernimmt den aktuellen Bildschirminhalt in den Capture buffer, ohne daß dieser vorher eingeschaltet wurde. (Diese Funktion läßt sich auch im 'Scrollback Buffer' oder im 'View Disk File' aufrufen.)

C= und 'R' (oder 'Buffer' 'Reset' in den Menüs) dient zum zurücksetzen (löschen) des aktiven Puffers, nach Bestätigung der Sicherheitsabfrage ('Reset buffer?').

C= und 'V' (oder 'Buffer' 'View' in den Menüs) zeigt den Inhalt des aktuellen Puffers an. In diesem Modus wird eventuell gleichzeitig eingehender Text nicht angezeigt.

RUN/STOP Abbruch zum normalen Terminalmodus

CRSR mit den Cursortasten kann durch den Puffer auf- und abgescrollt werden

Leertaste schnelles scrolling (in die Richtung, die zuletzt benutzt wurde)

'+' bzw. '-' nächste bzw. vorhergehend Pufferseite abrufen

HOME springt zum Anfang des Puffers

SHIFT und CLR springt zum Ende des Puffers

ALT und 'V' zeigt eine Diskettendatei (nur SEQ) auf dem Terminalbildschirm an, ohne in den Speicher geschrieben zu werden. Dabei läßt sich der 'Capture buffer' für den eingehenden Text öffnen oder schließen. Nach Aufruf dieser Funktion erscheint ein Prompt zur Eingabe des Dateinamens. Wird hier ein '$' eingegeben, erscheint eine Diskdirectory, nur mit den vorhandenen SEQ-Dateien. Mit dem Cursorbalken läßt sich die gewünschte Datei anwählen (RETURN bzw. Doppelklick). Bei Eingabe eines '?' am Eingabeprompt, wird zur Ausgabe die ASCII nach PETSCII Übersetzung aktiviert (siehe hierzu auch C= und 'L' bzw. C= und 'S' weiter unten). Während der Ausgabe stehen zur Verfügung:

Leertaste unterbricht Bildschirmausgabe bzw. führt sie weiter ('Pause')

ALT und 'P' druckt den aktuellen Bildschirminhalt aus

C= und 'B' öffnet bzw. schließt den aktuellen 'Capture buffer' (s.o.)

C= und 'G' kopiert den aktuellen Bildschirminhalt in den 'Capture buffer' (s.o.)

C= und 'T' (oder 'Buffer' 'Transmit') schaltet in den 'Transmit buffer mode', d.h. der Pufferinhalt kann über das Modem gesendet werden, - ohne Fehlerprotokoll, so, als würde der Text direkt eingetippt. Hierfür dienen auch die Grundeinstellungen 'Transmit mode' und 'Transmit delay' im 'Configuration' Fenster.

Viele Mailboxen haben die Zahl der Textzeilen, die auf einmal übermittelt werden dürfen, begrenzt. Manche verlangen, lange Texte in kurze Teile zu splitten, andere lassen zwar sehr lange Texte zu, müssen aber zwischendurch Teile abspeichern. Im Normalfall gibt es eben Probleme, einen Pufferinhalt zu versenden, der 'zu groß' ist; aber Dialogue's 'Transmit Modification Characters' (s.o.) helfen weiter:

Nimmt z.B. die Mailbox nur 24 Zeilen auf einmal an, dann setze auf die 25. Zeile den 'Pfeil-rechts' (erreichbar über C= und '+') als einziges Zeichen. Erreicht Dialogue bei der Übertragung dieses Zeichen, hält es an, zeigt in der Statuszeile 'Transmit paused' an und kehrt in den Terminalmodus zurück. Jetzt muß die Mailbox zur Aufnahme des weiteren Textes vorbereitet werden (z.B. speichern des erhaltenen Textes oder/und erneuter Aufruf dieses Bereiches). Ist das erledigt, C= und 'T' erneut drücken und Dialogue wird dort fortfahren, wo es vorher unterbrach (d.h. in der Zeile nach dem 'Pfeil-rechts').

Dieser Übertragungsmodus läßt sich jederzeit (während der eigentlichen Übertragung, als auch während der Pausen) mit RUN/STOP in den Terminalmodus abbrechen, dabei wird auch der Zeiger auf die erste Zeile des Textes zurückgesetzt.

ALT und 'T' ('Buffer' 'Transmit line') übermittelt jeweils eine Zeile aus dem Puffer 1. Das kann sehr hilfreich sein, wenn z.B. im Puffer eine Liste von Befehlen steht . . . (die abgearbeitet werden soll; mit jedem ALT-T wird die jeweils nächste Zeile geholt und gesendet).

Vorsicht: da RS-232 und DMA (z.B. Swiftlink und REU) nicht gleichzeitig aktiv sein dürfen, muß man sich sicher sein, daß wenn man auf den Puffer (wenn er in der REU liegt; siehe Buffer Configure) zugreifen möchte, die RS-232 'fertig' sein muß.

Der Pufferbereich 1 ist voreingestellt, läßt sich aber über den Resetbefehl (s. ALT-R) ändern.

ALT und 'R' ('Buffer' 'Reset line') setzt den Pointer, der mit ALT-T gesetzt wurde, an den Anfang des aktuellen Puffers zurück. Nach einem solchen Reset greift der ALT-T Befehl auf den nächsten Pufferbereich zu! Damit kann z.B. Bereich 1 für eingehenden Text und Bereich 2 für abgehenden Text angelegt werden.

C= und 'P' ('Buffer' 'Print-out') gibt den Inhalt des aktuellen Puffers an den Drucker (und gleichzeitig auch auf den Bildschirm) aus. In der Statuszeile erscheint ein Countdown der noch zu druckenden Zeilen.

C= und 'L' ('Buffer' 'Load') lädt eine SEQ-Datei von Diskette in den aktuellen Puffer (zur Bearbeitung oder Übermittlung). Der geladene Text wird immer an den evt. schon vorhandenen angehängt; ist das unerwünscht, den Puffer vorab leeren (Reset mit C= und 'R' oder 'Buffer' 'Reset'). Ist der zu ladende Text länger als der Puffer (die Puffergröße ist im Configuration Menü einstellbar), wird der Text entsprechend abgeschnitten.

Weil der 128'er ein 'eigenes ASCII' (PETSCII) hat, das sich von der übrigen Computerwelt unterscheidet ('echtes' oder 'true ASCII'), muß ein Text ggf. 'übersetzt' werden. Diese Übersetzung wird aufgerufen, wenn man anstatt des Dateinamens zunächst ein '?' eingibt.

C= und 'S' ('Buffer' 'Save') speichert den aktuellen Pufferinhalt auf Diskette. Dazu ist am Prompt ein Dateiname einzugeben.

Der Text wird normalerweise in PETSCII abgespeichert, für ASCII anstatt des Dateinamens zunächst ein '?' eingeben.

ALT und 'B' ('Buffer' 'Buffer to disk') dient dazu, sehr langen Text (der den eigentlichen Puffer 'sprengen' würde) auf Diskette umzuleiten. Damit diese Option richtig arbeitet, muß 'Flow Control' auf 'XON/XOFF' oder 'CTS/RTS' gesetzt sein.

Ist diese Option gewählt, erscheint ein Prompt für die Eingabe des Dateinamens. Existiert der eingegebene Name bereits auf der Diskette erfolgt eine Sicherheitsabfrage ('File exists. Replace?') bevor jene Datei überschrieben wird. Dieser Modus wird mit ALT und 'B' ('Buffer' 'Buffer to disk') auch wieder verlassen.

Die eingehenden Daten gehen zuerst in den Puffer, bis dieser voll ist. Dann sendet Dialogue das Flow Controlzeichen zum anhalten, entleert den Puffer auf Diskette und sendet dann 'weiter'; u.s.w. . Dieses Vorgehen ist notwendig, da sich die serielle Disk und die RS-232 gegenseitig behindern.

Der Dialogue Puffereditor

C= und 'E' (oder 'Buffer' 'Editor') aktiviert den full-screen Puffereditor. Mit ihm lassen sich eingegangener Text, oder Text zum übermitteln bearbeiten. Es gibt zwei Modi: Modus 1, der den Capture Buffer anzeigt und ihn full-screen (über den ganzen sichtbaren Bildschirm) bearbeiten läßt und Modus 2, der den Bildschirm zweiteilt: oben den Review Buffer und unten den Editorbildschirm. Letzterer erlaubt es Dir, das System zu beobachten (Review Buffer) und gleichzeitig zu editieren, das ist von unschätzbarem Vorteil, wenn man auf lange komplexe Nachrichten antworten möchte.

Zwischen beiden Modi kann mit C= und 'M' (bzw. 'Options' 'Editor mode') gewechselt werden.

Spezielle Editiertasten:

TAB arbeitet wie gewohnt

SHIFT und TAB setzt bzw. löscht einen Tabulatorstop

HOME einmal gedrückt: Cursor an den Anfang des Bildschirms setzen

zweimal gedrückt: Cursor an den Anfang des Puffers setzen

SHIFT und CLR einmal gedrückt: Cursor an das Ende des Bildschirms setzen

zweimal gedrückt: Cursor an das Ende des Puffers setzen

HELP ruft die Editormenüs auf

RUN/STOP beendet den Editor, Rückkehr in den Terminalmodus

Änderungen in der Editorumgebung:

ALT und 'A' (oder 'Options' 'Auto-exec buffer') startet den Pufferinhalt als Batchdatei

aus dem Editor heraus. Dazu wird der Pufferinhalt in den Batchpuffer

kopiert. Vorsicht! steht im Batchpuffer (exec buffer) noch etwas,

speichere jenes vorher ab, sonst ist es verloren!

ALT und 'L' ('File' 'Load defaults') lädt gespeichertes Editorlayout (Tabulatoren,

Ränder und Puffermodus) von Diskette

ALT und 'S' ('File' 'Save defaults') speichert aktuelles Editorlayout (Tabulatoren,

Ränder und Puffermodus) auf Diskette

(Das 'Defaultfile' läßt sich beim booten schon einladen; siehe Konfiguration)

ESC-Funktionen im Editor:

ESC und 'D' ('Edit' 'Delete line') löscht die gesamte Zeile, in der sich der Cursor

gerade befindet

ESC und 'I' ('Edit' 'Insert line') fügt an der Cursorposition eine Leerzeile ein

ESC und 'P' ('Edit' 'Clear to start') löscht ab Cursorposition bis zum Zeilenanfang

ESC und 'Q' ('Edit' 'Clear line to end') löscht ab Cursorposition den Rest der Zeile

ESC und <Klammeraffe> ('Edit' 'Clear buffer') löscht den Puffer ab der Cursorposition

(Alle ESC-Funktionen lassen sich auch mit ALT aufrufen und umgekehrt)

Editor-Setup und Bedienung:

C= und '<' ('Options' 'Set left Margin') setzt den linken Rand zur Texteingabe. Der

Cursor kann den Rand überfahren

C= und '>' ('Options' 'Set right Margin') setzt den rechten Rand zur Texteingabe. Der

Cursor kann den Rand überfahren

C= und 'D' ('Edit' 'Delete line') löscht die gesamte Zeile, in der sich der Cursor

gerade befindet

C= und 'L' ('Files' 'Load file') lädt den Puffer mit Diskettendatei ('?' für Übersetzung)

C= und 'I' ('Edit' 'Insert line') fügt an der Cursorposition eine Leerzeile ein

C= und 'M' ('Options' 'Editor mode') schaltet den Editor-Puffermodus um (s.o.)

C= und 'R' ('Range' 'Full-line range') setzt einen Bereich von Zeilen revers (s.u.)

C= und 'W' ('Options' 'Wordwrap toggle') schaltet den automatischen Wortumbruch

ein bzw. aus (nur im Editor)

C= und 'S' ('Files' 'Save file') speichert den Puffer auf Diskette ('?' für Übersetzung)

C= und INST ('Edit' 'Insert lines') fügt an der Cursorposition Leerzeilen ein, deren

Anzahl beim Prompt "Lines to insert:" eingegeben wird.

C= und 1 . . . 8 mit den oberen Zahlentasten läßt sich der aktuelle Pufferbereich zur

Bearbeitung einstellen.

Befehle zur Bearbeitung von Bereichen; sie funktionieren nur, wenn ein Bereich mit C= und 'R' ('Range' 'Full-line range') bzw. CTRL und 'R' ('Range' 'Part-line range') definiert wurde. (Vor Anwahl dieses Befehles den Cursor an den Anfang des zu definierenden Bereiches positionieren, danach mit den Cursortasten oder dem Mauspfeil den Bereich 'aufziehen'):

CTRL und 'C' ('Range' 'Copy') kopiert einen Bereich (Range). Mit dem ersten CTRL und

'C' wird der markierte Bereich intern zwischengespeichert, den Cursor

nun an die Einfügestelle (die kann auch in einem anderen Pufferbereich

liegen!) bewegen und dort ein zweites Mal CTRL und 'C' drücken. Die

Sicherheitsabfrage ("Copy range?") entsprechend beantworten, der

zwischengespeicherte Text wird eingefügt. Bei diesem kopieren geht

weder an der Originalstelle, noch an der Einfügestelle irgendetwas

verloren.

CTRL und 'D' ('Range' 'Delete') löscht einen Bereich. Nach dem ersten CTRL und 'D'

RETURN drücken, um die Bereichsmarkierung aufzuheben. Nun CTRL und

'D' ein zweites Mal drücken, die Sicherheitsabfrage ("Delete range?")

entsprechend beantworten, der Bereich wird komplett gelöscht.

CTRL und 'E' ('Range' 'Erase') arbeitet wie CTRL und 'D', aber der Platz, an dem sich

der Text befand, bleibt als Leerzeile(n) bestehen.

CTRL und 'M' ('Range' 'Move') bewegt den Bereich, d.h. er wird an der Originalstelle

'ausgeschnitten' (CTRL und 'M') und am Ziel eingefügt (CTRL und 'M';

Sicherheitsabfrage "Move range?").

CTRL und 'S' ('Range' 'Save') speichert den Bereich auf Diskette, dazu CTRL und 'S'

drücken, RETURN und nochmals CTRL und 'S'. Am Prompt "Save range

(x):" den Dateinamen eingeben.

Andere CTRL-Befehle:

CTRL und 'I' ('Options' 'Insert toggle') schaltet zwischen Insert- und Überschreibe-

modus hin und her. Der Insertmodus wird durch 'INS' in der Statuszeile

angezeigt.

CTRL und 'R' ('Range' 'Part-line range') erlaubt, eine 'beliebige' Box als Bereich zu

kennzeichnen. Vor Befehlsaufruf den Cursor an das (zukünftige) linke

obere Eck des Bereichs plazieren, Befehl aufrufen, und den Bereich mit

den Cursortasten bzw. dem Mauspfeil 'aufziehen'.

CTRL und 'W' ('Options' 'Wordwrap toggle') schaltet den automatischen Wortumbruch

ein bzw. aus (nur im Editor)

Die Makrotasten

Das Makroaufzeichnungsfenster öffnet man aus dem Terminalmodus mit C= und 'M' ('Communication' 'Macro definitions'). Hier lassen sich zehn 'immer aktive' Makrotasten definieren, die mit ALT und den Nummerntasten des Zehnerblockes aufgerufen werden können. Die Makros beinhalten eine Reihe von Tastendrücken, die man häufig benötigt, egal ob für die Bedienung von Dialogue 128, oder den Terminalmodus, oder für Mailboxen. Sie dürfen bis 60 Zeichen lang sein; längere Befehlsfolgen kann man in einer Batchdatei (auto-exec script) anlegen.

Im 'Macro Definitions' Fenster läßt sich der Cursorbalken -wie gewohnt- mit den Cursortasten bzw. mit dem Mauspfeil bewegen.

RETURN (Maustaste) führt das hervorgehobene Makro aus

RUN/STOP (Schließsymbol oder 'Options' 'Exit macros') schließt das Fenster, Rückkehr in

den Terminalmodus

L ('Options' 'Load macro file') lädt einen Satz Makrodefinitionen von Diskette

S ('Options' 'Save macro file') speichert die aktuellen Makrodefinitionen auf Disk

E ('Options' 'Edit macro') editieren des hervorgehobenen Makros

Für die Festlegung der Makros stehen folgende Sondertasten zur Verfügung:

C= und 'C' stellt ein unterstrichenes kleines c dar und teilt Dialogue mit: das nächste Zeichen ist so zu behandeln, als wäre gleichzeitig die Commodore (C=) Taste gedrückt.

Z.B.: c l "Dateiname" würde bedeuten, daß das Makro "Dateiname" in den Capture Puffer zu laden ist.

C= und 'A' stellt ein unterstrichenes kleines a dar und teilt Dialogue mit: das nächste Zeichen ist so zu behandeln, als wäre gleichzeitig die ALT-Taste gedrückt.

Z.B.: a l "Beisp.ext" würde bedeuten, daß das Makro "Beisp.ext" in das "extension memory" zu laden ist.

Alle "Transmit Modification Characters" (s.o.) lassen sich anwenden.

Die Makros können mit ALT und <Zahl> jederzeit aufgerufen werden (Zahl: 0 bis 9 aus der 10'er Tastatur). Über die Menüs: 'Communication' 'Macro definitions' gewünschtes Makro anklicken und durch erneutes klicken ausführen (oder RETURN drücken).

Die Befehle des Terminalmodus

C= und 'H' ('Communication' 'Hook Control'). Diese Option arbeitet je nach Modem unterschiedlich (s. Anhang A). Bei 'dummen' Modems hebt C= und 'H' ab, bzw. legt auf. 'Intelligente' Modems (die software-mäßiges auflegen unterstützen) unterbrechen die Verbindung. Reagiert das Modem nicht auf C= und 'H', versuche dieses entsprechend zu konfigurieren (suche im Handbuch nach einem DTR -Data Terminal Ready- Befehl). Bist Du normal online, erscheint nach C= und 'H' eine Sicherheitsabfrage ("Hang up ?").

ALT und 'N' ('Dialogue' 'Non-visible') schaltet den Modus ein bzw. aus, der 'verdeckte' Zeichen darstellt (= ASCII-Zeichen mit Code kleiner 32; z.B.: CHR$(17) = CTRL-Q erscheint als ^q; CHR$(27) = ESC als ^<eckige Klammer auf>).

Ist dieser Modus ein, blinkt in der Statuszeile das 'N'.

C= und 'F' ('Communication' 'Function keys') zeigt im Terminalmodus die augenblickliche Funktionstastenbelegung (F-Tasten) an. Der Cursorbalken ist aktiv, er kann mit dem Zeiger oder den Cursortasten bewegt werden; RETURN bzw. zweites anklicken führt die entsprechende F-Taste aus.

C= und 'W' (oder 'Communication' 'Wait for call') wartet auf einen Anruf (Host Modus), d.h. Dialogue bleibt inaktiv, bis ein 'Carrier detected' wird, dann kehrt es in den Terminalmodus zurück. Mit dem Batchdateiensystem von Dialogue kann man eine kleine Mini-BBS realisieren. Der Wartemodus läßt sich mit RUN/STOP manuell abbrechen.

Achtung: Dialogue programmiert das Modem nicht auf 'Antwortmodus' ('auto-answer'); dies muß manuell vor Anwahl durch C= und 'W' geschehen! Intelligente Modems erhalten (meist) den Befehl ATS0=1, 'dumme' Modems haben einen Schalter.

C= und '*' ('Dialogue' 'Set clock') setzt die Echtzeituhr in der Statuszeile. Das einzugebende Format ist hh:mm:ss im 12-Stunden-System (engl./am.); nach RETURN wird man noch zur Eingabe von 'a' ("Vormittag") oder 'p' ("Nachmittag") aufgefordert.

Besitzt Du eine Hardwareuhr am 128'er, kann in der BASIC Bootdatei "dialogue" (Zeile 460 ff.) das Programm angepaßt werden (s. Originalanleitung S.38).

C= und '=' ('Communication' 'Conference mode') dieser 'Split Screen Konferenzmodus', oder schlicht 'Chat mode' hält eingehenden Text und gleichzeitige eigene Tastatureingaben sauber auseinander. Für die Tastatureingabe steht im unteren Teil ein 5-Zeilen-Editor zur Verfügung (der Wordwrap, Cursortasten, INS/DEL, HOME, CLR und die normalen 128'er ESC-Codes unterstützt). Auf RETURN wird die Zeile, in der sich der Cursor befindet, gesendet. SHIFT und RETURN setzt den Cursor auf die nächste Zeile, ohne sie zu senden. Durch erneute Anwahl von C= und '=' (oder 'Communication' 'Conference mode') wird dieser Modus wieder verlassen.

Der Text wird entsprechend der Einstellung in Configuration (Stream oder Reflect) gesendet. Wird Text während der Übertragung verstümmelt, wähle eine langsamere Geschwindigkeit, durch hochsetzen von 'Transmit Delay'.

Für den Chat Modus wird der Bildschirm gelöscht. Danach kann man den letzten Bildschirminhalt aus dem 'Scrollback buffer' wiederherstellen (C= und '^').

Während der VT52 und der VT100 Emulation ist der Chat Modus nicht möglich, da diese auf den 24-Zeilen-Schirm angewiesen sind.

ALT und RUN/STOP ('Communication' 'Transmit break'). Einige größere Systeme erwarten, daß das Terminal einen 'break' (eine kurze Unterbrechung im 'Handshake' der Modems) generieren kann; Dialogue tut dies mit ALT und RUN/STOP ('Communication' 'Transmit break') für 230 Millisekunden. Dieser 'break' ist wie ein Hardwareinterrupt zu verstehen (Software-'breaks', wie CTRL-C oder CTRL-O, können versagen, wenn die Mailbox keine Zeichen annimmt.).

ALT und 'S' ('Dialogue' 'C= characters') kann in der CBM-Terminalemulation den Zeichensatz von 'Groß-/Kleinschreibung' auf 'Grafikzeichen' (und wieder zurück) umstellen. Dabei wird die C= Taste für die Darstellung der Grafikzeichen benötigt, die C= Dialoguebefehle sind dann nur über die Menüs zugänglich. Der Commodore-Grafikmodus wird in der Statuszeile durch das blinkende S dargestellt.

C= und CLR ('Dialogue' 'Clear sreen') löscht den Terminalbildschirm (praktisch jederzeit)

C= und 'Q' ('Dialogue' 'Quit Dialogue') verläßt Dialogue zum BASIC. Es erscheint eine Sicherheitsabfrage ("Quit Dialogue?") und wenn sich noch Daten im Puffer befinden ein weiterer entsprechender Hinweis. Daten, die in einer REU sind, bleiben erhalten, bis der 128'er ausgeschaltet wird, oder ein anderes Programm auf die REU zugreift. Soll nach einem Reboot Dialogue wieder auf die 'alten' Daten zugreifen, muß die Frage 'Clear REU' mit 'no' beantwortet werden.

ALT und 'P' ('Communication' 'Print screen') druckt im Terminalmodus den aktuellen Bildschirminhalt (ohne Statuszeile) aus. Diese Option läßt sich auch nach C= und 'V' (Anzeige des Capturebuffer), C= und '^' (Anzeige des Reviewbuffer) und nach ALT und 'V' (Anzeige von Diskettendateien) aufrufen.

C= und 'CRSR-auf/ab' ('Communication' 'CRSR release') entbindet den Cursor von seiner augenblicklichen Position und kann -selbst im Conference Mode- frei über den Bildschirm bewegt werden, mit der Möglichkeit Text zu editieren und dann erneut abzusenden.

Dieser Modus schaltet als Erkennungszeichen den Blinkmodus des Cursors um (d.h. der Cursor blinkt, wenn er 'solid' konfiguriert ist und umgekehrt).

In diesem Modus gibt noch folgende Optionen:

RUN/STOP bricht diesen Modus ab, der Cursor kehrt an seine ursprüngliche Stelle zurück.

SHIFT und RETURN schreibt ein c/r Symbol auf den Bildschirm. Damit wird eine Datenübertragung an dieser Stelle unterbrochen und ein 'carriage return' (Wagenrücklauf) gesendet.

C= und '+' schreibt einen 'Pfeil-rechts' auf den Bildschirm, an dem die Datenübertragung unterbrochen wird und der Cursor an dieser Stelle stehen bleibt. (das + ist nicht das aus der 10'er Tastatur!)

C= und RETURN sendet den Text, beginnend an der Cursorposition bis zum Ende der Zeile, oder bis zu einem der beiden Stop-Symbole.

ESC Funktionen ESC-I, ESC-D, ESC<Klammeraffe>, ESC-P und ESC-Q werden unterstützt.

ALT und 'I' ('Communication' 'Initialize modem') sendet den Initialisierungsstring zum Modem. Bei einem Bootvorgang wird dieser automatisch zum Modem gesendet. Der Initstring wird im Configuration Fenster nach Eingabe von 'M' (oder 'Install' 'Modem control') eingegeben. ALT und 'I' funktioniert nur 'offline' (außerhalb einer Mailbox).

ALT und 'L' ('Dialogue' 'Load extension') lädt ein 'Extension Module'. Dialogue besitzt schon manches, wovon andere Terminalprogramme (auf allen Computertypen) noch träumen. Trotzdem hat Dialogue noch einen Bereich freigehalten, in den später noch Erweiterungen eingeladen werden können (von denen man heute vielleicht noch nichts ahnt). Es sind zwei Arten der Erweiterungen ('Extensions') möglich: die, die in den Code des Dialogue eingreifen ('zu dessen Bestandteil werden') und die, die 'eigenständige Programme' darstellen. Ein paar Module sind auf der Dialoguediskette schon mitgeliefert (s. Anhang B), andere können in Zukunft noch erscheinen.

Der Aufruf ALT und 'L' ('Dialogue' 'Load extension') führt zu einem Eingabeprompt für den entsprechenden Dateinamen (ein $ zeigt eine Liste der zur Verfügung stehenden .EXT Dateien). Es kann nur ein Modul aktiv sein, es bleibt im Speicher, bis ein neues geladen wird; es wird reaktiviert, indem man am Dateinamenprompt einfach RETURN drückt. Eine Erweiterung kann auch schon beim booten (quasi als fester Bestandteil von Dialogue) geladen werden (s. konfigurieren, 'Set default files').

C= und '>' ('Disk' 'DOS wedge') dient zur vereinfachten Eingabe von DOS-Befehlen ('Disketten-Operating-System'). Die DOS-wedge Befehle kann man auch an einem Dateinamenprompt mit einem führenden '>' eingeben.

Die DOS-Befehle können auch von einer Laufwerks-, Geräteadresse gefolgt werden (z.B.: v0,9), die dann zum neuen Defaultlaufwerk wird. Das aktive Laufwerk wird stets am DOS Prompt (in Klammern) angezeigt.

Eine kurze Aufzählung der DOS Kommandos (näheres bitte der Anleitung für Computer bzw. Laufwerk entnehmen):

V validate (Diskette aufräumen). Nicht für GEOS Disketten!

I Laufwerk initialisieren

N Diskette formatieren

S Dateien von Diskette löschen (Suchmuster = 'wildcarts' erlaubt)

D Diskette duplizieren (nur mit Doppellaufwerken möglich)

C Dateien duplizieren (nur mit Doppellaufwerken möglich)

#n schaltet auf das Laufwerk 'n' um

# schaltet in den 'drive selection mode'

$ Directory ausgeben (Suchmuster erlaubt)

/ 1581 Partitionszugriff (s.o.)

// 1581 Partitionswechsel (s.o.)

<Klammeraffe> zeigt den Fehlerkanal rechts in der Statuszeile an

RETURN alleine bricht zum Terminalmodus hin, bzw. zum Eingabeprompt ab.

Zusätzlich können auch Befehle zum Drucker gesendet werden (z.B.: "NLQ-Druck ein/aus"). Hierzu dient das Präfix (der Vorsatz) p: .

Beispiel 1: p:<Pfeil-links>4<Backslash>007 entspricht ESC"4" CHR$(7)

darin bedeuten: p: die Umleitung der Daten zum Drucker; <Pfeil-links> entsteht durch Druck auf die ESC Taste, ist das Befehlsteuerzeichen für den Drucker; das ASCII-Zeichen 4 nach ESC sagt 'es folgt ein CTRL Code'; <Backslash>007 wird als CHR$(7) (entspr. ^g) gesendet. Es steht also für ESC4, gefolgt von CHR$(7); auf den meisten Epsondruckern ist das: 'Kursivschrift einschalten' und 'akustisches Zeichen geben'.

Mit diesem System lassen sich alle Befehle, die der Drucker versteht, angeben. Das zweite Beispiel sendet ein CHR$(14) und den Text "Dialogue Printer Dump". CHR(14) schaltet (meistens) einen Breitdruck ein (z.B.: für eine Titelzeile) und gibt den Text aus. Dieser direkt eingegebene Text muß mit einem Wagenrücklauf ('carriage retrun') beendet werden, sonst wird er nicht gedruckt:

Beispiel 2: p:<Backslash>14Dialogue Printer Dump<Backslash>r

Das Batchdateiensystem des Dialogue (Auto-Exec Scripts)

Mit diesem mächtigen Werkzeug ist es möglich, das gesamte Programm -oder auch nur Teile davon- zu automatisieren. Stelle Dir vor, 'im Schlaf' einer ganzen Gruppe von Mailboxen einen Besuch abzustatten, Nachrichten 'einsammeln', auf Diskette speichern und zu versenden. Besonders in pay-Systemen (die Gebühren kosten, wie GEnie oder CompuServe) lohnt es, Automatismen zu benutzen, um Zeit (Geld) zu sparen. Mit Batchdateien kann man (fast) alles machen, z.B.:

- automatisch in Systeme einloggen

- einen (box-spezifischen) Makrosatz oder/und Extensionfile laden

- eine ganze 'Sitzung' voll automatisieren

- eine eigene 'einfach'-Mailbox realisieren

- die Puffer (-inhalte) intelligent verwalten

Eine Batchdatei ist ein sequentielles File mit einer Befehlsliste, die Dialoguefunktionen enthält. Diese Befehle bilden eine eigene 'Sprache', die alles kontrollieren kann, was man auch über die Tastatur machen könnte. Die einzelnen Befehle sind ein oder zwei Zeichen lang und funktionieren vergleichbar BASIC.

Eine Batchdatei wird zur Ausführung mit ALT und 'A' (oder 'Communication' 'Run auto-exec') aufgerufen. Es gibt zwei Arten von auto-execs: das 'auto-dial logon auto-exec', das mit einem Eintrag im Telefonverzeichnis gekoppelt ist, und ausgeführt wird, sobald eine Verbindung zustande kommt. Die andere Art ist jederzeit im Terminalmodus abrufbar. Anderst als das 'auto-dial logon script', kann dieses auto-exec einen 'beliebigen' Dateinamen haben. Wird die auto-exec (Batchdatei) geladen, wird sie sofort auch gestartet, kenntlich durch ein blinkendes 'A' in der Statuszeile. Die Terminalfunktionen sind 'normal', die Batchdatei hält sich im 'Hintergrund'. Den Ablauf der Batchdateien kann man jederzeit mit C= und RUN/STOP ('Communication' 'End auto-execs') abbrechen.

Obwohl der Batch an und für sich 'unsichtbar' abläuft, kann es doch manchmal nötig sein, den Fortgang direkt zu beobachten (besonders, beim erstellen einer neuen Batchdatei). Dazu kann im Batch selbst mit dem l -Befehl (kleines 'L') ein kleines Fenster unterhalb der Statuszeile öffnen bzw. schließen (mehr dazu: s.u.).

Die Erstellung eines Batches ist zweifellos nicht ganz einfach, man muß sich in Dialogue schon sehr gut auskennen, auch BASIC-Kenntnisse sind von Vorteil.

Hast Du eine Idee über das Ziel Deiner Batchdatei entwickelt, gehe in die entsprechende Mailbox und schaue Dich dort um. Achte auf die verschiedenen Prompts, auf die zu antworten ist, und wie Du antwortest. Achte auch darauf, ob jedesmal die gleichen Prompts auftauchen (z.B.: wenn Du persönliche Nachrichten erhalten hast). Da ja die Batchdatei nur tun kann, was Du ihr befiehlst, mußt Du sorgfältig alle Möglichkeiten und Eventualitäten mit einbeziehen.

Im Gegensatz zu den 'auto-dial logons', die automatisch aktiviert werden, sobald man in eine Box einloggt, kann eine Batchdatei einen beliebigen Dateinamen haben, jederzeit aktiviert werden und ist unabhängig von einer Mailbox(-nummer). So kann man vielfältige Funktionsabläufe programmieren, die sich direkt über ALT und 'A' (oder 'Communication' 'Run auto-exec') oder über Makrotasten (s.o.) aufrufen lassen.

Um eine Batchdatei zu erstellen, gehe in den Editor (C= und 'E' oder 'Editor'), lösche den aktuellen Pufferbereich (oder wähle einen leeren), gib die Befehle ein und vergiß nicht (regelmäßig) abzuspeichern.

Zunächst eine Übersicht der Batchbefehle; danach die genaue Beschreibung:

# Laufwerk anwählen

$ String, temporär

; Kommentar(-zeile)

b aus dem Puffer holen

e Ende der Batchdatei

ei endif (Ende wenn . . . )

f Dateiverkettung

g goto (gehe zu)

gf gosub file

gs gosub

if if (wenn . . . )

is if status

l schaltet Statuszeile für Batchaktivität ein bzw. aus (kleines 'L')

on eingehenden Text abfragen

p auf den Bildschirm ausdrucken (anzeigen)

r Rückkehr von einer Unterroutine

s Pause (in Zehntelsekunden)

t senden (transmit)

w warte

wt warte ein Zeit

y Ja/Nein Abfragefenster

A ALT-Befehl (a, erreicht durch C= und 'A')

C C= -Befehl (c, erreicht durch C= und 'C')

<Backslash> nicht darstellbares Zeichen (s.o., Transmit Modification)

Doppelpunkt Trennzeichen, wenn mehrere Befehle in einer Zeile stehen

Strichpunkt folgender Text wird ignoriert (für Kommentare)

Kursivschrift zeigt optionale Information (kann u.U. weggelassen werden)

eckige Klammern < > notwendige Information (eingeben wie beschrieben)

Label # eine Zahl am Zeilenanfang, die als Pointer auf diese Zeile dient

PETSCII-Wert ein Code zwischen 1 und 255; entspricht CHR$(Wert)

Anführungszeichen stehen für einzugebenden Text (z.B. "Text")

Die Batchprogrammierung

Wenn man möchte, kann jede Zeile mit einer Zeilennummer beginnen, es ist aber nicht notwendig. Dialogue betrachtet die Zahlen als Label für den g (goto) und gs (gosub) Befehl, deshalb brauchen sie nur dort zu stehen, wo sie auch als Sprungadresse dienen. Die Zahlen 1 bis 255 sind zugelassen, jede Zahl nur einmal (was von Dialogue nicht überprüft wird). Wie in BASIC können mehrere Befehle in einer Zeile stehen (durch Doppelpunkt(e) getrennt).

Leerzeichen (außer in Anführungszeichen) werden ignoriert. Es ist übersichtlich, Labels in die ersten vier Stellen der leeren Zeilen zu schreiben und den Tabulator auf den eigentlichen Batchtext einzustellen (vier Stellen einrücken).

Beispiel:

1 gs 200

t "dies ist ein Test"

g1

200 s 10: r

Dieses Beispiel würde nach jeweils einer Sekunde den Text "dies ist ein Test" übermitteln. Die volle Beschreibung der restlichen Befehle folgt.

Befehlsbeschreibungen

Befehl: p Titel: Textausgabe auf den (Terminal-) Bildschirm

Syntax: p <"Text"> der Text wird nicht übermittelt (gesendet)

Manchmal möchte man eine Notiz oder einen Hinweis für sich selbst ausgeben, um verfolgen zu können, was gerade passiert. Der "Text" wird an der aktuellen Cursorposition ausgegeben.

Beispiel: p "Es ist keine Mail für Dich angekommen!"

Befehl: t Titel: transmit (sende, übermittle) an Mailbox

Syntax: t <"Text">

Dies dürfte der meistbenutzte Befehl sein. Die Zeichen (oder der CTRL-Code) in Anführungszeichen werden über die RS-232 an die Mailbox übertragen. Im Anhang C findest Du eine Liste gültiger CTRL-Codes.

Mit erreichen des zweiten Anführungszeichens wird automatisch ein Carriage Return (Wagenrücklauf) angehängt, es sei denn, das letzte übermittelte Zeichen davor war ein CTRL-Code. Der Carriage Return (Wagenrücklauf) kann auch manuell mit C= und '+' unterdrückt werden (s.o., Transmit Modification).

Die Übermittlungsgeschwindigkeit kann man im Configuration Fenster über 'Transmit Mode' und 'Transmit Delay' beeinflussen.

Beispiele:

t "Ende" sendet das Wort 'Ende' und ein Carriage Return

t "y <Pfeil-links>" sendet 'y' und kein Carriage Return (Pfeil-links: C= und '+')

t "" sendet nur ein Carriage Return

t $ sendet den temporären String

t "^c" sendet ein CTRL und 'c' und KEIN Carriage Return

Befehl: y Titel: ja/nein-Abfrage

Syntax: y <"Text"> öffnet eine 'requester'-Box

Dieser Befehl baut ein Abfragefenster auf (für Ja/Nein bzw. Yes/No Eingabe); das Batchprogramm wird solange angehalten, bis eine Eingabe stattgefunden hat. Wurde 'Yes' gewählt, wird der Befehl, der noch in der gleichen Zeile steht, abgearbeitet; auf 'No' springt das Batchprogramm in die nächste Zeile.

Beispiel: y "Batchdatei beenden" : e

Der Text in Anführungszeichen erscheint in dem Abfragefenster, das Fragezeichen wird automatisch angehängt. Der Text darf maximal 40 Zeichen lang sein. Auf Eingabe von 'Y' wird der Batch beendet, ansonsten mit der nächsten Zeile fortgefahren.

Befehl: w Titel: warte

Syntax: w <"Text"> wartet, bis ein bestimmtes Ereignis stattfindet

Dialogue wartet solange, bis "Text" über das Modem eingegangen ist, um dann mit dem nächsten Befehl fortzufahren. Das nützt, um z.B. auf ein bestimmtes Prompt zu warten.

Da das Commodore-DOS keinen gleichzeitigen Zugriff auf die RS-232 und den seriellen Port zuläßt, kann man z.B. auch mit dem w-Befehl warten, bis die Mailbox nichts mehr sendet (bei einem Prompt wartet), bevor man aus irgendeinem Grund auf Diskette zugreifen möchte.

Beispiel: w"Deine Eingabe:" wartet bis das Modem "Deine Eingabe:" empfängt

Befehl: g Titel: goto

Syntax: g <Labelnummer> springt zu der angegebenen Labelnummer

Obwohl Zeilennummern nicht am Anfang einer jeden Zeile stehen müssen, werden sie benutzt, um auf bestimmte Stellen des Batches zu zeigen ('Pointer'). Wenn das Programm auf ein goto stößt, sucht es nach vorne und hinten nach der angegebenen Nummer und fährt dort fort. Die Nummern müssen keine spezielle Reihenfolge haben. Wird die angegebene Nummer nicht gefunden erscheint eine Fehlermeldung ('Undefined label number error') und das Programm bricht die Ausführung ab.

Beispiel: 10 p "Test" I schreibt 'Test' auf den Bildschirm und

g 10 I springt zurück zu Zeile 10

Befehl: gs Titel: gosub

Syntax: gs <Labelnummer> ruft eine Subroutine im aktuellen Programm auf

Das Programm springt in die angegebene Zeile und arbeitet das Unterprogramm ('Subroutine') ab, bis es auf einen return-Befehl stößt. Unterprogramme können auch (bis zu 10 Ebenen 'tief') verschachtelt werden. Bei mehr als 10 Ebenen erfolgt die Fehlermeldung 'Out of memory error' und das Programm wird abgebrochen. Bei Verschachtelungen empfiehlt es sich für bessere Übersicht, die Befehle entsprechend einzurücken.

Wird die angegebene Labelnummer nicht gefunden erscheint eine Fehlermeldung ('Undefined label number error') und das Programm bricht die Ausführung ab.

Beispiel: gs 1: e I springe zum Label Nr. 1,

1 p "Test" I gebe "Test" auf den Bildschirm aus,

r I springe zurück (-und beende das Programm)

Befehl: r Titel: springe vom Unterprogramm zurück

Syntax: r und fahre mit der Anweisung nach gosub fort

Dieser Befehl entspricht dem RETURN-Befehl in BASIC. Da Verschachtelungen möglich sind, darauf achten, daß von jedem 'gosub' auch wieder zurückgesprungen wird. Ein r ohne gs ergibt die Fehlermeldung 'r without gs error' und Programmabbruch.

Beispiel: 1 gs 2 I springe zu Label 2, gib dort "Test" aus,

g 1 I springe hierher zurück, dann zu Label 1

2 p "Test" I

r I

Befehl: e Titel: Ende der Batchdatei

Syntax: e (beendet die Programmausführung)

Dieser Befehl beendet die Programmausführung des aktuellen Batches. Sind Batchdateien verschachtelt, springt Dialogue zum aufrufenden Batch zurück. Sind alle Batchdateien beendet, wird das A in der Statuszeile aufhören zu blinken. Gibt es keinen e-Befehl, ist der Batch zu Ende, wenn es keinen Befehl mehr abzuarbeiten gibt . . .

Beispiel: p "auch das ist ein Test" I gibt den Text auf den Bildschirm aus

e I beendet Batch, springt in den Terminalmodus

Befehl: gf Titel: gosub a file

Syntax: gf <Dateiname"> ruft einen anderen Batch als Unterprogramm auf

Dieser Befehl arbeitet wie gs, nur daß das Unterprogramm in einem eigenen File steht. Beim Aufruf wird der entsprechende Batch geladen und ausgeführt. Es kann nur ein Batch als Unterprogramm geöffnet sein. Beim Aufruf eines zweiten Unterprogramms wird das erste geschlossen.

Ein Unterprogramm endet mit der letzten Zeile oder dem e -Befehl; das Programm kehrt zum aufrufenden Batch zurück und arbeitet jenen weiter ab.

Beispiel: gf "Dateiname" lädt "Dateiname" und arbeitet es als Unterprogr. ab

Befehl: f Titel: file chain (Batchdateienverkettung)

Syntax: f <"Dateiname"> beendet akt. Batch und führt dann Dateinname aus

Beispiel: f "Mail" lädt den Batch "Mail" und führt ihn aus

Befehl: s Titel: sleep (Pause)

Syntax: s <1 . . . 255> hält das Programm die angegebene Zeit lang an

Modems oder/und Mailboxen benötigen manchmal etwas Zeit, um z.B. nach Verbindungsaufbau bereit zur Datenübermittlung zu sein (und Dialogue kann sehr schnell sein).

Die Pausenzeiten werden in Zehntelsekunden angegeben (1 bis 255; d.h. 0,1 bis 25,5 Sek.). Längere Zeiten erreicht man durch aneinanderfügen von s -Befehlen, oder mit dem wt -Befehl.

Beispiel: s 10 wartet 10/10 Sekunden (= 1 Sek.)

Befehl: wt Titel: wait for time (warte bis zu angegebener Uhrzeit)

Syntax: wt <"hh:mm:ss a/p"> wartet bis angegebene Zeit erreicht ist

Dieser Befehl bietet zwei Möglichkeiten: einmal zu warten, bis die Zeit in der Statuszeile der Eingabe entspricht; zum anderen längere Pausenzeiten als mit dem s -Befehl zu ermöglichen. Die beiden Möglichkeiten werden über das am-/pm- Flag gesteuert. Ist 'a' oder 'p' (für a.m. oder p.m.; entsprechend Vormittag oder Nachmittag) angegeben, wird Dialogue warten, bis die Uhrzeit entsprechend erreicht ist. Ohne diesen Buchstaben wird Dialogue von der angegebenen Zeit zurückzählen bis '0' (countdown).

Beispiele: wt "12:30:00p" wartet bis 12:30 Nachmittag mit der weiteren Abarbeitung

wt "00:30:00" wartet 30 Minuten mit der weiteren Abarbeitung des Batch

Befehl: ei Titel: endif

Syntax: ei beendet eine if Anweisung (Schleife)

näheres s.u.: if

Befehl: if Titel: if Bedingung

Syntax: if <"Text"> :Befehl prüft eingehende Daten auf "Text"

Der if -Befehl wird in Gruppen von zwei oder mehr Bedingungen eingesetzt, um auf verschiedene eingehende Daten (Text, bzw. Meldungen der Mailbox) zu entsprechend reagieren. Zum Beispiel soll ein Batch unterschiedlich reagieren auf "Du hast Post erhalten" und "Heute leider keine Post für Dich".

Die Gruppe der wenn-Abfragen (if . . . ) bildet eine Schleife, die durch den ei -Befehl beendet wird. Nach jedem if -Befehl folgt der Text, nach dem gesucht wird, ggf. gefolgt von einem Befehl, der abgearbeitet wird, wenn der Text gefunden wurde. Folgt dem Text kein Befehl, springt Dialogue zu dem Befehl, der auf ei folgt.

Achtung! - gib' den 'Suchstring' genau so ein, wie er erwartet wird, sonst wartet Dialogue 'unendlich' (oder solange bis Du RUN/STOP drückst, um die Ausführung des Batches abzubrechen).

Beispiel: if "Du hast Post erhalten": g 1 spring zu Label 1, wenn "Du hast. . ."

if "Heute leider keine Post für Dich" wenn "Heute. . .", dann Befehl nach

ei ei abarbeiten (sende "Ende")

t "Ende"

if "Command: " wenn eine der drei Bedingungen

if "Command> " erfüllt ist, sende "read"

if "Commands: "

ei

t "read"

Befehl: $ Titel: führe temporären String aus

Syntax: von Anwendung abhängig

Unter Verwendung des $ -Befehls ist es möglich, allgemeine Programmteile in der Batchdatei zu belassen und Teile die (oft) zu verändern sind, aus einem String einzulesen. Der String wird sehr ähnlich der BASIC Stringvariablen behandelt.

Möchtest Du z.B. eine größere Gruppe von Dateien downloaden, könntest Du zwar alle Dateinamen in den Batch aufnehmen, aber dann müßtest Du jedesmal die Batchdatei ändern. Ansonsten kann man mit dem Batch die allgemeinen Vorbereitungen für ein download treffen, aber die Dateinamen mit $ aus einer Pufferdatei einlesen.

Der Puffer funktioniert dabei so, wie bei ALT und 'T' und ALT und 'R' beschrieben. ALT und 'R' setzt den Pufferzeiger (Pointer) an den Anfang des aktuellen Puffers zurück; danach kann man den aktiven Pufferbereich wechseln, ohne die $ -Funktion zu beeinflussen. So ist es möglich, eingehenden Text in einem Pufferbereich abzulegen ('Capture Buffer') und aus einem anderen Bereich mit der $ -Funktion Daten zu übermitteln. (siehe 'Transmit Single Line')

Das folgende Beispiel zeigt einen einfachen Weg auf, mehrere Dateien aus einer PC PunterNet Mailbox downzuloaden. Die Dateinamen müssen nacheinander im aktuellen Puffer aufgelistet sein; letztes Wort: Ende

Beispiel: a r setze den Pointer für den $ -Puffer zurück

1 $ = B übertrage Zeile vom Puffer nach $

if $="Ende": e keine neuen Files mehr? - dann Ende des Batch

t "d <Pfeil-links>": t$ sende "load",kein Carriage Return,dann $ (-Puffer)

c d$ File mit einem Namen aus $ downloaden

g 1 gehe zu Label 1 (und nächste Datei downloaden)

Befehl: if$= Titel: if -Schleife mit String

Syntax: if$=<"Text"> :Befehl prüft den temporären String

Werden die vorgegebenen Zeichen am Anfang von $ gefunden, führt Dialogue den Befehl aus, der der if -Bedingung folgt. Ansonsten wird die nächste Befehlszeile des Batch ausgeführt.

Beispiel: $ = B übertrage Zeile vom Puffer nach $

t $ sende (transmit) $

if $="Ende" :e wenn $ mit Ende beginnt, dann Batch beenden

w "Command: " ansonsten warte darauf, daß "Command: " empfangen wird

(Enthält $ z.B. 'TEST-12', dann ist if$="TEST" wahr! if$= benötigt kein ei -Befehl)

Befehl: is Titel: if Status ist gleich

Syntax: is <#> prüft ob ein spez. Dialogue-Status 'wahr' ist

Manchmal muß man sich auch über den Dialogue-Status sicher sein, z.B. ob ein Puffer (schon oder noch) voll ist. Ist die is -Abfrage 'wahr', fährt Dialogue mit dem Befehl in der gleichen Zeile fort, ansonsten mit der nächsten Zeile.

Die Statusnummern für den is -Befehl sind:

1 - Puffer leer

2 - Puffer voll

3 - Ende des Puffers

4 - Carrier detected (besteht Verbindung)

Beispiel: gs 1 beginne Status-Unterroutine

1 is 3: r ist Carrier detected? -wenn ja, return aus Unterroutine

e -wenn nein, Batch beenden. (der Stack wird geleert)

Befehl: ; Titel: Kommentar

Syntax: ; (Text)

Trifft Dialogue auf einen Strichpunkt außerhalb von Anführungszeichen, springt es sofort in die nächste Befehlszeile des Batches. Der ; -Befehl kann zu Beginn einer Zeile stehen, oder nach einem gültigen anderen Befehl. So ist es bequem möglich, den Batchcode zu kommentieren.

Beispiel: gs 20 ; Warteroutine

Befehl: # Titel: voreingestellte Laufwerksadresse ändern

Syntax: # <8 . . . 15>

Beispiel: # 9 alle folgenden Diskzugriffe erfolgen auf Laufwerk 9

Befehl: a Titel: Befehle in Verbindung mit der ALT -Taste

Syntax: a <ALT-Befehlszeichen> ("Text")

Das a wird durch die Tasten C= und 'A' dargestellt und ruft mit dem Befehlszeichen die entsprechende ALT -Tastenfunktion aus dem Terminalmodus auf. So lassen sich im Batch Tastendrücke simulieren. Oft ist noch Text in Anführungszeichen mit anzugeben (wie Dateinamen oder Antworten auf Prompts). Dieser Text wird behandelt, als wäre er über die Tastatur direkt eingegeben worden. Ein Carriage Return wird automatisch angefügt.

Verläßt der ALT -Befehl nicht den Terminalmodus, oder öffnet er keinen Prompt in der Statuszeile, kann der "Text" weggelassen werden, oder er wird einfach ignoriert.

Beispiel: a l "rle.ext" lädt das rle-Extensionsfile und führt es aus

Befehl: c Titel: Befehle in Verbindung mit der C= -Taste

Syntax: c <C= -Befehlszeichen> ("Text")

Das c wird durch die Tasten C= und 'C' dargestellt und ruft mit dem Befehlszeichen die entsprechende C= -Tastenfunktion aus dem Terminalmodus auf. So lassen sich im Batch Tastendrücke simulieren. Oft ist noch Text in Anführungszeichen mit anzugeben (wie Dateinamen oder Antworten auf Prompts). Dieser Text wird behandelt, als wäre er über die Tastatur direkt eingegeben worden. Ein Carriage Return wird automatisch angefügt.

Verläßt der C= -Befehl nicht den Terminalmodus, oder öffnet er keinen Prompt in der Statuszeile, kann der "Text" weggelassen werden, oder er wird einfach ignoriert.

Beispiele: c l "Test" lädt den Capture Buffer mit der Diskdatei "Test"

c s gibt speichere-den-Puffer Befehl und wartet auf Dateinamen

c a "Liste1" öffnet Anwahlnummernfenster, lädt Verzeichnis "Liste1" und

kehrt dann in den Terminalmodus zurück

Anhang A

Die Dialogue Modemdateien

Für den 128'er gibt es die unterschiedlichsten Modems; vom uralt VIC-1600, bis zum intelligenten 2400 Baud MNP. Um so viele Typen wie möglich zu unterstützen, wurden separate Modemdateien geschaffen. Damit ist man auch für zukünftige Entwicklungen noch gut gerüstet.

Während des anlegens der Arbeitsdiskette wird man um Angabe des gewüschten Modemfiles gebeten. Hier eine Aufzählung der Dateien und Hinweise auf kompatible Typen.

Modemfile: 1650.mod für die Modems

Commodore 1650 (Sharedata)

Pocket Modem 300/1200 (Westridge)

Total Telecommunications 64 (Master Modem)

MNP 1064

Einige dieser Modems (1650 und Pocket...) besitzen Schalter, mit denen 'originate mode' (zur Anwahl einer Mailbox), oder 'answer mode' (warten, daß man angewählt wird) einzustellen ist. Dieser Schalter muß vor dem Start von Dialogue unbedingt schon in der erforderlichen Position stehen.

Der C= und 'H' -Befehl schaltet das Modem online bzw. offline. Da dieser Befehl 'soft' kontrolliert wird, ist es möglich, daß nach einem Reset das Modems immer noch 'off hook' ist ('den Hörer abgenommen hat'); deshalb das Modem ausschalten, wenn man Dialogue verläßt.

Modemfile: 1660.mod für die Modems

Commodore 1660 (Hes-II)

Mitey Mo (Volks 6420)

Vom 1660-Modem gibt es zwei Versionen, von denen die ältere (bis ca. 1984) nicht mit Dialogue zusammenarbeitet (es konnte ein 'Carrier detect' -Signal nicht ausgeben).

Der C= und 'H' -Befehl schaltet das Modem online bzw. offline. Da dieser Befehl 'soft' kontrolliert wird, ist es möglich, daß nach einem Reset das Modems immer noch 'off hook' ist ('den Hörer abgenommen hat'); deshalb das Modem ausschalten, wenn man Dialogue verläßt.

Modemfile: 6480.mod für die Modems

Volks 6480 (nicht 6570!)

Aprotek 12c (nicht 1200c!)

Der C= und 'H' -Befehl schaltet das Modem online bzw. offline. Da dieser Befehl 'soft' kontrolliert wird, ist es möglich, daß nach einem Reset das Modems immer noch 'off hook' ist ('den Hörer abgenommen hat'); deshalb das Modem ausschalten, wenn man Dialogue verläßt.

Modemfile: volks12.mod für das Modem

Volksmodem 12

Diese Datei arbeitet mit Volksmodem 12, das über ein Volks-J- oder Volks A-12-Kabel angeschlossen ist (an einer RS-232 Schnittstelle).

Der C= und 'H' -Befehl schaltet das Modem beim A-12 Kabel offline, beim J-Kabel keine Reaktion.

Beide DIP-Schalter auf der Rückseite müssen nach unten stehen.

Modemfile: 1670.mod für die Modems

Commodore 1670 (alte Version mit 3 DIP-Schaltern)

Aprotek 1200c (im 1670 Modus)

Aprotek Minimodem (im 1670 Modus)

Der C= und 'H' -Befehl schaltet das Modem offline (durch den Befehl +++)

Modemfile: 1670n.mod für das Modem

Commodore 1670 (neue Version mit 4 DIP-Schaltern)

Der C= und 'H' -Befehl schaltet das Modem offline (durch trennen des DTR).

Modemfile: hayes.mod für die Modems

alle Hayes 300/1200/2400 Modems Supramodem 1200/2400

alle US Robotics Password/Courier Anchor 1200E/2400E

alle GVC 1200/2400 Easydata 1200/2400

alle Smarteam 1200/2400 Anchor Signalman 1200

Aprotek 1200 (im Hayes Modus) alle Avatex 1200/1200c/1200e/2400hc

Aprotek Minimodem (im Hayes Modus)

Der C= und 'H' -Befehl wird DTR kurz unterbrechen und dann die Verbindung beenden.

Obwohl viele Hayes-kompatible Modems den AT Befehlssatz unterstützen, gibt es doch Unterschiede in den DIP-Schaltern; die meisten haben 8 davon. Für Dialogue sollten die Schalter 1 und 6 nach oben gestellt sein. Dadurch wird ein echter hardware 'Carrier detect' zur Verfügung gestellt und der wahre Status der DTR-line akzeptiert. (Nähere Details sind der Modemanleitung zu entnehmen.)

Modemfile: mnp.mod für die Modems

ATI u.s.w.

GVC 2400 MNP/5

Practical Peripherals PM2400SA MNP/5

Supramodem 2400 Plus

Der C= und 'H' -Befehl wird DTR kurz unterbrechen und dann die Verbindung beenden.

Für volle Unterstützung des MNP/5 benötigt man eine RS-232 Schnittstelle, die CTS, RTS, TxD, RxD und DCD zur Verfügung stellt; das Peak Peripherals RS-232 Interface, oder der Aprotek Com-Modem Adapter sind ungeeignet. Swiftlink oder Aptotek full RS-232 sind o.k.

Die MNP Modems werden für gewöhnlich als einfache Hayes-kompatible 2400 Baud Modems voreingestellt; um aber den vollen Nutzen aus dem Modem zu ziehen, sind erst verschiedene Modi zu aktivieren. Eine allgemeine Anleitung dafür kann hier nicht gegeben werden, da die einzelnen Modems in diesem Punkt doch recht unterschiedlich sind. Du solltest folgende Punkte in der Modemanleitung nachschlagen:

MNP aktivieren ('negotiation'). Normalerweise kommt das Modem so konfiguriert, daß es nur als einfaches 2400 Baud-Modem einloggt. Um den Vorteil der Fehlerkorrektur und MNP zu nutzen, müssen sie 'ein' gesetzt werden; bevorzugt mit automatischer MNP Erkennung, dann kann gleichermaßen und ohne weiteren Aufwand sowohl MNP, als auch nicht-MNP 'gefahren' werden.

Baudrate einstellen. Früher war es üblich, daß das Terminal mit dem Modem in der gleichen Geschwindigkeit (DCE/DTE -Rate) kommuniziert, wie die beiden Modems untereinander (DCE/DCE -Rate). Mit MNP können diese Geschwindigkeiten unterschiedlich sein (besonders bei MNP/5). Eine automatische DCE/DTE Baudratenanpassung sollte 'aus' sein.

Flow control. Da das Modem Daten vom Terminal schneller erhalten kann, als aus der Telefonleitung, ist es manchmal notwendig, das senden des Modems kurz anzuhalten; das geht am besten mit der RS-232 CTS-Line. Mit der RTS-Line kann Dialogue die Übertragung vom Modem zum Terminal stoppen.

Also, CTS/RTS auch am Modem aktivieren (das kann ein kombinierter Befehl sein, oder auch zwei einzelne).

Datenkompression. Durch spezielle Techniken kann ein MNP5 Modem über eine 2400 Baud Verbindung bis zu 4800 Baud übertragen. Um ein MNP5 in den Kompressionsmodus zu schalten, das Terminal auf 4800 Baud einstellen (natürlich muß die Mailbox auch MNP5-fähig sein).

Alle Modemeinstellungen sollten in den nichtflüchtigen Speicher des Modems geschrieben sein, damit sie beim nächsten Mal sofort wieder zur Verfügung stehen.

Wenn Dein Modem bisher nicht aufgelistet war,

suche auf der Modemverpackung oder in der Bedienungsanleitung nach den Worten 'Hayes kompatibel' und benutze hayes.mod. Findest Du '1670 kompatibel' versuche es mit 1670.mod .

Modems, die direkt (also ohne Interface) an den 128'er gesteckt werden, sind wahrscheinlich 1650 oder 1660 kompatibel (300 Baud) oder 1670 kompatibel (1200 Baud).

Ältere Modems (z.B. akustisch gekoppelte, oder Commodore VIC Modem 1600) unterstützen keine automatische Anwahl. Für diese 'dummen' Modems müssen alle Befehle von Hand eingegeben werden; siehe Modemanleitung.

Anhang B

Dialogue Extension Files (Erweiterungsmodule)

Selbst mit einem 128 KByte Computer ist es nicht möglich, unzählige Befehle zu programmieren, besonders, wenn schon etwa 90 KByte RAM für die Dialogue Puffer freigehalten werden. Es gibt zweierlei Erweiterungsmodule: einmal jene, die die Kontrolle über Dialogue übernehmen und wie ein eigenes Programm wirken, während man immer noch online ist. Die anderen fügen Dialogue-intern neue Eigenschaften hinzu.

Erweiterungsmodule werden über ALT und 'L' (oder 'Load extensions' aus den Menüs) geladen. Benötigst Du ein Erweiterungsmodul regelmäßig, kannst Du es als Default (Voreinstellung) definieren (s. Configuration).

Auf der Dialogue Programmdiskette findest Du (vorerst) 5 Erweiterungsmodule. Der Zeichensatzeditor und der Übersetzungstabelleneditor lassen sich nicht im Onlinebetrieb benutzen, das Dvorakmodul bettet sich in den Dialogue-Code ein. Weitere Module sind für die Zukunft geplant. Derzeit sind beigefügt:

trans.ext Editor für die Übersetzungstabellen (ASCII, PETSCII, . . . )

chredit.ext Editor für den Zeichensatz

dvorak.ext Tastaturbelegung auf 'Dvorak' ändern

rle.ext online RLE Decoder (für CompuServe)

copy.ext Kopierutility für zwei Laufwerke

Dateiname: dvorak.ext Zweck: stellt 'Dvorak' Tastaturbelegung ein

Die Tastaturbelegung wird von Standard ("qwerty") auf (vereinfachtes) Dvorak geändert. 'qwerty' wurde 1872 von C.L.Sholes entwickelt. August Dvorak entwickelte in den frühen 1930'er Jahren ein neues Layout, mit dem Ziel, Geschwindigkeit und Bewegungsabläufe zu optimieren und Tippfehler sowie schnelle Ermüdung zu reduzieren.

Die Tastaturbelegung ist dem englischen Originaltext zu entnehmen (Seite 57). Diese Belegung bleibt solange aktiv, bis ein anderes Erweiterungsmodul geladen wird.

Dateiname: trans.ext Zweck: Editor für die Übersetzungstabellen

Mit trans.ext lassen sich auch unübliche Datenformate (z.B. ATASCII) übersetzen und in Dialogue handhaben; oder z.B. bestimmte Control-Befehle anderen Tasten zuordnen.

Diese Übersetzungstabelle ist genau 512 Bytes lang, die ersten 256 Bytes für eine Übersetzung zum senden, die zweiten für Empfang. Dialogue benutzt in allen Emulationen (außer CBM) diese Tabelle. Bei Übertragungen mit 'Protokoll' wird ebenfalls nicht übersetzt.

Soll ein Zeichen übersetzt werden, dient dessen Bytewert (0 bis 255) als Zähler ab Beginn der Tabelle. Der Wert, der dort steht, ist die 'Übersetzung'.

Standardmäßig lädt Dialogue die Tabelle für die Übersetzung von ASCII nach PETSCII und umgekehrt (läßt sich in 'Configure' ändern).

Übersetzungstafeln auf Diskette erkennt man an der Endung .trn .

Es stehen folgende Befehle im Editor zur Verfügung:

RUN/STOP Abbruch zum Terminalmodus hin

RETURN scrollt aufsteigend durch die Bytewerte (mit SHIFT abwärts)

LEERTASTE scrollt aufsteigend durch die Bytewerte (mit SHIFT abwärts)

CRSR-Tasten bewegen den Cursorbalken

(A)SCII toggle schaltet zwischen 'ASCII nach PETSCII' bzw. 'PETSCII nach ASCII' Übers. um

(P)age toggle schaltet auf die andere Bildschirmseite ('0 bis 127' bzw. '128 bis 255')

(D)ump table überträgt Tabelle vom Editor in den aktiven Bereich von Dialogue

(L)oad table lädt Übersetzungstabelle von der Diskette

(S)ave table speichert Übersetzungstabelle auf die Diskette

Alle obigen Befehle lassen sich auch über die Menüs/Mauszeiger aufrufen.

Dateiname: chredit.ext Zweck: Zeichensatzeditor

CHREDIT ist ein ausgewachsenener Editor für Zeichensätze; mit ihm lassen sich bestehende Zeichensätze ändern, oder neue anlegen. Diese Zeichensätze können dann in Dialogue, aber auch in eigenen Applikationen Anwendung finden.

Der Zeichensatzeditor ändert nicht automatisch den aktuell geladenen Zeichensatz. Einen neuen Zeichensatz kann man entweder (temporär) über den Dump-Befehl anzeigen lassen, oder (dauerhaft) im Configure einstellen.

Die Befehle im Zeichensatzeditor:

RUN/STOP Zeichensatzeditor verlassen, Rückkehr in den Terminalmodus

HOME setzt den linken Cursor nach links-oben im Editierfenster

SHIFT und CLR setzt den rechten und linken Cursor nach links-oben

CRSR-Tasten -obere Reihe, bewegen linken Cursor (Editierfenster)

CRSR-Tasten -unten rechts, bewegen rechten Cursor (Zeichen zum editieren wählen)

RETURN schaltet das Bit unter dem Cursor 'ein' bzw. 'aus'

(B)uffer character kopiert das aktuelle Zeichen in den Kopierpuffer

(C)opy character kopiert Zeichen aus dem Puffer

(D)ump set kopiert die aktuelle Einstellung in den 80-Zeichen Bildschirm (temporär)

(E)rase def löscht die aktuelle Zeichendefinition

(L)oad defs lädt einen Zeichensatz (öffnet dazu einen Prompt)

(R)everse chr invertiert das aktuelle Zeichen

(S)ave defs speichert aktuellen Zeichensatz (öffnet dazu einen Prompt)

Alle obigen Befehle lassen sich auch über die Menüs/Mauszeiger aufrufen. Alle normalen Funktionen des Dialogue sind hier nicht ansprechbar. Beim verlassen des Editors bleibt dieser im Speicher, bis ein Reset durchgeführt, oder ein anderes .EXT File geladen wird. Der Editor läßt sich aus Dialogue mit ALT und 'L' und RETURN am Filenamenprompt reaktivieren.

Dateiname: rle.ext Zweck: Anzeige der CompuServe Grafik (online)

Mit diesem Tool kann im online-Betrieb RLE-Grafik (Run Lenght Encoded) angezeigt und darüberhinaus im Doodleformat abgespeichert werden. RLE wird über ALT und 'L' bzw. 'Load extension' aus dem 'Dialogue' Menü aufgerufen (am Prompt rle und RETURN eingeben). Daraufhin blinkt 'RLE enabled' in der Statuszeile.

Das Terminal wird 'normal' arbeiten, bis es auf RLE-Grafiken (z.B. in den Bereichen 'go qpics', 'go gallery', 'go cbmart' oder 'go bwmaps' (Wetterkarten)) stößt. Erhält Dialogue den ESC-Code für den Beginn einer RLE Session, wird der Bildschirm gelöscht und schwarz, das Bild baut sich auf. Mit den üblichen CompuServe Befehlen (CTRL-O oder CTRL-P) läßt sich der Vorgang abbrechen (anschließend RETURN drücken).

Ist die Grafik vollständig, wird ein Klingelzeichen gegeben und ein Prompt frägt, ob sie auf Diskette gespeichert werden soll. Das abgespeicherte Doodleformat läßt sich mit vielen Tools anzeigen, verändern, konvertieren, . . . (im CBMART-Forum könntest Du hierfür Unterstützung finden).

Nach dem abspeichern (oder auch nicht) wird der Bildschirm erneut gelöscht und die 'normalen' Terminalfarben und -einstellungen kehren zurück.

Dateiname: copy.ext Zweck: Filekopier für zwei Laufwerke u. RAMDOS

Dieses Utility ist besonders geeignet, Dateien von oder auf eine RAM-Disk unter RAMDOS zu kopieren.

Aufruf mit ALT und 'L' oder 'Load extension'. Das Utility wird prompten: 'Source Drive:' und erwartet die Geräteadresse des Quell-Laufwerkes (8 bis 30). RETURN ohne Eingabe bricht den Vorgang ab. Das nächste Prompt 'Destination Drive:' ist für das Ziellaufwerk, dessen Adresse vom Source Drive unterschiedlich sein muß. Bei 'Directory pattern' wird ein Suchmuster eingegeben, Wildcarts ('*' oder '?') sind -wie beim Directorybefehl- erlaubt. 'Selecting files:' (hier sollte sich die Zieldiskette schon im Laufwerk befinden) jetzt beginnt der Dateiauswahlprozeß. In der Statuszeile erscheint 'Copy file?' und nacheinander alle Dateien, die dem Suchmuster entsprechen. Jede Datei wird mit 'Y' für 'kopieren' oder 'N' für 'übergehen' gewählt.

Mit ESC beginnt der Kopiervorgang. RUN/STOP bricht den Kopiervorgang ab.

Anhang C

Controlcodes

Diese Codes werden erreicht, indem die CTRL-Taste gedrückt und gehalten und die zweite Taste kurz gedrückt wird. Manche Boxen können hiervon abweichen (siehe dort).

Taste Code Wert Name Bedeutung (ASCII-Definition)

2 InstallESC/P2_GC 2 KB Application InstESC/P2 V1.0 SEQ 1998-05-11 19:21 Roy Bachmann .cvt
Dient zum Anpassen der Seitenlänge des Druckertreibers ESC/P2_GC an Ihren Drucker.
3 InitESC/P2_GC 5 KB Auto-Exec InitESC/P2 V1.2 SEQ 1998-05-10 14:41 Roy Bachmann .cvt
14 <- RAM-Bank (00-31)
Reserviert RAM-Bank für den Druckertreiber ESC/P2_GC.
4 ESC/P2_GC 1 KB Printer Drv ESC/P2_GC V1.2 SEQ 1998-05-10 14:17 Roy Bachmann .cvt
Paralleler Farb-Treiber ohne Interpolation für ESC/P2-Drucker.
Vorher InitESC/P2_GC starten !!!
5 ESC/P2-Anleitung 15 KB App Data Write Image V2.1 VLIR 1998-05-11 20:05 .cvt .html
Anleitung zum Druckertreiber ESC/P2_GC.
Geschrieben von Roy Bachmann.

Anleitung zum Farbdrucker-

Treiber ESC/P2_GC V1.2

V. Vorwort

Der vorliegende Druckertreiber ist Shareware. Das bedeuted, daß ich bei Gefallen des Treibers nichts gegen eine kleine Spende für meine Arbeit einzuwenden habe. Dies bedeuted aber auch, daß der Treiber nicht erheblich verändert und unter anderem Namen weitergegeben werden darf. Wenn natürlich jemand einen gefundenen Fehler u.ä. behebt, habe ich nichts dagegen einzuwenden. In diesem Falle würde ich mich allerdings freuen, wenn ich von der Veränderung unterrichtet werde, damit ich neuere Versionen darauf aufbauen kann.

1. Voraussetzungen

Der Druckertreiber arbeitet nur mit ESC/P2-Druckern zusammen, da er zum Grafikdruck den Rastergrafik-Befehl benutzt. Folgende Epson-Drucker sollten hierbei beispielsweise funktionieren:

LQ-100 LQ-570 LQ-570+ LQ-1070 LQ-1070+

LQ-870 LQ-1170 SQ-870 SQ-1170

Weiterhin können auch alle Epson Stylus-Drucker benutzt werden, im Grafikmodus auch die Windows-Drucker wie Stylus Color 300 und 400.

Weiterhin ist für den vorliegenden Druckertreiber ein Userport-Anschluß notwendig. Wenn dies gewünscht wird, wird auch ein serieller Treiber folgen.

Der Treiber arbeitet im GEOS 64 und im GEOS 128, dabei auch im 80-Zeichenschirm.

Da der Treiber sehr umfangreich ist, wird für seine Installation eine RAM-Bank in der Speichererweiterung benötigt.

2. Installation

Zuerst sollten Sie sich die 3 Dateien ESC/P2_GC, InitESC/P2_GC und InstallESC/P2_GC auf eine Arbeitsdiskette bzw. auf die RAM-Disk kopieren.

Um nun den Treiber ESC/P2_GC nutzen zu können, müssen Sie mit der selbststartenden Datei InitESC/P2_GC eine RAM-Bank reservieren. Da im GateWay-System genau abgelegt wird, welche RAM-Bank schon benutzt ist, kann eine freie RAM-Bank für den Druckertreiber von der Init-Datei gesucht werden. Deshalb sind hier keine weiteren Einstellungen nötig.

Arbeiten Sie hingegen im normalen GEOS-System, so müssen Sie im Infotext der Datei InitESC/P2_GC angeben, welche RAM-Bank frei ist. Dazu müssen Sie in den ersten beiden Zeichen des Infotextes eine (unbedingt zweistellige) Zahl zwischen 00 und 31 eingeben. Hierbei müssen Sie aber einiges beachten, um nicht wichtige Daten zu überschreiben:

Bank 0 wird vom GEOS-System benutzt und kann deshalb für den Treiber nicht verwendet werden. Ab Bank 1 beginnen die eventuell installierten RAM-Disk-Treiber. Hier soll kurz eine Aufstellung gegeben werden, wieviele Bänke von den Laufwerken benötigt werden:

RAM 1541 3

RAM 1541 schattiert 3

RAM 1571 6

RAM 1581 13

RAM 1581 schattiert 1

Um nun den Druckertreiber benutzen zu können, müssen Sie jetzt die Initdatei starten. Anschließend sehen Sie in einer Dialogbox, in welcher RAM-Bank sich der Treiber eingenistet hat. Wurde im GateWay-System keine freie Bank gefunden oder haben Sie im normalen GEOS-System keine gültige Nummer zwischen 00 und 31 in den Infoblock eingetragen, so erscheint eine Fehlermeldung.

Nun sollten Sie den Druckertreiber selbst installieren. Die Seitenlänge des Treiber ist standardmäßig auf 64 Zeilen bzw. 97 Card-Reihen pro Seite eingestellt. Allerdings muß diese Länge nicht mit der Seitenlänge Ihres Drucker übereinstimen. Beim Epson Stylus 800 z.B. beträgt der Wert 97, beim Stylus Color 96 und beim Stylus Color 850 98. Aus diesem Grund gibt es das Installationsprogramm für den Druckertreiber.

Sie sollten also nun das Programm von der Arbeitsdiskette, auf der sich auch der Druckertreiber befindet, starten. In einer Dialogbox werden Sie gefragt, ob Ihr Drucker bereit ist. Mit 'Abbruch' können Sie die Installation abbrechen. Nach dem Klick auf 'OK' erscheint nun die Auswahlbox, die vom Treiber zur Verfügung gestellt wird. Da später noch darauf eingegangen wird, sollten Sie diese mit dem 'OK'-Icon quittieren. Nun sollte Ihr Drucker ein Blatt einziehen und die Zeilen, die auf diese Seite passen, durchnummerieren. Dabei wird von 1 bis 149 gezählt. Nun werden Sie in einer Dialogbox gefragt, welches die letzte Zeilennummer auf der ersten Seite des Ausdruckes ist (diese Zahl sollte normalerweise knapp unter 100 liegen). Nach einem Druck auf RETURN wird diese Zahl in den Druckertreiber auf Disk eingetragen. Beim C=128 wird die Zahl zusätzlich auch, dort, wo der Druckertreiber liegt, im Speicher abgelegt.

Nun können Sie sich die Dateien InitESC/P2_GC und ESC/P2_GC auf die Bootdiskette kopieren. Beim C=64 sollten Sie den Treiber auch noch auf Ihre Arbeitsdisketten kopieren.

Hinweis: Sie können natürlich auch beliebig zwischen verschiedenen Druckertreibern wechseln, ohne für den ESC/P2-Treiber wieder die Init-Datei starten zu müssen.

Achtung: Sie dürfen auf keinen Fall den Druckertreiber installieren, ohne InitESC/P2 gestartet zu haben, da sonst wichtige Teile des Druckertreiber fehlen und es zum Absturz kommt. Deshalb müssen Sie die Init-Datei auch nach einem ReBoot neu starten.

3. Die Einstellungen vor dem Ausdruck

Wenn Sie nun etwas drucken wollen, erscheint zuerst eine Dialogbox, in der Sie einige Einstellungen tätigen können:

Durch das Kästchen vor Seitenvorschub können Sie den Vorschub am Ende einer Seite an- und abschalten.

Die folgenden Einstellungen haben nur auf den Grafik-Druck eine Auswirkung:

Durch das Einschalten von Micro-Weave wird der Ausdruck erheblich verbessert, da hierbei der Drucker eine Zeile in mehreren Durchgängen druckt, wodurch eine Streifenbildung vermieden wird. Diese Einstellung ist allerings erst ab den Farbtintenstrahldruckern vorhanden. Bei älteren Druckern bleibt diese Option ohne Funktion.

Mit dem Kästchen vor Dichte in dpi können Sie die Auflösung auf 180x180 dpi, 360x360 dpi oder 720x720 dpi einstellen. Da der 720 dpi-Druck auch erst ab den Farbtintenstrahldruckern integriert ist, darf diese Auflösung bei älteren Druckern nicht eingestellt werden.

Bei Vergrößerung X und Vergrößerung Y können Sie die horizontale und die vertikale Vergrößerung je eines Punktes einstellen. Durch das Verändern der Auflösung (siehe voriger Punkt) wird die Vergrößerung jeweils wieder auf den Standardwert eingestellt. Bei einer Dichte von 180 dpi kann die Vergrößerung in 0.25-Schritten (horizontal bis 2.25, vertikal bis 2.5), bei 360 bpi in 0.5-Schritten (horizontal bis 4.5, vertikal bis 5) und bei 720 dpi in 1-Schritten (horizontal bis 9, vertikal bis 10) eingestellt werden. Durch den maximalen Wert wird in Originalgröße gedruckt, wodurch z.B. die Zoll-Angaben in geoPublish dann mit dem Ausdruck übereinstimmen. Wenn Sie jedoch in geoPaint die cm-Angaben zum Erstellen des Dokumentes benutzt haben und eine korrekten Ausdruck wollen, müssen Sie bei der Y-Vergrößerung den nächstkleineren vor dem Maximalwert einstellen (also 2.25, 4.5 oder 9), da geoPaint die cm-Angaben anders ausrechnet als geoPublish seine Zoll-Angaben.

Mit dem Kästchen vor Farbe können Sie auswählen, ob der Ausdruck von Grafiken farbig erscheinen soll. Dabei sollten C=128-Benutzer darauf achten, daß geoPaint 128 nur im 40-Zeichenschirm farbig drucken kann. Um den Ausdruck zu beschleunigen, sollten Sie also besser auf geoCanvas 128 ausweichen.

Durch VDC-Farben können Sie auswählen, ob der Ausdruck anhand der VDC- oder anhand der VIC-Farben berechnet werden soll. Aus folgender Tabelle können Sie entnehmen, wann Sie die Option einschalten sollten. Mit geoPaint ist hierbei geoPaint 64 oder geoPaint 128 im 40-Zeichenschirm gemeint. Statt geoPaint kann natürlich auch geoCanvas 64 benutzt werden.

Dokument VDC->VIC im VDC-Farben

Programm erstellt mit geoCanvas im Treiber

geoPaint geoPaint / aus

geoPaint geoCanvas 128 / ein

geoCanvas 128 geoPaint aus aus

ein ein

geoCanvas 128 geoCanvas 128 ein aus

aus ein

Durch 'OK' wird letztlich der Ausdruck gestartet.

Wenn Sie sich im geoWrite befinden, können Sie durch das Icon 'PrintText' das Druckprogramm PrintText starten.

4. Der Ausdruck

Wenn Sie vergessen haben, den Drucker anzuschließen oder einzuschalten, können Sie durch Druck auf den rechten Mausknopf den Ausdruck abbrechen.

Beim Ausdruck einer Grafik wird keine Interpolation verwendet. Eventuell wird dies aber später noch eingebaut werden.

Beim farbigen Ausdruck werden nur 7 Farben (magenta, zyan, violett, gelb, rot, grün und schwarz) verwendet. Wenn Sie weißes Papier verwenden, kann auch die 8. Farbe weiß realisiert werden. Da die geoPaint-Bilder aber 16 Farben besitzen, können nicht alle Farben ausgedruckt werden. In folgender Tabelle sehen Sie die Farbverteilung beim Ausdruck:

VIC-Farbe Ausdruck VDC-Farbe Ausdruck

schwarz schwarz schwarz schwarz

weiß weiß dunkelgrau schwarz

rot rot blau violett

zyan zyan hellblau violett

violett magenta grün grün

grün grün hellgrün grün

blau violett zyan zyan

gelb gelb hellzyan zyan

orange hellrot rot rot

braun gelb hellrot rot

hellrot rot lila magenta

dunkelgrau schwarz violett magenta

mittelgrau schwarz braun gelb

hellgrün grün gelb gelb

hellblau violett hellgrau weiß

hellgrau weiß weiß weiß

Eventuell werden in einem späteren Treiber die verbleibenden 8 Farben gemischt, so daß ein farbrichtiger Ausdruck entsteht.

5. TextPrint

Aufgrund der ESC/P2-Befehle und der Programmierung von TextPrint war es nicht einfach, den Druckertreiber vollständig anzupassen, da nach erfolgtem Grafik- und anschließendem Textdruck ein Drucker-Reset gesendet werden muß. Aus diesem Grund ist es möglich, daß der Ausdruck vor und hinter Grafiken nicht korrekt erfolgt.

6. PrintText

Bei PrintText-Versionen vor V2.1 tritt dasselbe Problem auf, wie es bei TextPrint in Kapitel 5 beschrieben wurde. Ab Version V2.1 sollte PrintText auf jeden Fall korrekt mit dem ESC/P2-Treiber zusammen laufen. Ab dieser Version werden sogar Farb-Grafiken farbig ausgedruckt, wodurch ein spezielles Einfärben einer Grafik durch SetWriteColors natürlich nicht mehr möglich ist.

7. Spezielle Hinweise

Für diesen Druckertreiber muß im Speicher dauerhaft abgelegt werden, in welcher Bank sich der Druckertreiber befindet. Dazu wird die eigentlich unbenutzte Speicherstelle $bfff benutzt. In dieser steht die Nummer der benutzten RAM-Bank ($00-$1f). Eine $80 bedeutet, daß keine RAM-Bank für den Treiber vorhanden ist. Es könnte natürlich möglich sein, daß diese Speicherstelle auch von anderen Programmen benutzt wird, wodurch es zum Absturz kommen kann. Deshalb ist der Autor über jeden Hinweis, der dieses Problem betrifft, dankbar, damit die Benutzer des Druckertreibers über Programme, die Probleme bereiten, unterrichtet werden können.

Weiterhin wäre es vielleicht für Programmierer wichtig, zu wissen, daß der Druckertreiber, genau wie die HQ V3.1-Treiber, eine neue Routine (von mir PrintFCodes genannt) an der Adresse $7918 besitzt, welche denselben Zweck erfüllt, wie PrintASCII, mit der Ausnahme, daß der String nicht mit einem NULL-Byte enden muß und deshalb in r2 anzugeben ist, wie lang die auszugebende Zeichenkette ist.

8. Fehlermeldungen

8.1 In InitESC/P2

Wenn Sie im GateWay-System arbeiten und keine RAM-Bank frei ist, erscheint eine Fehlermeldung.

Wenn Sie im normalen GEOS-System arbeiten, erscheint eine Fehlermeldung, wenn die ersten zwei Zeichen im Infotext des Infoblockes keine Ziffern sind.

8.2 In InstallESC/P2

Wenn der Drucker nicht ansprechbar ist oder der Druckertreiber nicht auf der Startdiskette gefunden wird, so erscheint eine Fehlermeldung. Es erscheint auch eine Fehlermeldung, wenn nicht der ESC/P2-Treiber bzw. ein HQ-Treiber ab V3.1 installiert ist.

8.3 Beim Drucken

Wenn von der Applikation, mit der Sie drucken, eine Fehlermeldung erscheint oder einfach nichts gedruckt wird, so konnte entweder der Drucker nicht angesprochen werden, Sie haben den Ausdruck mit der rechten Maustaste abgebrochen oder die Init-Datei konnte keine freie RAM-Bank finden.

9. Adresse

Anleitung zum Druckertreiber ESC/P2_GC

6 Briefkopf-RB 4 KB App Data Paint Image V1.1 VLIR 1998-05-05 18:01 .cvt .png
7 .info_dd 1 KB System DD_Data V1.5 SEQ 1998-06-06 06:45 .cvt

7 file(s), 151 KB

geos-app_etikett-label-printing.d2m — “etikett” id:hd [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 actnws2a.d64 171 KB Non-GEOS SEQ .seq
2 actnws2b.d64 171 KB Non-GEOS SEQ .seq
3 GeoConvert D98f 15 KB Application GeoConvert D98.f SEQ 1999-04-25 20:19 M. Kanet .cvt
Konvertiert GEOS nach SEQ, unterstützt Dateien mit max. 16Mb Größe!
4 actnws3a.d64 171 KB Non-GEOS SEQ .seq
5 PaintView IIa 5 KB Application Paint View V2.0 SEQ 1988-05-05 13:53 Red Storm .cvt
View geoPaint files from outside geoPaint.
From Storm Systems.
6 DeskSwap 2 KB Auto-Exec DeskSwap GE V1.1 SEQ 1993-05-25 21:37 Jürgen Eckel .cvt
7 QuickMove64 7 KB Application Part Aid V1.4 SEQ 1990-09-24 09:27 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying
8 WriteView 3 KB Application QuickView V1.0 SEQ 1988-02-17 21:09 BSC TechUnit .cvt
Dump Write files to screen.Patched to work with geoWrite 2.X.
9 Treiberwahl 3 KB Desk Acc Treiberwahl V1.0 SEQ 1992-11-02 22:09 Jürgen Eckel .cvt
10 FontView 4 KB Application FontView V1.0 SEQ 1988-12-07 01:48 Christopher Flynn .cvt
FontView will view font files to the screen. Use +,- icons to change point size.
11 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1988-10-11 17:02 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
12 DESK_TOP 35 KB Application TopDesk V1.2 VLIR 1995-02-22 14:44 DPT KnCiGo .cvt
13 Röhrenh 4 KB App Data Etikett.Dat V2.3 VLIR 1998-08-06 16:33 .cvt
14 HQ24 low Eps GC 2 KB Printer Drv Driver V3.11 SEQ 1992-12-07 23:15 Thilo Herrmann .cvt
High-End Printer Driver V3.1.
(C) 1990-92 Thilo Herrmann.
V3.11 1995 von Ronny Bachmann.
15 HQ24 med EpN GC 2 KB Printer Drv Driver V2.7 SEQ 1991-09-27 20:00 Herrmann/Marten .cvt
High-End Printer Driver.
(C) 1991 Thilo Herrmann.
16 Etikett.FON 26 KB System Etikett.FON V2.1 VLIR 1993-06-06 07:02 .cvt
17 Etiketten 11 KB App Data photo album V2.1 VLIR 1993-08-12 18:23 .cvt .png
18 PC-Sch 4 KB App Data Etikett.Dat V2.3 VLIR 1998-08-06 15:57 .cvt
19 Video 5 KB App Data Etikett.Dat V2.3 VLIR 1993-06-09 17:09 .cvt
20 Adressen 7 KB App Data Etikett.Dat V2.3 VLIR 1993-06-12 18:55 .cvt
21 Omas Tips 6 KB App Data Etikett.Dat V2.3 VLIR 1993-05-29 05:55 .cvt
22 Nummer 5 KB App Data Etikett.Dat V2.3 VLIR 1993-06-12 19:37 .cvt
23 Disk 5 KB App Data Etikett.Dat V2.3 VLIR 1993-08-12 18:19 .cvt
24 TEST FONT 6 KB App Data Etikett.Dat V2.3 VLIR 1994-02-27 23:00 .cvt
25 Font Test 6 KB App Data Etikett.Dat V2.3 VLIR 1993-06-06 07:37 .cvt
26 Photo Scrap 1 KB System Photo Scrap V1.1 SEQ 1993-08-08 08:56 .cvt
27 Etikett-5.25 8 KB Application Disk.EtikettV2.0 SEQ 1994-02-27 01:00 B.Weihrauch .cvt
12 cm breit, Linker Rand 5,
Abstand 12 - 1/2 Zeile,
Abst. zw. 30+31
28 Etikett-3.5 8 KB Application Disk.EtikettV2.0 SEQ 1994-02-27 01:00 B.Weihrauch .cvt
29 FontKopier.APP 5 KB Application EtikettKop. V2.2 SEQ 1994-03-05 09:50 B.Weihrauch .cvt
Kopieren von Fonts nach
Etikett.FON
30 Etikett.APP 18 KB Application Etikett.APP V2.6 SEQ 1997-03-16 11:32 B.Weihrauch .cvt
31 photo manager 6 KB Desk Acc Photo Mgr V1.0 SEQ 1986-04-07 12:00 Chris Hawley .cvt
Save photo images in a photo album for later use in geoWrite or geoPaint.
32 Foto-Manager 11 KB Desk Acc Photo Mgr V2.1 SEQ 1988-09-21 17:30 Chris Hawley .cvt
Verwaltet Ausschnitte aus Grafiken für spätere Verwendung.

32 file(s), 750 KB

geos-app_games-1-thru-4.d2m — “geospiele1-4” id:ca [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 WriteView 3 KB Application QuickView V1.0 SEQ 1988-02-17 21:09 BSC TechUnit .cvt
Dump Write files to screen.Patched to work with geoWrite 2.X.
2 FontView 4 KB Application FontView V1.0 SEQ 1988-12-07 01:48 Christopher Flynn .cvt
FontView will view font files to the screen. Use +,- icons to change point size.
3 PaintView IIa 5 KB Application Paint View V2.0 SEQ 1988-05-05 13:53 Red Storm .cvt
View geoPaint files from outside geoPaint.
From Storm Systems.
4 MiniDesk 6 KB Desk Acc MiniDeskTop V1.0 SEQ 1990-08-09 15:11 Jim Collette .cvt
Copy, Scratch, and Rename files.
Copyright (C) 1990, Jim Collette.
5 Wecker 4 KB Desk Acc Alarm clock V1.0 SEQ 1986-09-03 12:00 David Durran .cvt
Stellen Sie den Wecker, um zeitbewußt zu sein.
6 DeskSwap 2 KB Auto-Exec DeskSwap GE V1.1 SEQ 1993-05-25 21:37 Jürgen Eckel .cvt
7 QuickMove64 7 KB Application Part Aid V1.4 SEQ 1990-09-24 09:27 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying
8 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
9 GeoDex 21 KB Desk Acc geoDex V2.0 SEQ 1988-04-26 14:37 Chris Hawley .cvt
Use geoDex to store all your names and addresses for easy recall.
10 Notizblock 5 KB Desk Acc note pad V2.0 SEQ 1988-10-11 18:18 Requist & Hawley .cvt
11 Rechner 4 KB Desk Acc Calculator V1.0 SEQ 1988-07-06 13:05 A.Schubert .cvt
12 Treiberwahl 3 KB Desk Acc Treiberwahl V1.0 SEQ 1992-11-02 22:09 Jürgen Eckel .cvt
13 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1988-10-11 17:02 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
14 DESK_TOP 35 KB Application TopDesk V1.2 VLIR 1995-02-22 14:44 DPT KnCiGo .cvt
15 Shangrila 21 KB Application Shangrila V1.0 VLIR 1990-12-31 13:36 H. J. Ciprina .cvt
16 Patience 16 KB Application Patience V1.0 SEQ 1988-08-22 14:54 Walter Knupe .cvt
17 Alles Käse! 9 KB Application Alles Käse! V1.0 SEQ 1988-07-06 23:00 Volker Goehrke .cvt
18 LogiTron 6 KB Desk Acc DPT Logic V2.2 SEQ 1990-01-03 07:01 H.J. Ciprina .cvt
19 Shangrila.dat 01 1 KB App Data Shang Dates V1.0 SEQ 1988-07-06 14:05 .cvt
20 Shangrila.dat 02 1 KB App Data Shang Dates V1.0 SEQ 1988-07-06 13:30 .cvt
21 Shangrila.dat 03 1 KB App Data Shang Dates V1.0 SEQ 1988-07-06 13:31 .cvt
22 Shangrila.dat 04 1 KB App Data Shang Dates V1.0 SEQ 1988-07-06 13:31 .cvt
23 Shangrila.dat 05 1 KB App Data Shang Dates V1.0 SEQ 1988-07-06 13:32 .cvt
24 Shangrila.dat 06 1 KB App Data Shang Dates V1.0 SEQ 1988-07-06 13:32 .cvt
25 Shangrila.dat 07 1 KB App Data Shang Dates V1.0 SEQ 1988-07-06 13:19 .cvt
26 Shangrila.dat 08 1 KB App Data Shang Dates V1.0 SEQ 1988-08-22 13:15 .cvt
27 Shangrila.dat 09 1 KB App Data Shang Dates V1.0 SEQ 1988-08-22 13:21 .cvt
28 Shangrila.dat 10 1 KB App Data Shang Dates V1.0 SEQ 1988-08-22 13:24 .cvt
29 Shangrila.dat 11 1 KB App Data Shang Dates V1.0 SEQ 1988-08-22 13:24 .cvt
30 Shangrila.dat 12 1 KB App Data Shang Dates V1.0 SEQ 1988-08-22 13:26 .cvt
31 Shangrila.dat 13 1 KB App Data Shang Dates V1.0 SEQ 1988-07-06 13:00 .cvt
32 Shangrila.dat 14 1 KB App Data Shang Dates V1.0 SEQ 1988-07-06 23:00 .cvt
33 Shangrila.dat 15 1 KB App Data Shang Dates V1.0 SEQ 1988-07-06 13:00 .cvt
34 Shangrila.dat 16 1 KB App Data Shang Dates V1.0 SEQ 1988-07-06 14:53 .cvt
35 Patience.dat 01 1 KB App Data PatienceData V1.0 SEQ 1988-08-22 15:13 .cvt
36 Patience.dat 02 1 KB App Data PatienceData V1.0 SEQ 1988-08-22 15:36 .cvt
37 Patience.dat 03 1 KB App Data PatienceData V1.0 SEQ 1988-08-22 15:51 .cvt
38 Pipes 12 KB Application Pipes V 1.0 SEQ 1988-07-06 15:53 Volker Goehrke .cvt
39 PipeSet 1 2 KB App Data Pipes Data V 1.0 SEQ 1988-07-06 16:24 Volker Goehrke .cvt
40 Black & White 4 KB Application B & W V 1.0 SEQ 1988-07-06 13:50 Volker Goehrke .cvt
41 Solitaire 4 KB Desk Acc Solitaire V 1.0 SEQ 1988-07-06 13:07 Volker Goehrke .cvt
42 Superhirn 4 KB Desk Acc Superhirn V 1.0 SEQ 1988-07-06 13:28 Volker Goehrke .cvt
43 Tic-Tac-Toe 3 KB Desk Acc DPT Tic-Tac-Toe V1. SEQ 1988-07-06 15:22 Volker Goehrke .cvt
44 Dredgedriver 14 KB Application Dredgedriver V 1.0 SEQ 1988-07-06 13:09 Volker Goehrke .cvt
45 Break Thru 60 KB Application Break Thru VLIR 1988-07-06 13:00 Ciprina & Bonse .cvt
46 Quartus 12 KB Application DPT Quartus SEQ 1991-07-29 12:00 Ralf Bonse .cvt
47 Missile Defense 10 KB Application Missile Def V1.0 VLIR 1994-02-17 19:07 Volker Goehrke .cvt
48 DD Levelset 4 KB App Data DD Levelset V 1.0 SEQ 1988-07-06 01:00 Volker Goehrke .cvt
49 Geos-Spiele 1/2 14 KB Application DPT Demo V1.0 SEQ 1988-07-06 01:00 Volker Goehrke .cvt
50 GeoTris 13 KB Application GeoTris V1.0 VLIR 1997-10-04 18:18 Volker Goehrke .cvt
51 Flip Star 16 KB Application Flip Star V1.0 SEQ 1991-11-11 11:11 Ralf Bonse .cvt
52 LevelSet 2 KB App Data FlipStarLSet SEQ 1988-07-06 01:00 Ralf Bonse .cvt
53 Orpheus 5 KB Desk Acc DPT Orpheus V1.0 SEQ 1988-07-06 13:00 Knupe & Bonse .cvt
54 Puzzler 7 KB Application Puzzler V1.0 SEQ 1991-11-09 23:19 Walter Knupe .cvt
55 BeispielScraps 8 KB App Data photo album V2.1 VLIR 1991-11-09 23:23 .cvt .png
56 Photo Scrap 5 KB System Photo Scrap V1.1 SEQ 1988-07-06 13:00 .cvt
57 blackjack 10 KB Desk Acc Blackjack V1.2 SEQ 1988-01-04 16:15 Clayton Jung .cvt
Blackjack ist eine 1-Spieler-Simulation des beliebten Kartenspiels.
58 CIRCE V2.0 35 KB Application CIRCE V2.0 VLIR 1989-07-13 13:48 Francis G. Kostella .cvt
The original GEOS stategy game! Distributed only by Storm Systems!
59 geoWAR 33 KB Application geoWAR V1.0 VLIR 1988-08-20 18:00 Lysle E. Shields .cvt
Place the game of world domination !
60 Decode! 5 KB Application Decode V1.1 SEQ 1989-11-16 17:02 Francis G. Kostella .cvt
Decode the hidden patterns by logical deduction.
61 3D geoBreak 11 KB Application 3D geobreak V2.0 SEQ 1989-10-01 01:18 Wayne Dempsey .cvt
3D geobreak - A new twist to breakout!

61 file(s), 484 KB

geos-app_games-collection.d2m — “geospiele” id:hd [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 MiniDesk 6 KB Desk Acc MiniDeskTop V1.0 SEQ 1990-08-09 15:11 Jim Collette .cvt
Copy, Scratch, and Rename files.
Copyright (C) 1990, Jim Collette.
2 SELECT PRINTER 2 KB Desk Acc select printer SEQ 1990-12-12 00:10 Ciprina & Bonse .cvt

Wähle den Drucker aus!
3 Wecker 4 KB Desk Acc Alarm clock V1.0 SEQ 1986-09-03 12:00 David Durran .cvt
Stellen Sie den Wecker, um zeitbewußt zu sein.
4 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1988-10-11 17:02 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
5 REU Zap II 6 KB Application REU Zap V2.1 SEQ 1989-11-02 18:40 J. Buckley .cvt
6 mcopy 19 KB Non-GEOS SEQ .prg
7 CMD_MOVE 7 KB Application CMD Move V1.1 SEQ 1993-05-13 12:58 Jim Collette .cvt
Change partitions & copy files between them. Use with gateWay or GEOS and
CMD devices.
8 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
9 Rechner 4 KB Desk Acc Calculator V1.0 SEQ 1988-05-05 18:14 David Durran .cvt
DrÜcke die Rechnerknöpfe mit Hilfe der Maus oder gib Zahlen Über die Tastatur ein.
10 Notizblock 5 KB Desk Acc note pad V2.0 SEQ 1988-10-11 18:18 Requist & Hawley .cvt
11 PAINT DRIVERS 5 KB Application Paint Drvr V1.0 SEQ 1988-10-19 16:33 Doug Fults .cvt
Creates drivers that print to geoPaint files, a file for each PAGE, or OVERLAID.
12 Show-Font 3 KB Desk Acc Show Font V1.2 SEQ 1990-05-19 01:00 Jürgen Eckel .cvt
Maxim. Puffer 8000 Byte. Maxim. Punkthöhe 46 Punkte
Nötiger Platz auf Disk 17k
13 WriteView 3 KB Application QuickView V1.0 SEQ 1988-02-17 21:09 BSC TechUnit .cvt
Dump Write files to screen.Patched to work with geoWrite 2.X.
14 PaintView IIa 5 KB Application Paint View V2.0 SEQ 1988-05-05 13:53 Red Storm .cvt
View geoPaint files from outside geoPaint.
From Storm Systems.
15 GeoFormat41 2 KB Application GeoFormat V1.0 SEQ 1989-07-03 01:55 Jürgen Heinisch .cvt
GeoFormat41 formatiert auf einer Floppy 1541 4 mal schneller.
16 GeoTet 15 KB Application GeoTet V2.0 SEQ 1992-07-08 19:19 Paul B. Murdaugh .cvt
40 Column only. 128 or 64 mode.
17 Geo Solitaire 9 KB Application Solitaire V1.0 SEQ 1992-06-30 15:07 Paul B. Murdaugh .cvt
40 Column only. 128 or 64 mode.
18 Checkerboard 3 KB Application CheckerBoardV1.0 SEQ 1992-04-03 05:00 Paul B. Murdaugh .cvt
40 Column only. 128 or 64 mode.
19 4_Gewinnt 5 KB Application Spiel V1.3 SEQ 1990-06-03 12:06 Mario Anthes .cvt
Ein beliebtes Taktikspiel für 1 oder 2 Personen.
20 Streichholzspiel 2 KB Application STREICHHOLZSPIEL SEQ 1987-07-03 18:15 NICKI HEUSLER .cvt
Dieses Programm ist das ide- ale Mittel gegen Computer-
stress...
21 op.holz 7 KB Non-GEOS SEQ .prg
22 ESCAPE 65 KB Application Escape V1.2 VLIR 1994-09-01 17:25 Olaf Dzwiza .cvt
23 Escape Data 1 KB Data Escape Data V1.2 SEQ 1994-09-01 19:29 .cvt
24 Escape Map 1 KB Data Escape Map V1.2 SEQ 1994-09-01 18:17 .cvt
25 Escape Texte 24 KB Data Escape Text V1.2 VLIR 1994-09-01 17:43 .cvt
26 Registrierung 15 KB App Data Paint Image V1.1 VLIR 1994-08-15 17:54 .cvt .png
27 Lies mich! 8 KB App Data Write Image V2.0 VLIR 1994-09-01 17:47 .cvt .html

Escape (Sharewareversion)

Endlich!

Das erste Adventure unter GEOS ist fertig!

Worum geht's?

Würde ich auch gerne wissen - nee, ein bißchen Story hat das Game schon, hier also in Kürze (in extremer Kürze) die Handlung bis zum Spielbeginn:

Der Spieler ist ein Agent, der einen Auftrag hatte. Dieser (nicht der Agent, der Auftrag!) ging schief, er (nicht der Auftrag, der Agent!) wurde von der Gegenseite gefangengenommen - konnte jedoch Dank der zuvor geschluckten AntiBrain (tm) - Tablette alles über den Auftrag vergessen! Verhöre waren erfolglos, so daß er (wer wohl? Haben Sie etwa angenommen, daß der Auftrag ins Gefängnis kam?!?) in einem Gefängnis landete und dort bis zu seinem Ende schmoren sollte!

Was soll das nun?

Ganz einfach: Befreien Sie sich, fliehen Sie vor den Sie eventuell jagenden Gangstern und vielleicht erinnern Sie sich ja wieder an ihren Auftrag und können ihn doch noch vollenden. Ihnen blieb nur noch ein Paar Handschellen, die Sie mittels Spezialwerkzeug öffnen konnten...

Wie mache ich das?

Greifen Sie mit ihrer Hand nach dem kleinen Nagetier, das auf Ihrem Computertisch liegt oder greifen Sie ihren Freudenstab (wer schlimmes denkt..., is' halt so ein doofer englischer Begriff) und klicken Sie zweimal auf das Escape-Symbol. Jetzt werden Sie erstmal mit ein paar Sharewarehinweisen genervt, (lechtz, wo bleibt die Kohle?) dann geht's los. Sie brauchen nur auf einen Befehl oder ein Objekt klicken und so den auszuführenden Befehl zusammenbauen. Wenn der Rechner meint, jetzt haben Sie genug geklickt, das ist ein vollständiger Befehl, zeigt er ihn in einem Textfenster an. Schwupp! Schon wird der Befehl ausgeführt, wenn es nicht gerade völliger Blödsinn war (NIMM WACHE oder solche netten Ich-teste-doch-nur-die-Qualität-des-Parsers-Eingaben).

Das ist alles! Waaaaahnsinn !

Nein!

Es sind noch ein zwei Feinheiten zu beachten!

1. Mögliche Richtungen sind weiß unterlegt.

2. Wenn zwei Objekte aus dem gleichen Fenster gewöhlt werden, müssen sie auch gleichzeitig sichtbar sein.

Das ist alles! Waaaaahnsinn !

Ja!

Wem das zu konfus war, der sollte sich an die gedruckte Anleitung wenden ...

Was brauche ich?

Einen Rechner (möglichst einen C64 oder C128); ein Laufwerk, das sich bereiterklärt, mit GEOS zusammenzuarbeiten und 5 (nicht fünf, die Zahl, sondern die Größe) 1/4"-Disks frißt; ein Eingabegerät (siehe oben), keinen Drucker, GEOS 64 oder GEOS 128 im 40 Zeichen-Modus. Vielleicht noch etwas Spaß am Spiel und Rücksicht gegenüber dem Programmierer, der sich die ganzen stupiden Texte ausgedacht hat.

Ist ja recht nett, doch wo ist die Grafik?

Gute Frage, nächste Frage.

Nein, ich war wirklich bemüht, einige Bildchen in das Spiel einzubauen, doch zum Schluß war so wenig Platz auf der Diskette...

GEOS erlaubt während eines laufendes Programms jedoch keine Diskwechsel im Laufwerk mit dem Programm, also hätte ich (nur) drei Möglichkeiten gehabt:

Ich müßte voraussetzen, daß jeder GEOS-Nutzer und Spieler dieser Software

1. mindestens ein 331 kByte-Laufwerk hat oder

2. zwei Laufwerke besitzt oder

3. mindestens eine RAM-Erweiterung mit 512 kByte hat.

Das wollte ich nicht, daher gibt es in dieser Fassung keine Grafiken. Sollte ich die Motivation dazu haben, kann man auch mit einer erweiterten Version rechnen, die Grafiken enthält, dann aber auf eine RAM mit mind. 512 kByte besteht.

Empfehlung

Zwar kann jederzeit von der Diskette gespielt werden, doch sollte dann zumindest eine Sicherheitskopie angelegt werden. Wer jedoch eine RAM-Erweiterung hat, sollte die komplette Diskette in die RAM kopieren und das Programm von dort aus starten. Der Spielspaß ist deutlich höher, da nun nicht ständig gewartet werden muß, wenn das Programm mal wieder ein bißchen Daten in den Speicher schaufelt.

Hinweis - vor allem für die Vollversion (also so was öhnliches wie Werbung)

Damit auch in einer RAM-Erweiterung gespielt werden kann, habe ich auf einen Kopierschutz verzichtet.

Das Programm muß nicht auf ein bestimmtes Kernal installiert werden. Ich denke, ich würde länger an der Entwicklung eines Installationsschutzes arbeiten, als irgendwelche Freaks Zeit brauchen, Installationskiller zu schreiben. Ich hoffe, daß ich dies bei einem eventuellen weiteren GEOS-Adventure nicht ändern muß!!!

Was bringt mir die Vollversion?

Vieles!

1. Reines Gewissen

2. Weniger Geld

3. Gedruckte Anleitung

4. Load/Save-Funktion für Spielstände

5. Komplett lösbares Spiel

6. Glücklicher und motivierter Programmierer

Wie bitte? Was heißt hier "voll lösbar?"

Tja, nachdem die Vollversion des Programms fertig war, habe ich einfach ein paar Module für die Sharewareversion wieder gelöscht, egal wie lange Sie es also versuchen, sie werden nie bis zum Ende kommen! Hehehe...

Noch einmal ganz deutlich: Die Funktionen sind entfernt worden und nicht gesperrt, wühlen im Programmcode bringt also gar nichts!

Die Registrierung

Jetzt gehts ans Geld...

Drucken Sie sich bitte die Datei "Registrierung" (GeoPaint) aus, und beantworten Sie die Fragen.

Besonders wichtig ist Ihre Adresse, damit ich Ihnen die Vollversion schicken kann.

Alles andere würde ich auch gerne wissen, vor allem wegen der Grafiken, falls es lohnenswert erscheint, ein weiteres GEOS-Adventure zu erstellen oder eine erweiterte Version herauszubringen?

Noch was...

Das Programm erzeugt da so eine merkwürdige Punkteliste. Die können Sie auch mit der Vollversion weiterbenutzen! Die Datei (sie heißt "Escape Scores") kann auch zum Vergleich der Leistungen mit anderen Spielern getauscht werden!

Rechtliches

Escape ist Shareware und darf und soll frei kopiert werden, es muß jedoch vollständig in allen Teilen, inkl. Infofile und Registierungsdatei, in unverändertem Zustand weitergegeben werden.

Die Aufnahme in Sharewarebibliotheken ist erwünscht und bedarf keiner vorherigen Rücksprache mit mir, eine Information darüber wäre jedoch ein sinnvolles Zeichen von Fairness.

Die registrierte Vollversion ist für DM 20,- erhältlich. Sie enthält folgende zusätzliche Features: Voll lösbar, load/save-Funktion, gedruckte Anleitung, variable Texte.

Für eventuelle Fehler und/oder Probleme wird keine Haftung übernommen, eine Information darüber wird jedoch gerne dankend entgegengenommen, um Abhilfe zu schaffen.

Eine Lösungshilfe ist für DM 5,- Unkostenerstattung erhältlich.

(C)opyright 1994 by

Olaf Dzwiza, Stolzestr. 18, 30171 Hannover

28 YAHTZEE 4 KB Application yahtzee SEQ 1987-02-17 12:15 Terry R. Mullett .cvt
Two player yahtzee. The classic dice game.
29 geoMimic 6 KB Desk Acc geoMimic V1.0 SEQ 1990-02-13 01:04 Sean Huxter .cvt
Mimic a computer generated sequence. Take your memory to its limits.
30 geoSliders 5 KB Desk Acc geoSliders V1.0 SEQ 1988-08-25 19:22 Lester Gock .cvt
My first attempt at a GEOS game
31 Draw_Poker 38 KB Application Draw Poker V1.0 VLIR 1989-10-28 22:34 Gary M. Reynolds .cvt
Win up to 4000 coins!
32 Draw_Poker.docs 2 KB App Data Write Image V1.1 VLIR 1989-11-02 23:19 .cvt .html

( Draw_Poker

Docs?

33 SOLO POKER 8 KB Application OLO OKER V1.0 SEQ 1987-10-19 20:30 EN . URNER .cvt
34 SOLO DOCS 6 KB App Data Write Image V1.1 VLIR 1986-10-21 13:04 .cvt .html

@(@@@@@@

Solo Poker Documentation

by Smart Axe

Part 1: A note from the programmer.

Hi, you don't know me, but my name is Ken Turner and I am the designer and programmer of the Solo Poker program. I spent 150+ hours designing, programming and debugging this, my first machine language program, and my first Q-link upload. I sincerely hope that you like it.

I would like to ask a favor. If you enjoy my program, and if you use it, please let me know. My address appears at the end of this file and also under "INFO" in the program itself. I also request a donation of two dollars for a program which I feel is worth a whole lot more. However, I understand that computing costs are high, so if you can't make a donation, that is okay, but please send your name and address and comments anyway.

The reason for this is simple. I have no local access number for Q-link, as I live in a rural area. Therefore, my on-line time is charged as long distance by the phone company, which is why I may not be a member for much longer. If I am forced to abandon Q-link, I still would like to share my programs with those who like them. So, I am using this program to compile a list of fellow users who would like to see more of the same. I can then notify interested people of where they may get my future programs (probably local BBS numbers).

So if you like it and use it, feel free to share it with your friends. And please, I'd love to hear from you.

Now on to the program.

Part 2: Solo Poker description.

Solo Poker is a computer version of one of the most popular and addictive solitaire games of all time, Poker Solitaire. The rules are taken directly from "Hoyle's Rules of Games." The object of the game is simple. Try to form the best poker hands that you can.

The game is played by shuffling a deck of cards, turning over the first 25 one at a time, and placing them into a five-by-five grid, forming five hands across and five hands down. The scores for the hands are as follows:

Straight Flush 30

4-of-a-kind 16

Straight 12

Full House 10

3-of-a-kind 6

Flush 5

2 Pair 3

Pair 1

This table is available at any time during play by clicking on the "SCORES" icon. Poker players will no doubt notice that the hands are not in the proper order. This is because the odds are somewhat different for this game than they are for regular poker. Also, a Royal Flush is not given any special value as you are just as likely to get it as you are to get an ace-low straight flush.

@(@@@@@@

35 GeoMath 4 KB Application GeoMath V1.0 SEQ 1989-06-17 21:28 Richard A. Rardin .cvt
Gazette Math tutor for the GEOS environmentby Richard & Lynn Rardin
36 geoWAR 33 KB Application geoWAR V1.0 VLIR 1988-08-20 18:00 Lysle E. Shields .cvt
Place the game of world domination !
37 GeoWords 28 KB Application GeoWords V1.1 VLIR 1990-01-19 14:37 David B. Ferguson .cvt
38 Worte 16 KB App Data GWords Data V1.0 SEQ 1991-06-11 23:15 David B. Ferguson .cvt
39 geowords.doc 19 KB App Data Write Image V2.0 VLIR 1990-01-19 13:57 .cvt .html

The following is set up with Commodore 10 font and NLQ spacing. If, however, you choose to print it using high resolution mode, you will get to enjoy the graphics.

DiBieF (Q-Link & Genie)

73515,1631 (CIS)

Game Playing Instructions For

GeoWORDS

INTRODUCTION:

This is GeoWORDS, a word search game for Geos. This game is very similar to "Boggle", by Parker Brothers. I originally wrote this for my Vic-20, converted it to C64 and have now converted it to Geos.

This is a game for 1 to 5 players. The computer also plays every game. Each player should have a pencil and paper.

Your objective is to make words of three or more letters from the tiles in a 4 x 4 grid. The letters must connect in proper order and you may not use a letter more than once. The longer the word, the more you score.

More about the play of the game later.

START:

Load GeoWORDS either by double-clicking on the "GeoWORDS" icon or on a "Word File" icon. See "NOTES" for more information about this.

Once you have seen the title screen, click the mouse and the game "board" will appear

On the right of the screen is the letter grid. It is blank now, but will have letters during the play of the game.

At the top of the screen is the "GeoWORDS" icon. It has two functions. Most of the time, clicking it displays the credits screen. During printouts, however, it is used to stop printing.

The left side of the screen is where the Select Box and dialogue boxes will appear.

The first dialogue box asks how many players and their names. (You can add or delete players during the game, also.)

Once you have entered your players the Select Box will appear.

THE SELECT BOX:

A) Load Word List--can load a "Word File" from up to three drives (including REU). You can play the game without loading a word list. In fact, you will probably want to at first.

***HALF THE FUN OF THE GAME IS TEACHING THE COMPUTER NEW WORDS AND WATCHING IT SLOWLY START TO BEAT YOU!!!***

B) Who's Playing?--allows you to change the number of players during the game. You cannot, however, eliminate player #2 and keep player #3 unless you don't care about their scores getting wiped out.

C) Random Game 1, Random Game 2, and Do Your Own--click on any one of these to start playing. The two random games just use two different methods to select sixteen letters for the grid. See NOTES for more on this.

Do Your Own allows you to enter 16 letters of your own. You will not be allowed to enter non-letters or less than 16. Also, if you wish to enter "QU" just enter "Q". "QU" is treated as a single tile in this game.

D) Edit--allows you to edit words in a "Word File". This is a pretty primitive routine. You enter the word you wish to edit and the program finds and displays it. You then put in a new word of the SAME number of letters, no more or less. (Hit return if you wish to leave the word the same.) You can not edit out words with "q" in them. This has to do with the way the words are stored. See NOTES.

BY THE WAY...all word entries you make in this and all other word entry sections of the game should be in lower case.

E) Add--no limitations here. This is what I use to add a lot of words to the list.

F) Save--allows you to save "Word Files" to any disk. All of the files are the same size (15k) no matter how many words they contain.

G) New--CAUTION!! THIS WIPES OUT THE WORDS IN MEMORY!!

A dialogue box will alert you to this and allow you to "bail out". This command clears the memory and resets the necessary pointers to start a new file.

H) Print List--this prints out the entire list of words. If you wish to cancel printing, click on the "GeoWORDS" icon.

I) Quit Playing--you will be asked if you are sure. If you click on "Yes", you will be given an opportunity to save the current "Word File". Hit return or click "Save" if you wish to do so. Click "Cancel" if you don't. In either case, the game will end.

PLAY THE GAME:

Once you have selected one of the game modes (Random Game 1, Random Game 2, or Do Your Own) the game will start.

The letters will be revealed and the timer will start. You have three minutes. (I know you'll feel better knowing the computer can go through the 1600 words it knows as of this writing in less than two seconds.)

Each player should be finding words and writing them down. Remember that the words should be at least three letters long, the letters must connect in the proper order, and you can not use a letter more than once in any word.

Once the time is up, the computer will ring an obnoxious bell and display its first word, asking if anyone has it.

Click "YES" if one or more players has the same word. Human players should cross it off their lists.

Click "NO" if no one has it.

Click "ILLEGAL WORD" if the computer found a word that doesn't exist. (The only way this could happen is if you typed a wrong word in playing a previous game or in adding or editing words.) Clicking "ILLEGAL WORD" does NOT take the word out of the list. Use the edit mode for correcting this.

After you've seen all the computer's words, each player should read his remaining words, crossing off any words which appear on other players' lists.

When this is done, each player should enter his remaining words into the computer. The computer will then score for everyone.

THE SCORECARD:

The Scorecard is displayed at the end of each game. The points are cumulative of all games played.

At the bottom of the Scorecard you are asked if you wish to print out the game. Click "NO" if you don't. You will be returned to the main game.

If you click "YES", the following happens:

First, the GeoWORDS icon appears above the grid. This is your click-box to stop printing.

Next, the screen is dumped to your printer, showing the scorecard and the grid. This is NOT a color dump.

Next, the words the computer found will be printed. This includes all the words, even if they were found by someone else or illegal.

Finally, it prints all of the words the humans found.

When the printing is done you are returned to the Select Box to play again, edit & save files, or quit.

SORTING:

During the course of sorting words (which may take a long time) the computer might find duplicate words, usually because us humans entered a word it already knew. When it does come across a twin it will ask you for a new word. Entry rules are the same as they are for editing words, but whatever you do don't accidentally put two identical "q" words in the list!

LEARNING:

The computer learns every word you teach it, every game you play. The more you play the smarter it gets.

At first glance the 2600 word limit appears to be stingy. I promise it's not. At 1600 words I can very seldom beat the computer in one game, and in a round of ten games my score is always less than the computer's.

At 2600 words I don't think too many people can beat the computer.

The computer is supposed to find every word it knows. It will not find words that can not be made up according to the rules. Recently, however, it did miss some words that it knew and should have found. It has done this only once, and hasn't done it since, but....

WORD LIMIT:

Once you reach the computer's word limit it will not allow you to add words in the ADD routine. Also, during game play your new words will still get you points, but the computer won't learn them once it reaches its limit.

THE SUPPLIED LIST:

Words are words. The supplied list was developed as I played the game. It does contain a very few words that are considered by some to be rude, crude or obscene. But, words are words.

NOTES:

A) If you start the game by double-clicking a "Word File" icon the data will not load right away, so don't worry if the word count shows "0" at first.

B) Random Game 1 simulates the shaking of sixteen six-sided cubes in the same manner that the "Boggle" game does. It finds a "set" of six letters that hasn't been used and then selects one of the six letters. It uses each set once only.

Random Game 2 just chooses the 16 letters from the whole list of 96 letters available. In this case it never uses the same letter twice (i.e.--it can't use the letter in position 45 more than once).

C) Handling "q"--this was tricky. As far as you're concerned, anytime you enter a word with "qu" in it just do it normally. DO NOT ENTER A "Q" WITHOUT A "U" FOLLOWING IT!!! (Except in "Do Your Own") As noted, you can not edit "q" words. The game interprets all occurrences of "q" as being "qu", and hunts its words accordingly. Therefore, it stores all "qu" words as "q". For example, "quiet" would look like "qiet" to the computer, even though it will find the word correctly.

When it prints the word lists, the words with "qu" in them will print out with the "u" missing. That's life.

Just to be safe, don't enter three letter "q" words such as "quo". (However, the word quo is in the supplied list; don't try to delete it.)

Finally, the computer does score "qu" as two letters even though it is only one tile.

D) Printing the game starts with a hi-res screen dump.

The word lists are printed in ascii.

E) The colored square near the upper right corner was put in originally for me to see how fast the computer went through its word list. Blue means start. Red means stop. Yellow is displayed at all other times. I left it in for people to see how fast the computer does its thinking.

"Boggle" is a registered Trademark of Parker Brothers for their hidden word game equipment.

Much of the drive access source code was derived from routines written by Joe Buckley and William Coleman.

The cursive font used in the credits is a "FoxFont".

Most of the "Select Box" icons were adapted from a GeoPaint file by James P100.

40 SKEET 4 KB Desk Acc Skeet V1.6 SEQ 1987-10-01 00:00 .cvt
41 CLUSTER WARS 32 KB Application CLUSTER WARSV1.1 VLIR 1988-08-22 15:14 F.G.Kostella .cvt
42 geoBreak 4 KB Application geoBreak V1.0 SEQ 1986-10-21 13:01 Wayne Dempsey .cvt
This a GEOS version of the popular game, Breakout.

42 file(s), 461 KB

geos-app_gateway-utilities.d81 — “gateway” id:rl [D81, 819,200 bytes] download .d81

#FilenameSizeGEOS TypeClassSDateAuthor
1 DIR PRINT 19 KB Application DirPrint V2.0 VLIR 1994-04-26 11:55 Falk Rehwagen .cvt
Programm druck Directorys beliebiger Disketten in übersichtlicher Form.
2 DIR PRINT_com 27 KB App Data Write Image V2.0 VLIR 1994-04-26 11:54 .cvt .html

`*** DirPrint Version 2.0

`*** Written (W) 1993 Falk Rehwagen

`*** D-04103 Leipzig, Wintergartenstraße 2/107, Telefon (0341) 284343

`==========================================================================

`*** Definitionsteil für Compiler

NAME"DIR PRINT" ` Dateiname festlegen

CLASS"DirPrint V2.0" ` Dateiklasse festlegen

AUTHOR"Falk Rehwagen" ` Autorenname festlegen

STRLEN 100 ` Stringlänge für Operatoren

CODE $2800,$4200:CONST $4200,$5000 ` Speicherbereiche festlegen

`*** Deklarationsteil für Programmvariablen

BYTEVAR zähler,track,sektor,seitenzahl,p_seite,p_seiten ` Zwischenspeicher-Variablen

BYTEVAR papier,format,s_anfang,s_ende,diskflag,abbruch ` Dialogbox-Optionen

BYTEVAR ram_maske,rmaske_alt,startlfw ` Variablen für Druckersuche

BYTEVAR klickflag,wert ` Var's für Klick in Haupt-DB

BYTEVAR länge,reihen,druckseiten,reihenzahl ` Variablen für Papieraufteilung

STRVAR 20; seitentext ` Text für Seitenkennzeichen

ROW 640 BYTEVAR puffer ` Puffer für Grafikzeile

ROW 5 BYTEVAR datum2 ` Datum zwischenspeichern

STRVAR 2; string ` zur Seiteneingabe, Haupt-DB

BYTEVAR AT $84b3; selection ` enthält Icon-Blinkgeschw.

INTVAR AT $0400; xpos ` Cursor-Position

BYTEVAR icony,zeichen,icon ` Zwischenspeicher, Position

INTVAR iconx,zzähler,offset ` Zähler, Hilfsvariablen

ROW 1920 BYTEVAR druckpuffer ` Datenreihe für Druckertreiber

ROW 256 BYTEVAR AT $8000; diskpuffer ` Diskettenblock-Ablage

ROW 256 BYTEVAR AT $8100; diskpuffer2 ` zweiter Diskblock-Ablage

LABEL recover,disk_lesen,set_papier,set_seiten,klick,set_format,main ` Unterroutinen anmelden

LABEL drucken,drucken2,reihe_drucken,reihe_zeigen,icon_zeigen,neue_seite ` weitere Unterroutinen

LABEL tasten ` weitere Label

OBJFILE"DIR PRINT_obj" ` "DIR PRINT_obj"=Objektdatei

OBJECT icn_drucken,icn_lfw,icn_disk,icn_verlassen,c64_icon ` 5 Bitmaps einbinden

OBJECT university6 ` Zeichensatz für Ausdruck

`*** Anweisungsteil des Programms

`*** Grundaufbau des Bildschirms

CLS ` Bildschirm löschen (grau)

PATTERN 0 ` Muster weiß

RECT 5,169,314,194 ` Infofeld-Rechteck zeichnen

FRAME 5,169,314,194 ` Infofeld einrahmen

SETPOS 50,179 ` Cursorposition setzen

PRINT"/BDirPrint Version 2.0/P - (W) 1993 Falk Rehwagen" ` Text ausgeben

SETPOS 27,190 ` neue Cursorposition

PRINT"D-04103 Leipzig, Wintergartenstraße 2//107, Tel.: (0341) 284343" ` Text ausgeben

`*** Einlesen des Druckertreibers

startlfw=curdrive ` Startlfw zwischenspeichern

ram_maske=128 ` Flag für RAM-Lfw testen

REPEAT ` äußere Schleife, Anfang

zähler=0 ` Lfw-Zähler auf 0 setzen

REPEAT ` innere Schleife, Anfang

IF(((PEEK $88c6)AND 128)==ram_maske)THEN ` Bedingung Druckersuche

PRINTINIT druckpuffer ` Drucker suchen

ELSE ` sonst

iostat=5 ` als nicht gefunden melden

ENDIF ` Bedingung, Ende

DRIVE ` auf nächstes Lfw schalten

INC zähler ` zähler=zähler+1

UNTIL((iostat==0)OR(zähler==numdrives)) ` innere Schleife, Ende

rmaske_alt=ram_maske ` Lfw-Flag zwischenspeichern

ram_maske=0 ` 2. Durchlauf, nicht-RAM-Lfw

UNTIL((rmaske_alt==0)OR(iostat==0)) ` äußere Schleife, Ende

SETVECTOR $84b1,recover ` neue Wiederherstellroutine

IF(iostat<>0)THEN ` wenn Druckertr. unauffindbar

ERROR ` Fehlerbox anzeigen

END ` DeskTop aufrufen

ENDIF ` Bedingungsende

DEVICE startlfw ` Startlaufwerk wieder setzen

`*** Auswahlbox des Programms

@main ` Einsprung main

PATTERN 1:RECT 48,20,287,156 ` Box-Schatten zeichnen

PATTERN 0:RECT 40,12,279,148:FRAME 40,12,279,148 ` Fenster+Rahmen zeichnen

SETPOS 56,27:PRINT"/BDrucke das Inhaltsverzeichnis von Disk" ` Text ausgeben

SETPOS 56,40:PRINT"in Lfw "; ` Text ausgeben

PUT(57+curdrive):PUT 58 ` Lfw und ":" ausgeben

SETPOS 69,56:PRINT"Von DeskTop-Arbeitsseite:" ` Text ausgeben

FRAME 210,47,240,61 ` Eingabefeld markieren

SETPOS 75,73:PRINT"Bis DeskTop-Arbeitsseite:" ` Text ausgeben

FRAME 210,64,240,78 ` Eingabefeld markieren

SETPOS 69,98:PRINT"Einzelblattpapier" ` Text ausgeben

FRAME 56,91,64,99 ` Optionenfeld markieren

SETPOS 69,114:PRINT"Endlospapier" ` Text ausgeben

FRAME 56,107,64,115 ` Optionenfeld markieren

SETPOS 173,98:PRINT"Einfaches Format" ` Text ausgeben

FRAME 160,91,168,99 ` Optionenfeld markieren

SETPOS 173,114:PRINT"Erweitertes Format/P" ` Text ausgeben

FRAME 160,107,168,115 ` Optionenfeld markieren

GOSUB disk_lesen ` Arbeitsblatt-Anzahl einlesen

IF(diskflag==0)THEN ` wenn Disk eingelegt

BITMAP 6,125,icn_drucken ` dann drucken-Icon anzeigen

ENDIF ` Bedingungsende

IF(numdrives>1)THEN ` wenn mehrere Laufwerke

BITMAP 13,125,icn_lfw ` dann Lfw-Icon anzeigen

ENDIF ` Bedingungsende

IF(((PEEK $88c6)AND 128)==0)THEN ` wenn Lfw keine RAM-Disk

BITMAP 20,125,icn_disk ` dann Disk-Icon anzeigen

ENDIF ` Bedingungsende

BITMAP 27,125,icn_verlassen ` Verlassen-Icon anzeigen

SETPOS 124,40 ` Cursorpos. für Disk-Namen

IF(diskflag==0)THEN ` wenn Disk vorhanden

PRINT(DISKNAME) ` Namen ausgeben

ELSE ` sonst

PRINT"(keine Diskette vorhanden)" ` Hinweistext ausgeben

ENDIF ` Bedingungsende

set_papier:set_seiten:set_format ` Opti. und Seiten eintragen

ON 1 GOTO klick ` Vektor für Mausklick setzen

ON 0 GOTO tasten ` Vektor auf Tastaturabfrage

MOUSE ON ` Mauszeiger an

MAINLOOP ` Hauptschleife aufrufen

`*** Tastatur abfragen

@tasten ` Labeleinsprungstelle

zähler=0 ` Tastenflag löschen

IF(keydata==1)THEN ` wenn F1

zähler=8 ` dann Tastenflag für Lfw A

ENDIF ` Bedingungsende

IF(keydata==3)THEN ` wenn F3

zähler=9 ` dann Tastenflag für Lfw B

ENDIF ` Bedingungsende

IF(keydata==5)THEN ` wenn F5

zähler=10 ` dann Tastenflag für Lfw C

ENDIF ` Bedingungsende

IF(keydata==14)THEN ` wenn F7

zähler=11 ` dann Tastenflag für Lfw D

ENDIF ` Bedingungsende

IF(zähler<>0)THEN ` wenn Flag für Lfw gesetzt

IF((drtype<zähler>)<>0)THEN ` und gewünschtes Lfw da

IF(((PEEK $88c4)AND %01000000)<>0)THEN ` und Treiber im RAM

PATTERN 2 ` Muster grau

RECT 40,12,287,156 ` Hauptbox löschen

DEVICE zähler ` Laufwerk setzen

GOTO main ` zum Haupteinsprung gehen

ELSE ` sonst

IF((sysflag==$80)OR((drtype<zähler>)==(PEEK $88c6)))THEN ` 2 gleiche Lfw oder C128

PATTERN 2 ` Muster grau

RECT 40,12,287,156 ` Hauptbox löschen

DEVICE zähler ` Laufwerk setzen

GOTO main ` zum Haupteinsprung gehen

ENDIF ` Bedingungsende, wechslen

ENDIF ` Bedingungsende, RAM da

ENDIF ` Bedingungsende, Lfw da

ENDIF ` Bedingungsende, Lfwwechsel

RETURN ` zurückspringen

`*** Reaktion auf Klick in der Dialogbox

@klick ` Unterroutine klick

UNTIL(mousedata==0) ` beim Loslassen zurück

klickflag=255 ` Aktion vorbelegen, 255=keine

INTERRUPT OFF ` Maus anhalten

IF((REGION 48,125,95,140)AND(diskflag==0)):klickflag=0:ENDIF ` Klick auf drucken-Icon?

IF((REGION 104,125,151,140)AND(numdrives>1)):klickflag=1:ENDIF ` Klick auf Lfw-Icon?

IF((REGION 160,125,207,140)AND(((PEEK $88c6)AND 128)==0)):klickflag=2:ENDIF ` Klick auf Disk-Icon?

IF(REGION 216,125,271,140):klickflag=3:ENDIF ` Klick auf verlassen-Icon?

IF(REGION 210,47,240,61):klickflag=4:ENDIF ` Klick auf Anfangsseite?

IF(REGION 210,64,240,78):klickflag=5:ENDIF ` Klick auf Endseite?

IF(REGION 56,91,64,99):klickflag=6:ENDIF ` Klick auf Einzelblattpapier?

IF(REGION 56,107,64,115):klickflag=7:ENDIF ` Klick auf Endlospapier?

IF(REGION 160,91,168,99):klickflag=8:ENDIF ` Klick auf Normalformat?

IF(REGION 160,107,168,115):klickflag=9:ENDIF ` Klick auf erw. Format?

INTERRUPT ON ` Maus freigeben

IF(klickflag<=3)THEN ` wenn Klick auf Icon, dann

IF(klickflag==3)THEN ` wenn Klick auf verlassen

INVERT 216,125,271,140 ` verlassen invertieren

WAIT selection ` warten, GEOS-Vorgabezeit

INVERT 216,125,271,140 ` verlassen zurückinvertieren

ELSE ` sonst (anderes Icon)

INVERT(48+((INT klickflag)*56)),125,(95+((INT klickflag)*56)),140 ` Icon invertieren

WAIT selection ` warten, GEOS-Vorgabezeit

INVERT(48+((INT klickflag)*56)),125,(95+((INT klickflag)*56)),140 ` Icon zurückinvertieren

ENDIF ` Bedingungsende

PATTERN 2 ` Muster grau

RECT 40,12,287,156 ` Dialogbox löschen

IF(klickflag==3)THEN ` wenn Klick auf verlassen

PRINTDONE ` Druck abschließen

END ` zum DeskTop verlassen

ENDIF ` Bedingungsende

IF(klickflag==2)THEN ` wenn Klick auf Disk

DISK ` Disk-Dialogbox, anmelden

ENDIF ` Bedingungsende

IF(klickflag==1)THEN ` wenn Klick auf Lf-werk

DRIVE ` Lfwerk tauschen (A-B-C-D)

ENDIF ` Bedingungsende

IF(klickflag==0)GOSUB drucken ` bei drucken, Unterroutine

GOTO main ` zurück zur Haupt-DB

ENDIF ` Bedingungsende

IF(klickflag==4)THEN ` wenn Anfangseingabe-Klick

SETPOS 217,56 ` Cursor positionieren

string=(STR s_anfang) ` Zahl in String umwandeln

INPUT string ` Editieren der Zahl

wert=(BYTE(REAL string)) ` String in Zahl umwandeln

IF((wert>0)AND(wert<=s_ende))THEN ` wenn möglicher Bereich

s_anfang=wert ` dann, Anfangsseite setzen

ENDIF ` Bedingungsende, Bereich

set_seiten ` Bereich ordentlich anzeigen

ENDIF ` Bedingungsende, Anfangse.

IF(klickflag==5)THEN ` wenn Endeingabe-Klick

SETPOS 217,73 ` Cursor positionieren

string=(STR s_ende) ` Zahl in String umwandeln

INPUT string ` Editieren der Zahl

wert=(BYTE(REAL string)) ` String in Zahl umwandeln

IF((wert>=s_anfang)AND(wert<=seitenzahl))THEN ` wenn möglicher Bereich

s_ende=wert ` dann, Endseite setzen

ENDIF ` Bedingungsende, Bereich

set_seiten ` Bereich ordentlich anzeigen

ENDIF ` Bedingungsende, Endeingabe

IF(klickflag==6)THEN ` wenn Klick auf Einzelblatt

papier=0 ` dann, Flag setzen (=0)

set_papier ` Flag anzeigen

ENDIF ` Bedingungsende

IF(klickflag==7)THEN ` wenn Klick auf Endlospapier

papier=255 ` dann, Flag setzen (=255)

set_papier ` Flag anzeigen

ENDIF ` Bedingungsende

IF(klickflag==8)THEN ` wenn Klick auf Normalform

format=0 ` dann, Flag setzen (=0)

set_format ` Flag anzeigen

ENDIF ` Bedingungsende

IF(klickflag==9)THEN ` wenn Klick auf erweitert

format=255 ` dann, Flag setzen (=255)

set_format ` Flag anzeigen

ENDIF ` Bedingungsende

RETURN ` Klickabfrage verlassen

`*** Abbau von Standartdialogboxen

@recover ` Unterroutine recover

PATTERN 2 ` Muster grau

RECT 64,32,263,135 ` Standartbox löschen

RETURN ` zurückspringen

`*** Inhaltsverzeichnislänge bestimmen

@disk_lesen ` Unterroutine disk_lesen

OPENDISK ` Diskette öffnen

diskflag=iostat ` Fehler merken

s_anfang=0:s_ende=0 ` Standartanfang/-ende

IF(iostat==0)THEN ` ausführen, wenn kein Fehler

seitenzahl=0 ` Vorgabeseitenzahl=0

track=(PEEK $8200):sektor=(PEEK $8201) ` Starttrack/-sektor

REPEAT ` Schleife zum Einlesen

GETBLOCK track,sektor,diskpuffer ` Inhalsblock lesen

track=(PEEK $8000):sektor=(PEEK $8001) ` nächster Track/Sektor

INC seitenzahl ` seitenzahl=seitenzahl+1

UNTIL((track==0)OR(iostat<>0)) ` Schleifenende, Bedingung

IF(diskflag==0)THEN ` wenn kein Fehler

s_anfang=1:s_ende=seitenzahl ` dann richtige Grenzen setzen

ENDIF ` Bedingungsende, Grenzen

ENDIF ` Bedingungsende, Inhalt lesen

RETURN ` zurückspringen

`*** Anzeige der Seiten des Druckbereichs

@set_seiten ` Unterroutine set_seiten

PATTERN 0 ` Muster weiß

SETPOS 217,56:PRINT(STR s_anfang);:RECT xpos,48,239,60 ` Anfangsseite zeigen

SETPOS 217,73:PRINT(STR s_ende);:RECT xpos,65,239,77 ` Endseite zeigen

RETURN ` zurückspringen

`*** Setzen des Papiertyps

@set_papier ` Unterroutine set_papier

IF(papier==0)THEN ` wenn papier==0

PATTERN 2 ` dann Muster für 1. grau

ELSE ` sonst

PATTERN 0 ` Muster für 1. weiß

ENDIF ` Bedingungsende

RECT 57,92,63,98 ` Rechteck zeichnen

IF(papier<>0)THEN ` wenn papier nicht 0

PATTERN 2 ` dann Muster für 2. grau

ELSE ` sonst

PATTERN 0 ` Muster für 2. weiß

ENDIF ` Bedingungsende

RECT 57,108,63,114 ` Rechteck zeichnen

RETURN ` zurückspringen

`*** Setzen des Formats

@set_format ` Unterroutine set_format

IF(format==0)THEN ` wenn format==0

PATTERN 2 ` dann Muster für 1. grau

ELSE ` sonst

PATTERN 0 ` Muster für 1. weiß

ENDIF ` Bedingungsende

RECT 161,92,167,98 ` Rechteck zeichnen

IF(format<>0)THEN ` wenn format nicht 0

PATTERN 2 ` dann Muster für 2. grau

ELSE ` sonst

PATTERN 0 ` Muster für 2. weiß

ENDIF ` Bedingungsende

RECT 161,108,167,114 ` Rechteck zeichnen

RETURN ` zurückspringen

`*** Routine zum Test der Druckeranforderungen

@drucken ` Einsprunglabel

länge=(DIMY) ` Papierlänge bestimmen

reihen=((länge-3)/6) ` Iconreihen pro Seite ?

IF((länge<9)OR((DIMX)<>80))THEN ` Breite/Länge OK?

STRNBOX"/BProgramm für diesen","Drucker nicht geeignet.","" ` wenn nicht, Infobox

ELSE ` sonst

GOSUB drucken2 ` Druckroutine aufrufen

ENDIF ` Unterroutine drucken

RETURN ` Bedingungsende

` zurückspringen

`*** Ausgabe des Inhaltsverzeichnisses

@drucken2 ` Einsprunglabel

PATTERN 0 ` Muster weiß

RECT 90,80,230,120 ` Druckenbox ausgeben

FRAME 90,80,230,120 ` Druckenbox einrahmen

FRAME 90,80,231,121 ` 3D einrahmen

SETPOS 95,105 ` Cursor positionieren

PRINT"Abbruch mit der STOP-Taste" ` Abbruch-Text ausgeben

SETPOS 95,115 ` Cursor positionieren

PRINT"oder durch Mausklick!" ` Abbruch-Text ausgeben

abbruch=0 ` Abbruchflag setzen

POKE $39,0 ` letzen Mausklick löschen

p_seite=1 ` Seitenzähler auf 1 setzen

druckseiten=((s_ende-s_anfang)+1) ` Zähler für Gesamtreihen

p_seiten=((druckseiten/reihen)+1) ` Seitenanzahl bestimmen

track=0 ` track als Schleifenzähler

REPEAT ` Schleife

(datum2<track>)=(date<track>) ` Datum kopieren

INC track ` Zähler erhöhen

UNTIL(track==5) ` bis alles kopiert ist

GOSUB neue_seite ` Unterroutine für neue Seite

reihenzahl=reihen ` Zähler für Reihen/Seite

OPENDISK ` Diskette öffnen (BAM lesen)

track=(PEEK $8200):sektor=(PEEK $8201) ` Track/Sektor 1. Directorybl.

zähler=s_anfang ` Zähler Blöcke überspringen

WHILE(zähler<>1)DO ` Schleife bis alle überspr.

GETBLOCK track,sektor,diskpuffer ` Directoryblock einlesen

track=(diskpuffer<0>):sektor=(diskpuffer<1>) ` Track/Sektor des nächsten

DEC zähler ` Schleifenende

LOOP ` Track/Sektor 1. Druckblock

REPEAT ` Schleife Reihenausgabe

GETBLOCK track,sektor,diskpuffer ` Directoryblock einlesen

track=(PEEK $8000):sektor=(PEEK $8001) ` Verkettung merken

reihe_drucken ` Unterroutine Reihe ausgeben

DEC druckseiten ` Seitenzähler erniedrigen

DEC reihenzahl ` Reihenzähler erniedrigen

IF(reihenzahl==0)THEN ` wenn Seitenende

STOPPRINT ` Papier auswerfen

IF(papier==0)THEN ` wenn Einzelblattpapier

STRNBOX"/BBitte neue Seite einlegen,","um fortzusetzen.","" ` Aufforderungsbox

ENDIF ` Bedingungsende

GOSUB neue_seite ` Unterroutine neue Seite

reihenzahl=reihen ` Reihen pro Seite neu setzen

ENDIF ` Bedingungsende

GET zähler ` Tastaturcode einlesen

IF((zähler==22)OR(((PEEK $39) AND %00100000)<>0))THEN ` wenn STOP oder Mausklick

abbruch=255 ` Abbruchflag setzen

ENDIF ` Bedingungsende

UNTIL((druckseiten==0)OR(abbruch<>0)) ` bis alle Reihen ausgegeben

IF(abbruch==0)THEN ` wenn Abbruch, kein Durck

scrbuf=$40 ` nur in den Hintergrund

PATTERN 0 ` Muster weiß

RECT 0,0,319,96 ` Druckbereich löschen

FRAME 24,10,319,28:FRAME 0,58,295,76 ` Rahmen Kapazitätsausgabe

RECT 319,11,319,27:RECT 0,59,0,75 ` Trennlinie löschen

SETPOS 31,22:PRINT"/PDiskettenkapazität: /B"; ` Kapazität ausgeben

PRINT(STR(((CAPACITY 0)+1)/4)); ` Wert ausgeben

PRINT" KByte" ` KByte ausgeben

SETPOS 0,70:PRINT"/Pdavon belegt: /B"; ` belegt ausgeben

PRINT(STR(((CAPACITY 2)+1)/4)); ` Wert ausgeben

PRINT" KByte" ` KByte ausgeben

SETPOS 175,70:PRINT"/Pnoch frei: /B"; ` frei ausgeben

PRINT(STR(((CAPACITY 1)+1)/4)); ` Wert ausgeben

PRINT" KByte" ` KByte ausgeben

HARDCOPY 25,31,6,puffer ` Grafik an Drucker senden

scrbuf=$80 ` in Vordergrund schreiben

ENDIF ` Bedingungsende, drucken

PATTERN 2 ` Muster grau

RECT 90,80,231,121 ` Druckbox löschen

STOPPRINT ` Seite auswerfen

RETURN ` zurückspringen

`*** neue Seite beginnen

@neue_seite ` Einsprunglabel

PATTERN 0 ` Muster weiß

RECT 91,81,229,95 ` Seitebereich löschen

SETPOS 95,91 ` Cursor positionieren

PRINT"/BDrucke Seite "; ` Text ausgeben

PRINT(STR p_seite); ` Seitennummer ausgeben

PRINT"... /P" ` Text ausgeben

STARTPRINT ` neue Grafikseite beginnen

scrbuf=$40 ` nur in den Hintergrund

RECT 0,0,319,96 ` Druckbereich löschen

FRAME 24,0,319,18:FRAME 0,48,295,66 ` Rahmen zeichnen

RECT 319,1,319,17:RECT 0,49,0,65 ` Trennlinie entfernen

SETPOS 31,12:PRINT"Inhaltsverzeichnis der Diskette: /B"; ` Text eintragen

PRINT(DISKNAME) ` Diskettenamen ausgeben

SETPOS 0,60:PRINT"/Pgedruckt am: /B"; ` gedruckt ausgeben

PRINT((STR(datum2<2>))+"."); ` Tag ausgeben

PRINT((STR(datum2<1>))+"."); ` Monat ausgeben

PRINT((STR(datum2<0>))+" "); ` Jahr ausgeben

PRINT((STR(datum2<3>))+":"); ` Stunde ausgeben

PRINT(RIGHT("0"+(STR(datum2<4>))),2) ` Minuten 2-stellig ausgeben

seitentext=(("Seite "+(STR p_seite))+" von ") ` Seiten-Zeichenkette

seitentext=(seitentext+(STR p_seiten)) ` Zeichenkette erweitern

style=0 ` Stil auf PLAINTEXT

SETPOS(288-(PLEN seitentext)),60 ` rechtsbündig positionieren

PRINT seitentext ` Text ausgeben

HARDCOPY 25,31,4,puffer ` Grafik an Drucker senden

scrbuf=$80 ` Ausgabe auf Vordergrund

INC p_seite ` Seitennummer erhöhen

RETURN ` zurückspringen

`*** Routine zur Ausgabe einer Iconreihe

@reihe_drucken ` Einsprunglabel

reihe_zeigen ` Unterroutine Reihe aufbauen

HARDCOPY 25,31,6,puffer ` Grafik an Drucker senden

RETURN ` zurückspringen

`*** Iconreihe in den Hintergrund schreiben

@reihe_zeigen ` Einsprunglabel

scrbuf=$40 ` Ausgabe auf Hintergrund

style=0 ` Textstil PLAINTEXT

offset=2 ` Startbyte im Directory-Block

PATTERN 0 ` Muster 0 (weiß)

RECT 0,0,319,96 ` Druckpuffer löschen

icon=0 ` Zähler für Icon-Reihe setzen

REPEAT ` Schleife beginnen

IF(icon>3)THEN ` wenn rechter Teil

icony=48:iconx=((INT(icon-4))*72) ` dann unterer Bildschirmteil

ELSE ` sonst

icony=0:iconx=(32+((INT icon)*72)) ` oberer Bildschirmteil

ENDIF ` Bedingungsende

WINDOW(iconx+1),(icony+1),(iconx+70),(icony+46) ` Textausgabebegrenzung

icon_zeigen ` ein Icon in Druckpuffer

WINDOW ` Textbegrenzung aufheben

INC icon ` Iconzähler erhöhen

offset=(offset+32) ` nächster Directoryeintrag

UNTIL(icon==8) ` bis alle 8 Icons ausgegeben

icon=((s_ende-druckseiten)+1) ` Directoryseite ermittel

SETPOS(28-(PLEN(STR icon))),20 ` rechtsbündig positionieren

PRINT(STR icon) ` Nummer ausgeben

scrbuf=$80 ` Ausgabe auf Vordergrund

RETURN ` zurückspringen

`*** einzelnes Icon im Druckpuffer darstellen

@icon_zeigen ` Einsprunglabel

IF(format==0)THEN ` wenn einfache Ausgabeform

zeichen=((diskpuffer<offset>)AND %00111111) ` dann C= Dateityp bestimmen

IF(zeichen<>0)THEN ` Ausgabe, wenn nicht DEL

IF((zeichen>3)OR((diskpuffer<(offset+22)>)==0))THEN ` wenn Datei nicht-GEOS

BITMAP(LOW((iconx/8)+3)),(icony+5),c64_icon ` dann Standart-Icon

ELSE ` sonst

GETBLOCK(diskpuffer<(offset+19)>),(diskpuffer<(offset+20)>),diskpuffer2 ` Infoblock einlesen

(diskpuffer2<1>)=3 ` zu Bitmapobjekt

(diskpuffer2<2>)=21 ` verwandeln

(diskpuffer2<3>)=0 ` y-Koordinate als Word

BITMAP(LOW((iconx/8)+3)),(icony+5),(OBJECT AT $8101) ` Icon ausgeben

ENDIF ` Bedingungsende

FONT university6 ` Zeichensatz einstellen

seitentext="" ` Zeichenkette löschen

zzähler=3 ` Zeichenzähler für Dateiname

REPEAT ` Schleife Name einlesen

zeichen=(diskpuffer<(offset+zzähler)>) ` Zeichen holen

IF(zeichen<>$a0)THEN ` wenn nicht $a0

ADD seitentext,zeichen ` dem Namen hinzufügen

ENDIF ` Bedingungsende

INC zzähler ` Zähler erhöhen

UNTIL((zeichen==$a0)OR(zzähler==19)) ` bis Endzeichen oder Ende

SETPOS(iconx+(36-((PLEN seitentext)/2))),(icony+33) ` Ausgabeposition zentriert

PRINT seitentext ` Dateiname ausgeben

SYSFONT ` wieder Systemzeichensatz

ENDIF ` Bedingungsende

ELSE ` sonst (erweiterte Form)

zeichen=((diskpuffer<offset>)AND %00111111) ` C= Dateitypbestimmen

IF(zeichen<>0)THEN ` wenn nicht DEL

FRAME iconx,icony,(iconx+70),(icony+46) ` Rahmen für Icon ziehen

WINDOW(iconx+1),(icony+1),(iconx+69),(icony+45) ` eingeschränktes Textfenster

IF((zeichen>3)OR((diskpuffer<(offset+22)>)==0))THEN ` wenn Datei nicht-GEOS

BITMAP(LOW((iconx/8)+1)),(icony+3),c64_icon ` Standart-Icon ausgeben

ELSE ` sonst

GETBLOCK(diskpuffer<(offset+19)>),(diskpuffer<(offset+20)>),diskpuffer2 ` Infoblock einlesen

(diskpuffer2<1>)=3 ` in Bitmap-Objekt

(diskpuffer2<2>)=21 ` umwandeln

(diskpuffer2<3>)=0 ` Y-Koordniate als Word

BITMAP(LOW((iconx/8)+1)),(icony+3),(OBJECT AT $8101) ` Icon ausgeben

ENDIF ` Bedingungsende

3 DIR PRINT_obj 3 KB App Data Object Data V1.0 VLIR 1994-03-29 21:21 Falk Rehwagen .cvt
4 GEOCOM_Demo 27 KB Application geoCom V1.4 VLIR 1994-01-03 19:00 Falk Rehwagen .cvt
Das alternative Programmiersystem für GEOS 64/128.
(Demo-Version)
5 AlbumAnimator 3 KB Application Animator V1.0 SEQ 1989-01-12 21:36 Dennis N. Seitz .cvt
Shareware: $5 Dennis Seitz
7137 Snake Rd
Oakland CA 94611
6 ScraPeek 3.4 6 KB Application ScraPeek V3.4 SEQ 1989-05-10 22:57 Ed Flinn .cvt
ScraPeek for GEOS 64 and 128 40/80! Support for photo album 2.1 added.
7 female 7 KB App Data photo album V1.0 VLIR 1988-07-06 15:52 .cvt .png
8 GeoView 3 KB Application GeoView V1.0 SEQ 1988-03-15 23:00 Stephen R. Bassler .cvt
View, scroll, and print
GeoPaint pictures in
full-screen mode.
9 .info_gw 1 KB System .info_gw V1.0 SEQ 1995-09-02 17:51 GATE WAY .cvt
10 CONVERT 2.5 5 KB Application CONVERT V2.5 SEQ 1989-03-17 06:01 William C. Coleman .cvt
This version allows you to select multiple files!
11 Wrong is Write 11 KB Application Converter V7.0 VLIR 1988-12-22 16:20 Red Storm .cvt
Verwandelt GeoPaint Dokumente im andere
Formate wie V1.1, V2.0 oder V2.1.
- Bogdan Günther -
12 UNPUBLISH 4 KB Application UnPublish V1.0 SEQ 1991-01-06 08:12 Marc F. Brouillette .cvt
Convert a GeoPublish formatted text file back to GeoWrite.
13 WRITE TOOLKIT 11 KB Application TOOLKIT V1.2 SEQ 1988-12-20 13:40 Rick Krantz .cvt
TOOLKIT - a geoWrite Utility Kit
14 NewTools 5 KB Desk Acc NewTools V1.0 SEQ 1990-10-21 11:28 David B. Ferguson .cvt
A new set of tools to be used in geoPAINT. Read docs!
Geos-Shareware: MasterMMSoft
15 Scribble 5 KB Application Scribble V1.0 SEQ 1990-01-02 17:31 Nate Fiedler .cvt
This is a mini-draw program
with color and full pen cotrol.
Geos-Shareware: MasterMMSoft
16 NewTools Docs 7 KB App Data Write Image V2.0 VLIR 1990-10-21 14:39 .cvt .html

NewTools by David B. Ferguson

(Copyright 1990)

Preliminary Notes:

NewTools is a Desk Accessory meant for use in GeoPaint. While it can be run from other applications, it will serve no useful purpose in them, at best, and may crash.

Running it from DARunner works. Running it from the geoWizard DA routine doesn't.

Finally, this was written and tested on a C64. It should also work fine on a 128 in 40 columns. I have no idea what it will do in 80 columns, but don't get your hopes up.

Introduction:

NewTools is a set of 16 graphic manipulation tools to be used from within geoPaint. There are four basic manipulation types, each with four directions:

1) Skewing, where rows of pixels are shifted one pixel right or left, starting from the top or the bottom of the graphic.

2) Arrow, where the graphic is made into an arrow shape (kinda) left, right, up or down.

3) Slanting, where columns of pixels are shifted one pixel up or down, starting from the left or the right of the graphic.

4) Rotating 45 Degrees, where the graphic is rotated up-left, up-right, down-left or down-right. The graphic pivots on the opposite corner. IE up-left pivots from the upper, right corner. Rotating has a bizarre effect on the graphic: it tends to make it twice as big and half as dense. I had neither the energy or the inclination to develop a smoothing routine for this. Maybe future versions.

You should print out the NewTools demo geoPaint file to get a better idea of what each of these do.

Make It Go:

Plan ahead and play around with NewTools to get an idea of what it can do and what its limitations are.

Create whatever graphic you want to word with, either some text, or a picture, or whatever. Your only limitation here is that you don't use the first two or three lines at the top of the geoPaint work area; the NewTools cursor can not access the top tw or three rows.

Then go to the Geos menu and select New Tools.

Two things will happen right away:

The tool box on the left of the screen will change to the new toolbox;

The cursor will change to a crosshair.

You will also notice that you can not move the cursor off of the geoPaint work area. NewTools is waiting for you to select the area you wish to manipulate. Your first selection should be the upper left corner of the rectangular area you wish to select. Find that point, then click. Nothing will happen. Then find the lower right corner of the are and click again. (The area you selecte is always rectangular.)

Now something should happen. Your mouse picture will return to whatever it normaly is, and you are now restricted to the toolbox area.

At this point you may click on the icon that reflects the manipulation you wish to make. After you make your selection, your graphic will change according to your wishes, the cursor changes to a crosshair again and you are once again restricted to the work area.

A manipulation is NON-destructive of anything in its path. In other words, if you skew something to the right, it will layer itself over whatever is to the right of it, in the same way geoPaint pastes an object in the transparent mode.

The toolbox also has three other options:

1) CA--allows you to cancel the two position selections you just made. You may then go back and select again.

2) UN--allows you to undo the last manipulation done. So, lets say you skewed something to the right and don't like the results. Just click the mouse twice on the work area and click on UN. That will undo the skew.

3) DONE--sends you back to the normal geoPaint tools. Like UN, to do DONE just click the mouse twice anywhere on the work area.

THE MOST IMPORTANT THINGS:

Once are done you will be returned to the geoPaint work screen. STOP!!!

STOP!!!

The change you made is NOT yet PERMANENT!!!

If you do not like the changes you made while using NewTools, select "recover" from the file menu NOW! Your screen will revert to what it looked like before you entered NewTools.

If you LIKE what you did, then you must make it permanent. You can do this just by changing anything on the screen. This can be as simple as using the pencil, making a dot, then undoing the dot. Or erasing something. Or just about anything.

HOWEVER, if you close, or quit or move the screen prior to doing the above, your efforts in NewTools WILL BE LOST!!! AND if I get one message from someone who says they keep losing the work they did in NewTools, I'm gonna scream!!!!

This Is Not A Perfect World:

So don't expect it to be. The things that NewTools do aren't do-able with the normal geoPaint routines. But like geoPaint itself, some graphic objects don't lend themselves to manipulation as well as others. Occasionaly oddities show up in the routines, so play around alot.

A Lie I Told:

When you are selecting your area to manipulate, your clicks can actually be on any corner of the area you wish to select as long as they are opposite corners. Your clicks don't have

17 Scrib.docs 4 KB App Data Write Image V2.0 VLIR 1990-01-03 18:16 .cvt .html

Scribble by Nate Fiedler (NateF)

Scribble is a miniature drawing program that has on and off pen drawing, full color handling, DA handling, and full VLIR document file support.

When you run Scribble, you are presented with three choices.

One is to create a file. You enter a new Scribble document name and then you are presented with the main drawing window. Here you can draw all you want, using color, and the cursor keys will move the mouse one pixel at a time.

Two is to open an existing Scribble file. Everything is the same as in creating a file. In general, Scribble will handle documents just like geoWrite or geoPaint, so it's not real tough to learn to use this application.

Three is to quit to deskTop. Not really a feature, but it is there to select.

Besides the opening dialog box, there is the menu. It has two items: geos, and file.

Geos - here you have "info" which lists the title of Scribble and the author's name. If there are any desk accessories on your disk, here is where they will be listed. Only 7 DA's at a time will be listed. (You know that bit already from geoWrite.)

File: close - this will close the present document and let you open another one, or quit.

update - this will save the current changes to disk. Again, all this is the same as any Berkeley application.

recover - will load the last updated changes from disk. This is in case you really screw up an existing picture.

rename - will let you change the name of the current Scribble document.

print - will (I hope.) print your document to any printer. I only have a comm. compat., so I don't know how will act on other printers. Scribble will not print color on the printer.

quit - will exit to the deskTop

Almost all the file options will update the Scribble document, except recover, of course. Again, this is just like geoWrite or geoPaint.

The pen will be off when you run Scribble. To turn it on, you must click the mouse somewhere in the drawing window. To turn it off, do the same thing. The cursor keys will also move the mouse pointer pixel by pixel.

There are also five icons under the window.

Back - will change the background drawing color

Pen - will change the foreground drawing color

Clear - will clear the drawing window

Undo - will undo any change JUST made in the drawing window. If you just cleared it, you can undo the clear. Selecting a menu item in the main menu will save the window to the background screen buffer. Hitting any of the other icons will also save the window. If you turn the pen on or off, that will also save the window.

Color - will fill the window with the current background and foreground colors.

18 geoPCX docs 4 KB App Data Write Image V2.1 VLIR 1991-06-08 18:31 .cvt .html
geoPCX documentation.... (nah, really?!)

geoPCX (Version 1.0)

Copyright (C) 1991, Jim Collette

19 geoPCX 7 KB Application geoPCX V1.0 SEQ 1991-06-08 17:44 Jim Collette .cvt
Convert geoPaint to PCX format
by Jim Collette 6/91.
Geos-Shareware: MasterMMSoft
20 Inhalt64'er93 18 KB App Data Write Image V2.1 VLIR 1994-08-04 23:22 .cvt .html
Jahresinhaltsverzeichnis '93 written in 1994 by Oliver Weißflach Copyright by MagnaMedia

Jahresinhaltsverzeichnis '93

Artikel Seite Ausgabe Artikel Seite Ausgabe

Aktuelles Magische Quadrate 46 1

The Snake 46 2

Messebericht Toggle 43 3

Hobby und Elektronik '92 8 1 Minefield 35 4

World of Commodore 8 2 Diagrammcreator 45 5

CeBIT '93 6 6

2-KByte-Programme

Sonstiges Mah Jongg 49 1

Weihnachtsgeschenktips 10 1 Menü - Basic 49 1

Computerschrottentsorgung 12 2 Note - Maker 49 1

Auflösung des 64'er Diplom 91 2 Flip - it 49 2

Gewinner des 64'er Diplom 86 4 Sir - Hufpack 49 2

Der beliebteste Joystick im Land 91 4 FLI - Ripper 38 3

Auflösung Spiel des Jahres '92 93 4 Screen - Saver 38 3

Ergebnis der 64'er Umfrage 10/92 8 5 Fractal Factory 36 4

Die neuen Postleitzahlen 9 5 Magnify 36 4

Ergebniss der Geos - Umfrage 30 5 Neue Pengo Level 44 4

Gewinner: Druckertreiber Wettbewerb 30 5 Quatrix 41 5

Auflösung; Apfelmännchen Wettbewerb 77 7 Codepursuer+ 38 6

Sprachkünstler C64 10 8 Mini - Screen 38 6

Sprachenvergleich 13 8 The Menubasic 39 7

Programmiersprache Basic 16 8 Collisions 35 8

Wo gibt's Bücher? 22 8 Logik - Trainer 35 8

Gewinner des GFX - Wettbewerb 83 9 Atlantis 38 9

Große 64'er Leserumfrage 99 10 Cross'n Circle 38 9

Commodores verlorener Sohn (C65) 8 12 Hope to Hopp 49 10

Gewinner des Boeder Talentwettbewerb 102 12 Colors 49 10

Kassette V3.1 48 11

Grafik Diamand Jones II 49 11

Hires - Multicolor 46 12

Profigrafik: Die digitale Illusion 8 7 Cross Invert 46 12

Raytracing 12 10

5-KByte-Programme

Grundlagen Surface 36 2

Swap it! 40 3

So funktioniert eine Maus 27 1 Digi - Designer V1.1 38 4

Mausprogrammierung 28 1 Chemical 42 5

Virtual Reality 10 3 FLI Demo Loader 35 6

Moderne Speichertechniken 21 4 P.P. Digger 36 7

Künstliche Intelligenz 11 5 Unicon 38 8

Optische Prozessoren 10 7 Overlay - Sprite - Editor 35 9

Vektorgrafik - Programmierung 70 7 FLI - Profi 46 10

Eprom - Grundlagen 10 9 Stones 52 11

PC - Datenkonvertierung 80 9 Graphic Creator 49 12

Morphing 8 11

TFT - Technik 10 11 Spiele

Schach 64 30 2

Musik Fred's Back 32 4

Plis 32 6

Digitale Klänge 80 6 Space Pirates 43 7

Working Stone 32 8

Listings zum Abtippen Quadris 44 8

Magische Steine 32 9

20-Zeiler Hermetic 34 11

Termites 46 1 Shadow of the Evil 32 12

Determinator 46 1 Schach 64 Patch 43 12

Artikel Seite Ausgabe Artikel Seite Ausgabe

Mathematik Listings für C128

Neues von der Fakultät 36 3 Trace 128 40 1

Hyper - Fak 3.2 38 11 WAYS: Sprite - Move - Editor 42 2

Flexi Char Size 48 3

Musik Draw - Load 49 3

Nordic - Beat - Editor 30 3 DYCP 46 4

Techtech 80 46 8

Floppy Geotool 128 48 8

Swiftload V2.2 44 3 Grafikklau 46 11

Rush - Loader 17 5 Collisions: Weltraumkrieg 44 12

Grafik Sonstiges

Bitmapremapper 52 1 Satelitten - Finder 42 1

Editor für den Extended-Color-Mode 51 2 Char - Picture - Converter 42 9

Power - Converter 46 3 Movie 32 44 10

FLI - Painter 32 5

Raster Man V1.0 42 7 Tips & Tricks

Power - IFF - Converter 42 12

T & T zu Modulen

Anwendungen T & T zu Magicformel 22 1

Sir - Copy: Kopierprogramm 32 1 T & T zu Super Snapsshot 22 1

Der Filepacker 38 1 T & T zu Action Replay, Teil 2 23 1

DL - Writer 38 5

Proprint 42 6 T & T für Einsteiger

Mini - Adress 47 9 Bitte wenden 77 3

Minidir 40 10 Ich bin noch nicht fertig! 77 3

Bitstreamer: Pack - Utility 42 10 Runde Sache 77 3

Komma - Koma 77 3

Tool

Viza Konverter 40 2 T & T zum C64

List 2000 47 2 Power - Poke 69 1

Movie 1.2 35 3 Rahmen - Mon 70 2

Perfekt Windows 40 4 Restore Zeilennummer 70 2

Fast Goto 41 4 Automatische Zeilennummern 54 5

Hypra Basic 46 5 Flugzeug 54 5

Hypra Basic: neue Module 40 6 Laufwerk bereit? 54 5

GoDot 28 7 Notbremse 53 6

Hypra Basic: neue Module 44 7 Start mit Restore 53 6

Digisound - Ripper 42 8 Floppy eingeschaltet? 53 6

Logo - Generator 44 9 Maulsperre 53 6

Der Basic - Assembler 32 10 Scratch - Sperre 54 7

Bildschirmschoner "Fish!" 38 10 Uncrash 69 8

Pop Up - Editor 44 11 GOTO zu berechneten Zeilennummern 59 9

REM Ex 51 11 RESTORE mit Zeilennummer 59 9

Update zu GoDot 40 12 BSAVE 59 9

Swap Screen 41 12 Strings PEEKn 59 10

Die erste Dimension 59 10

Assembler Der nächste bitte! 59 10

Multi - Reassembler 43 1 Was ist CMD? 59 10

XDAS: Disassembler 35 2 Weiter, immer weiter 59 10

Maus meets Vis - Ass 43 4 Wieviel ist ein Punkt wert? 59 10

Konverter 2.0 45 9 Data Tip 59 10

Inkompatible Zwillinge 59 10

Geos Goto auf Trab gebracht 62 11

Funktionen 50 3 Malnehmen für Könner 62 11

GeoWecker 50 4 Einer fehlt 62 11

Geos Monitor 48 9 Professionell Nachladen 62 11

Load Applikation 39 11 Joker 62 11

Datenschutz 62 11

Alles Zufall 62 11

Struktur ist alles 54 12

Artikel Seite Ausgabe Artikel Seite Ausgabe

Vorsicht, Falle 54 12 Input - Routine 60 3

Input - Bug 54 12 Interrupt - Handling 61 3

Der Code von Nichts 54 12 Infos zu LIST 2000 54 4

Professionell nachladen 54 12 Befehlserweiterung 64 5

Befehlserweiterung, Teil 2 56 6

T & T zum C128 IRQ - Routine 62 7

Proportional - Spacing mit Protext 70 1 Demo - Programmierung 66 8

Timing 69 2 Demo - Programmierung, Teil 2 66 9

Protect - Boot 76 3 Demo - Programmierung, Teil 3 65 10

Peek und Poke für VDC - Register 55 5 RS232 - Schnittstelle 64 11

Bitfolge 55 5 Maschinensprache - Tricks 64 12

Old - Routine 55 5

Paint 40 55 7 Assembler-Bibliothek

Konvert 128 58 9 Wandler-Routine 8/16 Bit Hex => Dez 68 8

Effekt - Trans 57 10 FLYP - Effekt 65 9

Bildschieber 58 10 Tabellen rotieren 65 9

Die Page Pointer der MMU 56 11 Where is the Cursor? 56 10

Softscroll mit dem VDC 55 12 Set Cursor on Screen Position! 56 10

Lange Warteschleife in Assembler 56 10

Geos im Griff Tic Tac - Effekt 56 10

Zugriffsschutz 70 3 Fehlerkanal der Floppy anzeigen 41 11

Geos - Formator 70 3 Ausgabe des Directory in Assembler 41 11

Geos - Druckertreiber 56 5 Druckerausgabe beliebiger Strings 41 11

Bildschirmschoner 56 5

Sysinfo 56 5 Profi-Corner

Geos - Modifikator 50 6 Trackloader 64 1

TopDesk128 change 50 7 Der DYPP 62 2

Calc128 change 50 7 2 - Pixel - FPP - Routine 58 3

CLI - Killer 50 7 vertikale Rastersplits 57 4

Geos - System Diskette freezen 52 8 3D - Demo 62 5

GeoWrite - Fehler beheben 52 8 Sideborder - Sprites 59 6

GeoWrite - Bilder editieren 52 8 DYSP 58 7

VLIR - Dateien wandeln 52 8 Plasma - Effekte 60 8

schnelles GeoWrite 53 8 Apfelmännchen 1 70 9

schneller Neustart von Geos 53 8 Apfelmännchen 2 62 10

Spaltendruck mit GeosLQ 54 9 Y - Scrolling leichtgemacht 70 11

neues für GeoCalc 54 9 Floppy - Programmierung 56 12

Support vom GUC 55 9

Software-Corner

Basic-Corner Vizawrite 66 1

neue Zeichensätze 56 1 Profi - Ass 64 2

Sprite - Move 58 2 Printfox 64 2

Der SID 56 3 Giga - Paint 65 2

Textdruck 52 4 Vis - Ass 54 3

Grafikdruck 60 5 Geos: GeoRam 54 3

NEW und Co 60 6 Printmaster 58 4

sequentielle Dateien 60 7 Printshop 58 4

Tuning 64 8 Star Texter 5.0 62 6

Unterprogramme 72 9 Vizawrite 64 7

Spielen ohne Joystick 72 9 Vizawrite 62 8

Alles unter CONTROL 72 9 Vizawrite 68 9

unzulässige Variablennamen 73 9 Mastertext+ 72 11

Bitmap schnell gelöscht 73 9 Action Replay 62 12

Strukturiert oder nicht? 68 10

Bestenlisten 67 11 Kurzreferenz

Rechnen mit dem C64 59 12 Paint Mania 65 1

Business - Graphics 65 3

Assembler-Corner Prologic - Dos - Classic 75 3

Vektoren 58 1 Die GIGA-Mon Befehlsübersicht 65 4

Raster - IRQ 60 2 Vis - Ass V5.0 67 5

Rastersplit 60 2 Ghostwriter 64 9

Artikel Seite Ausgabe Artikel Seite Ausgabe

The Final Catridge III 63 11 Bauanleitung

Amica Paint 66 12

Der serielle Port - Tester 80 1

Print News PC - Tastatur am C64 82 1

Epson - Treiber 72 2 Der Kassetten Port - Tester 85 2

XF - Auswähler 72 2 Modelleisenbahn - Steuerung, Teil 1 14 3

Grafiken 68 3 Pulsmesser 18 3

Anleitung zum "Scannen" von Bildern 62 4 Blumengießen 20 3

MPS 1230 und Geos 63 4 Alarmanlage 22 3

Neue Zeichensätze für 24 Nadler 68 5 Einfachthermometer 23 3

Russischer Zeichensatz 56 7 Das ultimative Test - Tool 78 3

Printmaster mit 24 Nadeln 56 7 Modelleisenbahn - Steuerung, Teil 2 80 4

Rechtschreibkontrolle für Print,- Pagefox 58 8 Logik - Tester 84 4

F - Print, druckt Schablonen für die Schreibkontrolle für Floppy Laufwerke 21 5

Funktionstasten 58 8 Modelleisenbahn - Steuerung, Teil 3 76 5

Druckmaster 62 9 Modelleisenbahn - Steuerung, Teil 4 67 6

Präsidenten - Suite 70 10 Digitizer 76 6

Verstärker 24 7

Sonstige Tips Bildschirmschoner 26 7

100 Tips & Tricks 10 4 UV - Belichtungsmesser 82 8

Tips & Tricks zu GoDot 70 8 Module im Eigenbau 8 9

Windmesser 88 11

Hardware Stationärer Joystick 94 11

Telefonkarten lesen mit dem C64 83 12

Modellbahnsteuerung 16 3

Floppyspeeder im Vergleich 14 5 Hardwaretest

Floppyjustage 20 5

Monitore 15 10 Multifunktionsmodule 14 1

Werkstatt - Test 28 10 Spielemodule 20 1

Elektronische Bauelemente im Einsatz 82 10 Maus - Vergleichstest 24 1

Spielen mit dem Computer: SID - Symphony 90 1

Fischertechnik Computing 80 12 Plotter: Minigraf 517 91 1

CMD FD 4000: Super Megabyte Floppy 26 3

Drucker Super Midi - Packet 26 5

Star LC-100 Colour 88 1 Videoprojektor Fuji P 40 E 28 5

Neues Testverfahren für Drucker 24 2 Geos - Turbo - Maus 29 5

24 Nadler Vergleichstest 26 2 Digital - Genlock 12 6

Fujitsu DL 1150 28 3 SID - Symphony, 2. Test! 82 6

Citizen Swift 240C 28 4 Videoprofi 12 7

IBM 4070 29 4 BTX - Light 12 8

Citizen Swift 200 30 4 Tiny - Eprommer 12 9

Star LC 24-20 II 24 5 Modem - Test: Sharky LC 2496 78 9

Seikosha SL-95 Color 24 5 Monitor contra Fernseher 16 10

DIP - Schalterbelegungen 16 6 Floppy goes PC 27 11

Drucker aus zweiter Hand 20 6 Puffermodule für REU's 30 11

Erste Hilfe beim Druckerstreik 24 6 Ram Erweiterung: BBG 32 11

Epson Stylus 800 26 6 Modemtest: Aceex 9624 VE 14 12

Canon BJ 10 SX 22 7 Sportster 14400 Fax 14 12

Panasonic KX - P 2023 20 8 ZYXEL U 1496 EG+ 14 12

Brother HJ - 400 76 9 Joypad - Vergleichstest 25 12

Matrix, Tinte oder Laser? 12 11 Turbo - Computer - Lightpen 79 12

Preiswerte Drucker für den C64 14 11

Druckerpflege 24 11 Kurse

Mannesmann Tally MT 83 29 12

Fließkomma-Arithmetik

Extratouren Kursteil 1 48 5

Kursteil 2 46 6

Selbstbauscanner 88 4

Roboter 80 7 Drucker-Kurs

Singende Bäume 81 8 Basic wie gedruckt Teil 1 48 10

akustischer Schalter 92 11 Basic wie gedruckt Teil 2 57 11

Artikel Seite Ausgabe Artikel Seite Ausgabe

Sound GeoChart 48 7

Musik Kurs Teil 1 71 4 Grafikkonvertierung 54 8

Musik Kurs Teil 2 74 5 Printer & Co 52 9

Musik Kurs Teil 3 64 6 GateWay 52 10

Musik Kurs Teil 4 74 7 Publizieren mit Geos: GeoPublish 60 11

Musik Kurs Teil 5 78 8

Musik Kurs Teil 6 86 9 DFÜ

Musik Kurs Teil 7 76 10

Terminalprogramme 10 12

Messen-Steuern-Regeln Software via BTX 16 12

Kursteil 1 79 2 Mailboxen im Test 18 12

Kursteil 2 81 3

Kursteil 3 74 4 Software

Assembler Softwaretest

Assembler Grundkurs Teil 4 75 1 Vereinsverwaltung 90 2

Assembler Grundkurs Teil 5 76 2 Vergleichstest: Basic - Dialekte 22 4

Assembler Grundkurs Teil 6 84 3 Lohnsteuer '92 11 5

Ghostwriter 12 5

Elektronische Bauelemente Low - cost Software von Boeder 13 7

Kursteil 1 84 7 Fun School 22 8

Kursteil 2 75 8 Textprogramme im Vergleich 16 9

Kursteil 3 88 9 Geos 2.5 28 9

Drucker - Software 22 11

Raubkopien & Co Assembler - Kurs 26 11

Wolf im Schafpelz Teil 1 8 3 Power - C 69 12

Wolf im Schafpelz Teil 2 8 5

Wolf im Schafpelz Teil 3 10 6 PD-Software

Wolf im Schafpelz Teil 4 8 8 Wie gut ist Public-Domain Software? 88 2

Neues von der PD - Front 28 6

GoDot Kurs PD-Anbietertest: Independent Softworks 18 7

Kursteil 1 96 11 PD - Software für den C128 74 12

Kursteil 2 76 12

Sonstige Software

Geos Boeder Gratis Diskette mit Lernspielen 34 7

Softwaretest Spiele

GeoCanvas 71 1

Gateway 29 6 Spieletest

Special #1 20 7 Demon Blue 95 1

CLI - Test 68 12 Fly harder 96 1

The Best of ... Vol. 1 72 12 Eskimo Games 96 1

Freedomware - Collection 73 12 Scemario 97 1

First Samurai 95 2

Geos-Spezial Winzer 96 2

Hard- und Software für Geos 14 2 Hook 96 2

Fragen und Antworten zu Geos 18 2 Steigenberger Hotelmanager 97 2

Druckeranpassung 22 2 Black Gold 97 2

Die Geos Familie 20 10 WWF European Rampage 91 3

Geos Werkzeuge im Überblick 22 10 Cool World 91 3

Shareware/PD für Geos 24 10 Leathal Weapons 92 3

PC - Geos 26 10 Erben des Throns 92 3

GeoCom Preview 71 12 Hägar 93 3

Football - Manager III 94 4

Geos - Workshop Kangarudy 2 94 4

GeoPaint und GeoWrite 62 3 The Shoe People 95 4

GeoCalc 48 4 Sword of Honour 94 5

Serienbriefe mit GeoFile, GeoMerge Plazma Ball 95 5

und Geowrite 58 5 Die Prüfung 92 6

Videoverwaltung mit GeoWrite 48 6 Kunst aus China 93 6

Artikel Seite Ausgabe Artikel Seite Ausgabe

Mc Donaldsland 90 7 Sonstiges zu Spielen

Streetfighter 2 88 8 CAMELOT - Christmas - Party 97 3

Sleepwalker 95 9 Spiele im Megapack 82 5

Indy Jones 4 95 9 Demo - Party in Göteborg 8 10

Nobby the Aardvark 90 10 Die besten Spiele '93 20 12

Trolls 91 10 System - Vergleich: Spiele - Konsolen

Crazy Cars 91 10 mit CD - Laufwerk 24 12

Wrath of the Demon 92 10

Liverpool 81 11 Wettbewerbe

Omus Saga II 82 11 5-KByter Wettbewerb ab Ausgabe 01

Rampart 90 12 64'er Malwettbewerb 79 1

Battle Command 90 12 Geos - Umfrage 21 2

Demowettbewerb der WOC 12 3

Longplay GFX - Wettbewerb 30 6

Kings Bounty 102 Boeder - Programmierwettbewerb 16 7

Creatures 2 100 2 C128 - Programmierwettbewerb 46 7

Crime Time 100 3 Genlock zu gewinnen 26 8

Soul Crystal 100 4 Wanted: Cartoon gesucht 93 9

Catalypse, 1. Teil 96 5 Große Leserumfrage 99 10

Catalypse, 2. Teil 88 6 Logowettbewerb 78 11

Elvira II, 1. Teil 96 7 Gesucht: Spiel des Jahres 1993 22 12

Elvira II, 2. Teil 94 8

Times of Lore, 1. Teil 98 9 Rubriken

Times of Lore, 2. Teil 94 10 Reparaturecke

First Samurai, 1. Teil 74 11 Spieleszene aktuell

First Samurai, 2. Teil 97 12 64'er Hitparade

Spieletips

Evergreen des Monats

21 QuickView 3 KB Application QuickView V1.0 SEQ 1988-02-17 21:09 BSC TechUnit .cvt
Dump Write files to screen.
Patched to work with geoWrite 2.X.
22 HulmeView 6 KB Application Hulme View V1.0 SEQ 1988-10-28 09:53 J. Buckley .cvt
View CBM SEQ files from the GEOS DeskTop.
23 BluePencil 6 KB Application Blue Pencil V1.0 SEQ 1989-03-12 19:50 Charles E. Kinney .cvt
Document analysis application for geoWrite V1.1 to V2.1 files...
24 RETRIEVER 2.0 4 KB Application Retriever V2.0 SEQ 1989-04-29 02:54 Ed Flinn .cvt
Retrieve photo scraps from geoWrite, geoFile and geoPublish documents.
25 DB_EDITOR 12 KB Application DB_Editor V1.2 SEQ 1994-09-20 12:13 Sascha Beier .cvt
Demoversion des DB_Editors, ohne Quelltexterzeugung für MegaAss.
26 DB_Editor.Anl 23 KB App Data Write Image V2.1 VLIR 1994-09-20 12:04 .cvt .html

Anleitung für: Demoversion des DB_Editor V1.2 vom: 28.4.94 Seite: SEITE

0. Vorwort

Bevor ich das Programm erläutere, möchte ich mich bei allen bedanken, die mich bei der Verwirklichung dieses Projektes unterstützt haben. Besonders bedanken möchte ich mich bei Falk Rehwagen für seine Hilfe bei der Lösung von Problemen in der Programmierung und bei der Korrektur der Anleitung. Weiterhin gilt mein Dank Denis Döhler, der mir freundlicherweise seine BBGRam zur Verfügung stellte. Im Gegensatz zu einer normalen geoRAM läßt es sich komfortabler arbeiten. Der letzte Dank gilt meinen Eltern, die die durch das Programmieren erhöhte Stromrechnung bezahlen.

Ich wünsche Ihnen viel Spaß mit dem Programm und hoffe die vorliegende Anleitung kann Ihnen den DB_Editor genau erklären.

Ich verbleibe bis auf weiteres.

1. Kurze Vorstellung

Welcher GEOS-Programmierer kennt sie nicht, die kaum zu überblickenden Tabellen einer Dialogbox. Kaum einer kann sich vorstellen, ob die gerade hinzugekommene Fileauswahlbox sich an der richtigen Stelle befindet, oder ob bei der aktuellen Fenstergröße überhaupt ein System-Icon eingesetzt werden kann. Um dieses Manko zu beseitigen, wurde der objektorientierte Dialogbox_Editor geschrieben. Mit dessen Hilfe ist es möglich, durch einfaches Editieren der Objekte (Icons, Texte usw.) eine Dialogbox zu gestalten und diese dann im MegaAssembler-Format als Quelltext abzuspeichern. Somit ist es möglich, die Tabelle in seinen eigenen Quelltext zu übernehmen. Der Editor verwendet den gleichen Aufbau der Tabelle, wie es der MegaAssembler vorsieht.

An dieser Stelle folgt eine kurze Erläuterung der entsprechenden GEOS-Routine (DoDlgBox $C256). Ihr muß in r0 (Register 0) ein Zeiger auf die Daten-Tabelle übergeben werden. Die Datentabelle hat folgenden Aufbau:

Die Kommando-Codes werden zu einer Befehlsfolge zusammengefaßt, die mit $00 abschließt. Vor den eigentlichen Kommandos stehen die Informationen zur Größe und Position, sowie zum Rahmen der Dialogbox. Für diese Informationen gibt es zwei Möglichkeiten:

1. Man verwendet eine vordefinierte Dialogbox, wie beispielsweise im DeskTop-Menü <geos>, Menüpunkt <info>.

Um vom vordefinierten Fenster Gebrauch zu machen, ist Bit 7 im ersten Byte der Befehlsfolge zu setzen. Die Bits 0-4 entscheiden noch über das Schattenmuster. Mit diesen 5 Bits können leider nur die ersten 32 Muster ($00 - $1f) erreicht werden.

Unmittelbar nach dem ersten Byte steht dann das erste Kommandobyte. Im MegaAssembler-Format sieht das dann wie folgt aus:

:Tabelle b $81 ; System-Box mit schwarzem Schatten

; Muster $01

b OK,$11,72 ; 1. Kommandobyte (OK-Icon)

b NULL ; Abschluß ($00)

2. Man verwendet eine eigene Box. Dazu muß Bit 7 im ersten Byte mit 0 belegt werden. Jetzt entscheiden die folgenden 6 Bytes über die Position und die Größe der Box. Die Bytes haben folgende Bedeutung:

Byte #1 obere Grenze

Byte #2 untere Grenze

Byte #3/4 linke Grenze

Byte #5/6 rechte Grenze

Auch hier kann wieder ein Schattenmuster gewählt werden. Dies ist analog zum ersten Fall. Lesen Sie gegebenenfalls bei Punkt 1 nach.

Die entsprechende Tabelle hätte dann z.B. folgenden Aufbau:

:Tabelle b 1 ; schwarzer Schatten, keine System-Box

b 30

b 100

w 20 ; von Position 20, 10 bis 200, 100

w 200

b OK,16,72

.

b NULL

Jetzt folgen auch hier die Kommando-Bytes. Deren genaue Verwendung lesen Sie im Buch zum MegaAssembler nach.

Auf ein Problem muß an dieser Stelle noch hingewiesen werden. Der Editor erstellt nur Dialogboxen für GEOS 64 bzw. GEOS 128 (hier aber nur im 40 Zeichen Modus). Somit läuft das Programm unter GEOS 128 auch nur im 40 Zeichen Modus. Eine Anpassung für den 80 Zeichen Modus ist vorgesehen, das Datum der Verwirklichung steht aber noch in den Sternen.

2. Allgemeine Hinweise zur Bedienung

Das Programm wird unter GEOS wie jede andere Applikation bzw. durch Doppelklick auf ein Dokument gestartet. Wie vorher schon erwähnt, läuft es unter allen GEOS Versionen. Beim C128 ist zu beachten, daß nur der 40 Zeichen Modus unterstützt wird. Nach dem Start erscheint der Eröffnungsbildschirm mit Copyrightmeldung und einer Auswahlbox. Hier kann man wählen, ob man eine neue Dialogbox erstellen will, ob man eine schon bestehende weiter editieren möchte oder zum DeskTop verlassen will. Entsprechend der Wahl erscheinen weitere Dialogboxen. Entweder wird man aufgefordert den Namen für das neue Dokument anzugeben, oder ein bestehendes Dokument aus einer Liste der auf der aktuellen Disk enthaltenen auswählen. Vorausgesetzt es ist kein Diskettenfehler aufgetreten, befindet man sich jetzt im Hauptbildschirm des Dialogbox_Editors. In der oberen linken Ecke ist das Hauptmenü zu erkennen. Daneben befindet sich eine Kommentarbox. In der Bildmitte befindet sich je nach Anfangsauswahl eine leere Box oder die aktuell geöffnete Box. Das Hauptmenü entählt 3 Menüpunkte. Deren nähere Erklärung finden Sie im nächsten Abschnitt der Anleitung.

3. Funktionsübersicht

Dieser Teil der Anleitung soll Sie mit den einzelnen Funktionen des Editors vertraut machen. Jede dieser Funktionen wird ausführlich vorgestellt, eventuelle Bedienungsfehler werden erklärt. Ich hoffe, eine übersichtliche Form der Aufstellung gefunden zu haben. Sollte es dennoch Fragen geben, so wenden Sie sich an die oben genannte Adresse.

3.1 Das geos-Menü

Nach anklicken des Menüpunktes geos baut sich ein Untermenü auf. Der erste Punkt verzweigt zur Info-Box des Programms (Copyrightmeldung). Jetzt folgen bis zu 8 weitere Menüpunkte, wo die auf der aktuellen Diskette enthaltenen Hilfsprogramme aufgelistet sind. Klicken Sie einen Namen an, so wird das entsprechende Programm geladen und gestartet. Nach Beendigung kehrt man zum Editor ohne Datenverlust zurück.

3.2 Das Datei-Menü

Hier baut sich ebenfalls nach Klick ein Untermenü auf. Man findet hier die entsprechenden Dateifunktionen. Angelehnt an andere Applikationen sind das:

1. Datei schließen

2. Datei aktualisieren

3. Datei Übersicht

4. Datei wiederherstellen

5. Datei speichern als geoWrite-Dokument

6. Datei Ende

3.2.1 Datei schließen

Das aktuelle Dokument wird abgespeichert. Tritt dabei ein Diskettenfehler auf, erscheint eine entsprechende Meldung und nach Klick auf OK kehrt das Programm zum DeskTop zurück. Ist das nicht der Fall, erscheint der Eröffnungsbildschirm, wo man erneut eine der drei Optionen wählen kann. Lesen Sie gegebenenfalls den Abschnitt 2 der Anleitung nochmals durch.

3.2.2 Datei aktualisieren

Hier wird das aktuelle Dokument nur gespeichert. Tritt kein Diskettenfehler auf, kann man sofort weiter editieren. Diese Funktion sollte man öfters ausführen, da bekanntlich durch viele Programme ein Absturz des Systems hervorgerufen wird, was zu einem Verlust der Daten führen kann. Mir ist beim Testen des Programms so etwas nicht passiert, doch Vorsicht ist die Mutter der Porzellankiste.

3.2.3 Datei Übersicht

Es erscheint eine Dialogbox, in der die Anzahl der verwendeten Steuerzeichen (Kommando-Bytes) aufgelistet wird. Außerdem ist ein Hinweis auf die maximal erlaubte Anzahl dieser Steuerzeichen gegeben. Nach Klick auf OK kehrt man zum Editor zurück.

3.2.4 Datei wiederherstellen

Hier werden die aktuellen Änderungen seit dem letzten Speichen zurückgesetzt, in dem die letzte Version erneut geladen wird. Bei einem Diskettenfehler kehrt auch hier der Editor nach einer Meldung zum DeskTop zurück.

3.2.5 Datei speichern als MegaAssembler-Quelltext

Diese Funktion ist nur in der Vollversion des DB_Editors enthalten.

3.2.6 Datei Ende

Mit diesem Menüpunkt wird die aktuelle Dialogbox abgespeichert und man kehrt zum DeskTop zurck.

3.2.7 Zusammenfassung

Zusammenfassend kann man sagen, daß die einzelnen Funktionen des Datei-Menüs denen anderer Applikationen (z.B. geoWrite) ähneln. Sollte es dennoch Probleme oder Fragen geben, lesen Sie nochmals in Ihrer Anleitung zum GEOS-System nach. Dort sind die Menüs der einzelnen Anwendungen genau erläutert. Eventuell auftretende Fragen beantworte ich auch. Schreiben Sie dazu an obige Adresse.

3.3 Das Menü Editieren

Das sich hier aufbauende Untermenü stellt die gesamten Editorfunktionen dar. Über die einzelnen Punkte können fast alle Kommando-Bytes in die Datentabelle eingefügt werden. Warum nicht alle, werden sich jetzt einige fragen. Das einzige, nicht implementierte Kommando-Byte, ist das für das Hinzufgen eines selbstdefinierten Icons. Ich hatte die Absicht, eigens für das Entwerfen solcher Icons einen separaten Editor zu programmieren und den DB_Editor um diese Funktion zu erweitern. Ich hoffe, die Zeit reicht nochmal dafür. Wer dennoch ein eigenes Icon verwenden möchte, kann dies trotzdem. Er muß sich nur an die alte Methode halten: Icon mit geoPaint oder einem ähnlichen Zeichenprogramm entwerfen, ausschneiden und mit den entsprechenden Steuerzeichen in den vom Editor erzeugten Quelltext einfügen.

Ich stelle im folgenden die einzelnen Funktionen vor.

3.3.1 Schatten ändern

Nach Abbau des Untermenüs ist eine Dialogbox zu sehen, in der neben dem OK- bzw. Abbruch-Icon, zwei Pfeil-Icons und ein Fenster mit dem aktuellen Schattenmuster zu sehen sind. Über die Pfeile kann das Muster gewählt werden. Nach Klick auf OK verändert sich der Schatten der aktuellen Box entsprechend der Wahl. Abbruch hat keine Wirkung auf den aktuellen Schatten.

3.3.2 Text einfügen

Hier erscheint ebenfalls eine Dialogbox. Im oberen Bereich ist der Text einzugeben (max. 30 Zeichen). Der untere Bereich dient zur Stilwahl. Voreingestellt ist normal (PLAINTEXT). Durch Klick auf eines der Kästchen wird der Stil an- bzw ausgeschaltet. Ein ausgefülltes Kästchen bedeutet, daß dieser Schriftstil gewählt wurde.

Über das Abbruch-Icon verläßt man die Box. Zu beachten ist noch, daß vor dem Drücken von RETURN der Stil gewählt sein muß. Jetzt ist nur noch die Position des Textes notwendig. Dazu erscheint nach Druck auf RETURN im Kommentarfenster eine Aufforderung zur Festlegung der Textposition. Die Größe des Textes wird dabei durch den am Mauszeiger angehefteten Rahmen gekennzeichnet. Das Programm achtet weiterhin darauf, daß der Fensterbereich nicht überschritten wird. Dazu läßt sich der Rahmen nur bis an die Fenstergrenzen bewegen. Die aktuelle Position wird ebenfalls im Kommentarfenster angezeigt. Nach einem Klick auf die Maus- bzw Feuertaste erscheint der intern in der Tabelle abgespeicherte Text an der gewählten Position.

3.3.3 Variablen Text einfügen

Variabler Text heißt in diesem Zusammenhang, es soll ein Text ausgegeben werden, dessen Inhalt z.B. unbekannt, seine Anfangsadresse jedoch bekannt ist. Das soll an einem Beispiel erläutert werden. Angenommen man hat ein Programm geschrieben, in dem an einer bestimmten Stelle ein Text (z.B. Name des Benutzers) eingegeben wurde. Zu einem späteren Zeitpunkt soll dieser Text ausgegeben werden. Da aber nicht bekannt ist, welchen Text der Nutzer des Programms eingibt, wird dieser an einer bestimmten Stelle im Speicher abgelegt. Bezeichnen wir den Anfang dieses Bereichs mit TextSpeicher. Der später folgenden Box übergeben wir diesen Wert als Textanfangsadresse. Da die entsprechende Routine aber nicht jede Speicheradresse verwalten kann, sondern nur Adressen der sogenannten Zeropage (r0L - r15H), muß eines der Register vor Aufruf der Routine DoDlgBox (Erzeuge eine Dialogbox) mit der Textanfangsadresse geladen werden. Die Datentabelle enthält dann das entsprechende Steuerzeichen (DBVARSTR = $0c), die Position des Textes und das Register, das die Anfangsadresse enthält. Der entsprechende Quelltextabschnitt könnte dann etwa so aussehen.

:ZeichneBox LoadW a0,TextSpeicher

LoadW r0,Datentabelle

jsr DoDlgBox

rts

:Datentabelle b $81

b DBVARSTR,10,10,a0 ; Position 10,10 innerhalb der Box

; Anfangsadresse in Register a0

; weitere Steuerzeichen

b NULL

:TextSpeicher s 16 ; 16 Bytes für Text vorbehalten

Für den Editor sind also die Position und die Zeropageadresse wichtig. Die Position wird ähnlich der eines normalen Textes übergeben. Der Balkencursor zeigt dabei den Beginn des Textes an. Nach Klick erscheint eine Box, in der mittels 3 Zeichen die Zeropageadrese anzugeben ist. Ein Klick auf Abbruch verhindert das Hinzufügen des Kommando-Bytes.

3.3.4 Editierbaren Text einfügen

Diese Funktion ähnelt der zuletzt beschriebenen. Nur kann der ausgegebene Text noch editiert werden. Es ist jedoch wichtig, wieviele Zeichen maximal eingegeben werden dürfen. Ich habe diesen Wert auf 20 festgelegt. Sollte jemand einen anderen Wert benötigen, kann er diesen im erstellten Quelltext noch ändern. Wie bei dem vorhergehenden Steuerzeichen benötigt man die Position und die Zeropageadresse. Der Vorgang der Dateneingabe läuft gleich ab. Lesen Sie gegebenenfalls die vorhergehenden Abschnitte nochmals durch.

3.3.5 Box auf Klick verlassen

Diese Funktion ermöglicht es, die Dialogbox durch einen Klick auf den Maus- bzw. Feuerknopf des Eingabegerätes zu schließen. Da dieses Steuerzeichen nur einmal pro Box verwendet werden kann, wird nach dem Benutzen der Menütext kursiv ausgegeben. Die Funktion kann also nicht mehr benutzt werden.

3.3.6 Routine auf Klick anspringen

Hier wird nach einem Klick die Box nicht abgebaut, sondern es wird eine Routine angesprungen. Dem Editor muß also der Name der Routine übergeben werden. Das geschieht in einer entsprechenden Box. Mit Abbruch wird diese Funktion verlassen. Der Menütext wird ebenfalls kursiv dargestellt.

3.3.7 Filebox einfügen

Bei dieser Funktion wird in die Datentabelle das Steuerzeichen für eine Fileauswahlbox eingefügt. Für den Editor ist deren Position wichtig. Dazu wird an den Mauszeiger ein Rechteck angeheftet, das der Größe der Filebox entspricht. Die aktuelle Position können Sie im Kommentarfenster verfolgen. Die Angaben beziehen sich nicht auf die Bildschirmposition, sondern auf die Position innerhalb der Box. Nach Klick wird das Steuerzeichen in der Datentabelle ergänzt, der Menütext kursiv gesetzt. Wie eingeweihte Programmierer wissen, benötigt die GEOS-Routine aber noch weitere Angaben (z.B. Filetyp). Diese müssen später im Programm von Hand gesetzt werden. Eine entsprechende Mitteilung ist nochmals im Quelltext zu lesen.

3.3.8 Graphik-String einfügen

Hier wird während des Aufbaus der Dialogbox ein Graphik-String ausgeführt (eine Folge von Graphiksteuerzeichen). Dem Editor muß dazu der Labelname übergeben werden. In der entsprechenden Box kann mittels Abbruch die Funktion wieder verlassen werden. Da in einer Datentabelle mehrere solcher Befehlsfolgen auftreten können, wir der Menütext nicht kursiv dargestellt, d.h. die Funktion ist auch weiterhin zu verwenden.

3.3.9 Routine einfügen

Schon wieder eine Funktion zum Einfügen einer Routine, werden sich jetzt einige fragen. Doch da gibt es einen Unterschied zu oben beschriebener Funktion. Welcher ist das ? Hier wird während des Aufbaus eine Routine angesprungen (z.B. Ausgabe einer Hex-Zahl nach einem Text).

Für den Editor ist der Name der Routine wichtig. Dieser ist nach einer Aufforderung einzugeben. Sie sollten bei der Vergabe der Namen darauf achten, daß Sie bei einem größeren Programm leicht den Überblick verlieren. Entscheiden Sie sich daher für Routinennamen, die auch nach späterem Betrachten gleich auf den Zweck dieser Routine verweisen.

Ein Klick auf Abbruch bricht diese Funktion ab.

3.3.10 Icon einfügen

Nach Klick auf diesen Menüpunkt baut sich ein weiteres Untermenü mit den von GEOS verwendeten Icons auf. Hat man seine Wahl getroffen, muß die Position des Icons festgelegt werden. Da Icons waagerecht nur in 8-Punkt-Schritten angezeigt werden können, wundern Sie sich nicht, wenn nach Klick das Icon noch etwas nach rechts bzw. links rutscht. Der Editor wechselt zu dem am nahesten gelegenen Vielfachen von 8.

3.3.11 Größe ändern

Hier kann die Größe (im gewissen Sinne auch die Position) der Dialogbox geändert werden. Dazu werden Sie gefragt, ob die Systembox verwendet werden soll. Was die Systembox ist, haben Sie im ersten Abschnitt der Anleitung erfahren. Beantworten Sie die Frage gemäß ihren Vorstellungen mit Ja bzw. Nein. Bei Klick auf Ja wird sofort die Box neugezeichnet. Sonst muß man die linke obere und die rechte untere Ecke setzen. Die Koordinaten sind im Kommentarfenster abzulesen.

Wenn Sie diesen Vorgang aufmerksam beobachtet haben und vielleicht schon eine Fileauswahlbox eingeklebt hatten, werden Sie festgestellt haben, daß die nicht die Bildschrimkoordinaten der Objekte abgespeichert werden, sondern deren Position innerhalb der Box. So ist es z.B. möglich, die Filebox 10 Punkte vom linken Rand einzukleben und die Box dann vergrößern. Die Filebox ist immernoch 10 Punkte vom linken Rand entfernt.

3.3.12 Zurücksetzen

Mit dieser Funktion werden sämtliche Steuerzeichen aus der Datentabelle gelöscht und die Box auf Normal- (System-) größe gebracht. Somit sind alle Daten unwiderruflich verloren. Sie werden vorher jedoch noch gewarnt.

3.3.13 Zusammenfassung

Das waren die einzelnen Funktionen des DB_Editors in der Version 1.2 . Ich hoffe, daß es damit leicht ist, eine Dialogbox nach seinen eigenen Vorstellung zu gestalten. Sollte jedoch jemand einen Vorschlag zur Verbesserung haben, schreiben Sie an obige Adresse. Eine Rückanwort ist Ihnen sicher.

4. Objekte

Hier möchte ich auf den objektorientierten Ansatz des DB_Editors eingehen. Es ist nämlich nicht nur schön eine Fileauswahlbox komfortabel einzukleben, sondern, wenn nötig, auch deren Position wieder ändern zu können. Diese Möglichkeit der Objektbewegung bietet der DB_Editor. Klicken Sie einfach ein Objekt (Text, Icon und Filebox) an und bewegen es zu seinem neuen Platz. Dabei verhält sich der Editor fast wie beim Hinzufügen eines neuen Objektes. Sie können ebenfalls die gesamte Box verschieben. Klicken Sie dazu innerhalb der Box, aber nicht auf bzw. in einem Objekt. Dann kann man die Box verschieben. Dazu wird an den Mauszeiger ein Viereck in der Größe der Box geheftet. Nach erneutem Klicken wird die aktuelle Mausposition als neue Posisiton der Dialogbox verwendet. Die Größe bleibt dabei unberücksichtigt. Möchten Sie die Systembox verwenden, d.h. an der vordefinierten Stellen, wählen Sie einfach Editieren --> Größe ändern. Hier klicken Sie auf Ja.

5. Vorschau

Wie schon mehrmals im Text erwähnt, soll der Editor nochmals überarbeitet und durch neuen Funktionen ergänzt werden. Dabei ist folgendes geplant:

- Anpassung an den 80 Zeichen-Modus des C128

- Wahl der Textversion des Quelltextes und deren Erzeugung

- Möglichkeit des Löschens eines Objektes (Umgestalten des Datenspeicherkonzeptes)

- Schnellere Routinen zur Bildschirmausgabe

- eigenes Programm zum Editieren benutzerdefinierter Icons

- Möglichkeit des Einbindens des Lfw.-Icons und damit Erzeugung der entsprechenden

Routinen (Icon nur bei mind. 2 Laufwerken) im Quelltext.

Die ersten drei Punkte sollen dabei vorrangig bearbeitet werden. Wobei das nicht heißen soll, daß die anderen Punkte vernachlässigt werden dürfen. Ich hoffe, alle diese neuen Funktionen in einer Version zu implementieren. Wer noch mehr Vorschläge hat, kann an mich schreiben.

Mit der Veröffentlichung einer neuen Version kann es aber noch eine Weile dauern. Ich befinde mich gerade im Uni-Streß. Außerdem arbeiten wir, d.h. die GEOS User aus Sachsen, an einem neuen großen Projekt.

6. Die Beispiele

Auf der Diskette The Best Of... Vol.2 befinden sich einige Beispiele, die den Anwendern als Hilfe bzw. auch als Anregung dienen sollen. Auf die Quelltexte wurde verzichtet, weil sonst kein Platz für andere Programme

27 NoSysFehler 1 KB Auto-Exec Hilfstool V1.0 SEQ 1993-12-28 17:45 Roy Bachmann .cvt
28 CHANGE 13 KB Application SerChange V0.1 VLIR 1994-12-28 14:58 Martin Güthlein .cvt
Paßt bereits installierte Applikationen an Ihr System an.
29 Change_dok 3 KB App Data Write Image V2.0 VLIR 1994-12-28 15:40 .cvt .html
Anleitung zu Change.

Change

30 GetGraphic 5 KB Application GetGraphic V1.1 SEQ 1988-09-05 18:32 Nick Vrtis -- 1988 .cvt
Convert Print Shop Graphics to GEOS Photo Album
OK to copy-NJV
31 PicShow 9 KB Application PicShow v3.3 SEQ 1989-09-29 14:34 Payton W. Snider II .cvt
Converts Hi-Res and Multi-Color Picture Formats and Slide Show!
32 MacAttack II.doc 5 KB App Data Write Image V2.1 VLIR 1989-09-12 19:06 Red Storm .cvt .html
This file was created with
Wrong is Write.
Written by Joe Buckley.

MacAttack II:

The Wrath of Macintosh

MacAttack II will allow conversion of MacPaint data files to geoPaint format as well as geoPaint to MacPaint format running under GEOS 64 or GEOS 128, in either 40 or 80 column mode.

Operation is simple: merely decide which conversion you wish to run and select from the 'Convert' menu.

Selecting MACPAINT TO GEOPAINT opens a submenu with two choices: MacPaint (C=M) and Options.

Selecting MACPAINT will open a special file handling dialog box to allow you to select the file to convert. You may choose any one of the first 160 NON_GEOS files on the currently open disk.

You may select the proper file in several ways: Use the scrolling icons (when there are more than seven files) to move along the list of names. You may also use the CURSOR UP/DOWN keys to move the highlight bar up or down one name and the CURSOR LEFT/RIGHT keys to scroll the list of names up or down a page of seven names.

You may open a file by clicking the OPEN icon, by hitting the RETURN key, or by double-clicking the filename itself within the list window.

Selecting OPTIONS will generate a new submenu with four choices:

COLOR: You will be presented with a series of dialog boxes which will allow you to determine the foreground and background colors for the resulting geoPaint file. The choices remain in effect until changed manually.

The default state is BLACK on WHITE.

The next three submenu choices toggle between two states. They operate in the same manner as the geoPaint color mode switch. In other words, the text in the menu describes the state that you will be toggling to, NOT THE CURRENT STATE OF THE SWITCH!

DELETE ORIGINAL: You may decide to automatically delete the original MacPaint data file from the source disk.

The default state KEEPS the original.

PICTURE: LEFT: You may decide that you want to converted MacPaint image to be forced to the very left hand edge of the geoPaint file. Since a MacPaint file is narrower than a geoPaint file, you have this option for image placement.

The default state CENTERS the image.

512 BYTE HEADER: Some sources of MacPaint data files do not include the Mac Binary file header used by Macintosh termial emulators during file transfers. A file WITH the Mac Binary header has a complete file header 640 bytes in length, and the conversion should start 640 bytes into the file. If the Mac Binary header has not been attatched, you must start 512 byte into the file instead.

Virtually all files you encounter WILL have the Mac Binary header attatched.

The default state skips a 640 BYTE HEADER.

33 MacAttack II 12 KB Application Wrath of Mac 1.1 SEQ 1989-09-12 18:52 Red Storm .cvt
Convert to and from MacPaint format.
Written by Joe Buckley.
34 geoRLE 5 KB Application GEOS RLE Display SEQ 1987-04-08 12:00 Arthur J. Dahm III .cvt
Displays RLE pictures from other computers stored in SEQ or PRG format.
35 geoGIF 8 KB Application geoGIF V1.2 SEQ 1990-11-20 13:33 Randy Weems .cvt
A GIF data stream format to geoPaint converter.
36 Handy Import 9 KB Application HS to GEOS 1.0 SEQ 1990-11-20 21:02 Red Storm .cvt
Import pics from Handy Scanner format.
Written by Joe Buckley.
37 Graphic Storm 9 KB Application GraphicStormV1.0 SEQ 1988-09-04 13:24 Red Storm .cvt
Import several standard graphic formats into geoPaint/photo album.
38 Album Reverter 4 KB Application Album RevertV1.0 SEQ 1988-10-01 13:22 J. Buckley .cvt
Downgrade V2.1 photo albums to work with the V1.X managers.
39 BTX Convert SE 22 KB Application BTX Conv. V1.22 VLIR 1994-11-16 12:09 Olaf Dzwiza .cvt
BTX Convert 1.22 Special Edition
für PPE's BTX-Extra-Pack
Shareware!
40 .info_dd 1 KB System DD_Data V1.5 SEQ 2001-04-01 13:31 .cvt

40 file(s), 320 KB

geos-app_geobasic-comix-standalone.d2m — “rl-5 ” id:rl [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 CMD_MOVE 7 KB Application CMD Move V1.1 SEQ 1993-05-13 12:58 Jim Collette .cvt
Change partitions & copy files between them. Use with gateWay or GEOS and
CMD devices.
2 RAM_MOVE 5 KB Application RAM Move V1.1 SEQ 1992-01-26 00:40 Jim Collette .cvt
Change RL 1581 partitions & copy files between them.

3 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1997-02-15 08:43 Brian Dougherty .cvt
4 CAPT.G2 36 KB Application CAPT.G2 V1.0 VLIR 1990-11-22 19:39 fLAtDiSk Software .cvt
Stand-alone geoBASIC Comix
you can double-click to run
Requires all files this disk.
5 TITCG2 9 KB Data BASIC DATA V1.0 VLIR 1990-11-11 22:45 .cvt
6 ZELAZ1 9 KB Data BASIC DATA V1.0 VLIR 1990-11-12 14:54 .cvt
7 WILBER 9 KB Data BASIC DATA V1.0 VLIR 1990-11-10 12:24 .cvt
Desperate to end it all.
CG2
8 CHOICE 9 KB Data BASIC DATA V1.0 VLIR 1990-11-10 18:03 .cvt
9 UNISYS 9 KB Data BASIC DATA V1.0 VLIR 1990-11-22 22:55 .cvt
10 SCAN0 9 KB Data BASIC DATA V1.0 VLIR 1990-11-13 19:40 .cvt
11 SCAN1 9 KB Data BASIC DATA V1.0 VLIR 1990-11-15 19:49 .cvt
12 SCAN2 9 KB Data BASIC DATA V1.0 VLIR 1990-11-15 19:42 .cvt
13 SCAN3 9 KB Data BASIC DATA V1.0 VLIR 1990-11-15 19:36 .cvt
14 SCAN4 9 KB Data BASIC DATA V1.0 VLIR 1990-11-15 19:31 .cvt
15 SCAN5 9 KB Data BASIC DATA V1.0 VLIR 1990-11-13 19:46 .cvt
16 SCAN 9 KB Data BASIC DATA V1.0 VLIR 1991-02-03 20:33 .cvt
17 OWLS 9 KB Data BASIC DATA V1.0 VLIR 1990-11-11 08:22 .cvt
18 LIVER 9 KB Data BASIC DATA V1.0 VLIR 1990-11-21 22:48 .cvt
19 TOBEC 9 KB Data BASIC DATA V1.0 VLIR 1990-11-17 20:22 .cvt

19 file(s), 203 KB

geos-app_geocalc-geopublish-paintscrap.d2m — “geopublish1” id:hd [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1988-10-11 17:02 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
2 MiniDesk 6 KB Desk Acc MiniDeskTop V1.0 SEQ 1990-08-09 15:11 Jim Collette .cvt
Copy, Scratch, and Rename files.
Copyright (C) 1990, Jim Collette.
3 Wecker 4 KB Desk Acc Alarm clock V1.0 SEQ 1986-09-03 12:00 David Durran .cvt
Stellen Sie den Wecker, um zeitbewußt zu sein.
4 SELECT PRINTER 2 KB Desk Acc select printer SEQ 1988-02-17 20:00 Ciprina & Bonse .cvt

Wähle den Drucker aus!
5 REU Zap II 6 KB Application REU Zap V2.1 SEQ 1989-11-02 18:40 J. Buckley .cvt
6 mcopy 19 KB Non-GEOS SEQ .prg
7 QuickMove64 7 KB Application Part Aid V1.4 SEQ 1990-09-24 09:27 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying
8 MAVERICK F.C. 10 KB Application SEQ 1988-07-06 13:00 .cvt
Copy your files 35% faster than Desk Top.
(c) 1988,89 KJPB
9 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
10 Rechner 4 KB Desk Acc Calculator V1.0 SEQ 1988-05-05 18:14 David Durran .cvt
DrÜcke die Rechnerknöpfe mit Hilfe der Maus oder gib Zahlen Über die Tastatur ein.
11 Notizblock 5 KB Desk Acc note pad V2.0 SEQ 1988-10-11 18:18 Requist & Hawley .cvt
12 PAINT DRIVERS 5 KB Application Paint Drvr V1.0 SEQ 1988-10-19 16:33 Doug Fults .cvt
Creates drivers that print to geoPaint files, a file for each PAGE, or OVERLAID.
13 Show-Font 3 KB Desk Acc Show Font V1.2 SEQ 1990-05-19 01:00 Jürgen Eckel .cvt
Maxim. Puffer 8000 Byte. Maxim. Punkthöhe 46 Punkte
Nötiger Platz auf Disk 17k
14 WriteView 3 KB Application QuickView V1.0 SEQ 1988-02-17 21:09 BSC TechUnit .cvt
Dump Write files to screen.Patched to work with geoWrite 2.X.
15 GeoFormat41 2 KB Application GeoFormat V1.0 SEQ 1989-07-03 01:55 Jürgen Heinisch .cvt
GeoFormat41 formatiert auf einer Floppy 1541 4 mal schneller.
16 *IBM1 2 KB Printer Drv Printdriver V2.0 SEQ 1988-08-09 23:00 Rune Bassmann .cvt
Treiber für IBM-Kompatible Drucker die den ESC-* m n1 n2 Grafikbefehl verstehen.
17 MPS-1550 2 KB Printer Drv Farbtreiber 2.1 SEQ Thomas Netzker .cvt
Farbdruckertreiber für NX-1000 u. MPS 1550C ser. Em.JX80 Lf,CR (nur so)
18 LW_Roma_GE 11 KB Font GeoFont 2.0 VLIR 1986-10-21 13:42 6N .cvt .png
19 LW_Cal_GE 12 KB Font GeoFont 2.0 VLIR 1986-10-21 13:22 ^ßR .cvt .png
20 LW_Greek 12 KB Font LW_Greek V1.1 VLIR 1987-09-27 19:00 rL' .cvt
21 LW_Barrows_GE 13 KB Font GeoFont 2.0 VLIR 1986-10-21 13:52 .cvt .png
22 Mega Cal_GE 20 KB Font GeoFont 2.0 VLIR 1988-05-10 10:04 jJZ zZ .cvt
23 Mega Roma_GE 20 KB Font GeoFont 2.0 VLIR 1986-10-21 14:34 z: .cvt .png
24 Mega Barrows_GE 22 KB Font GeoFont 2.0 VLIR 1986-10-21 14:30 * * * * * .cvt .png
25 GEOPUBLISH 99 KB Application geoPublish V1.0 VLIR 1988-05-27 11:16 Alice and Mike .cvt
geoPublish ist die Antwort auf Ihre Desktop-Publishing-Ansprüche!
26 Diskettentext 2 KB App Data Write Image V2.1 VLIR 1993-10-25 17:07 .cvt .html

GEOS SYSTEMDISK

SEITE A

DeskTop

GeoWrite

GeoPaint

GeoPublish

Fotomanager

Textmanager

SEITE B

27 Werbetext 3 KB App Data Write Image V2.1 VLIR 1993-11-04 22:50 .cvt .html
28 Paint-Scrap V2.1 9 KB Application Paint-Scrap V2.1 SEQ 1990-01-05 17:51 Dennis N. Seitz .cvt
copy any size scrap
includes keyboard shortcuts
no color or paste (yet)!
29 Bootsystem 6 KB App Data Write Image V2.1 VLIR 1993-09-07 23:48 RALF SCHÜLER .cvt .html

HERSTELLUNG DER AUTOBOOT-VERSION

Die Arbeitsprogramme sind in ihrer Anwen-

dungsreihenfolge aufgelistet :

1.) LINKER 64 ; 2.) GEOBOOT ; 3.) UL BOOT

4.) REU ZAP ; (5.) autoboot als Beispiel für die

fertige Bootversion des Geos-Bootteils).

Zunächst erstellt man mit "geo make boot " das

File Geoboot . Dieses PGM muß mit einem

Basic Startvektor versehen werden, also mit

einer Zeile SYS xxx . Dieses leistet das

Programm "LINKER 64", indem es eben diese

Zeile in Geoboot "einbaut".

Dazu Linker 64 & Geoboot auf eine leere Disk

kopieren und Linker von Basic (Load"li*",8:Run/

Stop) starten. Folgende Eingaben müssen erfol-

gen:

1000 (für Zeile)

LADER (für Name)

AUTOBOOT (für PGM Name)

1 (für Anzahl der Programme)

0 (für Verschieben eines Maschi.PGM 1 nur

wenn Maschinen-und Basicprogramme gelinkt

werden sollen)

j (Alles Richtig ?)

GEOBOOT (für Name des 1tenPGM's)

RETURN (wenn Adresse angezeigt wird

! merken ! (11 416)

1 (wenn nach PGM gefragt wird)

2 (wenn nach Einsprung gefragt wird

also Befehl JMP nicht JSR )

11 416 (wenn gefragt wird: EINSPRUNG:)

0 (wenn erneut Einsprung gefragt)

2 (wenn nach weiteren PGM gefragt wird)

Nach dieser Eingabe beginnt Linker mit der

Arbeit.

Das neue File kann Autoboot genannt werden,

denn nun muß man UL BOOT starten und als

zu bearbeitendes Programm Autoboot angeben.

Ul boot lädt daraufhin Autoboot und wandelt es

in einProgrammfile um, welches sehr schnell

geladen wird und zudem ab Track 36 bis

maximalTrack 41 abgespeichert wird. Im

Directory erscheint daher nur ein 1KB langer

Eintrag, der Startvektor des späteren

Autoboot-PGR `s. Wenn kein anderes Programm

auf der Diskette vorhanden wäre, so würden

noch 163KB, also fast die ganze Disk frei sein,

obwohl Autoboot bzw. Geoboot ca. 15 KB groß

ist. Geos und der normale C-64 Modus

benutzen nur Track 1-35 auf den Disketten.

Wenn das File "U" AUTOBOOT als erstes auf

der Diskette steht, kann man es mit

LOAD"*",8,1 starten und damit den gesamten

Bootvogang.

HERSTELLUNG DES ZAP FILES

Auf der Disk mit der Autobootversion kann nun

die Datei KONFIGURIEREN als zweite,

die Datei CURSOR MANAGER als dritte,

und die nun folgende ZAP Datei als vierte

Datei installiert werden. Es ist zu beachten,

daß erst "U" ,

dann "KONFIGUR." ,

dann "autostartdateien wie z.B.

Cursor Manager " ,

dann das ZAP-FILE installiert

werden!

Sonst wird Geos nicht richtig gebootet ! ! ! ! ! !

Cursor Manager kann auch weggelassen

werden.

Auf der hoffentlich vorhandenen RAM-Disk

werden nun all die Programme versammelt,

die man oft benötigt. Dabei darf die Gesamtgrö

ße ca.80 KB nicht überschreiten ! ! !

Diese Zahl gilt für alle, die eine 1541

Floppy benutzen. Größere Floppies können

auch größere Zap Files verarbeiten.

Dann entfernt man den RAM-DESKTOP

mittels C=L, denn der nimmt einige KB an

Speicherplatz weg. ( ! Gilt nur für diejenigen,

die einen TOP DESK verwenden).

Man kann auch einen Desk Top im Zap File

verarbeiten, der dann sofort zur Verfügung

steht, aber viel Speicherplatz für

Anwendungen verbraucht.

Es ist wichtig, daß man das PGM "REU

ZAP" auf einer anderen Disk hat ! Auf der Disk, die schon die Autobootversion

enthält, sollte sich außer Konfigur., und einer

kleinen Autostartdatei (z.B. Cursor Man) nichts

anderes befinden. Sicherheitshalber kann

man auf der RAM-Disk ein VALIDATE aus-

führen, sodaß wirklich alle unerwünschten

Programme gelöscht sind. Nun lädt man

REU ZAP von einer anderen Disk.

Autoboot Disk einlegen !

Reu Zap mit C= & Z starten !

I : Auf DISK klicken !

(Es steht nun Drive B im Mitteilungskästchen)

II : Wieder auf DISK klicken !

(Es steht nun Drive A im Mitt...")

RETURN drücken !

Falls Diskfehler angezeigt wird Punkt I & II

wiederholen!

WARTEN.

Am Ende ist die Autobootdiskette fertig.

In der schon angegebenen Reihenfolge,

siehe auch Beispieldiskette, wird nun der

Arbeitsdesktop gebootet und auf die Ram-Disk

übertragen ohne C=K benutzen zu müssen.

Das Ganze dauert ca. 1:50 Min.( Je nach Floppy)

Wenn man nun eine Sicherheitskopie der

Disk anfertigen will, so geht dies nur, wenn

man ein Programm hat, welches auch bis

Track 41 kopiert !

Beispiel: Der Burstnibbler von Eurosystems.

Andernfalls wird der Bootteil nicht mitkopiert

und der C-64 endet nach dem Laden des

U-Files in einer "blauen Wolke."

ZU DEN PROGRAMMEN :

!! SIND ALLE NICHT VON MIR !!

!! DAFÜR ABER DIE IDEE UND ETLICHE

BASTELSTUNDEN !!

LINKER 64 : M & T Verlag

Seite 124 , "Best of Floppytools VOL 2"

ULTRABOOT: M & T Verlag

Seite 36 ff, "Best of Floppytools VOL. 1"

REU ZAP : Geos User Club

STORM DISK I

GEOS MAKE BOOT : CMD ( USA)

Ralf Schüler

Holtenauer Str. 120

24105 Kiel

30 CalcMove 3 KB Application CalcMover V1 SEQ 1992-10-16 14:21 Steven E. Eyrse .cvt
This will move the Caculator to where YOU want it. Airs' :)
31 Kopfzeile 11 KB App Data Publish Doc V1.0 VLIR 1994-09-27 13:14 .cvt
32 Riesenposter 42 KB App Data Publish Doc V1.0 VLIR 1994-05-19 10:14 .cvt
33 Videocover 18 KB App Data Publish Doc V1.0 VLIR 1994-05-19 15:02 .cvt
Font : FORMULA
34 Kalender 66 KB App Data Publish Doc V1.0 VLIR 1994-03-01 17:55 .cvt
35 Cover 28 KB App Data Publish Doc V1.0 VLIR 1994-05-19 10:15 .cvt
36 tumbnail 37 KB App Data Publish Doc V1.0 VLIR 1994-05-19 10:15 .cvt
37 Banner 23 KB App Data Publish Doc V1.0 VLIR 1994-05-19 10:16 .cvt
38 Werbeplakat 12 KB App Data Publish Doc V1.0 VLIR 1994-05-19 10:17 .cvt
39 IMPORT 35 KB App Data Publish Doc V1.0 VLIR 1994-05-19 14:55 .cvt
40 EXPORT 13 KB App Data Publish Doc V1.0 VLIR 1994-05-19 10:18 .cvt

40 file(s), 623 KB

geos-app_geocalc-working-disk.d2m — “1581 ” id:rl [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 GEOCALC 47 KB Application geoCalc V1.0 VLIR 1988-05-07 18:25 Dan Kaufman .cvt
geoCalc is a powerful and easy to use spreadsheet.
2 HQ24 low Eps GC 2 KB Printer Drv Driver V3.11 SEQ 1992-12-07 23:15 Thilo Herrmann .cvt
High-End Printer Driver V3.1.
(C) 1990-92 Thilo Herrmann.
V3.11 1995 von Ronny Bachmann.
3 DESK TOP 30 KB System deskTop GE V2.0 VLIR 2001-03-23 16:12 Brian Dougherty .cvt
4 Treiberwahl 3 KB Desk Acc Treiberwahl V1.0 SEQ 1992-11-02 22:09 Jürgen Eckel .cvt
5 Preferences 1 KB System Preferences V1.0 SEQ 2001-10-24 13:33 .cvt
6 DeskSwap 2 KB Auto-Exec DeskSwap GE V1.1 SEQ 1993-05-25 21:37 Jürgen Eckel .cvt
7 CMD_MOVE 7 KB Application CMD Move V1.1 SEQ 1993-05-13 12:58 Jim Collette .cvt
Change partitions & copy files between them. Use with gateWay or GEOS and
CMD devices.
8 Pad Color Pref 1 KB System PadColorPref V1.0 SEQ 1997-03-22 21:34 .cvt
9 PNT.02/02.Kst. 8 KB App Data geoCalc Img V1.0 VLIR 2002-02-28 19:38 .cvt
10 PNT.02-1/02 7 KB App Data geoCalc Img V1.0 VLIR 2002-03-15 09:08 .cvt
11 PNT.01.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-01 18:11 .cvt
12 PNT.04.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-04 17:12 .cvt
13 PNT.05.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-05 17:28 .cvt
14 PNT.06.+07.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-07 17:11 .cvt
15 PNT.08.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-08 16:36 .cvt
16 PNT.11.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-12 18:20 .cvt
17 PNT.12.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-12 18:57 .cvt
18 PNT.13.+14.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-14 16:47 .cvt
19 PNT.15.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-15 16:15 .cvt
20 PNT.18.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-18 19:32 .cvt
21 PNT.19.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-19 18:39 .cvt
22 PNT.20.-22.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-25 17:28 .cvt
23 PNT.25.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-25 18:00 .cvt
24 PNT.26.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-26 17:55 .cvt
25 PNT.02-2/02 4 KB App Data geoCalc Img V1.0 VLIR 2002-03-15 09:19 .cvt
26 PNT.27.+28.02.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-02-28 17:21 .cvt
27 Calc Scrap 1 KB System Calc Scrap V1.1 SEQ 2002-03-15 09:08 .cvt
28 FEIERT 19 KB App Data Paint Image V1.1 VLIR Red Storm .cvt .png
gescannt & bearbeitet von
K. Finke Th.-Müntzer-1 Suhl
Tel.BTX/Fax +49 3681 726922
29 WILD 21 KB App Data Paint Image V1.1 VLIR 1997-04-09 17:58 Red Storm .cvt .png
gescannt & bearbeitet von
K. Finke Th.-Müntzer-1 Suhl
Tel.BTX/Fax +49 3681 726922
30 P011303.1216A01 19 KB App Data Paint Image V1.1 VLIR 2003-01-13 00:21 .cvt .png
31 P011303.0107A01 28 KB App Data Paint Image V1.1 VLIR 2003-01-13 01:09 .cvt .png
32 P011203.0323P01 26 KB App Data Paint Image V1.1 VLIR 2003-01-12 15:29 redacted
33 PNT.01/02.Kst. 8 KB App Data geoCalc Img V1.0 VLIR 2002-02-01 19:32 .cvt
34 PNT.01-1/02 7 KB App Data geoCalc Img V1.0 VLIR 2002-02-07 17:30 .cvt
35 PNT.02.+03.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-03 17:43 .cvt
36 PNT.04.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-04 22:01 .cvt
37 PNT.07.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-07 15:45 .cvt
38 PNT.08.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-08 17:33 .cvt
39 PNT.09.+10.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-10 18:38 .cvt
40 PNT.11.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-11 17:47 .cvt
41 PNT.14.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-14 18:59 .cvt
42 PNT.15.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-21 19:19 .cvt
43 PNT.16.+17.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-17 16:25 .cvt
44 PNT.18.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-21 19:10 .cvt
45 PNT.21.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-21 19:13 .cvt
46 PNT.22.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-25 17:38 .cvt
47 PNT.23.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-25 17:49 .cvt
48 PNT.24.+25.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-25 17:55 .cvt
49 PNT.01-2/02 4 KB App Data geoCalc Img V1.0 VLIR 2002-01-31 01:00 .cvt
50 PNT.28.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-28 16:28 .cvt
51 PNT.29.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-29 16:43 .cvt
52 PNT.30.+31.01.02 12 KB App Data geoCalc Img V1.0 VLIR 2002-01-31 16:39 .cvt
53 P011203.0306P01 23 KB App Data Paint Image V1.1 VLIR 2003-01-12 15:16 redacted
54 RAM_MOVE 5 KB Application RAM Move V1.1 SEQ 1992-01-26 00:40 Jim Collette .cvt
Change RL 1581 partitions & copy files between them.

54 file(s), 620 KB

geos-app_geocanvas-working-disk.d2m — “geocanvas2<” id:hd [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 PaintView IIa 5 KB Application Paint View V2.0 SEQ 1988-05-05 13:53 Red Storm .cvt
View geoPaint files from outside geoPaint.
From Storm Systems.
2 FontView 4 KB Application FontView V1.0 SEQ 1988-12-07 01:48 Christopher Flynn .cvt
FontView will view font files to the screen. Use +,- icons to change point size.
3 WriteView 3 KB Application QuickView V1.0 SEQ 1988-02-17 21:09 BSC TechUnit .cvt
Dump Write files to screen.Patched to work with geoWrite 2.X.
4 MiniDesk 6 KB Desk Acc MiniDeskTop V1.0 SEQ 1990-08-09 15:11 Jim Collette .cvt
Copy, Scratch, and Rename files.
Copyright (C) 1990, Jim Collette.
5 Wecker 4 KB Desk Acc Alarm clock V1.0 SEQ 1986-09-03 12:00 David Durran .cvt
Stellen Sie den Wecker, um zeitbewußt zu sein.
6 DeskSwap 2 KB Auto-Exec DeskSwap GE V1.1 SEQ 1993-05-25 21:37 Jürgen Eckel .cvt
7 QuickMove64 7 KB Application Part Aid V1.4 SEQ 1990-09-24 09:27 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying
8 QuickMove128 8 KB Application Part Aid V1.4 SEQ 1990-09-24 09:56 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying.
9 calendar 13 KB Desk Acc Calendar I V1.2 SEQ 1987-12-29 16:04 Jung & Wedgwood .cvt
Zeigt einen Monatskalender mit Raum für persönliche Notizen.
10 GeoDex 21 KB Desk Acc geoDex V2.0 SEQ 1988-04-26 14:37 Chris Hawley .cvt
Use geoDex to store all your names and addresses for easy recall.
11 Notizblock 5 KB Desk Acc note pad V2.0 SEQ 1988-10-11 18:18 Requist & Hawley .cvt
12 RECHNER 4 KB Desk Acc Calculator V1.0 SEQ 1988-07-06 13:05 A.Schubert .cvt
13 Treiberwahl 3 KB Desk Acc Treiberwahl V1.0 SEQ 1992-11-02 22:09 Jürgen Eckel .cvt
14 DESK TOP 30 KB System deskTop GE V2.0 VLIR 1988-10-11 17:02 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
15 DESK_TOP 35 KB Application TopDesk V1.2 VLIR 1995-02-22 14:44 DPT KnCiGo .cvt
16 128 DESKTOP 34 KB System 128 desk Ge V2.0 VLIR 1989-01-23 13:00 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
17 Photo Scrap 12 KB System Photo Scrap V1.1 SEQ 2002-05-10 11:49 .cvt
18 Handy Import 9 KB Application HS to GEOS 1.0 SEQ 1990-11-20 21:02 Red Storm .cvt
Import from Handy Scanner format.
Written by Joe Buckley.
19 Logo 6 KB App Data Paint Image V1.1 VLIR 1995-10-22 18:35 .cvt .png
20 geoDex data 1 KB System geoDex file V2.1 VLIR 2003-08-19 18:12 .cvt
21 Pad Color Pref 1 KB System PadColorPref V1.0 SEQ 1997-03-22 21:34 .cvt
22 Preferences 1 KB System Preferences V1.0 SEQ 1998-05-14 15:59 .cvt
23 Epson JX-80 (GC) 2 KB Printer Drv ClrPrntDrvr V2.0 SEQ 1986-09-18 11:06 David Durran .cvt
geoPrint cable print driver for the Epson JX-80 and compatibles.
24 HQ24 low Eps GC 2 KB Printer Drv Driver V3.11 SEQ 1992-12-07 23:15 Thilo Herrmann .cvt
High-End Printer Driver V3.1.
(C) 1990-92 Thilo Herrmann.
V3.11 1995 von Ronny Bachmann.
25 HQ24 med EpN GC 2 KB Printer Drv Driver V2.7 SEQ 1991-09-27 20:00 Herrmann/Marten .cvt
High-End Printer Driver.
(C) 1991 Thilo Herrmann.
26 EPSON JX-80 (GC) 2 KB Printer Drv ClrPrntDrvr V2.0 SEQ 1987-03-03 16:24 David Durran .cvt
geoPrint Cable version of the Epson JX-80 Print Driver: 15 colors avail.
27 Commodore_GE 2 KB Font GeoFont 1.4 VLIR 1987-11-03 11:28 .cvt .png
Font für TextPrint V3.
28 GEOCANVAS 50 KB Application geoCanvas V3.0 VLIR 1997-03-10 00:29 Nathan Fiedler .cvt
A professional modular paint program.
29 ScrapCan 7 KB Application ScrapCan V1.3 SEQ 1993-08-19 09:00 Nathan Fiedler .cvt
Use to copy and paste very large photo scraps.
30 Paint Rotate 10 KB Application Paint RotateV1.2 SEQ 1991-09-25 00:14 Spike Dethman .cvt
Rotate, Mirror, and Invert ENTIRE geoPaint documents.
$2.00 Shareware.
31 PaintCan 2 KB Application PaintCan V1.1 SEQ 1993-08-05 18:20 Nate Fiedler .cvt
PaintCan - short for geoPaint to geoCanvas conversion.
32 photo manager 6 KB Desk Acc Photo Mgr V1.0 SEQ 1986-04-07 12:00 Chris Hawley .cvt
Save photo images in a photo album for later use in geoWrite or geoPaint.
33 Paint-Scrap V2.1 9 KB Application Paint-Scrap V2.1 SEQ 1990-01-05 17:51 Dennis N. Seitz .cvt
copy any size scrap
includes keyboard shortcuts
no color or paste (yet)!
34 ThürHülle5 1/4". 15 KB App Data Paint Image V1.1 VLIR 1999-03-22 20:53 .cvt .png
Diskhülle von K.Finke 10/98 Bitte Hinweise in GeoWrite- Datei beachten!
35 64'erCD-Hülle. 14 KB App Data Paint Image V1.1 VLIR 1997-03-31 17:58 .cvt .png
Diskhülle von K.Finke - leer
36 DiskHülle3 1/2". 12 KB App Data Paint Image V1.1 VLIR 1997-10-31 12:02 .cvt .png
Diskhülle von K.Finke - leer
37 GO64!. 15 KB App Data Paint Image V1.1 VLIR 2002-05-10 09:46 .cvt .png
38 Logo1a 8 KB App Data Paint Image V1.1 VLIR 1999-04-06 15:35 .cvt .png
39 Comp.rechts 24 KB App Data Paint Image V1.1 VLIR 1999-04-06 18:02 .cvt .png
40 Comp.links 24 KB App Data Paint Image V1.1 VLIR 1999-04-06 18:46 .cvt .png
41 COMICSEX 24 KB App Data Paint Image V1.1 VLIR 1992-10-05 15:09 Red Storm .cvt .png
Converted from Handy Scanner format.
Written by Joe Buckley.
42 PORNO 7 14 KB App Data Paint Image V1.1 VLIR 1992-10-15 15:13 Red Storm .cvt .png
Converted from Handy Scanner format.
Written by Joe Buckley.
43 DEMON .0059.D.0+ 17 KB App Data Paint Image V1.1 VLIR 1988-08-22 13:32 Red Storm .cvt .png
Converted from Handy Scanner format.
Written by Joe Buckley.
44 STRIP 38 KB App Data Paint Image V1.1 VLIR 1999-07-17 18:25 Red Storm .cvt .png
Converted from Handy Scanner format.
Written by Joe Buckley.
45 KOHL KARIK.1 26 KB App Data Paint Image V1.1 VLIR 1992-09-30 23:23 Red Storm .cvt .png
Converted from Handy Scanner format.
Written by Joe Buckley.
46 Ellipse 3 KB Application geoTool V1.0 SEQ 1993-07-31 18:34 Nate Fiedler .cvt
geoCanvas ellipse tool.
47 Fill 2 KB Application geoTool V1.0 SEQ 1993-07-31 18:44 Nate Fiedler .cvt
geoCanvas flood tool.
48 Lines 2 KB Application geoTool V1.0 SEQ 1993-07-31 18:44 Nate Fiedler .cvt
geoCanvas lines tool.
49 Ruler 2 KB Application geoTool V1.0 SEQ 1993-08-10 10:16 Nate Fiedler .cvt
geoCanvas ruler tool.
50 Pixel 2 KB Application geoTool V1.0 SEQ 1993-07-31 18:50 Nate Fiedler .cvt
geoCanvas pixel edit tool.
51 Rectangle 2 KB Application geoTool V1.0 SEQ 1993-07-31 18:34 Nate Fiedler .cvt
geoCanvas rectangle tool.
52 Text 3 KB Application geoTool V1.0 SEQ 1993-08-08 19:04 Nate Fiedler .cvt
geoCanvas text tool.
53 Edit 5 KB Application geoTool V1.0 SEQ 1993-08-15 13:34 Nate Fiedler .cvt
geoCanvas edit tool.
54 Color 2 KB Application geoTool V1.0 SEQ 1993-07-31 18:57 Nate Fiedler .cvt
geoCanvas color tool.
55 TextII 64 6 KB Application geoTool V2.0 SEQ 1994-11-30 08:25 Nathan Fiedler .cvt
geoCanvas text tool with fence.
56 Paint 4 KB Application geoTool V1.0 SEQ 1993-08-22 14:45 Nate Fiedler .cvt
geoCanvas paint brush tool.
57 Pencil 2 KB Application geoTool V1.0 SEQ 1993-07-31 18:41 Nate Fiedler .cvt
geoCanvas pencil/eraser tool.
58 ThürHülle5 1/4"M 15 KB App Data Paint Image V1.1 VLIR 2002-05-09 13:38 .cvt .png
Diskhülle von K.Finke 10/98 Bitte Hinweise in GeoWrite- Datei beachten!
59 DiskHülle3 1/2"M 12 KB App Data Paint Image V1.1 VLIR 2002-05-10 11:52 .cvt .png
60 64'erCD-HülleM 14 KB App Data Paint Image V1.1 VLIR 2002-05-09 14:17 .cvt .png
Diskhülle von K.Finke - leer
61 GO64!M 14 KB App Data Paint Image V1.1 VLIR 2002-05-10 10:07 .cvt .png

61 file(s), 600 KB

geos-app_geocanvas128-paintcan.d81 — “td canvas128” id:hd [D81, 819,200 bytes] download .d81

#FilenameSizeGEOS TypeClassSDateAuthor
1 GEOCANVAS 67 KB Application geoCanvas V3.0 VLIR 1995-10-25 17:12 Nathan Fiedler .cvt
A professional modular paint program for the 128.
2 128 DESKTOP 40 KB Application TopDesk128 V3.05 VLIR 1988-08-22 13:00 MegaCom Software .cvt
TopDesk128 V3.05 benötigt 64KByte VDC
3 PaintCan 3 KB Application PaintCan128 V1.1 SEQ 1993-08-05 18:15 Nate Fiedler .cvt
PaintCan128 - short for geoPaint to geoCanvas conversion.
4 FontCan 3 KB Application FontCan128 V1.0 SEQ 1993-07-06 16:02 Nate Fiedler .cvt
FontCan128 will add the delete character to a font so it will work in geoCanvas.
5 Pencil 2 KB Application geoTool128 V1.0 SEQ 1993-08-01 17:42 Nate Fiedler .cvt
geoCanvas128 pencil/eraser tool.
6 Paint 4 KB Application geoTool128 V1.0 SEQ 1993-08-22 14:25 Nate Fiedler .cvt
geoCanvas128 paint brush tool.
7 Rectangle 2 KB Application geoTool128 V1.0 SEQ 1993-08-15 14:12 Nate Fiedler .cvt
geoCanvas128 rectangle tool.
8 Ellipse 3 KB Application geoTool128 V1.0 SEQ 1993-08-15 14:12 Nate Fiedler .cvt
geoCanvas128 ellipse tool.
9 ScrapCan 7 KB Application ScrapCan128 V1.3 SEQ 1993-08-19 09:16 Nathan Fiedler .cvt
Use to copy and paste very large photo scraps.
10 Fill 2 KB Application geoTool128 V1.0 SEQ 1993-08-01 17:57 Nate Fiedler .cvt
geoCanvas128 flood tool.
11 Lines 2 KB Application geoTool128 V1.0 SEQ 1993-08-15 14:33 Nate Fiedler .cvt
geoCanvas128 lines tool.
12 Ruler 2 KB Application geoTool128 V1.0 SEQ 1993-08-15 14:33 Nate Fiedler .cvt
geoCanvas128 ruler tool.
13 Pixel 3 KB Application geoTool128 V1.0 SEQ 1993-08-15 14:47 Nate Fiedler .cvt
geoCanvas128 pixel edit tool.
14 Text 3 KB Application geoTool128 V1.0 SEQ 1993-08-09 16:19 Nate Fiedler .cvt
geoCanvas128 text tool.
15 Color 2 KB Application geoTool128 V1.0 SEQ 1993-08-16 17:12 Nate Fiedler .cvt
geoCanvas128 color tool.
16 Edit 5 KB Application geoTool128 V1.0 SEQ 1993-08-16 17:12 Nate Fiedler .cvt
geoCanvas128 edit tool.
17 Foto-Manager 11 KB Desk Acc Photo Mgr V2.1 SEQ 1988-12-14 01:19 Chris Hawley .cvt
Verwaltet Ausschnitte aus Grafiken für spätere Verwendung.
18 Photo Scrap 4 KB System Photo Scrap V1.1 SEQ 1995-11-21 17:23 .cvt
19 DOKUM. 1 KB Disk Device Directory V1.0 SEQ 1995-10-24 18:03 DPT-Team .cvt
20 WERKZEUGE 1 KB Disk Device Directory V1.0 SEQ 1995-10-24 17:59 DPT-Team .cvt
21 DRUCKERWAHL 1 KB Desk Acc Druckerwahl V2.0 SEQ 1994-06-29 07:55 Falk Rehwagen .cvt
Programm zum Wählen des Druckers aus jeder Applikation heraus.
22 LaserJet (GC) 2 KB Printer Drv Printdriver V2.1 SEQ 1988-10-14 20:53 David Durran .cvt
geoPrint Cable version of the LaserJet PAR. driver.
23 HP DeskJet 2 KB Printer Drv Printdriver V2.0 SEQ 1995-09-25 09:55 MegaCom-Software .cvt
Grafik: 75 bis 300dpi, Letter
Textdruck: Draft und NLQ, Hoch- und Querformat
TextPrint V3 mögl.
24 Utilit. 1 KB Disk Device Directory V1.0 SEQ 1995-11-22 04:03 DPT-Team .cvt
25 HQ24 med EpN GC 2 KB Printer Drv Driver V2.7 SEQ 1991-09-27 20:00 Herrmann/Marten .cvt
High-End Printer Driver.
(C) 1991 Thilo Herrmann.
26 geoMorph 14 KB Application PhotoFrame v1.0 SEQ 1993-12-03 01:41 Maurice Randall .cvt
Combine 2 Photo Scraps to make an interesting mutation!
27 Micky 1 23 KB App Data photo album V2.1 VLIR 1993-02-28 19:32 .cvt .png
28 Tiere.1 8 KB App Data photo album V2.1 VLIR 1994-07-08 10:49 .cvt .png
29 Frame 18 KB App Data Paint Image V1.1 VLIR 1993-04-06 16:36 Red Storm .cvt .png
Converted from MacPaint with MacAttack II.
Written by Joe Buckley.
30 Lupo.Alb 24 KB App Data photo album V2.1 VLIR 1993-02-02 01:00 .cvt .png
31 AlbumAnimator 3 KB Application Animator V1.0 SEQ 1989-01-12 21:36 Dennis N. Seitz .cvt
Shareware: $5 Dennis Seitz
7137 Snake Rd
Oakland CA 94611
32 ScraPeek 3.4 6 KB Application ScraPeek V3.4 SEQ 1989-05-10 22:57 Ed Flinn .cvt
ScraPeek for GEOS 64 and 128 40/80! Support for photo album 2.1 added.
33 Garfield3 26 KB App Data Paint Image V1.1 VLIR 1993-04-06 16:40 Red Storm .cvt .png
Converted from MacPaint with MacAttack II.
Written by Joe Buckley.
34 Ghostbusters 14 KB App Data Paint Image V1.1 VLIR 1995-11-22 09:09 Red Storm .cvt .png
Converted from MacPaint with MacAttack II.
Written by Joe Buckley.
35 LW_Cal 11 KB Font GeoFont 1.4 VLIR 1987-09-27 19:00 Jf .cvt .png
geoFAX manual is formatted using this font.
36 LW_Roma_GE 11 KB Font GeoFont 1.4 VLIR 1987-10-28 14:08 6N .cvt .png
9,10,12,14,18 und 24 Punkt. LW heißt für LaserWriter- Ausdrucke geeignet.
37 LW_Cal_GE 12 KB Font GeoFont 1.4 VLIR 1988-07-10 14:01 ^ßR .cvt .png
9,10,12,14,18, und 24 Punkt. LW heißt für LaserWriter- Ausdruck geeignet.
38 LW_Greek 12 KB Font GeoFont 1.4 VLIR 1995-11-03 18:58 rL' .cvt .png
9,10,12,14,18, und 24 Punkt. LW heißt für LaserWriter- Ausdruck geeiget.
39 LW_Barrows_GE 13 KB Font GeoFont 1.4 VLIR 1987-10-28 13:58 .cvt .png
9,10,12,14,18, und 24 Punkt. LW heißt für LaserWriter- Ausdruck geeignet.
40 DRUCKERTR. 1 KB Disk Device Directory V1.0 SEQ 1995-10-24 18:02 DPT-Team .cvt
41 Roma LQ 35 KB Font GeoFont V1.4 VLIR 1992-01-04 01:07 zrÖpjÖ .cvt .png
42 ZierKapitale LQ 12 KB Font GeoFont 2.0 VLIR 1988-07-06 01:01 .cvt .png
43 Tusche LQ 22 KB Font GeoFont V1.4 VLIR 1988-07-06 17:01 7 .cvt .png
GEOS LQ Font
44 Quadro HQ 10 KB Font GeoFont V1.4 VLIR 1991-11-30 01:00 X .cvt .png
45 GeoView 3 KB Application GeoView V1.0 SEQ 1988-03-15 23:00 Stephen R. Bassler .cvt
View, scroll, and print
GeoPaint pictures in
full-screen mode.
46 FONTS 1 KB Disk Device Directory V1.0 SEQ 1995-10-24 18:03 DPT-Team .cvt
47 Notizblock 5 KB Desk Acc note pad V2.0 SEQ 1988-12-06 02:12 Requist & Hawley .cvt
48 Straßenbahnen 30 KB App Data photo album V2.1 VLIR 1990-10-09 18:56 .cvt .png
10 Stuttgarter Straßenbahnen
gez. von Horst Walter 7141
Schwieberd.Stammheimerstr.6
49 Funpix 29 KB App Data Paint Image V1.1 VLIR 1993-04-06 16:37 Red Storm .cvt .png
Converted from MacPaint with MacAttack II.
Written by Joe Buckley.
50 Wildflower 16 KB App Data Paint Image V1.1 VLIR 1993-04-06 16:35 Red Storm .cvt .png
Converted from MacPaint with MacAttack II.
Written by Joe Buckley.
51 Wildrose 18 KB App Data Paint Image V1.1 VLIR 1995-11-03 17:44 Red Storm .cvt .png
Converted from MacPaint with MacAttack II.
Written by Joe Buckley.
52 STREET SCENE+ 55 KB App Data Paint Image V1.1 VLIR 1988-07-06 14:56 Red Storm .cvt .png
Converted from MacPaint with Import Runner.
Written by Joe Buckley.
53 geoGIF 8 KB Application geoGIF V1.2 SEQ 1990-11-20 13:33 Randy Weems .cvt
A GIF data stream format to geoPaint converter.
54 Text-Manager 11 KB Desk Acc Text Mgr V2.1 SEQ 1988-12-14 03:09 Chris Hawley .cvt
Speichern Sie oft benötigte Texte oder Adressen in einem Textalbum.
55 Moni 5 KB App Data Paint Image V1.1 VLIR 1995-11-21 17:46 .cvt .png

55 file(s), 605 KB

geos-app_geoconnect-lambfont-geofont.d2m — “gass geoconnect” id:rl [D2M (1581 emu), 1,658,880 bytes] download .d2m

#FilenameSizeGEOS TypeClassSDateAuthor
1 128 DESKTOP 34 KB System 128 desk Ge V2.0 VLIR 1989-01-23 13:00 Brian Dougherty .cvt
deskTop verwaltet Ihre Disketten und Dateien.
2 QuickMove128 8 KB Application Part Aid V1.4 SEQ 1990-09-24 09:56 Paul J. Bosacki .cvt
A partition utility that supports multiple file copying.
3 GEOWRITE 128 36 KB Application geoWrite V2.1 VLIR 1988-08-30 09:25 Tony Requist .cvt
geoWrite (128 version) is a WYSIWYG word processor.
4 RAM_MOVE 5 KB Application SEQ 1992-01-26 00:40 .cvt
5 WrongIsWrite8.0 13 KB Application Converter V8.0 VLIR 1989-08-05 21:00 Red Storm .cvt
Convert geoWrite file formats amongst each other.
6 geoSL.src 4 KB App Data Write Image V2.1 VLIR 1996-09-10 21:18 .cvt .html

if .p

t "TopSym+"

t "TopMac"

endif

a "Holger G. Heimes"

c "SLtest V1.0"

f APPLICATION

o $2000

p start

z $40

n "SL_Test"

:start

; php

; sei

; lda $ff00 ;akt. MMU-config

; pha

; and #%11111110 ;I/O einblenden

; sta $ff00

jsr InitForIO

LoadW r0,deohnetxt

LoadW r11,0

LoadW r1H,8

jsr PutString

LoadW r0,$de00 ;de00 direkt checken

LoadW r1,$de01

jsr :read

jsr :checksl

bne :rl

lda #"e"

ldx #0

jmp :found

::rl pha

jsr :write

pla

jsr putWert

LoadW r0,demittxt

LoadW r11,0

LoadW r1H,16

jsr PutString

LoadW r0,$de00

LoadW r1,$de01

sta $df7f ; deactivate RL

jsr :read

jsr :checksl

bne :isdf00

lda #"e"

ldx #" "

jmp :found

::isdf00 pha

jsr :write

pla

jsr putWert

LoadW r0,dfohnetxt

LoadW r11,0

LoadW r1H,24

jsr PutString

LoadW r0,$df00 ;de00 direkt checken

LoadW r1,$df01

jsr :read

jsr :checksl

bne :isrldf00

lda #"f"

ldx #0

jmp :found

::isrldf00 pha

jsr :write

pla

jsr putWert

LoadW r0,dfmittxt

LoadW r11,0

LoadW r1H,32

jsr PutString

LoadW r0,$df00

LoadW r1,$df01

sta $df7f ; deactivate RL

jsr :read

jsr :checksl

bne :no

lda #"f"

ldx #" "

jmp :found

::no pha

jsr :write

pla

jsr putWert

LoadW a0,notfound_Tab_txt

jmp :tab

::found sta found_Tab_adr

stx found_Tab_rltxt

LoadW a0,found_Tab_txt

; pla

; sta $ff00

; plp

jsr DoneWithIO

::tab LoadW r0,found_Box

jsr DoDlgBox

jmp EnterDeskTop

::checksl ldy #0

lda #%00000011 ;if REU just compare/do nothing

sta (r1),y ;write STATUS=prog. Reset

::loop dey ; y = 255

bne :loop ;255 * verzoegerung

iny ; y = 1

lda (r1),y ;COMMAND