NEW
  AUTO 3,1								Enable MASM3 auto line num
				.LIST OFF
				.OP	65C02				Target CPU, must = CPU header level
				.OR	$2000				usualy $2000, any value > $100 ok
				.TF <PATH TO BINARY>	e.g. BIN/MYPROG
*---------------------------------------
				.INB INC/MACROS.I
				.INB INC/A2OSX.I
*---------------------------------------
* Zero Page Segment, up to 32 bytes		(0 filled before INIT)
*---------------------------------------
				.DUMMY
				.OR ZPBIN
ZS.START
* MyPtr			.BS 2
ZS.END			.ED
*---------------------------------------
* File Header (16 Bytes)
*---------------------------------------
CS.START		cld
				jmp (.1,x)
				.DA #$61				6502,Level 1 (65c02)
				.DA #1					BIN Layout Version 1
				.DA #0					S.PS.F.EVENT
				.DA #0
				.DA CS.END-CS.START		Code Size (without Constants)
				.DA DS.END-DS.START		Data SegmentSize
				.DA #64					Stack Size
				.DA #ZS.END-ZS.START	Zero Page Size
				.DA 0
*---------------------------------------
* Relocation Table
*---------------------------------------
.1				.DA CS.INIT
				.DA CS.RUN
				.DA CS.DOEVENT		
				.DA	CS.QUIT
* Add any address you want be relocated by loader
* Usefull if you have to pass EFFECTIVE address to an API call... 
* L.MSG.Test	.DA Msg.Test

				.DA 0
*---------------------------------------
* Called once at process creation
* Put code for loading LIB here
*---------------------------------------
CS.INIT			clc
				rts
*---------------------------------------
* Called until exit with CS
* if RUN exits with CC, RUN entered again
*---------------------------------------
CS.RUN			
* Put your code here
* 				>LDYA L.MSG.Test		Load EFFECTIVE address
*				>SYSCALL puts			Call API to print a string
.8				lda #0					Exit Code = Succes 
				sec						QUIT Process
				rts
.9				lda #E.SYN				Exit Code = Succes 
				sec						QUIT Process
				rts
*---------------------------------------
* Called if option S.PS.F.EVENT enabled in Header
* Timer Event : every 10th seconds
*---------------------------------------
CS.DOEVENT		sec
				rts
*---------------------------------------
* Called once, when RUN exited with CS
* Put code for unloading LIB here
*---------------------------------------
CS.QUIT			clc
				rts
*---------------------------------------
CS.END
*---------------------------------------
* Initialized DATA
*---------------------------------------
* Put your constant here :
* MSG.TEST		.AZ "Test Message"
*---------------------------------------
* Per Process DATA segment	 			(0 filled before INIT)
*---------------------------------------
				.DUMMY
				.OR 0
DS.START
DS.END
				.ED
*---------------------------------------
MAN
SAVE USR/SRC/BIN<MYPROG.S>				Save this source file
ASM
