	.module sysInit.c
	.area text
;             id -> -2,x
_sysInit::
	pshx
	tfr s,x
	leas -10,sp
; // sysInit.c
; 
; #include <912d60.h>
; #include <stdio.h>
; #include "kernel.h"
; 
; 
; 
; // TASK PROTOTYPES
; int task1(void);
; int task2(void);
; 
; 
; 
; 
; int sysInit(void) {
; 
; 	 // LOCAL VARIABLES
; 	 int id;
; 	 
; 	 
; 	 /* must create all the tasks without interrupt, because this task
; 	 	will die when it finishes.   */
; 	 //INTR_OFF();
; 	 
; 	 
; 	 // set up the serial port
; 	 //setbaud(BAUD38K);	 	  // actually running at 19K baud due to xtal speed
; 	 
; 	 // any additional user setup goes here
; 	 //----------------------------------------
; 	 //|                                      |
; 	 //----------------------------------------
; 		
; 		
; 		
; 	 // create task1	
; 	 if (create_task("dummy", &task1, 18, IDLE, 0) < 0)
	ldd #0
	std 6,sp
	ldd #0
	std 4,sp
	ldd #18
	std 2,sp
	ldd #_task1
	std 0,sp
	ldd #L6
	jsr _create_task
	cpd #0
	bge L4
; 	 	puts("task1 failure");
	ldd #L7
	jsr _puts
L4:
; 	 
; 	 
; 	 // create task2	
; 	 if (create_task("timer", &task2, 0, STOPPED, 255) < 0)
	ldd #255
	std 6,sp
	ldd #4
	std 4,sp
	ldd #0
	std 2,sp
	ldd #_task2
	std 0,sp
	ldd #L10
	jsr _create_task
	cpd #0
	bge L8
; 	 	puts("task2 failure");
	ldd #L11
	jsr _puts
L8:
; 		
; 		
; 	 // create the COM2 mutex
; 	 if (create_mutex(COM2, "COM2") < 0)
	ldd #L14
	std 0,sp
	ldd #4
	jsr _create_mutex
	cpd #0
	bge L12
; 	 	puts("COM1 failure");
	ldd #L15
	jsr _puts
L12:
; 
; 	 
; 	 return 0;
	ldd #0
L3:
	tfr x,s
	pulx
	.dbline 0 ; func end
	rts
L15:
	.byte 'C,'O,'M,49,32,'f,'a,'i,'l,'u,'r,'e,0
L14:
	.byte 'C,'O,'M,50,0
L11:
	.byte 't,'a,'s,'k,50,32,'f,'a,'i,'l,'u,'r,'e,0
L10:
	.byte 't,'i,'m,'e,'r,0
L7:
	.byte 't,'a,'s,'k,49,32,'f,'a,'i,'l,'u,'r,'e,0
L6:
	.byte 'd,'u,'m,'m,'y,0

