[stella] baubles3.bin, functional but not a game quite yet

Subject: [stella] baubles3.bin, functional but not a game quite yet
From: Jake Patterson <jpatters@xxxxxxxxxxx>
Date: Tue, 11 Sep 2001 04:50:28 -0400 (EDT)
Here is the latest state of my project.

On the main screen, you can use Game Select to choose between four
choices, one of which is currently functional.  That is HELP.  If you
choose that with Game Select, then press right or left on the joystick to
go into that mode, it will display a page of text, press right or left
again and it will display another page of text.  One more time and you are
back to the main screen.

The reason behind that particular control/interface setup has to do with
the fact that the player will be able to use either joystick or paddles.
Since the paddle buttons map to the same bits as joystick left/right,
either the joystick or paddles can be used to start the game.

My next step is to start on one of the three game varieties, which will
be single player joystick first.  I expect to post something sort-of
playable kinda in the next week or so.  We'll see.

You can see a jpeg mockup of the game screen here:

http://www.uvm.edu/~jpatters/baubles.jpg

The word ZERO will be scrolling vertically, and will wrap around such that
it never occupies a greater area of the screen then it does in that
picture.  Each round will have a different word, ZERO is just the word for
round zero.  It will use a reflected (obviously) playfield using the mode
where each side of the playfield uses the color of one of the players,
just like in "How to Draw a Playfield".  The player in that mockup is the
blue rectangle in between the "E" and the "R" there, and I will just let
it have the color value of whatever horizontal part of the screen it is
in.  That means the player will be at a disadvantage while it is in the
half of the screen where it will blend in, this is a factor which will be
more meaningful in the two player simultaneous mode.  The green square is
the bauble, which will be moving with the word.  The player must manuver
to collect the bauble without coliding with the word.  At the top starting
from the left, you see the lives indicater, folowed by the time remaining,
and then the level number.  The score will be displayed between rounds.
The player cannot go beyond the blue bounds, so there is a very narrow
safe area at the top and bottom, and then wide safe areas on the sides.
My selection of different words has them getting progressivly wider (not a
monospaced font) so the side safe areas will gradually disappear.  The
clock will tick away faster while the player is in a safe area.  The
bauble will be the ball, so I am hoping that the ball will use the COLUPF
value even when the playfield is in that mode.  If not, well, I will think
of something.

Anyway, I had a question about reading the joystick moves and Game Select
switch.  Currently I am doing something like this:

; ***********************************************************************
SplashCheckSwitches
; Select changes selection mode, controler rl indicates selection made
; ***********************************************************************

  LDA #$0000
  STA PF0
  STA PF1
  STA PF2
  STA COLUPF
  STA COLUBK
  STA Selectionmade

  LDA SWCHA
  AND #%11001100
  CMP #%11001100
  BEQ SCS_NotMoved

  LDA Stickmoved
  BNE SCS_NoStart
  INC Selectionmade

  RTS

SCS_NotMoved

  LDA #$00
  STA Stickmoved

SCS_NoStart

  LDA SWCHB                 ; look at switches.

  AND #%00000010            ; we only care about select at this point.
  BNE SCS_NoSelect          ; is select pressed?

  LDA Selectpressed         ; was select pressed on the previous frame?
  BNE SCS_StillSelect       ; if so, we are done.

  LDX Selectstate           ; increment Selectstate by one.
  INX
  TXA
  AND #%00000011            ; there are only four possible Selectstates.
  STA Selectstate
  LDA #$01                  ; select is pressed now.
  STA Selectpressed

  JMP SCS_StillSelect       ; we are done.

SCS_NoSelect

  LDA #$00                  ; select is not pressed.
  STA Selectpressed

SCS_StillSelect

  RTS

This is all somewhat of a complex attempt to prevent a switch being held
down too long causing the choices to fly by on the screen.  It works, of
course, but is that the best way to acomplish that effect?

