[movitz-cvs] CVS update: movitz/losp/los0.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Tue Sep 21 13:11:08 UTC 2004
Update of /project/movitz/cvsroot/movitz/losp
In directory common-lisp.net:/tmp/cvs-serv21910
Modified Files:
los0.lisp
Log Message:
Various fiddling with testing functions etc.
Date: Tue Sep 21 15:11:08 2004
Author: ffjeld
Index: movitz/losp/los0.lisp
diff -u movitz/losp/los0.lisp:1.21 movitz/losp/los0.lisp:1.22
--- movitz/losp/los0.lisp:1.21 Wed Sep 15 12:22:57 2004
+++ movitz/losp/los0.lisp Tue Sep 21 15:11:08 2004
@@ -9,7 +9,7 @@
;;;; Created at: Fri Dec 1 18:08:32 2000
;;;; Distribution: See the accompanying file COPYING.
;;;;
-;;;; $Id: los0.lisp,v 1.21 2004/09/15 10:22:57 ffjeld Exp $
+;;;; $Id: los0.lisp,v 1.22 2004/09/21 13:11:08 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -988,8 +988,9 @@
(muerte::with-bochs-tracing ()
(eval form)))
-(muerte.toplevel:define-toplevel-command :mapkey (code-char)
- (let ((char (etypecase code-char
+(muerte.toplevel:define-toplevel-command :mapkey (code-char-form)
+ (let* ((code-char (eval code-char-form))
+ (char (etypecase code-char
(character code-char)
(integer (code-char code-char)))))
(format t "~&Hit the (single) key you want to map to ~S..." char)
@@ -1083,7 +1084,7 @@
(defun test-clc (&optional timeout)
(test-timer timeout)
(loop
- (clc::test-clc)))
+ (funcall (find-symbol (string :test-clc) :clc))))
(defun test-timer (&optional timeout)
(setf (exception-handler 32)
@@ -1128,7 +1129,7 @@
(current-stack-frame))
(setf *timer-stack* (muerte::copy-current-control-stack))
(setf (pit8253-timer-mode 0) +pit8253-mode-single-timeout+
- (pit8253-timer-count 0) (or timeout (+ 10 (random 4000))))
+ (pit8253-timer-count 0) (or timeout (+ 5 (random 2000))))
(with-inline-assembly (:returns :nothing)
(:compile-form (:result-mode :ecx) muerte.x86-pc::*screen*)
(:shrl 2 :ecx)
@@ -1140,7 +1141,7 @@
(:shrl 2 :ecx)
((:gs-override) :movw #x4646 (:ecx 158)))
(setf (pit8253-timer-mode 0) +pit8253-mode-single-timeout+
- (pit8253-timer-count 0) (or timeout (+ 10 (random 4000))))
+ (pit8253-timer-count 0) (or timeout (+ 10 (random 1000))))
(setf (pic8259-irq-mask) #xfffe)
(pic8259-end-of-interrupt 0)
(with-inline-assembly (:returns :nothing) (:sti))
@@ -1163,14 +1164,20 @@
))
(defun test-throwing (&optional (x #xffff))
- (test-timer x)
+ (when x
+ (test-timer x))
(loop
(catch 'foo
- (funcall (lambda ()
- (unless (logbitp 9 (eflags))
- (break "Someone switched off interrupts!"))
- (incf (memref-int muerte.x86-pc::*screen* 0 0 :unsigned-byte16 t))
- (throw 'foo nil))))))
+ (unwind-protect
+ (funcall (lambda ()
+ (unwind-protect
+ (progn
+;;; (unless (logbitp 9 (eflags))
+;;; (break "Someone switched off interrupts!"))
+ (incf (memref-int muerte.x86-pc::*screen* 0 0 :unsigned-byte16 t))
+ (throw 'foo 'inner-peace))
+ (incf (memref-int muerte.x86-pc::*screen* 0 80 :unsigned-byte16 t)))))
+ (incf (memref-int muerte.x86-pc::*screen* 0 160 :unsigned-byte16 t))))))
(defun genesis ()
@@ -1203,7 +1210,7 @@
(setf *package* (find-package "INIT"))
(clos-bootstrap)
(when muerte::*multiboot-data*
- (set-textmode +vga-state-90x60+))
+ (set-textmode +vga-state-90x30+))
(cond
((not (cpu-featurep :tsc))
More information about the Movitz-cvs
mailing list