*******************************************************************************
* BOOT MENU V2.0
*******************************************************************************
	OPT C-
	INCLUDE	SOURCE:INCLUDE/LIBOFFSETS.I
*******************************************************************************
MAIN:
	JSR	OPENLIBRARYS		* OPEN VARIOUS SYSTEM LIBRARYS
	MOVE.L	ERRORFLAG,D6		* COPY ERROR FLAG TO D6
	TST.L	D6			* TEST ERROR FLAG
	BEQ	QUIT			* ZERO = ERROR 1 = O.K
	JSR	ALLOCATEMEM		* RESERVE MEMORY FOR BMAP
	MOVE.L	ERRORFLAG,D6		* SEE ABOVE FOR DETAILS
	TST.L	D6			
	BEQ	LIBCLOSE
	JSR	SETUPBITMAP		* INTIALIZE A BITMAP
	JSR	OPENNEWSCREEN		* OPEN UP A CUSTOM SCREEN
	MOVE.L	ERRORFLAG,D6		* SEE ABOVE FOR DETAILS
	TST.L	D6
	BEQ	NOSCREEN
	JSR	COPYCOLORS		* COPY BMAP COLORS INTO H/WARE REGISTERS
	JSR	WINDOPEN		* OPEN WINDOW
	MOVE.L  ERRORFLAG,D6		* SEE ABOVE FOR DETAILS
	TST.L	D6
	BEQ	NOWINDOW
WAIT:	BTST	#$7,$BFE001		* TEST JOYSTICK FIRE BUTTON
	BNE	WAIT			* BRANCH TILL PRESSED
	JSR	WINDCLOSE		* CLOSE WINDOW
NOWINDOW:	
	JSR	CLOSENEWSCREEN		* CLOSE SCREEN
NOSCREEN:
	JSR	DEALLOCATEMEM		* FREE RESERVED MEMORY
LIBCLOSE:	
	JSR	CLOSELIBRARYS		* CLOSE SYSTEM LIBRARIES
QUIT:
	RTS				* RETURN TO CLI
*******************************************************************************
OPENLIBRARYS:
	MOVE.L  $4,A6		* EXECBASE ADRESS
	LEA     DOS(PC),A1	* POINTER TO DOS.LIBRARY
        MOVEQ   #$0,D0		* ANY VERSION WILL DO
	JSR	OPENLIBS(A6)	* OPENLIBRARY
	TST.L	D0		* IF ERROR NO LIBRARY RETURN TO VLI
	BEQ	RETURNTOCLI	* NO LIBRARY THE QUIT BACK TO CLI
	MOVE.L  D0,DOSBASE	* STORE DOS.LIBRARY BASE ADRESS

	LEA	GRAPH(PC),A1	* OPEN GRAPHICS.LIBRARY
	MOVEQ	#$0,D0		* SAME AS ABOVE
	JSR	OPENLIBS(A6)
	TST.L   D0
	BEQ	DOSCLOSE
	MOVE.L  D0,GRAPHBASE

	LEA	INT(PC),A1	* OPEN INTUITION.LIBRARY
	MOVEQ	#$0,D0		* SAME AS ABOVE
	JSR	OPENLIBS(A6)
	TST.L   D0
	BEQ	GRAPHCLOSE
	MOVE.L  D0,INTBASE
ALLLIBSOPEN:
	MOVE.L	#1,ERRORFLAG	* NO ERROS EVERYTHING OPENEND O.K
	RTS			
*******************************************************************************
CLOSELIBRARYS:
INTCLOSE:
	MOVE.L  $4,A6		* EXECBASE
	MOVE.L  INTBASE,A1	* INTUITION.LIBRARY POINTER TO LIB
	JSR	CLOSELIBS(A6)	* SYSTEM CALL TO CLOSE LIB

GRAPHCLOSE:
	MOVE.L  $4,A6		* EXECBASE	
	MOVE.L  GRAPHBASE,A1	* GRAPHICS.LIBRARY POINTER TO LIB
	JSR	CLOSELIBS(A6)	* SAME AS ABOVE
	
DOSCLOSE:
	MOVE.L  $4,A6		* EXECBASE
	MOVE.L	DOSBASE,A1	* DOS.LIBRARY BASE POINTER TO LIB
	JSR	CLOSELIBS(A6)	* SAME AS ABOVE

RETURNTOCLI:
	MOVE.L	#0,ERRORFLAG	* UNKNOWN ERROR QUIT FAST
	RTS
