'
' PC PrintMaster Graphics to DEGAS .PI3 Converter
'
'
IF XBIOS(4)<>2                                   ! Check rez
  ALERT 0,"Runs in Hi-rez Only!",1," OK ",f%     ! Alert for color
  STOP                                           ! Exit
ENDIF
'
start:
'
CLS
PRINT AT(2,4);"Enter PC"
PRINT AT(2,5);"PrintMaster"
PRINT AT(2,6);"Library to"
PRINT AT(2,7);"Convert"
FILESELECT "D:\*.SHP","",shapefile$
'
'
IF shapefile$=""
  STOP
ENDIF
'
CLOSE #1
OPEN "I",#1,shapefile$
'
'
DO
  '
  CLS
  '
  FOR g_row|=0 TO 6
    FOR g_col|=0 TO 5
      '
      DO
        IF EOF(#1)
          g_row|=6
          g_col|=5
          b|=&HB
        ELSE
          b|=INP(#1)
        ENDIF
      LOOP UNTIL b|=&HB
      DO
        IF EOF(#1)
          g_row|=6
          g_col|=5
          b|=&H34
        ELSE
          b|=INP(#1)
        ENDIF
      LOOP UNTIL b|=&H34
      DO
        IF EOF(#1)
          g_row|=6
          g_col|=5
          b|=&H58
        ELSE
          b|=INP(#1)
        ENDIF
      LOOP UNTIL b|=&H58
      DO
        IF EOF(#1)
          g_row|=6
          g_col|=5
          b|=0
        ELSE
          b|=INP(#1)
        ENDIF
      LOOP UNTIL b|=0
      '
      FOR x|=0 TO 51
        IF EOF(#1)
          x|=51
        ELSE
          BGET #1,XBIOS(2)+(x|*80)+321+(g_row|*(55*80))+(g_col|*13),11
        ENDIF
      NEXT x|
      '
    NEXT g_col|
  NEXT g_row|
  '
  FILESELECT "D:\*.PI3","",outfile$
  IF outfile$=""
    STOP
  ENDIF
  IF RIGHT$(outfile$,4)<>".PI3"
    outfile$=outfile$+".PI3"
  ENDIF
  '
  CLOSE #2
  OPEN "O",#2,outfile$
  OUT #2,0,2,7,&H77,0,0,6,&H66,6,&H66,5,&H55,5,&H55,4,&H44,4,&H44,3,&H33
  OUT #2,3,&H33,2,&H22,2,&H22,1,&H11,1,&H11,0,0,0,0
  BPUT #2,XBIOS(2),32000
  '
LOOP UNTIL EOF(#1)
'
ALERT 2,"Conversion complete.|Do another?",1,"Yes|No/Quit",d%
IF d%=1
  GOTO start
ELSE IF d%=2
  STOP
ENDIF
'
'
