;**************************************************************
; 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 Thursday, June 18, 2009 7:27:12 AM
;**************************************************************

.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,0xba,0x01,0x00,0x00,0x0f,0x4d
	.pbyte	0x3a,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,0x97,0x55,0xd3,0xa6,0xa7,0xef
	.pbyte	0xb2,0xc5,0xaa,0xcc,0x47,0xe9,0x17,0xc5,0xb4,0xae,0xa6,0xf3
	.pbyte	0x62,0x95,0x7e,0xfb,0xcd,0x9b,0x97,0xe9,0x5e,0xfa,0x3a,0xaf
	.pbyte	0x2f,0xf3,0x9a,0xbe,0xc8,0x9a,0x36,0xaf,0x3f,0x6e,0xd2,0xbd
	.pbyte	0x9d,0x9d,0x87,0xe9,0xe3,0xbb,0xf2,0x32,0x00,0xde,0x55,0x88
	.pbyte	0xf8,0x7d,0x52,0xcd,0xae,0xe5,0xd7,0x1f,0x7b,0x7c,0x5e,0xd5
	.pbyte	0x8b,0x34,0x9b,0xb6,0x45,0xb5,0xfc,0xec,0xa3,0x62,0x39,0xcb
	.pbyte	0xdf,0x8d,0x09,0x89,0x8f,0xd2,0x45,0xde,0xce,0xab,0xd9,0x67
	.pbyte	0x1f,0xad,0xa8,0xe3,0x8f,0x18,0x93,0x94,0x9e,0xc7,0xf3,0xbd
	.pbyte	0xa3,0xe7,0xd9,0x24,0xdd,0x23,0x78,0x7b,0xf4,0x69,0x9a,0xfe
	.pbyte	0x18,0xc1,0x98,0x1c,0x9d,0x2e,0xa9,0xdb,0xf4,0xba,0x5a,0xd7
	.pbyte	0xe9,0x32,0x5b,0x10,0x86,0x17,0x39,0x81,0x22,0x84,0xe6,0x79
	.pbyte	0x71,0x31,0x6f,0x47,0xe9,0x15,0xff,0x4c,0xb3,0xe5,0x2c,0xcd
	.pbyte	0xaf,0xf3,0x74,0x5a,0x95,0x55,0x9d,0x4e,0xf2,0xb2,0xba,0x7a
	.pbyte	0xf4,0xf8,0xee,0xe4,0xe8,0xf1,0xa4,0xe6,0xff,0x13,0x44,0x00
	.pbyte	0x2c,0x96,0xab,0x75,0x9b,0xb6,0xd7,0xab,0xfc,0xb3,0x8f,0xda
	.pbyte	0xfc,0x5d,0xfb,0x51,0x9a,0x2e,0xb2,0x77,0x65,0xbe,0xbc,0x68
	.pbyte	0xe7,0xe9,0x67,0xe9,0x47,0xfb,0x07,0x1f,0xa5,0x4d,0xf1,0x03
	.pbyte	0xfa,0x16,0xbf,0xa1,0xc7,0xcf,0x3e,0xc2,0xbf,0x1f,0xa5,0x97
	.pbyte	0x59,0xb9,0xa6,0x3f,0x5e,0xe0,0x0f,0x1f,0xea,0xd7,0x06,0x2b
	.pbyte	0x03,0xb1,0x80,0x3f,0x97,0x3f,0xbf,0x11,0xd0,0x42,0x1b,0x0b
	.pbyte	0xfa,0xdb,0xf2,0xe7,0x37,0x02,0xfa,0x2a,0x04,0xfd,0xdd,0x6f
	.pbyte	0x10,0x34,0x4d,0x9f,0x85,0x7b,0x4a,0x53,0x79,0x82,0xa9,0x0c
	.pbyte	0x40,0x77,0x21,0x37,0xeb,0xc9,0xa2,0x70,0xc8,0x7c,0xb5,0x9a
	.pbyte	0x65,0x6d,0x2e,0x3c,0xf5,0xf8,0x2e,0xf8,0x4f,0xd9,0xf2,0xae
	.pbyte	0xf2,0x25,0xf1,0x16,0xc4,0xe0,0xff,0x01,0xf3,0x96,0xfc,0xc7
	.pbyte	0x0d,0x03,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
