Level developer notes for Diamonds.
See diamonds.txt for information on Diamonds.

Here is the format for the level data files:

;----- Start of asm file -----
	.db		"Dia1JW"	; tells Diamonds that this
					; is a level data file.
	.db		%00000000	; data for changing certain things.
					; see the comment below for custom data.
	.db		39		; bytes to beginning of level data

	; ------------- optional diamond definitions

blockD:	.db		01111111b
	.db		10101010b
	.db		10101010b
	.db		10101010b
	.db		10101010b
	.db		01111111b
	.db		10000000b
	.db		11000000b
	.db		11000000b
	.db		11000000b
	.db		11000000b
	.db		10000000b
blockE:	.db		01111111b
	.db		10101111b
	.db		10101111b
	.db		10101111b
	.db		10101111b
	.db		01111111b
	.db		10000000b
	.db		11000000b
	.db		11000000b
	.db		11000000b
	.db		11000000b
	.db		10000000b	

	; ----------------- end of optional diamond definitions.

	.db		"Level Name"	; name of the level
	.db		0		; necessary zero for termination of level name
	.db		11		; length of level name (includes the 0)
	.db		0,0		; high score info (recommended value=0)
	.db		1		; number of levels (1=1 level)
	
	.db		$00,$00,$00,$00		; level data
	.db		$00,$00,$00,$00
	.db		$00,$00,$00,$00
	.db		$00,$00,$00,$00
	.db		$00,$00,$00,$00
	.db		$00,$00,$00,$00
	.db		$00,$00,$00,$00
	.db		$00,$00,$00,$00
	.db		$00,$00,$00,$00
	.db		$00,$00,$00,$00
	.db		5,5,1,1		; ballx,bally,start/normal diamonds,last diamonds

	; more levels here.......
.end	; tell TASM that the file is finished
END
;----- End of asm file -----

-Custom data byte:
This byte is needed to pass data about the level set to Diamonds.
Usage:
	*******1 - Arrow change block is breakable
	******1* - Go back to level 1 after winning the last level
	***111** - Number of points until new life (add 1 and mult 100)
	*11***** - Starting point for the bonus (add 1 and mult 30)
	1******* - Unused (may be used for indicating more data after the
			custom blocks in future versions) Set to 0!

-Custom Diamonds:
You can use your own custom diamonds + change block by putting two 12 byte blocks after the
Custom data byte.  The order is: diamonds then diamond change block.  Note: if you do not
use these blocks, you do not need to fill out this data (just skip it).

-Block definitions:
Here is a list of all the blocks/diamonds; what they do and their values.
$0 Nothing 				$8 zig-zag diamond 
$1 Thin border - first blocks 		$9 zig-zag diamond change block 
$2 spotted diamond 			$A blocker block 
$3 spotted diamond change block		$B lock 
$4 bordered diamond 			$C key 
$5 bordered diamond change block	$D custom
$6 thick border - last 			$E custom change block
$7 killer block				$F direction swap block

There are two blocks to a byte.  The blocks are side-by-side.  For example, if you had
$6 and $7 next to each other you would have $67.
If you use blocks D and E it is HIGHLY recommended that you fill out the custom diamond area!
However, not doing so will have no bad effects on your calculator (the custom diamonds will
just look wierd).

-The last four bytes of each level:
Last four bytes of each level are:
	-beginning x coordinate of ball
	-beginning y coordinate of ball
	-number of normal blocks (includes first blocks and keys/locks)
	-number of last blocks (thick bordered blocks)

-Odds and ends:
	-Each level set can have between 1 and 99 levels
	-The name you choose for the level file can be ANYTHING between 1 and 8 characters!
	-The description can be anything that fits on the screen!
	-You MUST use SQUISH or an equivalent compression utility to compress the levels.

That should be it!  See the source to the included level file for more info.