*******************************************************************************
*OPENSCREEN AND MENU ROUTINE
*******************************************************************************
OPENNEWSCREEN:
	MOVE.L  INTBASE,A6		* INTUITION LIBRARY BASE ADRESS
	LEA	SCREEN,A0		* SCREEN START ADRESS
	JSR	OPENSCREEN(A6)		* LIBRARY CALL TO OPEN SCREEN
	MOVE.L	D0,SCREENADRESS		* STORE SCREEN START ADRESS
	MOVE.L  D0,SCRNADRESS		* STORE SCREEN POINTER FOR WINDOW
	BEQ	CLEARMEM        	* WAS THERE A ERROR IF SO CLOSE DOWN
	MOVE.L	#1,ERRORFLAG		* SCREEN O.K NO ERRORS
	RTS
CLEARMEM:
	MOVE.L	#0,ERRORFLAG		* UNKNOWN ERROR OCURED
	RTS				* FREEMEM CLOSE LIBS AND QUIT

*******************************************************************************
CLOSENEWSCREEN:
	MOVE.L  INTBASE,A6		* INTUITION BASE ADRESS
	MOVE.L  SCREENADRESS,A0		* CUSTOM SCREEN START ADRESS
	JSR	CLOSESCREEN(A6)		* LIBRARY CALL TO CLOSE SCREEN
	RTS
*******************************************************************************
* SET UP A BITMAP SCREEN
*******************************************************************************
SETUPBITMAP:	MOVE.L		BITMAP,A0	*A0->UNINITIALISED BM STRUCT
		MOVE.L		A0,A3		*STORE A COPY FOR LATER
		MOVEQ.L		#2,D0		*D0=SCREEN DEPTH
		MOVE.L		#320,D1		*D1=SCREEN WIDTH
		MOVE.L		#256,D2		*D2=SCREEN HEIGHT
		MOVE.L		GRAPHBASE,A6    *GRAPHICSBASE ADRESS
		JSR		INITBITMAP(A6)  *LIBRARY CALL TO MAKE BITMAP

		MOVE.L		A3,A0		*A0->BITMAP STRUCTURE
		ADD.L		#$8,A0		*A0->ADDR OF PLANE POINTERS
		MOVE.L		#PIC,D0	*D0=ADDR OF PICTURE
		MOVE.L		#(320/8)*256,D1	*D1=SIZE OF EACH PLANE
		MOVEQ.L		#1,D2		*D2=NUM OF PLANES - 1
LOOP:		MOVE.L		D0,(A0)+	*ADDR OF NEXT PLANE INTO STRUCT
		ADD.L		D1,D0		*D0=ADDR OF NEXT PLANE
		DBRA		D2,LOOP 	*FOR ALL PLANES
		MOVE.L		D0,A3		*A3->COLOURS
		RTS

COPYCOLORS:	
		MOVE.L		SCREENADRESS,A0	*A0->SCREEN STRUCTURE
		ADD.L		#$2C,A0 	*A0->SCREENS VIEWPORT STRUCT
		LEA		COLORS,A1	*A1->COLOURS
		MOVEQ.L		#4,D0		*D0=NUMBER OF COLOURS
		MOVE.L		GRAPHBASE,A6	*GRAPHICSBASEADRESS
		JSR		LOADRGB4(A6)	*LOAD COLORS INTO COL REG
		RTS
*******************************************************************************
*MEMORY ALLOCATION ROUTINE FOR THE BOOT BUFFER
*******************************************************************************
ALLOCATEMEM:
	MOVE.L  $4,A6				* ABSOLOTE EXECBASE ADRESS
	MOVE.L 	#30780,D0			* NUMBER OF BYTES TO RESERVE
	MOVE.L	#MEMF_CHIP!MEMF_CLEAR,D1	* TYPE OF RAM CHIP
	JSR	ALLOCMEM(A6)			* EXEC LIBRARY CALL
	MOVE.L  D0,BITMAP			* START ADRESS OF RESERVED MEMORY
	MOVE.L	D0,SBITMAP			* STORE START IN SCREEN STRUC
	TST.L	D0				* NON ZERO MEM START ADRESS
	BEQ	NOMEM				* NO MEMORY AVAILABLE
	MOVE.L  #1,ERRORFLAG			* EVERYTHING O.K
	RTS
NOMEM::
	MOVE.L	#0,ERRORFLAG			* UNKNOWN ERROR CLOSE LIBS
	RTS
*******************************************************************************
DEALLOCATEMEM:
	MOVE.L	$4,A6		* RETURN MEMORY BACK TO THE SYSTEM POOL
	MOVE.L  #30780,D0	* NUMBER OF BYTES TO RETERN
	MOVE.L  BITMAP,A1	* START OF RESERVED MEMORY
	JSR	FREEMEM(A6)	* EXEC LIBRARY CALL TO FREE MEM
	RTS
