	subroutine rdpic
#
# liest das Grauwertbild aus einem Bild-File in die Bank 1 ab Adresse adrb.
# Falls der File nicht gefunden wird, liefert die Routine xanz=yanz=0.
#
# Externe Routinen:	storeb	speichert ein Byte nach Bank 1
#
define	LUN	6	# Logical Unit No.
define	DRIVE	2	# Drive B:
#
byte	rep(3),fmti(10)	# Eingabe-Format
byte	g		# Grauwert
#
integer	adrb,adr	# Adresse in Bank 1
integer	xanz,yanz,	# Bildgrenzen
	gwmax		# max.Grauwert (<32)
integer	i,j,k		# Laufindizes
#
double precision fname(2)	# Filename + Extension
#
common	/bild/adrb,xanz,yanz,gwmax
#
data	fmti/'(','1','X',',','.','.','.','I','3',')'/
data	fname/'        ','PIC     '/
#
write(1,10)
10 format(' Disk in Drive B. Name des Bild-Files ')
read(1,12) fname(1)
12 format(a8)
write(1,14) fname
14 format(' Bild-File ',2a8)
call open(LUN,fname,DRIVE)
xanz=0 ; yanz=0 ; gwmax=0
read(LUN,20,err=900,end=900) xanz,yanz,i,j,gwmax
20 format(5i3)
do i=0,gwmax	[ read(LUN,22) j ]	# Dummy Input Grauwerte
read(LUN,22) j				# - Schwellwert
22 format(i3)
do i=1,yanz
[	for (j=1; j<=xanz; j=j+2)
	[	read(LUN,30) k
		30 format(i5)
		g=k/256
		adr=adrb+(j-1)*yanz+i-1
		call storeb(g,adr)
		g=k-g*256
		adr=adr+yanz
		call storeb(g,adr)
]	]
write(1,40)
40 format(' gelesen.')
endfile LUN
goto 999
#
#	Error Handling
#
900	write(1,902)
902	format(' nicht gefunden.')
endfile LUN
999 continue
return
end
