+BEGIN {---}
+ I:=7; WHILE I<=255DO BEGIN LINE(I,0,I,191,2,WHERE); INC(I,8); END; {GRID}
+ I:=0; WHILE I<=191DO BEGIN LINE(0,I,255,I,2,WHERE); INC(I,8); END;
+ I:=127; WHILE I<=255DO BEGIN LINE(I,0,I,191,6,WHERE); INC(I,128); END;
+ I:=0; WHILE I<=191DO BEGIN LINE(0,I,255,I,6,WHERE); INC(I,56); END;
+
+ FOR I:=2TO L[II].FIELDX-2DO BEGIN
+ IF I MOD 2=0THEN PUTPIXEL(I,L[II].FIELDY SHR 1,4,WHERE)
+ ELSE PUTPIXEL(I,L[II].FIELDY SHR 1,2,WHERE);
+ END; {MID}
+ IF L[II].FIELDY MOD 2=0THEN
+ FOR I:=2TO L[II].FIELDX-2DO BEGIN
+ IF I MOD 2=1THEN PUTPIXEL(I,L[II].FIELDY SHR 1-1,4,WHERE)
+ ELSE PUTPIXEL(I,L[II].FIELDY SHR 1-1,2,WHERE);
+ END; {DOUBLEMID}
+ FOR I:=2TO L[II].FIELDY-2DO BEGIN
+ IF I MOD 2=0THEN PUTPIXEL(L[II].FIELDX SHR 1,I,4,WHERE)
+ ELSE PUTPIXEL(L[II].FIELDX SHR 1,I,2,WHERE);
+ END; {CENTER}
+ IF L[II].FIELDX MOD 2=0THEN
+ FOR I:=2TO L[II].FIELDY-2DO BEGIN
+ IF I MOD 2=1THEN PUTPIXEL(L[II].FIELDX SHR 1-1,I,4,WHERE)
+ ELSE PUTPIXEL(L[II].FIELDX SHR 1-1,I,2,WHERE);
+ END; {DOUBLECENTER}
+ IF(II>B.LSINGLE+B.LMULTI)AND(II<=B.LSINGLE+B.LMULTI+B.LRACE)THEN BEGIN
+ LINE(L[II].FLAG1Y,0,L[II].FLAG1Y,L[II].FLAG1X,22,WHERE);
+ LINE(L[II].FLAG1Y,L[II].FLAG1X,L[II].FLAG1Y,L[II].FIELDY-1,24,WHERE);
+ LINE(0,L[II].FLAG1X,L[II].FIELDX-1,L[II].FLAG1X,16,WHERE);
+ END; {RACE}
+ IF II<=B.LSINGLE THEN I:=1 ELSE I:=4;
+ FOR I:=1TO I DO BEGIN
+ CIRCLE(L[II].W[I].X,L[II].W[I].Y,2,14);
+ LINE(L[II].W[I].X,L[II].W[I].Y,L[II].W[I].X+ROUND(SIN(L[II].W[I].D/128*PI)*20),
+ L[II].W[I].Y+ROUND(COS(L[II].W[I].D/128*PI)*20),16,WHERE);
+ LINE(L[II].W[I].X,L[II].W[I].Y,L[II].W[I].X+ROUND(SIN((L[II].W[I].D-13)/128*PI)*15),
+ L[II].W[I].Y+ROUND(COS((L[II].W[I].D-13)/128*PI)*15),14,WHERE);
+ LINE(L[II].W[I].X,L[II].W[I].Y,L[II].W[I].X+ROUND(SIN((L[II].W[I].D+13)/128*PI)*15),
+ L[II].W[I].Y+ROUND(COS((L[II].W[I].D+13)/128*PI)*15),14,WHERE);
+ PUTPIXEL(L[II].W[I].X,L[II].W[I].Y,0,WHERE);
+ END; {WORMS}
+ IF II>B.LSINGLE+B.LMULTI+B.LRACE THEN BEGIN
+ IF L[II].SPRSIZE>0THEN I:=L[II].SPRSIZE ELSE I:=B.SPRSIZE;
+ DRAW4PIX(L[II].FLAG1X,L[II].FLAG1Y,I,I,22); {FLAGS}
+ DRAW4PIX(L[II].FLAG2X,L[II].FLAG2Y,I,I,24);
+ END; {DRAW FLAGS}
+ LINE(0,0,255,0,8,WHERE); LINE(0,1,255,1,8,WHERE); {BORDERS}
+ LINE(0,2,0,190-3,8,WHERE); LINE(1,2,1,190-3,8,WHERE);
+ LINE(MAX(126,L[II].FIELDX-2),2,MAX(126,L[II].FIELDX-2),L[II].FIELDY-1,8,WHERE);
+ LINE(MAX(127,L[II].FIELDX-1),2,MAX(127,L[II].FIELDX-1),L[II].FIELDY-1,8,WHERE);
+ LINE(0,L[II].FIELDY-2,L[II].FIELDX-1,L[II].FIELDY-2,8,WHERE);
+ LINE(0,L[II].FIELDY-1,L[II].FIELDX-1,L[II].FIELDY-1,8,WHERE);
+ FOR OBJ2:=1TO L[II].NROBJ DO IF OBJ2<>OBJ THEN DISPOBJ(OBJ2,10); {OBJS}
+ IF(OBJ>0)AND(OBJ<=L[II].NROBJ)THEN DISPOBJ(OBJ,12); {HIGHLIGHTED_OBJ}
+ FOR OBJ2:=1TO L[II].NRBALLS DO
+ DRAW4PIX(L[II].BALLS[OBJ2].X,L[II].BALLS[OBJ2].Y,2,2,12); {BOUNCIES}
+END; {DISPMAP}
+
+PROCEDURE DISPMAPMCGA(OBJ:INTEGER);