*******************************************************************************
*OPEN WINDOW SCREEN
*******************************************************************************
WINDOPEN:
	MOVE.L	INTBASE,A6	* INTUITION LIBRAY BASE ADRESS
	LEA	WINDOW,A0	* WINDOW START ADRESS
	JSR	OPENWINDOW(A6)	* OPENWINDOW LIBRARY OFFSET
	MOVE.L	D0,WINDOWADRESS	* STORE SCREEN START ADRESS
	TST.L	D0		* TEST FOR A ZERO
	BEQ	WINDOWERROR	* ZERO THEN QUIT (NO WINDOW)
	MOVE.L	#1,ERRORFLAG	* EVERYTHING O.K
	RTS
WINDOWERROR:
	MOVE.L	#0,ERRORFLAG	* CLEAR ERROR FLAG (UNKNOWN ERROR OCURED)
	RTS
WINDCLOSE:
	MOVE.L	INTBASE,A6	* INTUITION BASE ADRESS
	MOVE.L	WINDOWADRESS,A0	* WINDOW ADRESS
	JSR	CLOSEWINDOW(A6) * SYS CALL TO CLOSE WINDOW
	RTS
*******************************************************************************
*LIBRARY NAMES POINTERS ECT
*******************************************************************************
LIBRARYS:
DOS:  	DC.B "dos.library",0		* NAME OF THE LIBRARIES TO
      	EVEN				
GRAPH: 	DC.B "graphics.library",0	* OPEN DOS INTUITION AND
	EVEN
INT:   	DC.B "intuition.library",0	* GRAPHICS
	EVEN
*******************************************************************************
* VARIOUS STORAGE AND SYS POINTERS
*******************************************************************************
DOSBASE:   	DC.L 0		* STORE FOR DOS.LIBRARY BASE ADRESS
GRAPHBASE: 	DC.L 0		* STORE FOR GRAPHICS.LIBRARY BASE ADRESS
INTBASE:   	DC.L 0		* STORE FOR INTUTION.LIBRARY BASE ADRESS
BITMAP:	   	DC.L 0		* POINTER TO RESERVED BMAP MEMORY
ERRORFLAG: 	DC.L 0		* POINTER TO ERROR FLAG
SCREENADRESS:   DC.L 0  	* POINTER TO CUSTOM SCREEN
WINDOWADRESS:	DC.L 0		* POINTER TO WINDOW
*******************************************************************************
* BINARY INCLUDE FILES AND VARIOUS BITS AND BOBS
*******************************************************************************
COLORS:		DC.W	$000,$FFF,$AAA,$CCC		* BMAP COLORS
PIC:		  INCBIN		source:trog/BITMAPS/MENU2.BM	* TITLE LOGO
QUITGAD:	  INCBIN		source:trog/BITMAPS/QUIT.BM	* GADGET IMAGES
ABOUTGAD:	  INCBIN		source:trog/BITMAPS/ABOUT.BM
NOTICEGAD:	  INCBIN		source:trog/BITMAPS/NOTICE.BM
MENUGAD:	  INCBIN		source:trog/BITMAPS/MENU.BM
COLORGAD:	  INCBIN		source:trog/BITMAPS/COLOR.BM
SCROLLGAD:	  INCBIN		source:trog/BITMAPS/SCROLL.BM
DRIVE0GAD:	  INCBIN		source:trog/BITMAPS/DRIVE0.BM
DRIVE1GAD:	  INCBIN		source:trog/BITMAPS/DRIVE1.BM
INSTALLLOADERGAD: INCBIN		source:trog/BITMAPS/INSTALLL.BM
INSTALLMENUGAD:	  INCBIN		source:trog/BITMAPS/INSTALLM.BM
INSTALLBOOTGAD:   INCBIN		source:trog/BITMAPS/INSTALLB.BM 
LOGOGAD:	  INCBIN		source:trog/BITMAPS/LOGOGAD.BM
*******************************************************************************
*SCREEN DEFINICION AND SCREEN POINTERS
*******************************************************************************
TITLESCREEN:   DC.B "   BOOT MENU VERSION 2 (ENHANCED)",0	* SCREEN NAME
	       EVEN
