! EDDEFDEV - EDWIN DEFault DEVice routine

%option "-LOW"

%string (255) %fn find system entry (%string (255) symbol)
   ! This returns the system equivalent of symbol
   ! It must be upper case so in here it is TO UPPER'd
   %recordformat dictf(%integer beg,pos,lim,alt)
   @16_1180 %integerfn refname(%string(255)s,%record(dictf)%name d)
   @16_1184 %routine transname(%integer tag,%string(255)%name s)
   @16_3fb0 %record(dictf)comdict,fildict,extdict,sysdict
    %integer i
    %string (255) name
    to upper (symbol)
    i = refname (symbol,comdict)
    %result = "" %if i <= 0
    i = integer (i)
    transname (i,name)
    %result = name
%end {of find system entry}

%external %integer %fn DEFAULT DEVICE %alias "EDWIN_DEFAULT_DEV"
   %own %integer flag=0
   @16_E30000 %integer fredreg
   @16_D0E000 %integer igorreg
   %string(255) s
   %integer i
   %on 0 %start
     %if flag=0 %then ->notfred
     ->notigor
   %finish
   i=0
   fredreg = i      {to avoid clear's read-modify-write cycle}
   %result = 70     {level 1.5}
notfred:
   flag=1
   igorreg = i
   flag=0
   %result=73      {level 2}
notigor:
   flag=0
   s=find system entry("terminal")
   %if s="wy75" %then %result=100
   %result=200    {Visual 200 by default}
%end

%end %of %file
