module    EQU       "GVWR"
intrface  EQU       0x0100
gvw_ext   EQU       "    "
MACRO gvw_name
                   ;"----------------"
          DC.B      "Horizont. double"
          ALIGN     16
                   ;"----------------"
ENDM
MACRO gvw_copyright
                   ;"------------------------"
          DC.B      "V 1.00 Oct 22.`93 (c) by"
          ALIGN     24
          DC.B      "Dieter Fiebelkorn"
          ALIGN     24
          DC.B      "Grner Weg 29a"
          ALIGN     24
          DC.B      "D-45768 Marl (Germany)"
          ALIGN     24
                   ;"------------------------"
ENDM

spprt_mon EQU       0x0001
spprt_col EQU       0x0002
spprt_tc  EQU       0x0004

flag_null EQU       0x0000
flag_res  EQU       0x0001

rsvd_null EQU       0x0000


          GLOBL     gvw_main
          GLOBL     form_alert

          JMP       gvw_failed                                  ; $00
          JMP       gvw_main                                    ; $06
          DC.L      module                                      ; $0C
          ALIGN     4
          DC.W      intrface                                    ; $10
          DC.W      spprt_mon|spprt_col                         ; $12
          DC.W      flag_null                                   ; $14
          DC.W      rsvd_null                                   ; $16
          DC.W      rsvd_null                                   ; $18
          DC.W      rsvd_null                                   ; $1A
          DC.L      gvw_ext                                     ; $1C
          ALIGN     4
          gvw_name                                              ; $20
          gvw_copyright                                         ; $30
gvw_failed:                                                     ; $90
          MOVE.W    #1, D0
          LEA.L     str_failed, A0
          JSR       form_alert
          CLR.W     -(A7)
          TRAP      #1
str_failed:
          DC.B      "[3][ | This is a GEM-View Module! | ][ Abort ]"
          EVEN



          GLOBL     hdouble2

hdouble2: ; IN: D0 (UWORD -> ULONG)
          LEA       double2tab,A0
          MOVEQ     #0,D1
          MOVE.W    D0,D2
          LSR.W     #8,D2
          ADD.W     D2,D2
          MOVE.W    $0(A0,D2.W),D1
          SWAP      D1
          MOVEQ     #0,D2
          MOVE.B    D0,D2
          ADD.W     D2,D2
          OR.W      $0(A0,D2.W),D1
          MOVE.L    D1,D0
          RTS

double2tab:
	DC.W	$0000, $0003, $000C, $000F, $0030, $0033, $003C, $003F
	DC.W	$00C0, $00C3, $00CC, $00CF, $00F0, $00F3, $00FC, $00FF
	DC.W	$0300, $0303, $030C, $030F, $0330, $0333, $033C, $033F
	DC.W	$03C0, $03C3, $03CC, $03CF, $03F0, $03F3, $03FC, $03FF
	DC.W	$0C00, $0C03, $0C0C, $0C0F, $0C30, $0C33, $0C3C, $0C3F
	DC.W	$0CC0, $0CC3, $0CCC, $0CCF, $0CF0, $0CF3, $0CFC, $0CFF
	DC.W	$0F00, $0F03, $0F0C, $0F0F, $0F30, $0F33, $0F3C, $0F3F
	DC.W	$0FC0, $0FC3, $0FCC, $0FCF, $0FF0, $0FF3, $0FFC, $0FFF
	DC.W	$3000, $3003, $300C, $300F, $3030, $3033, $303C, $303F
	DC.W	$30C0, $30C3, $30CC, $30CF, $30F0, $30F3, $30FC, $30FF
	DC.W	$3300, $3303, $330C, $330F, $3330, $3333, $333C, $333F
	DC.W	$33C0, $33C3, $33CC, $33CF, $33F0, $33F3, $33FC, $33FF
	DC.W	$3C00, $3C03, $3C0C, $3C0F, $3C30, $3C33, $3C3C, $3C3F
	DC.W	$3CC0, $3CC3, $3CCC, $3CCF, $3CF0, $3CF3, $3CFC, $3CFF
	DC.W	$3F00, $3F03, $3F0C, $3F0F, $3F30, $3F33, $3F3C, $3F3F
	DC.W	$3FC0, $3FC3, $3FCC, $3FCF, $3FF0, $3FF3, $3FFC, $3FFF
	DC.W	$C000, $C003, $C00C, $C00F, $C030, $C033, $C03C, $C03F
	DC.W	$C0C0, $C0C3, $C0CC, $C0CF, $C0F0, $C0F3, $C0FC, $C0FF
	DC.W	$C300, $C303, $C30C, $C30F, $C330, $C333, $C33C, $C33F
	DC.W	$C3C0, $C3C3, $C3CC, $C3CF, $C3F0, $C3F3, $C3FC, $C3FF
	DC.W	$CC00, $CC03, $CC0C, $CC0F, $CC30, $CC33, $CC3C, $CC3F
	DC.W	$CCC0, $CCC3, $CCCC, $CCCF, $CCF0, $CCF3, $CCFC, $CCFF
	DC.W	$CF00, $CF03, $CF0C, $CF0F, $CF30, $CF33, $CF3C, $CF3F
	DC.W	$CFC0, $CFC3, $CFCC, $CFCF, $CFF0, $CFF3, $CFFC, $CFFF
	DC.W	$F000, $F003, $F00C, $F00F, $F030, $F033, $F03C, $F03F
	DC.W	$F0C0, $F0C3, $F0CC, $F0CF, $F0F0, $F0F3, $F0FC, $F0FF
	DC.W	$F300, $F303, $F30C, $F30F, $F330, $F333, $F33C, $F33F
	DC.W	$F3C0, $F3C3, $F3CC, $F3CF, $F3F0, $F3F3, $F3FC, $F3FF
	DC.W	$FC00, $FC03, $FC0C, $FC0F, $FC30, $FC33, $FC3C, $FC3F
	DC.W	$FCC0, $FCC3, $FCCC, $FCCF, $FCF0, $FCF3, $FCFC, $FCFF
	DC.W	$FF00, $FF03, $FF0C, $FF0F, $FF30, $FF33, $FF3C, $FF3F
	DC.W	$FFC0, $FFC3, $FFCC, $FFCF, $FFF0, $FFF3, $FFFC, $FFFF