SCREEN:
X_POSITION: 	DC.W 0				*X STARTING POSITION
Y_POSITION:  	DC.W 0				*Y STARTING POSITION
SCWIDTH:	DC.W 320			*SCREEN WIDTH
SCHEIGHT:	DC.W 256			*DCREEN HEIGHT
DEPTH:		DC.W 2				*NUMBER OF PLANES
DETAIL_PEN:	DC.B 1				*FOREGROUND PEN COLOR
BLOCKPEN:	DC.B 3				*BACKGROUND PEN COLOR
VIEW_MODES:	DC.W 2				*VIEWING MODES (NORMAL)
SCREEN_TYPE:    DC.W CUSTOMSCREEN!CUSTOMBITMAP  *SCREENTYPE
FONT:		DC.L 0				*POINTER TO FONT
TITLE:		DC.L TITLESCREEN		*POINTER TO TITLE
GADGETS:	DC.L 0				*CUSTOM GADGETS
SBITMAP:	DC.L 0				*POINTER TO BITMAP
		EVEN
*******************************************************************************
* WINDOW STRUCTURE
*******************************************************************************
WINDOW:
XPOS:		DC.W	0		* X POSTION WINDOW START
YPOS:		DC.W	50		* Y POSTION WINDOW START
WIDTH		DC.W	320		* WINDOW WIDTH
HEIGHT		DC.W	180		* WINDOW HEIGHT
PCOLR		DC.B	1		* PRINT COLOR
BCOLR		DC.B	3		* BACKGROUNDCOLOR	
ICDMP:		DC.L	0	 	* WHAT EVENTS INTUITION SHOULD REPORT
ACTI:		DC.L	0		* ACTIVATE ALL GADGETS
GAD:		DC.L	QUITGADGET	* FIRST GADGET	
CMARK:		DC.L	0		* CHECKMARK
NAME:		DC.L	0		* WINDOW NAME
SCRNADRESS:	DC.L	0		* SCREEN BASE ADRESS POINTER
BMAP:		DC.L	0		* BITMAP FOR WINDOW
SWIDTH:		DC.W	0		* SMALLEST WIDTH
SHIEGHT:	DC.W	0		* SMALLEST HEIGHT
MWIDTH:		DC.W	0		* MAX WIDTH
MHIEGHT:	DC.W	0		* MAX HEIGHT
STYPE:		DC.W	CUSTOMSCREEN	* SCREEN TYPE
*******************************************************************************
*SCREEN GADGET STRUCTURES
*******************************************************************************
QUITGADGET:
	DC.L	ABOUTGADGET		* POINTER TO NEXT GADGET
	DC.W	5			* X POSTION OF GADGET
	DC.W	5			* Y POSTON OF GADGET
	DC.W	82			* GADGET WIDTH		
	DC.W	21  			* GADGET HEIGHT
	DC.W	GADGIMAGE		* GADGET TYPES
	DC.W	RELVERIFY		* ACTIVATION FLAGS
	DC.W	BOOLGADGET		* GADGET TYPE BOOLAN
	DC.L	QUITBM			* PONTER TO GADGET GFX	
	DC.L	0			* POINTER TO NEXT GFX GADGET
	DC.L	0			* POINTER TO GADGET TEXT	
	DC.L	0			* DEACTIVATE GADGETS ONCE SELECTED
	DC.L	0			* SPECIAL GADGET INFO
	DC.W	0			* GADGET I.D NUMBER
	DC.L	0			* USER DATA
QUITBM:
	DC.W	0			* X POSTION OF GADGET
	DC.W	0			* Y POSTION OF GADGET
	DC.W	82			* X BITMAP SIZE
	DC.W	22			* Y BITMAP SIZE
	DC.W	2			* NUMBER OF PLANES
	DC.L	QUITGAD			* POINTER TO BITMAP DATA
	DC.B	1			*
	DC.B	6			* 
	DC.L	0			* NEXT IMAGE STRUCTURE
*******************************************************************************
ABOUTGADGET:
	DC.L	NOTICEGADGET		* POINTER TO NEXT GADGET
	DC.W	110			* X POSTION OF GADGET
	DC.W	5			* Y POSTON OF GADGET
	DC.W	82			* GADGET WIDTH		
	DC.W	21  			* GADGET HEIGHT
	DC.W	GADGIMAGE		* GADGET TYPES
	DC.W	RELVERIFY		* ACTIVATION FLAGS
	DC.W	BOOLGADGET		* GADGET TYPE BOOLAN
	DC.L	ABOUTBM			* PONTER TO GADGET GFX	
	DC.L	0			* POINTER TO NEXT GFX GADGET
	DC.L	0			* POINTER TO GADGET TEXT	
	DC.L	0			* DEACTIVATE GADGETS ONCE SELECTED
	DC.L	0			* SPECIAL GADGET INFO
	DC.W	0			* GADGET I.D NUMBER
	DC.L	0			* USER DATA
