Metropoli BBS
VIEWER: 08-09.for MODE: TEXT (ASCII)
$INCLUDE: 'C:\FG\INTRFACE.FOR'

      PROGRAM MAIN

      INTEGER*2 NEW_MODE, OLD_MODE
      INTEGER*2 STATUS
      INTEGER*2 FG_ALLOCCMS, FG_ALLOCEMS, FG_ALLOCXMS
      INTEGER*2 FG_BESTMODE, FG_FREEPAGE, FG_GETMODE
      INTEGER*2 FG_INITEMS, FG_INITXMS

      NEW_MODE = FG_BESTMODE(320,200,1)
      IF (NEW_MODE .LT. 0 .OR. NEW_MODE .EQ. 12) THEN
         STOP 'This program requires a 320 x 200 color graphics mode.'
      END IF
      OLD_MODE = FG_GETMODE()
      CALL FG_SETMODE(NEW_MODE)

      STATUS = FG_INITXMS()
      IF (STATUS .EQ. 0) STATUS = FG_ALLOCXMS(8)
      IF (STATUS .LT. 0) THEN
         STATUS = FG_INITEMS()
         IF (STATUS .EQ. 0) STATUS = FG_ALLOCEMS(8)
      END IF
      IF (STATUS .LT. 0) STATUS = FG_ALLOCCMS(8)

      IF (STATUS .LT. 0) THEN
         CALL FG_SETMODE(OLD_MODE)
         CALL FG_RESET
         STOP 'Unable to create logical page.'
      END IF

      CALL FG_SETCOLOR(7)
      CALL FG_RECT(0,319,0,199)
      CALL FG_SETCOLOR(9)
      CALL FG_LOCATE(12,18)
      CALL FG_TEXT('test',4)
      CALL FG_WAITKEY

      CALL FG_COPYPAGE(0,8)
      CALL FG_ERASE
      CALL FG_WAITKEY

      CALL FG_COPYPAGE(8,0)
      CALL FG_WAITKEY

      STATUS = FG_FREEPAGE(8)
      CALL FG_SETMODE(OLD_MODE)
      CALL FG_RESET

      STOP ' '
      END

[ RETURN TO DIRECTORY ]