boot:
	dc.b	"DOS",0		;OFS,NoCache,NoInt
	dc.l	0			;checksum, calced with ASM one with CC command
	dc.l	880			;rootBlock
start:
	; set up gfx, expects execBase in a6
	move.l	$9c(a6),a6		; nifty but naughty, gfxbase https://eab.abime.net/showthread.php?t=52853
	move.l	rastPort(pc),a5
	move.l	a5,a1
	jsr		-$C6(a6)		;-198 InitRastPort (rastPort)(A1) 
	move.l	bitMap(pc),a0
	moveq	#1,d0
	move.w	#320,d1
	move.w	#200,d2			; default, no need for ddf/diw
	jsr		-$186(a6)		;-390 InitBitMap (bitMap,depth,width,heigth)(A0,D0,DI,D2)
	move.l	a5,a0
	move.l	bitMap(pc),a1
	move.l	a1,4(a0)		; set bitmap Pointer in rastPort
	move.l	#$7ef00,a0
	move.l	a0,8(a1)		; set memory pointer in bitMap struct
	move.w	#(320*200/8/4),d0
loop1:		; clear loop
	clr.l	(a0)+
	dbf		d0,loop1

	; gen txt for vccc 2025
	moveq	#6,d6		; y height for move
	lea		data(pc),a2
	lea		txt(pc),a4
	move.l	a4,a3
	moveq	#(txt-data)/4-1,d5
dataLoop:
	move.l	(a2)+,d3
	lsl.l	#8,d3		; skip left unused bits
	lsl.l	#5,d3		; skip left unused bits
	moveq   #18,d4		; for all 19 bits do...
bitLoop:
	lsl.l   #1,d3
	bcc.s   isZero
	move.b	#42,(a4)+	; *
	bra.s	bitLoopEnd
isZero:
	move.b	#32,(a4)+	; SP
bitLoopEnd:
	dbf		d4,bitLoop

	move.l	a5,a1
	moveq	#35,d0
	move.l	d6,d1
	jsr		-240(a6)	;Move (rastPort,x,y)(A1,D0,D1)
	move.l	a5,a1
	move.l	a3,a0
	moveq	#19,d0
	jsr		-60(a6)		;Text (RastPort,String,count)(A1,A0,D0)

	add		#19,a3
	addq	#8,d6		; move one line below, 8px

	dbf		d5,dataLoop

	move.l	#$7ee80,a0		; Dest.Adr of copperlist in chipRAM
	move.l	a0,a2
	lea		CopList(pc),a1
	moveq	#(CopEnd-CopList)/4-1,d0
loop2:		; copy loop
	move.l	(a1)+,(a0)+
	dbf		d0,loop2
	lea		$dff000,a0		; CUSTOM
	move.l	a2,$80(a0)		; COP1LCH, move long, no need for COP1LCL
	clr.w	$88(a0)			; COPJMP1
	move.w	#$8300,$96(a0)	; DMACON 1000 0011 0000 0000
endless:
	bra.s	endless

rastPort:
	dc.l	$0007ee00
bitMap:
	dc.l	$0007ee50
CopList:	; will be copied to chip ram at $7ee80
	dc.w	$1601,$FFFE		; wait
	dc.w	$00E0,$0007		; BPL1PTH	in this bitplane is the text
	dc.w	$00E2,$EF00		; BPL1PTL
	dc.w	$0100,$1200		; BPLCON0
	dc.w	$0108,$0000		; BPL1MOD
	dc.w	$0180,$0000	; COLOR00
	dc.w	$0182,$0FFF	; COLOR01
	dc.w	$FFFF,$FFFE		; end
CopEnd:
data:
	dc.l	512,2688,83732,49688,117404,10016,4672,150162,75556,524287
	dc.l	75556,150162,4672,10016,117404,49688,83732,2688,512
txt:
	ds.l	1024	; 0 fill