ABOUTBM:
	DC.W	0			* X POSTION OF GADGET
	DC.W	0			* Y POSTION OF GADGET
	DC.W	82			* X BITMAP SIZE
	DC.W	22			* Y BITMAP SIZE
	DC.W	2			* NUMBER OF PLANES
	DC.L	ABOUTGAD		* POINTER TO BITMAP DATA
	DC.B	1			*
	DC.B	6			* 
	DC.L	0			* NEXT IMAGE STRUCTURE
*******************************************************************************
NOTICEGADGET:
	DC.L	MENUGADGET		* POINTER TO NEXT GADGET
	DC.W	220			* X POSTION OF GADGET
	DC.W	5			* Y POSTON OF GADGET
	DC.W	82			* GADGET WIDTH		
	DC.W	21  			* GADGET HEIGHT
	DC.W	GADGIMAGE		* GADGET TYPES
	DC.W	RELVERIFY		* ACTIVATION FLAGS
	DC.W	BOOLGADGET		* GADGET TYPE BOOLAN
	DC.L	NOTICEBM		* PONTER TO GADGET GFX	
	DC.L	0			* POINTER TO NEXT GFX GADGET
	DC.L	0			* POINTER TO GADGET TEXT	
	DC.L	0			* DEACTIVATE GADGETS ONCE SELECTED
	DC.L	0			* SPECIAL GADGET INFO
	DC.W	0			* GADGET I.D NUMBER
	DC.L	0			* USER DATA
NOTICEBM:
	DC.W	0			* X POSTION OF GADGET
	DC.W	0			* Y POSTION OF GADGET
	DC.W	82			* X BITMAP SIZE
	DC.W	22			* Y BITMAP SIZE
	DC.W	2			* NUMBER OF PLANES
	DC.L	NOTICEGAD		* POINTER TO BITMAP DATA
	DC.B	1			*
	DC.B	6			* 
	DC.L	0			* NEXT IMAGE STRUCTURE
*******************************************************************************
MENUGADGET:
	DC.L	COLORGADGET		* POINTER TO NEXT GADGET
	DC.W	5			* X POSTION OF GADGET
	DC.W	40			* Y POSTON OF GADGET
	DC.W	82			* GADGET WIDTH		
	DC.W	21  			* GADGET HEIGHT
	DC.W	GADGIMAGE		* GADGET TYPES
	DC.W	RELVERIFY		* ACTIVATION FLAGS
	DC.W	BOOLGADGET		* GADGET TYPE BOOLAN
	DC.L	MENUBM			* PONTER TO GADGET GFX	
	DC.L	0			* POINTER TO NEXT GFX GADGET
	DC.L	0			* POINTER TO GADGET TEXT	
	DC.L	0			* DEACTIVATE GADGETS ONCE SELECTED
	DC.L	0			* SPECIAL GADGET INFO
	DC.W	0			* GADGET I.D NUMBER
	DC.L	0			* USER DATA
MENUBM:
	DC.W	0			* X POSTION OF GADGET
	DC.W	0			* Y POSTION OF GADGET
	DC.W	82			* X BITMAP SIZE
	DC.W	22			* Y BITMAP SIZE
	DC.W	2			* NUMBER OF PLANES
	DC.L	MENUGAD			* POINTER TO BITMAP DATA
	DC.B	1			*
	DC.B	6			* 
	DC.L	0			* NEXT IMAGE STRUCTURE
*******************************************************************************
COLORGADGET:
	DC.L	SCROLLGADGET		* POINTER TO NEXT GADGET
	DC.W	110			* X POSTION OF GADGET
	DC.W	40			* Y POSTON OF GADGET
	DC.W	82			* GADGET WIDTH		
	DC.W	21  			* GADGET HEIGHT
	DC.W	GADGIMAGE		* GADGET TYPES
	DC.W	RELVERIFY		* ACTIVATION FLAGS
	DC.W	BOOLGADGET		* GADGET TYPE BOOLAN
	DC.L	COLORBM			* PONTER TO GADGET GFX	
	DC.L	0			* POINTER TO NEXT GFX GADGET
	DC.L	0			* POINTER TO GADGET TEXT	
	DC.L	0			* DEACTIVATE GADGETS ONCE SELECTED
	DC.L	0			* SPECIAL GADGET INFO
	DC.W	0			* GADGET I.D NUMBER
	DC.L	0			* USER DATA
