10MODE0
20PRINT"Put 4 Mode 0 screens into 1 a
nd save back to disc."
30PRINT"By C.J.Richardson for 8-Bit S
oftware."
40PRINT"Insert the four screen names
into the data statements"
50PRINT"at the end of this program. P
ut the save name for the"
60PRINT"finished screen in the last D
ATA statement. Then RUN"
70PRINT"this program and wait."''"PRE
SS A KEY"
80REPEATUNTILGET
90DEFFNS="Shrink"
100CLS
110REPEAT
120P%=0
130READS%,A$
140IF A$="END":READ Name$:OSCLI"SA. "+
Name$+" 3000 8000":END
150F%=OPENIN A$
160FORY%=1TO16
170FORX%=1TO40
180PROCg
190PTR#F%=PTR#F%+&278
200PROCg
210PTR#F%=PTR#F%-&278
220NEXT
230P%=P%+320:IF Y%<>16:PTR#F%=PTR#F%+&
280
240NEXT
250CLOSE#F%
260UNTILA$="END"
270END
280DEFPROCget`byte
290A%=BGET#F%
300IF A%>127 A%=A%-128:T%=128 ELSE T%=
0
310IF A%-32>-1 A%=A%-32:T%=T%+64
320IF A%-8>-1 A%=A%-8:T%=T%+32
330IF A%-2>-1 A%=A%-2:T%=T%+16
340PTR#F%=PTR#F%+7
350A%=BGET#F%
360IF A%>127 A%=A%-128:T%=T%+8
370IF A%-32>-1 A%=A%-32:T%=T%+4
380IF A%-8>-1 A%=A%-8:T%=T%+2
390IF A%-2>-1 A%=A%-2:T%=T%+1
400PTR#F%=PTR#F%-7
410ENDPROC
420DEFPROCg
430FORL%=1TO4
440PROCget`byte
450?(P%+S%)=T%
460P%=P%+1
470M%=M%+1
480NEXT
490ENDPROC
500DATA &3000
510DATA Screen name 1 here
520DATA &3140
530DATA Screen name 2 here
540DATA &5800
550DATA Screen name 3 here
560DATA &5940
570DATA Screen name 4 here
580DATA 0,END
590DATA Save name here