> MIDILink P>&2C00:=-&100:$&600 ;asm:A%=ld%:B%=sv%:C%=end%:D%=p_byt%:E%=ld_scr%:F%=cld% (C: P% W%-V%:ld%=A%:sv%=B%:end%=C%:p_byt%=D%:ld_scr%=E%:cld%=F% 2_ ctrl% 31,name% 15:X%=ctrl%:Y%=X%256:A$=80," "):F$="":fsz%=0:?&FCF0=3:?&FCF0=21 < : FZ%=0:1:scr:tit P go: Z(asm: V% 300:P=01:P%=V%:[OPT P*2 d.ini%:JSRgbyt%:STAend% nBJSRgbyt%:CLC:ADC#&30:STAend%+1:LDY#0:STY&70:LDA#&30:STA&71:RTS x.ld%:JSRini% 7.ld_lp%:JSRgbyt%:STA(&70),Y:INC&70:BNEld_nx%:INC&71 C.ld_nx%:LDA&70:CMPend%:BNEld_lp%:LDA&71:CMPend%+1:BNEld_lp%:RTS 6.esc:LDA#124:JSR&FFF4:BRK:EQUB17:EQUS"Escape.":BRK .gbyt% 4BIT&FF:BMIesc:LDA&FCF0:#1:BEQgbyt%:LDA&FCF1:RTS .ld_scr%:JSRini%:LDY#0 .lp1% LDA#0:STA&70:LDA#&30:STA&71 .lp2% iJSRgbyt%:STA(&70),Y:LDA&70:CLC:ADC#8:STA&70:LDA&71:ADC#0:STA&71:CMP#&70:BCClp2%:INY:CPY#8:BNElp1%:RTS .sv% WLDA#0:STA&70:LDA#&30:STA&71:LDAend%:JSRp_byt%:LDAend%+1:SEC:SBC#&30:JSRp_byt%:LDY#0 .sv_lp% mLDA(&70),Y:JSRp_byt%:LDY#2:LDX#255:.sv_pse%:DEX:BNEsv_pse%:DEY:BNEsv_pse%:INC&70:BNEsv_nx%:INC&71:.sv_nx% ;LDA&70:CMPend%:BNEsv_lp%:LDA&71:CMPend%+1:BNEsv_lp%:RTS z.p_byt%:TAX:.p_byt_lp%:BIT&FF:BMIput_esc:LDA&FCF0:#2:BEQp_byt_lp%:STX&FCF1:.p_byt_lp2%:LDA&FCF0:#2:BEQp_byt_lp2%:RTS ".put_esc:JMPesc ,.end%:EQUD0 6 .cld% @CPHA:BIT&FF:BMIce2%:TAY:JSR&FFD7:BCSce2%:PHA:JSR&FFD7:BCSce%:TAX JhPLA:LDY#0:.clp%:STA(&70),Y:INY:DEX:BNEclp%:DEY:TYA:SEC:ADC&70:STA&70:LDA&71:ADC#0:STA&71:PLA:BNEcld% T.ce%:PLA:.ce2%:PLA:RTS ^ .W%:]: hKscr:19,1,1;0;19,3,7;0;19,2,3;0;19;4;0;28;31,wth-1,26,23,1;0;0;0;0: rݤwth=?&30A-?&308+1 |go:Z%=0:err: m:'"Program Ended": ,ݤerr::<128 <>17:" at line ";:= =17:=-2 0tit: IFINKEY-1=0ANDZ%=0PROCld(">SCR-PIC") D26:2:0,25);"Amstrad/BBC Communicator -*- (C)1990 HCE":scr: : Cݤm::A%=0:B%=pal(0)::A%=A%+1:(pal(A%)B%15)1:"File '"A$"' not found":A%=: (X%!10>16384:"File too long":A%=: $"LOAD "+A$+" "+~mem%:upPre: 0tx(mem%,X%!10):F$=A$:fsz%=X%!10:A%=rxAck: : @upScr::"Sending Amstrad screen picture";:$name%="SCREEN" 16384:!cmd%=0:tx(cmd%,1):"File too long":A%=:=  = :  &dn::"Receive a file":dnPre: *frx(mem%,X%!10):txAck:"SAVE "+A$+" "+~mem%+"+"+~X%!10+" "+~X%!6+" "+~X%!2:F$=A$:fsz%=X%!10: 4: >2 7: z22,md%:scr: pltt:pall=cols  :"Change palette:" 1A=0pall:;~A;":";d0(pal(A),2);" ";::8: :A$=:A$>"`" A$=(A$-32) 3A%="0123456789ABCDEFRS"+13,A$):A%<>0:A%=A%-1 A%=16 20 ,A%=17 A=pall 0 -1:19,A,A 7,0,0,0: 7 A=03:?(&3000+A)=pal(A*2+8)+16*pal(A*2+9): 7"SAVE "+F$+" FFFF"+~osb(&84,0,0)+"+"+L$+" "+A$: $ld_scr::"Load a screen" .@"Filename: "F$:A%=file(F$,5):A%<>1 F$" not found.":Z=: 8Gmd%=ct%?716:md%=md%-((md%=6md%=3)(md%3)):md%<>md 22,md%:set BPA%=ct%!6 &FFF:B%=0cols:19,B%,A% 7,0,0,0:A%=A% 8:B%=3 A%=ct%!2 &FFF Ll:ld(F$): cols>7 A=30-1:19,A*2+8,?(&3000+A)&F,0,0,0,19,A*2+9,?(&3000+A)16,0,0,0::!&3000=!&3004 Vf_len%=0: `ݤmd=osb(135,0,0)256 j*ݤosb(A%,X%,Y%):=(&FFF4 &FFFF00)256 t7ݤcols: A%:0,15:69,0,0:A%=0,0):0,0:69,0,0:=A% ~ottl:"Picture title: "F$:A%=wth/80*48:F$=F$,A%):F$=F$+A%-F$," "):26:0,25);F$:28,0,31,wth-1,26: Ald(F$):F$,1)<>">" "LOAD "+F$+" FFFF"+~osb(&85,md,0): Ict%!6<0 ld(F$,2)): A%=F$,2):!&70=osb(&85,md,0):cld%:#A%: Bݤfile(A$,A%):$name%=A$:?X%=name%:X%?1=name%256:=(&FFDD)&FF #ݤd0(A%,N%)="00000000"+A%,N%)