DISCMONIBASp,,on":LOCATE 14,9:PRINT"Detlef Gunkel":LOCATE 16,11:PRINT"(24 [  ,"DISKETTENMONITOR" ,"von" ,"Detlef Gunkel" , "(24.01.88)"&"discmoni.bin"   R%( ver(e) flop(g)>2  , , , , bor PA p,< ver  ,"CPC 464" Z +F ver  ,"CPC 664" Z/P ver  ,"CPC 6128"  HZ flop d>[ () ,"AMSDOS" , , xY\ () () ,"AMSDOS/VDOS 2.n-X" , ,| x-d flop ,"VDOS 1.0" x6g flop! ,"VDOS 2.11"|FAS x6n flop ,"VDOS 2.0" p  4x     ( )A inver cop vs vs firs fis   V!#be" " buffe9cm"QITRWEBHPCF"()()()()"cmcm()()C  (cm)cmdcmd(cm, ,)" . "&cmdu(cmd,(cmd))W secto trac driv befeh catfla pag inver $ , buffe  , buffe %be(C) be""  ] t(cm,be) ,,@,T,h,|,,,~,l,,,,&,:,X,, " ,B6###,&, #," Bis bald ! "    @J  T^# R hr v |     #   # h   h   h & % h    4 pag , buffe  , buffe 8 pag , buffe  , buffe Track + 1_ trac( trac trackma) trac(( trac trackma) trackma)  &TRACK - 1K0 trac( trac) trac(( trac) trackma)  :SECTOR -1rD pag secto( secto) secto(( secto)(( vs( driv(@ vs vs)))))1N secto secma &   XSector + 1b pag secto( secto secma) secto(( secto secma)(( vs( driv(@ vs vs)))))*l secto     vg#,,#," "#,,#," Sektor lesen ! "#,,#," "  Sector schreiben befeh#,,#," "#,,#," Sektor schreiben ! "#,,#," "  , flop flop! |DERRO, , befeh , driv , tracD , secto ( vs driv(@ vs vs))6 befeh inver ( cop) `  ( befeh inver `A  befeh flop flop! |DERRO,  A #,,#," DRIVE (A/B) oder  ENTER  dr";();"cken"* ()   4C "" 4> "A" "a" driv"0" trackma trackmaxa blockma blockmaxa secma secmaxa m mv RH "B" "b" driv"1"  trackma trackmaxa blockma blockmaxa secma secmaxa m mv   R driv(driv)\##,,#," SPUR (0-"; trackma;") :";#," ", trac trac trac trackma ##,,#," Unsinnige Eingabe ! "   # \f#p#,,#," SEKTOR (1-"; secma;") :";#," ", secto secto  secto secma #,,#," Unsinnige Eingabe ! "    p z & catfla catfla#  ,. driv d" A"  d" B"  ,}" LAUFWERK",d; " SPUR ### SEKTOR ### SEITE ### "; trac, secto, pagY" 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF " C""   t("BW",be)   ,Blocknummer umrechnen#,,#," "#,,#," Blocknummer umrechnen in Spur "#,,#," und Sektor ! "5#,,#," "1##,,#,"Blocknummer in hex : ", &$  blockma . sectcn m(8 trac( m) secma-B secto( m) secma L# V`#,,P,,"j#,,P,,#,(,P,,t~###,,#," "#,,#," Bildschirmhardcopy - Bitte etwas Geduld ! "#,,#," "     0###,();"3";()  ###,,#," "#,,#," KOPIERPROGRAMM ! "#,,#," "&#,"  " inver #,,#,"  Invertierung aus / an "#,"  "  #,,#,"  Invertierung aus / an "#,"  "j#,,#,"[1] Kopieren von Laufwerk A nach B"#,,#,"[2] Kopieren von Laufwerk B nach A"0#,,#,"[I] Invertierung umschalten"C "" ) "I" "i" |  R "1" dr dr#,,#," von Laufwerk A nach B "  [ "2" dr dr#,,#," von Laufwerk B nach A "    W ##,,#,"[1] Selektives Kopieren"#,,#,"[2] Totales Kopieren"0#,,#,"[I] Invertierung umschalten"C "" (( "I" "i" | @2 "1" #,,#," Selektives Kopieren " < "2" #,,#," Totales Kopieren " tr  tr trackma sr  sr secma P   F ?P##,,#," Spur : "#,,#," Sektor : "Z copd trac tr tr n secto sr sr1x#, ,#, trac#,!,#, secto" befeh driv dr  ( driv dr befeh   H## trac trackma secto secma cop ##,,#,"W";();"hlen Sie !"#,,#,"[1] Kopieren in den gleichen Bereich"#,,#,"[2] Kopieren in einen anderen Bereich" C ""  "1"   "2"   l##,,#,"Von Spur :"#,,#,"Sektor :"#,,#,"bis Spur :"#,,#,"Sektor :"d#, ,#," ", tr#,,#," ", sr#, ,#," ", tr#,,#," ", srh  qs qs( secma trackma) qz qz( secma trackma)    ##,,#,"Von Spur : "#,,#,"Sektor : "#,,#," Quelle : "#,,#,"bis Spur : "#,,#,"Sektor : "#,,#," Ziel : "#,,#,"Von Spur : "#,,#,"Sektor : "#,,#,"bis Spur :"#,,#,"Sektor : "d"#, ,#," ", tr#,,#," ", sr#, ,#," ", tr#,,#," ", srh,  qs qs( secma trackma) qz qz( secma trackma) "46#, ,#," ", tr#,,#," ", sr@ zs( tr secma) sr tr( zs s) secma sr( zs s) secma   zz tr secma srbJ zs zs( secma trackma) zz zz( secma trackma) 6=T#, ,#, tr#,,#, sr  ^# a zs b s#,,#," Quelle : "#,,#,"Spur : "#,,#,"Sektor : "#,,#," Ziel : "#,,#,"Spur : "#,,#,"Sektor : "h copr qs qz:| trac secma secto secma 0#,,#, trac#,,#, secto" befeh driv dr/ track trac sec secto " driv dr befeh< trac a secma secto a secma 0#,,#, trac#,,#, sectoH  trac tr secto sr cop   a a) trac track secto sec cop  ` qs( tr secma) sr qz( tr secma) sr s qz qsB##,,#," Spur : "#,,#," Sektor : "  cop qs qz : trac secma secto secma 1&#, ,#, trac#,!,#, secto"0 driv dr befeh : "D driv dr befeh N Xb copl*v driv d"A"  d"B"* driv d"A"  d"B"#,();"@";X#," LAUFWERK",d ;#, " SPUR ### SEKTOR ### "; trac, sectoU#," 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF"#   s(( ),)#,"&";" ";  s(( ),)#,;" ";#," ";    ( )"   . #,( );*4#> H R\##,,#," [1]  Randfarben"#,, #," [2]  Papierfarben"#,, #," [3]  Stiftfarben "#,,#," [4]  Zur";();"ck ins Programm"Gf #,,#," Gew";();"nschte Nummer dr";();"cken ! "pC "" pz "1"  "2" ! "4" ##  "3" V  R?##, ,#," Randfarben ";();"ndern ! "   BOR  borC ""   "x" "X" R ()   bor  #------- Papierfarben -------A ##, ,#," Papierfarben ";();"ndern ! "   PA  , PA$ C "" $ . "x" "X" R8 () B B PA L  V @` ##, ,#," Stiftfarben ";();"ndern ! "  j p t , p~ C "" ~ ! "x" "X" R  ()  p ` #, , #, "Zur";();"ck ins Men";();"e  [X]  dr";();"cken !"#, ,#," Dr";();"cken einer Taste schaltet die Farbe weiter ! "  ! #,,5,,#,8,G,,@ x=2:y=1:IF page=1 THEN speicher=&A200 ELSE speicher=&A300^ ," "h , " Editiermen";();" : "u , " S-eitenwechsel ";" A-SCII ";" H-EX ";" X-Hauptmen";();" "{ , " COPY - Taste ";();"nderungsmodus ";" ein "; " / ";" aus ";" " , " ";();" - Zeichen rechts ";();" - Zeichen links ";();" - Zeile hoch ";();" - Zeile runter "P   zustan pag speiche  speiche #, , (  ( ),p  2 ,,< C "" < F ,,9P () 1," ein ";" / aus ";  &Z "X" "x"  7d "a" "A" "h" "H"  "n "s" "S"  2x ( ())( ())2 ( ())( ()).  2    .  /    /    /  .    /  )     )     ) /    )  /      5 pag speiche  speiche* spei( ) spei 3 speicherzell speiche spei spei% ,  ,   $ firsC firs""  " , firs()  76 (firs)0 (firs)f firs"0"7@ (firs)9 (firs)A firs"0"7J (firs)F (firs)a firs"0"!T #, , #,firs^ ,  &h seconC secon"" h r | secon() l  firs secon6 firs"a" firs"A" firs  6 firs"b" firs"B" firs  6 firs"c" firs"C" firs  6 firs"d" firs"D" firs  6 firs"e" firs"E" firs  6 firs"f" firs"F" firs    9 secon"a" secon"A" secon  0 9 secon"b" secon"B" secon  0 9 secon"c" secon"C" secon  0 9 secon"d" secon"D" secon  0 9 secon"e" secon"E" secon 0 9 secon"f" secon"F" secon 0  & L0 firs secon newwer((firs))(secon)C: firs secon newwer firs(secon)HD firs secon newwer((firs)) secon?N firs secon newwer firs secon"X speicherzell, newwerb l pe( speicherzell) pe pek"0" pek( speicherzell)#, , #,pek#, , #,s( pek)  #, , #,s( pe)@v r( speicherzell) r r~ r.& #, spei, #,( r) secon()   # /  .  /    $         , 1," ein ";" / ";" aus "   pagewechselP pag pag , buffe  , buffe#   L pag pag , buffe  , buffe#    1 "h" "H" zustan x x "a" "A" zustan zustan ," ";" A-SCII ";" ";" H-EX "; > n* "h" "H" zustan zustan ," A-SCII ";" H-EX ";  14 "a" "A" zustan  > H zustan  PR   zustan pag speiche  speiche\ #, , f ( ),p  p ,,z C "" z ,,9 () 1," ein ";" / aus "; .& "X" "x"  7 "a" "A" "h" "H" * " "s" "S" 2 ( ())( ())2 ( ())( ()).     .     .     .     )    )    )    )     $ \ 5. pag speiche  speiche,8 spei( ) spei 3B speicherzell speiche spei spei%L ,  , 6 VC "" V ` j () t newwer()"~ speicherzell, newwerR#, ,  newwer newwer #,( newwer)  #,"."1#, ,  newwer #,"0";#,s( newwer) #   7 (  ) ( )    ., 1," ein ";" / ";" aus " \ pagewechselP  pag pag , buffe  , buffe#  \ L pag pag , buffe  , buffe#  \ (###;2#,, #,"Haben Sie  1  oder  2  Laufwerke ?";<#,, #,"Entsprechende Taste dr";();"cken !"FC "" F'P "1" anz  n.Z "2" anz    FdYn flop(g) adres vsAbfrage welcher Controler bei einem Laufwerk'x flop h  X ( flop flop flop!) ( adres) h L g ( flop flop flop!) ( adres) h    4 Z flop(g) adresШ vsAbfrage welcher Controler bei zwei Laufwerken' flop h  &Q flop flop flop! h L   4 \###,,#,"Welches Format wollen Sie auf dem 3'-Zoll A Laufwerk einstellen ?"H#,,#," 1  Schneider CP/M und Vendor Format auf 3'-Zoll">#,,#," 2  Schneider Daten Format auf 3'-Zoll"<#,,#," 3  Schneider IBM Format auf 3'-Zoll"R#,, #," 4  Frei w";();"hlbares Format auf 3'-Zoll Laufwerk A"@#,, #," 5  Formatieren mit eingestellten Daten"H#,,#," 6  Laden / Abspeichern von eingestelltem Format0#,,#," 7  Direktory anzeigen ">#,,#," 8  Zur";();"ck zum Hauptprogramm"" adres vs,C "" ,$6 "1"    #@ "2"   #J "3"   #T "4" ~  /^ "5"  driv   h "6"  "!r "7" |  *| "8" #    "_###,,#,"Welches Format wollen Sie auf dem 5.25'-Zoll A Laufwerk einstellen ?";#,,#," 1  Vortex Format wieder einstellen"T#,,#," 2  Frei w";();"hlbares Format auf 5.25'-Zoll Laufwerk A"6#,,#," 3  Formatieren auf Laufwerk A"H#,, #," 4  Laden / Abspeichern von eingestelltem Format/#,, #," 5  Direktory anzeigen">#,,#," 6  Zur";();"ck zum Hauptprogramm" adres vsC ""  # "1" L  # "2" ~  : "3" # ,|FORMA, ,#  "4"  ! "5" |  * "6" #    &\0###,,#,"Welches Format wollen Sie auf dem 3'-Zoll B Laufwerk einstellen ?"H:#,,#," 1  Schneider CP/M und Vendor Format auf 3'-Zoll">D#,,#," 2  Schneider Daten Format auf 3'-Zoll"<N#,,#," 3  Schneider IBM Format auf 3'-Zoll"QX#,,#," 4  Frei w";();"hlbares Format auf 3'-Zoll Laufwerk B"Rb#,, #," 5  Auf 5.25'-Zoll B Laufwerk umschalten (Wenn vorhanden)"@l#,, #," 6  Formatieren mit eingestellten Daten"Jv#,,#," 7  Laden / Abspeichern von eingestellten Formaten/#,,#," 8  Direktory anzeigen">#,,#," 9  Zur";();"ck zum Hauptprogramm" adresШ vsC "" # "1"   &% "2"   & # "3"   &# "4" ~  &1 "5" |, h  L . "6"  driv  & "7"  ! "8" |  &* "9" #    _ ###,,#,"Welches Format wollen Sie auf dem 5.25'-Zoll B Laufwerk einstellen ?";#,,#," 1  Wieder Vortex Format einstellen"T #,,#," 2  Frei w";();"hlbares Format auf 5.25'-Zoll Laufwerk B"N*#,,#," 3  Auf 3'-Zoll B Laufwerk umschalten (Wenn vorhanden)"64#,,#," 4  Formatieren auf Laufwerk B"J>#,, #," 5  Laden / Abspeichern von eigestellten Formaten"/H#,, #," 6  Direktory anzeigen">R#,,#," 7  Zur";();"ck zum Hauptprogramm"\ adresШ vsfC "" f#p "1" L  #z "2" ~  1 "3" |, h   &: "4" # ,|FORMA, ,#  "5"  \! "6" |  * "7" #    \+ adres adres N xx  werwer"&"wer xx,(wer)N 24,00,03,07,00,aa,00,3f,00,c0,00,10,00,02,00,41,09,2a,52,e5,02,04,27,27+ adres adres N xx  werwer"&"wer xx,(wer)N 24,00,03,07,00,b3,00,3f,00,c0,00,10,00,00,00,c1,09,2a,52,e5,02,04,27,27+$ adres adres 8N. xx  werwer"&"wer xx,(wer)N8 20,00,03,07,00,9b,00,3f,00,c0,00,10,00,01,00,01,08,2a,50,e5,02,04,27,27BL+V adres adres jN` xx  werwer"&"wer xx,(wer)Nj 24,00,05,1f,03,b0,00,7f,00,80,00,20,00,02,00,01,09,2a,52,e5,02,04,01,4ft~ ##  m#,,#," Ver";();"nderbare Parameter : Eingest. Wert Eingabe : "-#,,#,"Sektoren / Spur (max. 60)"5#,,#,"Bytes / Sektor (128,256,512,1024)"F#,,#,"Spuren /Seite (3'-Zoll max.42 / 5.25'-Zoll max.82)"A#,,#,"Direktory Eintr";();"ge (16,32,64,128,256)"*#,,#,"Anzahl der Systemspuren">#,,#,"Blockgr";();();"e in KB (1,2,4,8,16)##,,#,"Nummer 1. Sektor"9#,,#,"L";();"nge Gap 3 Sektor read/write": #,, #,"L";();"nge Gap 3 Track formatieren"+#,, #,"Filler-Byte formatieren"1#,, #," Informations Parameter : "$(#,, #,"Max. Blocknummer"2#,,#,"Block Shift"<#,,#,"Block Maske" F#,,#,"Extend Maske"8P#,,#,"Formatierte Kapazit";();"t in KB"@Z#,,#,"Verf";();"gbare Kapazit";();"t in KB" d @;n PS( adres)#,5,#, "####"; PS;(x BPS( adres) BP+ lo BPS BP BP!#,5,#, "####"; BP< MT( adres)#,5,#, "####"; MTT DR( adres)(( adres))#,5,#, "####"; DRP OF( adres)( adres )#,5,#, "####"; OFE BL((( adres)))#,5,#, "####"; BLt FS( adres) FS #,5,#,"& ";#,s( FS)  #,5,#,"& ";#,s( FS)t GP( adres) GP #,5,#,"& ";#,s( GP)  #,5,#,"& ";#,s( GP)w GP ( adres) GP #,5, #,"& ";#,s( GP)  #,5, #,"& ";#,s( GP)v FL( adres) FL #,5, #,"& ";#,s( FL)  #,5, #,"& ";#,s( FL) DS( adres)( adres) DS #,5, #,"& ";#,s( DS)  #,5, #,"&";#,s( DS)9 BS( adres)#,5,#, "####"; BS9 BL( adres)#,5,#, "####"; BL; EX( adres)#,5,#, "####"; EXf KP PS BP h h FK MT KP  FK MT KP"#,5,#, "####"; FKI" FKD(( FK( DR )( OF KP)) BL) BL#,#,5,#, "####"; FKD6 @ n+J C "" t JnT ()    ()  .  () ^  () ##   T ^PST5h#,H,#,":", PS PS  <r PS< PS h  adres, PSU| SP PS( adres) adres, SP n   n  BPS, C "" t  f ()    ()  J  ()   ()   5#,H,#,":", BP BP  * BP BP   * BPS BP  BPS  BPS lop + BP   BPS BPS BP BP BP  h adres, BPS adres, BP adres,(( adres)( adres))" n   n  MTR+ C "" t d& ()  X  ()    () 0  ()   &50#,H,#,":", MT MT  X: MT OF 0^D ( h h) MTR 0  ( h h) MT* 0  N;N adres, MT n   n  XDRM+b C "" t bdl ()    ()    () v  ()   l5v#,H,#,":", DR DR  5 DR DR ( DR ) v adres, DR= adres ,( DR) n   n $ AL(( DR )) BL AL ADRES,   AL ADRES,   AL ADRES,   AL ADRES,   AL ADRES,     AL ADRES,   AL ADRES,   AL ADRES,   ADRES, ADRES , OFF+ C "" t d ()    ()  X  ()   ()   K#,H,#,":",OF OF""    OF(OF) OF 2 ( h h) OF MT 0 ( h h) OF MT  ADRES , OF"  n   n  BLS+  C "" t  d* ()  p  ()    () 4  ()   *54#,H,#,":", BL BL  p4> BL BL 4  BL BL4H BL(( BL)) ADRES, BLQR BLS( BL) BS((()))( BLS) ADRES, BS!\ BL DS 4"f n   n  pFSC+z C "" t zd ()    ()    ()   ()   _#,H,#,":&",FSFS"&"FS FS"&"    FS(FS)5 FS FS   FS FS ADRES, FS n  GPS+ C "" t d ()    ()  p  ()   ()   _#,H,#,":&",GPGP"&"GP GP"&"    GP(GP)* GP   GP GP' ADRES, GP n  GPT,  C "" t d ()  .  ()    ()   ()   `#,H, #,":&",GPGP"&"GP GP"&"  .  GP(GP)5 GP GP   GP GP'$ ADRES, GP n  .FLB,8  C "" t 8dB ()  J  ()    () L  ()   B`L#,H, #,":&",FLFL"&"FL FL"&"  J  FL(FL)5V FL FL L  FL FL'` ADRES, FL n  j Jt~#,H, #,":";#,H, #," ";"#,H, #," ";x DS FKD BL DSM DS DSM DS( DSM) adres, DSM adres, DSM DS EX((( BL))) ADRES, EX  DS BL EX((( BL))) ADRES, EX### ,"Wollen Sie Laden oder Abspeichern ? Richtige Diskette in  A  einlegen ! "  ," L  oder  S  dr";();"cken !"|C ""   "L" "l" P' "S" "s"   % h h    (J  tt  wert( adres tt)  tt, wert% h    L) adressal adres adres ( >2 , , adres, h h <  Fj< tt  wert( adres tt) adressal tt, wert adres adressal F#%P h h Z  n%Z h  d  L)d adressal adres adres n x , adres% h h   j tt  wert( adres tt) adressal tt, wert adres adressal #9 , "Name :", () u(,)".dat", flop flop! |DERRO,# ,M flop flop! |DERRO der  derH , flop flop! |DERRO,M#,,#," Eine Taste dr";();"cken ! "  ,###,,#," COPY-Taste -";();"nderungsmodus ein kleine ENTER-Taste -zur";();"ck ins Men";();"e "s#,," ";();" Eingabe weiter oben ";();" Eingabe weiter unten "#" inver ,  J, invera6#,," I-nvertierung aus /  ein  "@ ,J , T inver inver^ah#,," I-nvertierung  aus  / ein "rp| inver inver#,,#,"  Invertierung aus / an "#,"  "p inver inver#,,#,"  Invertierung aus / an "#,"  "H vs(`)(a)( vs(b)(c)(d trackmaxa((( vs)) secmaxa(( vs) blockmaxa(( vs)b trackmaxa(( vs) secmaxa(( vs) blockmaxa(( vs)B trackmaxa* trackmaxa trackmaxa mvB trackmaxa* trackmaxa trackmaxa mv" trackmaxa' mv" trackmaxa' mvY fis ( flop ()) trackmaxa' trackmaxa' fisY fis ( flop ()) trackmaxa' trackmaxa fisZ fis ( flop ()) trackmaxa trackmaxa' fis h fis ( flop flop flop!) trackmaxa trackmaxa fis[ trackma trackmaxa secma secmaxa blockma blockmaxa m mv'# , ɠ, à, driv driv lowbyt(b) highbyt(c) startadress highbyt lowbyt  lowbyt(`) highbyt(a) startadress highbyt lowbyt@& trackanzah( startadress)  , trackanzah0 Š, trackanzah : Ġ,0D FS( startadress) Ơ, FS0N PS( startadress) Ǡ, PS0X BP( startadress) ʠ, BPSb##,, #,"Bitte Diskette einlegen und Taste dr";();"cken !" $l##,#, #," TRACK : "v trmax(Š)$ track(Ġ) trmax ɠ, track#,-, #,(ɠ)  M#,,#,"Noch eine Diskette ?  J  oder  N  dr";();"cken ! "C "" & "J" "j" # b& "N" "n" ##a ," Befehle : "_ ," R-ead W-rite E-dit C-opy F-ormat "_ ," T-int B-locknumber H-ardcopy P-rint Q-uit " inver g  ," I-nvertierung  aus  / ein "  a ," I-nvertierung aus /  ein  "  ," ";() ;" + Spur ";() ;" - Spur "; () ;" - Sektor ";();" + Sektor ";();" Seite 2 ";();" Seite 1 "*4Y>##,"Sie benutzen keinen g";();"ngigen Floppy-Controller"  MH  ,"Ich kann mit dieser Version des Rechners nichts anfangen !"R\ ,,f,,f,f,f,>, ,f,,f,f,f,f,<, ,,f,,<,f,f,<, ,f,,<,f,f,f,<, ,f,,x, ,|,,v, ,f,,<,f,~,f,f,+f ,|,,,,,,, pspeed zreturn  J    ,  Z, [, \, &F5,&C5,&D5,&E5,&F3,&01,&07,&DF,&ED,&49,&D9,&C5,&ED,&4B,&A8,&B1,&06,&DF,&F5,&3E,&06,&32,&A8,&B1,&F1,&C5,&01,&82,&7F,&ED,&49,&D9,&CD,&73,&FE,&F3,&C1,&ED,&49,&79,&32,&A8,&B1,&D9,&C1,&ED,&49,&D9,&FB,&E1,&D1,&C1,&F1,&C9#J derD #," LESE-/SCHREIBFEHLER ! "   #w derH #," DISKETTE FEHLT ! "##," Diskette einlegen und Taste dr";();"cken ! " #TOR":LOCATE 18,7:PRINT"von":LOCATE 14,9:PRINT"Detlef Gunkel":LOCATE 16,11:PRINT"(24