Variables

	$10	Copy of PPU Control Register 1
	$11	Copy of PPU Control Register 2
	$12	Copy of PPU Scroll Register Low
	$13	Copy of PPU Scroll Register High
	$15	Copy of gamepad 1 bits
	$16 	Copy of gamepad 2 bits
	
	$18-1F  LFSR 
	
	Apparently, bytes $20, $24, $28 and $2C are a sign flag for each BCD number, although they are never used in the game. 
	$21-23	BCD high score
	$25-27 	BCD player 1 score
	$29-2B  BCD player 2 score
	$2D-2F	BCD bonus counter
	
	$34	Divider counter
	$35-3E	In-game counters
	$3F-45	In-game divide-by-10 counters
	
		Timers
			$41-42	Bonus score sprite duration
	
	$4E	Unknown flag
			0 = demo mode/normal gameplay
			1 = otherwise (game over, game select, etc.)
	$4F	Unknown flag
			0 = Gameplay frozen?
			1 = Gameplay unfrozen?
	$50	Game type
			0 = 1 player game A
			1 = 1 player game B
			2 = 2 player game A
			3 = 2 player game B
	$51	1 player/2 player game flag
			#18 = 1 Player
			#1C = 2 Players
	$52	Current player playing
			0 = Player 1
			1 = Player 2
	$53	Current stage
			1 = Barrels
			3 = Elevators
			4 = Rivets
			(2 is unused)
	$54	Level number (off by one, starts with #00)
			0 = Level 1
			1 = Level 2, etc.
	$55	Current player lives
	$56	Current 4-axis movement (excluding jump) 
			0 = None
			1 = Right
			2 = Left
			4 = Down
			8 = Up
	$57	Player horizontal orientation
			1 = Right
			2 = Left
	$58	Demo mode flag
			1 = Demo mode
			0 = Not in demo mode
			
	$59	Jumpman's platform number, counting from bottom to top, starting at 1
			Note: in the barrel and rivet stages, the number is exact; in the elevator stage, it is approximate
	$5A	"Jumpman is in contact with a platform" flag (1 = in contact, 0 = not in contact)
	$5B	Vertical position counter - Jumpman climbing a stair in contact with a platform
	$5C	"Vertical cycling counter" - Jumpman climbing a stair without being in contact with a platform (a vertical cycling counter #00-#06)
	$5D	Hardcoded object index, based on stage
			#09 on stage 1
			#03 on stage 3
			#00 on stage 4
			
	$5E-64	Barrel status 
			#01 = rolling along platform
			#02 = rolling down a ladder
			#08 = falling off a platform's end (and rolling along)
			#10 = rebounding after falling and hitting a platform
			#20 = rolling off screen after falling and hitting a platform
			#40 = ??
			#80 = in DK's hands, prior to being thrown
			#81 = ??
			#C0 = falling down below DK, rebounding on each platform (either straight down or in zigzag) 
			#C1 = falling straight down and colliding with a platform
			#C2 = falling straight down and colliding with the bottom platform
	$68-$6C	Platform floor for the barrels on stage 1
	$72-76	Sprite tile number for barrels on stage 1
	$8A-8F	Barrel step counter
	
	$96	Jumpman status
			01 = Walking
			04 = Jumping
			02 = On a staircase
			08 = Falling down
			0A = Using hammer
			FF = Dead/dying
	$9A	Stage 4 victory flag			
	$9B	Seems to alternate between 0 and 1 on each step that Jumpman takes
	$9C	Vertical position of Jumpman's top-left sprite
	
	$BE	Flag - Seems to be 1 = "update Jumpman's frame"
	$C1-C9	"Rivet removed" flag array
			0 = present
			1 = removed
			
	$F0-FB	Audio stuff?
	$F4	Sequence number of note for audio channel 1
	$F8	Sequence number of note for audio channel 2
	$FA	Sequence number of note for audio channel 3

	$0100 	Local copy of Audio status register
	
	$0200-02FF	Sprite/object area (4 bytes per sprite)
				Byte 0 		Vertical position
				Byte 1		Tile number
				Byte 2 		Attributes (flipping/priority/palette)
				Byte 3		Horizontal position
	
	
	$0330-$036F	BKG tiles update list (in the same format that the VRAM Write routine uses)
	
				$0330 	list size (in bytes)
				$0331-...	Data bytes
				Last byte must be a  #00 (end of list marker)
				
	$0400-0401	Stage number player 1/player 2
	$0402-0403	Level number player 1/player 2
	$0404-0405	Lives player 1/player 2
	$0406-0407	Game over player 1/player 2 (1 = Game over)
	$0408-0409	Extra life awarded flag (1 = awarded, 0 = not awarded)
	$044F		Counter of removed rivets (stage 4)
	$0505		BKG update flag?
				#10 =	DK frame change
	$0507-???	Stored high score
	$050B	Demo mode - movement processing has started flag, 1 = started, 0 = not started
	$050C	Demo mode - next movement counter
	$050D	Demo mode - movement type
			00 - No movement
			01 - Right
			02 - Left
			05 - Jump
			08 - Up
	$050E	Demo mode - recorded movement counter
	$0510	Game select sprite (asterisk) - Horizontal position
	$0511	Game select sprite (asterisk) - Vertical position
	$0512	"Select" is pressed flag
	$0516	Pause mode
			1 = Paused
			0 = Unpaused
	$0517	Seems to be a pause mode transition counter. When pause mode is engaged or disengaged, sprites remain frozen on screen and the pause music plays during the transition.
			
	$0518	Silent attract screen iterations

----------------------------------------------------------------------------	
	Sprite information:
	
	The first 4 sprites in the sprite area seem to always be Jumpman's 4 sprites.
	That is sprites 0-3, in addresses $0200-$020F.
	
	
	Some sprite positions:
	
		Sprite #	Address		
				$2C0-$2CF	bonus score sprites (2 tiles per sprite, 2 bonus score sprites max.)
		52-55		$2D0-$2DF	the two hammers, barrels stage
		56-57		$2E0-$2E7 	oil can fire, barrels stage
		58-63		$2E8-$2FF 	Pauline
	
	
	Sprite byte 2 (ID/status)
	
		Mario			00(when facing right)/40(when facing left)
		Pauline			01
		Oil can fire		02
		Hammers			03
		Fire enemy, stage 1	02/42
		Bonus score		01
		
	Most likely, things like these are encoded in this byte:
		-Horizontal mirroring for the sprite
		-Collision with Jumpman triggers death 
		
	
	Sprite tiles:
	
	00-2F	Jumpman, frames 0-11
	14-17	Jumpman carrying the hammer, frame A
	18-1B	Jumpman carrying the hammer, frame B
	24-27	Jumpman climbing a ladder (the 2 different frames are produced by horizontal sprite mirroring)
	30-33	Barrel destroyed, frame A
	34-37	Barrel destroyed, frame B
	38-3B	Barrel destroyed, frame C
	3C-3F	Barrel destroyed, frame D
	40-57	DK falling upside down (after winning stage 4)
	60-63	Jumpman finishing the climb of a ladder, frame A
	64-67	Jumpman finishing the climb of a ladder, frame B
	68-6B	Jumpman post-ladder climb, facing towards the background
	6C-6F	Jumpman rotating while dying, frame D
	70-73	Jumpman rotating while dying, frame A
	74-77	Jumpman rotating while dying, frame B
	78-7B	Jumpman rotating while dying, frame C
	7C-7F	Jumpman dead
	80-8F	Barrel rolling, frames 0-3
	90-93	Barrel in free fall, frame A
	94-97	Barrel in free fall, frame B
	98-9F	Fire enemy (barrels and elevators stage), frames A-B
	A0-A1	Metallic platform
	A2	Asterisk (in game select screen)
	A8-AF	Fire enemies (rivets stage), frames A-B
	C0-C3	Spring, extended
	C4-C7	Spring, compressed
	C8-CB	Heart (when winning a level)
	D0-D3	Bonus score, left parts
	D4	Bonus score, right part ("00")
	D5-D6 	Pauline's head
	D7-DA	Pauline's lower part, frame A
	DB-DE 	Pauline's lower part, frame B
	F6-F7 	Hammer in vertical orientation
	F8-F9	Hammer in horizontal orientation, facing left
	FA-FB	Hammer in horizontal orientation, facing right
	FC-FD 	Oil can fire, frame A
	FE-FF 	Oil can fire, frame B
	
	

