	include macros.s
	clr.l -(sp)
	move.w #32,-(sp)
	trap #1
	move.l d0,ssp
	bsr tiny
	move.w #0,-(sp)
	pea fnmae2
	move.w #$3d,-(sp)
	trap #1
	move.w d0,d5
	move.l #$a570,-(sp)
	move.l #$19cf4,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	move.w #$4eb9,$bab8
	move.l #read0,$baba
	move.w #$4ef9,$a578
	move.l #movemem,$a57a
	move.l #$28601,-(sp)
	move.l #$1fdf,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	move.l #$47000,-(sp)
	move.l #$28e10,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	move.l #$7fa00,-(sp)
	move.l #$600,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	move.w d5,-(sp)
	move.w #$3e,-(sp)
	trap #1
	move.l xx70,$70
	move.w #$777,$ff8240
	move.l #$22b2c,a7
	jmp $a640
int70	move.w $ff8242,$a304
	move.w $ff8244,$ff8242
	move.w $ff8246,$ff8244
	move.w $ff8248,$ff8246
	move.w $ff824a,$ff8248
	move.w $ff824c,$ff824a
	move.w $ff824e,$ff824c
	move.w $ff8250,$ff824e
	move.w $ff8252,$ff8250
	move.w $ff8254,$ff8252
	move.w $ff8256,$ff8254
	move.w $ff8258,$ff8256
	move.w $ff825a,$ff8258
	move.w $ff825c,$ff825a
	move.w $ff825e,$ff825c
	move.w $a304,$ff825e
	rte
xx70	dc.l $0 
ssp	dc.l $0
fnmae2	dc.b "g.dat",$0
fffl	dc.b "j",$0
savea0	dc.l $0
savea1	dc.l $0
read0	move.w d1,-(sp)
	swap d1
	clr.w d1
	swap d1
	sub.w #$23c,d1
	mulu #$200,d1
	move.l a0,savea0
	move.l #$80000,a0
	add.l d1,a0
	move.w #$7f,d1
	move.l a1,savea1
	move.l #$231e0,a1
lk	move.l (a0)+,(a1)+
	dbf d1,lk
	move.l savea0,a0
	move.l savea1,a1
	move.w (a7)+,d1
ret2	rts
movemem	move.l a0,-(sp)
	move.l d1,-(sp)
	move.l d1,a0
	cmp.w #$4100,d2
	bne.s m1
	move.l #$99000,a1
	move.l #$8e00/4,d1
m1	cmp.w #$4200,d2
	bne.s m2
	move.l #$a3000,a1
	move.l #$8e00/4,d1
m2	cmp.w #$4300,d2
	bne.s m3
	move.l #$ac000,a1
	move.l #$8e00/4,d1
m3	cmp.w #$4400,d2
	bne.s m4
	move.l #$b5000,a1
	move.l #$aa00/4,d1
m4	cmp.w #$4500,d2
	bne.s m5
	move.l #$c0000,a1
	move.l #$200/4,d1
m5	cmp.w #$4600,d2
	bne.s m6
	move.l #$c0200,a1
	move.l #$15200/4,d1
m6	cmp.w #$4700,d2
	bne.s m7
	move.l #$d6000,a1
	move.l #$200/4,d1
m7	cmp.w #$4800,d2
	bne.s m8
	move.l #$d6200,a1
	move.l #$2600/4,d1
m8	cmp.w #$4900,d2
	bne.s m9
	move.l #$e0000,a1
	move.l #$7d00/4,d1
m9	move.l (a1)+,(a0)+
	dbf d1,m9
	move.l (a7)+,d1
	move.l (a7)+,a0
	rts
	
tiny	HIDEMOUSE
	clr.w -(sp)
	move.l #$78000,-(sp)
	move.l #$78000,-(sp)
	move.w #5,-(sp)
	trap #14
	add.l #12,sp
	PHYSBASE
	move.l	d0,screen
	OPEN	#0,fname,handle
	READ	rez,#1,handle
	READ	pal,#$20,handle
	READ	count1,#2,handle
	READ	count2,#2,handle
	lea	bss(PC),a6
	move.w	count1,d0
	READ	buff1(a6),d0,handle		
	clr.l	d0
	move.w	count2,d0
	asl.l	#1,d0
	READ	buff2(a6),d0,handle
	CLOSE	handle
	SETPALETTE pal
	clr.l	d0
	clr.l	d2
	clr.l	d3
	lea	buff1(a6),a2
	movea.l	(screen),a3
	lea	buff2(a6),a4
	bra.s	lab4
lab1:	bsr	uncomp1
	tst.w	d1
	bge.s	lab3
	neg.w	d1
	bra.s	lab2