COLORBM:
	DC.W	0			* X POSTION OF GADGET
	DC.W	0			* Y POSTION OF GADGET
	DC.W	82			* X BITMAP SIZE
	DC.W	22			* Y BITMAP SIZE
	DC.W	2			* NUMBER OF PLANES
	DC.L	COLORGAD		* POINTER TO BITMAP DATA
	DC.B	1			*
	DC.B	6			* 
	DC.L	0			* NEXT IMAGE STRUCTURE
*******************************************************************************
SCROLLGADGET:
	DC.L	INSTALLBOOTGADGET	* POINTER TO NEXT GADGET
	DC.W	220			* X POSTION OF GADGET
	DC.W	40			* Y POSTON OF GADGET
	DC.W	82			* GADGET WIDTH		
	DC.W	21  			* GADGET HEIGHT
	DC.W	GADGIMAGE		* GADGET TYPES
	DC.W	RELVERIFY		* ACTIVATION FLAGS
	DC.W	BOOLGADGET		* GADGET TYPE BOOLAN
	DC.L	SCROLLBM		* PONTER TO GADGET GFX	
	DC.L	0			* POINTER TO NEXT GFX GADGET
	DC.L	0			* POINTER TO GADGET TEXT	
	DC.L	0			* DEACTIVATE GADGETS ONCE SELECTED
	DC.L	0			* SPECIAL GADGET INFO
	DC.W	0			* GADGET I.D NUMBER
	DC.L	0			* USER DATA
SCROLLBM:
	DC.W	0			* X POSTION OF GADGET
	DC.W	0			* Y POSTION OF GADGET
	DC.W	82			* X BITMAP SIZE
	DC.W	22			* Y BITMAP SIZE
	DC.W	2			* NUMBER OF PLANES
	DC.L	SCROLLGAD		* POINTER TO BITMAP DATA
	DC.B	1			*
	DC.B	6			* 
	DC.L	0			* NEXT IMAGE STRUCTURE
*******************************************************************************
INSTALLBOOTGADGET:
	DC.L	INSTALLMENUGADGET	* POINTER TO NEXT GADGET
	DC.W	5			* X POSTION OF GADGET
	DC.W	80			* Y POSTON OF GADGET
	DC.W	82			* GADGET WIDTH		
	DC.W	21  			* GADGET HEIGHT
	DC.W	GADGIMAGE		* GADGET TYPES
	DC.W	RELVERIFY		* ACTIVATION FLAGS
	DC.W	BOOLGADGET		* GADGET TYPE BOOLAN
	DC.L	INSTALLBOOTBM		* PONTER TO GADGET GFX	
	DC.L	0			* POINTER TO NEXT GFX GADGET
	DC.L	0			* POINTER TO GADGET TEXT	
	DC.L	0			* DEACTIVATE GADGETS ONCE SELECTED
	DC.L	0			* SPECIAL GADGET INFO
	DC.W	0			* GADGET I.D NUMBER
	DC.L	0			* USER DATA
INSTALLBOOTBM:
	DC.W	0			* X POSTION OF GADGET
	DC.W	0			* Y POSTION OF GADGET
	DC.W	82			* X BITMAP SIZE
	DC.W	22			* Y BITMAP SIZE
	DC.W	2			* NUMBER OF PLANES
	DC.L	INSTALLBOOTGAD		* POINTER TO BITMAP DATA
	DC.B	1			*
	DC.B	6			* 
	DC.L	0			* NEXT IMAGE STRUCTURE
*******************************************************************************
INSTALLMENUGADGET:
	DC.L	INSTALLLOADERGADGET	* POINTER TO NEXT GADGET
	DC.W	110			* X POSTION OF GADGET
	DC.W	80			* Y POSTON OF GADGET
	DC.W	82			* GADGET WIDTH		
	DC.W	21  			* GADGET HEIGHT
	DC.W	GADGIMAGE		* GADGET TYPES
	DC.W	RELVERIFY		* ACTIVATION FLAGS
	DC.W	BOOLGADGET		* GADGET TYPE BOOLAN
	DC.L	INSTALLMENUBM		* PONTER TO GADGET GFX	
	DC.L	0			* POINTER TO NEXT GFX GADGET
	DC.L	0			* POINTER TO GADGET TEXT	
	DC.L	0			* DEACTIVATE GADGETS ONCE SELECTED
	DC.L	0			* SPECIAL GADGET INFO
	DC.W	0			* GADGET I.D NUMBER
	DC.L	0			* USER DATA
INSTALLMENUBM:
	DC.W	0			* X POSTION OF GADGET
	DC.W	0			* Y POSTION OF GADGET
	DC.W	82			* X BITMAP SIZE
	DC.W	22			* Y BITMAP SIZE
	DC.W	2			* NUMBER OF PLANES
	DC.L	INSTALLMENUGAD		* POINTER TO BITMAP DATA
	DC.B	1			*
	DC.B	6			* 
	DC.L	0			* NEXT IMAGE STRUCTURE
*******************************************************************************
INSTALLLOADERGADGET:
	DC.L	DRIVE0GADGET		* POINTER TO NEXT GADGET
	DC.W	220			* X POSTION OF GADGET
	DC.W	80			* Y POSTON OF GADGET
	DC.W	82			* GADGET WIDTH		
	DC.W	21  			* GADGET HEIGHT
	DC.W	GADGIMAGE		* GADGET TYPES
	DC.W	RELVERIFY		* ACTIVATION FLAGS
	DC.W	BOOLGADGET		* GADGET TYPE BOOLAN
	DC.L	INSTALLLOADERBM		* PONTER TO GADGET GFX	
	DC.L	0			* POINTER TO NEXT GFX GADGET
	DC.L	0			* POINTER TO GADGET TEXT	
	DC.L	0			* DEACTIVATE GADGETS ONCE SELECTED
	DC.L	0			* SPECIAL GADGET INFO
	DC.W	0			* GADGET I.D NUMBER
	DC.L	0			* USER DATA
INSTALLLOADERBM:
	DC.W	0			* X POSTION OF GADGET
	DC.W	0			* Y POSTION OF GADGET
	DC.W	82			* X BITMAP SIZE
	DC.W	22			* Y BITMAP SIZE
	DC.W	2			* NUMBER OF PLANES
	DC.L	INSTALLLOADERGAD	* POINTER TO BITMAP DATA
	DC.B	1			*
	DC.B	6			* 
	DC.L	0			* NEXT IMAGE STRUCTURE
*******************************************************************************
DRIVE0GADGET:
	DC.L	DRIVE1GADGET		* POINTER TO NEXT GADGET
	DC.W	5			* X POSTION OF GADGET
	DC.W	120			* Y POSTON OF GADGET
	DC.W	82			* GADGET WIDTH		
	DC.W	21  			* GADGET HEIGHT
	DC.W	GADGIMAGE		* GADGET TYPES
	DC.W	RELVERIFY		* ACTIVATION FLAGS
	DC.W	BOOLGADGET		* GADGET TYPE BOOLAN
	DC.L	DRIVE0BM		* PONTER TO GADGET GFX	
	DC.L	0			* POINTER TO NEXT GFX GADGET
	DC.L	0			* POINTER TO GADGET TEXT	
	DC.L	0			* DEACTIVATE GADGETS ONCE SELECTED
	DC.L	0			* SPECIAL GADGET INFO
	DC.W	0			* GADGET I.D NUMBER
	DC.L	0			* USER DATA
DRIVE0BM:
	DC.W	0			* X POSTION OF GADGET
	DC.W	0			* Y POSTION OF GADGET
	DC.W	82			* X BITMAP SIZE
	DC.W	22			* Y BITMAP SIZE
	DC.W	2			* NUMBER OF PLANES
	DC.L	DRIVE0GAD		* POINTER TO BITMAP DATA
	DC.B	1			*
	DC.B	6			* 
	DC.L	0			* NEXT IMAGE STRUCTURE
*******************************************************************************
DRIVE1GADGET:
	DC.L	LOGOGADGET		* POINTER TO NEXT GADGET
	DC.W	110			* X POSTION OF GADGET
	DC.W	120			* Y POSTON OF GADGET
	DC.W	82			* GADGET WIDTH		
	DC.W	21  			* GADGET HEIGHT
	DC.W	GADGIMAGE		* GADGET TYPES
	DC.W	RELVERIFY		* ACTIVATION FLAGS
	DC.W	BOOLGADGET		* GADGET TYPE BOOLAN
	DC.L	DRIVE1BM		* PONTER TO GADGET GFX	
	DC.L	0			* POINTER TO NEXT GFX GADGET
	DC.L	0			* POINTER TO GADGET TEXT	
	DC.L	0			* DEACTIVATE GADGETS ONCE SELECTED
	DC.L	0			* SPECIAL GADGET INFO
	DC.W	0			* GADGET I.D NUMBER
	DC.L	0			* USER DATA
DRIVE1BM:
	DC.W	0			* X POSTION OF GADGET
	DC.W	0			* Y POSTION OF GADGET
	DC.W	82			* X BITMAP SIZE
	DC.W	22			* Y BITMAP SIZE
	DC.W	2			* NUMBER OF PLANES
	DC.L	DRIVE1GAD		* POINTER TO BITMAP DATA
	DC.B	1			*
	DC.B	6			* 
	DC.L	0			* NEXT IMAGE STRUCTURE
