Update of /project/movitz/cvsroot/movitz/losp/x86-pc In directory clnet:/tmp/cvs-serv26637
Modified Files: vga.lisp Log Message: Indentation.
--- /project/movitz/cvsroot/movitz/losp/x86-pc/vga.lisp 2007/03/26 18:04:04 1.12 +++ /project/movitz/cvsroot/movitz/losp/x86-pc/vga.lisp 2007/04/07 08:04:51 1.13 @@ -10,7 +10,7 @@ ;;;; Author: Frode Vatvedt Fjeld frodef@acm.org ;;;; Created at: Tue Sep 25 14:08:20 2001 ;;;; -;;;; $Id: vga.lisp,v 1.12 2007/03/26 18:04:04 ffjeld Exp $ +;;;; $Id: vga.lisp,v 1.13 2007/04/07 08:04:51 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -106,131 +106,131 @@ ;;; VGA stuff ported from http://my.execpc.com/CE/AC/geezer/osd/graphics/modes.c
(defconstant +vga-state-80x25+ - '((:misc . #x67) - (:sequencer - #x03 #x00 #x03 #x00 #x02) - (:crtc - #x5F #x4F #x50 #x82 #x55 #x81 #xBF #x1F - #x00 #x4F #x0D #x0E #x00 #x00 #x00 #x50 - #x9C #x0E #x8F #x28 #x1F #x96 #xB9 #xA3 - #xFF) - (:graphics - #x00 #x00 #x00 #x00 #x00 #x10 #x0E #x00 - #xFF) - (:attribute - #x00 #x01 #x02 #x03 #x04 #x05 #x14 #x07 - #x38 #x39 #x3A #x3B #x3C #x3D #x3E #x3F - #x0C #x00 #x0F #x08 #x00))) + '((:misc . #x67) + (:sequencer + #x03 #x00 #x03 #x00 #x02) + (:crtc + #x5F #x4F #x50 #x82 #x55 #x81 #xBF #x1F + #x00 #x4F #x0D #x0E #x00 #x00 #x00 #x50 + #x9C #x0E #x8F #x28 #x1F #x96 #xB9 #xA3 + #xFF) + (:graphics + #x00 #x00 #x00 #x00 #x00 #x10 #x0E #x00 + #xFF) + (:attribute + #x00 #x01 #x02 #x03 #x04 #x05 #x14 #x07 + #x38 #x39 #x3A #x3B #x3C #x3D #x3E #x3F + #x0C #x00 #x0F #x08 #x00)))
(defconstant +vga-state-80x50+ - '((:misc . #x67) - (:sequencer - #x03 #x00 #x03 #x00 #x02) - (:crtc - #x5F #x4F #x50 #x82 #x55 #x81 #xBF #x1F - #x00 #x47 #x06 #x07 #x00 #x00 #x01 #x40 - #x9C #x8E #x8F #x28 #x1F #x96 #xB9 #xA3 - #xFF) - (:graphics - #x00 #x00 #x00 #x00 #x00 #x10 #x0E #x00 - #xFF) - (:attribute - #x00 #x01 #x02 #x03 #x04 #x05 #x14 #x07 - #x38 #x39 #x3A #x3B #x3C #x3D #x3E #x3F - #x0C #x00 #x0F #x08 #x00))) + '((:misc . #x67) + (:sequencer + #x03 #x00 #x03 #x00 #x02) + (:crtc + #x5F #x4F #x50 #x82 #x55 #x81 #xBF #x1F + #x00 #x47 #x06 #x07 #x00 #x00 #x01 #x40 + #x9C #x8E #x8F #x28 #x1F #x96 #xB9 #xA3 + #xFF) + (:graphics + #x00 #x00 #x00 #x00 #x00 #x10 #x0E #x00 + #xFF) + (:attribute + #x00 #x01 #x02 #x03 #x04 #x05 #x14 #x07 + #x38 #x39 #x3A #x3B #x3C #x3D #x3E #x3F + #x0C #x00 #x0F #x08 #x00)))
(defconstant +vga-state-40x25+ - '((:misc . #x67) - (:sequencer - #x03 #x08 #x03 #x00 #x02) - (:crtc - #x2D #x27 #x28 #x90 #x2B #xA0 #xBF #x1F - #x00 #x4F #x0D #x0E #x00 #x00 #x00 #xA0 - #x9C #x8E #x8F #x14 #x1F #x96 #xB9 #xA3 - #xFF) - (:graphics - #x00 #x00 #x00 #x00 #x00 #x10 #x0E #x00 - #xFF) - (:attribute - #x00 #x01 #x02 #x03 #x04 #x05 #x14 #x07 - #x38 #x39 #x3A #x3B #x3C #x3D #x3E #x3F - #x0C #x00 #x0F #x08 #x00))) + '((:misc . #x67) + (:sequencer + #x03 #x08 #x03 #x00 #x02) + (:crtc + #x2D #x27 #x28 #x90 #x2B #xA0 #xBF #x1F + #x00 #x4F #x0D #x0E #x00 #x00 #x00 #xA0 + #x9C #x8E #x8F #x14 #x1F #x96 #xB9 #xA3 + #xFF) + (:graphics + #x00 #x00 #x00 #x00 #x00 #x10 #x0E #x00 + #xFF) + (:attribute + #x00 #x01 #x02 #x03 #x04 #x05 #x14 #x07 + #x38 #x39 #x3A #x3B #x3C #x3D #x3E #x3F + #x0C #x00 #x0F #x08 #x00)))
(defconstant +vga-state-40x50+ - '((:misc . #x67) - (:sequencer - #x03 #x08 #x03 #x00 #x02) - (:crtc - #x2D #x27 #x28 #x90 #x2B #xA0 #xBF #x1F - #x00 #x47 #x06 #x07 #x00 #x00 #x04 #x60 - #x9C #x8E #x8F #x14 #x1F #x96 #xB9 #xA3 - #xFF) - (:graphics - #x00 #x00 #x00 #x00 #x00 #x10 #x0E #x00 - #xFF) - (:attribute - #x00 #x01 #x02 #x03 #x04 #x05 #x14 #x07 - #x38 #x39 #x3A #x3B #x3C #x3D #x3E #x3F - #x0C #x00 #x0F #x08 #x00))) + '((:misc . #x67) + (:sequencer + #x03 #x08 #x03 #x00 #x02) + (:crtc + #x2D #x27 #x28 #x90 #x2B #xA0 #xBF #x1F + #x00 #x47 #x06 #x07 #x00 #x00 #x04 #x60 + #x9C #x8E #x8F #x14 #x1F #x96 #xB9 #xA3 + #xFF) + (:graphics + #x00 #x00 #x00 #x00 #x00 #x10 #x0E #x00 + #xFF) + (:attribute + #x00 #x01 #x02 #x03 #x04 #x05 #x14 #x07 + #x38 #x39 #x3A #x3B #x3C #x3D #x3E #x3F + #x0C #x00 #x0F #x08 #x00)))
(defconstant +vga-state-90x30+ - '((:misc . #xE7) - (:sequencer - #x03 #x01 #x03 #x00 #x02) - (:crtc - #x6B #x59 #x5A #x82 #x60 #x8D #x0B #x3E - #x00 #x4F #x0D #x0E #x00 #x00 #x00 #x00 - #xEA #x0C #xDF #x2D #x10 #xE8 #x05 #xA3 - #xFF) - (:graphics - #x00 #x00 #x00 #x00 #x00 #x10 #x0E #x00 - #xFF) - (:attribute - #x00 #x01 #x02 #x03 #x04 #x05 #x14 #x07 - #x38 #x39 #x3A #x3B #x3C #x3D #x3E #x3F - #x0C #x00 #x0F #x08 #x00))) + '((:misc . #xE7) + (:sequencer + #x03 #x01 #x03 #x00 #x02) + (:crtc + #x6B #x59 #x5A #x82 #x60 #x8D #x0B #x3E + #x00 #x4F #x0D #x0E #x00 #x00 #x00 #x00 + #xEA #x0C #xDF #x2D #x10 #xE8 #x05 #xA3 + #xFF) + (:graphics + #x00 #x00 #x00 #x00 #x00 #x10 #x0E #x00 + #xFF) + (:attribute + #x00 #x01 #x02 #x03 #x04 #x05 #x14 #x07 + #x38 #x39 #x3A #x3B #x3C #x3D #x3E #x3F + #x0C #x00 #x0F #x08 #x00)))
(defconstant +vga-state-90x60+ - '((:misc . #xE7) - (:sequencer - #x03 #x01 #x03 #x00 #x02) - (:crtc - #x6B #x59 #x5A #x82 #x60 #x8D #x0B #x3E - #x00 #x47 #x06 #x07 #x00 #x00 #x00 #x00 - #xEA #x0C #xDF #x2D #x08 #xE8 #x05 #xA3 - #xFF) - (:graphics - #x00 #x00 #x00 #x00 #x00 #x10 #x0E #x00 - #xFF) - (:attribute - #x00 #x01 #x02 #x03 #x04 #x05 #x14 #x07 - #x38 #x39 #x3A #x3B #x3C #x3D #x3E #x3F - #x0C #x00 #x0F #x08 #x00))) + '((:misc . #xE7) + (:sequencer + #x03 #x01 #x03 #x00 #x02) + (:crtc + #x6B #x59 #x5A #x82 #x60 #x8D #x0B #x3E + #x00 #x47 #x06 #x07 #x00 #x00 #x00 #x00 + #xEA #x0C #xDF #x2D #x08 #xE8 #x05 #xA3 + #xFF) + (:graphics + #x00 #x00 #x00 #x00 #x00 #x10 #x0E #x00 + #xFF) + (:attribute + #x00 #x01 #x02 #x03 #x04 #x05 #x14 #x07 + #x38 #x39 #x3A #x3B #x3C #x3D #x3E #x3F + #x0C #x00 #x0F #x08 #x00)))
(defconstant +vga-state-320x200x256-modex+ - '((:misc . #x63) - (:sequencer - #x03 #x01 #x0F #x00 #x06) - (:crtc - #x5F #x4F #x50 #x82 #x54 #x80 #xBF #x1F - #x00 #x41 #x00 #x00 #x00 #x00 #x00 #x00 - #x9C #x0E #x8F #x28 #x00 #x96 #xB9 #xE3 - #xFF) - (:graphics - #x00 #x00 #x00 #x00 #x00 #x40 #x05 #x0F - #xFF) - (:attribute - #x00 #x01 #x02 #x03 #x04 #x05 #x06 #x07 - #x08 #x09 #x0A #x0B #x0C #x0D #x0E #x0F - #x41 #x00 #x0F #x00 #x00))) + '((:misc . #x63) + (:sequencer + #x03 #x01 #x0F #x00 #x06) + (:crtc + #x5F #x4F #x50 #x82 #x54 #x80 #xBF #x1F + #x00 #x41 #x00 #x00 #x00 #x00 #x00 #x00 + #x9C #x0E #x8F #x28 #x00 #x96 #xB9 #xE3 + #xFF) + (:graphics + #x00 #x00 #x00 #x00 #x00 #x40 #x05 #x0F + #xFF) + (:attribute + #x00 #x01 #x02 #x03 #x04 #x05 #x06 #x07 + #x08 #x09 #x0A #x0B #x0C #x0D #x0E #x0F + #x41 #x00 #x0F #x00 #x00)))
;; intended future wrapper for graphics modes (defconstant +graphical-mode-modex+ - '(+vga-state-320x200x256-modex+ ; vga state - 320 ; width - 200 ; height - 3)) ; page count + '(+vga-state-320x200x256-modex+ ; vga state + 320 ; width + 200 ; height + 3)) ; page count
(defvar *vga-current-page* 0) @@ -294,40 +294,40 @@ (assert set () "VGA state is missing ~A." register-set) (cdr set)))) (unwind-protect - (handler-bind ((serious-condition #'vga-reset)) - ;; write MISCELLANEOUS reg - (setf (vga-port +vga-misc-write+) - (assert-register-set state :misc)) - ;; write SEQUENCER regs - (loop for x in (assert-register-set state :sequencer) - as i upfrom 0 - do (setf (vga-sequencer-register i) x)) - (loop - ;; unlock CRTC registers - initially (setf (vga-crt-controller-register 3) - (logior #x80 (vga-crt-controller-register 3))) - (setf (vga-crt-controller-register #x11) - (logand #x7f (vga-crt-controller-register #x11))) - for x in (assert-register-set state :crtc) - as i upfrom 0 - do (setf (vga-crt-controller-register i) - (case i - ;; make sure they remain unlocked - (#x03 (logior #x80 x)) - (#x11 (logand #x7f x)) - (t x)))) - ;; write GRAPHICS CONTROLLER regs - (loop for x in (assert-register-set state :graphics) - as i upfrom 0 - do (setf (vga-graphics-register i) x)) - ;; write ATTRIBUTE CONTROLLER regs - (loop for x in (assert-register-set state :attribute) - as i upfrom 0 - do (setf (vga-attribute-register i) x)) - ;; lock 16-color palette and unblank display - (io-port VGA-INSTAT-READ :unsigned-byte8) - (setf (io-port VGA-AC-INDEX :unsigned-byte8) #x20) - (setf old-state nil)) + (handler-bind ((serious-condition #'vga-reset)) + ;; write MISCELLANEOUS reg + (setf (vga-port +vga-misc-write+) + (assert-register-set state :misc)) + ;; write SEQUENCER regs + (loop for x in (assert-register-set state :sequencer) + as i upfrom 0 + do (setf (vga-sequencer-register i) x)) + (loop + ;; unlock CRTC registers + initially (setf (vga-crt-controller-register 3) + (logior #x80 (vga-crt-controller-register 3))) + (setf (vga-crt-controller-register #x11) + (logand #x7f (vga-crt-controller-register #x11))) + for x in (assert-register-set state :crtc) + as i upfrom 0 + do (setf (vga-crt-controller-register i) + (case i + ;; make sure they remain unlocked + (#x03 (logior #x80 x)) + (#x11 (logand #x7f x)) + (t x)))) + ;; write GRAPHICS CONTROLLER regs + (loop for x in (assert-register-set state :graphics) + as i upfrom 0 + do (setf (vga-graphics-register i) x)) + ;; write ATTRIBUTE CONTROLLER regs + (loop for x in (assert-register-set state :attribute) + as i upfrom 0 + do (setf (vga-attribute-register i) x)) + ;; lock 16-color palette and unblank display + (io-port VGA-INSTAT-READ :unsigned-byte8) + (setf (io-port VGA-AC-INDEX :unsigned-byte8) #x20) + (setf old-state nil)) (vga-reset)))) state)
@@ -411,647 +411,647 @@
(defconstant +vga-font-8x8+ - #{#x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 - #x7E #x81 #xA5 #x81 #xBD #x99 #x81 #x7E - #x7E #xFF #xDB #xFF #xC3 #xE7 #xFF #x7E - #x6C #xFE #xFE #xFE #x7C #x38 #x10 #x00 - #x10 #x38 #x7C #xFE #x7C #x38 #x10 #x00 - #x38 #x7C #x38 #xFE #xFE #x92 #x10 #x7C - #x00 #x10 #x38 #x7C #xFE #x7C #x38 #x7C - #x00 #x00 #x18 #x3C #x3C #x18 #x00 #x00 - #xFF #xFF #xE7 #xC3 #xC3 #xE7 #xFF #xFF - #x00 #x3C #x66 #x42 #x42 #x66 #x3C #x00 - #xFF #xC3 #x99 #xBD #xBD #x99 #xC3 #xFF - #x0F #x07 #x0F #x7D #xCC #xCC #xCC #x78 - #x3C #x66 #x66 #x66 #x3C #x18 #x7E #x18 - #x3F #x33 #x3F #x30 #x30 #x70 #xF0 #xE0 - #x7F #x63 #x7F #x63 #x63 #x67 #xE6 #xC0 - #x99 #x5A #x3C #xE7 #xE7 #x3C #x5A #x99 - #x80 #xE0 #xF8 #xFE #xF8 #xE0 #x80 #x00 - #x02 #x0E #x3E #xFE #x3E #x0E #x02 #x00 - #x18 #x3C #x7E #x18 #x18 #x7E #x3C #x18 - #x66 #x66 #x66 #x66 #x66 #x00 #x66 #x00 - #x7F #xDB #xDB #x7B #x1B #x1B #x1B #x00 - #x3E #x63 #x38 #x6C #x6C #x38 #x86 #xFC - #x00 #x00 #x00 #x00 #x7E #x7E #x7E #x00 - #x18 #x3C #x7E #x18 #x7E #x3C #x18 #xFF - #x18 #x3C #x7E #x18 #x18 #x18 #x18 #x00 - #x18 #x18 #x18 #x18 #x7E #x3C #x18 #x00 - #x00 #x18 #x0C #xFE #x0C #x18 #x00 #x00 - #x00 #x30 #x60 #xFE #x60 #x30 #x00 #x00 - #x00 #x00 #xC0 #xC0 #xC0 #xFE #x00 #x00 - #x00 #x24 #x66 #xFF #x66 #x24 #x00 #x00 - #x00 #x18 #x3C #x7E #xFF #xFF #x00 #x00 - #x00 #xFF #xFF #x7E #x3C #x18 #x00 #x00 - #x00 #x00 #x00 #x00 #x00 #x00 #x00 #x00 - #x18 #x3C #x3C #x18 #x18 #x00 #x18 #x00 - #x6C #x6C #x6C #x00 #x00 #x00 #x00 #x00 - #x6C #x6C #xFE #x6C #xFE #x6C #x6C #x00 - #x18 #x7E #xC0 #x7C #x06 #xFC #x18 #x00 - #x00 #xC6 #xCC #x18 #x30 #x66 #xC6 #x00 - #x38 #x6C #x38 #x76 #xDC #xCC #x76 #x00 - #x30 #x30 #x60 #x00 #x00 #x00 #x00 #x00 - #x18 #x30 #x60 #x60 #x60 #x30 #x18 #x00 - #x60 #x30 #x18 #x18 #x18 #x30 #x60 #x00 - #x00 #x66 #x3C #xFF #x3C #x66 #x00 #x00 - #x00 #x18 #x18 #x7E #x18 #x18 #x00 #x00 - #x00 #x00 #x00 #x00 #x00 #x18 #x18 #x30 - #x00 #x00 #x00 #x7E #x00 #x00 #x00 #x00 - #x00 #x00 #x00 #x00 #x00 #x18 #x18 #x00 - #x06 #x0C #x18 #x30 #x60 #xC0 #x80 #x00 - #x7C #xCE #xDE #xF6 #xE6 #xC6 #x7C #x00 - #x30 #x70 #x30 #x30 #x30 #x30 #xFC #x00 - #x78 #xCC #x0C #x38 #x60 #xCC #xFC #x00 - #x78 #xCC #x0C #x38 #x0C #xCC #x78 #x00 - #x1C #x3C #x6C #xCC #xFE #x0C #x1E #x00 - #xFC #xC0 #xF8 #x0C #x0C #xCC #x78 #x00 - #x38 #x60 #xC0 #xF8 #xCC #xCC #x78 #x00 - #xFC #xCC #x0C #x18 #x30 #x30 #x30 #x00 - #x78 #xCC #xCC #x78 #xCC #xCC #x78 #x00 - #x78 #xCC #xCC #x7C #x0C #x18 #x70 #x00 - #x00 #x18 #x18 #x00 #x00 #x18 #x18 #x00 - #x00 #x18 #x18 #x00 #x00 #x18 #x18 #x30 - #x18 #x30 #x60 #xC0 #x60 #x30 #x18 #x00 - #x00 #x00 #x7E #x00 #x7E #x00 #x00 #x00 - #x60 #x30 #x18 #x0C #x18 #x30 #x60 #x00 - #x3C #x66 #x0C #x18 #x18 #x00 #x18 #x00 - #x7C #xC6 #xDE #xDE #xDC #xC0 #x7C #x00 - #x30 #x78 #xCC #xCC #xFC #xCC #xCC #x00 - #xFC #x66 #x66 #x7C #x66 #x66 #xFC #x00 - #x3C #x66 #xC0 #xC0 #xC0 #x66 #x3C #x00 - #xF8 #x6C #x66 #x66 #x66 #x6C #xF8 #x00
[1230 lines skipped]