loop1:	move.w	0(a4,d2.w),0(a3,d0.w)
	addq.w	#2,d2
	bsr	chkend
lab2:	dbf	d1,loop1
	bra.s	lab4
loop2:	move.w	0(a4,d2.w),0(a3,d0.w)
	bsr	chkend
lab3:	dbf	d1,loop2
	addq.w	#2,d2
lab4:	cmp.w	count1,d3
	blt.s	lab1
	move.l $70,xx70
	move.l #int70,$70
	bra himem
uncomp1:
	clr.l	d1
	tst.b	0(a2,d3.w)
	beq.s	lun1
	cmpi.b	#1,0(a2,d3.w)
	beq.s	lun1
	move.b	0(a2,d3.w),d1
	ext.w	d1
	addq.w	#1,d3
	bra.s	end_uncom1
lun1:	lea	0(a2,d3.w),a0
	move.b	(a0)+,d1
	move.b	(a0)+,store1
	move.b	(a0)+,store2
	addq.w	#3,d3
	cmp.b	#1,d1
	bne.s	skip1
	neg.w	store1
skip1:	move.w	store1,d1
end_uncom1:
	rts

chkend:
	add.l	#$a0,d0
	cmp.l	#$7d00,d0
	blt.s	end_chk
	sub.l	#$7cf8,d0
	cmp.l	#$a0,d0
	blt.s	end_chk
	sub.l	#$9e,d0
end_chk:
	rts
himem	move.w #$0,-(sp)
	pea fffl
	move.w #$3d,-(sp)
	trap #1
	move.w d0,d5
	move.l #$80000,-(sp)
	move.l #$18c00,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	add.l #$14,sp
	bsr close1
	move.w #0,-(sp)
	pea s1
	move.w #$3d,-(sp)
	trap #1
	move.w d0,d5
	move.l #$99000,-(sp)
	move.l #$8e00,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	add.l #20,sp
	bsr close1
	clr.w -(sp)
	pea s2
	move.w #$3d,-(sp)
	trap #1
	move.w d0,d5
	move.l #$a3000,-(sp)
	move.l #$8e00,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	add.l #20,sp
	bsr close1
	clr.w -(sp)
	pea s3
	move.w #$3d,-(sp)
	trap #1
	move.w d0,d5
	move.l #$ac000,-(sp)
	move.l #$8e00,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	add.l #20,sp
	bsr close1
	clr.w -(sp)
	pea s4
	move.w #$3d,-(sp)
	trap #1
	move.w d0,d5
	move.l #$b5000,-(sp)
	move.l #$aa00,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	add.l #20,sp
	bsr close1
	clr.w -(sp)
	pea s5
	move.w #$3d,-(sp)
	trap #1
	move.w d0,d5
	move.l #$c0000,-(sp)
	move.l #$200,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	add.l #20,sp
	bsr close1
	clr.w -(sp)
	pea s6
	move.w #$3d,-(sp)
	trap #1
	move.w d0,d5
	move.l #$c0200,-(sp)
	move.l #$15200,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	add.l #20,sp
	bsr close1
	clr.w -(sp)
	pea s7
	move.w #$3d,-(sp)
	trap #1
	move.w d0,d5
	move.l #$d6000,-(sp)
	move.l #$200,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	add.l #20,sp
	bsr.s close1
	clr.w -(sp)
	pea s8
	move.w #$3d,-(sp)
	trap #1
	move.w d0,d5
	move.l #$d6200,-(sp)
	move.l #$2600,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	add.l #20,sp
	bsr.s close1
	clr.w -(sp)
	pea s9
	move.w #$3d,-(sp)
	trap #1
	move.w d0,d5
	move.l #$e0000,-(sp)
	move.l #$7d00,-(sp)
	move.w d5,-(sp)
	move.w #$3f,-(sp)
	trap #1
	add.l #20,sp
close1	move.w d5,-(sp)
	move.w #$3e,-(sp)
	trap #1
	addq.l #4,sp
	rts


s1	dc.b	"a",$0
s2	dc.b	"b",$0
s3	dc.b	"c",$0
s4	dc.b	"d",$0
s5	dc.b	"e",$0
s6	dc.b	"f",$0
s7	dc.b	"g",$0
s8	dc.b	"h",$0
s9	dc.b	"i",$0
fname:	dc.b	"g1.dat",0
	EVEN
store1:	ds.b	1
store2:	ds.b	1
screen:	ds.l	1
handle:	ds.w	1
rez:	ds.w	1
pal:	ds.w	$20
count1:	ds.w	1
count2:	ds.w	1
stack:	ds.l	$50

bss:
buff1:	rs.b	$7d00
buff2:	rs.b	$8000

end: