********************************************************************************
*
*	Program:	Kickstop
*	Filename:	Kickstop.a
*
*	Usage:		Kickstop
*
*	Contents:	Eine neue Kickstart-Diskette wird gelden
*
*	Language:	68000 Assembler
*
*	Link-instr.:	Objects:   Qstartup.o Kickstop.o
*			Libraries: amiga.lib amigavisions.lib
*			Output:    Kickstop
*
*	Author:		Johannes R. Geiss
*
*	Copyright:	Amigavisions
*
*	History:	$HISTORY:
*			1.2 (15-Oct-91) changed JRG
*			1.1 (02-Jun-91) changed JRG
*			1.0 (11-Jun-90) written JRG
*
*	Version:	$VER: Kickstop 1.2 (15-Oct-91)
*
********************************************************************************


*------ Includes
	include 'exec/types.i'
	include 'exec/execbase.i'
	include 'xref.i'
	include 'call.i'


*------ Imports
	XLIB	Disable
	xref	Error
	xref	OpenItu
	xref	CloseItu
	xref	_SysBase
	xref	_exit


*------ Exports
	xdef	_main


********************************************************************************

	SECTION Kickstop

*------ Main procedure
_main	bsr	OpenItu
	tst.l	d0
	beq.s	1$
	move.l	d0,-(a7)
	bsr	_exit

1$	movea.l #Mess,a0
	bsr	Error
	tst.b	d0
	bne	Exit2
	CALLSYS Disable
	move.l	#$03f000,ColdCapture(a6)
	clr.w	d1
	lea	SoftVer(a6),a0
	lea	ChkSum(a6),a1
Lab4	add.w  (a0)+,d1
	cmpa.l	a0,a1
	bne.s	Lab4
	not.w	d1
	move.w	d1,(a1)
	movea.l #Prog,a0
	movea.l #$03f000,a1
	movea.l #Prog_e,a2
Lab6	move.w	(a0)+,(a1)+
	cmpa.l	a0,a2
	bne.s	Lab6
	move.l	$0080,d0
	move.l	#Trap1,$0080
	trap	#0
Trap1	move.l	d0,$0080
	jmp	$fc00d0

Prog	move.w	#$4e70,$fc0000
	move.l	#$13fc0003,$fc0002
	move.l	#$00bfe201,$fc0006
	move.l	#$13fc0002,$fc000a
	move.l	#$00bfe001,$fc000e
	move.w	#$4ef9,$fc0012
	move.l	#$00f801dc,$fc0014
	move.l	#$fc0000,$0080
	trap	#0
Prog_e

Exit2	bsr	CloseItu
	rts


********************************************************************************

	section DATA

*------ Datafield
Mess	dc.b	$0a
	dc.b	' KICKSTOP:   Please load new KICKSTART - disk into drive',$0a
	dc.b	'             df0 and hit the RIGHT mousebutton.',$0a,$0a
	dc.b	'             To abort KICKSTOP hit the LEFT mousebutton.',$0a
	dc.b	$0a,0

	END
