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