10 REM *********************************** 20 REM Screen Grab to PCX Converter 30 REM By Robin Nixon 40 REM Adapted for Notebook by Tim Surtell 50 REM *********************************** 60 REM NC200 Version 70 REM Downloaded from Tim's Amstrad NC Users' Site 80 REM http://www.ncus.org.uk 90 : 100 CLS:DIM A% 40,B% 128:PROCassemble 110 FOR J%=1 TO 128 120 READ B%?J% 130 NEXT 140 PRINT "GRAB2PCX: Press any key for the File Selector...";:G$=GET$ 150 file$=FNselect:IF file$="" THEN CLS:END 160 IF LEFT$(file$,2) <> "s." THEN PRINT "Not a screen grab..."':GOTO 140 170 file2$=LEFT$(file$,1)+RIGHT$(file$,1)+".pcx" 180 handlein=OPENIN(file$) 190 handleout=OPENOUT(file2$) 200 FOR J%=1 TO 128 210 BPUT #handleout,B%?J% 220 NEXT 230 PRINT "GRAB2PCX: Creating file: ";file2$' 240 PRINT "Processing line (of 128):" 250 PRINT:PRINT "When finished this program will" 260 PRINT "offer to convert another file." 270 FOR K%=1 TO 128 280 VDU 31,25,2:PRINT ;K% 290 FOR J%=1 TO 60 300 BPUT #handleout,&C1 310 BPUT #handleout,BGET #handlein 320 NEXT 330 FOR N%=1 TO 4 340 D%=BGET #handlein 350 NEXT 360 NEXT 370 CLOSE #handlein 380 CLOSE #handleout 390 GOTO 150 400 : 410 REM PCX header block 420 : 430 DATA &A,5,1,1,0,0,0,0,&DF,1,&7F,0,0,0,0,0 440 DATA 0,0,0,&FF,&FF,&FF,0,0,0,0,0,0,0,0,0,0 450 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 460 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 470 DATA 0,1,&3C,0,1,0,0,0,0,0,0,0,0,0,0,0 480 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 490 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 500 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 510 : 520 DEF FNselect 530 CALL A% 540 IF buffer?0 = 0 THEN CLS:="" 550 R$="" 560 FOR J%=0 TO 11 570 IF buffer?J% THEN R$=R$+CHR$(buffer?J%) ELSE J%=12 580 NEXT 590 =R$ 600 : 610 DEF PROCassemble 620 FOR PASS=0 TO 2 STEP 2 630 P%=A% 640 [ 650 OPT PASS 660 CALL &B8C3 670 LD DE,buffer 680 JR C,found 690 LD A,0 700 LD (DE),A 710 RET 720 .found 730 LD B,12 740 .loop 750 LD A,(HL) 760 LD (DE),A 770 INC HL 780 INC DE 790 DJNZ loop 800 RET 810 .buffer 820 ] 830 NEXT 840 ENDPROC