Oh well, I just put this little thing together below, which is too slow in Interpreted BASIC. With CPC Basic it's very fast, even with a CALL &BD19 included, if I can get a similiar speed in Assembly that would be great.

100 MODE 0:DEFINT a-z:WINDOW#1,5,14,11,19:PAPER#1,1:CLS#1:PAPER#1,0

110 s$="1111111111223344433455544433222222221111"

120 p1=1:p2=1:p3=11

130 x=5:y=10:LOCATE x,y

140 WHILE p1 < p3

150 p=p1:GOSUB 1000

160 p1=p1+1:x=x+1

170 WEND

180 p2=p2+1:x=5:p1=p2:p3=p1+10

190 IF p2=40 THEN p2=1:p1=1:p3=p1+10

200 CALL &BD19

210 GOTO 130

1000 FOR y=1 TO VAL(MID$(s$,p,1))

1010 WINDOW#1,x,x,VAL(MID$(s$,p,1))+11,VAL(MID$(s$,p,1))+13:CLS#1

1020 LOCATE x,val(mid$(s$,p,1))+10:PRINT CHR$(143);:LOCATE x,val(mid$(s$,p,1))+14:PRINT CHR$(143);

1030 NEXT y

1040 RETURN