; © Stefan Haubenthal 1992-94

*	include	prog:asm/include/wb.i
*	incdir	prog:asm/include
*	include	easystart.i

version=	"2.01"
allocabs=	-$0cc
freemem=	-$0d2
oldopenlibrary=	-$198
closelibrary=	-$19e
open=		-$01e
read=		-$02a
copymemquick=	-$276
mode_oldfile=	1005

rom=		$40000
romsize=	$30000
emu=		$70000

	move.l	4.w,a6
	move.l	#romsize,d0
	lea	rom,a1
	jsr	allocabs(a6)
	tst.l	d0
	beq	exit
	move.l	#emusize,d0
	lea	emu,a1
	jsr	allocabs(a6)
	tst.l	d0
	beq	exit
	lea	dosname(pc),a1
	jsr	oldopenlibrary(a6)
	move.l	d0,a6
	move.l	#romname,d1
	move.l	#mode_oldfile,d2
	jsr	open(a6)
	beq.s	exit2
	move.l	d0,d1
	move.l	#rom,d2
	move.l	#romsize,d3
	jsr	read(a6)
	lea	diff,a0
next	move.l	(a0)+,a1
	move.w	(a0)+,d0
	move.b	d0,(a1,d2.l)
	cmp.l	#end_diff,a0
	blo.s	next
	move.l	4.w,a6
	lea	start_emu,a0
	lea	emu,a1
	move.l	#emusize,d0
	jsr	copymemquick(a6)
	lea	emu,a0
	move.l	#"NqNq",$a0(a0)
	move.l	#"NqNq",$b2(a0)
	move.l	#"NqNq",$b6(a0)
	jmp	emu+4
exit2	move.l	a6,a1
	move.l	4.w,a6
	jsr	closelibrary(a6)
	move.l	#emusize,d0
	lea	emu,a1
	jsr	freemem(a6)
exit	moveq	#20,d0
	rts

	dc.b	"$VER: ST4Amiga V"
	dc.l	version
	dc.b	0
dosname	dc.b	"dos.library",0
romname	dc.b	"TOS.IMG",0

	data
diff	include	diff.asm
end_diff

	code
start_emu	include	emu.asm
emusize=	*-start_emu
