home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
games
/
volume18
/
dunnet2
/
part02
/
dun-dos.el
< prev
next >
Wrap
Lisp/Scheme
|
1993-07-12
|
2KB
|
108 lines
;;;;;;;;;;;;;;;;;;;
;;;;
;;;; DOS
;;;;
;;;;;;;;;;;;;;;;;;;
(if nil
(eval-and-compile (setq byte-compile-warnings nil)))
(defun dos-parse (args)
(interactive "*p")
(beginning-of-line)
(let (beg)
(setq beg (+ (point) 3))
(end-of-line)
(if (not (= beg (point)))
(let (line)
(setq line (downcase (buffer-substring beg (point))))
(princ line)
(if (eq (parse2 nil dos-verbs line) -1)
(progn
(sleep-for 1)
(mprincl "Bad command or file name"))))
(goto-char (point-max))
(mprinc "\n"))
(if (eq dungeon-mode 'dos)
(progn
(fix-screen)
(dos-prompt)))))
(defun dos-interface ()
(dos-boot-msg)
(setq dungeon-mode 'dos)
(define-key dungeon-mode-map "\r" 'dos-parse)
(dos-prompt))
(defun dos-type (args)
(sleep-for 2)
(if (setq args (car args))
(if (string= args "foo.txt")
(dos-show-combination)
(if (string= args "command.com")
(mprincl "Cannot type binary files")
(mprinc "File not found - ")
(mprincl (upcase args))))
(mprincl "Must supply file name")))
(defun dos-invd (args)
(sleep-for 1)
(mprincl "Invalid drive specification"))
(defun dos-dir (args)
(sleep-for 1)
(if (or (not (setq args (car args))) (string= args "\\"))
(mprincl "
Volume in drive A is FOO
Volume Serial Number is 1A16-08C9
Directory of A:\\
COMMAND COM 47845 04-09-91 2:00a
FOO TXT 40 01-20-93 1:01a
2 file(s) 47845 bytes
1065280 bytes free
")
(mprincl "
Volume in drive A is FOO
Volume Serial Number is 1A16-08C9
Directory of A:\\
File not found")))
(defun dos-prompt ()
(mprinc "A> "))
(defun dos-boot-msg ()
(sleep-for 3)
(mprinc "Current time is ")
(mprincl (substring (current-time-string) 12 20))
(mprinc "Enter new time: ")
(read-line)
(if (not batch-mode)
(mprinc "\n")))
(defun dos-spawn (args)
(sleep-for 1)
(mprincl "Cannot spawn subshell"))
(defun dos-exit (args)
(setq dungeon-mode 'dungeon)
(mprincl "\nYou power down the machine and step back.")
(define-key dungeon-mode-map "\r" 'dungeon-parse)
(if (not batch-mode)
(dungeon-messages)))
(defun dos-no-disk ()
(sleep-for 3)
(mprincl "Boot sector not found"))
(defun dos-show-combination ()
(sleep-for 2)
(mprinc "\nThe combination is ")
(mprinc combination)
(mprinc ".\n"))
(defun dos-nil (args))