;**************************************************************
; MPFSImg2.s
; Defines an MPFS2 image to be stored in program memory.
; Defined in ASM30 assembly for optimal storage size.
;
; NOT FOR HAND MODIFICATION
; This file is automatically generated by the MPFS2 Utility
; ALL MODIFICATIONS WILL BE OVERWRITTEN BY THE MPFS2 GENERATOR
; Generated Wednesday, June 17, 2009 4:59:36 PM
;**************************************************************

.equ VALID_ID,0
.ifdecl __dsPIC30F
    .include "p30fxxxx.inc"
.endif
.ifdecl __dsPIC33F
    .include "p33fxxxx.inc"
.endif
.ifdecl __PIC24H
    .include "p24hxxxx.inc"
.endif
.ifdecl __PIC24F
    .include "p24fxxxx.inc"
.endif
.if VALID_ID <> 1
    .error "Processor ID not specified in generic include files.  New ASM30 assembler needs to be downloaded?"
.endif
	.text
	.section	MPFSData,code

	goto END_OF_MPFS	; Prevent accidental execution of constant data.
	.global BEGIN_MPFS
BEGIN_MPFS:
	.pbyte	0x4d,0x50,0x46,0x53,0x02,0x01,0x01,0x00,0x0a,0xa3,0x20,0x00
	.pbyte	0x00,0x00,0x2a,0x00,0x00,0x00,0x65,0x01,0x00,0x00,0x6b,0xff
	.pbyte	0x33,0x4a,0x00,0x00,0x00,0x00,0x01,0x00,0x69,0x6e,0x64,0x65
	.pbyte	0x78,0x2e,0x68,0x74,0x6d,0x00,0x1f,0x8b,0x08,0x00,0x00,0x00
	.pbyte	0x00,0x00,0x04,0x00,0xed,0xbd,0x07,0x60,0x1c,0x49,0x96,0x25
	.pbyte	0x26,0x2f,0x6d,0xca,0x7b,0x7f,0x4a,0xf5,0x4a,0xd7,0xe0,0x74
	.pbyte	0xa1,0x08,0x80,0x60,0x13,0x24,0xd8,0x90,0x40,0x10,0xec,0xc1
	.pbyte	0x88,0xcd,0xe6,0x92,0xec,0x1d,0x69,0x47,0x23,0x29,0xab,0x2a
	.pbyte	0x81,0xca,0x65,0x56,0x65,0x5d,0x66,0x16,0x40,0xcc,0xed,0x9d
	.pbyte	0xbc,0xf7,0xde,0x7b,0xef,0xbd,0xf7,0xde,0x7b,0xef,0xbd,0xf7
	.pbyte	0xba,0x3b,0x9d,0x4e,0x27,0xf7,0xdf,0xff,0x3f,0x5c,0x66,0x64
	.pbyte	0x01,0x6c,0xf6,0xce,0x4a,0xda,0xc9,0x9e,0x21,0x80,0xaa,0xc8
	.pbyte	0x1f,0x3f,0x7e,0x7c,0x1f,0x3f,0x22,0x1e,0xcf,0xdb,0x45,0x79
	.pbyte	0xf4,0x1b,0x27,0x3f,0xf6,0x78,0x9e,0x67,0x33,0xfc,0xf2,0x63
	.pbyte	0x8f,0xdb,0xa2,0x2d,0xf3,0xa3,0xe7,0xd9,0x24,0xdd,0x1d,0xa5
	.pbyte	0xa7,0x8b,0x49,0x3e,0x9b,0xe5,0xb3,0xf4,0xcd,0xc9,0xcb,0xbb
	.pbyte	0x67,0x2f,0xd3,0x2f,0xaa,0x65,0xd1,0x56,0x75,0x9a,0x2d,0x67
	.pbyte	0xe9,0x49,0xb5,0x6c,0xeb,0xaa,0x4c,0xcf,0xce,0x46,0xe9,0x17
	.pbyte	0x59,0xd3,0xe6,0xf5,0xc7,0x4d,0xba,0xb7,0xb3,0xf3,0x30,0x7d
	.pbyte	0x7c,0x57,0x80,0x00,0xf0,0x5d,0x85,0x8c,0xdf,0x27,0xd5,0xec
	.pbyte	0x5a,0x7e,0xfd,0xb1,0xc7,0xe7,0x55,0xbd,0x48,0xb3,0x69,0x5b
	.pbyte	0x54,0xcb,0xcf,0x3e,0x2a,0x96,0xb3,0xfc,0xdd,0x98,0x90,0xf9
	.pbyte	0x28,0x5d,0xe4,0xed,0xbc,0x9a,0x7d,0xf6,0xd1,0xaa,0x6a,0xda
	.pbyte	0x8f,0xa8,0x71,0x9a,0xfe,0x18,0xb5,0x9e,0x1c,0x9d,0x2e,0xa9
	.pbyte	0x83,0x74,0x96,0xb5,0x59,0x3a,0xc9,0xcb,0xea,0xea,0xd1,0xe3
	.pbyte	0xbb,0x93,0xa3,0xc7,0x93,0x9a,0xff,0x4f,0xcd,0xd0,0xaa,0x58
	.pbyte	0xae,0xd6,0x6d,0xda,0x5e,0xaf,0xf2,0xcf,0x3e,0x6a,0xf3,0x77
	.pbyte	0xed,0x47,0xe9,0x32,0x5b,0xd0,0xef,0xcb,0x62,0xfa,0x16,0xbf
	.pbyte	0x7d,0x94,0x5e,0x66,0xe5,0x9a,0x3e,0x78,0x61,0x3e,0xf0,0x21
	.pbyte	0x6c,0x04,0x71,0x4e,0xa8,0x56,0xc5,0xcc,0x42,0x10,0x74,0xb2
	.pbyte	0xf4,0x99,0x7e,0xbe,0x11,0x50,0xb3,0x9e,0x2c,0x8a,0xd6,0xbe
	.pbyte	0xfb,0x5a,0xfe,0x14,0x72,0xdf,0x05,0x21,0x94,0x3e,0x77,0x95
	.pbyte	0x40,0x44,0x34,0xcc,0xcb,0xff,0x03,0x85,0x75,0x28,0x37,0x9e
	.pbyte	0x01,0x00,0x00,0x00
END_OF_MPFS:

	.section	.const,psv
	.global	_MPFS_Start
_MPFS_Start:
	.long	paddr(BEGIN_MPFS)

	.section	MPFSHelpers,code

	.global _ReadProgramMemory
_ReadProgramMemory:
	push		_TBLPAG
	mov			w1,_TBLPAG
	mov			w0,w5
	tblrdl		[w5],w0
	tblrdh		[w5],w1
	pop			_TBLPAG
	return
