[stella] Help! Technical problem!

Subject: [stella] Help! Technical problem!
From: Jake Patterson <jpatters@xxxxxxxxxxx>
Date: Sun, 9 Sep 2001 15:51:20 -0400 (EDT)
Attached you will find a file named baubles2.asm.  For some reason, when I
try to assemble it with DASM in MPW, I get an error type 2, and MPW
"unexpectidly quits".  After that happens, in order to get DASM to
assemble anything at all, I have to do three things:  throw away the MPW
preferences, replace the DASM tool in the MPW folder with an uncorrupted
copy, and restart my Powerbook.  It will then work normally for other asm
files, but my latest version of baubles will make it go boom.

After it crashes, if I attempt to assemble a different (valid) file, I
get:

### MPW Shell - Unable to load code fragment "dasm" of "Ryoga
Hibiki:Metrowerks CodeWarrior 6.0:CodeWarrior MPW:MPW:Tools:dasm".
# Fragment container format unknown (OS error -2806)

unless I have first performed the three steps above.

Now, I don't think I did anything particularly weird in baubles2, but I am
obviously inexperienced at this, and I could use some other eyes on that
code.  Any help that you folks can provide would be much appreciated.

; 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

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
	
	LDA SWCHA
	AND #%11001100
	CMP #%11001100
	BEQ NoStart
	
	INC Selectionmade
	
	RTS
	
NoStart
	
	LDA SWCHB					; look at switches.

	AND #%00000010				; we only care about select at this point.
	BNE NoSelect				; is select pressed?
	
	LDA Selectpressed			; was select pressed on the previous frame?
	BNE 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 StillSelect				; we are done.
	
NoSelect

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

; *****************************************************************************
HelpCheckSwitches
; Select should go immediately back to splash, controler rl move to next screen
; *****************************************************************************
	
	LDA #$0000
	STA PF0
	STA PF1
	STA PF2
	STA COLUPF
	STA COLUBK
	
	LDA SWCHA
	AND #%11001100
	CMP #%11001100
	BEQ NoMove
	
	LDA #%0000001
	STA Selectstate
	
	RTS
	
NoMove

	LDA SWCHB
	AND #%00000010
	BNE HelpStayPut
	LDA #%0000000
	STA Selectstate
	LDA #%0000001
	STA Selectpressed
	
HelpStayPut

	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
	
TopLines

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

	STA WSYNC

	DEY								; [0]  + 2
	BNE TopLines					; [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 #52
	
TopLines

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

	STA WSYNC

	DEY								; [0]  + 2
	BNE TopLines					; [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

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 PF2
	LDA HelpSecondPagePF5, X
	STA PF3
	
	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
	
TopLines

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

	STA WSYNC

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

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

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

	LDX #30
KillLines
	 STA WSYNC
	 DEX
	 BNE KillLines
	RTS

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

; *****************************************************************************
	
	org $FC00		; 19 x 7 + 6 x 7 = 175 bytes in this page so far, max = 256
	
HBottFirstPagePF0

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

HBottFirstPagePF1

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

HBottFirstPagePF2

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

HBottFirstPagePF3

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

HBottFirstPagePF4

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

HBottFirstPagePF5

	.byte $02, $04, $06, $08, $0A, $0C, $0E
	
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 $02, $04, $06, $08, $0A, $0C, $0E
	.byte $02, $04, $06, $08, $0A, $0C, $0E
	.byte $02, $04, $06, $08, $0A, $0C, $0E
	.byte $02, $04, $06, $08, $0A, $0C, $0E
	.byte $02, $04, $06, $08, $0A, $0C, $0E
	.byte $02, $04, $06, $08, $0A, $0C, $0E

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 $02, $04, $06, $08, $0A, $0C, $0E
	.byte $02, $04, $06, $08, $0A, $0C, $0E
	.byte $02, $04, $06, $08, $0A, $0C, $0E
	.byte $02, $04, $06, $08, $0A, $0C, $0E
	.byte $02, $04, $06, $08, $0A, $0C, $0E
	.byte $02, $04, $06, $08, $0A, $0C, $0E

HelpSecondPagePF1

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

HelpSecondPagePF2

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

HelpSecondPagePF3

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

HelpSecondPagePF4

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

HelpSecondPagePF5

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

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

	org $FF00		; 0 bytes in this page so far, max = 252
	
HelpFirstPagePF0

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

HelpFirstPagePF1

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

HelpFirstPagePF2

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

HelpFirstPagePF3

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

HelpFirstPagePF4

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

HelpFirstPagePF5

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

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

	org $FFFC
	.word Start
	.word Start

	org $FF00
Current Thread