*******************************************************************************
LOGOGADGET:
	DC.L	STATUSGADGET		* POINTER TO NEXT GADGET
	DC.W	220			* X POSTION OF GADGET
	DC.W	120			* Y POSTON OF GADGET
	DC.W	82			* GADGET WIDTH		
	DC.W	21  			* GADGET HEIGHT
	DC.W	GADGIMAGE		* GADGET TYPES
	DC.W	RELVERIFY		* ACTIVATION FLAGS
	DC.W	BOOLGADGET		* GADGET TYPE BOOLAN
	DC.L	LOGOBM			* PONTER TO GADGET GFX	
	DC.L	0			* POINTER TO NEXT GFX GADGET
	DC.L	0			* POINTER TO GADGET TEXT	
	DC.L	0			* DEACTIVATE GADGETS ONCE SELECTED
	DC.L	0			* SPECIAL GADGET INFO
	DC.W	0			* GADGET I.D NUMBER
	DC.L	0			* USER DATA
LOGOBM:
	DC.W	0			* X POSTION OF GADGET
	DC.W	0			* Y POSTION OF GADGET
	DC.W	82			* X BITMAP SIZE
	DC.W	22			* Y BITMAP SIZE
	DC.W	2			* NUMBER OF PLANES
	DC.L	LOGOGAD			* POINTER TO BITMAP DATA
	DC.B	1			*
	DC.B	6			* 
	DC.L	0			* NEXT IMAGE STRUCTURE
********************************************************************************
STATUSINFO:
	DC.L	STATUS			* POINTER TO STATUS TEXT
	DC.L	UNDO			* POINTER TO UNDO TEXT
	DC.W	0			* CURSOR POSTION
	DC.W	20			* MAX NUMBER OF CHARACTERS
	DC.W	0			* OUTPUT POSTION OF TEXT
	DC.W	0			* NUMBER OF CHARACTERS IN TEXT BUFFER
	DC.W	0			* NUMBER OF CHARACTERS VISABLE IN BOX
	DC.W	0			* HORIZONTAL BOX OFFSET
	DC.W	0			* VERTICAL BOX OFFSET
	DC.L	0			* POINTER TO RASTPORT STRUCTURE
	DC.L	0			* LONGWORD VALUE OF INPUT (INTEGER ONLY)
	DC.L	0			* KEYBOARD TABLE

STATUS:
	DC.B	"STATUS:",0,0,0		* GADGET TEXT
	EVEN
UNDO:
	DC.L	0,0,0,0			* UNDO BUFFER
*********************************************************************************
STATUSGADGET:
	DC.L	0			* NEXT GADGET POINTER
	DC.W	110			* X POSTION
	DC.W	160			* Y POSTION
	DC.W	80			* WIDTH
	DC.W	10			* HEIGHT
	DC.W	0			* FLAGS
	DC.W	2			* ACTIVATION
	DC.W	4			* GADGET TYPE STRING
	DC.L	BORDER			* POINTER TO BORDER INFO
	DC.L	0			* DRAWINGS
	DC.L	0			* NOTEXT
	DC.L	0			* EXCLUDE
	DC.L	STATUSINFO		* POINTER TO STRING INFO STRUCTURE
	DC.W	2			* GADGET I.D
	DC.L	0			* NO USER DATA

BORDER:
	DC.W	0			* X POSTION OFFSET
	DC.W	0			* Y POSTION OFFSET
	DC.B	3			* COLOR
	DC.B	3			* COLOR
	DC.B	0			* MODE (JAM1)
	DC.B	5			* 5 X/Y PAIRS
	DC.L	COORD			* POINTER TO CORDINATES TABLE
	DC.L	0			* NO MORE USER DATA OR STRUCTURES

COORD:
	DC.W	-2			* X POSTION START UPPER LEFT
	DC.W	-2			* Y POSTION START UPPER LEFT
	DC.W	80			* X POSTION START UPPER RIGHT
	DC.W	-2			* Y POSTION START UPPER RIGHT
	DC.W	80			* X POSTION START LOWER LEFT
	DC.W	9			* Y POSTION START LOWER LEFT
	DC.W	-2			* X POSTION START LOWER LEFT
	DC.W	9			* Y POSTION START LOWER LEFT
	DC.W	-2			* BACK TO X POSTION START
	DC.W	-2			* BACK TO Y POSTION START
 




























