This particular program mightn't have much practical application for others here, but it's a funny & fun way of filling the Screen up using SCR FILL BOX. Earlier I was using SCR HW ROLL to have Bub pop up from the bottom of the screen, but this time I'm using Rolling the Graphics from Right of Screen.
I found a small routine which uses "SCR GET LOCATION" followed by a "SCR SET OFFSET" (after some INCs) which causes Roll, the Catch is whole scroll Rolls, forcing anything from the left side to appear on the Right, my demo program uses this scroll first to avoid issues.
The 2nd image I've got I'm using SCR SW ROLL, this does allow me to Roll a specific region of the screen without affecting what else is on it (provided it doesn't overlap), which has allowed me to come up with this funny effect.
The program will have more practical application if the area as used by SCR SW ROLL was adjustable, which will just require a slight adjustment to the M/C Data. For the SCR SW ROLL, H & D holds the Left & Right Columns, L & E holds the Top and Bottom Lines.
10 IF PEEK(&4000)<>221 THEN GOSUB 2010
20 MODE 0:GOSUB 5010
30 DIM col%(323),house%(180):GOSUB 1000:GOSUB 4010:a%=1:y%=0
40 WHILE (x%<>19)
50 FOR y%=0 TO 16
60 CALL &4000,col%(a%),19,y%
70 a%=a%+1
80 NEXT y%:CALL &4026:x%=x%+1:WEND
90 a%=1 : y%=0
100 WHILE (y%<>9)
110 FOR x%=0 TO 19
120 CALL &4000,house%(a%),x%,24
130 a%=a%+1
140 NEXT x% : CALL &4016 : y%=y%+1 : WEND
150 CALL &BB18:PEN 1:MODE 2:END
1000 ' Set up Colours
1010 RESTORE 3010:FOR a%=1 TO 323
1020 READ c%
1030 col%(a%)=c%
1040 NEXT a%:RETURN
2000 ' Poke M/C
2010 RESTORE 2050:FOR addr%=&4000 TO &4031
2020 READ a$
2030 POKE addr%,VAL("&"+a$)
2040 NEXT addr%:RETURN
2050 DATA DD,7E,04,CD,2C,BC
2060 DATA F5,DD,7E,02,67,57
2070 DATA DD,7E,00,6F,5F,F1
2080 DATA CD,44,BC,C9,06,01
2090 DATA 3E,00,26,00,16,19
2100 DATA 2E,0E,1E,18,CD,50
2110 DATA BC,C9,C0,CD,0B,BC
2120 DATA 23,23,23,23,CD,05
2130 DATA BC,C9
3000 ' 1st Block of Data for Horizontal Scroll
3010 DATA 10,10,10,7,7,7,0,3,3,3,4,4,4,0,0,0,0
3020 DATA 0,0,0,0,0,7,0,0,0,0,0,0,4,0,0,0,0
3030 DATA 0,0,0,0,0,7,0,0,0,0,0,0,4,0,0,0,0
3040 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
3050 DATA 0,0,0,0,7,7,0,0,0,0,0,4,4,0,0,0,0
3060 DATA 0,0,10,7,0,0,0,0,0,3,4,0,0,0,0,0,0
3070 DATA 10,10,0,7,0,0,0,3,3,0,4,0,0,0,0,0,0
3080 DATA 0,0,10,7,0,0,0,0,0,3,4,0,0,0,0,0,0
3090 DATA 0,0,0,0,7,7,0,0,0,0,0,4,4,0,0,0,0
3100 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
3110 DATA 10,10,10,7,7,7,0,3,3,3,4,4,4,0,0,0,0
3120 DATA 0,0,10,0,0,0,0,0,0,0,0,0,4,0,0,0,0
3130 DATA 0,0,0,7,0,0,0,0,0,0,0,0,4,0,0,0,0
3140 DATA 10,10,10,0,7,7,0,0,0,0,0,0,0,0,0,0,0
3150 DATA 0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0
3160 DATA 0,10,10,7,7,0,0,0,0,3,4,0,0,0,0,0,0
3170 DATA 10,0,0,0,0,7,0,3,3,0,4,0,0,0,0,0,0
3180 DATA 10,0,0,0,0,7,0,0,0,3,4,0,0,0,0,0,0
3190 DATA 10,10,10,7,7,7,0,0,0,0,0,4,4,0,0,0,0
4000 ' 2nd Block of Data for Vertical Scroll
4010 RESTORE 4060
4020 FOR a%=1 TO 180
4030 READ c%
4040 house%(a%)=c%
4050 NEXT a% : RETURN
4060 DATA 0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0
4070 DATA 0,0,0,0,0,0,0,0,0,1,3,1,0,1,11,1,0,0,0,0
4080 DATA 0,0,0,0,0,0,0,0,1,3,3,3,1,1,11,1,0,0,0,0
4090 DATA 0,0,0,0,0,0,0,1,3,3,3,3,3,1,11,1,0,0,0,0
4100 DATA 0,0,0,0,0,0,1,3,3,3,3,3,3,3,1,1,0,0,0,0
4110 DATA 0,0,0,0,0,1,3,3,3,3,3,3,3,3,3,1,0,0,0,0
4120 DATA 0,0,0,0,1,3,3,3,3,3,3,3,3,3,3,3,1,0,0,0
4130 DATA 0,0,0,1,10,10,10,10,10,10,1,10,10,10,10,10,10,1,0,0
4140 DATA 0,0,0,1,10,10,10,10,10,1,2,1,10,10,10,10,10,1,0,0
5000 ' Ink Data
5010 RESTORE 5070
5020 FOR i%=0 TO 14
5030 READ c%
5040 INK i%,c%
5050 NEXT i%
5060 RETURN
5070 DATA 1,24,20,6,26,0,2,8,10,12,14,16,18,22,9