220,6 → 220,7 |
hard_task_def_usemath (m); |
pid = task_create("ball", ball, &m, NULL); |
if (pid == NIL) { |
grx_close(); |
sys_shutdown_message("Could not create task <ball> errno=%d", errno); |
sys_abort(errno); |
} |
379,6 → 380,13 |
} |
|
/////////////////////////////////////// |
// called when the system exits |
void byebye(void *arg) { |
grx_close(); |
cprintf("Thanks for playing!\n"); |
} |
|
/////////////////////////////////////// |
int main(int argc, char **argv) { |
HARD_TASK_MODEL m; |
PID pid; |
387,6 → 395,9 |
TIME seme; // used to init the random seed |
PI_mutexattr_t a; // for PI mutex init |
|
// Set the closing function |
sys_atrunlevel(byebye, NULL, RUNLEVEL_BEFORE_EXIT); |
|
// initialize global variables |
setglobals(); |
|
395,6 → 406,15 |
mutex_init(&draw_mutex, &a); |
mutex_init(&list_mutex, &a); |
|
// graphic card Initialization |
if (grx_init() < 1) { |
sys_abort(errno); |
} |
if (grx_open(640, 480, 8) < 0) { |
cprintf("GRX Error\n"); |
sys_abort(errno); |
} |
|
// Draw initial screen layout and menu |
grx_rect(XMIN-RAD-1, YMIN-RAD-1, XMAX+RAD+1, YMAX+RAD+1, yellow); |
grx_text("Scores:", XMIN-RAD-1, 10, magenta, black); |
430,6 → 450,7 |
hard_task_def_usemath (m); |
pid = task_create("paddle1", paddle1, &m, NULL); |
if (pid == NIL) { |
grx_close(); |
sys_shutdown_message("Could not create task <paddle1> errno=%d", errno); |
sys_abort(errno); |
} |
436,7 → 457,6 |
|
hard_task_default_model(m); |
hard_task_def_ctrl_jet (m); |
hard_task_def_level (m,1); |
hard_task_def_wcet (m, P_WCET); |
hard_task_def_mit (m, P_PER); |
hard_task_def_group (m, PGROUP); |
443,6 → 463,7 |
hard_task_def_usemath (m); |
pid = task_create("p2ai", p2ai, &m, NULL); |
if (pid == NIL) { |
grx_close(); |
sys_shutdown_message("Could not create task <p2ai> errno=%d", errno); |
sys_abort(errno); |
} |
449,7 → 470,6 |
|
hard_task_default_model(m); |
hard_task_def_ctrl_jet (m); |
hard_task_def_level (m,1); |
hard_task_def_wcet (m, P_WCET); |
hard_task_def_mit (m, P_PER); |
hard_task_def_group (m, PGROUP); |
456,6 → 476,7 |
hard_task_def_usemath (m); |
pid = task_create("paddle2", paddle2, &m, NULL); |
if (pid == NIL) { |
grx_close(); |
sys_shutdown_message("Could not create task <paddle2> errno=%d", errno); |
sys_abort(errno); |
} |
469,7 → 490,6 |
|
hard_task_default_model(m); |
hard_task_def_ctrl_jet (m); |
hard_task_def_level (m,1); |
hard_task_def_wcet (m, BALL_WCET); |
hard_task_def_mit (m, BALL_PER); |
hard_task_def_group (m, BALLGROUP); |
476,6 → 496,7 |
hard_task_def_usemath (m); |
pid = task_create("countmon", countmon, &m, NULL); |
if (pid == NIL) { |
grx_close(); |
sys_shutdown_message("Could not create task <countmonitor> errno=%d", errno); |
sys_abort(errno); |
} |