        .nolist

        #include "ion.inc"		;tells TASM--the compiler--what file to read from to define rom call memory addresses and such
        #include "keys.inc"
        .list
counter = saferam3
points = counter+1
score = counter+2
invcount = counter+4
compscore = counter+5
#ifdef TI83P			;a check for TASM to see whether it is making an 83 program--if so, do the next two commands
        .org    progstart-2
        .db     $BB,$6D
#else				;if it isn't an 83 program, then do something [#]else--the next line
        .org    progstart
#endif				;simply ends the #ifdef command
        ret				

        jr      nc,begin 		;Jumps to the beginning of the program (this line and the below three will be 
        .db     "Blak Jak v1.0 By Cole South",0		;The title displayed by ION--anything you want
begin: 				;defines where label begin is, program code follows this label
	bcall(_indicatoroff)
	bcall(_clrlcdf)
	bcall(_cleargbuf)
	ld hl,titlepic
	ld de,PLOTSSCREEN 
	ld bc,768 
	ldir 
	call ionFastCopy 
	call waitkey
	cp gClear
	ret z
	bcall(_clrlcdf)
	bcall(_cleargbuf)
aftpic:
	call reset
	bcall(_clrlcdf)
	bcall(_cleargbuf)

firstdeal:
	call AIScore
	call deal
	cp 0
	jp z,deal2card
	cp 1
	jp z,deal3card
	cp 2
	jp z,deal4card
	cp 3
	jp z,deal5card
	cp 4
	jp z,deal6card
	cp 5
	jp z,deal7card
	cp 6
	jp z,deal8card
	cp 7
	jp z,deal9card
	cp 8
	jp z,deal10card
	cp 9
	jp z,dealjackcard
	cp 10
	jp z,dealqueencard
	cp 11
	jp z,dealkingcard
	cp 12
	jp z,dealacecard
deal2card:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,sp2					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld a,(points)
	add a,2
	ld (points),a
	call checkbust
	ld a,(score)
	add a,2
	ld (score),a
	call waitkey
	cp gClear
	ret z
	cp g2nd
	jp z,stay
	jp firstdeal
deal3card:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,sp3					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld a,(points)
	add a,3
	ld (points),a
	call checkbust
	ld a,(score)
	add a,3
	ld (score),a
	call waitkey
	cp gClear
	ret z
	cp g2nd
	jp z,stay
	jp firstdeal
deal4card:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,sp4					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld a,(points)
	add a,4
	ld (points),a
	call checkbust
	ld a,(score)
	add a,4
	ld (score),a
	call waitkey
	cp gClear
	ret z
	cp g2nd
	jp z,stay
	jp firstdeal
deal5card:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,sp5					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld a,(points)
	add a,5
	ld (points),a
	call checkbust
	ld a,(score)
	add a,5
	ld (score),a
	call waitkey
	cp gClear
	ret z
	cp g2nd
	jp z,stay
	jp firstdeal
deal6card:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,sp6					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld a,(points)
	add a,3
	ld (points),a
	call checkbust
	ld a,(score)
	add a,6
	ld (score),a
	call waitkey
	cp gClear
	ret z
	cp g2nd
	jp z,stay
	jp firstdeal
deal7card:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,sp7					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld a,(points)
	add a,7
	ld (points),a
	call checkbust
	ld a,(score)
	add a,7
	ld (score),a
	call waitkey
	cp gClear
	ret z
	cp g2nd
	jp z,stay
	jp firstdeal
deal8card:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,sp8					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld a,(points)
	add a,8
	ld (points),a
	call checkbust
	ld a,(score)
	add a,8
	ld (score),a
	call waitkey
	cp gClear
	ret z
	cp g2nd
	jp z,stay
	jp firstdeal
deal9card:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,sp9					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld a,(points)
	add a,9
	ld (points),a
	call checkbust
	ld a,(score)
	add a,9
	ld (score),a
	call waitkey
	cp gClear
	ret z
	cp g2nd
	jp z,stay
	jp firstdeal
deal10card:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,sp10					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld a,(points)
	add a,10
	ld (points),a
	call checkbust
	ld a,(score)
	add a,10
	ld (score),a
	call waitkey
	cp gClear
	ret z
	cp g2nd
	jp z,stay
	jp firstdeal
dealjackcard:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,spjack					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld a,(points)
	add a,10
	ld (points),a 
	call checkbust
	ld a,(score)
	add a,10
	ld (score),a
	call waitkey
	cp gClear
	ret z
	cp g2nd
	jp z,stay
	jp firstdeal
dealqueencard:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,spqueen					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld a,(points)
	add a,10
	ld (points),a 
	call checkbust
	ld a,(score)
	add a,10
	ld (score),a
	call waitkey
	cp gClear
	ret z
	cp g2nd
	jp z,stay
	jp firstdeal
dealkingcard:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,spking					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld a,(points)
	add a,10
	ld (points),a 
	call checkbust
	ld a,(score)
	add a,10
	ld (score),a
	call waitkey
	cp gClear
	ret z
	cp g2nd
	jp z,stay
	jp firstdeal
dealacecard:
	ld a,(counter)
	cp 1
	call z,card1val
	cp 2
	call z,card2val
	cp 3
	call z,card3val
	cp 4
	call z,card4val
	cp 5
	call z,card5val
	ld ix,spAce					;load the sprite into register ix
	call IonLargeSprite
	call IonFastCopy
	call PutDirections
	ld a,(counter)
	inc a		;Line 50
	ld (counter),a
	ld	a,1
	ld	(PENCOL),a	; x coordinate			
	ld	a,8
	ld	(PENROW),a	; y coordinate
	ld	hl,txtace
	bcall(_vputs)          ; notice, this is vputs, not puts
AceLoop:
	call waitkey
	cp gF1
	jr z,add1
	cp gF5
	jr z,add11
	cp gClear
	ret z
	jp AceLoop
	

add1:
	ld a,(points)
	add a,1
	ld (points),a
	call checkbust
	ld a,(score)
	add a,1
	ld (score),a
	jp firstdeal
add11:
	ld a,(points)
	add a,11
	ld (points),a
	call checkbust
	ld a,(score)
	add a,11
	ld (score),a
	jp firstdeal

card1val:
	ld b,20					;the sprite is 20 high
	ld c,2					;it is 16 wide overall. Divide by 8 and we get 2
	ld a,6					;lets just display the sprite at (0,0)
	ld l,25
	ret
card2val:
	ld b,20					;the sprite is 20 high
	ld c,2					;it is 16 wide overall. Divide by 8 and we get 2
	ld a,23					;lets just display the sprite at (0,0)
	ld l,25
	ret
card3val:
	ld b,20					;the sprite is 20 high
	ld c,2					;it is 16 wide overall. Divide by 8 and we get 2
	ld a,40					;lets just display the sprite at (0,0)
	ld l,25
	ret
card4val:
	ld b,20					;the sprite is 20 high
	ld c,2					;it is 16 wide overall. Divide by 8 and we get 2
	ld a,57					;lets just display the sprite at (0,0)
	ld l,25
	ret
card5val:
	ld b,20					;the sprite is 20 high
	ld c,2					;it is 16 wide overall. Divide by 8 and we get 2
	ld a,74					;lets just display the sprite at (0,0)
	ld l,25
	ret
deal:
	ld b,13
	call IonRandom
	ret
checkbust:
	ld a,(points)
	cp 21
	jp z,twentyone
	cp 22
	jp z,bust
	cp 23
	jp z,bust
	cp 24
	jp z,bust
	cp 25
	jp z,bust
	cp 26
	jp z,bust
	cp 27
	jp z,bust
	cp 28
	jp z,bust
	cp 29
	jp z,bust
	cp 30
	jp z,bust
	cp 31
	jp z,bust
	ret
bust:
	bcall(_clrlcdf)
	bcall(_cleargbuf)
	ld	a,30
	ld	(PENCOL),a	; x coordinate			
	ld	a,25
	ld	(PENROW),a	; y coordinate
	ld	hl,txtbust
	bcall(_vputs)          ; notice, this is vputs, not puts
							;(C) 2000 Joe Pemberton
gInverse:
	ld	bc,768		;the graph buffer is 768 bytes
	ld	hl,plotsscreen	;load the address for the graph buffer into hl
gInverseLoop:
	ld	a,(hl)		;load what is at (hl) (the graph buffer) into a
	cpl			;find the inverse of a
	ld	(hl),a		;load a back into (hl)
	inc	hl		;increment the current address in hl
	dec	bc		;decrement the counter
	ld	a,c		;load the lsb of the counter into a
	or	b		;or a with the msb of the counter
	jr	nz,gInverseLoop	;if a doesn't equal 0, goto gInverseLoop
	call IonFastCopy	;display the graph buffer on the lcd
	ld a,(invcount)
	inc a
	cp 16
	jp z,stay
	ld (invcount),a
	jr bust


putdirections:
	ld	a,5
	ld	(PENCOL),a	; x coordinate			
	ld	a,2
	ld	(PENROW),a	; y coordinate
	ld	hl,txtscore
	ld	a,10
	ld	(PENCOL),a	; x coordinate			
	ld	a,47
	ld	(PENROW),a	; y coordinate
	ld	hl,txtd1
	bcall(_vputs)          ; notice, this is vputs, not puts
	ld	a,12
	ld	(PENCOL),a	; x coordinate			
	ld	a,55
	ld	(PENROW),a	; y coordinate
	ld	hl,txtd2
	bcall(_vputs)          ; notice, this is vputs, not puts
	ret
stay:	
	ld	a,2
	ld	(CURROW),a		; current row				
	ld	a,2				
	ld	(CURCOL),a		; current column
	ld	hl,txtscore
	bcall(_puts)
	ld	a,3
	ld	(CURROW),a		; current row				
	ld	a,2				
	ld	(CURCOL),a		; current column
	ld a,(score)
	ld h,0
	ld l,a
	bcall(_disphl)
	ld	a,4
	ld	(CURROW),a		; current row				
	ld	a,2			
	ld	(CURCOL),a		; current column
	ld	hl,txtcompscore
	bcall(_puts)
	ld	a,5
	ld	(CURROW),a		; current row				
	ld	a,2				
	ld	(CURCOL),a		; current column
	ld a,(compscore)
	ld h,0
	ld l,a
	bcall(_disphl)
	bcall(_puts)
	call waitkey
	cp gClear
	ret z
	jp aftpic
	ret
AIScore:
	ld b,21
	call IonRandom
	ld (compscore),a
	ret
twentyone:
	ret
reset:
	ld a,1
	ld (counter),a
	ld a,0
	ld (points),a
	ld (invcount),a
	ld (score),a
	ld (compscore),a
	ret
WaitKey:
	ei
WaitKeyLoop:
	halt
	bcall(_getcsc)
	or a
	jr z,WaitKeyLoop
	cp gClear
	jr z,endprog
	ret
endprog:
	ret
txtscore:
	.db "You Score: ",0
txtcompscore:
	.db "AI Scores: ",0
txtd1:
	.db "2nd to stay, Clear to quit",0
txtd2:
	.db "Aces are worth 1 or 11.",0
txtbust:
	.db "BUST!!!",0
txtace:
	.db "     ACE!!! "
	.db "Y= for 1, Graph for 11.",0

;SPRITES FOR THE GAME!!!!!  CREATED WITH SPRITEPRO.
sp2:
	.db %00111111,%11111100		;16X20 Sprite of the 2 card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10000111,%11100001
	.db %10000000,%00010001
	.db %10000000,%00010001
	.db %10000000,%00010001
	.db %10000000,%00010001
	.db %10000011,%11100001
 	.db %10000100,%00000001
	.db %10000100,%00000001
	.db %10000100,%00000001
	.db %10000100,%00000001
	.db %10000011,%11110001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %01000000,%00000010
	.db %00111111,%11111100

sp3:
	.db %00111111,%11111100		;16X20 Sprite of the 3 card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10000111,%11000001
	.db %10000000,%00100001
	.db %10000000,%00100001
	.db %10000000,%00100001
	.db %10000000,%00100001
	.db %10000000,%00100001
	.db %10000111,%11000001
	.db %10000000,%00100001
	.db %10000000,%00100001
	.db %10000000,%00100001
	.db %10000000,%00100001
	.db %10000111,%11000001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %01000000,%00000010
	.db %00111111,%11111100

sp4:
	.db %00111111,%11111100		;16X20 Sprite of the 4 card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10001000,%00100001
	.db %10001000,%00100001
	.db %10001000,%00100001
	.db %10001000,%00100001
	.db %10001000,%00100001
	.db %10000111,%11110001
	.db %10000000,%00100001
	.db %10000000,%00100001
	.db %10000000,%00100001
	.db %10000000,%00100001
	.db %10000000,%00100001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %01000000,%00000010
	.db %00111111,%11111100

sp5:
	.db %00111111,%11111100		;16X20 Sprite of the 5 card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10000111,%11110001
	.db %10001000,%00000001
	.db %10001000,%00000001
	.db %10001000,%00000001
	.db %10001000,%00000001
	.db %10001000,%00000001
	.db %10000111,%11100001
	.db %10000000,%00010001
	.db %10000000,%00010001
	.db %10000000,%00010001
	.db %10000000,%00010001
	.db %10001111,%11100001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %01000000,%00000010
	.db %00111111,%11111100

sp6:
	.db %00111111,%11111100		;16X20 Sprite of the 6 card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10000111,%11100001
	.db %10001000,%00000001
	.db %10001000,%00000001
	.db %10001000,%00000001
 	.db %10001000,%00000001
	.db %10001000,%00000001
	.db %10001111,%11000001
	.db %10001000,%00100001
	.db %10001000,%00100001
	.db %10001000,%00100001
	.db %10000111,%11100001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %01000000,%00000010
	.db %00111111,%11111100

sp7:
	.db %00111111,%11111100		;16X20 Sprite of the 7 card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10000111,%11110001
	.db %10000000,%00010001
	.db %10000000,%00100001
	.db %10000000,%01000001
	.db %10000000,%10000001
	.db %10000000,%10000001
 	.db %10000000,%10000001
	.db %10000000,%10000001
	.db %10000000,%10000001
	.db %10000000,%10000001
	.db %10000000,%10000001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %01000000,%00000010
	.db %00111111,%11111100

sp8:
	.db %00111111,%11111100		;16X20 Sprite of the 8 card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10000111,%11100001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10000111,%11100001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10000111,%11100001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %01000000,%00000010
	.db %00111111,%11111100

sp9:
	.db %00111111,%11111100		;16X20 Sprite of the 9 card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10000111,%11100001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10000111,%11110001
	.db %10000000,%00010001
	.db %10000000,%00010001
	.db %10000000,%00010001
	.db %10001000,%00010001
	.db %10000111,%11100001
	.db %10000000,%00000001
	.db %10000000,%00000001
 	.db %01000000,%00000010
	.db %00111111,%11111100

sp10:
	.db %00111111,%11111100		;16X20 Sprite of the 10 card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10001001,%11110001
	.db %10001001,%00010001
	.db %10001001,%00010001
	.db %10001001,%00010001
	.db %10001001,%00010001
	.db %10001001,%00010001
	.db %10001001,%00010001
	.db %10001001,%00010001
	.db %10001001,%00010001
	.db %10001001,%00010001
	.db %10001001,%00010001
	.db %10001001,%11110001
 	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %01000000,%00000010
	.db %00111111,%11111100

spjack:
	.db %00111111,%11111100		;16X20 Sprite of the jack card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10001111,%11110001
	.db %10000000,%10000001
	.db %10000000,%10000001
	.db %10000000,%10000001
	.db %10000000,%10000001
	.db %10000000,%10000001
	.db %10000000,%10000001
	.db %10000000,%10000001
	.db %10000000,%10000001
	.db %10000000,%10000001
	.db %10000001,%00000001
	.db %10001110,%00000001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %01000000,%00000010
	.db %00111111,%11111100

spqueen:
	.db %00111111,%11111100		;16X20 Sprite of the queen card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000111,%11100001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%01010001
	.db %10001000,%00100001
	.db %10000111,%11010001
	.db %10000000,%00000001
 	.db %10000000,%00000001
	.db %01000000,%00000010
	.db %00111111,%11111100

spking:
	.db %00111111,%11111100		;16X20 Sprite of the king card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10001000,%00010001
	.db %10001000,%00100001
	.db %10001000,%01000001
	.db %10001000,%10000001
	.db %10001001,%00000001
	.db %10001010,%00000001
	.db %10001100,%00000001
	.db %10001010,%00000001
	.db %10001001,%00000001
	.db %10001000,%10000001
	.db %10001000,%01000001
	.db %10001000,%00100001
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %01000000,%00000010
	.db %00111111,%11111100

spAce:
	.db %00111111,%11111100		;16X20 Sprite of the ace card
	.db %01000000,%00000010
	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %10000011,%11000001
	.db %10000100,%00100001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001111,%11110001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
	.db %10001000,%00010001
 	.db %10000000,%00000001
 	.db %10000000,%00000001
	.db %10000000,%00000001
	.db %01000000,%00000010
	.db %00111111,%11111100

titlepic:
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00101010,%00000000,%00001010,%00001010,%00001000,%00000000,%00000000,%00100000,%00101000,%00001000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%10000000,%00001000,%00000000,%10001000,%10000000,%00000000,%10000000,%10001000,%10001000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00101010,%00000000,%00001010,%00100000,%00001010,%00000000,%00000000,%10100000,%00000000,%10100000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%10000000,%00000000,%00000000,%00001000,%10000000,%00000000,%00000000,%00000000,%10001000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00100000,%01111000,%10101010,%10001011,%10001000,%10000000,%10100110,%00111100,%01001100,%00001000,%00000000
 .db %00000000,%00000000,%01111100,%10000001,%10000111,%11001001,%10000000,%10001100,%00111110,%01001100,%00000000,%00000000
 .db %00000000,%00001000,%11001100,%10000001,%11001100,%11001001,%10000000,%10001110,%00101010,%11001000,%10000000,%00000000
 .db %00000000,%00000000,%01000100,%10000001,%01000100,%00001011,%00000000,%10001010,%00100000,%01011000,%00000000,%00000000
 .db %00000000,%00000000,%01001100,%10000001,%01000100,%00001110,%00000000,%10001010,%00100000,%01110000,%00000000,%00000000
 .db %00000000,%00000000,%01111100,%10000011,%01000100,%00001110,%00000000,%10011010,%00100000,%01110000,%00000000,%00000000
 .db %00000000,%00000000,%01000100,%10000010,%01100100,%00001111,%00000000,%10010011,%00100000,%01101000,%00000000,%00000000
 .db %00000000,%00000000,%01000100,%10000011,%11100100,%01001001,%00000000,%10011111,%00100010,%01001000,%00000000,%00000000
 .db %00000000,%00000000,%01000100,%10000010,%00100100,%01001001,%10000100,%10010001,%00100010,%01001100,%00000000,%00000000
 .db %00000000,%00000000,%01111100,%11111110,%00100111,%11001000,%10000111,%10010001,%00111110,%01000100,%00000000,%00000000
 .db %00000000,%00000000,%01111000,%11111100,%00110011,%10001000,%11000011,%00100001,%10011100,%01000110,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00111111,%11111111,%00000000
 .db %00000000,%00111111,%11111111,%10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%11111111,%10000000
 .db %00000000,%00111111,%11111111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%11111111,%10000000
 .db %00000000,%00111111,%11111111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%11111111,%10000000
 .db %00000000,%00111111,%11111111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%11111111,%10000000
 .db %00000000,%00111111,%10011111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%10111111,%10000000
 .db %00000000,%00111111,%10011111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%10111111,%10000000
 .db %00000000,%00111111,%10011111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%10111111,%10000000
 .db %00000000,%00111111,%10011111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%10111111,%10000001
 .db %00000000,%00111111,%10011111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%10111111,%10000001
 .db %00000000,%00111111,%10011111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111001,%10111111,%10000111
 .db %00000000,%00111100,%10011111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111001,%00111111,%10000111
 .db %00000000,%00111100,%00111111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111100,%01111111,%10000011
 .db %00000000,%00111111,%11111111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%11111111,%10000011
 .db %00000000,%00111111,%11111111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%11111111,%10000011
 .db %00000000,%00111111,%11111111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%11111111,%10000011
 .db %00000000,%00111111,%11111111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%11111111,%10000011
 .db %00000000,%00111111,%11111111,%11000000,%00000000,%00000000,%00000000,%00000000,%00000000,%01111111,%11111111,%10000011
 .db %00000000,%00111111,%11111111,%10000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000011
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000011
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000111,%11001000,%01000001,%11110001,%11110001,%00000111,%11100000,%11111000,%11111000,%10000101,%11111010,%00001000
 .db %00000100,%00100100,%10000001,%00011001,%00001001,%00000100,%00000000,%10001001,%00001100,%10000100,%00100010,%00001000
 .db %00000100,%00100110,%10000010,%00000010,%00001001,%00000100,%00000000,%10000001,%00000100,%10000100,%00100010,%00001000
 .db %00000111,%11000011,%00000010,%00000010,%00000101,%00000111,%11100000,%01110001,%00000100,%10000100,%00100011,%11111000
 .db %00000100,%00100001,%00000010,%00000010,%00000101,%00000100,%00000000,%00001001,%00000100,%10000100,%00100010,%00001000
 .db %00000100,%00100001,%00000010,%00001011,%00001001,%00000100,%00000001,%00000101,%00000100,%10000100,%00100010,%00001000
 .db %00000100,%00100001,%00000001,%00011001,%00011001,%00000100,%00000000,%10001000,%10001000,%10001100,%00100010,%00001000
 .db %00000111,%11000001,%00000000,%11110000,%11110001,%11110111,%11100000,%01111000,%01110000,%01111000,%00100010,%00001000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000
 .db %00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000





.end
END