ZXTape! VO ,WORKTOP.BASp RU |A ROBOT PD ORIGINAL - NOT TO BE DISTRIBUTED (WITHOUT PERMISSION) BY OTHER UK PUBLIC DOMAIN LIBRARIES Worktop 1.1 (Almost) Public Domain, (c) Robot PD by Richard Fairhurst 1990-1991 2 Treny?t Road, Oakham, Rutland N.B. This program may NOT be distributed commercially in the UK without written permission from the author at the above address. The only UK library granted permission to distribute it (so far) is ROBOT PD.This covers PD libraries, fanzines, magazines, BBSs, other software libraries and such like. Permission is not required for PD libraries in Europe outside UK, Australasia etc. TThanks to SOFT 968 and 158A, the firmware guides - indispensable! p , , ,     ,"Robot PD presents"         , , , <,  ,P ,P <,  ,P ,P <, ,U, ,P ,PU, ,"Worktop v1.1"%   /u"worktop.2", addmF  "*" add,("&") add add  CD,9B,9D,32,75,9D,E5,06,00,7E,12,23,13,10,FA,E1,CD,26,BC,0D,20,F0,C9,CD,9B,9D,32,8C,9D,E5,06,00,1A,77,23,13,10,FA,E1,CD,26,BC,0D,20,F0,C9,DD,4E,00,DD,5E,04,DD,56,05,DD,6E,06,DD,66,08,25,2D,CD,1A,BC,79,87,87,87,4F,DD,7E,02,C9\ DD,56,02,DD,7E,00,1E,00,21,F0,9D,F5,0E,07,CD,0F,B9,F1,C5,4F,CD,66,C6,C1,CD,18,B9,C9,>* addF  "*" add,("&") add add   21,2E,BF,CD,D4,BC,22,2F,BF,79,32,31,BF,C9,3E,00,21,2F,BF,CD,23,00,32,2C,BF,3E,01,21,2F,BF,CD,23,00,32,2D,BF,C9,43,52,54,43,21,00,00,00,00,88,00,00,00,00,06,00,21, 00,00,7E,F6,80,C5,E5,CD,FC,BB,21,00,00,11,FE,FF,CD,C3,BB,E1,C1,23,10,EA,C9M 21,00,AF,CD,D4,BC,38,06,3E,00,32,00,AF,C9,DD,21,10,AF,3E,00,C3,1B,00,*w   #,,P,,#,#,##,P,P,,#,#, ,~ ,#,"Worktop File kW ,WORKTOP.BASp WO   View Exit" "worktop.1"    "Worktop Copier""Save to drive A or B?  ";"" "A" "B"(C) ,()"";  "worktop.2", ,()AM"Insert destination disc [in drive "" then press any key."  ":WORKTOP." ":WORKTOP.2", ,, ()() "Insert source disc in drive "" then pressany key." "worktop.1", XO ,WORKTOP.1pqUJXO B 6,SDirectory,-,SAbout Worktop,SControl Panel,-,"S| Command"Q 9,SUnerase,-,SMove drawers,SRename,-,SDisplay,-,SCreate drawer,STitle discI 5,SSort by name,SSort by type,-,1Show hidden files,2Show read-only% 2,SExit to CP/M,SExit to BASIC68 a-y (?),( ), ( ), (),( )c u l  xA b y us f () ()"" j i i v h. r k k k k k i djc: ,""; ,""; ,"TRASH" P% a b    @ 5 dc c p Effff #, (""),( t t t)( a  ) us j c  \o f () j c o1( t t t)( b  ) us t c  o f () j c on6 f t b y t l c a a } a dc  dcz@ f t b y t l x c a o a a dc  dc\E f t b y t l x dc c % dcJ fz t b t l dc us #, l, l x, b, b y#,# l , b x,, , y( x), , y c dc  a uspatt  Sc dcWO f t b t l t l x dc % dcT t t men, t t men, t t men, t t men,x| !f t b y t b t l t l x c dc H dc/( t t t)' c0 f c "" dc   f((B)(C)) W ,WORKTOP.1p qUWO in t( fA) sc ?( )"" f f, t,   ( )( )(  )"" z   (( z))"WORKTOP SYS" )in((,,)"" ())((, ,)"" ())( sc)(( )) sc sc , IP()4,()6,(@)7,(@)3(|"$.$"|DI,@|USE,Z,,  ()"Drive "(A())": "t()t in"WORKTOP.SYS"#, u  u#,( )tu((), )ty(t,)" "tu(t,(t)),L@()Pך6p,,  ();(); iu ())z , ""; , ""; ," k o  o  ( k) , , ""; , ""; C""L ()(); t  t  i ( k) w( z,) z z  k ( k) v( z,) z z  k z ( k) v( z,) z z ,@ k ( k) w( z,x) z z  k zJ k o, o""; o, o""; , k z  v l , b , b , (  l ,   l , bz l , b o, b o, o  l , o  l , bQ ,  x, ,( y)( x), , yS o, o x, ,( y)( x), , y8 |( ,n) ( a  ) ,""; ,""; ,L"DRIVE A: " P  |( ,n) ( a  ) ,"   ";: |( ,.)|WO ,WORKTOP.1pqUfWO  ( b  ) ,""; ,""; , "DRIVE B: " P  |( ,.) ( b  ) ,"   ";B+j dc| , ~ dc+t dc| , ~ dc6~| uspoatt a f#, l, l x, b, b y#,#,# l , b x,,,( y)( x),, y l , b x,,,( y)( x),x, y2#,"";{( x,"");#,,#,u(pat, x); c(( us))   ? ( )"" u(( ),)( us) c c4 c(( x) )(( y)) c o <  c c c c o c c  o c c<#,, y#,"";{(( a) o( x),"");{( o( x),"");{(( o a) o( x),"");#, x, y#,""; e  (( us)) ( 1e)((( us), )) e e e e|n#, l, l x, b, b y x (( x) ) sc f( a) c"""" y x sc x x x x x y y x x a sc e""u(( ( sc)), )y(,)" "u(,()) f f( ( sc)c)b( f)""u(,)( us) f f f? sc c(,,)" "u(,t(," "))"."((y(,)))((y(,)))((y(,)))( f)y(,)t"BAS""""BIN""""COM"""="WTP""{}~""" x, yu(,)" """""y(,);( l x)( ()),l b yP f f sc sc f? sc c 6, , meniWO,WORKTOP.1pqUWO   m c c36 men  m  c  c3@ men  m c c3J men  m c cQK  m   ( ) mv((( )), m)*M m, m,,0u, m, tO"Worktop File View Exit"""u(, c)""(, c, c c)""(, c)"" a c%r#, m, m m,, | m ,, m,,  m,,  m,, m,,  m,  , )( )"-"{( m,"");5u(( ),)"S"" ";(( ),);9 ((u(( `!),))) "";" ";(( ),); o po t m t m m t t  , m,,0u, m,  ,# t t( t)&"-"0u(,L)"S" t(u(( t),))  ( t) ( t) #,, t #,"";#," ";:1 t t o 2O: , m,,0u, m,  dc men X,L,p!,4! D 0X men t ,,,(#,(#,R m, ,,0u,=, a  bE a c ` "Directory";{(2,""); , us|DI"Press any key"   , ,,0u,=, m,,,0u,+, a b<$ a c ` " WORKTOP v1.1 "" User-friendly desktop for Amstrad CPC"v" (almost) Public Domain, 1991 " ,  {(,)""{(#,)" Ok "{(#,)"" Y  p t% t* t t    ,,,0u,+,mR m,,,0u,P,  a bO a c `  ()"ENTER/RETURN to exit"2\"|"; mK px(#)WO ,WORKTOP.1p!qUVO  p(#) ?f p i"" ,,,0u,P,    p ;z ,((u(i,)))i(i,) 2i"" t(" ,",u(i,))z ,( )di"" D!t(" ,",u(i,))i(i,)t(" ,",u(i,))/t(" ,",u(i,))i(i,)-( p)u(i,)i(i,)( p)(")u(i,)(")i""( p)( p)u(i,)/i(i,) p py(( p),)(")( p)u(( p),(( p)))i""u(i,)" "u(i,)"," t (( p)) t tt("1234567890",(( p), ,))( p)("( t))( p) p pi"">( p)( p)u(i,)i(i,)   p_(( ))"( )(( ),) z@( ) z((( ),))F , z ( z) , ( z) 4b, pO()"Unknown command" \<L men t ,,@,,, , ,l ,  "" "RENAME FILE""You have not selected a file to""rename."""x" Ok" op | () "RENAME FILE""You can only rename one file at""a time."""x" Ok" op |' f((,(u(,)),))E m,,,0u,, uR a b4 a c `3" RENAME "; fd"FILE""DRAWER"*" ";{(( fc),"")`" Old name: "; fd뿬(( f),,);".";y(( f),)u(( fc), ))" Drawer : ";u(O( us), )S" New name: "; m  px(#) p(#)i""i"" C i(i) fd2(i) ii" "< o  uu(( ), )i o- o,<, p, _VO ,WORKTOP.1p)qU@V p  ( (( fc),, )i"0:worktop.sys"#, u  u#,( )"0:worktop.bak"|ER,@ ,,,0u,,  >2, us(( f),,)"."y(( f),)%3t(i,"a.")ii"." 4 t(i,".") o$5 ((i)) oY6u(i, )()" "i("."(i, ))/7(i) ii" " ?;8( )( us)u(i,)y(i,) o-9 o,<, p, p  X< |RE,@i,@( f)( us)i ,,,0u,,  K m, ,,0u,=, a  bE a c ` #"Unerase";{(4,"");,/|DI"File to rescue (ENTER to finish):"' m  p p(#) P i"" , us  , ,,0u,=, f   '"0:"i|RE,@,@i ~@ "" "MOVE DRAWERS""You have not selected a file to""move."""x" Ok" op |EK m,,,0u,+,  a b4 a c `-L " MOVE DRAWERS"" "$M" Drawer : ";u(pat, )>N橿" Move to : "; m  px(#) p(#) &O(i) ii" "GP c  uu((( )), )(i) c Q c "MOVE DRAWERS""I can't find the drawer you""want. Check your spelling and""try again."x" Ok" op a R, usS t(),T f((,((, t,)),))^ fck(( f),,)"."y(( f),)" Moving ";;)"0:WORKTOP.TMP"|RE,@,@z , c|RE,@,@ , us x(#) |RE,@,@" Not moved!" ( f)( c)*  ,,,0u,+,   "" "DISPLAY FILE""You have not seWO ,WORKTOP.1p1qU'WO elected a file to""display."""x" Ok" op | () "DISPLAY FILE""You can only display one file at""a time."""x" Ok" op |' f((,(u(,)),))& f c "DISPLAY FILE""You can't display a drawer!""Click outside the file window""and try again."x" Ok" op | + D , , us.0 (( f),,)"."y(( f),) : F D E rE "DISPLAY FILE""You can only display ASCII files."""""x" Ok" op |_F m,, ,0u,P,#,,P, ,    , ~,, , ~,,TG "Listing of ";(( f),,)"."y(( f),);" (any key to pause)"UH n(ٽ) n(ڽ) n(۽)ٽ,(])ڽ,(^)۽,(_) J @L #,%N (P());X C""Y dZ  ٽ, n ڽ, n ۽, n"Press any key";  ,, ,0u,P, l f "CREATE DRAWER""You cannot create a drawer if""the file window is not open."""x" Ok" op |Dv m,,,0u,, a b4 a c `- " CREATE DRAWER"" "' " Parent: ";u(( us), )5 " Child : "; m  px(#) p(#)  i"" % u u u uK ( us)( us)( u)( u)i( (i))> "0:worktop.sys"#, u  u#,( )"  ,,,0u,,9  "0:worktop.bak"|ER,@   f "TITLE DISC""You cannot title the disc if""the file window5B is not open."""x" Ok" op |D m,,,0u,, a b4 a c `' " TITLE DISC"" "$ " Old name: ";u((), )7 " New name: "; m  px(#) p(#) :WO ,WORKTOP.1p9qUQxVO  i"" 1!()i( (i))((), )> !"0:worktop.sys"#, u  u#,( )3!"0:worktop.bak"|ER,@T! t(pat,"/") pati  pati(pat,t(patj,"/"))W ! | f   ,,,0u,, a b4 a c*!4! men t "EXIT TO BASIC""WARNING: exiting will close down""Worktop until it is reloaded."""x" Ok"y" Cancel" op | se |BASI>!"EXIT TO CP/M""WARNING: exiting will close down""Worktop until it is reloaded."""x" Ok"y" Cancel" op | se LR!| "$.$"|DI,@ E f((B)(C))\! fA "EXIT TO CP/M""The disc in drive A is not system""format. Insert a system format""disc and try again."x" Ok"y" Cancel" op | se R!  f!|CP?p! men t  se    se! o op!(( op), , se)(( op), , se)( op)( op)( op)( op) o[! op op op g}sc !  o !  f   E(# m,,,0u,", a b7 a c `,2#"Control Panel"p<#" Colours Control Pen Keyboard Paper > Joystick/mouse"zF#" Screen position CRTC 3 Vertical Horizontal "`P# ,"##"; i ,"##"; i, "##"; v, "##"; h,  rgZ# kJ,"Keyboard","Joystick/mouse","Keyboard","Joystick/mouse" d#p;n# t t  ,,,0u,",x# t t i i i t t i i i t$1VO ,WORKTOP.1 pAqUWO  t i i i t$ t i i il#( t t )( t t$) ,"##"; i ,"##"; i, i, i i# t& t5 t k k k k kZ# t kJ kK kH kI kLZ## t$ t v v v t) t v# v v t) t h( h h t$ t h1 h hm#( t$+ t))( t t),, v,, h,  v,  h=# t- t r t3 t rB#( t- t3) t,  r,, r #d#%Resize window% &T p  H&% a t l a t b a a %0%#, l, l x, b, b y#,# l , b x,, ,( y)( x), , y x a! y a  &% l   b%  p  E% t xO t t t y %%#, l, l x, b, b y#,# l , b xa$,, ,( y)( x), , y l t b t  w' "" "TRASH CAN""You have not selected any files."""""x" Ok" op |'"TRASH CAN""Are you sure thaےt you want to""erase the selected files?"""x"Continue"y" Cancel" op|$' se.' u ():8' f((,((, ,)),)) fd'&B' u fc u ?)L'u(34( ),)( u) u#V' u( u)""'`'"TRASH CAN""Do you want to erase all files""in drawer "u(( u), )y(,)" "u(,())"?"8j'""x" Ok"y" CanceGWO ,WORKTOP.1 pIqU^ZVO l" op|t' se (~', u ?X'u(( ),)( u)(( ),,)"."y(( ),)|ER,@'!'( u)""  ua' t(( ),( u))  ( )u(( ),CA )(( ), )'' u (',(u(( f),))>'(( f),,)"."y(( f),)|ER,@ ( (( u in)n(H( u ?( )( )"WORKTOP SYS" u 0(U(, u"WORKTOP.SYS"|ER,@2("WORKTOP.SYS"'<(( u)"" u u<(/F(#, u  u#,( ) n( ~0`#, a, b, a, c#,#,#Mj a, a( b a),,,(( c a))5t(( b a)),,,( c a)O~ a , a( b a) ,,,(( c a))4(( b a) ),,( c a)KH f( t l) x(( t b)) f()St(,( f)) f((, f,)) fc us fcpatpat"/"u(( us), )y(pat,)" "patu(pat,(pat)) a\ x(( t l) )  y(( t b)) g( l x)  g( y b)()(); g g4 g, N,( f) ( ("")) y(( f),)"WTP" ,   ,(( f).i)(( f),,)"."y(( f),)"Loading Worktop program - ";u(,);""      ,((( f), ))         (( ))S",(3)u(,)"."y(,) , "Loading ";%| m,,,0u,+,  a a b< a c`" "" "" "" "" "" "" ",;,;,;,;,S&V ,WORKTOP.1 qpQqUVO {((),"");,  op" ";,  op" ";#,#,x; op$,#,y; op|,#,z;# p t t$&   seN.40 # u op seN.: {  op seN D.N a ,,,0u,+,  a X i""! p(i), p""; C"" H*" """(i) mii"";;F4""i""iu(i,(i))"";" ";"";>( ) H"";" ";InterruptD ( a(,) b(-)) men dc ] i kE, , o, o""; o, o""; k  a(,) b(-) f (  (,())  ( ()(); #, l, l x, b, b y#,# l , /b x,, ,( y)( x), , y ,,( ()(); 8- i ()();2g ()() "Insert destination disc in drive "(())" then press any key." u_(()) ":worktop.1""Ok, now booting from your new copy!"|DRIV,@"worktop"22.4.91*WO ,WORKTOP.2Vll$lllll>X<|0f8l8vv 000 0 0f<f<0 0`0 ~~`0 0`fff~fff<<ff<fflxlff``````~|||ff|```fff>ff>|``|ffffff<``flxlf8l|fffffff<ll8lfff>|~ 0~UUUU p `x~x`~BBBBB~΂wsAswxHH UUU?@ * ****** *UV!0+= ?<??3W??==?(((|(|(8P0(pd L8   H0x0H0x0800 @0HHH0080H x0HH00Pxx@xp8@pH0x0H0H00H80  @ 88@  @0H,V0HX@80HxHHpHpHp0H@H0pHHHpx@p@xp@`@@8@XH0HHxHH88H0HP`PH@@@@xhTTDDHhXHH0HHH0pHp@@0HHH0pHpHH8@0p8HHHH8DD((DTTT<D((DD(x x`@@@`@ ` ` P|r bb *UJ|~?[U·T u[(( dis,)) "Maximum 32 characters" J(^ "Disc logged in: another? Y/N:";h(C) "" h  t("YN",) hr "Y" ,|B f((B)(C)) t( fA) p) c ( dis, )""/ f f , t,     < ( ) ( ) (  )  ""$  z   (( z) )1K z  ( z) 0 z  ( z) 1 (( dis, p)) p pK( dis, p)( dis, p)(( ))( )"*" ,   b<; "Discs logged-in:"(& b w( dis, b)'0 "Disc###: &"; ,( ,):$D "Which disc to ";actio;,N dis " (ENTER for more)"; X 4b "" dis b b y5YO,ORGANISE.BASp gZl se()vUpdate disc)actio"update"  se) "Disc###: &"; ,( ,): "Please insert the disc and press any key:" 7|DI dis dis   dis . "Enter a descriQptor: ",( se,)= (( se,)) "Maximum 32 characters" + "Disc re-logged in: another? Y/N:":(C) ""   t("YN",)  "Y" Search for file "Search for: ", "Send to printer? Y/N:":(C) ""   t("YN",)   c("Y") t(,".")#   "." '*  () 4u(, )!> ()m" "!H((, ))"R () " "-\ w t(u(,),"*") w+f t(y(,),"*") w wp  disz  '  (( , )) O  s (( , ), , ) w sB (( , ), ,)u(,) w sB (( , ), ,)y(,) w s s ( w)   , - "All discs searched, press any key:"  !# c,"Disc"; ;"file ";I# c,(( , ), ,);".";(( , ), ,);3# c," user";((( , ), ,));I ((( , ),  )) ( ) # c,"R/O ";( ( ) # c,"system ";# c,( ,)View disc$actio"view"  . "Send to printer? Y/N:":8(C) "" 8  t("YN",) 8B c("Y")L se  (V  (( , )) `  j C"" t  "~ "View another disc? Y/N:":(C) ""   t("YN",)  "Y" $Y ,ORGANISE.BASpUW Save as ASCII "Filename: ",    c  dis  '  (( , ))    , ,  Save database "Filename: ",d d#, dis(  dis2  m<( , ) t(,())u(,t(,()))()(,t(,())) A#,F  PZLoad database d|DIn "Filename: ",d4x d#, dis  dis  z #, t(,())u(,t(,()))()(,t(,()))( , )  D