# HG changeset patch # User Shinji KONO # Date 1532256066 -32400 # Node ID fc10b7ae23d05143ba0e3ff42f41587403f0c0d0 # Parent fe88cea67ef0f1f6ea3fb61add70e7a3536c6965 clock level2 worked diff -r fe88cea67ef0 -r fc10b7ae23d0 io.c --- a/io.c Sun Jul 22 17:55:06 2018 +0900 +++ b/io.c Sun Jul 22 19:41:06 2018 +0900 @@ -405,9 +405,9 @@ fcntl(0, F_SETFL, tflags | O_NDELAY); /* Make input from stdin non-blocking */ signal(SIGALRM, timehandler); timercontrol.it_interval.tv_sec = 0; - timercontrol.it_interval.tv_usec = 200000; + timercontrol.it_interval.tv_usec = 2000000; timercontrol.it_value.tv_sec = 0; - timercontrol.it_value.tv_usec = 200000; + timercontrol.it_value.tv_usec = 2000000; if (timer) setitimer(ITIMER_REAL, &timercontrol, NULL); } diff -r fe88cea67ef0 -r fc10b7ae23d0 os9/level1/clock.asm --- a/os9/level1/clock.asm Sun Jul 22 17:55:06 2018 +0900 +++ b/os9/level1/clock.asm Sun Jul 22 19:41:06 2018 +0900 @@ -48,7 +48,8 @@ ldb #$8f start timer stb ,x L00B4 - jmp [>D.SvcIRQ] + jsr [>D.SvcIRQ] + rti ClkEnt equ * ldd #59*256+$01 last second and last tick @@ -66,8 +67,8 @@ leay TimerPort -L00AE jsr [>D.Poll] - bcc L00AE -L00B4 jsr [>D.AltIRQ] - rti + jmp [>D.Clock] + +TkPerTS equ 2 ClkEnt equ * pshs cc @@ -57,6 +67,13 @@ * install system calls leay >SysTbl,pcr os9 F$SSvc + ldd #59*256+TkPerTS last second and time slice in minute + std