--                                         ,
                                         ,@[
                                       ,@@@[
                                     ,@@@@'@@@@'
`@@@@@@@@@@@@@@@@',@@@'            ,@@@@',@@@'
  `@@@@@@@@@@@@',@@@',aa.       ,aa.   ,@@[  ]@@',@@@' ,aa.'aaaaaaa, aa'
    `@@@@@@@@',@@@|@@@@@@@'  ,@@@@@@'  ]@@[  ]',@@@',@@@@@@@''@@@@',@'
      `@@@@',@@@']@7`,@@',@[]@@@@@',@@[]@@[  ]@@[  ]@7`,@@',@[ '@@@'
        `@a@@@'  ]@,@@',@@@[]@@@' ,@@@[]@@[  ]@@[  ]@,@@',@@@[ ,@@@,
          `@'     `@@@@@@@'  `@@@@@@@' ]@@[  ]@@[   `@@@@@@@',@@@',@@,
                     `~'        `~'    `~~'  `~~'      `~'  '~~' ~~~~~'

.....................................GCE Vectrex - Entertaining New Ideas
; Baubles, a game
; by Jake Patterson, September 2001
; This has *not* been tested on actual hardware
;
; parts copied and pasted from:
; How to Draw A Playfield.
; by Nick Bensema  9:23PM  3/2/97
;
	processor 6502
	include vcs.h

	org $F000
       
black			=	$00
Temp			=   $80
Selectstate		=   $90
Colorcounter	=	$91
Selectpressed	=	$92
Selectionmade	=	$93
Stickmoved		=   $94

Start
	SEI  ; Disable interrupts, if there are any.
	CLD  ; Clear BCD math bit.

	LDX  #$FF
	TXS  ; Set stack to beginning.
	
	LDA #0
B1      STA 0,X
	DEX
	BNE B1

; *****************************************************************************
SplashLoop

; *****************************************************************************

	JSR VerticalBlank			; Execute the vertical blank.
	JSR SplashCheckSwitches		; Check Console Switches.
	JSR SplashDrawScreen	    ; Draw the screen
	JSR OverScan				; Do more calculations during overscan
	
	LDA Selectionmade			; Only keep repeating splashscreen if and only
	BEQ SplashLoop				; if no selection has been made.
	
	LDA Selectstate				; Did the user ask for help?
	CMP #%00000011
	BEQ HelpLoop
	
	JMP GameLoop				; Apparantly not, so lets go on to the game!
	
; *****************************************************************************
HelpLoop

; *****************************************************************************
	
	JSR VerticalBlank
	JSR HelpCheckSwitches
	JSR HelpDrawScreen
	JSR OverScan
	
	LDA Selectstate
	BEQ SplashLoop
	JMP HelpLoop
	
; *****************************************************************************
GameLoop

; *****************************************************************************	

	JSR VerticalBlank
	JSR GameCheckSwitches
;	JSR GameGameCalc
	JSR GameDrawScreen
	JSR OverScan
	
	LDA Selectstate
	BEQ SplashLoop
	JMP GameLoop
		
; *****************************************************************************
VerticalBlank

; *****************************************************************************

	LDX  #0
	LDA  #2
	STA  WSYNC  
	STA  WSYNC
	STA  WSYNC
	STA  VSYNC ;Begin vertical sync.
	STA  WSYNC ; First line of VSYNC
	STA  WSYNC ; Second line of VSYNC.

	LDA  #44
	STA  TIM64T

	LDA #0
	STA CXCLR

	STA  WSYNC ; Third line of VSYNC.
	STA  VSYNC ; (0)

	RTS  

; *****************************************************************************
SplashCheckSwitches
; Select changes selection mode, controler rl indicates selection made
; *****************************************************************************
	
	LDA #$0000
	STA PF0
	STA PF1
	STA PF2
	STA COLUPF
	STA COLUBK
	STA Selectionmade
	
	LDA SWCHA
	AND #%11001100
	CMP #%11001100
	BEQ SCS_NotMoved
		
	LDA Stickmoved
	BNE SCS_NoStart
	INC Selectionmade
	
	RTS
	
SCS_NotMoved

	LDA #$00
	STA Stickmoved
	
SCS_NoStart
	
	LDA SWCHB					; look at switches.

	AND #%00000010				; we only care about select at this point.
	BNE SCS_NoSelect			; is select pressed?
	
	LDA Selectpressed			; was select pressed on the previous frame?
	BNE SCS_StillSelect			; if so, we are done.

	LDX Selectstate				; increment Selectstate by one.
	INX
	TXA
	AND #%00000011				; there are only four possible Selectstates.
	STA Selectstate				
	LDA #$01					; select is pressed now.
	STA Selectpressed
	
	JMP SCS_StillSelect			; we are done.
	
SCS_NoSelect

	LDA #$00					; select is not pressed.
	STA Selectpressed
	
SCS_StillSelect
		
	RTS

; *****************************************************************************
HelpCheckSwitches
; controler rl should go to next page of help.
; *****************************************************************************
	
	LDA #$0000
	STA PF0
	STA PF1
	STA PF2
	STA COLUPF
	STA COLUBK
	
	LDA SWCHA					; look at the stick.

	AND #%11001100				; we only care about right and left.
	CMP #%11001100				; is the stick being moved?
	BEQ HCS_NoMove				
	
	LDA Stickmoved				; was the stick being moved on the prev frame?
	BNE HCS_StillMoved			; if so, we are done.

	DEC Selectstate				; decrement Selectstate by one.
	LDA #$01					; the stick is being moved now.
	STA Stickmoved
	
	JMP HCS_StillMoved			; we are done.
	
HCS_NoMove

	LDA #$00					; the stick is currently not being moved.
	STA Stickmoved
	
HCS_StillMoved

	RTS
	
; *****************************************************************************
GameCheckSwitches
; Select should go immediately back to splash, controlers to be read elsewhere
; *****************************************************************************
	
	LDA #$0000
	STA PF0
	STA PF1
	STA PF2
	STA COLUPF
	STA COLUBK
	
	LDA SWCHB
	AND #%00000010
	BNE GameStayPut
	LDA #%0000000
	STA Selectstate
	LDA #%0000001
	STA Selectpressed
	
GameStayPut

	RTS
	
; *****************************************************************************
SplashDrawScreen

; *****************************************************************************

; *************************************** 0th through 51st scanlines (52 total)

	LDY #48
	
SplashTopLines

	LDA #black
	STA COLUBK
	STA COLUPF
	STA PF0
	STA PF1
	STA PF2

	STA WSYNC

	DEY								; [0]  + 2
	BNE SplashTopLines				; [2]  + 3

; ************************************* 53rd through 128th scanlines (76 total)

	LDY #76							; [5]  + 2

TopSplash

	DEY								; [54] + 2
	TYA								; [56] + 2
	LSR								; [58] + 2		divide by 4
	LSR								; [60] + 2
	TAX								; [62] + 2
	
	STA WSYNC						; [64]

	LDA TopSplashColorData,X		; [0]  + 4
	STA COLUPF						; [4]  + 3
	LDA TopSplashPF0Data,X			; [7]  + 4
	STA PF0							; [11] + 3
	LDA TopSplashPF1Data,X			; [14] + 4
	STA PF1							; [18] + 3
	LDA TopSplashPF2Data,X			; [21] + 4
	STA PF2							; [25] + 3
	LDA TopSplashPF3Data,X			; [28] + 4
	STA PF0							; [32] + 3
	LDA TopSplashPF4Data,X			; [35] + 4
	STA PF1							; [39] + 3
	LDA TopSplashPF5Data,X			; [42] + 4
	STA PF2							; [46] + 3

	TYA								; [49] + 2
	BNE TopSplash					; [51] + 3
	
	STA WSYNC						; [53]
	
; ************************************ 129th through 144th scanlines (16 total)

	LDY #16
	
MidLines

	LDA #black
	STA COLUBK
	STA COLUPF
	STA PF0
	STA PF1
	STA PF2

	STA WSYNC

	DEY								; [0]  + 2
	BNE MidLines					; [2]  + 3

; ************************************ 145th through 208th scanlines (64 total)

	LDY #64							; [5]  + 2
	LDA Colorcounter				; [7]  + 2
	STA Temp						; [9]  + 3
	
BaublesSplash

	DEY								; [57] + 5
	TYA								; [62] + 2
	LSR								; [64] + 2		divide by 8
	LSR								; [66] + 2
	LSR								; [68] + 2
	TAX								; [70] + 2
	
	STA WSYNC						; [72]

	LDA Temp						; [0]  + 2
	STA COLUPF						; [2]  + 3
	LDA BaublesSplashPF0,X			; [5]  + 4
	STA PF0							; [9]  + 3
	LDA BaublesSplashPF1,X			; [12] + 4
	STA PF1							; [16] + 3
	LDA BaublesSplashPF2,X			; [19] + 4
	STA PF2							; [23] + 3
	LDA BaublesSplashPF3,X			; [26] + 4
	STA PF0							; [30] + 3
	LDA BaublesSplashPF4,X			; [33] + 4
	STA PF1							; [37] + 3
	LDA BaublesSplashPF5,X			; [40] + 4
	INC Temp						; [44] + 5
	STA PF2							; [49] + 3

	TYA								; [52] + 2
	BNE BaublesSplash				; [54] + 3
	
	STA WSYNC						; [53]
	
	INC Colorcounter
	
; ************************************ 209th through 244th scanlines (36 total)

	LDA #black
	STA COLUBK
	STA COLUPF
	STA PF0
	STA PF1
	STA PF2
	
	STA WSYNC
	STA WSYNC
	STA WSYNC
	STA WSYNC
	STA WSYNC
	
	LDY #28
	
SelectLoop

	DEY								; [54] + 2
	TYA								; [56] + 2
	AND #%11111100					; [58] + 2
	ORA Selectstate					; [60] + 3
	TAX								; [63] + 2
	
	STA WSYNC						; [65]
	
	LDA SelectDataColor,X			; [0]  + 4
	STA COLUPF						; [4]  + 3
	LDA SelectDataPF0,X				; [7]  + 4
	STA PF0							; [11] + 3
	LDA SelectDataPF1,X				; [14] + 4
	STA PF1							; [18] + 3
	LDA SelectDataPF2,X				; [21] + 4
	STA PF2							; [25] + 3
	LDA SelectDataPF3,X				; [28] + 4
	STA PF0							; [32] + 3
	LDA SelectDataPF4,X				; [35] + 4
	STA PF1							; [39] + 3
	LDA SelectDataPF5,X				; [42] + 4
	STA PF2							; [46] + 3
	
	TYA								; [49] + 2
	BNE SelectLoop					; [51] + 3
	
	STA WSYNC
	
	LDA #black
	STA COLUPF
	STA COLUBK
	
	STA WSYNC
	STA WSYNC

	RTS	
	
; *****************************************************************************
HelpDrawScreen

; *****************************************************************************

; *************************************** 0th through 51st scanlines (52 total)

	LDY #46
	
HelpTopLines

	LDA #black
	STA COLUBK
	STA COLUPF
	STA PF0
	STA PF1
	STA PF2

	STA WSYNC

	DEY								; [0]  + 2
	BNE HelpTopLines				; [2]  + 3
	
; ************************************ 52nd through 243rd scanlines (192 total)

	LDA Selectstate
	AND #%00000010
	BNE HelpFirstPage
	JMP HelpSecondPage
	
HelpFirstPage	; *************************************************************

	LDY #168
	
HFPFirstLoop

	DEY
	TYA
	LSR
	LSR
	TAX
	
	STA WSYNC
	
	LDA HelpPageColors,X
	STA COLUPF
	LDA HelpFirstPagePF0,X
	STA PF0
	LDA HelpFirstPagePF1,X
	STA PF1
	LDA HelpFirstPagePF2,X
	STA PF2
	LDA HelpFirstPagePF3,X
	STA PF0
	LDA HelpFirstPagePF4,X
	STA PF1
	LDA HelpFirstPagePF5,X
	STA PF2
	
	TYA
	BNE HFPFirstLoop
	
	LDY #28
	
HFPSecondLoop

	DEY
	TYA
	LSR
	LSR
	TAX
	
	STA WSYNC
	
	LDA HelpPageColors,X
	STA COLUPF
	LDA HBottFirstPagePF0,X
	STA PF0
	LDA HBottFirstPagePF1,X
	STA PF1
	LDA HBottFirstPagePF2,X
	STA PF2
	LDA HBottFirstPagePF3,X
	STA PF0
	LDA HBottFirstPagePF4,X
	STA PF1
	LDA HBottFirstPagePF5,X
	STA PF2
	
	TYA
	BNE HFPSecondLoop
	
	RTS

HelpSecondPage	; *************************************************************

	LDY #168
	
HSPFirstLoop

	DEY
	TYA
	LSR
	LSR
	TAX
	
	STA WSYNC
	
	LDA HelpPageColors,X
	STA COLUPF
	LDA HelpSecondPagePF0,X
	STA PF0
	LDA HelpSecondPagePF1,X
	STA PF1
	LDA HelpSecondPagePF2,X
	STA PF2
	LDA HelpSecondPagePF3,X
	STA PF0
	LDA HelpSecondPagePF4,X
	STA PF1
	LDA HelpSecondPagePF5,X
	STA PF2
	
	TYA
	BNE HSPFirstLoop
	
	LDY #28
	
HSPFSecondLoop

	LDA #black
	STA COLUBK
	STA COLUPF
	STA PF0
	STA PF1
	STA PF2

	STA WSYNC

	DEY								; [0]  + 2
	BNE HSPFSecondLoop				; [2]  + 3

	RTS

; *****************************************************************************
GameDrawScreen

; *****************************************************************************

; *************************************** 0th through 51st scanlines (52 total)

	LDY #48
	
GameTopLines

	LDA #black
	STA COLUBK
	STA COLUPF
	STA PF0
	STA PF1
	STA PF2

	STA WSYNC

	DEY								; [0]  + 2
	BNE GameTopLines				; [2]  + 3
	
; *****************************************************************************

	RTS
		
; *****************************************************************************
OverScan

; *****************************************************************************

	LDX #30
KillLines
	 STA WSYNC
	 DEX
	 BNE KillLines
	RTS

; *****************************************************************************
; Graphics Data

; *****************************************************************************
	
	org $FC00		; 133 + 42 + 42 = 217 bytes in this page so far, max = 256
	
HBottFirstPagePF0

	.byte %00000000, %00000000, %10000000, %01000000
	.byte %01000000, %10000000, %00000000

HBottFirstPagePF1

	.byte %00000000, %00000000, %10010010, %10101010
	.byte %10101011, %10101010, %10000001

HBottFirstPagePF2

	.byte %00000000, %00100000, %01100101, %10100101
	.byte %10100101, %01100101, %00000100

HBottFirstPagePF3

	.byte %00000000, %00000000, %10100000, %10100000
	.byte %11100000, %10100000, %01000000

HBottFirstPagePF4

	.byte %00000000, %00000000, %00110011, %01010101
	.byte %01010101, %00110011, %00010001

HBottFirstPagePF5

	.byte %00000000, %00000000, %11011010, %10001010
	.byte %11011010, %01001010, %11011010

TopSplashPF0Data		; 19 bytes

	.byte %10000000, %10000000, %10000000, %10000000, %10000000, %00000000
	.byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
	.byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
	.byte %00000000

TopSplashPF1Data		; 19 bytes

	.byte %00010101, %10011001, %01010101, %01010101, %10011001, %00000000
	.byte %00000000, %00000000, %00010001, %00010000, %00101000, %00101000
	.byte %01000101, %00000000, %01110111, %01000100, %01100100, %01000100
	.byte %01110100

TopSplashPF2Data		; 19 bytes

	.byte %10011011, %10100000, %10010001, %10001000, %10110011, %00000000
	.byte %00000000, %00000000, %00111011, %01000001, %00110001, %00001001
	.byte %01110011, %00000000, %00101110, %10100010, %01100110, %10100010
	.byte %00101110

TopSplashPF3Data		; 19 bytes

	.byte %10110000, %10000000, %10010000, %10000000, %10110000, %00000000
	.byte %00000000, %00000000, %01110000, %00100000, %00100000, %00100000
	.byte %01110000, %00000000, %10010000, %10000000, %10000000, %10000000
	.byte %11010000

TopSplashPF4Data		; 19 bytes

	.byte %00100100, %00100100, %01100100, %10100100, %00101110, %00000000
	.byte %00000000, %00000000, %01100100, %10010100, %10010101, %10010110
	.byte %01100100, %00000000, %00101001, %00110010, %00101010, %00101010
	.byte %10110001

TopSplashPF5Data		; 19 bytes

	.byte %00010011, %00000100, %00000010, %00010001, %00000110, %00000000
	.byte %00000000, %00000000, %00000010, %00000011, %00000010, %00000010
	.byte %00000010, %00000000, %00000001, %00000010, %00000010, %00000010
	.byte %00000001

TopSplashColorData		; 19 bytes

	.byte $38, $36, $34, $32, $30, $00, $00, $00, $8A, $88
	.byte $86, $84, $82, $00, $8A, $88, $86, $84, $82
	
BaublesSplashPF0		; 7 bytes

	.byte %00000000, %11100000, %00100000, %00100000
	.byte %11100000, %00100000, %00100000, %11100000

BaublesSplashPF1		; 7 bytes

	.byte %00000000, %00100010, %10100010, %10100010
	.byte %00111110, %10100010, %10010100, %00001000

BaublesSplashPF2		; 7 bytes

	.byte %00000000, %11001110, %01010001, %01010001
	.byte %11010001, %01010001, %01010001, %11010001

BaublesSplashPF3		; 7 bytes

	.byte %00000000, %10010000, %10100000, %10100000
	.byte %10010000, %10100000, %10100000, %10010000

BaublesSplashPF4		; 7 bytes

	.byte %00000000, %11101111, %00001000, %00001000
	.byte %00001110, %00001000, %00001000, %00001111

BaublesSplashPF5		; 7 bytes

	.byte %00000000, %00011100, %00100010, %00100000
	.byte %00011100, %00000010, %00100010, %00011100

; *****************************************************************************
	
	org $FD00		; 7 x 28 + 42 = 238 bytes in this page so far, max = 256
	
HelpPageColors			; 6 x 7 = 42 bytes

	.byte $0E, $0C, $0A, $08, $06, $04, $02
	.byte $0E, $0C, $0A, $08, $06, $04, $02
	.byte $0E, $0C, $0A, $08, $06, $04, $02
	.byte $0E, $0C, $0A, $08, $06, $04, $02
	.byte $0E, $0C, $0A, $08, $06, $04, $02
	.byte $0E, $0C, $0A, $08, $06, $04, $02

SelectDataColor

	.byte $0E, $0E, $0E, $0E
	.byte $0C, $0C, $0C, $0C
	.byte $0A, $0A, $0A, $0A
	.byte $08, $08, $08, $08
	.byte $06, $06, $06, $06
	.byte $04, $04, $04, $04
	.byte $02, $02, $02, $02

SelectDataPF0			; 4 x 7 = 28 bytes

;         1P STK     2P STK     1P PDL     HELP

	.byte %00000000, %00000000, %00000000, %00000000
	.byte %01100000, %01100000, %01100000, %01100000
	.byte %01000000, %01000000, %01000000, %01000000
	.byte %01100000, %01100000, %01100000, %01100000
	.byte %00100000, %00100000, %00100000, %00100000
	.byte %01100000, %01100000, %01100000, %01100000
	.byte %00000000, %00000000, %00000000, %00000000
	
SelectDataPF1			; 4 x 7 = 28 bytes

	.byte %00000000, %00000000, %00000000, %00000000
	.byte %11011010, %11011010, %11011010, %11011010
	.byte %10010000, %10010000, %10010000, %10010000
	.byte %11010000, %11010000, %11010000, %11010000
	.byte %10010010, %10010010, %10010010, %10010010
	.byte %11010000, %11010000, %11010000, %11010000
	.byte %00000000, %00000000, %00000000, %00000000
	
SelectDataPF2			; 4 x 7 = 28 bytes

	.byte %00000000, %00000000, %00000000, %00000000
	.byte %00010111, %00010111, %00010111, %10110101
	.byte %00010010, %00010010, %00010010, %10010101
	.byte %00110010, %00110100, %00110010, %10110111
	.byte %01010011, %01010101, %01010011, %10010101
	.byte %00110010, %00110010, %00110010, %10110101
	.byte %00000000, %00000000, %00000000, %00000000
	
SelectDataPF3			; 4 x 7 = 28 bytes

	.byte %00000000, %00000000, %00000000, %00000000
	.byte %10110000, %10110000, %10110000, %01010000
	.byte %10010000, %10010000, %10010000, %01000000
	.byte %10010000, %10010000, %10010000, %11000000
	.byte %10010000, %10010000, %10010000, %01000000
	.byte %10010000, %10010000, %10010000, %11000000
	.byte %00000000, %00000000, %00000000, %00000000
	
SelectDataPF4			; 4 x 7 = 28 bytes

	.byte %00010000, %00010000, %00010000, %00000000
	.byte %01010110, %01010110, %01010100, %00000000
	.byte %01010010, %01010010, %01010100, %00000000
	.byte %10010110, %10010110, %10010110, %00000000
	.byte %01010100, %01010100, %01010101, %10000000
	.byte %10010110, %10010110, %10010110, %00000000
	.byte %00010000, %00010000, %00010000, %00000000

SelectDataPF5			; 4 x 7 = 28 bytes

	.byte %00000000, %00000000, %00000000, %00000000
	.byte %01010010, %01010010, %01100110, %00000000
	.byte %01010010, %01010010, %00101010, %00000000
	.byte %00110010, %00110010, %00101010, %00000000
	.byte %01010010, %01010010, %00101010, %00000000
	.byte %01010111, %01010111, %00100110, %00000000
	.byte %00000000, %00000000, %00000000, %00000000
	
; *****************************************************************************

	org $FE00		; 0 bytes in this page so far, max = 256
	
HelpSecondPagePF0

	.byte %00000000, %00000000, %01000000, %10100000, %10100000, %10100000
	.byte %00000000, %00000000, %00000000, %01000000, %01000000, %01000000
	.byte %11100000, %01000000, %00000000, %00000000, %01000000, %01000000
	.byte %01000000, %11100000, %01000000, %00000000, %00000000, %01100000
	.byte %10100000, %10100000, %01100000, %00100000, %00000000, %00000000
	.byte %01100000, %00100000, %00100000, %01100000, %00000000, %00000000
	.byte %00000000, %01010000, %01010000, %11010000, %11000000, %00010000

HelpSecondPagePF1

	.byte %00000000, %00000000, %10010101, %01010101, %01011101, %01010101
	.byte %00001001, %00000000, %00000000, %01010010, %01010100, %01110111
	.byte %01000101, %01000010, %00000000, %00000000, %01010101, %01010101
	.byte %01010101, %00011110, %01010000, %00000000, %00000000, %01010010
	.byte %01010101, %01110101, %01010101, %00100000, %00000000, %00000000
	.byte %01001010, %10101010, %10101010, %10101010, %01001010, %00000000
	.byte %00001000, %10000101, %10001101, %10010101, %00010101, %00001000

HelpSecondPagePF2

	.byte %00000000, %00000000, %00011010, %00010010, %00011010, %00001010
	.byte %00011010, %00000000, %00000000, %10101000, %10101000, %10101000
	.byte %01111000, %00001000, %00000000, %00010000, %00100100, %00100010
	.byte %00001110, %00001010, %00000100, %00000000, %00000000, %00100110
	.byte %10101010, %10101010, %10100110, %00100010, %00000000, %00000000
	.byte %00110010, %00010001, %00010111, %10110101, %00000010, %00000000
	.byte %00000000, %10101010, %10101010, %10101011, %01111010, %00001001

HelpSecondPagePF3

	.byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
	.byte %00000000, %00000000, %00000000, %01000000, %10100000, %10100000
	.byte %10100000, %01000000, %00000000, %00000000, %01010000, %01010000
	.byte %01110000, %01010000, %00100000, %00000000, %00000000, %10010000
	.byte %00000000, %10110000, %10100000, %10010000, %00000000, %00000000
	.byte %00010000, %00010000, %00010000, %00110000, %00010000, %00000000
	.byte %00000000, %01000000, %00100000, %11100000, %10100000, %01000000

HelpSecondPagePF4

	.byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
	.byte %00000000, %00000000, %00000000, %00100101, %01010101, %01010101
	.byte %01010001, %00000100, %00000000, %00000000, %01000100, %10101010
	.byte %10101010, %10101010, %00000100, %00000000, %00000000, %10001010
	.byte %10001010, %10001011, %00000011, %10001000, %00000000, %00000000
	.byte %00100101, %00100101, %00100111, %01110100, %00100100, %00000000
	.byte %00100000, %00110010, %00101010, %00101010, %00110010, %00000010

HelpSecondPagePF5

	.byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
	.byte %00000000, %00000000, %00010000, %00100010, %00110010, %00101011
	.byte %00101001, %00010000, %00000000, %00000000, %00011001, %00010101
	.byte %00010101, %00011000, %00010001, %00000000, %00000000, %00000001
	.byte %00000001, %00000001, %00000000, %00000000, %00000000, %00000000
	.byte %00000100, %00000010, %00001110, %00001010, %00000100, %00000000
	.byte %01000000, %01100101, %01010101, %01010111, %01010101, %00000010

; *****************************************************************************

	org $FF00		; 6 * 6 * 7 = 252 bytes in this page, max = 252
	
HelpFirstPagePF0

	.byte %00000000, %00000000, %10000000, %01000000, %01000000, %01000000
	.byte %00000000, %00000000, %00000000, %01000000, %01000000, %01000000
	.byte %11000000, %01000000, %00000000, %00000000, %11000000, %10010000
	.byte %10010000, %11000000, %10000000, %00000000, %01000000, %11000000
	.byte %01000000, %01000000, %11000000, %00000000, %00000000, %00000000
	.byte %11000000, %01010000, %01010000, %11000000, %00000000, %00000000
	.byte %00000000, %01010000, %01010000, %11010000, %11000000, %00010000

HelpFirstPagePF1

	.byte %00000000, %00000000, %00110010, %10010100, %10110111, %10100101
	.byte %00110010, %00000000, %00000000, %10100100, %10101010, %10101010
	.byte %11001010, %00000100, %00000000, %00010000, %10011001, %00010101
	.byte %00010101, %00011001, %00000001, %00000000, %00000000, %00101010
	.byte %10101010, %10101110, %00101010, %00100100, %00000000, %00000000
	.byte %01010010, %01010101, %01110101, %01000101, %01000010, %00000000
	.byte %00000000, %10110010, %10010010, %10110010, %00100111, %00110010

HelpFirstPagePF2

	.byte %00000000, %00000000, %10011000, %10010000, %10011000, %11001000
	.byte %10011000, %00000000, %00000000, %00100110, %00010101, %01110101
	.byte %01010110, %00100100, %00000000, %00000000, %01001010, %01001010
	.byte %01001110, %10101010, %10100100, %00000000, %00000000, %00100010
	.byte %00010010, %01110010, %01010101, %00100101, %00000000, %00000000
	.byte %01100100, %01001010, %01101010, %00101010, %01100100, %00000000
	.byte %00000000, %00100010, %01010010, %01010010, %01010110, %00000010

HelpFirstPagePF3

	.byte %00000000, %00000000, %01000000, %01000000, %01000000, %00010000
	.byte %01000000, %00000000, %00000000, %11000000, %01000000, %01000000
	.byte %11000000, %00000000, %00000000, %00000000, %01000000, %00100000
	.byte %11100000, %10100000, %01000000, %00000000, %00000000, %10010000
	.byte %00010000, %10110000, %10010000, %10000000, %00000000, %00000000
	.byte %00100000, %00010000, %01110000, %01010000, %00100000, %00000000
	.byte %00000000, %00110000, %00010000, %00010000, %10110000, %00000000

HelpFirstPagePF4

	.byte %00000000, %00000000, %11010100, %10010100, %10011000, %11010100
	.byte %00010100, %00000000, %00000000, %01010101, %01010101, %01110111
	.byte %01010110, %00100000, %00000000, %00000000, %01000000, %01000000
	.byte %01000000, %01100000, %01000000, %00000000, %00000000, %10000000
	.byte %10000000, %10000000, %00000000, %10000000, %00000000, %00000000
	.byte %01110010, %00100101, %00100101, %01100101, %00100010, %00000000
	.byte %00000000, %10010010, %10010101, %10010101, %11000101, %10010010

HelpFirstPagePF5

	.byte %00000000, %00000000, %00100100, %00101010, %00101010, %01101010
	.byte %00100100, %00000000, %00000000, %00000000, %00000000, %00000000
	.byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
	.byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
	.byte %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
	.byte %01110010, %00100010, %01000010, %01010110, %00100010, %00000000
	.byte %00000000, %01101010, %01001010, %01101110, %00100110, %01100000

; *****************************************************************************

	org $FFFC
	.word Start
	.word Start

	org $FF00

Attachment: baubles3.bin
Description: baubles3.bin

Current Thread