'
' See GFA-BASIC Manual Chapter 10 for full explanation
DIM x%(1000)
'
FOR i%=0 TO 639 STEP 8
  LINE i%,0,639,399
NEXT i%
'
GET 0,0,639,399,a$
mirrorput(0,0,a$)
'
PROCEDURE mirrorput(x%,y%,VAR x$)
  IF LEN(x$)>6       ! Only do it if something present
    xx%=V:x%(0)
    a%=V:x$
    b%=INT{a%}
    h%=INT{a%+2}
    '
    INT{xx%}=1
    INT{xx%+2}=h%
    INT{xx%+4}=1
    INT{xx%+6}=1
    INT{xx%+8}=0
    {xx%+10}=&H3030303
    INT{xx%+14}=9999
    INT{xx%+16}=0
    {xx%+18}=a%+6
    INT{xx%+22}=2
    INT{xx%+24}=SHR(b%+16,4)*2
    INT{xx%+26}=2
    INT{xx%+28}=9999
    INT{xx%+30}=0
    {xx%+32}=XBIOS(3)
    INT{xx%+36}=2
    INT{xx%+38}=80
    INT{xx%+40}=2
    {xx%+42}=0    !pattadr
    INT{xx%+46}=0    !p_nxtln
    INT{xx%+48}=0    !p_nxpl
    INT{xx%+50}=0    !p_mask
    '
    ABSOLUTE i&,xx%+14
    ABSOLUTE di&,xx%+28
    '
    FOR i&=0 TO b%
      INT{xx%+4}=1
      di&=SUB(639,i&)
      BITBLT xx%
    NEXT i&
    '
  ENDIF
RETURN
