From dff2769514bafe892c9b88d65e071d0f1e7cc50d Mon Sep 17 00:00:00 2001 From: L10yx Date: Fri, 10 May 2024 02:10:57 -0500 Subject: [PATCH] delete --- mp2/MODULE.txt | 1 - mp2/Makefile | 24 - mp2/assert.c | 210 --- mp2/assert.h | 145 -- mp2/blocks.h | 121 -- mp2/blocks.s | 532 ------- mp2/buglog.txt | 37 - mp2/input-demo | Bin 5952 -> 0 bytes mp2/input.c | 269 ---- mp2/input.h | 61 - mp2/maze.c | 863 ---------- mp2/maze.h | 102 -- mp2/mazegame-demo | Bin 31736 -> 0 bytes mp2/mazegame.c | 888 ----------- mp2/modex.c | 1417 ----------------- mp2/modex.h | 186 --- mp2/module/Makefile | 19 - mp2/module/mtcp.h | 398 ----- mp2/module/tuxctl-ioctl.c | 246 --- mp2/module/tuxctl-ioctl.h | 34 - mp2/module/tuxctl-ld.c | 319 ---- mp2/module/tuxctl-ld.h | 39 - mp2/text.c | 663 -------- mp2/text.h | 60 - mp3-LOS/INSTALL | 1 - mp3-LOS/README.md | 70 - mp3-LOS/buglog | 51 - mp3-LOS/createfs | Bin 2297714 -> 0 bytes mp3-LOS/elfconvert | Bin 22231 -> 0 bytes mp3-LOS/fish/Makefile | 25 - mp3-LOS/fish/blink.S | 381 ----- mp3-LOS/fish/blink.h | 15 - mp3-LOS/fish/ece391emulate.c | 227 --- mp3-LOS/fish/ece391support.c | 53 - mp3-LOS/fish/ece391support.h | 10 - mp3-LOS/fish/ece391syscall.S | 41 - mp3-LOS/fish/ece391syscall.h | 24 - mp3-LOS/fish/ece391sysnum.h | 15 - mp3-LOS/fish/fish.c | 196 --- mp3-LOS/fish/frame0.txt | 11 - mp3-LOS/fish/frame1.txt | 11 - mp3-LOS/fsdir/cat | Bin 5445 -> 0 bytes mp3-LOS/fsdir/counter | Bin 5605 -> 0 bytes mp3-LOS/fsdir/fish | Bin 36164 -> 0 bytes mp3-LOS/fsdir/frame0.txt | 11 - mp3-LOS/fsdir/frame1.txt | 11 - mp3-LOS/fsdir/grep | Bin 6149 -> 0 bytes mp3-LOS/fsdir/hello | Bin 5349 -> 0 bytes mp3-LOS/fsdir/ls | Bin 5349 -> 0 bytes mp3-LOS/fsdir/pingpong | Bin 5445 -> 0 bytes mp3-LOS/fsdir/shell | Bin 5605 -> 0 bytes mp3-LOS/fsdir/sigtest | Bin 6224 -> 0 bytes mp3-LOS/fsdir/syserr | Bin 8037 -> 0 bytes mp3-LOS/fsdir/testprint | Bin 5189 -> 0 bytes .../fsdir/verylargetextwithverylongname.txt | 33 - mp3-LOS/gitignore | 114 -- mp3-LOS/student-distrib/DEBUG | 7 - mp3-LOS/student-distrib/INSTALL | 17 - mp3-LOS/student-distrib/Makefile | 41 - mp3-LOS/student-distrib/boot.S | 58 - mp3-LOS/student-distrib/bootimg | Bin 70638 -> 0 bytes mp3-LOS/student-distrib/debug.h | 33 - mp3-LOS/student-distrib/debug.sh | 22 - mp3-LOS/student-distrib/exceptions_linkage.S | 314 ---- mp3-LOS/student-distrib/exceptions_linkage.h | 36 - mp3-LOS/student-distrib/filesys.c | 392 ----- mp3-LOS/student-distrib/filesys.h | 65 - mp3-LOS/student-distrib/filesys_img | Bin 507904 -> 0 bytes mp3-LOS/student-distrib/gitignore | 116 -- mp3-LOS/student-distrib/i8259.c | 96 -- mp3-LOS/student-distrib/i8259.h | 48 - mp3-LOS/student-distrib/idt.c | 177 -- mp3-LOS/student-distrib/idt.h | 35 - mp3-LOS/student-distrib/kernel.c | 181 --- mp3-LOS/student-distrib/keyboard.c | 262 --- mp3-LOS/student-distrib/keyboard.h | 65 - mp3-LOS/student-distrib/lib.c | 776 --------- mp3-LOS/student-distrib/lib.h | 176 -- mp3-LOS/student-distrib/mp3.img | Bin 8388608 -> 0 bytes mp3-LOS/student-distrib/multiboot.h | 72 - mp3-LOS/student-distrib/paging.c | 72 - mp3-LOS/student-distrib/paging.h | 100 -- mp3-LOS/student-distrib/pit.c | 58 - mp3-LOS/student-distrib/pit.h | 9 - mp3-LOS/student-distrib/rtc.c | 151 -- mp3-LOS/student-distrib/rtc.h | 41 - mp3-LOS/student-distrib/scheduler.c | 108 -- mp3-LOS/student-distrib/scheduler.h | 19 - mp3-LOS/student-distrib/system_calls.c | 457 ------ mp3-LOS/student-distrib/system_calls.h | 71 - mp3-LOS/student-distrib/terminal_driver.c | 293 ---- mp3-LOS/student-distrib/terminal_driver.h | 48 - mp3-LOS/student-distrib/tests.c | 507 ------ mp3-LOS/student-distrib/tests.h | 7 - mp3-LOS/student-distrib/types.h | 26 - mp3-LOS/student-distrib/x86_desc.S | 116 -- mp3-LOS/student-distrib/x86_desc.h | 220 --- mp3-LOS/syscalls/Makefile | 26 - mp3-LOS/syscalls/ece391cat.c | 32 - mp3-LOS/syscalls/ece391counter.c | 45 - mp3-LOS/syscalls/ece391emulate.c | 227 --- mp3-LOS/syscalls/ece391grep.c | 97 -- mp3-LOS/syscalls/ece391hello.c | 24 - mp3-LOS/syscalls/ece391ls.c | 29 - mp3-LOS/syscalls/ece391pingpong.c | 89 -- mp3-LOS/syscalls/ece391shell.c | 36 - mp3-LOS/syscalls/ece391sigtest.c | 81 - mp3-LOS/syscalls/ece391support.c | 104 -- mp3-LOS/syscalls/ece391support.h | 13 - mp3-LOS/syscalls/ece391syscall.S | 41 - mp3-LOS/syscalls/ece391syscall.h | 35 - mp3-LOS/syscalls/ece391syserr.c | 346 ---- mp3-LOS/syscalls/ece391sysnum.h | 15 - mp3-LOS/syscalls/ece391testprint.c | 13 - mp3-LOS/syscalls/to_fsdir/cat | Bin 5445 -> 0 bytes mp3-LOS/syscalls/to_fsdir/counter | Bin 5605 -> 0 bytes mp3-LOS/syscalls/to_fsdir/grep | Bin 6149 -> 0 bytes mp3-LOS/syscalls/to_fsdir/hello | Bin 5349 -> 0 bytes mp3-LOS/syscalls/to_fsdir/ls | Bin 5349 -> 0 bytes mp3-LOS/syscalls/to_fsdir/pingpong | Bin 5445 -> 0 bytes mp3-LOS/syscalls/to_fsdir/shell | Bin 5605 -> 0 bytes mp3-LOS/syscalls/to_fsdir/sigtest | Bin 6224 -> 0 bytes mp3-LOS/syscalls/to_fsdir/syserr | Bin 8037 -> 0 bytes mp3-LOS/syscalls/to_fsdir/testprint | Bin 5189 -> 0 bytes 124 files changed, 14479 deletions(-) delete mode 100644 mp2/MODULE.txt delete mode 100644 mp2/Makefile delete mode 100644 mp2/assert.c delete mode 100644 mp2/assert.h delete mode 100644 mp2/blocks.h delete mode 100644 mp2/blocks.s delete mode 100644 mp2/buglog.txt delete mode 100644 mp2/input-demo delete mode 100644 mp2/input.c delete mode 100644 mp2/input.h delete mode 100644 mp2/maze.c delete mode 100644 mp2/maze.h delete mode 100644 mp2/mazegame-demo delete mode 100644 mp2/mazegame.c delete mode 100644 mp2/modex.c delete mode 100644 mp2/modex.h delete mode 100644 mp2/module/Makefile delete mode 100644 mp2/module/mtcp.h delete mode 100644 mp2/module/tuxctl-ioctl.c delete mode 100644 mp2/module/tuxctl-ioctl.h delete mode 100644 mp2/module/tuxctl-ld.c delete mode 100644 mp2/module/tuxctl-ld.h delete mode 100644 mp2/text.c delete mode 100644 mp2/text.h delete mode 100644 mp3-LOS/INSTALL delete mode 100644 mp3-LOS/README.md delete mode 100644 mp3-LOS/buglog delete mode 100644 mp3-LOS/createfs delete mode 100644 mp3-LOS/elfconvert delete mode 100644 mp3-LOS/fish/Makefile delete mode 100644 mp3-LOS/fish/blink.S delete mode 100644 mp3-LOS/fish/blink.h delete mode 100644 mp3-LOS/fish/ece391emulate.c delete mode 100644 mp3-LOS/fish/ece391support.c delete mode 100644 mp3-LOS/fish/ece391support.h delete mode 100644 mp3-LOS/fish/ece391syscall.S delete mode 100644 mp3-LOS/fish/ece391syscall.h delete mode 100644 mp3-LOS/fish/ece391sysnum.h delete mode 100644 mp3-LOS/fish/fish.c delete mode 100644 mp3-LOS/fish/frame0.txt delete mode 100644 mp3-LOS/fish/frame1.txt delete mode 100644 mp3-LOS/fsdir/cat delete mode 100644 mp3-LOS/fsdir/counter delete mode 100644 mp3-LOS/fsdir/fish delete mode 100644 mp3-LOS/fsdir/frame0.txt delete mode 100644 mp3-LOS/fsdir/frame1.txt delete mode 100644 mp3-LOS/fsdir/grep delete mode 100644 mp3-LOS/fsdir/hello delete mode 100644 mp3-LOS/fsdir/ls delete mode 100644 mp3-LOS/fsdir/pingpong delete mode 100644 mp3-LOS/fsdir/shell delete mode 100644 mp3-LOS/fsdir/sigtest delete mode 100644 mp3-LOS/fsdir/syserr delete mode 100644 mp3-LOS/fsdir/testprint delete mode 100644 mp3-LOS/fsdir/verylargetextwithverylongname.txt delete mode 100644 mp3-LOS/gitignore delete mode 100644 mp3-LOS/student-distrib/DEBUG delete mode 100644 mp3-LOS/student-distrib/INSTALL delete mode 100644 mp3-LOS/student-distrib/Makefile delete mode 100644 mp3-LOS/student-distrib/boot.S delete mode 100644 mp3-LOS/student-distrib/bootimg delete mode 100644 mp3-LOS/student-distrib/debug.h delete mode 100644 mp3-LOS/student-distrib/debug.sh delete mode 100644 mp3-LOS/student-distrib/exceptions_linkage.S delete mode 100644 mp3-LOS/student-distrib/exceptions_linkage.h delete mode 100644 mp3-LOS/student-distrib/filesys.c delete mode 100644 mp3-LOS/student-distrib/filesys.h delete mode 100644 mp3-LOS/student-distrib/filesys_img delete mode 100644 mp3-LOS/student-distrib/gitignore delete mode 100644 mp3-LOS/student-distrib/i8259.c delete mode 100644 mp3-LOS/student-distrib/i8259.h delete mode 100644 mp3-LOS/student-distrib/idt.c delete mode 100644 mp3-LOS/student-distrib/idt.h delete mode 100644 mp3-LOS/student-distrib/kernel.c delete mode 100644 mp3-LOS/student-distrib/keyboard.c delete mode 100644 mp3-LOS/student-distrib/keyboard.h delete mode 100644 mp3-LOS/student-distrib/lib.c delete mode 100644 mp3-LOS/student-distrib/lib.h delete mode 100644 mp3-LOS/student-distrib/mp3.img delete mode 100644 mp3-LOS/student-distrib/multiboot.h delete mode 100644 mp3-LOS/student-distrib/paging.c delete mode 100644 mp3-LOS/student-distrib/paging.h delete mode 100644 mp3-LOS/student-distrib/pit.c delete mode 100644 mp3-LOS/student-distrib/pit.h delete mode 100644 mp3-LOS/student-distrib/rtc.c delete mode 100644 mp3-LOS/student-distrib/rtc.h delete mode 100644 mp3-LOS/student-distrib/scheduler.c delete mode 100644 mp3-LOS/student-distrib/scheduler.h delete mode 100644 mp3-LOS/student-distrib/system_calls.c delete mode 100644 mp3-LOS/student-distrib/system_calls.h delete mode 100644 mp3-LOS/student-distrib/terminal_driver.c delete mode 100644 mp3-LOS/student-distrib/terminal_driver.h delete mode 100644 mp3-LOS/student-distrib/tests.c delete mode 100644 mp3-LOS/student-distrib/tests.h delete mode 100644 mp3-LOS/student-distrib/types.h delete mode 100644 mp3-LOS/student-distrib/x86_desc.S delete mode 100644 mp3-LOS/student-distrib/x86_desc.h delete mode 100644 mp3-LOS/syscalls/Makefile delete mode 100644 mp3-LOS/syscalls/ece391cat.c delete mode 100644 mp3-LOS/syscalls/ece391counter.c delete mode 100644 mp3-LOS/syscalls/ece391emulate.c delete mode 100644 mp3-LOS/syscalls/ece391grep.c delete mode 100644 mp3-LOS/syscalls/ece391hello.c delete mode 100644 mp3-LOS/syscalls/ece391ls.c delete mode 100644 mp3-LOS/syscalls/ece391pingpong.c delete mode 100644 mp3-LOS/syscalls/ece391shell.c delete mode 100644 mp3-LOS/syscalls/ece391sigtest.c delete mode 100644 mp3-LOS/syscalls/ece391support.c delete mode 100644 mp3-LOS/syscalls/ece391support.h delete mode 100644 mp3-LOS/syscalls/ece391syscall.S delete mode 100644 mp3-LOS/syscalls/ece391syscall.h delete mode 100644 mp3-LOS/syscalls/ece391syserr.c delete mode 100644 mp3-LOS/syscalls/ece391sysnum.h delete mode 100644 mp3-LOS/syscalls/ece391testprint.c delete mode 100644 mp3-LOS/syscalls/to_fsdir/cat delete mode 100644 mp3-LOS/syscalls/to_fsdir/counter delete mode 100644 mp3-LOS/syscalls/to_fsdir/grep delete mode 100644 mp3-LOS/syscalls/to_fsdir/hello delete mode 100644 mp3-LOS/syscalls/to_fsdir/ls delete mode 100644 mp3-LOS/syscalls/to_fsdir/pingpong delete mode 100644 mp3-LOS/syscalls/to_fsdir/shell delete mode 100644 mp3-LOS/syscalls/to_fsdir/sigtest delete mode 100644 mp3-LOS/syscalls/to_fsdir/syserr delete mode 100644 mp3-LOS/syscalls/to_fsdir/testprint diff --git a/mp2/MODULE.txt b/mp2/MODULE.txt deleted file mode 100644 index e337720..0000000 --- a/mp2/MODULE.txt +++ /dev/null @@ -1 +0,0 @@ -This directory is supposed to have a 'module' subdirectory. If it is missing, contact a TA immediately to fix it. diff --git a/mp2/Makefile b/mp2/Makefile deleted file mode 100644 index dc9e2de..0000000 --- a/mp2/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -all: mazegame tr - -HEADERS=blocks.h maze.h modex.h text.h Makefile - -CFLAGS=-g -Wall - -mazegame: mazegame.o maze.o blocks.o modex.o text.o - gcc -g -lpthread -o mazegame mazegame.o maze.o blocks.o modex.o text.o - -tr: modex.c ${HEADERS} text.o - gcc ${CFLAGS} -DTEXT_RESTORE_PROGRAM=1 -o tr modex.c text.o - -%.o: %.c ${HEADERS} - gcc ${CFLAGS} -c -o $@ $< - -%.o: %.s ${HEADERS} - gcc ${CFLAGS} -c -o $@ $< - -clean:: clear - rm -f *.o *~ a.out - -clear: - rm -f mazegame tr input - diff --git a/mp2/assert.c b/mp2/assert.c deleted file mode 100644 index 143533a..0000000 --- a/mp2/assert.c +++ /dev/null @@ -1,210 +0,0 @@ -/* - * tab:4 - * - * assert.c - support for assertions and fatal exceptions - * - * "Copyright (c) 2005-2009 by Steven S. Lumetta." - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO - * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL - * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, - * EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE - * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR - * THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, - * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." - * - * Author: Steve Lumetta - * Version: 2 - * Creation Date: Tue Feb 1 20:26:56 2005 - * Filename: assert.c - * History: - * SL 1 Tue Feb 1 20:26:56 2005 - * First written. - * SL 2 Sun Sep 13 12:30:05 2009 - * Adapted from later MP2 versions for use with maze game. - */ - -#include -#include -#include -#include - -#include "assert.h" - -/* - * The cleanup stack is implemented as a linked list of cleanup_t structures, - * defined here. - */ -typedef struct cleanup_t { - cleanup_fn_t fn; /* the function to be called */ - void* arg; /* the argument to pass to the function */ - cleanup_t* next; /* a pointer to the next cleanup on the stack */ -} cleanup_t; - -/* Helper function prototypes; see function headers for further information. */ -static void catch_signal(int sig); -static void set_signal_behavior(int32_t num); - -/* MODULE VARIABLES */ - -/* This variable points to the top of the cleanup stack. */ -static cleanup_t* cleanup_stack = NULL; - -/* INTERFACE FUNCTIONS -- these functions serve as entry points from other modules */ - -/* - * clean_on_signals - * DESCRIPTION: Request that the stack of cleanup functions be executed - * when certain signals occur, including SIGSEGV, SIGBUS, - * SIGQUIT, and SIGINT. These signals are then allowed to - * proceed with their default behavior. In addition, - * ignores SIGTSTP. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: discards (most of) previous signal behavior specifications - * WARNING: not compatible with other redefinitions of behavior for the - * specified signals - */ -void clean_on_signals() { - struct sigaction sa; /* signal behavior definition structure */ - - /* Use helper function to set up behavior for these four signals. */ - set_signal_behavior(SIGINT); - set_signal_behavior(SIGSEGV); - set_signal_behavior(SIGBUS); - set_signal_behavior(SIGQUIT); - - /* Ignore stop requests from the keyboard (tty). */ - sa.sa_handler = SIG_IGN; - if (-1 == sigaction (SIGTSTP, &sa, NULL)) - PANIC ("writing signal action failed"); -} - -/* - * do_cleanups - * DESCRIPTION: Do all cleanups on the stack. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: executes all cleanups and frees alls structure use to - * store cleanup function information - */ -void do_cleanups() { - /* Pop until the stack is empty. */ - while (NULL != cleanup_stack) - pop_cleanup(1); -} - -/* - * pop_cleanup - * DESCRIPTION: Pop the top function from the stack of cleanup - * functions, and execute it if the argument is non-zero. - * INPUTS: execute -- popped cleanup function is executed if non-zero - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: frees the structure use to store cleanup function - * information - */ -void pop_cleanup(int execute) { - cleanup_t* c; - - /* Module interface: check for stack underflow. */ - ASSERT(NULL != cleanup_stack); - - /* Check underflow again, in case it escaped our debugging runs. */ - if (NULL != (c = cleanup_stack)) { - cleanup_stack = c->next; /* Remove top element from stack. */ - if (execute) /* Execute it if requested. */ - (*(c->fn))(c->arg); - free(c); /* And free the structure. */ - } -} - - -/* - * push_cleanup - * DESCRIPTION: Push a cleanup function on to the stack of cleanup - * functions. - * INPUTS: fn -- the cleanup function to be pushed - * arg -- the argument to the cleanup function (when called) - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: dynamically allocates a structure to store cleanup - * function information - */ -void push_cleanup(cleanup_fn_t fn, void* arg) { - cleanup_t* c; /* new cleanup stack element */ - - /* Module interface: check argument validity. */ - ASSERT(NULL != fn); - - if (NULL == (c = malloc(sizeof (*c)))) /* Create a new structure. */ - ABORT ("out of memory"); - c->fn = fn; /* Fill in the new structure. */ - c->arg = arg; - c->next = cleanup_stack; /* And push it onto the stack. */ - cleanup_stack = c; -} - -/* - * HELPER FUNCTIONS -- these functions are only called from other functions - * in this file - */ - -/* - * catch_signal - * DESCRIPTION: Signal handler used to execute cleanups before termination. - * INPUTS: sig -- signal number that invoked handler - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: executes stack of cleanup functions and regenerates - * signal to force default signal behavior - * WARNING: will loop forever if signal's default behavior is not restored - * after handler execution! - */ -static void catch_signal(int sig) { - do_cleanups(); - kill(getpid(), sig); -} - -/* - * set_signal_behavior - * DESCRIPTION: Installs a signal handler that executes the cleanup stack - * and requests that the default signal behavior be restored - * after execution of the handler. - * INPUTS: num -- signal number for which behavior should be changed - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: discards (most of) previous signal behavior specification - * WARNING: not compatible with other redefinitions of behavior for the - * specified signal - */ -static void set_signal_behavior(int32_t num) { - struct sigaction sa; /* signal behavior definition structure */ - - /* Read current signal behavior. */ - if (-1 == sigaction(num, NULL, &sa)) - PANIC("reading signal action failed"); - - /* - * Set signal handler and request restoration to default behavior of - * signal after handler executes. - */ - sa.sa_handler = catch_signal; - sa.sa_flags |= SA_ONESHOT; - - /* Install new behavior for signal. */ - if (-1 == sigaction(num, &sa, NULL)) - PANIC("writing signal action failed"); -} diff --git a/mp2/assert.h b/mp2/assert.h deleted file mode 100644 index 9909293..0000000 --- a/mp2/assert.h +++ /dev/null @@ -1,145 +0,0 @@ -/* - * tab:4 - * - * assert.h - support for assertions and fatal exceptions - * - * "Copyright (c) 2005-2009 by Steven S. Lumetta." - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO - * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL - * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, - * EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE - * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR - * THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, - * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." - * - * Author: Steve Lumetta - * Version: 2 - * Creation Date: Tue Feb 1 20:09:44 2005 - * Filename: assert.h - * History: - * SL 1 Tue Feb 1 20:09:44 2005 - * First written. - * SL 2 Sun Sep 13 12:29:12 2009 - * Adapted from later MP2 versions for use with maze game. - */ - -#ifndef ASSERT_H -#define ASSERT_H - -#include -#include -#include -#include - -/* - * This file defines several macros to simplify management of fatal - * exceptions, including assertions (debugging tests), aborts (dump - * core), and panics. - * - * Compiling in debug mode (NDEBUG is NOT defined) produces more - * informative error messages. - * - * The macros: - * - * ASSERT(cond) -- in debug mode, tests the condition and terminates the - * program if it does not hold, printing a message with file - * and line number and dumping an image of the program to - * disk; does nothing if NDEBUG is defined - * ABORT(msg) -- prints a message, dumps an image of the program to disk, - * and terminates the program; in debug mode, the message - * also includes file and line number - * PANIC(msg) -- prints a message and terminates the program; in debug - * mode, the message also includes file and line number - * - */ -#ifndef NDEBUG -#define ABORT(msg) \ -do { \ - do_cleanups(); \ - fprintf(stderr, "ABORTED -- %s: %s:%d\n", msg, __FILE__, __LINE__); \ - abort(); \ -} while (0); -#define ASSERT(x) \ -do { \ - if (!(x)) { \ - do_cleanups(); \ - fprintf(stderr, "ASSERTION FAILED: %s:%d\n", __FILE__, __LINE__); \ - abort(); \ - } \ -} while (0); -#define PANIC(msg) \ -do { \ - do_cleanups(); \ - fprintf(stderr, "PANIC -- %s: %s:%d\n", msg, __FILE__, __LINE__); \ - exit(3); \ -} while (0); -#else /* defined(NDEBUG) */ -#define ABORT(msg) \ -do { \ - do_cleanups (); \ - abort (); \ -} while (0); -#define ASSERT(x) -#define PANIC(msg) \ -do { \ - do_cleanups(); \ - fprintf(stderr, "PANIC -- %s\n", msg); \ - exit(3); \ -} while (0); -#endif - -/* - * We maintain a stack of functions to be called when a fatal exception - * occurs. Each function takes one generic pointer argument; any - * additional arguments must be marshaled into a block and a pointer to - * the block passed to the function. - * - * Cleanups should be used in block-structured form for clarity. For - * example, - * - * push_cleanup (foo, NULL); { - * - * ... some work here (note indentation!)... - * - * } pop_cleanup (1); - * - * Any functions called inside the block that generate fatal exceptions - * then call the cleanup function (foo) before terminating the program. - */ -typedef void (*cleanup_fn_t)(void* arg); - -/* - * Request that the stack of cleanup functions be executed when certain - * signals occur, including SIGSEGV, SIGBUS, SIGQUIT, and SIGINT. These - * signals are then allowed to proceed with their default behavior. - * In addition, ignores SIGTSTP. - */ -extern void clean_on_signals(); - -/* - * Do all cleanups on the stack; this function should not normally be - * called directly; instead, use the macros above (ASSERT, ABORT, or PANIC). - */ -extern void do_cleanups(); - -/* - * Pop the top function from the stack of cleanup functions, and execute it - * if the argument is non-zero. - */ -extern void pop_cleanup(int execute); - -/* Push a cleanup function on to the stack of cleanup functions. */ -extern void push_cleanup(cleanup_fn_t fn, void* arg); - -#endif /* ASSERT_H */ diff --git a/mp2/blocks.h b/mp2/blocks.h deleted file mode 100644 index 585c579..0000000 --- a/mp2/blocks.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - * tab:4 - * - * blocks.h - header file for maze block image definitions - * - * "Copyright (c) 2004-2009 by Steven S. Lumetta." - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO - * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL - * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, - * EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE - * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR - * THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, - * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." - * - * Author: Steve Lumetta - * Version: 2 - * Creation Date: Thu Sep 9 22:15:40 2004 - * Filename: blocks.h - * History: - * SL 1 Thu Sep 9 22:15:40 2004 - * First written. - * SL 2 Sat Sep 12 12:06:20 2009 - * Integrated original release back into main code base. - */ - -#ifndef BLOCKS_H -#define BLOCKS_H - -/* - * block image dimensions in pixels; images are defined as contiguous - * sets of bytes in blocks.s - */ -#define BLOCK_X_DIM 12 -#define BLOCK_Y_DIM 12 - -/* - * CAUTION! The directions below are listed clockwise to allow the use - * of modular arithmetic for turns, e.g., turning right is +1 mod 4. The - * directions also correspond to the order of the player blocks in the - * enumeration below and in the blocks.s file. The last direction of - * motion must be used for the images--no "stopped" picture is provided. - */ -typedef enum { - DIR_UP, DIR_RIGHT, DIR_DOWN, DIR_LEFT, - NUM_DIRS, - DIR_STOP = NUM_DIRS -} dir_t; - -/* - * CAUTION! These colors are used as constants rather than symbols - * in blocks.s. - */ -#define PLAYER_CENTER_COLOR 0x20 -#define WALL_OUTLINE_COLOR 0x21 -#define WALL_FILL_COLOR 0x22 - -/* - * CAUTION! The order of blocks in this enumeration must match the - * order in blocks.s. - */ -enum { - BLOCK_, /* 16 blocks for walls with up, right, down, */ - BLOCK_U, /* and left connections to adjacent walls */ - BLOCK_R, - BLOCK_UR, - BLOCK_D, - BLOCK_UD, - BLOCK_RD, - BLOCK_URD, - BLOCK_L, - BLOCK_UL, - BLOCK_RL, - BLOCK_URL, - BLOCK_DL, - BLOCK_UDL, - BLOCK_RDL, - BLOCK_URDL, - BLOCK_EMPTY, /* empty (non-wall) maze space */ - BLOCK_SHADOW, /* obscured maze space */ - BLOCK_PLAYER_UP, /* four pictures of the player, in dir_t order */ - BLOCK_PLAYER_RIGHT, - BLOCK_PLAYER_DOWN, - BLOCK_PLAYER_LEFT, - BLOCK_PLAYER_MASK_UP, /* four masks for player images, in dir_t order */ - BLOCK_PLAYER_MASK_RIGHT, - BLOCK_PLAYER_MASK_DOWN, - BLOCK_PLAYER_MASK_LEFT, - BLOCK_FRUIT_1, /* fruit pictures */ - BLOCK_FRUIT_2, - BLOCK_FRUIT_3, - BLOCK_FRUIT_4, - BLOCK_FRUIT_5, - BLOCK_FRUIT_6, - BLOCK_FRUIT_7, LAST_FRUIT = BLOCK_FRUIT_7, - BLOCK_FRUIT_SHADOW, /* obscured fruit */ - BLOCK_EXIT, /* the exit from the maze */ - NUM_BLOCKS -}; - -/* - * CAUTION: Fruits are encoded using several bits in the maze_bit_t - * bit vector. Make sure that enough bits are used to cover the - * number of fruits defined here. - */ -#define NUM_FRUIT_TYPES (LAST_FRUIT - BLOCK_FRUIT_1 + 1) - -/* the array of block pictures defined in blocks.s */ -extern unsigned char blocks[NUM_BLOCKS][BLOCK_Y_DIM][BLOCK_X_DIM]; - -#endif /* BLOCKS_H */ diff --git a/mp2/blocks.s b/mp2/blocks.s deleted file mode 100644 index 83511fd..0000000 --- a/mp2/blocks.s +++ /dev/null @@ -1,532 +0,0 @@ -# tab:8 -# -# blocks.s -# -# "Copyright (c) 2004-2009 by Steven S. Lumetta." -# -# Permission to use, copy, modify, and distribute this software and its -# documentation for any purpose, without fee, and without written agreement is -# hereby granted, provided that the above copyright notice and the following -# two paragraphs appear in all copies of this software. -# -# IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO -# ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL -# DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, -# EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED -# OF THE POSSIBILITY OF SUCH DAMAGE. -# -# THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE -# PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR -# THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, -# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." -# -# Author: Steve Lumetta -# Version: 2 -# Creation Date: Thu Sep 9 22:09:54 2004 -# Filename: blocks.s -# History: -# SL 1 Thu Sep 9 22:09:54 2004 -# First written. -# SL 2 Sat Sep 12 14:25:10 2009 -# Edited comments to avoid flaky assembler errors. -# - - -# -# see blocks.h for descriptions of blocks ; the first 16 are walls with -# possible connections to adjacent walls -# -.GLOBAL blocks - -blocks: -# 0 -- none -.BYTE 0x31, 0x31, 0x31, 0x32, 0x32, 0x32, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x32, 0x32, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x32, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x32, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x33, 0x32 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x33, 0x32 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x32, 0x31 -.BYTE 0x31, 0x32, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x32, 0x31 -.BYTE 0x31, 0x32, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x32, 0x31 -.BYTE 0x31, 0x32, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x32, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 - -# 1 -- up -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 - -# 02 -- right -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 - -# 3 -- up and right -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x21 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 - -# 4 -- down -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 - -# 5 -- up and down -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 - -# 6 -- right and down -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x21 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 - -# 7 -- up, right, and down -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x21 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x21 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 - -# 8 -- left -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 - -# 9 -- up and left -.BYTE 0x31, 0x34, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x34, 0x3C, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x30, 0x31 -.BYTE 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x30, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x30, 0x32 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x30, 0x32 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x30, 0x32 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x30, 0x32 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x32 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x32 -.BYTE 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 - -# 10 -- right and left -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x32, 0x32, 0x32, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x32, 0x32, 0x32, 0x32, 0x33, 0x33, 0x33, 0x32, 0x32, 0x32, 0x31 -.BYTE 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21 -.BYTE 0x30, 0x30, 0x30, 0x31, 0x31, 0x31, 0x30, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 - -# 11 -- up, right, and left -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x21 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 - -# 12 -- down and left -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 - -# 13 -- up, down, and left -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 - -# 14 -- right, down, and left -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31 -.BYTE 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x21 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 - -# 15 -- up, right, down, and left -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x21 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 -.BYTE 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x21 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x31, 0x31 - -# 16 -- empty -.BYTE 0x31, 0x31, 0x31, 0x32, 0x33, 0x32, 0x32, 0x32, 0x32, 0x32, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x31, 0x32, 0x33, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32 -.BYTE 0x31, 0x31, 0x31, 0x32, 0x33, 0x33, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32 -.BYTE 0x31, 0x32, 0x32, 0x32, 0x33, 0x33, 0x33, 0x32, 0x32, 0x32, 0x31, 0x32 -.BYTE 0x31, 0x32, 0x32, 0x33, 0x33, 0x32, 0x32, 0x32, 0x32, 0x31, 0x31, 0x32 -.BYTE 0x32, 0x32, 0x32, 0x33, 0x34, 0x32, 0x32, 0x31, 0x30, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x32, 0x33, 0x33, 0x34, 0x32, 0x32, 0x31, 0x30, 0x32, 0x32, 0x32 -.BYTE 0x32, 0x33, 0x33, 0x34, 0x34, 0x33, 0x32, 0x31, 0x32, 0x32, 0x32, 0x32 -.BYTE 0x32, 0x33, 0x33, 0x34, 0x34, 0x33, 0x32, 0x32, 0x32, 0x32, 0x32, 0x31 -.BYTE 0x32, 0x32, 0x33, 0x33, 0x34, 0x33, 0x32, 0x32, 0x32, 0x32, 0x31, 0x31 -.BYTE 0x31, 0x32, 0x32, 0x33, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x31, 0x31 -.BYTE 0x31, 0x31, 0x32, 0x32, 0x33, 0x32, 0x32, 0x32, 0x32, 0x32, 0x31, 0x31 - -# 17 -- shrouded -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 - -# 18 -- player going up -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00 -.BYTE 0x00, 0x18, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x18, 0x00 -.BYTE 0x00, 0x18, 0x00, 0x07, 0x07, 0x20, 0x20, 0x07, 0x07, 0x00, 0x18, 0x00 -.BYTE 0x00, 0x19, 0x00, 0x07, 0x20, 0x20, 0x20, 0x20, 0x07, 0x00, 0x19, 0x00 -.BYTE 0x00, 0x19, 0x1A, 0x07, 0x20, 0x20, 0x20, 0x20, 0x07, 0x1A, 0x19, 0x00 -.BYTE 0x00, 0x1A, 0x1A, 0x07, 0x20, 0x20, 0x20, 0x20, 0x07, 0x1A, 0x1A, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x07, 0x07, 0x20, 0x20, 0x07, 0x07, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -# 19 -- player going right -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x1A, 0x19, 0x19, 0x18, 0x18, 0x17, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x07, 0x07, 0x20, 0x20, 0x20, 0x07, 0x07, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x07, 0x20, 0x20, 0x20, 0x20, 0x20, 0x07, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x07, 0x20, 0x20, 0x20, 0x20, 0x20, 0x07, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x07, 0x07, 0x20, 0x20, 0x20, 0x07, 0x07, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x1A, 0x19, 0x19, 0x18, 0x18, 0x17, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -# 20 -- player going down -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x07, 0x07, 0x20, 0x20, 0x07, 0x07, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x1A, 0x1A, 0x07, 0x20, 0x20, 0x20, 0x20, 0x07, 0x1A, 0x1A, 0x00 -.BYTE 0x00, 0x19, 0x1A, 0x07, 0x20, 0x20, 0x20, 0x20, 0x07, 0x1A, 0x19, 0x00 -.BYTE 0x00, 0x19, 0x00, 0x07, 0x20, 0x20, 0x20, 0x20, 0x07, 0x00, 0x19, 0x00 -.BYTE 0x00, 0x18, 0x00, 0x07, 0x07, 0x20, 0x20, 0x07, 0x07, 0x00, 0x18, 0x00 -.BYTE 0x00, 0x18, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x18, 0x00 -.BYTE 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -# 21 -- player going left -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x17, 0x18, 0x18, 0x19, 0x19, 0x1A, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x07, 0x07, 0x20, 0x20, 0x20, 0x07, 0x07, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x07, 0x20, 0x20, 0x20, 0x20, 0x20, 0x07, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x07, 0x20, 0x20, 0x20, 0x20, 0x20, 0x07, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x07, 0x07, 0x20, 0x20, 0x20, 0x07, 0x07, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x17, 0x18, 0x18, 0x19, 0x19, 0x1A, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -# 22 -- player going up mask -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01 -.BYTE 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01 -.BYTE 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 -.BYTE 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 -.BYTE 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 -.BYTE 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 -.BYTE 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 -.BYTE 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -# 23 -- player going right mask -.BYTE 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 -.BYTE 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 -.BYTE 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 -.BYTE 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 -.BYTE 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 - -# 24 -- player going down mask -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 -.BYTE 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 -.BYTE 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 -.BYTE 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 -.BYTE 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 -.BYTE 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 -.BYTE 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01 -.BYTE 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -# 25 -- player going left mask -.BYTE 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 -.BYTE 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 -.BYTE 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 -.BYTE 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 -.BYTE 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 -.BYTE 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 -.BYTE 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 - -# 26 -- fruit #1 -- Andrew's red apple -.BYTE 0x31, 0x02, 0x31, 0x31, 0x31, 0x31, 0x06, 0x31, 0x31, 0x31, 0x32, 0x32 -.BYTE 0x02, 0x0A, 0x0A, 0x02, 0x30, 0x06, 0x30, 0x30, 0x30, 0x31, 0x31, 0x32 -.BYTE 0x30, 0x02, 0x02, 0x02, 0x02, 0x06, 0x02, 0x02, 0x02, 0x30, 0x30, 0x32 -.BYTE 0x30, 0x30, 0x30, 0x04, 0x0C, 0x04, 0x04, 0x02, 0x02, 0x02, 0x30, 0x30 -.BYTE 0x31, 0x30, 0x04, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x30 -.BYTE 0x31, 0x30, 0x04, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x04, 0x30, 0x30, 0x31 -.BYTE 0x31, 0x30, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x30, 0x32, 0x32 -.BYTE 0x31, 0x30, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x30, 0x32, 0x32 -.BYTE 0x32, 0x30, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x30, 0x32, 0x32 -.BYTE 0x32, 0x30, 0x30, 0x04, 0x04, 0x04, 0x04, 0x04, 0x30, 0x30, 0x32, 0x32 -.BYTE 0x32, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x32, 0x32, 0x32 -.BYTE 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32 - -# 27 -- fruit #2 -- grapes -.BYTE 0x33, 0x32, 0x32, 0x32, 0x32, 0x32, 0x31, 0x31, 0x32, 0x31, 0x0A, 0x31 -.BYTE 0x32, 0x32, 0x32, 0x31, 0x31, 0x31, 0x0D, 0x05, 0x00, 0x0A, 0x31, 0x32 -.BYTE 0x32, 0x32, 0x31, 0x0D, 0x05, 0x00, 0x05, 0x05, 0x05, 0x0A, 0x31, 0x32 -.BYTE 0x32, 0x32, 0x31, 0x05, 0x05, 0x05, 0x00, 0x05, 0x02, 0x31, 0x32, 0x32 -.BYTE 0x33, 0x32, 0x31, 0x00, 0x05, 0x0D, 0x00, 0x0D, 0x05, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x0D, 0x05, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x31, 0x32 -.BYTE 0x32, 0x31, 0x05, 0x05, 0x05, 0x0D, 0x05, 0x00, 0x05, 0x00, 0x32, 0x32 -.BYTE 0x32, 0x32, 0x31, 0x05, 0x00, 0x05, 0x05, 0x05, 0x0D, 0x05, 0x31, 0x31 -.BYTE 0x32, 0x32, 0x31, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x05, 0x05, 0x31 -.BYTE 0x32, 0x32, 0x31, 0x0D, 0x05, 0x00, 0x0D, 0x05, 0x00, 0x05, 0x31, 0x32 -.BYTE 0x32, 0x31, 0x31, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x31, 0x30, 0x31 -.BYTE 0x31, 0x31, 0x32, 0x31, 0x05, 0x31, 0x31, 0x05, 0x31, 0x32, 0x31, 0x31 - -# 28 -- fruit #3 -- Justin's white peach -.BYTE 0x31, 0x32, 0x32, 0x31, 0x06, 0x30, 0x30, 0x31, 0x32, 0x32, 0x32, 0x32 -.BYTE 0x31, 0x32, 0x32, 0x31, 0x30, 0x06, 0x30, 0x31, 0x32, 0x32, 0x32, 0x32 -.BYTE 0x31, 0x32, 0x32, 0x31, 0x30, 0x06, 0x30, 0x31, 0x31, 0x32, 0x32, 0x32 -.BYTE 0x31, 0x32, 0x31, 0x0E, 0x0C, 0x06, 0x0C, 0x0E, 0x31, 0x32, 0x32, 0x32 -.BYTE 0x31, 0x31, 0x0E, 0x0C, 0x0C, 0x0C, 0x0F, 0x0E, 0x0E, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x0E, 0x0C, 0x0C, 0x0F, 0x0E, 0x0E, 0x0E, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x0E, 0x0C, 0x0C, 0x0F, 0x0E, 0x0E, 0x0E, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x0E, 0x0C, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x0E, 0x0C, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x31, 0x33, 0x32 -.BYTE 0x32, 0x32, 0x31, 0x0C, 0x0F, 0x0E, 0x0E, 0x0E, 0x31, 0x32, 0x33, 0x32 -.BYTE 0x32, 0x32, 0x32, 0x31, 0x0C, 0x0E, 0x0E, 0x31, 0x32, 0x32, 0x32, 0x33 -.BYTE 0x31, 0x31, 0x32, 0x32, 0x31, 0x31, 0x31, 0x32, 0x32, 0x32, 0x32, 0x33 - -# 29 -- fruit #4 -- strawberry -.BYTE 0x32, 0x31, 0x02, 0x0A, 0x31, 0x02, 0x31, 0x32, 0x32, 0x32, 0x31, 0x31 -.BYTE 0x32, 0x32, 0x31, 0x02, 0x02, 0x0A, 0x02, 0x31, 0x32, 0x32, 0x32, 0x31 -.BYTE 0x32, 0x31, 0x31, 0x04, 0x02, 0x04, 0x04, 0x04, 0x31, 0x32, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x0C, 0x04, 0x04, 0x04, 0x0C, 0x04, 0x04, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x04, 0x04, 0x04, 0x0C, 0x04, 0x04, 0x04, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x04, 0x0C, 0x04, 0x04, 0x04, 0x0C, 0x04, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x0C, 0x04, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x04, 0x04, 0x04, 0x04, 0x0C, 0x04, 0x0C, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x31, 0x04, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x31, 0x32, 0x33 -.BYTE 0x32, 0x32, 0x31, 0x0C, 0x04, 0x04, 0x0C, 0x04, 0x31, 0x31, 0x32, 0x33 -.BYTE 0x32, 0x32, 0x31, 0x04, 0x04, 0x04, 0x04, 0x04, 0x31, 0x32, 0x32, 0x32 -.BYTE 0x31, 0x32, 0x32, 0x31, 0x0C, 0x04, 0x04, 0x31, 0x32, 0x32, 0x32, 0x31 - -# 30 -- fruit #5 -- banana -.BYTE 0x31, 0x06, 0x31, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x31, 0x31, 0x31 -.BYTE 0x31, 0x06, 0x31, 0x32, 0x32, 0x32, 0x31, 0x32, 0x32, 0x32, 0x31, 0x31 -.BYTE 0x31, 0x06, 0x0E, 0x31, 0x32, 0x32, 0x32, 0x31, 0x32, 0x32, 0x32, 0x32 -.BYTE 0x31, 0x0E, 0x0E, 0x31, 0x32, 0x32, 0x32, 0x32, 0x33, 0x33, 0x32, 0x32 -.BYTE 0x31, 0x0E, 0x0E, 0x0E, 0x31, 0x32, 0x32, 0x32, 0x32, 0x33, 0x33, 0x32 -.BYTE 0x32, 0x31, 0x0E, 0x0E, 0x0E, 0x31, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x0E, 0x0F, 0x0E, 0x0E, 0x31, 0x31, 0x31, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x32, 0x31, 0x0E, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x06, 0x31, 0x32 -.BYTE 0x39, 0x32, 0x32, 0x31, 0x0E, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x06, 0x31 -.BYTE 0x32, 0x31, 0x32, 0x32, 0x31, 0x0E, 0x0E, 0x0E, 0x0E, 0x31, 0x31, 0x32 -.BYTE 0x32, 0x31, 0x31, 0x32, 0x32, 0x31, 0x31, 0x31, 0x31, 0x32, 0x32, 0x32 -.BYTE 0x31, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32 - -# 31 -- fruit #6 -- watermelon -.BYTE 0x32, 0x32, 0x32, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x32, 0x32, 0x32 -.BYTE 0x32, 0x32, 0x31, 0x31, 0x0A, 0x0A, 0x0A, 0x0A, 0x31, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x31, 0x0A, 0x0A, 0x02, 0x02, 0x0A, 0x0A, 0x0A, 0x0A, 0x31, 0x32 -.BYTE 0x31, 0x0A, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0A, 0x0A, 0x31 -.BYTE 0x02, 0x02, 0x02, 0x02, 0x0A, 0x0A, 0x0A, 0x02, 0x02, 0x02, 0x02, 0x0A -.BYTE 0x02, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x02, 0x02 -.BYTE 0x0A, 0x0A, 0x0A, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0A, 0x0A, 0x0A -.BYTE 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 -.BYTE 0x31, 0x0A, 0x0A, 0x0A, 0x02, 0x02, 0x02, 0x0A, 0x0A, 0x0A, 0x0A, 0x31 -.BYTE 0x32, 0x31, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x02, 0x02, 0x02, 0x31, 0x32 -.BYTE 0x32, 0x32, 0x31, 0x31, 0x02, 0x02, 0x02, 0x02, 0x31, 0x31, 0x32, 0x32 -.BYTE 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32 - -# 32 -- fruit #7 -- Dew -.BYTE 0x31, 0x31, 0x32, 0x32, 0x31, 0x02, 0x02, 0x31, 0x32, 0x32, 0x31, 0x31 -.BYTE 0x32, 0x32, 0x32, 0x31, 0x31, 0x02, 0x02, 0x31, 0x31, 0x32, 0x31, 0x32 -.BYTE 0x32, 0x32, 0x32, 0x31, 0x02, 0x08, 0x08, 0x02, 0x31, 0x32, 0x31, 0x32 -.BYTE 0x32, 0x32, 0x32, 0x31, 0x04, 0x02, 0x02, 0x04, 0x31, 0x32, 0x32, 0x32 -.BYTE 0x32, 0x33, 0x32, 0x31, 0x0A, 0x04, 0x04, 0x0A, 0x31, 0x32, 0x32, 0x32 -.BYTE 0x32, 0x33, 0x32, 0x31, 0x0A, 0x0F, 0x0F, 0x0A, 0x31, 0x32, 0x32, 0x32 -.BYTE 0x32, 0x33, 0x32, 0x31, 0x0A, 0x0F, 0x0A, 0x0F, 0x31, 0x32, 0x32, 0x32 -.BYTE 0x32, 0x32, 0x32, 0x31, 0x0A, 0x0F, 0x0A, 0x0F, 0x31, 0x32, 0x33, 0x32 -.BYTE 0x32, 0x32, 0x32, 0x31, 0x0A, 0x0F, 0x0F, 0x0A, 0x31, 0x32, 0x33, 0x32 -.BYTE 0x32, 0x32, 0x32, 0x31, 0x04, 0x0A, 0x0A, 0x04, 0x31, 0x32, 0x32, 0x32 -.BYTE 0x31, 0x32, 0x32, 0x31, 0x02, 0x04, 0x04, 0x02, 0x31, 0x32, 0x32, 0x32 -.BYTE 0x31, 0x32, 0x32, 0x31, 0x31, 0x02, 0x02, 0x31, 0x31, 0x32, 0x31, 0x31 - -# 33 -- hidden fruit -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x19, 0x1A, 0x1A, 0x19, 0x18, 0x17, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x19, 0x1A, 0x1A, 0x1A, 0x1A, 0x18, 0x17, 0x17, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x19, 0x1A, 0x1A, 0x1A, 0x19, 0x18, 0x17, 0x17, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x19, 0x1A, 0x1A, 0x19, 0x18, 0x17, 0x16, 0x17, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x19, 0x1A, 0x19, 0x18, 0x18, 0x17, 0x16, 0x17, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x19, 0x19, 0x18, 0x17, 0x16, 0x17, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 -.BYTE 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18 - -# 34 -- exit -.BYTE 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32 -.BYTE 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x0F, 0x0F, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x0F, 0x0F, 0x00 -.BYTE 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00 -.BYTE 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00 -.BYTE 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00 -.BYTE 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00 -.BYTE 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00 -.BYTE 0x0F, 0x0F, 0x0F, 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00 -.BYTE 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -.BYTE 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32 diff --git a/mp2/buglog.txt b/mp2/buglog.txt deleted file mode 100644 index e58716d..0000000 --- a/mp2/buglog.txt +++ /dev/null @@ -1,37 +0,0 @@ -MP2_BUG_LOG -author: Yuxuan Lin - -1. -DESCRIPTION: - some stupid syntax confusion between C and C++ - error: 'for' loop initial declaration used outside C99 mode -SOLUTION: - This error message indicates that in C code, I tried to declare a variable in the initialization part of the for loop - (i.e. inside the parentheses of the for loop), and this usage does not comply with the C99 standard or later. - So I declared index outside for loop. - -2. -DESCRIPTION: - status bar don't show -SOLUTION: - In modex.h, change #define IMAGE_Y_DIM from 200 to 182 inspired by version checkpoint1 gradesheet - for not showing full maze - -3. -description: when begin to move, there will be an original picture at starting point -SOLUTION: - comment out - // draw_full_block(play_x, play_y, get_player_block(last_dir)); - // show_screen(); - -4: -DESCRIPTION: - Bar did not display on screen -SOLUTION: - change - /* One display page goes at the start of video memory. */ - target_img = 0x0000; - => - target_img = 0x0600; - By changing the memory of status bar, it showed but still emulated - diff --git a/mp2/input-demo b/mp2/input-demo deleted file mode 100644 index 1365dddf613fa742b792d29e09009b5f5497d392..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5952 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 Y_+PbEtSY%2V^iV6OX?L11a9H}4K$}yhyVZp diff --git a/mp2/input.c b/mp2/input.c deleted file mode 100644 index 647a8ab..0000000 --- a/mp2/input.c +++ /dev/null @@ -1,269 +0,0 @@ -/* - * tab:4 - * - * input.c - source file for input control to maze game - * - * "Copyright (c) 2004-2009 by Steven S. Lumetta." - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO - * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL - * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, - * EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE - * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR - * THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, - * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." - * - * Author: Steve Lumetta - * Version: 5 - * Creation Date: Thu Sep 9 22:25:48 2004 - * Filename: input.c - * History: - * SL 1 Thu Sep 9 22:25:48 2004 - * First written. - * SL 2 Sat Sep 12 14:34:19 2009 - * Integrated original release back into main code base. - * SL 3 Sun Sep 13 03:51:23 2009 - * Replaced parallel port with Tux controller code for demo. - * SL 4 Sun Sep 13 12:49:02 2009 - * Changed init_input order slightly to avoid leaving keyboard in odd state on failure. - * SL 5 Sun Sep 13 16:30:32 2009 - * Added a reasonably robust direct Tux control for demo mode. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "assert.h" -#include "input.h" -#include "maze.h" - -#include "tuxctl-ioctl.h" /* need to include t*/ -/* set to 1 and compile this file by itself to test functionality */ -#define TEST_INPUT_DRIVER 1 - -/* set to 1 to use tux controller; otherwise, uses keyboard input */ -#define USE_TUX_CONTROLLER 1 - -/* stores original terminal settings */ -static struct termios tio_orig; - - -int fd; -/* - * init_input - * DESCRIPTION: Initializes the input controller. As both keyboard and - * Tux controller control modes use the keyboard for the quit - * command, this function puts stdin into character mode - * rather than the usual terminal mode. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: 0 on success, -1 on failure - * SIDE EFFECTS: changes terminal settings on stdin; prints an error - * message on failure - */ -int init_input() { - struct termios tio_new; - - /* - * Set non-blocking mode so that stdin can be read without blocking - * when no new keystrokes are available. - */ - if (fcntl(fileno(stdin), F_SETFL, O_NONBLOCK) != 0) { - perror("fcntl to make stdin non-blocking"); - return -1; - } - - /* - * Save current terminal attributes for stdin. - */ - if (tcgetattr(fileno(stdin), &tio_orig) != 0) { - perror ("tcgetattr to read stdin terminal settings"); - return -1; - } - - /* - * Turn off canonical (line-buffered) mode and echoing of keystrokes - * to the monitor. Set minimal character and timing parameters so as - * to prevent delays in delivery of keystrokes to the program. - */ - tio_new = tio_orig; - tio_new.c_lflag &= ~(ICANON | ECHO); - tio_new.c_cc[VMIN] = 1; - tio_new.c_cc[VTIME] = 0; - if (tcsetattr(fileno(stdin), TCSANOW, &tio_new) != 0) { - perror("tcsetattr to set stdin terminal settings"); - return -1; - } - - /* Return success. */ - return 0; -} - -/* - * get_command - * DESCRIPTION: Reads a command from the input controller. As some - * controllers provide only absolute input (e.g., go - * right), the current direction is needed as an input - * to this routine. - * INPUTS: cur_dir -- current direction of motion - * OUTPUTS: none - * RETURN VALUE: command issued by the input controller - * SIDE EFFECTS: drains any keyboard input - */ -cmd_t get_command(dir_t cur_dir) { - static dir_t prev_cur = DIR_STOP; /* previous direction sent */ - static dir_t pushed = DIR_STOP; /* last direction pushed */ -#if (USE_TUX_CONTROLLER == 0) /* use keyboard control with arrow keys */ - static int state = 0; /* small FSM for arrow keys */ -#endif - cmd_t command; - int ch; - - /* - * If the direction of motion has changed, forget the last - * direction pushed. Otherwise, it remains active. - */ - if (prev_cur != cur_dir) { - pushed = DIR_STOP; - prev_cur = cur_dir; - } - - /* Read all characters from stdin. */ - while ((ch = getc(stdin)) != EOF) { - - /* Backquote is used to quit the game. */ - if (ch == '`') - return CMD_QUIT; - -#if (USE_TUX_CONTROLLER == 0) /* use keyboard control with arrow keys */ - /* - * Arrow keys deliver the byte sequence 27, 91, and 'A' to 'D'; - * we use a small finite state machine to identify them. - */ - if (ch == 27) - state = 1; - else if (ch == 91 && state == 1) - state = 2; - else { - if (state == 2 && ch >= 'A' && ch <= 'D') { - switch (ch) { - case 'A': pushed = DIR_UP; break; - case 'B': pushed = DIR_DOWN; break; - case 'C': pushed = DIR_RIGHT; break; - case 'D': pushed = DIR_LEFT; break; - } - } - state = 0; - } -#endif - } - - /* - * Once a direction is pushed, that command remains active - * until a turn is taken. - */ - if (pushed == DIR_STOP) - command = TURN_NONE; - else - command = (pushed - cur_dir + NUM_TURNS) % NUM_TURNS; - - return command; -} - -/* - * shutdown_input - * DESCRIPTION: Cleans up state associated with input control. Restores - * original terminal settings. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: restores original terminal settings - */ -void shutdown_input() { - (void)tcsetattr(fileno(stdin), TCSANOW, &tio_orig); -} - -/* - * display_time_on_tux - * DESCRIPTION: Show number of elapsed seconds as minutes:seconds - * on the Tux controller's 7-segment displays. - * INPUTS: num_seconds -- total seconds elapsed so far - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: changes state of controller's display - */ -void display_time_on_tux(int num_seconds) { -// #if (USE_TUX_CONTROLLER != 0) -// -// #error "Tux controller code is not operational yet." -// #endif - -} - -#if (TEST_INPUT_DRIVER == 1) -int main() { - cmd_t cmd; - dir_t dir = DIR_UP; - static const char* const cmd_name[NUM_TURNS] = { - "none", "right", "back", "left" - }; - static const char* const dir_names[4] = { - "up", "right", "down", "left" - }; - - /* Grant ourselves permission to use ports 0-1023 */ - if (ioperm(0, 1024, 1) == -1) { - perror("ioperm"); - return 3; - } - - /* provided commands to initialize file descriptor */ - fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY); - int ldisc_num = N_MOUSE; - ioctl(fd, TIOCSETD, &ldisc_num); - - unsigned long button; /* variable to test TUX_BUTTONS */ - int count=0; - printf("init!"); - ioctl(fd,TUX_INIT); /* test TUX_INIT */ - //ioctl(fd,TUX_SET_LED, 0x0d0bffff); /* test TUX_SET_LED */ - while(1){ /* test TUX_BUTTONS */ - if(count % 32 ==0){ - ioctl(fd,TUX_SET_LED, 0x0f011111); - } - ioctl(fd,TUX_BUTTONS, &button); - printf("%x", button); - printf("\n"); - count++; - } - - init_input(); - while (1) { - - printf("CURRENT DIRECTION IS %s\n", dir_names[dir]); - while ((cmd = get_command(dir)) == TURN_NONE); - if (cmd == CMD_QUIT) - break; - display_time_on_tux(83); - printf ("%s\n", cmd_name[cmd]); - dir = (dir + cmd) % 4; - } - shutdown_input(); - return 0; -} -#endif diff --git a/mp2/input.h b/mp2/input.h deleted file mode 100644 index 8832a6f..0000000 --- a/mp2/input.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * tab:4 - * - * input.h - header file for input control to maze game - * - * "Copyright (c) 2004-2009 by Steven S. Lumetta." - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO - * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL - * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, - * EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE - * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR - * THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, - * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." - * - * Author: Steve Lumetta - * Version: 2 - * Creation Date: Thu Sep 9 22:22:00 2004 - * Filename: input.h - * History: - * SL 1 Thu Sep 9 22:22:00 2004 - * First written. - * SL 2 Sun Sep 13 04:11:44 2009 - * Changed display interface for Tux controller. - */ - -#ifndef INPUT_H -#define INPUT_H - -/* possible commands from input device, whether keyboard or game controller */ -typedef enum { - TURN_NONE, TURN_RIGHT, TURN_BACK, TURN_LEFT, - NUM_TURNS, CMD_QUIT = NUM_TURNS -} cmd_t; - -/* Initialize the input device. */ -extern int init_input(); - -/* Read a command from the input device. */ -extern cmd_t get_command(); - -/* Shut down the input device. */ -extern void shutdown_input(); - -/* - * Show the elapsed seconds on the Tux controller (no effect when - * compiled for a keyboard). - */ -extern void display_time_on_tux(int num_seconds); - -#endif /* INPUT_H */ diff --git a/mp2/maze.c b/mp2/maze.c deleted file mode 100644 index 74647d6..0000000 --- a/mp2/maze.c +++ /dev/null @@ -1,863 +0,0 @@ -/* - * tab:4 - * - * maze.c - maze generation and display functions - * - * "Copyright (c) 2004-2009 by Steven S. Lumetta." - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO - * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL - * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, - * EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE - * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR - * THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, - * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." - * - * Author: Steve Lumetta - * Version: 3 - * Creation Date: Fri Sep 10 09:58:42 2004 - * Filename: maze.c - * History: - * SL 1 Fri Sep 10 09:58:42 2004 - * First written. - * SL 2 Sat Sep 12 14:17:45 2009 - * Integrated original release back into main code base. - * SL 3 Sat Sep 12 18:41:31 2009 - * Integrated Nate Taylor's "god mode." - */ - -#include -#include -#include -#include -#include - -#include "blocks.h" -#include "input.h" -#include "maze.h" -#include "modex.h" - -/* Set to 1 to test maze generation routines. */ -#define TEST_MAZE_GEN 0 - -/* Set to 1 to remove all walls as a debugging aid. (Nate Taylor, S07). */ -#define GOD_MODE 1 - -/* local functions--see function headers for details */ -static int mark_maze_area(int x, int y); -static void add_a_fruit_internal(); -#if (TEST_MAZE_GEN == 0) /* not used when testing maze generation */ -static unsigned char* find_block(int x, int y); -static void _add_a_fruit(int show); -#endif - -/* - * The maze array contains a one byte bit vector (maze_bit_t) for each - * location in a maze. The left and right boundaries of the maze are unified, - * i.e., column 0 also forms the right boundary via wraparound. Drawings - * for each block in the maze are chosen based on a five-point stencil - * that includes north, east, south, and west neighbor blocks. For - * simplicity, the maze array is extended with additional rows on the top - * and bottom to avoid boundary conditions. - * - * Under these assumptions, the upper left boundary of the maze is at (0,1), - * and the lower right boundary is at (2 X_DIM, 2 Y_DIM + 1). The stencil - * calculation for the lower right boundary includes the point below it, - * which is (2 X_DIM, 2 Y_DIM + 2). As the width of the maze is 2 X_DIM, - * the index of this point is 2 X_DIM + (2 Y_DIM + 2) * 2 X_DIM, or - * 2 X_DIM (2 Y_DIM + 3), and the space allocated is one larger than this - * maximum index value. - */ -static unsigned char maze[2 * MAZE_MAX_X_DIM * (2 * MAZE_MAX_Y_DIM + 3) + 1]; -static int maze_x_dim; /* horizontal dimension of maze */ -static int maze_y_dim; /* vertical dimension of maze */ -static int n_fruits; /* number of fruits in maze */ -static int exit_x, exit_y; /* lattice point of maze exit */ - -/* - * maze array index calculation macro; maze dimensions are valid only - * after a call to make_maze - */ -#define MAZE_INDEX(a,b) ((a) + ((b) + 1) * maze_x_dim * 2) - -/* - * mark_maze_area - * DESCRIPTION: Uses a breadth-first search to marks all parts of the - * maze accessible from (x,y) with the MAZE_REACH bit. - * Stops at walls and at maze locations already marked - * as reached. - * INPUTS: (x,y) -- starting coordinate within maze - * OUTPUTS: none - * RETURN VALUE: number of maze locations marked - * SIDE EFFECTS: leaves MAZE_REACH markers on marked portion of maze - */ -static int mark_maze_area(int x, int y) { - /* - * queue for breadth-first search - * - * The queue holds pointers to maze locations in memory. It is - * large enough to hold the whole maze, although it should never - * hold more than twice the minimum of rows and columns at any - * time with our maze graphs. - * - * q_start is the index of the first unexplored location in the queue - * q_end is the index just after the last unexplored location in the - * queue - * cur is the maze location being explored - */ - unsigned char* q[MAZE_MAX_X_DIM * MAZE_MAX_Y_DIM]; - int q_start, q_end; - unsigned char* cur; - - /* Mark the starting location as reached, then put it into the queue. */ - q[0] = &maze[MAZE_INDEX(x, y)]; - *(q[0]) |= MAZE_REACH; - q_start = 0; - q_end = 1; - - /* Loop until queue is empty. */ - while (q_start != q_end) { - /* Get location from front of queue. */ - cur = q[q_start++]; - - /* - * Explore four directions from current position. Maze - * construction guarantees that an adjacent open space implies - * that the subsequent space in the same direction both exists - * and is open (not a MAZE_WALL). - * - * Newly found locations are marked as reached before being - * added to the queue, which prevents the same location from - * being added when reached by multiple paths of equal length - * from the starting point. - */ - if ((cur[-2 * maze_x_dim] & MAZE_WALL) == 0 && - (cur[-4 * maze_x_dim] & MAZE_REACH) == 0) { - cur[-4 * maze_x_dim] |= MAZE_REACH; - q[q_end++] = &cur[-4 * maze_x_dim]; - } - if ((cur[1] & MAZE_WALL) == 0 && - (cur[2] & MAZE_REACH) == 0) { - cur[2] |= MAZE_REACH; - q[q_end++] = &cur[2]; - } - if ((cur[2 * maze_x_dim] & MAZE_WALL) == 0 && - (cur[4 * maze_x_dim] & MAZE_REACH) == 0) { - cur[4 * maze_x_dim] |= MAZE_REACH; - q[q_end++] = &cur[4 * maze_x_dim]; - } - if ((cur[-1] & MAZE_WALL) == 0 && - (cur[-2] & MAZE_REACH) == 0) { - cur[-2] |= MAZE_REACH; - q[q_end++] = &cur[-2]; - } - } - - /* - * The queue is empty. The number of locations marked is just q_end, - * the number that passed through the queue. - */ - return q_end; -} - -/* - * make_maze - * DESCRIPTION: Create a maze of specified dimensions. The maze is - * built as a two-dimensional lattice in which the points - * 01234 with odd indices in both dimensions are always open, - * 0 ----- those with even indices in both dimensions are always - * 1 - ? - walls, and other points are either open or walls to form - * 2 -?*?- the maze. The maze to the left is a 2x2 example. The - * 3 - ? - spaces are the four (odd,odd) lattice points. The - * 4 ----- boundary is marked with minus signs (these are always - * walls). The one (even,even) lattice point--also always - * a wall--is marked with an asterisk. Finally, the - * four question marks may or may not be walls; these - * four options are used to create different mazes. - * - * The algorithm used consists of two phases. In the first - * phase, metaphorical worms are dropped into the maze and - * allowed to wander about randomly, digging out the maze, - * until they decide to stop. More worms are added until - * all of the (odd,odd) points have been cleared. Each worm - * starts on an (odd,odd) point still marked as a wall. - * - * Once the worms have done their work, the second phase - * of the algorithm begins. This phase ensures that a path - * exists from any (odd,odd) lattice point to any other - * (odd,odd) point. First, those points connected to the - * point (1,1) are marked as reachable. Next, an unconnected - * point adjacent to a connected point is chosen at random, - * and the wall between them is removed, making another - * section of the maze reachable from (1,1). This process - * continues until most of the maze is reachable or a - * certain number of attempts have been made, at which point - * we scan the maze for such adjacent pairs (rather than - * choosing randomly) until the entire maze is reachable - * from (1,1). - * INPUTS: (x_dim,y_dim) -- size of maze - * start_fruits -- number of fruits to place in maze - * OUTPUTS: none - * RETURN VALUE: 0 on success, -1 on failure (if requested maze size - * exceeds limits set by defined values, with minimum - * (MAZE_MIN_X_DIM,MAZE_MIN_Y_DIM) and maximum - * (MAZE_MAX_X_DIM,MAZE_MAX_Y_DIM)) - * SIDE EFFECTS: leaves MAZE_REACH markers on marked portion of maze - */ -int make_maze(int x_dim, int y_dim, int start_fruits) { - /* - * worm turn weights; the first dimension is relative direction - * (number of 90-degree turns clockwise from up); the second is - * whether the resulting space is open (not a wall) or a wall. - */ - static int turn_wt[4][2] = {{1, 84}, {1, 9}, {3, 3}, {1, 9}}; - - int remaining, trials; - int x, y, wt[4], pick, dir, pref_dir, total, i; - unsigned char* cur; - - /* Check the requested size, and save in local state if it is valid. */ - if (x_dim < MAZE_MIN_X_DIM || x_dim > MAZE_MAX_X_DIM || - y_dim < MAZE_MIN_Y_DIM || y_dim > MAZE_MAX_Y_DIM) - return -1; - maze_x_dim = x_dim; - maze_y_dim = y_dim; - - /* Fill the maze with walls. */ - memset(maze, MAZE_WALL, sizeof (maze)); - - /* Seed the random number generator. */ - srandom(time (NULL)); - - /* - * 'worm' phase of maze generation - */ - - /* - * Track the number of (odd,odd) lattice points still marked - * as MAZE_WALL. - */ - remaining = maze_x_dim * maze_y_dim; - do { - /* Pick an (odd,odd) lattice point still marked as a MAZE_WALL. */ - do { - x = (random() % maze_x_dim) * 2 + 1; - y = (random() % maze_y_dim) * 2 + 1; - } while ((maze[MAZE_INDEX(x, y)] & MAZE_WALL) == 0); - - /* Empty the starting point. */ - maze[MAZE_INDEX(x, y)] = MAZE_NONE; - remaining--; - - /* The worm's initial preferred direction is random. */ - pref_dir = (random() % 4); - - /* Move around the maze until worm turns back on itself. */ - while (1) { - /* - * Choose the next direction of motion using weighted random - * selection. The directions are hardcoded. The wt array - * is the cumulative weight for each direction, and total - * holds the running total weight (==wt[3] at the end). - * A random value from 0 to total-1 is then chosen, and the - * direction picked according to the weight distribution. - * Weighting depends on direction and whether or not the - * maze location has already been visited (is not a MAZE_WALL). - * This code - */ - total = 0; - if (y > 1) - total += turn_wt[pref_dir][maze[MAZE_INDEX(x, y - 2)] == MAZE_WALL]; - wt[0] = total; - if (x < maze_x_dim * 2 - 1) - total += turn_wt[(pref_dir + 3) % 4][maze[MAZE_INDEX(x + 2, y)] == MAZE_WALL]; - wt[1] = total; - if (y < maze_y_dim * 2 - 1) - total += turn_wt[(pref_dir + 2) % 4][maze[MAZE_INDEX(x, y + 2)] == MAZE_WALL]; - wt[2] = total; - if (x > 1) - total += turn_wt[(pref_dir + 1) % 4][maze[MAZE_INDEX(x - 2, y)] == MAZE_WALL]; - wt[3] = total; - pick = (random() % total); - for (dir = 0; pick >= wt[dir]; dir++); - - /* If worm decides to turn around, it's done. */ - if (((dir - pref_dir + 4) % 4) == 2) - break; - - /* Move one space in the preferred direction. */ - pref_dir = dir; - switch (pref_dir) { - case 0: - maze[MAZE_INDEX(x, y - 1)] = MAZE_NONE; - y -=2; - break; - case 1: - maze[MAZE_INDEX(x + 1, y)] = MAZE_NONE; - x += 2; - break; - case 2: - maze[MAZE_INDEX(x, y + 1)] = MAZE_NONE; - y +=2; - break; - case 3: - maze[MAZE_INDEX(x - 1, y)] = MAZE_NONE; - x -= 2; - break; - } - - /* If necessary, the worm 'eats' the wall at the new space. */ - if (maze[MAZE_INDEX(x, y)] == MAZE_WALL) - remaining--; - maze[MAZE_INDEX(x, y)] = MAZE_NONE; - } /* loop for one worm */ - - /* - * The worm phase continues until all of the (odd,odd) lattice - * points in the maze are all empty. - */ - } while (remaining > 0); - - /* - * Begin the second phase of the algorithm, in which we guarantee - * connectivity between all (odd,odd) lattice points in the maze. - * We start by marking everything connected to (1,1). - */ - remaining = maze_x_dim * maze_y_dim - mark_maze_area (1, 1); - trials = 0; - do { - /* - * Once most of the maze is connected, or we have tried randomly - * "enough" times (arbitrarily defined as 100 times here, we scan - * the rest of the maze for opportunities for connecting new regions - * of the maze to the (1,1) lattice point. - */ - if (remaining < 20 || ++trials > 100) { - if ((x += 2) > maze_x_dim * 2) { - x -= maze_x_dim * 2; - if ((y += 2) > 2 * maze_y_dim) - y -= 2 * maze_y_dim; - } - cur = &maze[MAZE_INDEX(x, y)]; - if ((cur[0] & MAZE_REACH) != 0) - continue; - } else { - /* Pick an unconnected (odd,odd) lattice point at random. */ - do { - x = (random() % maze_x_dim) * 2 + 1; - y = (random() % maze_y_dim) * 2 + 1; - cur = &maze[MAZE_INDEX(x, y)]; - } while ((cur[0] & MAZE_REACH) != 0); - } - /* - * Try to connect the unconnected point by knocking down a wall - * in some direction. - */ - if (y > 1 && (cur[-4 * maze_x_dim] & MAZE_REACH) != 0) - cur[-2 * maze_x_dim] = MAZE_NONE; - else if (x > 1 && (cur[-2] & MAZE_REACH) != 0) - cur[-1] = MAZE_NONE; - else if (x < 2 * maze_x_dim - 1 && (cur[2] & MAZE_REACH) != 0) - cur[1] = MAZE_NONE; - else if (y < 2 * maze_y_dim - 1 && (cur[4 * maze_x_dim] & MAZE_REACH) != 0) - cur[2 * maze_x_dim] = MAZE_NONE; - else - continue; - /* - * Success! Mark the newly connected portion of the maze - * as reachable. - */ - remaining -= mark_maze_area(x, y); - } while (remaining > 0); - - /* - * Remove the MAZE_REACH markers--these are reused to mark those - * portions of the maze already seen by the player. - */ - for (x = 1; x < 2 * maze_x_dim; x += 2) - for (y = 1; y < 2 * maze_y_dim; y += 2) - maze[MAZE_INDEX(x, y)] &= ~MAZE_REACH; - -#if 0 /* Be kind and show the maze boundary at start. */ - for (x = 0; x < 2 * maze_x_dim; x++) { - maze[MAZE_INDEX(x, 0)] |= MAZE_REACH; - maze[MAZE_INDEX(x, 2 * maze_y_dim)] |= MAZE_REACH; - } - /* The value at y == 2 * maze_y_dim is the bottom of the right boundary. */ - for (y = 0; y <= 2 * maze_y_dim + 1; y++) - maze[MAZE_INDEX(0, y)] |= MAZE_REACH; -#endif - -#if GOD_MODE /* Remove all walls! */ - for (x = 1; x < 2 * maze_x_dim; x++) { - for (y = 1; y < 2 * maze_y_dim; y++) { - maze[MAZE_INDEX(x, y)] = MAZE_NONE; - } - } -#endif - - /* Put the required number of fruits in the maze. */ - n_fruits = 0; - for (i = 0; i < start_fruits; i++) - add_a_fruit_internal(); - - /* Find an unfruited maze point and put the maze exit there. */ - do { - x = (random() % maze_x_dim) * 2 + 1; - y = (random() % maze_y_dim) * 2 + 1; - } while ((maze[MAZE_INDEX(x, y)] & MAZE_FRUIT)); - maze[MAZE_INDEX(x, y)] |= MAZE_EXIT; - exit_x = x; - exit_y = y; - - return 0; -} - -/* - * The functions inside the preprocessor block below rely on block image - * data in blocks.s. These external data are neither available nor - * necessary for testing maze generation, and are omitted to simplify - * linking the test program (i.e., when TEST_MAZE_GEN is 1). - */ -#if (TEST_MAZE_GEN == 0) - -/* - * find_block - * DESCRIPTION: Find the appropriate image to be used for a given maze - * lattice point. - * INPUTS: (x,y) -- the maze lattice point - * OUTPUTS: none - * RETURN VALUE: a pointer to an image of a BLOCK_X_DIM x BLOCK_Y_DIM - * block of data with one byte per pixel laid out as a - * C array of dimension [BLOCK_Y_DIM][BLOCK_X_DIM] - * SIDE EFFECTS: none - */ -static unsigned char* find_block(int x, int y) { - int fnum; /* fruit found */ - int pattern; /* stencil pattern for surrounding walls */ - - /* Record whether fruit is present. */ - fnum = (maze[MAZE_INDEX(x, y)] & MAZE_FRUIT) / MAZE_FRUIT_1; - - /* The exit is always visible once the last fruit is collected. */ - if (n_fruits == 0 && (maze[MAZE_INDEX(x, y)] & MAZE_EXIT) != 0) - return (unsigned char*)blocks[BLOCK_EXIT]; - - /* - * Everything else not reached is shrouded in mist, although fruits - * show up as bumps. - */ - if ((maze[MAZE_INDEX(x, y)] & MAZE_REACH) == 0) { - if (fnum != 0) - return (unsigned char*)blocks[BLOCK_FRUIT_SHADOW]; - return (unsigned char*)blocks[BLOCK_SHADOW]; - } - - /* Show fruit. */ - if (fnum != 0) - return (unsigned char*)blocks[BLOCK_FRUIT_1 + fnum - 1]; - - /* Show empty space. */ - if ((maze[MAZE_INDEX(x, y)] & MAZE_WALL) == 0) - return (unsigned char*)blocks[BLOCK_EMPTY]; - - /* Show different types of walls. */ - pattern = (((maze[MAZE_INDEX(x, y - 1)] & MAZE_WALL) != 0) << 0) | - (((maze[MAZE_INDEX(x + 1, y)] & MAZE_WALL) != 0) << 1) | - (((maze[MAZE_INDEX(x, y + 1)] & MAZE_WALL) != 0) << 2) | - (((maze[MAZE_INDEX(x - 1, y)] & MAZE_WALL) != 0) << 3); - return (unsigned char*)blocks[pattern]; -} - -/* - * fill_horiz_buffer - * DESCRIPTION: Given the (x,y) map pixel coordinate of the leftmost - * pixel of a line to be drawn on the screen, this routine - * produces an image of the line. Each pixel on the line - * is represented as a single byte in the image. - * INPUTS: (x,y) -- leftmost pixel of line to be drawn - * OUTPUTS: buf -- buffer holding image data for the line - * RETURN VALUE: none - * SIDE EFFECTS: none - */ -void fill_horiz_buffer(int x, int y, unsigned char buf[SCROLL_X_DIM]) { - int map_x, map_y; /* maze lattice point of the first block on line */ - int sub_x, sub_y; /* sub-block address */ - int idx; /* loop index over pixels in the line */ - unsigned char* block; /* pointer to current maze block image */ - - /* Find the maze lattice point and the pixel address within that block. */ - map_x = x / BLOCK_X_DIM; - map_y = y / BLOCK_Y_DIM; - sub_x = x - map_x * BLOCK_X_DIM; - sub_y = y - map_y * BLOCK_Y_DIM; - - /* Loop over pixels in line. */ - for (idx = 0; idx < SCROLL_X_DIM; ) { - - /* Find address of block to be drawn. */ - block = find_block(map_x++, map_y) + sub_y * BLOCK_X_DIM + sub_x; - - /* Write block colors from one line into buffer. */ - for (; idx < SCROLL_X_DIM && sub_x < BLOCK_X_DIM; idx++, sub_x++) - buf[idx] = *block++; - - /* - * All subsequent blocks are copied starting from the left side - * of the block. - */ - sub_x = 0; - } -} - -/* - * fill_vert_buffer - * DESCRIPTION: Given the (x,y) map pixel coordinate of the top pixel of - * a vertical line to be drawn on the screen, this routine - * produces an image of the line. Each pixel on the line - * is represented as a single byte in the image. - * INPUTS: (x,y) -- top pixel of line to be drawn - * OUTPUTS: buf -- buffer holding image data for the line - * RETURN VALUE: none - * SIDE EFFECTS: none - */ -void fill_vert_buffer(int x, int y, unsigned char buf[SCROLL_Y_DIM]) { - int map_x, map_y; /* maze lattice point of the first block on line */ - int sub_x, sub_y; /* sub-block address */ - int idx; /* loop index over pixels in the line */ - unsigned char* block; /* pointer to current maze block image */ - - /* Find the maze lattice point and the pixel address within that block. */ - map_x = x / BLOCK_X_DIM; - map_y = y / BLOCK_Y_DIM; - sub_x = x - map_x * BLOCK_X_DIM; - sub_y = y - map_y * BLOCK_Y_DIM; - - /* Loop over pixels in line. */ - for (idx = 0; idx < SCROLL_Y_DIM; ) { - - /* Find address of block to be drawn. */ - block = find_block(map_x, map_y++) + sub_y * BLOCK_X_DIM + sub_x; - - /* Write block colors from one line into buffer. */ - for (; idx < SCROLL_Y_DIM && sub_y < BLOCK_Y_DIM; - idx++, sub_y++, block += BLOCK_X_DIM) - buf[idx] = *block; - - /* - * All subsequent blocks are copied starting from the top - * of the block. - */ - sub_y = 0; - } - - return; -} - -/* - * unveil_space - * DESCRIPTION: Unveils a maze lattice point (marks as MAZE_REACH, which - * means that it is drawn normally rather than as under mist), - * redrawing it if necessary. - * INPUTS: (x,y) -- the lattice point to be unveiled - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: may draw to the screen - */ -void unveil_space(int x, int y) { - unsigned char* cur; /* pointer to the maze lattice point */ - - /* - * There's a wee bitty little bug in this function in the sense - * that, if the left boundary is exposed, and the player reaches - * the right boundary without scrolling the screen, the right - * boundary will not be redrawn, and will appear to remain obscured. - * One fix is to draw both left and right boundaries when unveiling - * a left/right boundary block. But it doesn't matter much, since - * left and right boundaries aren't on the screen at the same time - * anyway for our mazes. - */ - - /* - * Allow exposure of bottom and right boundaries (left and right - * boundaries are the same lattice point in the maze). - */ - if (x < 0 || x > 2 * maze_x_dim || y < 0 || y > 2 * maze_y_dim) - return; - - /* Has the location already been seen? If so, do nothing. */ - cur = &maze[MAZE_INDEX(x, y)]; - if (*cur & MAZE_REACH) - return; - - /* Unveil the location and redraw it. */ - *cur |= MAZE_REACH; - draw_full_block (x * BLOCK_X_DIM, y * BLOCK_Y_DIM, find_block(x, y)); -} - -/* - * check_for_fruit - * DESCRIPTION: Checks a maze lattice point for fruit, eats the fruit if - * one is present (i.e., removes it from the maze), and updates - * the number of fruits (including displayed number). - * INPUTS: (x,y) -- the lattice point to be checked for fruit - * OUTPUTS: none - * RETURN VALUE: fruit number found (1 to NUM_FRUITS), or 0 for no fruit - * SIDE EFFECTS: may draw to the screen (empty fruit and, once last fruit - * is eaten, the maze exit) - */ -int check_for_fruit(int x, int y) { - int fnum; /* fruit number found */ - - /* If outside the feasible fruit range, return no fruit. */ - if (x < 0 || x >= 2 * maze_x_dim || y < 0 || y >= 2 * maze_y_dim) - return 0; - - /* Calculate the fruit number. */ - fnum = (maze[MAZE_INDEX(x, y)] & MAZE_FRUIT) / MAZE_FRUIT_1; - - /* If fruit was present... */ - if (fnum != 0) { - /* ...remove it. */ - maze[MAZE_INDEX(x, y)] &= ~MAZE_FRUIT; - - /* Update the count of fruits. */ - --n_fruits; - - /* The exit may appear. */ - if (n_fruits == 0) - draw_full_block (exit_x * BLOCK_X_DIM, exit_y * BLOCK_Y_DIM, find_block(exit_x, exit_y)); - - /* Redraw the space with no fruit. */ - draw_full_block (x * BLOCK_X_DIM, y * BLOCK_Y_DIM, find_block(x, y)); - } - - /* Return the fruit number found. */ - return fnum; -} - -/* - * check_for_win - * DESCRIPTION: Checks whether the play has won the maze by reaching a - * given maze lattice point. Winning occurs when no fruits - * remain in the maze, and the player reaches the maze exit. - * INPUTS: (x,y) -- the lattice point at which the player has arrived - * OUTPUTS: none - * RETURN VALUE: 1 if player has won, 0 if not - * SIDE EFFECTS: none - */ -int check_for_win(int x, int y) { - /* Check that position falls within valid boundaries for exit. */ - if (x < 0 || x >= 2 * maze_x_dim || y < 0 || y >= 2 * maze_y_dim) - return 0; - - /* Return win condition. */ - return (n_fruits == 0 && (maze[MAZE_INDEX(x, y)] & MAZE_EXIT) != 0); -} - -/* - * _add_a_fruit - * DESCRIPTION: Add a fruit to a random (odd,odd) lattice point in the - * maze. Update the number of fruits, including the displayed - * value. If requested, draw the new fruit on the screen. - * INPUTS: show -- 1 if new fruit should be drawn, 0 if not - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: changes displayed fruit value, may draw to screen - */ -static void _add_a_fruit(int show) { - int x, y; /* lattice point for new fruit */ - - /* - * Pick an unfruited lattice point at random. Could fall on the - * maze exit, if that is already defined. - */ - do { - x = (random() % maze_x_dim) * 2 + 1; - y = (random() % maze_y_dim) * 2 + 1; - } while ((maze[MAZE_INDEX(x, y)] & MAZE_FRUIT)); - - /* Add a random fruit to that location. */ - maze[MAZE_INDEX(x, y)] |= ((random() % NUM_FRUIT_TYPES) + 1) * MAZE_FRUIT_1; - - /* Update the number of fruits. */ - ++n_fruits; - - /* If necessary, draw the fruit on the screen. */ - if (show) - draw_full_block (x * BLOCK_X_DIM, y * BLOCK_Y_DIM, find_block(x, y)); -} - -/* - * add_a_fruit - * DESCRIPTION: Add a fruit to a random (odd, odd) lattice point in the - * maze. Update the number of fruits, including the displayed - * value. Draw the new fruit on the screen. If the new fruit - * is the only one in the maze, erase the maze exit. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: the number of fruits in the maze (after addition) - * SIDE EFFECTS: changes displayed fruit value, may draw to screen - */ -int add_a_fruit() { - /* Most of the work is done by a helper function. */ - _add_a_fruit(1); - - /* The exit may disappear. */ - if (n_fruits == 1) - draw_full_block (exit_x * BLOCK_X_DIM, exit_y * BLOCK_Y_DIM, - find_block(exit_x, exit_y)); - - /* Return the current number of fruits in the maze. */ - return n_fruits; -} - -/* - * add_a_fruit_internal - * DESCRIPTION: Add a fruit to a random (odd,odd) lattice point in the - * maze. Update the number of fruits, including the displayed - * value. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: changes displayed fruit value - */ -static void add_a_fruit_internal() { - /* - * Call a helper function, indicating that fruit should not be drawn - * on the screen at this point. - */ - _add_a_fruit(0); -} - -/* - * get_player_block - * DESCRIPTION: Get a graphical image for the player. - * INPUTS: cur_dir -- current direction of motion for the player - * OUTPUTS: none - * RETURN VALUE: a pointer to an image of a BLOCK_X_DIM x BLOCK_Y_DIM - * block of data with one byte per pixel laid out as a - * C array of dimension [BLOCK_Y_DIM][BLOCK_X_DIM] - * SIDE EFFECTS: none - */ -unsigned char* get_player_block(dir_t cur_dir) { - return (unsigned char*)blocks[BLOCK_PLAYER_UP + cur_dir]; -} - -/* - * get_player_mask - * DESCRIPTION: Get a graphical mask for the player. - * INPUTS: cur_dir -- current direction of motion for the player - * OUTPUTS: none - * RETURN VALUE: a pointer to an image of a BLOCK_X_DIM x BLOCK_Y_DIM - * block of data with one byte per pixel laid out as a - * C array of dimension [BLOCK_Y_DIM][BLOCK_X_DIM]; - * the bytes in this block indicate whether or not the - * corresponding byte in the player image should be - * drawn (1 is drawn/opaque, 0 is not drawn/fully - * transparent) - * SIDE EFFECTS: none - */ -unsigned char* get_player_mask(dir_t cur_dir) { - return (unsigned char*)blocks[BLOCK_PLAYER_MASK_UP + cur_dir]; -} - -/* - * find_open_directions - * DESCRIPTION: Determine which directions are open to movement from a - * given maze point. - * INPUTS: (x,y) -- lattice point of interest in maze - * OUTPUTS: open[] -- array of boolean values indicating that a direction - * is open; indexed by DIR_* enumeration values - * RETURN VALUE: none - * SIDE EFFECTS: none - */ -void find_open_directions(int x, int y, int op[NUM_DIRS]) { - op[DIR_UP] = (0 == (maze[MAZE_INDEX(x, y - 1)] & MAZE_WALL)); - op[DIR_RIGHT] = (0 == (maze[MAZE_INDEX(x + 1, y)] & MAZE_WALL)); - op[DIR_DOWN] = (0 == (maze[MAZE_INDEX(x, y + 1)] & MAZE_WALL)); - op[DIR_LEFT] = (0 == (maze[MAZE_INDEX(x - 1, y)] & MAZE_WALL)); -} - -/* - * get_fruit_num - * DESCRIPTION: get number of fruit in maze. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: n_fruits - * SIDE EFFECTS: none - */ -int get_fruit_num(){ - return n_fruits; -} - -#else /* TEST_MAZE_GEN == 1 */ -/* - * The code here allows you to test the maze generation routines visually - * by creating a maze and printing it to the screen. - */ - -/* - * print_maze - * DESCRIPTION: Print a maze as ASCII text. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: prints to stdout - */ -void print_maze() { - int i; /* vertical loop index */ - int j; /* horizontal loop index */ - - /* Loop over maze rows. */ - for (i = 0; i <= 2 * maze_y_dim; i++) { - - /* Loop over maze columns. */ - for (j = 0; j <= 2 * maze_x_dim; j++) { - - /* - * Print open spaces and walls, reached and unreached, as - * distinct characters. - */ - printf("%c", - ((maze[MAZE_INDEX(j, i)] & MAZE_WALL) ? - ((maze[MAZE_INDEX(j, i)] & MAZE_REACH) ? '*' : '%') : - ((maze[MAZE_INDEX(j, i)] & MAZE_REACH) ? '.' : ' '))); - } - - /* End the printed line. */ - puts(""); - } -} - -/* - * This function is called in maze generation. We define a stub to keep - * the linker happy. - */ -static void add_a_fruit_internal() {} - -/* - * main - * DESCRIPTION: main program for testing maze generation; hardwired to - * build and print a maze of a certain size - * INPUTS: none (command line arguments are ignored) - * OUTPUTS: none - * RETURN VALUE: 0 on success (always!) - */ -int main() { - make_maze(20, 20, 0); - print_maze(); - return 0; -} - -#endif /* TEST_MAZE_GEN */ diff --git a/mp2/maze.h b/mp2/maze.h deleted file mode 100644 index bccd122..0000000 --- a/mp2/maze.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * tab:4 - * - * maze.h - maze generation and display header file - * - * "Copyright (c) 2004-2009 by Steven S. Lumetta." - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO - * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL - * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, - * EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE - * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR - * THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, - * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." - * - * Author: Steve Lumetta - * Version: 2 - * Creation Date: Thu Sep 9 22:09:54 2004 - * Filename: maze.h - * History: - * SL 1 Thu Sep 9 22:09:54 2004 - * First written. - * SL 2 Sat Sep 12 14:01:15 2009 - * Integrated original release back into main code base. - */ - -#ifndef MAZE_H -#define MAZE_H - -#include "blocks.h" -#include "modex.h" - -#define SHOW_MIN 6 /* hide the last six pixels of boundary */ - -/* - * Define maze minimum and maximum dimensions. The description of make_maze - * in maze.c gives details on the layout of the maze. Minimum values are - * chosen to ensure that a maze fills the scrolling region of the screen. - * Maximum values are somewhat arbitrary. - */ -#define MAZE_MIN_X_DIM ((SCROLL_X_DIM + (BLOCK_X_DIM - 1) + 2 * SHOW_MIN) / (2 * BLOCK_X_DIM)) -#define MAZE_MAX_X_DIM 50 -#define MAZE_MIN_Y_DIM ((SCROLL_Y_DIM + (BLOCK_Y_DIM - 1) + 2 * SHOW_MIN) / (2 * BLOCK_Y_DIM)) -#define MAZE_MAX_Y_DIM 30 - -/* bit vector of properties for spaces in the maze */ -typedef enum { - MAZE_NONE = 0, /* empty */ - MAZE_WALL = 1, /* wall */ - MAZE_FRUIT_1 = 2, /* fruit (3-bit field, with 0 for no fruit) */ - MAZE_FRUIT_2 = 4, - MAZE_FRUIT_3 = 8, - LAST_MAZE_FRUIT_BIT = MAZE_FRUIT_3, - MAZE_FRUIT = (MAZE_FRUIT_1 | MAZE_FRUIT_2 | MAZE_FRUIT_3), - MAZE_EXIT = 16, /* exit from maze */ - MAZE_REACH = 128 /* seen already (not shrouded in mist) */ -} maze_bit_t; - -/* create a maze and place some fruits inside it */ -extern int make_maze(int x_dim, int y_dim, int start_fruits); - -/* fill a buffer with the pixels for a horizontal line of the maze */ -extern void fill_horiz_buffer(int x, int y, unsigned char buf[SCROLL_X_DIM]); - -/* fill a buffer with the pixels for a vertical line of the maze */ -extern void fill_vert_buffer(int x, int y, unsigned char buf[SCROLL_Y_DIM]); - -/* mark a maze location as reached and draw it onto the screen if necessary */ -extern void unveil_space(int x, int y); - -/* consume fruit at a space, if any; returns the fruit number consumed */ -extern int check_for_fruit(int x, int y); - -/* check whether the player has reached the exit with no fruits left */ -extern int check_for_win(int x, int y); - -/* add a new fruit randomly in the maze */ -extern int add_a_fruit(); - -/* get pointer to the player's block image; depends on direction of motion */ -extern unsigned char* get_player_block(dir_t cur_dir); - -/* get pointer to the player's mask image; depends on direction of motion */ -extern unsigned char* get_player_mask(dir_t cur_dir); - -/* determine which directions are open to movement from a given maze point */ -extern void find_open_directions(int x, int y, int op[NUM_DIRS]); - -/* get number of fruit exist*/ -extern int get_fruit_num(); - -#endif /* MAZE_H */ diff --git a/mp2/mazegame-demo b/mp2/mazegame-demo deleted file mode 100644 index c864f4f52bc6d43dfe593237ee07904a4aa2ea25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31736 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 diff --git a/mp2/mazegame.c b/mp2/mazegame.c deleted file mode 100644 index 610f409..0000000 --- a/mp2/mazegame.c +++ /dev/null @@ -1,888 +0,0 @@ -/* - * tab:4 - * - * mazegame.c - main source file for ECE398SSL maze game (F04 MP2) - * - * "Copyright (c) 2004 by Steven S. Lumetta." - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO - * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL - * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, - * EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE - * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR - * THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, - * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." - * - * Author: Steve Lumetta - * Version: 1 - * Creation Date: Fri Sep 10 09:57:54 2004 - * Filename: mazegame.c - * History: - * SL 1 Fri Sep 10 09:57:54 2004 - * First written. - */ - -#include -#include -#include - -#include "blocks.h" -#include "maze.h" -#include "modex.h" -#include "text.h" - -#include "module/tuxctl-ioctl.h" - -// New Includes and Defines -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BACKQUOTE 96 -#define UP 65 -#define DOWN 66 -#define RIGHT 67 -#define LEFT 68 -#define BLK_SIZE 144 -#define LEVEL 10 /* maximum level */ - -/* - * If NDEBUG is not defined, we execute sanity checks to make sure that - * changes to enumerations, bit maps, etc., have been made consistently. - */ -#if defined(NDEBUG) -#define sanity_check() 0 -#else -static int sanity_check(); -#endif - - -int fruit_type; /* variable to distinguish fruit type */ -int got_fruit_timer; /* timer to determine when fruit disappears */ -//int tux_time; -/* a few constants */ -#define PAN_BORDER 5 /* pan when border in maze squares reaches 5 */ -#define MAX_LEVEL 10 /* maximum level number */ - -/* outcome of each level, and of the game as a whole */ -typedef enum {GAME_WON, GAME_LOST, GAME_QUIT} game_condition_t; - -/* structure used to hold game information */ -typedef struct { - /* parameters varying by level */ - int number; /* starts at 1... */ - int maze_x_dim, maze_y_dim; /* min to max, in steps of 2 */ - int initial_fruit_count; /* 1 to 6, in steps of 1/2 */ - int time_to_first_fruit; /* 300 to 120, in steps of -30 */ - int time_between_fruits; /* 300 to 60, in steps of -30 */ - int tick_usec; /* 20000 to 5000, in steps of -1750 */ - - /* dynamic values within a level -- you may want to add more... */ - unsigned int map_x, map_y; /* current upper left display pixel */ -} game_info_t; - -static game_info_t game_info; - -/* local functions--see function headers for details */ -static int prepare_maze_level(int level); -static void move_up(int* ypos); -static void move_right(int* xpos); -static void move_down(int* ypos); -static void move_left(int* xpos); -static int unveil_around_player(int play_x, int play_y); -static void *rtc_thread(void *arg); -static void *keyboard_thread(void *arg); - -static void *tux_thread(void *arg); -static void show_time(); -/* - * prepare_maze_level - * DESCRIPTION: Prepare for a maze of a given level. Fills the game_info - * structure, creates a maze, and initializes the display. - * INPUTS: level -- level to be used for selecting parameter values - * OUTPUTS: nonef - * RETURN VALUE: 0 on success, -1 on failure - * SIDE EFFECTS: writes entire game_info structure; changes maze; - * initializes display - */ -static int prepare_maze_level(int level) { - int i; /* loop index for drawing display */ - - /* - * Record level in game_info; other calculations use offset from - * level 1. - */ - game_info.number = level--; - - /* Set per-level parameter values. */ - if ((game_info.maze_x_dim = MAZE_MIN_X_DIM + 2 * level) > MAZE_MAX_X_DIM) - game_info.maze_x_dim = MAZE_MAX_X_DIM; - if ((game_info.maze_y_dim = MAZE_MIN_Y_DIM + 2 * level) > MAZE_MAX_Y_DIM) - game_info.maze_y_dim = MAZE_MAX_Y_DIM; - if ((game_info.initial_fruit_count = 1 + level / 2) > 6) - game_info.initial_fruit_count = 6; - if ((game_info.time_to_first_fruit = 300 - 30 * level) < 120) - game_info.time_to_first_fruit = 120; - if ((game_info.time_between_fruits = 300 - 60 * level) < 60) - game_info.time_between_fruits = 60; - if ((game_info.tick_usec = 20000 - 1750 * level) < 5000) - game_info.tick_usec = 5000; - - /* Initialize dynamic values. */ - game_info.map_x = game_info.map_y = SHOW_MIN; - - /* Create a maze. */ - if (make_maze(game_info.maze_x_dim, game_info.maze_y_dim, game_info.initial_fruit_count) != 0) - return -1; - - /* Set logical view and draw initial screen. */ - set_view_window(game_info.map_x, game_info.map_y); - for (i = 0; i < SCROLL_Y_DIM; i++) - (void)draw_horiz_line (i); - - /* Return success. */ - return 0; -} - -/* - * move_up - * DESCRIPTION: Move the player up one pixel (assumed to be a legal move) - * INPUTS: ypos -- pointer to player's y position (pixel) in the maze - * OUTPUTS: *ypos -- reduced by one from initial value - * RETURN VALUE: none - * SIDE EFFECTS: pans display by one pixel when appropriate - */ -static void move_up(int* ypos) { - /* - * Move player by one pixel and check whether display should be panned. - * Panning is necessary when the player moves past the upper pan border - * while the top pixels of the maze are not on-screen. - */ - if (--(*ypos) < game_info.map_y + BLOCK_Y_DIM * PAN_BORDER && game_info.map_y > SHOW_MIN) { - /* - * Shift the logical view upwards by one pixel and draw the - * new line. - */ - set_view_window(game_info.map_x, --game_info.map_y); - (void)draw_horiz_line(0); - } -} - -/* - * move_right - * DESCRIPTION: Move the player right one pixel (assumed to be a legal move) - * INPUTS: xpos -- pointer to player's x position (pixel) in the maze - * OUTPUTS: *xpos -- increased by one from initial value - * RETURN VALUE: none - * SIDE EFFECTS: pans display by one pixel when appropriate - */ -static void move_right(int* xpos) { - /* - * Move player by one pixel and check whether display should be panned. - * Panning is necessary when the player moves past the right pan border - * while the rightmost pixels of the maze are not on-screen. - */ - if (++(*xpos) > game_info.map_x + SCROLL_X_DIM - BLOCK_X_DIM * (PAN_BORDER + 1) && - game_info.map_x + SCROLL_X_DIM < (2 * game_info.maze_x_dim + 1) * BLOCK_X_DIM - SHOW_MIN) { - /* - * Shift the logical view to the right by one pixel and draw the - * new line. - */ - set_view_window(++game_info.map_x, game_info.map_y); - (void)draw_vert_line(SCROLL_X_DIM - 1); - } -} - -/* - * move_down - * DESCRIPTION: Move the player right one pixel (assumed to be a legal move) - * INPUTS: ypos -- pointer to player's y position (pixel) in the maze - * OUTPUTS: *ypos -- increased by one from initial value - * RETURN VALUE: none - * SIDE EFFECTS: pans display by one pixel when appropriate - */ -static void move_down(int* ypos) { - /* - * Move player by one pixel and check whether display should be panned. - * Panning is necessary when the player moves past the right pan border - * while the bottom pixels of the maze are not on-screen. - */ - if (++(*ypos) > game_info.map_y + SCROLL_Y_DIM - BLOCK_Y_DIM * (PAN_BORDER + 1) && - game_info.map_y + SCROLL_Y_DIM < (2 * game_info.maze_y_dim + 1) * BLOCK_Y_DIM - SHOW_MIN) { - /* - * Shift the logical view downwards by one pixel and draw the - * new line. - */ - set_view_window(game_info.map_x, ++game_info.map_y); - (void)draw_horiz_line(SCROLL_Y_DIM - 1); - } -} - -/* - * move_left - * DESCRIPTION: Move the player right one pixel (assumed to be a legal move) - * INPUTS: xpos -- pointer to player's x position (pixel) in the maze - * OUTPUTS: *xpos -- decreased by one from initial value - * RETURN VALUE: none - * SIDE EFFECTS: pans display by one pixel when appropriate - */ -static void move_left(int* xpos) { - /* - * Move player by one pixel and check whether display should be panned. - * Panning is necessary when the player moves past the left pan border - * while the leftmost pixels of the maze are not on-screen. - */ - if (--(*xpos) < game_info.map_x + BLOCK_X_DIM * PAN_BORDER && game_info.map_x > SHOW_MIN) { - /* - * Shift the logical view to the left by one pixel and draw the - * new line. - */ - set_view_window(--game_info.map_x, game_info.map_y); - (void)draw_vert_line (0); - } -} - -/* - * unveil_around_player - * DESCRIPTION: Show the maze squares in an area around the player. - * Consume any fruit under the player. Check whether - * player has won the maze level. - * INPUTS: (play_x,play_y) -- player coordinates in pixels - * OUTPUTS: none - * RETURN VALUE: 1 if player wins the level by entering the square - * 0 if not - * SIDE EFFECTS: draws maze squares for newly visible maze blocks, - * consumed fruit, and maze exit; consumes fruit and - * updates dFsetisplayed fruit counts - */ -static int unveil_around_player(int play_x, int play_y) { - int x = play_x / BLOCK_X_DIM; /* player's maze lattice position */ - int y = play_y / BLOCK_Y_DIM; - int i, j; /* loop indices for unveiling maze squares */ - - /* Check for fruit at the player's position. */ - fruit_type = check_for_fruit (x, y); - - if(fruit_type !=0){ - got_fruit_timer = 128; - } - /* Unveil spaces around the player. */ - for (i = -1; i < 2; i++) - for (j = -1; j < 2; j++) - unveil_space(x + i, y + j); - unveil_space(x, y - 2); - unveil_space(x + 2, y); - unveil_space(x, y + 2); - unveil_space(x - 2, y); - - /* Check whether the player has won the maze level. */ - return check_for_win (x, y); -} - -#ifndef NDEBUG -/* - * sanity_check - * DESCRIPTION: Perform checks on changes to constants and enumerated values. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: 0 if checks pass, -1 if any fail - * SIDE EFFECTS: none - */ -static int sanity_check() { - /* - * Automatically detect when fruits have been added in blocks.h - * without allocating enough bits to identify all types of fruit - * uniquely (along with 0, which means no fruit). - */ - if (((2 * LAST_MAZE_FRUIT_BIT) / MAZE_FRUIT_1) < NUM_FRUIT_TYPES + 1) { - puts("You need to allocate more bits in maze_bit_t to encode fruit."); - return -1; - } - return 0; -} -#endif /* !defined(NDEBUG) */ - -// Shared Global Variables -int quit_flag = 0; -int winner= 0; -int next_dir = UP; -int play_x, play_y, last_dir, dir; -int move_cnt = 0; -int fd; -int ft; -unsigned long data; -static struct termios tio_orig; -static pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER; - -/* condition variable to prevent delay */ -static pthread_cond_t cv = PTHREAD_COND_INITIALIZER; - -int buttons_pressed =0 ; /* shared variable to determine whether button is pressed or not */ -unsigned char directions; /* shared variable to determine direction */ - - - -/* - * tux_thread - * DESCRIPTION: Thread that handles TUX INPUTS - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: none - */ -static void *tux_thread(void *arg){ - while(winner == 0){ - if(quit_flag == 1){ - break; - } - - pthread_mutex_lock(&mtx); - - /* if button is not pressed, release the lock and wait for condition varibale signal */ - while(!buttons_pressed){ - pthread_cond_wait(&cv, &mtx); - } - - switch(directions){ - case TUX_BUTTON_LEFT: - next_dir = DIR_LEFT; - break; - case TUX_BUTTON_DOWN: - next_dir = DIR_DOWN; - break; - case TUX_BUTTON_RIGHT: - next_dir = DIR_RIGHT; - break; - case TUX_BUTTON_UP: - next_dir = DIR_UP; - break; - default: - break; - } - pthread_mutex_unlock(&mtx); - } - return 0; -} - - -/* - * show_time - * DESCRIPTION: convert time to send data to TUX LED to be displayed - * INPUTS: t -- time to be displayed on TUX LED - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: none - */ -static void show_time(int t){ - unsigned long tux_time = t; - unsigned long led_input = DEFAULT_LED_VALUE; /* 0X040F0000 */ - - unsigned long second = tux_time % 60; /* seconds */ - unsigned long second1 = second % 10; /* 1st */ - unsigned long second10 = second / 10; /* 10th */ - - unsigned long minute = tux_time / 60; /* minutes */ - unsigned long minute1 = minute % 10; /* 1st */ - unsigned long minute10 = minute / 10; /* 10th */ - - - /* shift bits to put them in right position */ - led_input = led_input | (minute10 << 12); - led_input = led_input | (minute1 << 8); - led_input = led_input | (second10 << 4); - led_input = led_input | second1; - - //if( t % 32 == 0){ - ioctl(ft,TUX_SET_LED,led_input); - //} - -} - -/* - * keyboard_thread - * DESCRIPTION: Thread that handles keyboard inputs - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: none - */ -static void *keyboard_thread(void *arg) { - char key; - int state = 0; - // Break only on win or quit input - '`' - while (winner == 0) { - // Get Keyboard Input - key = getc(stdin); - - // Check for '`' to quit - if (key == BACKQUOTE) { - quit_flag = 1; - break; - } - - // Compare and Set next_dir - // Arrow keys deliver 27, 91, ## - if (key == 27) { - state = 1; - } - else if (key == 91 && state == 1) { - state = 2; - } - else { - if (key >= UP && key <= LEFT && state == 2) { - pthread_mutex_lock(&mtx); - switch(key) { - case UP: - //if(!buttons_pressed){ /* prioritize TUX */ - next_dir = DIR_UP; - //} - break; - case DOWN: - //if(!buttons_pressed){ /* prioritize TUX */ - next_dir = DIR_DOWN; - //} - break; - case RIGHT: - //if(!buttons_pressed){ /* prioritize TUX */ - next_dir = DIR_RIGHT; - //} - break; - case LEFT: - //if(!buttons_pressed){ /* prioritize TUX */ - next_dir = DIR_LEFT; - //} - break; - } - pthread_mutex_unlock(&mtx); - } - state = 0; - } - } - - return 0; -} - -/* some stats about how often we take longer than a single timer tick */ -static int goodcount = 0; -static int badcount = 0; -static int total = 0; - -/* - * rtc_thread - * DESCRIPTION: Thread that handles updating the screen - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: none - */ -static void *rtc_thread(void *arg) { - int ticks = 0; - int level; - int ret; - int open[NUM_DIRS]; - int goto_next_level = 0; - int color_idx =0; - int n_fruits; /* constant to keep track of number of fruits*/ - int time=0; /* constant to keep track of time*/ - int time_refresh = 0; /* constant used to refesh time when level is changed*/ - unsigned char old_block_buffer[BLK_SIZE]; /* buffer to save the old background of the block to draw on */ - int xbuffer =0; /* old x position holder */ - int ybuffer =0; /* old y position holder */ - - int head_idx =0; /* index to change color on player's head */ - int head_cycle =0; /* cycle time to change color on player's head */ - - int fruit_xbuffer=0; /* buffer to hold x coordinate where string will be drawn */ - int fruit_ybuffer =0; /* buffer to hold y coordinate where string will be drawn */ - int old_fruit_xbuffer=0; /* buffer to hold old x coordinate where string will be drawn */ - int old_fruit_ybuffer=0; /* buffer to hold old y coordinate where string will be drawn */ - - - unsigned char old_fruit_buffer[TXT_X_DIM*TXT_Y_DIM]; /* buffer that holds background data TXT_X_DIM by TXT_Y_DIM */ - unsigned char fruit_txt_buffer[TXT_X_DIM*TXT_Y_DIM]; /* buffer that holds string data drawn on TXT_X_DIM by TXT_Y_DIM image */ - - unsigned char tr; /* transparent r value */ - unsigned char tg; /* transparent g value */ - unsigned char tb; /* transparent b value */ - - char* fruit; /* pointer to string data to be drawn */ - - - - /* buffer that holds strings data */ - char* fruit_txt[NUM_FRUITS] ={"an apple!", "a grape!","a peach!","a strawberry!","a banana!","a watermelon!","a Dew!"}; - - /* buffer that holds color value for status bar */ - int status_bar_colors[LEVEL] = {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A}; - - /* buffer that holds r values that will change per level */ - int r[LEVEL] ={0x3F,0x0A,0x00,0x0F,0x00,0x3E,0x07,0x08,0x09,0x3F}; - /* buffer that holds g values that will change per level */ - int g[LEVEL] ={0x00,0x0A,0x3F,0x07,0x00,0x0F,0x1F,0x3E,0x0A,0x03}; - /* buffer that holds b values that will change per level */ - int b[LEVEL] ={0x00,0x0A,0x00,0x0A,0x3F,0x0F,0x03,0x04,0x3F,0x06}; - - - // Loop over levels until a level is lost or quit. - for (level = 1; (level <= MAX_LEVEL) && (quit_flag == 0); level++) { - // Prepare for the level. If we fail, just let the player win. - if (prepare_maze_level(level) != 0) - break; - goto_next_level = 0; - - // Start the player at (1,1) - play_x = BLOCK_X_DIM; - play_y = BLOCK_Y_DIM; - - // move_cnt tracks moves remaining between maze squares. - // When not moving, it should be 0. - move_cnt = 0; - - // Initialize last direction moved to up - last_dir = DIR_UP; - - // Initialize the current direction of motion to stopped - dir = DIR_STOP; - next_dir = DIR_STOP; - - /* change color palette where WALL WALL FILL depends on current level */ - color_idx = level-1; - //set_palette_colors(WALL_OUTLINE_COLOR,r[color_idx],g[color_idx],b[color_idx]); - set_palette_colors(WALL_FILL_COLOR,r[color_idx],g[color_idx],b[color_idx]); - - /* calculate transparent color and change color palette */ - tr = (r[color_idx] + WHITE)/2; - tg = (g[color_idx] + WHITE)/2; - tb = (b[color_idx] + WHITE)/2; - - //set_palette_colors(WALL_OUTLINE_COLOR+0x40,tr,tg,tb); - set_palette_colors(WALL_FILL_COLOR+T_OFFSET,tr,tg,tb); - - - // Show maze around the player's original position - (void)unveil_around_player(play_x, play_y); - - /*store old position of the player*/ - xbuffer = play_x; - ybuffer = play_y; - - // get first Periodic Interrupt - ret = read(fd, &data, sizeof(unsigned long)); - - while ((quit_flag == 0) && (goto_next_level == 0)) { - // Wait for Periodic Interrupt - ret = read(fd, &data, sizeof(unsigned long)); - - - /* execute show_time every second to prevent spamming */ - - - // Update tick to keep track of time. If we missed some - // interrupts we want to update the player multiple times so - // that player velocity is smooth - ticks = data >> 8; - - total += ticks; - time_refresh +=ticks; - - /* change head color every half a second for 10 cycles*/ - head_cycle = time_refresh/HALF_SEC; - head_idx = head_cycle % NUM_HEAD_CYCLES; - show_status_bar(level, n_fruits,time,status_bar_colors[level]); - - set_palette_colors(PLAYER_CENTER_COLOR,g[head_idx],b[head_idx],r[head_idx]); - tr = (r[color_idx] + WHITE)/2; - tg = (g[color_idx] + WHITE)/2; - tb = (b[color_idx] + WHITE)/2; - set_palette_colors(PLAYER_CENTER_COLOR+0x40,tg,tb,tr); - - - time = time_refresh / SEC; - /* prevent spamming */ - if(time_refresh % SEC < 2){ - show_time(time); - } - - n_fruits = get_fruit_num(); - - // If the system is completely overwhelmed we better slow down: - if (ticks > 8) ticks = 8; - - if (ticks > 1) { - badcount++; - } - else { - goodcount++; - } - - unsigned long buttons; - while (ticks--) { - - // Lock the mutex - //pthread_mutex_lock(&mtx); - - ioctl(ft,TUX_BUTTONS, &buttons); - directions = buttons & 0xFF; - - if(directions != 0xFF){ - buttons_pressed = 1; - }else{ - buttons_pressed = 0; - } - - pthread_mutex_lock(&mtx); - - /* if button is pressed, send signal to cv */ - if(buttons_pressed){ - pthread_cond_signal(&cv); - } - pthread_mutex_unlock(&mtx); - - pthread_mutex_lock(&mtx); - // Check to see if a key has been pressed - if (next_dir != dir) { - // Check if new direction is backwards...if so, do immediately - if ((dir == DIR_UP && next_dir == DIR_DOWN) || - (dir == DIR_DOWN && next_dir == DIR_UP) || - (dir == DIR_LEFT && next_dir == DIR_RIGHT) || - (dir == DIR_RIGHT && next_dir == DIR_LEFT)) { - if (move_cnt > 0) { - if (dir == DIR_UP || dir == DIR_DOWN) - move_cnt = BLOCK_Y_DIM - move_cnt; - else - move_cnt = BLOCK_X_DIM - move_cnt; - } - dir = next_dir; - } - } - - // New Maze Square! - if (move_cnt == 0) { - // The player has reached a new maze square; unveil nearby maze - // squares and check whether the player has won the level. - if (unveil_around_player(play_x, play_y)) { - pthread_mutex_unlock(&mtx); - goto_next_level = 1; - time_refresh = 0; - got_fruit_timer =0; - break; - } - - // Record directions open to motion. - find_open_directions (play_x / BLOCK_X_DIM, play_y / BLOCK_Y_DIM, open); - - // Change dir to next_dir if next_dir is open - if (open[next_dir]) { - dir = next_dir; - } - - // The direction may not be open to motion... - // 1) ran into a wall - // 2) initial direction and its opposite both face walls - if (dir != DIR_STOP) { - if (!open[dir]) { - dir = DIR_STOP; - } - else if (dir == DIR_UP || dir == DIR_DOWN) { - move_cnt = BLOCK_Y_DIM; - } - else { - move_cnt = BLOCK_X_DIM; - } - } - } - - // Unlock the mutex - pthread_mutex_unlock(&mtx); - - if (dir != DIR_STOP) { - // move in chosen direction - last_dir = dir; - move_cnt--; - switch (dir) { - case DIR_UP: - move_up(&play_y); - break; - case DIR_RIGHT: - move_right(&play_x); - break; - case DIR_DOWN: - move_down(&play_y); - break; - case DIR_LEFT: - move_left(&play_x); - break; - } - - } - } - - - /* save location of blocks to copy */ - xbuffer = play_x; - ybuffer = play_y; - - /*draw masked player image on the address*/ - draw_mask(play_x,play_y,get_player_mask(last_dir), get_player_block(last_dir), old_block_buffer); - - /* save location where string will be drawn */ - fruit_xbuffer = play_x - TXT_X_OFFSET; - fruit_ybuffer = play_y - TXT_Y_DIM; - - /* check if player got fruit, save it to fruit if it did */ - if(fruit_type !=0){ - fruit = fruit_txt[fruit_type-1]; - } - /* if player got the fruit, start draw procedure*/ - if(got_fruit_timer > 0){ - - /* prevent string from going out of top frame */ - if(fruit_ybuffer <= TXT_Y_LIMIT){ - fruit_ybuffer = TXT_Y_LIMIT; - } - - /* save the old string location */ - old_fruit_xbuffer = fruit_xbuffer; - old_fruit_ybuffer = fruit_ybuffer; - - /* save block of image to old_fruit_buffer and fruit_txt_buffer */ - draw_fruit_txt(fruit_xbuffer, fruit_ybuffer, old_fruit_buffer,fruit_txt_buffer); - /* write string to fruit_txt_buffer*/ - string_to_buf_fruit(fruit,fruit_txt_buffer); - /* draw fruit_txt_buffer which contains txt to vga buffer */ - draw_string(fruit_xbuffer,fruit_ybuffer,fruit_txt_buffer); - - } - /* show it to screen */ - show_screen(); - - /* cover the string image with old background and decrement fruit timer */ - if(got_fruit_timer > 0){ - draw_string(old_fruit_xbuffer,old_fruit_ybuffer,old_fruit_buffer); - got_fruit_timer--; - } - - /*cover the player image with old background image*/ - draw_full_block(xbuffer, ybuffer, old_block_buffer); - } - } - if (quit_flag == 0) - winner = 1; - - return 0; -} - - -/* - * main - * DESCRIPTION: Initializes and runs the two threads - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: 0 on success, -1 on failure - * SIDE EFFECTS: none - */ -int main() { - int ret; - struct termios tio_new; - unsigned long update_rate = 32; /* in Hz */ - - pthread_t tid1; - pthread_t tid2; - pthread_t tid3; //tux_thread - - // Initialize RTC - fd = open("/dev/rtc", O_RDONLY, 0); - - ft = open("/dev/ttyS0", O_RDWR | O_NOCTTY); - int ldisc_num = N_MOUSE; - ioctl(ft, TIOCSETD, &ldisc_num); - ioctl(ft, TUX_INIT,0); - - // Enable RTC periodic interrupts at update_rate Hz - // Default max is 64...must change in /proc/sys/dev/rtc/max-user-freq - ret = ioctl(fd, RTC_IRQP_SET, update_rate); - ret = ioctl(fd, RTC_PIE_ON, 0); - - // Initialize Keyboard - // Turn on non-blocking mode - if (fcntl(fileno(stdin), F_SETFL, O_NONBLOCK) != 0) { - perror("fcntl to make stdin non-blocking"); - return -1; - } - - // Save current terminal attributes for stdin. - if (tcgetattr(fileno(stdin), &tio_orig) != 0) { - perror("tcgetattr to read stdin terminal settings"); - return -1; - } - - // Turn off canonical (line-buffered) mode and echoing of keystrokes - // Set minimal character and timing parameters so as - tio_new = tio_orig; - tio_new.c_lflag &= ~(ICANON | ECHO); - tio_new.c_cc[VMIN] = 1; - tio_new.c_cc[VTIME] = 0; - if (tcsetattr(fileno(stdin), TCSANOW, &tio_new) != 0) { - perror("tcsetattr to set stdin terminal settings"); - return -1; - } - - // Perform Sanity Checks and then initialize input and display - if ((sanity_check() != 0) || (set_mode_X(fill_horiz_buffer, fill_vert_buffer) != 0)){ - return 3; - } - - // Create the threads - pthread_create(&tid1, NULL, rtc_thread, NULL); - pthread_create(&tid2, NULL, keyboard_thread, NULL); - pthread_create(&tid3, NULL, tux_thread, NULL); - - - // Wait for all the threads to end - pthread_join(tid1, NULL); - pthread_join(tid2, NULL); - pthread_cancel(tid3); /* terminate TUX thread */ - - // Shutdown Display - clear_mode_X(); - - // Close Keyboard - (void)tcsetattr(fileno(stdin), TCSANOW, &tio_orig); - - // Close RTC - close(fd); - - // close tux - close(ft); - - // Print outcome of the game - if (winner == 1) { - printf("You win the game! CONGRATULATIONS!\n"); - } - else if (quit_flag == 1) { - printf("Quitter!\n"); - } - else { - printf ("Sorry, you lose...\n"); - } - - // Return success - return 0; -} diff --git a/mp2/modex.c b/mp2/modex.c deleted file mode 100644 index 5db67c1..0000000 --- a/mp2/modex.c +++ /dev/null @@ -1,1417 +0,0 @@ -/* - * tab:4 - * - * modex.c - VGA mode X graphics routines - * - * "Copyright (c) 2004-2009 by Steven S. Lumetta." - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO - * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL - * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, - * EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE - * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR - * THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, - * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." - * - * Author: Steve Lumetta - * Version: 3 - * Creation Date: Fri Sep 10 09:59:17 2004 - * Filename: modex.c - * History: - * SL 1 Fri Sep 10 09:59:17 2004 - * First written. - * SL 2 Sat Sep 12 16:41:45 2009 - * Integrated original release back into main code base. - * SL 3 Sat Sep 12 17:58:20 2009 - * Added display re-enable to VGA blank routine and comments - * on other VirtualPC->QEMU migration changes. - */ -#include -#include -#include -#include -#include -#include - -#include "blocks.h" -#include "modex.h" -#include "text.h" - -/* - * Calculate the image build buffer parameters. SCROLL_SIZE is the space - * needed for one plane of an image. SCREEN_SIZE is the space needed for - * all four planes. The extra +1 supports logical view x coordinates that - * are not multiples of four. In these cases, some plane addresses are - * shifted by 1 byte forward. The planes are stored in the build buffer - * in reverse order to allow those planes that shift forward to do so - * without running into planes that aren't shifted. For example, when - * the leftmost x pixel in the logical view is 3 mod 4, planes 2, 1, and 0 - * are shifted forward, while plane 3 is not, so there is one unused byte - * between the image of plane 3 and that of plane 2. BUILD_BUF_SIZE is - * the size of the space allocated for building images. We add 20000 bytes - * to reduce the number of memory copies required during scrolling. - * Strictly speaking (try it), no extra space is necessary, but the minimum - * means an extra 64kB memory copy with every scroll pixel. Finally, - * BUILD_BASE_INIT places initial (or transferred) logical view in the - * middle of the available buffer area. - */ -#define SCROLL_SIZE (SCROLL_X_WIDTH * SCROLL_Y_DIM) -#define SCREEN_SIZE (SCROLL_SIZE * 4 + 1) -#define BUILD_BUF_SIZE (SCREEN_SIZE + 20000) -#define BUILD_BASE_INIT ((BUILD_BUF_SIZE - SCREEN_SIZE) / 2) - -/* Mode X and general VGA parameters */ -#define VID_MEM_SIZE 131072 -#define MODE_X_MEM_SIZE 65536 -#define NUM_SEQUENCER_REGS 5 -#define NUM_CRTC_REGS 25 -#define NUM_GRAPHICS_REGS 9 -#define NUM_ATTR_REGS 22 - -#define STATUS_PLANE_SIZE (STATUS_X_WIDTH * STATUS_Y_DIM) //1440 -#define STATUS_SCREEN_SIZE (STATUS_PLANE_SIZE * 4) //5760 -#define MAX_STRING (STATUS_X_DIM / 8) //40 - -/* VGA register settings for mode X */ -static unsigned short mode_X_seq[NUM_SEQUENCER_REGS] = { - 0x0100, 0x2101, 0x0F02, 0x0003, 0x0604 -}; - -//Line Compare Register(18h) -//Overflow Register(7h) #bit 4 = LCR #8 -//Maximum Scan Line Register(09h) #bit 6 = LCR #9 - -//change those bit values to 182*2-1 =363 = 0x16B -static unsigned short mode_X_CRTC[NUM_CRTC_REGS] = { - 0x5F00, 0x4F01, 0x5002, 0x8203, 0x5404, 0x8005, 0xBF06, 0x1F07, - 0x0008, 0x0109, 0x000A, 0x000B, 0x000C, 0xB50D, 0x000E, 0x000F, - 0x9C10, 0x8E11, 0x8F12, 0x2813, 0x0014, 0x9615, 0xB916, 0xE317, - 0x6B18 -}; - -//set Pixel Planning Mode in Attribute Mode Control Reg (10h) bit #5 from 0 to 1 -//0x41 -> 0x61 for immobile status bar (disable shifts) (as if Byte panning and Pixel Shift Count are set to 0) -static unsigned char mode_X_attr[NUM_ATTR_REGS * 2] = { - 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, - 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, - 0x08, 0x08, 0x09, 0x09, 0x0A, 0x0A, 0x0B, 0x0B, - 0x0C, 0x0C, 0x0D, 0x0D, 0x0E, 0x0E, 0x0F, 0x0F, - 0x10, 0x61, 0x11, 0x00, 0x12, 0x0F, 0x13, 0x00, - 0x14, 0x00, 0x15, 0x00 -}; -static unsigned short mode_X_graphics[NUM_GRAPHICS_REGS] = { - 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x4005, 0x0506, 0x0F07, - 0xFF08 -}; - -/* VGA register settings for text mode 3 (color text) */ -static unsigned short text_seq[NUM_SEQUENCER_REGS] = { - 0x0100, 0x2001, 0x0302, 0x0003, 0x0204 -}; -static unsigned short text_CRTC[NUM_CRTC_REGS] = { - 0x5F00, 0x4F01, 0x5002, 0x8203, 0x5504, 0x8105, 0xBF06, 0x1F07, - 0x0008, 0x4F09, 0x0D0A, 0x0E0B, 0x000C, 0x000D, 0x000E, 0x000F, - 0x9C10, 0x8E11, 0x8F12, 0x2813, 0x1F14, 0x9615, 0xB916, 0xA317, - 0xFF18 -}; -static unsigned char text_attr[NUM_ATTR_REGS * 2] = { - 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, - 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, - 0x08, 0x08, 0x09, 0x09, 0x0A, 0x0A, 0x0B, 0x0B, - 0x0C, 0x0C, 0x0D, 0x0D, 0x0E, 0x0E, 0x0F, 0x0F, - 0x10, 0x0C, 0x11, 0x00, 0x12, 0x0F, 0x13, 0x08, - 0x14, 0x00, 0x15, 0x00 -}; -static unsigned short text_graphics[NUM_GRAPHICS_REGS] = { - 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x1005, 0x0E06, 0x0007, - 0xFF08 -}; - -/* local functions--see function headers for details */ -static int open_memory_and_ports(); -static void VGA_blank(int blank_bit); -static void set_seq_regs_and_reset(unsigned short table[NUM_SEQUENCER_REGS], unsigned char val); -static void set_CRTC_registers(unsigned short table[NUM_CRTC_REGS]); -static void set_attr_registers(unsigned char table[NUM_ATTR_REGS * 2]); -static void set_graphics_registers(unsigned short table[NUM_GRAPHICS_REGS]); -static void fill_palette(); -static void write_font_data(); -static void set_text_mode_3(int clear_scr); -static void copy_image(unsigned char* img, unsigned short scr_addr); -static void copy_status_bar(unsigned char* img, unsigned short scr_addr); -/* - * Images are built in this buffer, then copied to the video memory. - * Copying to video memory with REP MOVSB is vastly faster than anything - * else with emulation, probably because it is a single instruction - * and translates to a native loop. It's also a pretty good technique - * in normal machines (albeit not as elegant as some others for reducing - * the number of video memory writes; unfortunately, these techniques - * are slower in emulation...). - * - * The size allows the four plane images to move within an area of - * about twice the size necessary (to reduce the need to deal with - * the boundary conditions by moving the data within the buffer). - * - * Plane 3 is first, followed by 2, 1, and 0. The reverse ordering - * is used because the logical address of 0 increases first; if plane - * 0 were first, we would need a buffer byte to keep it from colliding - * with plane 1 when plane 0 was offset by 1 from plane 1, i.e., when - * displaying a one-pixel left shift. - * - * The memory fence (included when NDEBUG is not defined) allocates - * the build buffer with extra space on each side. The extra space - * is filled with magic numbers (something unlikely to be written in - * error), and the fence areas are checked for those magic values at - * the end of the program to detect array access bugs (writes past - * the ends of the build buffer). - */ -#ifndef NDEBUG -#define MEM_FENCE_WIDTH 256 -#else -#define MEM_FENCE_WIDTH 0 -#endif -#define MEM_FENCE_MAGIC 0xF3 - -static unsigned char build[BUILD_BUF_SIZE + 2 * MEM_FENCE_WIDTH]; -static int img3_off; /* offset of upper left pixel */ -static unsigned char* img3; /* pointer to upper left pixel */ -static int show_x, show_y; /* logical view coordinates */ - - /* displayed video memory variables */ -static unsigned char* mem_image; /* pointer to start of video memory */ -static unsigned short target_img; /* offset of displayed screen image */ - -/* - * functions provided by the caller to set_mode_X() and used to obtain - * graphic images of lines (pixels) to be mapped into the build buffer - * planes for display in mode X - */ -static void (*horiz_line_fn)(int, int, unsigned char[SCROLL_X_DIM]); -static void (*vert_line_fn)(int, int, unsigned char[SCROLL_Y_DIM]); - -/* - * macro used to target a specific video plane or planes when writing - * to video memory in mode X; bits 8-11 in the mask_hi_bits enable writes - * to planes 0-3, respectively - */ -#define SET_WRITE_MASK(mask_hi_bits) \ -do { \ - asm volatile (" \n\ - movw $0x03C4, %%dx /* set write mask */ \n\ - movb $0x02, %b0 \n\ - outw %w0, (%%dx) \n\ - " \ - : /* no outputs */ \ - : "a"((mask_hi_bits)) \ - : "edx", "memory" \ - ); \ -} while (0) - -/* macro used to write a byte to a port */ -#define OUTB(port, val) \ -do { \ - asm volatile ("outb %b1, (%w0)" \ - : /* no outputs */ \ - : "d"((port)), "a"((val)) \ - : "memory", "cc" \ - ); \ -} while (0) - -/* macro used to write two bytes to two consecutive ports */ -#define OUTW(port, val) \ -do { \ - asm volatile ("outw %w1, (%w0)" \ - : /* no outputs */ \ - : "d"((port)), "a"((val)) \ - : "memory", "cc" \ - ); \ -} while (0) - -/* macro used to write an array of two-byte values to two consecutive ports */ -#define REP_OUTSW(port, source, count) \ -do { \ - asm volatile (" \n\ - 1: movw 0(%1), %%ax \n\ - outw %%ax, (%w2) \n\ - addl $2, %1 \n\ - decl %0 \n\ - jne 1b \n\ - " \ - : /* no outputs */ \ - : "c"((count)), "S"((source)), "d"((port)) \ - : "eax", "memory", "cc" \ - ); \ -} while (0) - -/* macro used to write an array of one-byte values to a port */ -#define REP_OUTSB(port, source, count) \ -do { \ - asm volatile (" \n\ - 1: movb 0(%1), %%al \n\ - outb %%al, (%w2) \n\ - incl %1 \n\ - decl %0 \n\ - jne 1b \n\ - " \ - : /* no outputs */ \ - : "c"((count)), "S"((source)), "d"((port)) \ - : "eax", "memory", "cc" \ - ); \ -} while (0) - -/* - * set_mode_X - * DESCRIPTION: Puts the VGA into mode X. - * INPUTS: horiz_fill_fn -- this function is used as a callback (by - * draw_horiz_line) to obtain a graphical - * image of a particular logical line for - * drawing to the build buffer - * vert_fill_fn -- this function is used as a callback (by - * draw_vert_line) to obtain a graphical - * image of a particular logical line for - * drawing to the build buffer - * OUTPUTS: none - * RETURN VALUE: 0 on success, -1 on failure - * SIDE EFFECTS: initializes the logical view window; maps video memory - * and obtains permission for VGA ports; clears video memory - */ -int set_mode_X(void (*horiz_fill_fn)(int, int, unsigned char[SCROLL_X_DIM]), - void (*vert_fill_fn)(int, int, unsigned char[SCROLL_Y_DIM])) { - - /* loop index for filling memory fence with magic numbers */ - int i; - - /* - * Record callback functions for obtaining horizontal and vertical - * line images. - */ - if (horiz_fill_fn == NULL || vert_fill_fn == NULL) - return -1; - horiz_line_fn = horiz_fill_fn; - vert_line_fn = vert_fill_fn; - - /* Initialize the logical view window to position (0,0). */ - show_x = show_y = 0; - img3_off = BUILD_BASE_INIT; - img3 = build + img3_off + MEM_FENCE_WIDTH; - - /* Set up the memory fence on the build buffer. */ - for (i = 0; i < MEM_FENCE_WIDTH; i++) { - build[i] = MEM_FENCE_MAGIC; - build[BUILD_BUF_SIZE + MEM_FENCE_WIDTH + i] = MEM_FENCE_MAGIC; - } - - /* One display page goes at the start of video memory. */ - //set this to the memory size of status bar so that status bar does not emulate - //image of the upper window - target_img = 0x05A0; - - /* Map video memory and obtain permission for VGA port access. */ - if (open_memory_and_ports() == -1) - return -1; - - /* - * The code below was produced by recording a call to set mode 0013h - * with display memory clearing and a windowed frame buffer, then - * modifying the code to set mode X instead. The code was then - * generalized into functions... - * - * modifications from mode 13h to mode X include... - * Sequencer Memory Mode Register: 0x0E to 0x06 (0x3C4/0x04) - * Underline Location Register : 0x40 to 0x00 (0x3D4/0x14) - * CRTC Mode Control Register : 0xA3 to 0xE3 (0x3D4/0x17) - */ - - VGA_blank(1); /* blank the screen */ - set_seq_regs_and_reset(mode_X_seq, 0x63); /* sequencer registers */ - set_CRTC_registers(mode_X_CRTC); /* CRT control registers */ - set_attr_registers(mode_X_attr); /* attribute registers */ - set_graphics_registers(mode_X_graphics); /* graphics registers */ - fill_palette(); /* palette colors */ - clear_screens(); /* zero video memory */ - VGA_blank(0); /* unblank the screen */ - - /* Return success. */ - return 0; -} - -/* - * clear_mode_X - * DESCRIPTION: Puts the VGA into text mode 3 (color text). - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: restores font data to video memory; clears screens; - * unmaps video memory; checks memory fence integrity - */ -void clear_mode_X() { - /* loop index for checking memory fence */ - int i; - - /* Put VGA into text mode, restore font data, and clear screens. */ - set_text_mode_3(1); - - /* Unmap video memory. */ - (void)munmap(mem_image, VID_MEM_SIZE); - - /* Check validity of build buffer memory fence. Report breakage. */ - for (i = 0; i < MEM_FENCE_WIDTH; i++) { - if (build[i] != MEM_FENCE_MAGIC) { - puts("lower build fence was broken"); - break; - } - } - for (i = 0; i < MEM_FENCE_WIDTH; i++) { - if (build[BUILD_BUF_SIZE + MEM_FENCE_WIDTH + i] != MEM_FENCE_MAGIC) { - puts("upper build fence was broken"); - break; - } - } -} - -/* - * set_view_window - * DESCRIPTION: Set the logical view window, moving its location within - * the build buffer if necessary to keep all on-screen data - * in the build buffer. If the location within the build - * buffer moves, this function copies all data from the old - * window that are within the new screen to the appropriate - * new location, so only data not previously on the screen - * must be drawn before calling show_screen. - * INPUTS: (scr_x,scr_y) -- new upper left pixel of logical view window - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: may shift position of logical view window within build - * buffer - */ -void set_view_window(int scr_x, int scr_y) { - int old_x, old_y; /* old position of logical view window */ - int start_x, start_y; /* starting position for copying from old to new */ - int end_x, end_y; /* ending position for copying from old to new */ - int start_off; /* offset of copy start relative to old build */ - /* buffer start position */ - int length; /* amount of data to be copied */ - int i; /* copy loop index */ - unsigned char* start_addr; /* starting memory address of copy */ - unsigned char* target_addr; /* destination memory address for copy */ - - /* Record the old position. */ - old_x = show_x; - old_y = show_y; - - /* Keep track of the new view window. */ - show_x = scr_x; - show_y = scr_y; - - /* - * If the new view window fits within the boundaries of the build - * buffer, we need move nothing around. - */ - if (img3_off + (scr_x >> 2) + scr_y * SCROLL_X_WIDTH >= 0 && - img3_off + 3 * SCROLL_SIZE + - ((scr_x + SCROLL_X_DIM - 1) >> 2) + - (scr_y + SCROLL_Y_DIM - 1) * SCROLL_X_WIDTH < BUILD_BUF_SIZE) - return; - - /* - * If the new screen does not overlap at all with the old screen, none - * of the old data need to be saved, and we can simply reposition the - * valid window of the build buffer in the middle of that buffer. - */ - if (scr_x <= old_x - SCROLL_X_DIM || scr_x >= old_x + SCROLL_X_DIM || - scr_y <= old_y - SCROLL_Y_DIM || scr_y >= old_y + SCROLL_Y_DIM) { - img3_off = BUILD_BASE_INIT - (scr_x >> 2) - scr_y * SCROLL_X_WIDTH; - img3 = build + img3_off + MEM_FENCE_WIDTH; - return; - } - - /* - * Any still-visible portion of the old screen should be retained. - * Rather than clipping exactly, we copy all contiguous data between - * a clipped starting point to a clipped ending point (which may - * include non-visible data). - * - * The starting point is the maximum (x,y) coordinates between the - * new and old screens. The ending point is the minimum (x,y) - * coordinates between the old and new screens (offset by the screen - * size). - */ - if (scr_x > old_x) { - start_x = scr_x; - end_x = old_x; - } - else { - start_x = old_x; - end_x = scr_x; - } - end_x += SCROLL_X_DIM - 1; - if (scr_y > old_y) { - start_y = scr_y; - end_y = old_y; - } - else { - start_y = old_y; - end_y = scr_y; - } - end_y += SCROLL_Y_DIM - 1; - - /* - * We now calculate the starting and ending addresses for the copy - * as well as the new offsets for use with the build buffer. The - * length to be copied is basically the ending offset minus the starting - * offset plus one (plus the three screens in between planes 3 and 0). - */ - start_off = (start_x >> 2) + start_y * SCROLL_X_WIDTH; - start_addr = img3 + start_off; - length = (end_x >> 2) + end_y * SCROLL_X_WIDTH + 1 - start_off + 3 * SCROLL_SIZE; - img3_off = BUILD_BASE_INIT - (show_x >> 2) - show_y * SCROLL_X_WIDTH; - img3 = build + img3_off + MEM_FENCE_WIDTH; - target_addr = img3 + start_off; - - /* - * Copy the relevant portion of the screen from the old location to the - * new one. The areas may overlap, so copy direction is important. - * (You should be able to explain why!) - */ - if (start_addr < target_addr) - for (i = length; i-- > 0; ) - target_addr[i] = start_addr[i]; - else - for (i = 0; i < length; i++) - target_addr[i] = start_addr[i]; -} - -/* - * show_screen - * DESCRIPTION: Show the logical view window on the video display. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: copies from the build buffer to video memory; - * shifts the VGA display source to point to the new image - */ -void show_screen() { - unsigned char* addr; /* source address for copy */ - int p_off; /* plane offset of first display plane */ - int i; /* loop index over video planes */ - - /* - * Calculate offset of build buffer plane to be mapped into plane 0 - * of display. - */ - p_off = (3 - (show_x & 3)); - - /* Switch to the other target screen in video memory. */ - target_img ^= 0x4000; - - /* Calculate the source address. */ - addr = img3 + (show_x >> 2) + show_y * SCROLL_X_WIDTH; - - /* Draw to each plane in the video memory. */ - for (i = 0; i < 4; i++) { - SET_WRITE_MASK(1 << (i + 8)); - copy_image(addr + ((p_off - i + 4) & 3) * SCROLL_SIZE + (p_off < i), target_img); - } - - /* - * Change the VGA registers to point the top left of the screen - * to the video memory that we just filled. - */ - OUTW(0x03D4, (target_img & 0xFF00) | 0x0C); - OUTW(0x03D4, ((target_img & 0x00FF) << 8) | 0x0D); -} - -/* - * clear_screens - * DESCRIPTION: Fills the video memory with zeroes. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: fills all 256kB of VGA video memory with zeroes - */ -void clear_screens() { - /* Write to all four planes at once. */ - SET_WRITE_MASK(0x0F00); - - /* Set 64kB to zero (times four planes = 256kB). */ - memset(mem_image, 0, MODE_X_MEM_SIZE); -} - -/* - * draw_full_block - * DESCRIPTION: Draw a BLOCK_X_DIM x BLOCK_Y_DIM block at absolute - * coordinates. Mask any portion of the block not inside - * the logical view window. - * INPUTS: (pos_x,pos_y) -- coordinates of upper left corner of block - * blk -- image data for block (one byte per pixel, as a C array - * of dimensions [BLOCK_Y_DIM][BLOCK_X_DIM]) - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: draws into the build buffer - */ -void draw_full_block(int pos_x, int pos_y, unsigned char* blk) { - int dx, dy; /* loop indices for x and y traversal of block */ - int x_left, x_right; /* clipping limits in horizontal dimension */ - int y_top, y_bottom; /* clipping limits in vertical dimension */ - - /* If block is completely off-screen, we do nothing. */ - if (pos_x + BLOCK_X_DIM <= show_x || pos_x >= show_x + SCROLL_X_DIM || - pos_y + BLOCK_Y_DIM <= show_y || pos_y >= show_y + SCROLL_Y_DIM) - return; - - /* Clip any pixels falling off the left side of screen. */ - if ((x_left = show_x - pos_x) < 0) - x_left = 0; - /* Clip any pixels falling off the right side of screen. */ - if ((x_right = show_x + SCROLL_X_DIM - pos_x) > BLOCK_X_DIM) - x_right = BLOCK_X_DIM; - /* Skip the first x_left pixels in both screen position and block data. */ - pos_x += x_left; - blk += x_left; - - /* - * Adjust x_right to hold the number of pixels to be drawn, and x_left - * to hold the amount to skip between rows in the block, which is the - * sum of the original left clip and (BLOCK_X_DIM - the original right - * clip). - */ - x_right -= x_left; - x_left = BLOCK_X_DIM - x_right; - - /* Clip any pixels falling off the top of the screen. */ - if ((y_top = show_y - pos_y) < 0) - y_top = 0; - /* Clip any pixels falling off the bottom of the screen. */ - if ((y_bottom = show_y + SCROLL_Y_DIM - pos_y) > BLOCK_Y_DIM) - y_bottom = BLOCK_Y_DIM; - /* - * Skip the first y_left pixel in screen position and the first - * y_left rows of pixels in the block data. - */ - pos_y += y_top; - blk += y_top * BLOCK_X_DIM; - /* Adjust y_bottom to hold the number of pixel rows to be drawn. */ - y_bottom -= y_top; - - /* Draw the clipped image. */ - for (dy = 0; dy < y_bottom; dy++, pos_y++) { - for (dx = 0; dx < x_right; dx++, pos_x++, blk++) - *(img3 + (pos_x >> 2) + pos_y * SCROLL_X_WIDTH + - (3 - (pos_x & 3)) * SCROLL_SIZE) = *blk; - pos_x -= x_right; - blk += x_left; - } -} - - -/* - * draw_mask - * DESCRIPTION: Draw a BLOCK_X_DIM x BLOCK_Y_DIM player image block at absolute - * coordinates by masking transparent area. And save the masked area from - * maze data in the buffer. - * Mask any portion of the block not inside - * the logical view window. - * INPUTS: (pos_x,pos_y) -- coordinates of upper left corner of block - * mask -- mask data for block of player (one byte per pixel, as a C array - * of dimensions [BLOCK_Y_DIM][BLOCK_X_DIM]) - * blk -- image data for block of player (one byte per pixel, as a C array - * of dimensions [BLOCK_Y_DIM][BLOCK_X_DIM]) - * old_block_buffer -- buffer to save background image of player from the maze - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: draws into the build buffer - */ -void draw_mask(int pos_x, int pos_y, unsigned char* mask, unsigned char* blk, unsigned char* old_block_buffer){ - int dx, dy; /* loop indices for x and y traversal of block */ - int x_left, x_right; /* clipping limits in horizontal dimension */ - int y_top, y_bottom; /* clipping limits in vertical dimension */ - - //*old_block_buffer = *blk; - //memcpy(old_block_buffer,blk, sizeof(blk)); - //old_block_buffer = blk; - - /* If block is completely off-screen, we do nothing. */ - if (pos_x + BLOCK_X_DIM <= show_x || pos_x >= show_x + SCROLL_X_DIM || - pos_y + BLOCK_Y_DIM <= show_y || pos_y >= show_y + SCROLL_Y_DIM) - return; - - /* Clip any pixels falling off the left side of screen. */ - if ((x_left = show_x - pos_x) < 0) - x_left = 0; - /* Clip any pixels falling off the right side of screen. */ - if ((x_right = show_x + SCROLL_X_DIM - pos_x) > BLOCK_X_DIM) - x_right = BLOCK_X_DIM; - /* Skip the first x_left pixels in both screen position and block data. */ - pos_x += x_left; - blk += x_left; - - /* - * Adjust x_right to hold the number of pixels to be drawn, and x_left - * to hold the amount to skip between rows in the block, which is the - * sum of the original left clip and (BLOCK_X_DIM - the original right - * clip). - */ - x_right -= x_left; - x_left = BLOCK_X_DIM - x_right; - - /* Clip any pixels falling off the top of the screen. */ - if ((y_top = show_y - pos_y) < 0) - y_top = 0; - /* Clip any pixels falling off the bottom of the screen. */ - if ((y_bottom = show_y + SCROLL_Y_DIM - pos_y) > BLOCK_Y_DIM) - y_bottom = BLOCK_Y_DIM; - /* - * Skip the first y_left pixel in screen position and the first - * y_left rows of pixels in the block data. - */ - pos_y += y_top; - blk += y_top * BLOCK_X_DIM; - /* Adjust y_bottom to hold the number of pixel rows to be drawn. */ - y_bottom -= y_top; - - /* Draw the clipped image. */ - for (dy = 0; dy < y_bottom; dy++, pos_y++) { - for (dx = 0; dx < x_right; dx++, pos_x++, blk++, mask++, old_block_buffer++){ - - /* save the original background data to old_block_buffer*/ - *old_block_buffer = *(img3 + (pos_x >> 2) + pos_y * SCROLL_X_WIDTH + - (3 - (pos_x & 3)) * SCROLL_SIZE); - - /* draw only the image of the player which is when mask is 1*/ - if(*mask == 1){ - *(img3 + (pos_x >> 2) + pos_y * SCROLL_X_WIDTH + - (3 - (pos_x & 3)) * SCROLL_SIZE) = *blk; - } - - } - pos_x -= x_right; - blk += x_left; - mask += x_left; - old_block_buffer += x_left; - } -} - - -/* - * draw_fruit_txt - * DESCRIPTION: save a TXT_X_DIM x TXT_Y_DIM image block at absolute - * coordinates. One to save, another to draw string on. - * Mask any portion of the block not inside - * the logical view window. - * INPUTS: (pos_x,pos_y) -- coordinates of upper left corner of block - * old_fruit_buffer -- image data for background (one byte per pixel, as a C array - * of dimensions [TXT_X_DIM][TXT_Y_DIM]) - * fruit_txt_buffer -- image data to draw string on (one byte per pixel, as a C array - * of dimensions [TXT_X_DIM][TXT_Y_DIM]) - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: save background data into two separate buffer - */ -void draw_fruit_txt(int pos_x, int pos_y, unsigned char* old_fruit_buffer, unsigned char* fruit_txt_buffer) { - int dx, dy; /* loop indices for x and y traversal of block */ - int x_left, x_right; /* clipping limits in horizontal dimension */ - int y_top, y_bottom; /* clipping limits in vertical dimension */ - - /* If block is completely off-screen, we do nothing. */ - if (pos_x + TXT_X_DIM <= show_x || pos_x >= show_x + SCROLL_X_DIM || - pos_y + TXT_Y_DIM <= show_y || pos_y >= show_y + SCROLL_Y_DIM) - return; - - /* Clip any pixels falling off the left side of screen. */ - if ((x_left = show_x - pos_x) < 0) - x_left = 0; - /* Clip any pixels falling off the right side of screen. */ - if ((x_right = show_x + SCROLL_X_DIM - pos_x) > TXT_X_DIM) - x_right = TXT_X_DIM; - /* Skip the first x_left pixels in both screen position and block data. */ - pos_x += x_left; - old_fruit_buffer += x_left; - fruit_txt_buffer += x_left; - - /* - * Adjust x_right to hold the number of pixels to be drawn, and x_left - * to hold the amount to skip between rows in the block, which is the - * sum of the original left clip and (width - the original right - * clip). - */ - x_right -= x_left; - x_left = TXT_X_DIM - x_right; - - /* Clip any pixels falling off the top of the screen. */ - if ((y_top = show_y - pos_y) < 0) - y_top = 0; - /* Clip any pixels falling off the bottom of the screen. */ - if ((y_bottom = show_y + SCROLL_Y_DIM - pos_y) > TXT_Y_DIM) - y_bottom = TXT_Y_DIM; - /* - * Skip the first y_left pixel in screen position and the first - * y_left rows of pixels in the block data. - */ - pos_y += y_top; - old_fruit_buffer += y_top * TXT_X_DIM; - fruit_txt_buffer += y_top * TXT_X_DIM; - - /* Adjust y_bottom to hold the number of pixel rows to be drawn. */ - y_bottom -= y_top; - - /* Draw the clipped image. */ - for (dy = 0; dy < y_bottom; dy++, pos_y++) { - for (dx = 0; dx < x_right; dx++, pos_x++, old_fruit_buffer++, fruit_txt_buffer++){ - /* save background image to both fruit_txt_buffer and old_fruit_buffer */ - *fruit_txt_buffer = *(img3 + (pos_x >> 2) + pos_y * SCROLL_X_WIDTH + - (3 - (pos_x & 3)) * SCROLL_SIZE); - *old_fruit_buffer = *(img3 + (pos_x >> 2) + pos_y * SCROLL_X_WIDTH + - (3 - (pos_x & 3)) * SCROLL_SIZE); - } - pos_x -= x_right; - old_fruit_buffer += x_left; - fruit_txt_buffer += x_left; - } -} - - -/* - * draw_mask - * DESCRIPTION: Draw a width height image with or without string at absolute - * coordinates. - * - * INPUTS: (pos_x,pos_y) -- coordinates of upper left corner of block - * string_buffer -- image data to draw (one byte per pixel, as a C array - * of dimensions [TXT_X_DIM][TXT_Y_DIM]) - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: draws into the build buffer - */ -void draw_string(int pos_x, int pos_y, unsigned char* string_buffer) { - int dx, dy; /* loop indices for x and y traversal of block */ - int x_left, x_right; /* clipping limits in horizontal dimension */ - int y_top, y_bottom; /* clipping limits in vertical dimension */ - - - /* If block is completely off-screen, we do nothing. */ - if (pos_x + TXT_X_DIM <= show_x || pos_x >= show_x + SCROLL_X_DIM || - pos_y + TXT_Y_DIM <= show_y || pos_y >= show_y + SCROLL_Y_DIM) - return; - - /* Clip any pixels falling off the left side of screen. */ - if ((x_left = show_x - pos_x) < 0){ - x_left = 0; - } - - /* Clip any pixels falling off the right side of screen. */ - if ((x_right = show_x + SCROLL_X_DIM - pos_x) > TXT_X_DIM){ - x_right = TXT_X_DIM; - } - - /* Skip the first x_left pixels in both screen position and block data. */ - pos_x += x_left; - string_buffer += x_left; - - - /* - * Adjust x_right to hold the number of pixels to be drawn, and x_left - * to hold the amount to skip between rows in the block, which is the - * sum of the original left clip and (BLOCK_X_DIM - the original right - * clip). - */ - x_right -= x_left; - x_left = TXT_X_DIM - x_right; - - /* Clip any pixels falling off the top of the screen. */ - if ((y_top = show_y - pos_y) < 0){ - y_top = 0; - } - - - /* Clip any pixels falling off the bottom of the screen. */ - if ((y_bottom = show_y + SCROLL_Y_DIM - pos_y) > TXT_Y_DIM){ - y_bottom = TXT_Y_DIM; - } - - - /* - * Skip the first y_left pixel in screen position and the first - * y_left rows of pixels in the block data. - */ - pos_y += y_top; - string_buffer += y_top * TXT_X_DIM; - /* Adjust y_bottom to hold the number of pixel rows to be drawn. */ - y_bottom -= y_top; - - for (dy = 0; dy < y_bottom ; dy++, pos_y++) { - for (dx = 0; dx < x_right ; dx++, pos_x++, string_buffer++){ - /* draw input buffer with given TXT_X_DIM and TXT_Y_DIM */ - *(img3 + (pos_x >> 2) + pos_y * SCROLL_X_WIDTH + - (3 - (pos_x & 3)) * SCROLL_SIZE)= *string_buffer; - } - pos_x -= x_right; - string_buffer += x_left; - } -} -/* - * The functions inside the preprocessor block below rely on functions - * in maze.c to generate graphical images of the maze. These functions - * are neither available nor necessary for the text restoration program - * based on this file, and are omitted to simplify linking that program. - */ -#ifndef TEXT_RESTORE_PROGRAM - -/* - * draw_vert_line - * DESCRIPTION: Draw a vertical map line into the build buffer. The - * line should be offset from the left side of the logical - * view window screen by the given number of pixels. - * INPUTS: x -- the 0-based pixel column number of the line to be drawn - * within the logical view window (equivalent to the number - * of pixels from the leftmost pixel to the line to be - * drawn) - * OUTPUTS: none - * RETURN VALUE: Returns 0 on success. If x is outside of the valid - * SCROLL range, the function returns -1. - * SIDE EFFECTS: draws into the build buffer - */ -int draw_vert_line(int x) { - /* to be written... */ - unsigned char buf[SCROLL_Y_DIM]; /* buffer for graphical image of line */ - unsigned char* addr; /* address of first pixel in build */ - /* buffer (without plane offset) */ - int p_off; /* offset of plane of first pixel */ - int i; /* loop index over pixels */ - - /* Check whether requested line falls in the logical view window. */ - if (x < 0 || x >= SCROLL_X_DIM) - return -1; - - /* Adjust y to the logical row value. */ - x += show_x; - - /* Get the image of the line. */ - (*vert_line_fn) (x, show_y, buf); - - /* Calculate starting address in build buffer. */ - addr = img3 + (x >> 2) + show_y * SCROLL_X_WIDTH; - - /* Calculate plane offset of first pixel. */ - p_off = (3 - (x & 3)); - - /* Copy image data into appropriate planes in build buffer. */ - for (i = 0; i < SCROLL_Y_DIM; i++) { - addr[p_off * SCROLL_SIZE + i * SCROLL_X_WIDTH] = buf[i]; - } - /* Return success. */ - - return 0; -} - -/* - * draw_horiz_line - * DESCRIPTION: Draw a horizontal map line into the build buffer. The - * line should be offset from the top of the logical view - * window screen by the given number of pixels. - * INPUTS: y -- the 0-based pixel row number of the line to be drawn - * within the logical view window (equivalent to the number - * of pixels from the top pixel to the line to be drawn) - * OUTPUTS: none - * RETURN VALUE: Returns 0 on success. If y is outside of the valid - * SCROLL range, the function returns -1. - * SIDE EFFECTS: draws into the build buffer - */ -int draw_horiz_line(int y) { - unsigned char buf[SCROLL_X_DIM]; /* buffer for graphical image of line */ - unsigned char* addr; /* address of first pixel in build */ - /* buffer (without plane offset) */ - int p_off; /* offset of plane of first pixel */ - int i; /* loop index over pixels */ - - /* Check whether requested line falls in the logical view window. */ - if (y < 0 || y >= SCROLL_Y_DIM) - return -1; - - /* Adjust y to the logical row value. */ - y += show_y; - - /* Get the image of the line. */ - (*horiz_line_fn) (show_x, y, buf); - - /* Calculate starting address in build buffer. */ - addr = img3 + (show_x >> 2) + y * SCROLL_X_WIDTH; - - /* Calculate plane offset of first pixel. */ - p_off = (3 - (show_x & 3)); - - /* Copy image data into appropriate planes in build buffer. */ - for (i = 0; i < SCROLL_X_DIM; i++) { - addr[p_off * SCROLL_SIZE] = buf[i]; - if (--p_off < 0) { - p_off = 3; - addr++; - } - } - - /* Return success. */ - return 0; -} - -#endif /* !defined(TEXT_RESTORE_PROGRAM) */ - -/* - * open_memory_and_ports - * DESCRIPTION: Map video memory into our address space; obtain permission - * to access VGA ports. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: 0 on success, -1 on failure - * SIDE EFFECTS: prints an error message to stdout on failure - */ -static int open_memory_and_ports() { - int mem_fd; /* file descriptor for physical memory image */ - - /* Obtain permission to access ports 0x03C0 through 0x03DA. */ - if (ioperm(0x03C0, 0x03DA - 0x03C0 + 1, 1) == -1) { - perror("set port permissions"); - return -1; - } - - /* Open file to access physical memory. */ - if ((mem_fd = open("/dev/mem", O_RDWR)) == -1) { - perror("open /dev/mem"); - return -1; - } - - /* Map video memory (0xA0000 - 0xBFFFF) into our address space. */ - if ((mem_image = mmap(0, VID_MEM_SIZE, PROT_READ | PROT_WRITE, - MAP_SHARED, mem_fd, 0xA0000)) == MAP_FAILED) { - perror("mmap video memory"); - return -1; - } - - /* Close /dev/mem file descriptor and return success. */ - (void)close(mem_fd); - return 0; -} - -/* - * VGA_blank - * DESCRIPTION: Blank or unblank the VGA display. - * INPUTS: blank_bit -- set to 1 to blank, 0 to unblank - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: none - */ -static void VGA_blank(int blank_bit) { - /* - * Move blanking bit into position for VGA sequencer register - * (index 1). - */ - blank_bit = ((blank_bit & 1) << 5); - - asm volatile (" \n\ - movb $0x01, %%al /* Set sequencer index to 1. */ \n\ - movw $0x03C4, %%dx \n\ - outb %%al, (%%dx) \n\ - incw %%dx \n\ - inb (%%dx), %%al /* Read old value. */ \n\ - andb $0xDF, %%al /* Calculate new value. */ \n\ - orl %0, %%eax \n\ - outb %%al, (%%dx) /* Write new value. */ \n\ - movw $0x03DA, %%dx /* Enable display (0x20->P[0x3C0]) */ \n\ - inb (%%dx), %%al /* Set attr reg state to index. */ \n\ - movw $0x03C0, %%dx /* Write index 0x20 to enable. */ \n\ - movb $0x20, %%al \n\ - outb %%al, (%%dx) \n\ - " - : - : "g"(blank_bit) - : "eax", "edx", "memory" - ); -} - -/* - * set_seq_regs_and_reset - * DESCRIPTION: Set VGA sequencer registers and miscellaneous output - * register; array of registers should force a reset of - * the VGA sequencer, which is restored to normal operation - * after a brief delay. - * INPUTS: table -- table of sequencer register values to use - * val -- value to which miscellaneous output register should be set - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: none - */ -static void set_seq_regs_and_reset(unsigned short table[NUM_SEQUENCER_REGS], unsigned char val) { - /* - * Dump table of values to sequencer registers. Includes forced reset - * as well as video blanking. - */ - REP_OUTSW(0x03C4, table, NUM_SEQUENCER_REGS); - - /* Delay a bit... */ - {volatile int ii; for (ii = 0; ii < 10000; ii++);} - - /* Set VGA miscellaneous output register. */ - OUTB(0x03C2, val); - - /* Turn sequencer on (array values above should always force reset). */ - OUTW(0x03C4, 0x0300); -} - -/* - * set_CRTC_registers - * DESCRIPTION: Set VGA cathode ray tube controller (CRTC) registers. - * INPUTS: table -- table of CRTC register values to use - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: none - */ -static void set_CRTC_registers(unsigned short table[NUM_CRTC_REGS]) { - /* clear protection bit to enable write access to first few registers */ - OUTW(0x03D4, 0x0011); - REP_OUTSW(0x03D4, table, NUM_CRTC_REGS); -} - -/* - * set_attr_registers - * DESCRIPTION: Set VGA attribute registers. Attribute registers use - * a single port and are thus written as a sequence of bytes - * rather than a sequence of words. - * INPUTS: table -- table of attribute register values to use - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: none - */ -static void set_attr_registers(unsigned char table[NUM_ATTR_REGS * 2]) { - /* Reset attribute register to write index next rather than data. */ - asm volatile ("inb (%%dx),%%al" - : - : "d"(0x03DA) - : "eax", "memory" - ); - REP_OUTSB(0x03C0, table, NUM_ATTR_REGS * 2); -} - -/* - * set_graphics_registers - * DESCRIPTION: Set VGA graphics registers. - * INPUTS: table -- table of graphics register values to use - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: none - */ -static void set_graphics_registers(unsigned short table[NUM_GRAPHICS_REGS]) { - REP_OUTSW(0x03CE, table, NUM_GRAPHICS_REGS); -} - -/* - * fill_palette - * DESCRIPTION: Fill VGA palette with necessary colors for the maze game. - * Only the first 64 (of 256) colors are written. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: changes the first 64 palette colors - */ -static void fill_palette() { - /* 6-bit RGB (red, green, blue) values for first 64 colors */ - static unsigned char palette_RGB[64][3] = { - { 0x00, 0x00, 0x00 },{ 0x00, 0x00, 0x2A }, /* palette 0x00 - 0x0F */ - { 0x00, 0x2A, 0x00 },{ 0x00, 0x2A, 0x2A }, /* basic VGA colors */ - { 0x2A, 0x00, 0x00 },{ 0x2A, 0x00, 0x2A }, - { 0x2A, 0x15, 0x00 },{ 0x2A, 0x2A, 0x2A }, - { 0x15, 0x15, 0x15 },{ 0x15, 0x15, 0x3F }, - { 0x15, 0x3F, 0x15 },{ 0x15, 0x3F, 0x3F }, - { 0x3F, 0x15, 0x15 },{ 0x3F, 0x15, 0x3F }, - { 0x3F, 0x3F, 0x15 },{ 0x3F, 0x3F, 0x3F }, - { 0x00, 0x00, 0x00 },{ 0x05, 0x05, 0x05 }, /* palette 0x10 - 0x1F */ - { 0x08, 0x08, 0x08 },{ 0x0B, 0x0B, 0x0B }, /* VGA grey scale */ - { 0x0E, 0x0E, 0x0E },{ 0x11, 0x11, 0x11 }, - { 0x14, 0x14, 0x14 },{ 0x18, 0x18, 0x18 }, - { 0x1C, 0x1C, 0x1C },{ 0x20, 0x20, 0x20 }, - { 0x24, 0x24, 0x24 },{ 0x28, 0x28, 0x28 }, - { 0x2D, 0x2D, 0x2D },{ 0x32, 0x32, 0x32 }, - { 0x38, 0x38, 0x38 },{ 0x3F, 0x3F, 0x3F }, - { 0x3F, 0x3F, 0x3F },{ 0x3F, 0x3F, 0x3F }, /* palette 0x20 - 0x2F */ - { 0x00, 0x00, 0x3F },{ 0x00, 0x00, 0x00 }, /* wall and player colors */ - { 0x00, 0x00, 0x00 },{ 0x00, 0x00, 0x00 }, - { 0x00, 0x00, 0x00 },{ 0x00, 0x00, 0x00 }, - { 0x00, 0x00, 0x00 },{ 0x00, 0x00, 0x00 }, - { 0x00, 0x00, 0x00 },{ 0x00, 0x00, 0x00 }, - { 0x00, 0x00, 0x00 },{ 0x00, 0x00, 0x00 }, - { 0x00, 0x00, 0x00 },{ 0x00, 0x00, 0x00 }, - { 0x10, 0x08, 0x00 },{ 0x18, 0x0C, 0x00 }, /* palette 0x30 - 0x3F */ - { 0x20, 0x10, 0x00 },{ 0x28, 0x14, 0x00 }, /* browns for maze floor */ - { 0x30, 0x18, 0x00 },{ 0x38, 0x1C, 0x00 }, - { 0x3F, 0x20, 0x00 },{ 0x3F, 0x20, 0x10 }, - { 0x20, 0x18, 0x10 },{ 0x28, 0x1C, 0x10 }, - { 0x3F, 0x20, 0x10 },{ 0x38, 0x24, 0x10 }, - { 0x3F, 0x28, 0x10 },{ 0x3F, 0x2C, 0x10 }, - { 0x3F, 0x30, 0x10 },{ 0x3F, 0x20, 0x10 } - }; - - int i,j; /* variables for loop*/ - unsigned char transparent[64][3]; /* buffer for holding trasparent rgb data */ - - /* Using interpolation among white and given colors, make new palette with trasparent rgb data */ - for(i = 0; i < 64 ; i++) { - for(j = 0; j < 3 ; j++) { - transparent[i][j] = (palette_RGB[i][j] + WHITE)/ 2 ; - } - } - - /* Start writing at color 0. */ - OUTB(0x03C8, 0x00); - /* Write all 64 colors from array. */ - REP_OUTSB(0x03C9, palette_RGB, 64 * 3); - - /* Start writing at 0x40 */ - OUTB(0x03C8, 0x40); - /* Write all 64 transparent colors from array */ - REP_OUTSB(0x03c9, transparent, 64 * 3); -} - - - -/* - * set_palette_colors - * DESCRIPTION: set particular addresss of palette with input rgb values. - * INPUTS: idx - address to where rgb values will be set. - r - r color value - g - g color alue - b - b color value - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: changes the rgb value of input address in palette - */ -void set_palette_colors(unsigned char idx, unsigned char r, unsigned char g, unsigned char b){ - /* DAC Data Register: port 3C9h - * DAC Address Write Mode Register : port 3C8h - */ - OUTB(0x3C8,idx); - - OUTB(0x3C9,r); - OUTB(0x3C9,g); - OUTB(0x3C9,b); -} - -/* - * write_font_data - * DESCRIPTION: Copy font data into VGA memory, changing and restoring - * VGA register values in order to do so. - * INPUTS: none - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: leaves VGA registers in final text mode state - */ -static void write_font_data() { - int i; /* loop index over characters */ - int j; /* loop index over font bytes within characters */ - unsigned char* fonts; /* pointer into video memory */ - - /* Prepare VGA to write font data into video memory. */ - OUTW(0x3C4, 0x0402); - OUTW(0x3C4, 0x0704); - OUTW(0x3CE, 0x0005); - OUTW(0x3CE, 0x0406); - OUTW(0x3CE, 0x0204); - - /* Copy font data from array into video memory. */ - for (i = 0, fonts = mem_image; i < 256; i++) { - for (j = 0; j < 16; j++) - fonts[j] = font_data[i][j]; - fonts += 32; /* skip 16 bytes between characters */ - } - - /* Prepare VGA for text mode. */ - OUTW(0x3C4, 0x0302); - OUTW(0x3C4, 0x0304); - OUTW(0x3CE, 0x1005); - OUTW(0x3CE, 0x0E06); - OUTW(0x3CE, 0x0004); -} - -/* - * set_text_mode_3 - * DESCRIPTION: Put VGA into text mode 3 (color text). - * INPUTS: clear_scr -- if non-zero, clear screens; otherwise, do not - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: may clear screens; writes font data to video memory - */ -static void set_text_mode_3(int clear_scr) { - unsigned long* txt_scr; /* pointer to text screens in video memory */ - int i; /* loop over text screen words */ - - VGA_blank(1); /* blank the screen */ - /* - * The value here had been changed to 0x63, but seems to work - * fine in QEMU (and VirtualPC, where I got it) with the 0x04 - * bit set (VGA_MIS_DCLK_28322_720). - */ - set_seq_regs_and_reset(text_seq, 0x67); /* sequencer registers */ - set_CRTC_registers(text_CRTC); /* CRT control registers */ - set_attr_registers(text_attr); /* attribute registers */ - set_graphics_registers(text_graphics); /* graphics registers */ - fill_palette(); /* palette colors */ - if (clear_scr) { /* clear screens if needed */ - txt_scr = (unsigned long*)(mem_image + 0x18000); - for (i = 0; i < 8192; i++) - *txt_scr++ = 0x07200720; - } - write_font_data(); /* copy fonts to video mem */ - VGA_blank(0); /* unblank the screen */ -} - -/* - * copy_image - * DESCRIPTION: Copy one plane of a screen from the build buffer to the - * video memory. - * INPUTS: img -- a pointer to a single screen plane in the build buffer - * scr_addr -- the destination offset in video memory - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: copies a plane from the build buffer to video memory - */ -static void copy_image(unsigned char* img, unsigned short scr_addr) { - /* - * memcpy is actually probably good enough here, and is usually - * implemented using ISA-specific features like those below, - * but the code here provides an example of x86 string moves - */ - //with status bar added, need to subtract its memory - asm volatile (" \n\ - cld \n\ - movl $16000-1440,%%ecx \n\ - rep movsb /* copy ECX bytes from M[ESI] to M[EDI] */ \n\ - " - : /* no outputs */ - : "S"(img), "D"(mem_image + scr_addr) - : "eax", "ecx", "memory" - ); -} - - -/* - * show_status_bar - * DESCRIPTION: Show the status bar on the video display. - * INPUTS: level -- level of the game - * n_fruits -- number of fruits - * time -- time elapsed - * backgorund_color -- color of background - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: copies from the status bar buffer to video memory; - * shifts the VGA display source to point to the new image - */ -void show_status_bar(int level, int n_fruits, int time, int background_color) { - int i; /* loop index */ - int p_off; /* plane offset */ - unsigned char image_buffer[STATUS_SCREEN_SIZE]; /* buffer for holding graphical image of the ASCII characters */ - unsigned char temp[STATUS_SCREEN_SIZE]; /* temporary image_buffer to prevent overlap */ - char txt[MAX_STRING]; /* string data buffer */ - - int second = time % 60; /* seconds */ - int second1 = second % 10; /* 1st */ - int second10 = second / 10; /* 10th */ - - int minute = time / 60; /* minutes */ - int minute1 = minute % 10; /* 1st */ - int minute10 = minute / 10; /* 10th */ - int pos; /* location index used for converting buffer to new location */ - - /* convert data into string */ - - sprintf(txt, "Level %d %d Fruit %d%d:%d%d", level, n_fruits, minute10, minute1,second10, second1); - - /* convert string into ASCII character data buffer*/ - string_to_buf(txt,image_buffer,background_color); - - - /* move pixels in ASCII character buffer to appropriate plane*/ - for(i = 0;i - * 0123012301230123012301230123012301230123012301230123012301230123 - * - * The mapping is more contorted than with mode 13h, but allows use of - * graphics tricks such as double-buffering. - * - * The design here is strongly influenced by the fact that we are running - * in a virtual machine in which writes to video memory are exorbitantly - * expensive. In particular, writing a chunk of 16kB with a single x86 - * instruction (REP MOVSB) is much faster than writing two hundred bytes - * with many instructions. - * - * That said, the design is not unreasonable, and is only slightly different - * than was (and is) often used today. - * - * Double-buffering uses two sections of memory to allow a program to - * draw the next screen to be displayed without having the partially drawn - * screen visible on the monitor (which causes flicker). When the drawing - * is complete, the video adapter is told to display the new screen instead - * of the old one, and the memory used for the old screen is then used to - * draw a third screen, the video adapter is switched back, and the process - * starts again. - * - * In our variant of double-buffering, we use non-video memory as the - * scratch pad, copy the drawn screen as a whole into one of two buffers - * in video memory, and switch the picture between the two buffers. The - * cost of the copy is negligible; the cost of writing to video memory - * instead is quite high (under VirtualPC). - * - * In order to reduce drawing time, we reuse most of the screen data between - * video frames. New data are drawn only when the viewing window moves - * within a logical space defined by the program. For example, if this - * window shifts one pixel to the left, only the left border of the screen - * is drawn. Other data are left untouched in most cases. - */ - -/* configure VGA for mode X; initializes logical view to (0,0) */ -extern int set_mode_X( - void (*horiz_fill_fn)(int, int, unsigned char[SCROLL_X_DIM]), - void (*vert_fill_fn)(int, int, unsigned char[SCROLL_Y_DIM])); - -/* return to text mode */ -extern void clear_mode_X(); - -/* set logical view window coordinates */ -extern void set_view_window(int scr_x, int scr_y); - -/* show the logical view window on the monitor */ -extern void show_screen(); - -/* clear the video memory in mode X */ -extern void clear_screens(); - -/* - * draw a 12x12 block with upper left corner at logical position - * (pos_x,pos_y); any part of the block outside of the logical view window - * is clipped (cut off and not drawn) - */ -extern void draw_full_block(int pos_x, int pos_y, unsigned char* blk); - -/* draw a horizontal line at vertical pixel y within the logical view window */ -extern int draw_horiz_line(int y); - -/* draw a vertical line at horizontal pixel x within the logical view window */ -extern int draw_vert_line(int x); - -/* show the status bar on the monitor */ -extern void show_status_bar(int level, int n_fruits,int time, int background_color); - -/* set particular palette address with rgb value */ -extern void set_palette_colors(unsigned char idx, unsigned char r, unsigned char g, unsigned char b); - -/* draw player image and save background */ -extern void draw_mask(int pos_x, int pos_y, unsigned char* mask, unsigned char* blk, unsigned char* old_block_buffer); - -/*save background image to draw text on two buffers: one for drawing and one for masking */ -extern void draw_fruit_txt(int pos_x, int pos_y, unsigned char* old_fruit_buffer, unsigned char* fruit_txt_buffer); - -/* draw buffer that has text image */ -extern void draw_string(int pos_x, int pos_y, unsigned char* string_buffer); - -#endif /* MODEX_H */ diff --git a/mp2/module/Makefile b/mp2/module/Makefile deleted file mode 100644 index b810793..0000000 --- a/mp2/module/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -# Makefile for tux controller driver -# Created for ECE 391 - Fall 2007 -# By Andrew Ofisher - -obj-m += tuxctl.o -tuxctl-objs := tuxctl-ioctl.o tuxctl-ld.o - -KERNEL_DIR := /home/user/build - -all: - make -C $(KERNEL_DIR) M=$(PWD) modules - # for simplicity when using GDB, make a copy in Linux source dir - cp -f tuxctl.o $(KERNEL_DIR) - -clean:: - make -C $(KERNEL_DIR) M=$(PWD) clean - -clear: clean - rm -f Module.symvers diff --git a/mp2/module/mtcp.h b/mp2/module/mtcp.h deleted file mode 100644 index f13e056..0000000 --- a/mp2/module/mtcp.h +++ /dev/null @@ -1,398 +0,0 @@ -;/* -; mtcp.h - Mouse/TuxController Protocol -; Mark Murphy 2006 -; -; This header file defines the interface between the PC and the -; Mouse/TuxController boards. The overall philosophy was to incorporate -; both the functionality of the PS/2 Mouse (which is used by the 'layout' -; circuit simulator) as well as extend the functionality provided by the -; parallel-port based 2-button boards used previously for MP2's like the -; 'mazegame'. -; -; Commands sent from the PC to the MTC are variable length. Most are simple -; single-byte commands, however some require additional bytes to be sent. -; For example, to set the LED display, as many as 6 bytes can be sent. See -; the descriptions of individual commands for details. -; -; Responses from the MTC to the PC come in a single, 3-byte format. The -; three byte packets have a structure which is meant to allow for as much -; compatibility as possible with the PS/2 Mouse motion packet (see below). -; A few restrictions and changes had to be made to ensure higher reliability -; in the presence of untrustworthy operating systems .... -; -; (Don't worry that there is a lot of words in these next few paragraphs, -; pictures follow... ) -; -; The high order bit of the first byte of a 3-byte packet will always be -; '0', and the high order bit of the second and third bytes will always be -; '1'. If the packet is a PS/2 Mouse emulation packet, then bit 6 will be '0' -; and bit 3 will be '1'; otherwise bit 6 will be '1' and bit 3 will be '0'. -; This leaves 5 bits in which to encode opcodes for non PS/2 responses, and -; 2 7-bit fields for data. -; -; This limits the X,Y movement values for the PS/2 emulation to 8 bit 2's -; compliment integers (in the actual PS/2 spec, they are 9-bits). If you are -; familiar with the PS/2 spec, notice that this also fixes the Y,X overflow -; fields to 0. -; -; -; In a more visual form: -; -; PS/2 Emulation: -; +-7-+-6-+-5--+-4--+-3-+-2-+-1-+-0-+ -; 0 | 0 | 0 | YS | XS | 1 | M | R | L | -; +---+---+----+----+---+---+---+---+ -; 1 | 1 | X Movement | -; +---+---+----+----+---+---+---+---+ -; 2 | 1 | Y Movement | -; +---+---+----+----+---+---+---+---+ -; -; Where: -; YS - Sign (8th bit) of the Y-movement value -; XS - Sign (8th bit) of the X-movement value -; M - Status of Middle button (1 when button is down) -; R - Status of Right button (1 when button is down) -; L - Status of Left button (1 when button is down) -; -; TuxController Responses: -; +-7-+-6-+-5--+-4--+-3-+--2-+--1-+--0-+ -; 0 | 0 | 1 | R4 | R3 | 0 | R2 | R1 | R0 | -; +---+---+----+----+---+----+----+----+ -; 1 | 1 | DATA | -; +---+---+----+----+---+----+----+----+ -; 2 | 1 | DATA | -; +---+---+----+----+---+----+----+----+ -; -; Where R[4:0] is the command response code, and the DATA fields are -; specific to each particular response. -; -;*/ - -;/* -; (For reference) -; PS/2 Mouse movement packet format: -; -; 7 6 5 4 3 2 1 0 -; ------------------------------------- -; Byte 0 | YO | XO | YS | XS | 1 | M | R | L | -; ------------------------------------- -; Byte 1 | X Movement | -; ------------------------------------- -; Byte 2 | Y Movement | -; ------------------------------------- -; YO - Y overflow. Fixed 0 for MTC mouse packets -; XO - X overflow. Fixed 0 for MTC mouse packets -; YS - Y Sign -; XS - X Sign -; M - Middle Button pressed (active high) -; R - Right Button pressed (active high) -; L - Left Button pressed (active high) -;*/ - - -#define MOUSE_Y0 0x80 -#define MOUSE_X0 0x40 -#define MOUSE_YS 0x20 -#define MOUSE_XS 0x10 -#define MOUSE_MIDDLE 0x04 -#define MOUSE_RIGHT 0x02 -#define MOUSE_LEFT 0x01 - - - -;/* -; MTC to PC first bytes. Limited to 32 opcodes, however the -; MTCP_BUTTON_POLL takes up 4 opcodes -; */ - -#define MTCP_RESP(n) (((n)&7) | (((n)&0x18)<<1) | 0x40) -#define MTCP_IS_MOUSE(n) (0x08 == ((n)&0xC8)) - -#define MTCP_ACK MTCP_RESP(0x0) - -#define MTCP_BIOC_EVENT MTCP_RESP(0x1) -#define MTCP_CLK_EVENT MTCP_RESP(0x2) -#define MTCP_OFF_EVENT MTCP_RESP(0x3) - -#define MTCP_POLL_OK MTCP_RESP(0x4) -#define MCTP_CLK_POLL MTCP_RESP(0x5) -#define MTCP_RESET MTCP_RESP(0x6) - -#define MTCP_LEDS_POLL0 MTCP_RESP(0x8) -#define __LEDS_POLL01 MTCP_RESP(0x9) -#define __LEDS_POLL02 MTCP_RESP(0xa) -#define __LEDS_POLL012 MTCP_RESP(0xb) - -#define MTCP_LEDS_POLL1 MTCP_RESP(0xC) -#define __LEDS_POLL11 MTCP_RESP(0xd) -#define __LEDS_POLL12 MTCP_RESP(0xe) -#define __LEDS_POLL112 MTCP_RESP(0xf) - -#define MTCP_ERROR MTCP_RESP(0x1F) - -;/* -; PC to MTC Command Opcodes - don't change these without changing the order -; of the jump table in mainloop.asm. The defines limit the number to 32. -; */ - -#define MTCP_CMD_MASK 0x1F -#define MTCP_CMD_CHECK_MASK 0xE0 -#define MTCP_CMD_CHECK 0xC0 -#define MTCP_CMD(c) (MTCP_CMD_CHECK | (c)) - -#define MTCP_OFF MTCP_CMD(0x0) -#define MTCP_RESET_DEV MTCP_CMD(0x1) - -#define MTCP_POLL MTCP_CMD(0x2) -#define MTCP_BIOC_ON MTCP_CMD(0x3) -#define MTCP_BIOC_OFF MTCP_CMD(0x4) -#define MTCP_DBG_OFF MTCP_CMD(0x5) - -#define MTCP_LED_SET MTCP_CMD(0x6) -#define MTCP_LED_CLK MTCP_CMD(0x7) -#define MTCP_LED_USR MTCP_CMD(0x8) -#define MTCP_POLL_LEDS MTCP_CMD(0x13) - -#define MTCP_CLK_RESET MTCP_CMD(0x9) -#define MTCP_CLK_SET MTCP_CMD(0xa) -#define MTCP_CLK_POLL MTCP_CMD(0xb) -#define MTCP_CLK_RUN MTCP_CMD(0xc) -#define MTCP_CLK_STOP MTCP_CMD(0xd) -#define MTCP_CLK_UP MTCP_CMD(0xe) -#define MTCP_CLK_DOWN MTCP_CMD(0xf) -#define MTCP_CLK_MAX MTCP_CMD(0x10) - -#define MTCP_MOUSE_OFF MTCP_CMD(0x11) -#define MTCP_MOUSE_ON MTCP_CMD(0x12) - - - - -;/* -; ************************** Commands ******************************** -; -; Opcode: MTCP_RESET_DEV -; Reset the device. The device doesn't immediately respond, but -; generates an MTCP_RESET event when it is finished initializing -; itself. -; -; Opcode: MTCP_OFF -; Turn the MTC off. The RESET button on the board will need to be -; pressed for it to resume operation. It will generate an -; MTCP_OFF_EVENT before going to sleep. This is only a valid command -; when debug mode is off (i.e. the PC has sent an MTCP_DBG_OFF -; command). -; -; Opcode: MTCP_POLL -; Poll Buttons - get the current status of the 8 buttons. -; The bitmask is active low - a bit is clear when the corresponding -; button is pressed. The bitmask is split into two bytes. -; -; Response packet: -; byte 0 - MTCP_POLL_OK -; byte 1 __7_____4___3___2___1_____0____ -; | 1 X X X | C | B | A | START | -; ------------------------------- -; byte 2 __7_____4_____3______2______1_____0___ -; | 1 X X X | right | down | left | up | -; -------------------------------------- -; -; Opcode: MTCP_BIOC_ON -; Enable Button interrupt-on-change. MTCP_ACK is returned. -; -; Opcode: MTCP_BIOC_OFF -; Disable Button interrupt-on-change. MTCP_ACK is returned. -; -; Opcode MTCP_DBG_OFF -; Disable Debug-lockup mode. This sets the error-handling behavior; -; when debug-lockup is on, the device displays 0xdEAd on the LEDs and -; ceases responding to commands. MTCP_ACK is returned -; -; Opcode MTCP_LED_SET -; Set the User-set LED display values. These will be displayed on the -; LED displays when the LED display is in USR mode (see the MTCP_LED_USR -; and MTCP_LED_CLK commands). The first byte of argument specifies -; which of the LED's to set, and also determines how many bytes will -; follow - one byte for each led to set. -; -; -; Mapping from 7-segment to bits -; The 7-segment display is: -; _A -; F| |B -; -G -; E| |C -; -D .dp -; -; The map from bits to segments is: -; -; __7___6___5___4____3___2___1___0__ -; | A | E | F | dp | G | C | B | D | -; +---+---+---+----+---+---+---+---+ -; -; Arguments: >= 1 bytes -; byte 0 - Bitmask of which LED's to set: - -; __7___6___5___4____3______2______1______0___ -; | X | X | X | X | LED3 | LED2 | LED1 | LED0 | -; ----+---+---+---+------+------+------+------+ -; -; The number of bytes which should follow should be equal to the -; number of bits set in byte 0. The bytes should be sent in order of -; increasing LED number. (e.g LED0, LED2, LED3 for a bitmask of 0x0D) -; -; Response: 1 byte -; byte 0 - MTCP_ACK -; -; Opcode MTCP_LED_CLK -; Put the LED display into clock mode. In this mode, the value of the -; clock is displayed, rather than the value set with MTCP_LED_SET. -; -; Opcode MTCP_LED_USR -; Put the LED display into user-mode. In this mode, the value specified -; by the MTCP_LED_SET command is displayed. -; -; Opcode MTCP_CLK_RESET -; Reset the clock. The clock value is set to zero, the direction is -; set to down, and it is stopped. -; -; Opcode MTCP_CLK_SET -; Set the value of the clock. There are two argument bytes, the first -; is the number of minues, the second is the number of seconds. If -; either argument is out of the range which makes sense, then the -; result is undefined. -; -; Arguments: 2 bytes -; byte 0 - Number of minutes to set (up to a maximum of 99). -; byte 1 - number of seconds to set (up do a maximum of 59). -; -; Opcode MTCP_CLK_MAX -; Set the maximum value of the clock. When the clock's direction -; is set to up and it counts to this value, the MTC will generate -; an MTCP_CLK_EVENT event. -; Arguments: 2 bytes -; byte 0 - Number of minutes to set (up to a maximum of 99). -; -; Opcode MTCP_CLK_POLL -; Command: -; Read the state of the clock. The result specifies whether the -; clock is running, its direction, and the current value in -; minutes and seconds. -; Arguments: 0 bytes -; Response packet: -; byte 0 : MTCP_POLL_OK -; byte 1 : -; +-7-+-6-5-4-3-2-1-0-+ -; | 1 | Minutes | -; +---+---------------+ -; byte 2 : -; +-7-+----6----+-5-4-3-2-1-0--+ -; | 1 | Running | Seconds | -; +---+---------+--------------+ -; -; Opcode MTCP_CLK_RUN -; Start the clock. If it was already running, then it will still -; be running after this command. -; -; Opcode MTCP_CLK_STOP -; Stop the clock. If it was already stopped, then it will still be -; stopped after this command. -; -; Opcode MTCP_CLK_UP -; Set the clock's direction to up. When running, It will count up -; until reaching the value set by MTCP_CLK_MAX, then generate a -; CLK_EVENT -; -; Opcode MTCP_CLK_DOWN -; Set the clock"s direction to Down. When running, it will count down -; until reaching zero, then generate a CLK_EVENT. -; -;*/ - -;/* -; ********************* Responses ************************* -; -; MTCP_ERROR -; Response when the MTC has debug-lockup disabled and receives an -; unrecognized request from the PC. -; -; MTCP_ACK -; Response when the MTC successfully completes a command. -; -; MTCP_POLL_OK -; First byte of a response to a poll of either the buttons or the -; clock. -; -; MTCP_RESET -; Generated when the devide re-initializes itself after a power-up, -; a RESET button press, or an MTCP_RESET_DEV command. -; -; Packet Format: -; Byte 0 - MTCP_RESET -; Byte 1 - reserved -; Byte 2 - reserved -; -; MTCP_OFF -; Generated when the device is turning itself off after either an -; MTCP_OFF command or its internal 2-hour timer has expired. This -; timer is reset anytime there is serial communication activity, -; either to or from the device. -; -; Packet Format: -; Byte 0 - MTCP_OFF_EVENT -; Byte 1 - reserved -; Byte 2 - reserved -; -; MTCP_BIOC_EVT -; Generated when the Button Interrupt-on-change mode is enabled and -; a button is either pressed or released. -; -; Packet format: -; Byte 0 - MTCP_BIOC_EVENT -; byte 1 +-7-----4-+-3-+-2-+-1-+---0---+ -; | 1 X X X | C | B | A | START | -; +---------+---+---+---+-------+ -; byte 2 +-7-----4-+---3---+--2---+--1---+-0--+ -; | 1 X X X | right | down | left | up | -; +---------+-------+------+------+----+ -; MTCP_CLK_EVENT -; The clock has reached zero (when counting down) or its maximum value -; (when counting up). -; -; Packet format: -; Byte 0 - MTCP_CLK_EVENT -; Byte 1 - reserved -; Byte 2 - reserved -; -; MTCP_LEDS_POLL -; Since there are 32 bits of data to return with this response, the -; data format is a bit screwy. It will be 2 3-byte packets of the -; form described above, with a slight modification: the opcode will -; be used to encode some of the data. There is a different opcode -; for the first and second packets (1 bit of difference) to allow for -; detection of a dropped packet. -; The data from LED's 0 and 1 will be in the first packet, and the -; data from LED's 2 and 3 will be in the second packet. The data will -; be of the same format as the LED_SET command, except that the segA -; bits will be packed into the opcode, as shown in the diagram below -; -; In picto-gram form: -; Packet 0 will be: -; +-7-+-6-+-5-+--4-+-3-+-2-+-1--+-0--+ -; 0 | 0 | 1 | 0 | 1 | 0 | 0 | A1 | A0 | -; +---+---+---+----+---+---+----+----+ -; 1 | 1 | E | F | dp | G | C | B | D | (data for LED0) -; +---+---+---+----+---+---+----+----+ -; 2 | 1 | E | F | dp | G | C | B | D | (data for LED1) -; +---+---+---+----+---+---+----+----+ -; -; Packet 1 will be: -; +-7-+-6-+-5-+--4-+-3-+-2-+-1--+-0--+ -; 0 | 0 | 1 | 0 | 1 | 0 | 1 | A1 | A0 | -; +---+---+---+----+---+---+----+----+ -; 1 | 1 | E | F | dp | G | C | B | D | (data for LED2) -; +---+---+---+----+---+---+----+----+ -; 2 | 1 | E | F | dp | G | C | B | D | (data for LED3) -; +---+---+---+----+---+---+----+----+ -; -;*/ diff --git a/mp2/module/tuxctl-ioctl.c b/mp2/module/tuxctl-ioctl.c deleted file mode 100644 index 2aaa3d6..0000000 --- a/mp2/module/tuxctl-ioctl.c +++ /dev/null @@ -1,246 +0,0 @@ -/* tuxctl-ioctl.c - * - * Driver (skeleton) for the mp2 tuxcontrollers for ECE391 at UIUC. - * - * Mark Murphy 2006 - * Andrew Ofisher 2007 - * Steve Lumetta 12-13 Sep 2009 - * Puskar Naha 2013 - */ - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "tuxctl-ld.h" -#include "tuxctl-ioctl.h" -#include "mtcp.h" - -#define debug(str, ...) \ - printk(KERN_DEBUG "%s: " str, __FUNCTION__, ## __VA_ARGS__) - - -/* fill a buffer with initializing commands and send them to TUX*/ -int init(struct tty_struct* tty); -int set_led(struct tty_struct* tty, unsigned long arg); -int set_buttons(struct tty_struct* tty, unsigned long arg); -unsigned char packets [BUTTON_PACKET_SIZE]; /* array for holding packets b and c for MTCP_BIOC_EVENT */ -unsigned char prev_state [LED_PACKET_SIZE]; /* array for holding previous state in case of reset */ -int ack; /* MTCP_ACK flag */ - -/************************ Protocol Implementation *************************/ - -/* tuxctl_handle_packet() - * IMPORTANT : Read the header for tuxctl_ldisc_data_callback() in - * tuxctl-ld.c. It calls this function, so all warnings there apply - * here as well. - */ - -void tuxctl_handle_packet (struct tty_struct* tty, unsigned char* packet) -{ - unsigned a, b, c; - - a = packet[0]; /* byte 0 */ - b = packet[1]; /* byte 1 */ - c = packet[2]; /* byte 2 */ - - switch(a) { - - case MTCP_RESET: - init(tty); - - /* send data saved before reset to TUX */ - tuxctl_ldisc_put(tty,prev_state,6); - break; - - case MTCP_BIOC_EVENT: - // Byte 0 - MTCP_BIOC_EVENT - // byte 1 +-7-----4-+-3-+-2-+-1-+---0---+ - // | 1 X X X | C | B | A | START | - // +---------+---+---+---+-------+ - // byte 2 +-7-----4-+---3---+--2---+--1---+-0--+ - // | 1 X X X | right | down | left | up | - // +---------+-------+------+------+----+ - packets[0] = b; - packets[1] = c; - break; - - case MTCP_ACK: - ack = ACK_ON; - break; - default: - break; - - } - - //printk("packet : %x %x %x\n", a, b, c); -} - -/******** IMPORTANT NOTE: READ THIS BEFORE IMPLEMENTING THE IOCTLS ************ - * * - * The ioctls should not spend any time waiting for responses to the commands * - * they send to the controller. The data is sent over the serial line at * - * 9600 BAUD. At this rate, a byte takes approximately 1 millisecond to * - * transmit; this means that there will be about 9 milliseconds between * - * the time you request that the low-level serial driver send the * - * 6-byte SET_LEDS packet and the time the 3-byte ACK packet finishes * - * arriving. This is far too long a time for a system call to take. The * - * ioctls should return immediately with success if their parameters are * - * valid. * - * * - ******************************************************************************/ -int -tuxctl_ioctl (struct tty_struct* tty, struct file* file, - unsigned cmd, unsigned long arg) -{ - - switch (cmd) { - - case TUX_INIT: - init(tty); - return 0; - - case TUX_BUTTONS: - return set_buttons(tty,arg); - - case TUX_SET_LED: - if(ack == ACK_OFF){ - return 0; - } - ack = ACK_OFF; /* set ack flag to off to wait for another ACK*/ - return set_led(tty, arg); - - case TUX_LED_ACK: - return -EINVAL; - case TUX_LED_REQUEST: - return -EINVAL; - case TUX_READ_LED: - return -EINVAL; - default: - return -EINVAL; - } -} - - -/* set_buttons() -* takes packets value and mask and shift accordingly and send the data to user for behavior. -* input: arg -- pointer to a 32bit integer where low byte will be set. -* -*/ -int set_buttons(struct tty_struct* tty, unsigned long arg){ - /* variable used for TUX_INIT */ - - /* variables used for TUX_BUTTONS */ - unsigned char tmp1; /* temporary holder for 0000 CBAS */ - unsigned char tmp2; /* temporary holder for RDLU 0000 */ - unsigned char bit5; /* temporary holder for 5th bit */ - unsigned char bit6; /* temporary holder for 6th bit */ - unsigned char result; /* final output RLDU CBAS to send to user */ - - /* mask packet data and shift accordingly*/ - tmp1 = packets[0] & 0x0F; /* 0000 CBAS */ - tmp2 = (packets[1] & 0x0F) << 4; /* RDLU 0000 */ - - /* mask 5th and 6th bit and swap them*/ - bit5 = tmp2 & MASK_5; /* 0010 0000 */ - bit5 = bit5 << 1; - bit6 = tmp2 & MASK_6; /* 0100 0000*/ - bit6 = bit6 >> 1; - tmp2 = tmp2 & MASK_47; /* 1001 0000 */ - - tmp2 = tmp2 | bit5 | bit6; /* RLDU 0000 */ - result = tmp1 | tmp2; /* RLDU CBAS */ - - /* send data to user and check if arg is NULL */ - if (copy_to_user( (unsigned long*)arg, &result ,sizeof(result)) != 0){ - return -EINVAL; - }else{ - return 0; - } -} - - -/* set_led() -* takes argument and mask and shift accordingly and send the data to TUX to set led. -* input: arg -- 32 bit interger that consists of led information. -* -*/ -int set_led(struct tty_struct* tty, unsigned long arg){ - - // /* varibles used for TUX_SET_LED */ - // - // /* - // * __7___6___5___4____3___2___1___0__ - // * | A | E | F | dp | G | C | B | D | - // * +---+---+---+----+---+---+---+---+ - // * led hex value from 0-F - // */ - unsigned char led_bit; /* determines which led to turn on */ - unsigned char dot_bit; /* determine which dot to turn on */ - int i; /* varible used for looping */ - unsigned char led[16] ={0xE7, 0x06, 0xCB, 0x8F, 0x2E, 0xAD, 0xED, 0x86, 0xEF, 0xAE, 0xEE, 0x6D, 0xE1, 0x4F, 0xE9, 0xE8}; - - - unsigned char output[LED_PACKET_SIZE]; /* buffer that holds final led data to send to TUX */ - unsigned char display_value[DISPLAY_SIZE]; /* buffer that holds display data */ - - - output[0] = MTCP_LED_SET; - - /* intialize display with zero*/ - for(i = 0; i < DISPLAY_SIZE ;i++){ - output[MIN_LED_BYTES+i] = EMTPY; - } - - /* mask input arg and shift to get led_bit and dot_bit */ - led_bit = (arg >> 16) & MASK_0TO3; /* get low 4bits of third byte */ - dot_bit = (arg >> 24) & MASK_0TO3; /* get low 4bits of higheset byte */ - - /* save hexadecimal values whose led is set to ON */ - for(i = 0; i < DISPLAY_SIZE ;i++){ - display_value[i] = (arg >> (i*4)) & MASK_0TO3; - if(((led_bit >> i) & 0x1) == 1){ - output[i+2] = led[display_value[i]]; - } - if(((dot_bit >> i) & 0x1) == 1){ /* set dots to ON accordingly */ - output[i+2] |= DOT_MASK; - } - - } - output[1] = ALL_LED; - - /* save current state to a buffer for RESET */ - for(i=0; i -#include - -#include -#include -#include - -#include -#include "tuxctl-ld.h" - -#define uhoh(str, ...) printk(KERN_EMERG "%s " str, __FUNCTION__, ##__VA_ARGS__) -#define debug(str, ...) printk(KERN_DEBUG "%s " str, __FUNCTION__,\ - ## __VA_ARGS__) - -/* Here's an interesting tidbit: tty_struct has no synchronization available - * to us to protect against races involving the tty->disc_data field. So, - * rather than do something tricky, we'll employ the 'one-big-freakin-lock' - * strategy for synchronizing the methods in this file. This can't be a - * semaphore because of the following chain of function calls: - * - * rs_interrupt() (serial.c) - * tty_flip_buffer_push() (tty_io.c) - * flush_to_ldisc() (tty_io.c) - * ldisc.receive_buf() (this file) - * - * Specifically, rs_interrupt is, well, an interrupt. Sleeping in an - * interrupt is a recipe for breaking things, so a spinlock it is. - */ -static spinlock_t tuxctl_ldisc_lock = SPIN_LOCK_UNLOCKED; - - -/* Line Discipline specific stuff */ -#define TUXCTL_MAGIC 0x74757863 - -#define sanity(data) if((data)->magic != TUXCTL_MAGIC){\ - uhoh("MAGIC MISMATCH!\n");\ - BUG();} - - -static int tuxctl_ldisc_open(struct tty_struct*); -static void tuxctl_ldisc_close(struct tty_struct*); -static void tuxctl_ldisc_rcv_buf(struct tty_struct*, const unsigned char *, - char *, int); -static void tuxctl_ldisc_write_wakeup(struct tty_struct*); -static void tuxctl_ldisc_data_callback(struct tty_struct *tty); - -#define TUXCTL_BUFSIZE 64 -typedef struct tuxctl_ldisc_data { - unsigned long magic; - - char rx_buf[TUXCTL_BUFSIZE]; - int rx_start, rx_end; - - char tx_buf[TUXCTL_BUFSIZE]; - int tx_start, tx_end; - -} tuxctl_ldisc_data_t; - - -static struct tty_ldisc tuxctl_ldisc = { - .magic = TUXCTL_MAGIC, - .name = "tuxcontroller", - .open = tuxctl_ldisc_open, - .close = tuxctl_ldisc_close, - .ioctl = tuxctl_ioctl, - .receive_buf = tuxctl_ldisc_rcv_buf, - .write_wakeup = tuxctl_ldisc_write_wakeup, -}; - -int __init -tuxctl_ldisc_init(void) -{ - int err = 0; - if((err = tty_register_ldisc(N_MOUSE, &tuxctl_ldisc))){ - debug("tuxctl line discipline register failed\n"); - }else{ - printk("tuxctl line discipline registered\n"); - } - return err; -} -module_init(tuxctl_ldisc_init); - -void __exit -tuxctl_ldisc_exit(void) -{ - tty_unregister_ldisc(N_MOUSE); - printk("tuxctl line discipline removed\n"); -} -module_exit(tuxctl_ldisc_exit); - - -#define buf_used(start,end) ((start) <= (end) ? \ - ((end) - (start)) \ - : (TUXCTL_BUFSIZE + (end) - (start))) - -#define buf_room(start,end) (TUXCTL_BUFSIZE - buf_used(start,end) - 1) - -#define buf_empty(start, end) ((start) == (end)) -#define buf_full(start, end) ((((end)+1)%TUXCTL_BUFSIZE) == (start)) -#define buf_incidx(idx) ((idx) = ((idx)+1) % TUXCTL_BUFSIZE) - - -static int -tuxctl_ldisc_open(struct tty_struct *tty) -{ - tuxctl_ldisc_data_t *data; - unsigned long flags; - - if(!(data = kmalloc(sizeof(*data), GFP_KERNEL))){ - uhoh("kmalloc failed!\n"); - return -ENOMEM; - } - - spin_lock_irqsave(&tuxctl_ldisc_lock, flags); - - data->magic = TUXCTL_MAGIC; - - data->rx_start = 0; - data->rx_end = 0; - - data->tx_start = 0; - data->tx_end = 0; - tty->disc_data = data; - - spin_unlock_irqrestore(&tuxctl_ldisc_lock, flags); - - return 0; -} - -static void -tuxctl_ldisc_close(struct tty_struct *tty) -{ - tuxctl_ldisc_data_t *data; - unsigned long flags; - - spin_lock_irqsave(&tuxctl_ldisc_lock, flags); - - data = tty->disc_data; - tty->disc_data = 0; - - spin_unlock_irqrestore(&tuxctl_ldisc_lock, flags); - - kfree(data); -} - - -/* tuxctl_ldisc_rcv_buf - * The receive_buf() method of our line discipline. It receives count bytes - * from cp. fp points to some flag/error bytes which I conveniently ignore. - * This is called when there are bytes received from the serial driver, and - * is called from an interrupt handler. - */ -static void -tuxctl_ldisc_rcv_buf(struct tty_struct *tty, const unsigned char *cp, - char *fp, int count) -{ - int call = 0, c=0; - unsigned long flags; - tuxctl_ldisc_data_t *data; - - spin_lock_irqsave(&tuxctl_ldisc_lock, flags); - if(0 != (data = tty->disc_data)){ - call = 1; - - while(count-- > 0 && !buf_full(data->rx_start, data->rx_end)) { - data->rx_buf[data->rx_end] = *cp++; - buf_incidx(data->rx_end); - c++; - } - } - - spin_unlock_irqrestore(&tuxctl_ldisc_lock, flags); - - if(call){ - tuxctl_ldisc_data_callback(tty); - } -} - -/* tuxctl_ldisc_write_wakeup() - * Called by the lower level serial driver when it can accept more - */ -static void -tuxctl_ldisc_write_wakeup(struct tty_struct *tty) -{ - tuxctl_ldisc_data_t *data; - int sent, n = 0, room; - char buf[TUXCTL_BUFSIZE]; - unsigned long flags; - - /* I hope that this doesn't need synchronization. */ - room = tty->driver->write_room(tty); - - spin_lock_irqsave(&tuxctl_ldisc_lock, flags); - data = tty->disc_data; - - while(n <= room && !buf_empty(data->tx_start, data->tx_end)){ - buf[n++] = data->tx_buf[data->tx_start]; - buf_incidx(data->tx_start); - } - - spin_unlock_irqrestore(&tuxctl_ldisc_lock, flags); - - sent = tty->driver->write(tty, buf, n); - - if(sent != n){ - debug("driver lied to us? We lost some data"); - } -} - -/*********** Interface to the char driver ********************/ - - -/* tuxctl_ldisc_get() - * Read bytes that the line-discipline has received from the controller. - * Returns the number of bytes actually read, or -1 on error (if, for - * example, the first argument is invalid. - */ -int -tuxctl_ldisc_get(struct tty_struct *tty, char *buf, int n) -{ - tuxctl_ldisc_data_t *data; - unsigned long flags; - int r = 0; - - spin_lock_irqsave(&tuxctl_ldisc_lock, flags); - data = tty->disc_data; - while(n-- > 0 && !buf_empty(data->rx_start, data->rx_end)){ - *buf++ = data->rx_buf[data->rx_start]; - buf_incidx(data->rx_start); - r++; - } - spin_unlock_irqrestore(&tuxctl_ldisc_lock, flags); - - return r; -} - -/* tuxctl_ldisc_put() - * Write bytes out to the device. Returns the number of bytes *not* written. - * This means, 0 on success and >0 if the line discipline's internal buffer - * is full. - */ -int -tuxctl_ldisc_put(struct tty_struct *tty, char const *buf, int n) -{ - tuxctl_ldisc_data_t *data; - unsigned long flags; - - spin_lock_irqsave(&tuxctl_ldisc_lock, flags); - - data = tty->disc_data; - - while (n > 0 && !buf_full(data->tx_start, data->tx_end)) { - data->tx_buf[data->tx_end] = *buf++; - buf_incidx(data->tx_end); - --n; - } - - spin_unlock_irqrestore(&tuxctl_ldisc_lock, flags); - - /* Potential race conditions here ... ?*/ - - tuxctl_ldisc_write_wakeup(tty); - - return n; -} - -/* tuxctl_ldisc_data_callback() - * This is the function called from the line-discipline when data is - * available from the device. This is how responses to polling the buttons - * and ACK's for setting the LEDs will be transmitted to the tuxctl driver. - * The tuxctl driver must implement this function. The 'tty' parameter - * can be passed back to the tuxctl_ldisc_read function to read - * data from the lower-level buffers. - * - * IMPORTANT: This function is called from an interrupt context, so it - * cannot acquire any semaphores or otherwise sleep, or access - * the 'current' pointer. It also must not take up too much time. - */ -static void tuxctl_ldisc_data_callback(struct tty_struct *tty) -{ - /* Should probably synchronize these */ - static unsigned char saved[2]; - static int n_saved = 0; - - unsigned char packet[12], *p; - int n, i = 0, j; - - for(i=0; i< n_saved; i++) - packet[i] = saved[i]; - - n = n_saved + tuxctl_ldisc_get(tty, packet + n_saved, 12 - n_saved); - - /* Look at all bytes as potential packet beginnings except for - * the last two bytes. Save them for next time. */ - for(i = 0; i < n-2; ){ - p = packet + i; - - /* Check the framing bits to detect lost bytes */ - if(!(p[0]&0x80) && p[1]&0x80 && p[2]&0x80){ - tuxctl_handle_packet(tty, p); - i += 3; - }else{ - i++; - } - } - - /* Save the leftovers - extra bytes for breakfast */ - n_saved = n - i; - for(j = 0; j < n_saved; j++) - saved[j] = packet[i+j]; -} - diff --git a/mp2/module/tuxctl-ld.h b/mp2/module/tuxctl-ld.h deleted file mode 100644 index f5b353d..0000000 --- a/mp2/module/tuxctl-ld.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef TUXCTL_LD_H -#define TUXCTL_LD_H - -#include -#include -#include -#include - -/* tuxctl-ld.h - * Interface between line discipline and driver */ - -/* tuxctl_ldisc_get() - * Read bytes that the line-discipline has received from the controller. - * Returns the number of bytes actually read, or -1 on error (if, for - * example, the first argument is invalid. - */ -extern int tuxctl_ldisc_get(struct tty_struct*, char *, int); - - -/* tuxctl_ldisc_put() - * Write bytes out to the device. Returns the number of bytes *not* written. - * This means, 0 on success and >0 if the line discipline's internal buffer - * is full. - */ -extern int tuxctl_ldisc_put(struct tty_struct*, char const*, int); - -/* tuxctl_handle_packet - * To be written by the student. This function will handle a - * packet sent to the computer from the tux controller. This is - * called by tuxctl_ldisc_data_callback(). - */ -void tuxctl_handle_packet(struct tty_struct *tty, unsigned char *packet); - - -/* ioctl for the line discipline that the students will implement. - * Located in tuxctl.c - */ -extern int tuxctl_ioctl(struct tty_struct * tty, struct file *, unsigned int cmd, unsigned long arg); -#endif diff --git a/mp2/text.c b/mp2/text.c deleted file mode 100644 index c48de77..0000000 --- a/mp2/text.c +++ /dev/null @@ -1,663 +0,0 @@ -/* - * tab:4 - * - * text.c - font data and text to graphics conversion utility - * - * "Copyright (c) 2004-2009 by Steven S. Lumetta." - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO - * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL - * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, - * EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE - * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR - * THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, - * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." - * - * Author: Steve Lumetta - * Version: 2 - * Creation Date: Thu Sep 9 22:06:29 2004 - * Filename: text.c - * History: - * SL 1 Thu Sep 9 22:06:29 2004 - * First written. - * SL 2 Sat Sep 12 13:45:33 2009 - * Integrated original release back into main code base. - */ - -#include - -#include "text.h" - -/* - * These font data were read out of video memory during text mode and - * saved here. They could be read in the same manner at the start of a - * game, but keeping a copy allows us to run the game to fix text mode - * if it is broken (font data missing, usually). - * - * Each character is 8x16 pixels and occupies two lines in the table below. - * Each byte represents a single bitmapped line of a single character. - */ -unsigned char font_data[256][16] = { - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7E, 0x81, 0xA5, 0x81, 0x81, 0xBD, - 0x99, 0x81, 0x81, 0x7E, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7E, 0xFF, 0xDB, 0xFF, 0xFF, 0xC3, - 0xE7, 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x6C, 0xFE, 0xFE, 0xFE, - 0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x7C, 0xFE, - 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x18, 0x3C, 0x3C, 0xE7, 0xE7, - 0xE7, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF, - 0x7E, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, - 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xC3, - 0xC3, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0x42, - 0x42, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x99, 0xBD, - 0xBD, 0x99, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, - {0x00, 0x00, 0x1E, 0x0E, 0x1A, 0x32, 0x78, 0xCC, - 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x66, 0x3C, - 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x3F, 0x33, 0x3F, 0x30, 0x30, 0x30, - 0x30, 0x70, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7F, 0x63, 0x7F, 0x63, 0x63, 0x63, - 0x63, 0x67, 0xE7, 0xE6, 0xC0, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x18, 0x18, 0xDB, 0x3C, 0xE7, - 0x3C, 0xDB, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFE, 0xF8, - 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x02, 0x06, 0x0E, 0x1E, 0x3E, 0xFE, 0x3E, - 0x1E, 0x0E, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, - 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, - 0x66, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7F, 0xDB, 0xDB, 0xDB, 0x7B, 0x1B, - 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x7C, 0xC6, 0x60, 0x38, 0x6C, 0xC6, 0xC6, - 0x6C, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, - 0x7E, 0x3C, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0C, 0xFE, - 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x60, 0xFE, - 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, - 0xC0, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6C, 0xFE, - 0x6C, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x7C, - 0x7C, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x7C, 0x7C, - 0x38, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x18, - 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, - 0x6C, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00}, - {0x18, 0x18, 0x7C, 0xC6, 0xC2, 0xC0, 0x7C, 0x06, - 0x06, 0x86, 0xC6, 0x7C, 0x18, 0x18, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0xC2, 0xC6, 0x0C, 0x18, - 0x30, 0x60, 0xC6, 0x86, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x76, 0xDC, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x0C, - 0x0C, 0x0C, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0xFF, - 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, - 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x0C, 0x18, - 0x30, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0xC6, - 0xC6, 0xC6, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7C, 0xC6, 0x06, 0x0C, 0x18, 0x30, - 0x60, 0xC0, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7C, 0xC6, 0x06, 0x06, 0x3C, 0x06, - 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x0C, 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, - 0x0C, 0x0C, 0x0C, 0x1E, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0, 0xFC, 0x06, - 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x38, 0x60, 0xC0, 0xC0, 0xFC, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xFE, 0xC6, 0x06, 0x06, 0x0C, 0x18, - 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, - 0x06, 0x06, 0x0C, 0x78, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, - 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, - 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, - 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, - 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, - 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x0C, 0x18, 0x18, - 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xDE, 0xDE, - 0xDE, 0xDC, 0xC0, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, - 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x66, - 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, - 0xC0, 0xC2, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x66, - 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, - 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, - 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xDE, - 0xC6, 0xC6, 0x66, 0x3A, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, - 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x1E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, - 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xE6, 0x66, 0x66, 0x6C, 0x78, 0x78, - 0x6C, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xF0, 0x60, 0x60, 0x60, 0x60, 0x60, - 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, - 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE, - 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x60, - 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, - 0xC6, 0xD6, 0xDE, 0x7C, 0x0C, 0x0E, 0x00, 0x00}, - {0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x6C, - 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x60, 0x38, 0x0C, - 0x06, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x7E, 0x7E, 0x5A, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, - 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xD6, - 0xD6, 0xFE, 0xEE, 0x6C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xC6, 0xC6, 0x6C, 0x7C, 0x38, 0x38, - 0x7C, 0x6C, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, - 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xFE, 0xC6, 0x86, 0x0C, 0x18, 0x30, - 0x60, 0xC2, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70, 0x38, - 0x1C, 0x0E, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, - 0x0C, 0x0C, 0x0C, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00}, - {0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xE0, 0x60, 0x60, 0x78, 0x6C, 0x66, - 0x66, 0x66, 0x66, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, - 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x1C, 0x0C, 0x0C, 0x3C, 0x6C, 0xCC, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xFE, - 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x38, 0x6C, 0x64, 0x60, 0xF0, 0x60, - 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xCC, 0x78, 0x00}, - {0x00, 0x00, 0xE0, 0x60, 0x60, 0x6C, 0x76, 0x66, - 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x06, 0x06, 0x00, 0x0E, 0x06, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3C, 0x00}, - {0x00, 0x00, 0xE0, 0x60, 0x60, 0x66, 0x6C, 0x78, - 0x78, 0x6C, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0xFE, 0xD6, - 0xD6, 0xD6, 0xD6, 0xC6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, - 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, - 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0x0C, 0x1E, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x76, 0x66, - 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x60, - 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x10, 0x30, 0x30, 0xFC, 0x30, 0x30, - 0x30, 0x30, 0x36, 0x1C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, - 0x66, 0x66, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xD6, - 0xD6, 0xD6, 0xFE, 0x6C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x6C, 0x38, - 0x38, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xCC, 0x18, - 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x0E, 0x18, 0x18, 0x18, 0x70, 0x18, - 0x18, 0x18, 0x18, 0x0E, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x70, 0x18, 0x18, 0x18, 0x0E, 0x18, - 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, - 0xC6, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, - 0xC2, 0x66, 0x3C, 0x0C, 0x06, 0x7C, 0x00, 0x00}, - {0x00, 0x00, 0xCC, 0x00, 0x00, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x0C, 0x18, 0x30, 0x00, 0x7C, 0xC6, 0xFE, - 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x10, 0x38, 0x6C, 0x00, 0x78, 0x0C, 0x7C, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xCC, 0x00, 0x00, 0x78, 0x0C, 0x7C, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x60, 0x30, 0x18, 0x00, 0x78, 0x0C, 0x7C, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x38, 0x6C, 0x38, 0x00, 0x78, 0x0C, 0x7C, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0x60, 0x60, - 0x66, 0x3C, 0x0C, 0x06, 0x3C, 0x00, 0x00, 0x00}, - {0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xFE, - 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xC6, 0x00, 0x00, 0x7C, 0xC6, 0xFE, - 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x60, 0x30, 0x18, 0x00, 0x7C, 0xC6, 0xFE, - 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x66, 0x00, 0x00, 0x38, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x18, 0x3C, 0x66, 0x00, 0x38, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x60, 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0xC6, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, - 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00}, - {0x38, 0x6C, 0x38, 0x00, 0x38, 0x6C, 0xC6, 0xC6, - 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00}, - {0x18, 0x30, 0x60, 0x00, 0xFE, 0x66, 0x60, 0x7C, - 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x76, 0x36, - 0x7E, 0xD8, 0xD8, 0x6E, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x3E, 0x6C, 0xCC, 0xCC, 0xFE, 0xCC, - 0xCC, 0xCC, 0xCC, 0xCE, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xC6, 0x00, 0x00, 0x7C, 0xC6, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x60, 0x30, 0x18, 0x00, 0x7C, 0xC6, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x30, 0x78, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x60, 0x30, 0x18, 0x00, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xC6, 0x00, 0x00, 0xC6, 0xC6, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0x78, 0x00}, - {0x00, 0xC6, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0xC6, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x18, 0x18, 0x3C, 0x66, 0x60, 0x60, 0x60, - 0x66, 0x3C, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x38, 0x6C, 0x64, 0x60, 0xF0, 0x60, 0x60, - 0x60, 0x60, 0xE6, 0xFC, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, - 0x7E, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0xF8, 0xCC, 0xCC, 0xF8, 0xC4, 0xCC, 0xDE, - 0xCC, 0xCC, 0xCC, 0xC6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x0E, 0x1B, 0x18, 0x18, 0x18, 0x7E, 0x18, - 0x18, 0x18, 0x18, 0x18, 0xD8, 0x70, 0x00, 0x00}, - {0x00, 0x18, 0x30, 0x60, 0x00, 0x78, 0x0C, 0x7C, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x0C, 0x18, 0x30, 0x00, 0x38, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x18, 0x30, 0x60, 0x00, 0x7C, 0xC6, 0xC6, - 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x18, 0x30, 0x60, 0x00, 0xCC, 0xCC, 0xCC, - 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x76, 0xDC, 0x00, 0xDC, 0x66, 0x66, - 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00}, - {0x76, 0xDC, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, - 0xCE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x3C, 0x6C, 0x6C, 0x3E, 0x00, 0x7E, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x7C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x60, - 0xC0, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xC0, - 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x06, - 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0xC0, 0xC0, 0xC2, 0xC6, 0xCC, 0x18, 0x30, - 0x60, 0xDC, 0x86, 0x0C, 0x18, 0x3E, 0x00, 0x00}, - {0x00, 0xC0, 0xC0, 0xC2, 0xC6, 0xCC, 0x18, 0x30, - 0x66, 0xCE, 0x9E, 0x3E, 0x06, 0x06, 0x00, 0x00}, - {0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, - 0x3C, 0x3C, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x6C, 0xD8, - 0x6C, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x6C, 0x36, - 0x6C, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, - 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44}, - {0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, - 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA}, - {0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, - 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, 0x18, 0xF8, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xF6, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x18, 0xF8, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0xF6, 0x06, 0xF6, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x06, 0xF6, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0xF6, 0x06, 0xFE, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xFE, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, 0x18, 0xF8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x18, 0x1F, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30, 0x3F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x30, 0x37, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0xF7, 0x00, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xF7, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30, 0x37, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0xF7, 0x00, 0xF7, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0x00, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xFF, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x3F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x18, 0x1F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x18, 0x1F, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xFF, - 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0x18, 0xFF, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, - {0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, - 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0}, - {0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, - 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F}, - {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDC, 0xD8, - 0xD8, 0xD8, 0xDC, 0x76, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x78, 0xCC, 0xCC, 0xCC, 0xD8, 0xCC, - 0xC6, 0xC6, 0xC6, 0xCC, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC0, 0xC0, 0xC0, - 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0xFE, 0x6C, 0x6C, 0x6C, - 0x6C, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0xFE, 0xC6, 0x60, 0x30, 0x18, - 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xD8, 0xD8, - 0xD8, 0xD8, 0xD8, 0x70, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, - 0x66, 0x7C, 0x60, 0x60, 0xC0, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x76, 0xDC, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x7E, 0x18, 0x3C, 0x66, 0x66, - 0x66, 0x3C, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, - 0xC6, 0xC6, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0x6C, - 0x6C, 0x6C, 0x6C, 0xEE, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x1E, 0x30, 0x18, 0x0C, 0x3E, 0x66, - 0x66, 0x66, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xDB, 0xDB, - 0xDB, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x03, 0x06, 0x7E, 0xDB, 0xDB, - 0xF3, 0x7E, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x1C, 0x30, 0x60, 0x60, 0x7C, 0x60, - 0x60, 0x60, 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, - 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, - 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18, - 0x18, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, 0x06, 0x0C, - 0x18, 0x30, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x0C, 0x18, 0x30, 0x60, 0x30, - 0x18, 0x0C, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x0E, 0x1B, 0x1B, 0x18, 0x18, 0x18, - 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, - {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, - 0xD8, 0xD8, 0xD8, 0x70, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x7E, - 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDC, 0x00, - 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, - 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xEC, - 0x6C, 0x6C, 0x3C, 0x1C, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0xD8, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x70, 0xD8, 0x30, 0x60, 0xC8, 0xF8, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x7C, 0x7C, 0x7C, 0x7C, - 0x7C, 0x7C, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00}, - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} -}; - -/* - * string_to_buf - * DESCRIPTION: convert input string data into buffer holding ASCII data of the input string - * INPUTS: string -- string data to be converted in to ASCII buffer - * image_buffer -- buffer that will be holding ASCII character data of the string - * background color -- color value that differs depends on the level of the game - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: buffer now holds the ASCII character data of the string - * - */ -void string_to_buf(const char* string, unsigned char* image_buffer, int background_color){ - int i,j,k; /* index for loop */ - unsigned char text_color = BLACK; /* font color hex value*/ - unsigned char* current_character; /* holder for each string data*/ - int str_len = strlen(string); /* length of input string*/ - int idx = 0; /* index for inputting appropriate color data into buffer*/ - int center_offset = (STATUS_X_DIM - str_len*FONT_WIDTH)/2; /* center offset calculation*/ - int mask = 0x80; /* masking value */ - - /* fill the buffer with background color*/ - for(i = 0; i < STATUS_X_DIM*STATUS_Y_DIM ;i++){ - image_buffer[i] = background_color; - } - - /*compare bit value of each string and store them into the image_buffer*/ - for(i = 0; i < str_len; i++){ - int font_index = (int)string[i]; - current_character = font_data[font_index]; - for(j = 0; j < FONT_HEIGHT ; j++){ - mask = 0x80; - for(k = 0; k < FONT_WIDTH ; k++){ - - /* calculate index using offset, size of status barm and size of font */ - idx = STATUS_X_DIM + center_offset + j * STATUS_X_DIM + k + i * FONT_WIDTH; - if(current_character[j] & mask) { - image_buffer[idx] = text_color; - } - mask = mask >> 1; - - } - } - } -} - -/* - * string_to_buf_fruit - * DESCRIPTION: convert input string data into buffer holding ASCII data of the input string and wrtie that buffer on to input buffer - * INPUTS: string -- string data to be converted in to ASCII buffer and written onto input buffer - * fruit_buffer -- buffer that will be holding ASCII character data of the string on top of background - * OUTPUTS: none - * RETURN VALUE: none - * SIDE EFFECTS: buffer now holds the ASCII character data of the string - * - */ -void string_to_buf_fruit(const char* string, unsigned char* fruit_buffer){ - int i,j,k; /* index for loop */ - unsigned char tmp_mask[TXT_X_DIM*TXT_Y_DIM]; /* buffer with masking data */ - unsigned char* current_character; /* holder for each string data*/ - int str_len = strlen(string); /* length of input string*/ - int idx = 0; /* index for inputting appropriate color data into buffer*/ - int center_offset = (TXT_X_DIM - str_len*FONT_WIDTH)/2; /* center offset calculation*/ - int mask = 0x80; /* masking value */ - - - - /* fill the buffer with background color*/ - for(i = 0; i < TXT_X_DIM*TXT_Y_DIM ;i++){ - tmp_mask[i] = 0; - } - /*compare bit value of each string and store them into the image_buffer*/ - for(i = 0; i < str_len; i++){ - int font_index = (int)string[i]; - current_character = font_data[font_index]; - for(j = 0; j < FONT_HEIGHT ; j++){ - mask = 0x80; - for(k = 0; k < FONT_WIDTH ; k++){ - - /* calculate index using offset, size of status barm and size of font */ - idx = TXT_X_DIM + center_offset + j * TXT_X_DIM + k + i * FONT_WIDTH; - /* populate buffer with 1 when string is located for masking purpose*/ - if(current_character[j] & mask) { - tmp_mask[idx] = 1; - } - mask = mask >> 1; - - } - } - } - - /* using mask buffer that contains string data, write on input buffer with transparent color */ - for(i = 0; i < TXT_Y_DIM ;i++){ - for(j = 0; j < TXT_X_DIM;j++){ - if(tmp_mask[ j + i * TXT_X_DIM] !=0){ - fruit_buffer[j + i * TXT_X_DIM] += T_OFFSET; - } - } - } -} diff --git a/mp2/text.h b/mp2/text.h deleted file mode 100644 index 9b1f3ca..0000000 --- a/mp2/text.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * tab:4 - * - * text.h - font data and text to mode X conversion utility header file - * - * "Copyright (c) 2004-2009 by Steven S. Lumetta." - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO - * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL - * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, - * EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE - * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR - * THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, - * SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." - * - * Author: Steve Lumetta - * Version: 2 - * Creation Date: Thu Sep 9 22:08:16 2004 - * Filename: text.h - * History: - * SL 1 Thu Sep 9 22:08:16 2004 - * First written. - * SL 2 Sat Sep 12 13:40:11 2009 - * Integrated original release back into main code base. - */ - -#ifndef TEXT_H -#define TEXT_H - -/* The default VGA text mode font is 8x16 pixels. */ -#define FONT_WIDTH 8 -#define FONT_HEIGHT 16 - -/* status bar dimension */ -#define STATUS_X_DIM 320 -#define STATUS_Y_DIM 18 -#define T_OFFSET 0x40 -#define BLACK 0x00 - -#define TXT_X_DIM 104 /* max length of fruit string */ -#define TXT_Y_DIM 16 /* height of fruit string */ -/* Standard VGA text font. */ -extern unsigned char font_data[256][16]; -/* convert input string data into buffer holding ASCII data of the input string */ -void string_to_buf(const char* string, unsigned char* image_buffer, int background_color); - -/* convert input string into masking buffer and using that buffer to populate input image buffer with string data */ -void string_to_buf_fruit(const char* string, unsigned char* fruit_buffer); - -#endif /* TEXT_H */ diff --git a/mp3-LOS/INSTALL b/mp3-LOS/INSTALL deleted file mode 100644 index ac0d6ae..0000000 --- a/mp3-LOS/INSTALL +++ /dev/null @@ -1 +0,0 @@ -See the INSTALL file in the student-distrib/ directory. diff --git a/mp3-LOS/README.md b/mp3-LOS/README.md deleted file mode 100644 index f44ba6f..0000000 --- a/mp3-LOS/README.md +++ /dev/null @@ -1,70 +0,0 @@ -ACADEMIC INTEGRITY ------ -Please review the University of Illinois Student Code before starting, -particularly all subsections of Article 1, Part 4 Academic Integrity and Procedure [here](http://studentcode.illinois.edu/article1_part4_1-401.html). - -**§ 1‑402 Academic Integrity Infractions** - -(a). Cheating. No student shall use or attempt to use in any academic exercise materials, information, study aids, or electronic data that the student knows or should know is unauthorized. Instructors are strongly encouraged to make in advance a clear statement of their policies and procedures concerning the use of shared study aids, examination files, and related materials and forms of assistance. Such advance notification is especially important in the case of take-home examinations. During any examination, students should assume that external assistance (e.g., books, notes, calculators, and communications with others) is prohibited unless specifically authorized by the Instructor. A violation of this section includes but is not limited to: - -(1) Allowing others to conduct research or prepare any work for a student without prior authorization from the Instructor, including using the services of commercial term paper companies. - -(2) Submitting substantial portions of the same academic work for credit more than once or by more than one student without authorization from the Instructors to whom the work is being submitted. - -(3) Working with another person without authorization to satisfy an individual assignment. - -(b) Plagiarism. No student shall represent the words, work, or ideas of another as his or her own in any academic endeavor. A violation of this section includes but is not limited to: - -(1) Copying: Submitting the work of another as one’s own. - -(2) Direct Quotation: Every direct quotation must be identified by quotation marks or by appropriate indentation and must be promptly cited. Proper citation style for many academic departments is outlined in such manuals as the MLA Handbook or K.L. Turabian’s A Manual for Writers of Term Papers, Theses and Dissertations. These and similar publications are available in the University bookstore or library. The actual source from which cited information was obtained should be acknowledged. - -(3) Paraphrase: Prompt acknowledgment is required when material from another source is paraphrased or summarized in whole or in part. This is true even if the student’s words differ substantially from those of the source. A citation acknowledging only a directly quoted statement does not suffice as an acknowledgment of any preceding or succeeding paraphrased material. - -(4) Borrowed Facts or Information: Information obtained in one’s reading or research that is not common knowledge must be acknowledged. Examples of common knowledge might include the names of leaders of prominent nations, basic scientific laws, etc. Materials that contribute only to one’s general understanding of the subject may be acknowledged in a bibliography and need not be immediately cited. One citation is usually sufficient to acknowledge indebtedness when a number of connected sentences in the paper draw their special information from one source. - -(c) Fabrication. No student shall falsify or invent any information or citation in an academic endeavor. A violation of this section includes but is not limited to: - -(1) Using invented information in any laboratory experiment or other academic endeavor without notice to and authorization from the Instructor or examiner. It would be improper, for example, to analyze one sample in an experiment and covertly invent data based on that single experiment for several more required analyses. - -(2) Altering the answers given for an exam after the examination has been graded. - -(3) Providing false or misleading information for the purpose of gaining an academic advantage. - -(d) Facilitating Infractions of Academic Integrity. No student shall help or attempt to help another to commit an infraction of academic integrity, where one knows or should know that through one’s acts or omissions such an infraction may be facilitated. A violation of this section includes but is not limited to: - -(1) Allowing another to copy from one’s work. - -(2) Taking an exam by proxy for someone else. This is an infraction of academic integrity on the part of both the student enrolled in the course and the proxy or substitute. - -(3) Removing an examination or quiz from a classroom, faculty office, or other facility without authorization. - -(e) Bribes, Favors, and Threats. No student shall bribe or attempt to bribe, promise favors to or make threats against any person with the intent to affect a record of a grade or evaluation of academic performance. This includes conspiracy with another person who then takes the action on behalf of the student. - -(f) Academic Interference. No student shall tamper with, alter, circumvent, or destroy any educational material or resource in a manner that deprives any other student of fair access or reasonable use of that material or resource. - -(1) Educational resources include but are not limited to computer facilities, electronic data, required/reserved readings, reference works, or other library materials. - -(2) Academic interference also includes acts in which the student committing the infraction personally benefits from the interference, regardless of the effect on other students. - - -LEGAL ------ -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose, without fee, and without written agreement is -hereby granted, provided that the above copyright notice and the following -two paragraphs appear in all copies of this software. - -IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO -ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, -EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. - -THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY -WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE - -PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR -THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, -SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." diff --git a/mp3-LOS/buglog b/mp3-LOS/buglog deleted file mode 100644 index 8a1d6e2..0000000 --- a/mp3-LOS/buglog +++ /dev/null @@ -1,51 +0,0 @@ -Date, Bug : Solution - -03/17, GDT unable to load undefined reference on gdt_desc: - gdt_desc need to be created in x86_desc.S. Using the struct declared in x86_desc.h does not work - - -03/18, As for naming in C, variable should not begin with number - -3/19, OS was crashing when rtc handler was run: - We were negating a value that was being pushed to the slave PIC. We got rid of the negation. - -3/25 page fault, because out of buffer range - - -4/8 page fault in execute system call, caused by read_data length argument being passed as a pointer instead of a uint32 -4/8 It kept calling terminal read, this is because terminal read was not set up to poll. - -4/13 page fault, read_file_by_name was given wrong length pointer. - Needed to &length in order to pass the address and prevent illegal memory access -4/13 Terminal read was reading each key twice (abc -> aabbcc), this is because the kbd interupt handler was pushing keys - regardless of whether or not it was the pressed or released scancode. -4/13 eax value was pushed and poped so we cannot get correct return value - -4/13 devel crashes after flushing tlb. - Incorrect pid passed into PDE macro - -4/14 in cp2 I wrote directory name start from the end of buf for the sake of alignment, while in cp4 dread cannot ouput files except verylarge... - -4/20 Biggest bug finished, we wrongly wrote SET_IDT_ENTRY(idt[0x28], rtc_interrupt_linkage); to use handler instead - -4/20 syserr fixed, since we have not set eax to -1 - -4/26 vidmap fixed. delete & before page table - -4/26 halt fixed. Removed by refrence operators in flush TLB inline assembly. Also changed how tss.esp0 is calculated. - -4/27 terminal switch print position error. - record screen position for every terminal. - -4/27 remap video memory in execute to fix fish page fault in terminal0 - -4/28 grep fixed since rtc_read wrongly return 1. - -4/28 cat fixed since terminal read breaks loop wrongly. - -4/28 fish only running on first terminal. Pingpong and counter were always running no matter what terminal they started in. - We hadn't properly implemented terminal switching, we still needed to have processes pause and resume when a terminal switch happened. - We finished context switching in the terminal_switch function to make solve this issue. - -4/28 CTRL + L was not working anymore. In the clear command we were using the wrong flag, so we switched that. - -4/28 Keyboard buffer overflow wasn't being handled well, we changed it to no longer take any more inputs, but still be able to be used as an input. \ No newline at end of file diff --git a/mp3-LOS/createfs b/mp3-LOS/createfs deleted file mode 100644 index 84f023841f164d79534d9157a55a03f3ab3136b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2297714 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

VX3rYEL9U_U1jn4 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

x{p#ltqh_1KSKxN*SiymfIT^Ry)kq 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 z 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

to this line -CPPFLAGS+=-nostdinc -g - -# This generates the list of source files -SRC=$(wildcard *.S) $(wildcard *.c) $(wildcard */*.S) $(wildcard */*.c) - -# This generates the list of .o files. The order matters, boot.o must be first -OBJS=boot.o -OBJS+=$(filter-out boot.o,$(patsubst %.S,%.o,$(filter %.S,$(SRC)))) -OBJS+=$(patsubst %.c,%.o,$(filter %.c,$(SRC))) - -bootimg: Makefile $(OBJS) - rm -f bootimg - $(CC) $(LDFLAGS) $(OBJS) -Ttext=0x400000 -o bootimg - sudo ./debug.sh - -dep: Makefile.dep - -Makefile.dep: $(SRC) - $(CC) -MM $(CPPFLAGS) $(SRC) > $@ - -.PHONY: clean -clean: - rm -f *.o */*.o Makefile.dep - -ifneq ($(MAKECMDGOALS),dep) -ifneq ($(MAKECMDGOALS),clean) -include Makefile.dep -endif -endif diff --git a/mp3-LOS/student-distrib/boot.S b/mp3-LOS/student-distrib/boot.S deleted file mode 100644 index ee22b7b..0000000 --- a/mp3-LOS/student-distrib/boot.S +++ /dev/null @@ -1,58 +0,0 @@ -# boot.S - start point for the kernel after GRUB gives us control -# vim:ts=4 noexpandtab - -#define ASM 1 - -#include "multiboot.h" -#include "x86_desc.h" - -.text - - # Multiboot header (required for GRUB to boot us) - .long MULTIBOOT_HEADER_MAGIC - .long MULTIBOOT_HEADER_FLAGS - .long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS) - -# Entrypoint to the kernel -.globl start, _start - -.align 4 -start: -_start: - # Make sure interrupts are off - cli - jmp continue - -continue: - # Load the GDT - - lgdt gdt_desc - - # Load CS with the new descriptor value - ljmp $KERNEL_CS, $keep_going - -keep_going: - # Set up ESP so we can have an initial stack - movl $0x800000, %esp - - # Set up the rest of the segment selector registers - movw $KERNEL_DS, %cx - movw %cx, %ss - movw %cx, %ds - movw %cx, %es - movw %cx, %fs - movw %cx, %gs - - # Push the parameters that entry() expects (see kernel.c): - # eax = multiboot magic - # ebx = address of multiboot info struct - pushl %ebx - pushl %eax - - # Jump to the C entrypoint to the kernel. - call entry - - # We'll never get back here, but we put in a hlt anyway. -halt: - hlt - jmp halt diff --git a/mp3-LOS/student-distrib/bootimg b/mp3-LOS/student-distrib/bootimg deleted file mode 100644 index 8ae7a240471836a99bece95bfa689607b66cbdf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70638 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 H?BV|aRV-+= diff --git a/mp3-LOS/student-distrib/debug.h b/mp3-LOS/student-distrib/debug.h deleted file mode 100644 index aacc26d..0000000 --- a/mp3-LOS/student-distrib/debug.h +++ /dev/null @@ -1,33 +0,0 @@ -/* debug.h - Useful macros for debugging - * vim:ts=4 noexpandtab - */ - -#ifndef _DEBUG_H -#define _DEBUG_H - -#ifndef ASM - -#ifdef DEBUG - -#define ASSERT(EXP) \ -do { \ - if (!(EXP)) { \ - printf(__FILE__ ":%u: Assertion `" #EXP "\' failed.\n", __LINE__); \ - } \ -} while(0) - -#define debugf(...) \ -do { \ - printf(__FILE__ ":%u: ", __LINE__); \ - printf(__VA_ARGS__); \ -} while(0) - -#else -#define ASSERT(EXP) \ - while (0) -#define debugf(...) \ - while (0) -#endif - -#endif -#endif /* _DEBUG_H */ diff --git a/mp3-LOS/student-distrib/debug.sh b/mp3-LOS/student-distrib/debug.sh deleted file mode 100644 index 74bb305..0000000 --- a/mp3-LOS/student-distrib/debug.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -if [ -d /mnt/tmpmp3 ]; then - rm -rf /mnt/tmpmp3 -fi - -if [ -d /tmp/mp3 ]; then - rm -rf /tmp/mp3 -fi - -mkdir /mnt/tmpmp3 -mkdir /tmp/mp3 -cp ./bootimg /tmp/mp3/ -cp ./filesys_img /tmp/mp3/ -cp ./mp3.img /tmp/mp3/ -mount -o loop,offset=32256 /tmp/mp3/mp3.img /mnt/tmpmp3 -cp -f /tmp/mp3/bootimg /mnt/tmpmp3/ -cp -f /tmp/mp3/filesys_img /mnt/tmpmp3/ -umount /mnt/tmpmp3 -cp -f /tmp/mp3/mp3.img ./ -rm -rf /tmp/mp3 -rm -rf /mnt/tmpmp3 diff --git a/mp3-LOS/student-distrib/exceptions_linkage.S b/mp3-LOS/student-distrib/exceptions_linkage.S deleted file mode 100644 index eb43a7d..0000000 --- a/mp3-LOS/student-distrib/exceptions_linkage.S +++ /dev/null @@ -1,314 +0,0 @@ -#define vector0 0 -#define vector1 1 -#define vector2 2 -#define vector3 3 -#define vector4 4 -#define vector5 5 -#define vector6 6 -#define vector7 7 -#define vector8 8 -#define vector9 9 -#define vector10 10 -#define vector11 11 -#define vector12 12 -#define vector13 13 -#define vector14 14 -#define vector15 15 -#define vector16 16 -#define vector17 17 -#define vector18 18 -#define vector19 19 -#define vector33 33 -#define vector40 40 -/* Macro for saving all registers */ -#define SAVE_ALL \ - cld; \ - pushl %fs; \ - pushl %es; \ - pushl %ds; \ - pushl %ebp; \ - pushl %edi; \ - pushl %esi; \ - pushl %edx; \ - pushl %ecx; \ - pushl %ebx; \ - pushl %eax; \ - -.global pit_handler_linkage -.global page_fault_linkage -.global divide_error_linkage -.global debug_exception_linkage -.global nmi_interrupt_linkage -.global breakpoint_exception_linkage -.global overflow_exception_linkage -.global bound_re_linkage -.global invalid_opcode_linkage -.global device_na_linkage -.global double_fault_linkage -.global coprocessor_so_linkage -.global invalid_tss_linkage -.global segment_np_linkage -.global stack_fault_linkage -.global general_protection_linkage -.global reserved_exc_linkage -.global FPUfpe_linkage -.global alignment_check_linkage -.global machine_check_linkage -.global simd_fp_linkage -.global pit_linkage -.global keyboard_linkage -.global rtc_interrupt_linkage - - - -#define PUSHALL \ -pushl %gs ;\ -pushl %fs ;\ -pushl %es ;\ -pushl %ds ;\ -pushl %ebp ;\ -pushl %esi ;\ -pushl %edi ;\ -pushl %edx ;\ -pushl %ecx ;\ -pushl %ebx ;\ - -#define POPALL \ -popl %ebx ;\ -popl %ecx ;\ -popl %edx ;\ -popl %edi ;\ -popl %esi ;\ -popl %ebp ;\ -popl %ds ;\ -popl %es ;\ -popl %fs ;\ -popl %gs ;\ - -.global halt -.global execute -.global read -.global write -.global open -.global close -.global getargs -.global vidmap -.global set_handler -.global sigreturn -.global system_call_linkage - -system_call_jmp: - .long 0 - .long halt - .long execute - .long read - .long write - .long open - .long close - .long getargs - .long vidmap - .long set_handler - .long sigreturn - -system_call_linkage: - addl $-4, %esp # Push Error Code / Dummy - PUSHALL - pushl %edx - pushl %ecx - pushl %ebx - cmpl $0, %eax # Check bounds for jump table index - jle invalid_call - cmpl $10, %eax - jg invalid_call - call *system_call_jmp(, %eax, 4) - addl $12, %esp # Pop arguments - POPALL - addl $4, %esp # Pop Error Code / Dummy - iret - -invalid_call: - movl $-1, %eax - addl $12, %esp - POPALL - addl $4, %esp - iret - -divide_error_linkage: - .align - #pushl $vector0-256 /* Push inverted vector value onto stack */ - SAVE_ALL /* Save all registers */ - call divide_error /* Call the function handler */ - jmp ret_from_intr /* Jump to pop all registers and return */ - -debug_exception_linkage: - .align - #pushl $vector1-256 - SAVE_ALL - call debug_exception - jmp ret_from_intr - -nmi_interrupt_linkage: - .align - #pushl $vector2-256 - SAVE_ALL - call nmi_interrupt - jmp ret_from_intr - -breakpoint_exception_linkage: - .align - #pushl $vector3-256 - SAVE_ALL - call breakpoint_exception - jmp ret_from_intr - -overflow_exception_linkage: - .align - #pushl $vector4-256 - SAVE_ALL - call overflow_exception - jmp ret_from_intr - -bound_re_linkage: - .align - #pushl $vector5-256 - SAVE_ALL - call bound_re - jmp ret_from_intr - -invalid_opcode_linkage: - .align - #pushl $vector6-256 - SAVE_ALL - call invalid_opcode - jmp ret_from_intr - -device_na_linkage: - .align - #pushl $vector7-256 - SAVE_ALL - call device_na - jmp ret_from_intr - -double_fault_linkage: - .align - #pushl $vector8-256 - SAVE_ALL - call double_fault - jmp ret_from_intr - -coprocessor_so_linkage: - .align - #pushl $vector9-256 - SAVE_ALL - call coprocessor_so - jmp ret_from_intr - -invalid_tss_linkage: - .align - #pushl $vector10-256 - SAVE_ALL - call invalid_tss - jmp ret_from_intr - -segment_np_linkage: - .align - #pushl $vector11-256 - SAVE_ALL - call segment_np - jmp ret_from_intr - -stack_fault_linkage: - .align - #pushl $vector12-256 - SAVE_ALL - call stack_fault - jmp ret_from_intr - -general_protection_linkage: - .align - #pushl $vector13-256 - SAVE_ALL - call general_protection - jmp ret_from_intr - -page_fault_linkage: - .align - #pushl $vector14-256 - SAVE_ALL - call page_fault - jmp ret_from_intr - -reserved_exc_linkage: - iret - -FPUfpe_linkage: - .align - #pushl $vector16-256 - SAVE_ALL - call FPUfpe - jmp ret_from_intr - -alignment_check_linkage: - .align - #pushl $vector17-256 - SAVE_ALL - call alignment_check - jmp ret_from_intr - -machine_check_linkage: - .align - #pushl $vector18-256 - SAVE_ALL - call machine_check - jmp ret_from_intr - -simd_fp_linkage: - .align - # #pushl $vector19-256 - SAVE_ALL - call simd_fp - jmp ret_from_intr - -pit_linkage: - .align - addl $-4, %esp - #pushl $vector33-256 - SAVE_ALL - call pit_interrupt_handler - # addl $4, %esp - jmp ret_from_intr - - - - -keyboard_linkage: - .align - addl $-4, %esp - #pushl $vector33-256 - SAVE_ALL - call handle_keyboard_interrupt - # addl $4, %esp - jmp ret_from_intr - -rtc_interrupt_linkage: - .align - addl $-4, %esp - #pushl $vector40-256 - SAVE_ALL - call rtc_interrupt_handler - jmp ret_from_intr - -ret_from_intr: - addl $4, %esp - popl %ebx /* Pop all saved registers */ - popl %ecx - popl %edx - popl %esi - popl %edi - popl %ebp - popl %ds - popl %es - popl %fs - addl $4, %esp - iret /* Return from interrupt */ - diff --git a/mp3-LOS/student-distrib/exceptions_linkage.h b/mp3-LOS/student-distrib/exceptions_linkage.h deleted file mode 100644 index 7752d55..0000000 --- a/mp3-LOS/student-distrib/exceptions_linkage.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef EXCEPTIONS_LINKAGE_H -#define EXCEPTIONS_LINKAGE_H - - -/* Exception handlers initialized in idt.c - * Description: Exception handler to be called from assembly linkage - * Inputs: None - * Outputs: None - * Return Value: None - * Side Effects: Prints error onto terminal and program loops */ - -extern void system_call_linkage(void); -extern void divide_error_linkage(void); -extern void debug_exception_linkage(void); -extern void nmi_interrupt_linkage(void); -extern void breakpoint_exception_linkage(void); -extern void overflow_exception_linkage(void); -extern void bound_re_linkage(void); -extern void invalid_opcode_linkage(void); -extern void device_na_linkage(void); -extern void double_fault_linkage(void); -extern void coprocessor_so_linkage(void); -extern void invalid_tss_linkage(void); -extern void segment_np_linkage(void); -extern void stack_fault_linkage(void); -extern void general_protection_linkage(void); -extern void page_fault_linkage(void); -extern void reserved_exc_linkage(void); -extern void FPUfpe_linkage(void); -extern void alignment_check_linkage(void); -extern void machine_check_linkage(void); -extern void simd_fp_linkage(void); -extern void rtc_interrupt_linkage(void); -extern void keyboard_linkage(void); -extern void pit_linkage(void); -#endif diff --git a/mp3-LOS/student-distrib/filesys.c b/mp3-LOS/student-distrib/filesys.c deleted file mode 100644 index afa81d7..0000000 --- a/mp3-LOS/student-distrib/filesys.c +++ /dev/null @@ -1,392 +0,0 @@ -#include "filesys.h" -#include "lib.h" -#include "x86_desc.h" -#include "paging.h" -#include "system_calls.h" - -// global ptrs for initializaition -boot_block_t* boot_block; -dentry_t* dentries; -inode_t* inodes; -data_block_t* data_blocks; - -int dread_index = 0; - - -/* - * filesys_init - * Initialize the file system - * input: uint32_t file_add -- the address of file img - * output: None - * side effect: boot_block, inodes, data_blocks, dentries will be changed - */ -void filesys_init(uint32_t file_add){ - boot_block = (boot_block_t*)file_add; // store boot block - dentries = boot_block->dentries; // store dentries - inodes = (inode_t*)(boot_block + 1); // store inodes - data_blocks = (data_block_t*)(inodes + boot_block->inode_num); // store data blocks -} - - - -/* - * read_dentry_by_index - * Read the content of a dentry with given index - * input: uint8_t index, dentry_t* dentry - * output: -1 for failure and 0 for success - * side effect: dentry can be changed - */ -int32_t read_dentry_by_index (uint8_t index, dentry_t* dentry){ - if(index >= boot_block->dentry_num || index > MAX_FILE_NUM ){ - return -1; - } - dentry_t* dentry_ptr = &(dentries[index]); - dentry->filetype = dentry_ptr->filetype; - dentry->inode_num = dentry_ptr->inode_num; - strncpy((int8_t*)dentry->filename, (int8_t*)dentry_ptr->filename, FNAME_MAX); - return 0; -} - -/* - * read_dentry_by_name - * Read the content of a dentry with given name - * input: const uint8_t* fname, dentry_t* dentry - * output: -1 for failure and 0 for success - * side effect: dentry can be changed - */ -int32_t read_dentry_by_name(const uint8_t* fname, dentry_t* dentry){ - uint8_t i; - dentry_t* current_dentry; - if (fname == NULL) - return -1; - if (strlen((int8_t*)fname) > 32) - return -1; - for(i=0; identry_num; i++){ - current_dentry = &(dentries[i]); - // puts((int8_t*)current_dentry->filename); - // printf(" i = %d, fname: %s, dentry_filename: %s\n", i, fname, current_dentry->filename); - if(strncmp((int8_t*)fname, (int8_t*)current_dentry->filename, FNAME_MAX)==0){ - /* The file name is the same, use read_index to assign value */ - // printf("\n index in dentries: %d\n", i); - read_dentry_by_index(i, dentry); - - return 0; - } - } - return -1; - -} -/* - * read_file_by_name - * Read the content of a file with given name - * Input: const uint8_t* fname, uint8_t* buf, uint32_t* length - * Output: -1 for failure and 0 for success - * Side effect: buf can be changed - */ -int32_t read_file_by_name(const uint8_t* fname, uint8_t* buf, uint32_t* length){ - dentry_t dentry; - uint8_t index = 0; - printf("file_name: "); - printf((int8_t*) fname); - read_dentry_by_name(fname, &dentry); - index = dentry.inode_num; - printf(" index:%d\n",index); - return read_data(index, 0, buf, length); -} - -/* - * read_data - * Read the content of a dentry with given index - * Input:uint32_t inode_index, uint32_t offset, uint8_t* buf, uint32_t* length - * Output: bytes of data we have successfully read - * Side effect: buf can be changed - */ -int32_t read_data(uint32_t inode_index, uint32_t offset, uint8_t* buf, uint32_t* length){ - //int k; - uint32_t i,j; - inode_t* inode; - // data_block_t* cur_datablock; // Pointer to current data block - uint32_t cur_db_index; // index of current data block - uint32_t buf_count; - - - // uint32_t first_block; // Which data block we should start to read - // uint32_t first_offset; // Which position in the start block we should start to read - // uint32_t last_block; // Which data block we should end reading - // uint32_t last_offset; // Which position in the last block we should end reading - - if(offset >= inodes[inode_index].len) return 0; - if(inode_index > (boot_block->inode_num-1)) return 0; - - //printf("length: %d, inode_len: %d\n", *length, inodes[inode_index].len); - if (*length + offset > inodes[inode_index].len) *length = inodes[inode_index].len - offset; - // for (k = 0; k < 64; k++) { - // printf("i: %d, len: %d; ",k,inodes[k].len); - // if (k %4 == 0) printf("\n"); - // } - if (*length <= 0) return 0; - //printf("length: %d\n", *length); - inode = &(inodes[inode_index]); - // buf_count = 0; - - /* Calculate how many data blocks are used and start/end positions */ - // first_block = offset / BLOCK_SIZE; - // first_offset = offset % BLOCK_SIZE; - // last_block = (*length - 1 + offset) / BLOCK_SIZE; - // last_offset = (*length - 1 + offset) % BLOCK_SIZE; - - - i = offset / BLOCK_SIZE; - j = offset % BLOCK_SIZE; - for (buf_count = 0; buf_count < *length; buf_count++, j++, buf++) { - if(j >= BLOCK_SIZE){ - j = 0; - i++; - } - cur_db_index = (inodes[inode_index].data_block)[i]; - if(cur_db_index >= boot_block->data_blocks_num){ - return buf_count; - } - // cur_datablock = &(data_blocks[cur_db_index]); - // memcpy(buf, &(cur_datablock->data[j]), 1); - *buf = data_blocks[cur_db_index].data[j]; - } - - - - - // printf("first_block:%d, first_offset:%d\n",first_block,first_offset); - // printf("last_block: %d, last_offset:%d\n",last_block,last_offset); - - // for(i=first_block; i<=last_block; i++){ - // cur_db_index = (inodes[inode_index].data_block)[i]; - // // printf("cur_db_index: %d\n",cur_db_index); - // cur_datablock = &(data_blocks[cur_db_index]); - - // if(i == first_block){ - // //printf("copy to buf...\n"); - // if(first_block==last_block){ - // memcpy(buf, &(cur_datablock->data[first_offset]), *length); - // buf += *length; - // buf_count += *length; - // // for (j = first_offset; j < (*length - 1 + offset); j++) { - // // memcpy(buf, &(cur_datablock->data[j]), 1); - // // buf++; - // // buf_count++; - // // } - // // printf("last data block reached\n"); - // } - // else{ - // memcpy(buf, &(cur_datablock->data[first_offset]), BLOCK_SIZE-first_offset); - // buf += BLOCK_SIZE - first_offset; - // buf_count += BLOCK_SIZE - first_offset; - // } - // continue; - // } - // if(i == last_block){ - // memcpy(buf, cur_datablock->data, last_offset + 1); - // buf += last_offset + 1; - // buf_count += last_offset + 1; - // // printf("last data block reached\n"); - // break; - // } - // memcpy(buf, cur_datablock->data, BLOCK_SIZE); // buf all block - // buf += BLOCK_SIZE; - // buf_count += BLOCK_SIZE; - // } - - - // if(i == first_block){ - // //printf("copy to buf...\n"); - // for (j = first_offset; j < 4095; j++) { - // *buf = (cur_datablock->data[j]); - // buf++; - // buf_count++; - // } - // continue; - // } - // if(i == last_block){ - // for (j = 0; j < last_offset; j++) { - // *buf = (cur_datablock->data[j]); - // buf++; - // buf_count++; - // } - // // printf("last data block reached\n"); - // break; - // } - // for (j = 0; j < 4095; j++) { - // *buf = (cur_datablock->data[j]); - // buf++; - // buf_count++; - // } - // } - - return buf_count; -} - - -/* - * read_directory - * read a directory - * Inputs: uint8_t* buf, int index, uint32_t *ftype, uint32_t *fsize - * Output: 0 if success -1 if fail - * Side Effect: None - * Coverage: Check whether we can read a directory by index - */ -int32_t read_directory(uint8_t* buf, int index, uint32_t *ftype, uint32_t *fsize){ - - int i = 0; // for index to store at most 32 length file name - uint32_t fname_len; // length for filename to buf - dentry_t dentry; // temp dir entry - dentry = dentries[index]; - if (index >= boot_block->dentry_num) // if index out of range - return -1; - memset(buf, 32, FNAME_MAX); // initialize to spaces - - - fname_len = strlen((int8_t*)dentry.filename); - if (fname_len > FNAME_MAX) fname_len = FNAME_MAX; // control length less than or equal 32 - read_dentry_by_name((uint8_t*)&(dentry.filename), &dentry); - for (i = 0; i <= fname_len; i++) { - memset(buf + i, dentry.filename[i], 1); // copy first 32 bytes to buf - } - *ftype = dentry.filetype; - *fsize = inodes[dentry.inode_num].len; - - return fname_len; -} - - -/* - * fopen - * Open a file with its filename - * Inputs: fname - * Output: 0 if success -1 if fail - * Side Effect: None - * Coverage: Check whether we can open the file - */ -int32_t fopen(const uint8_t* fname){ - dentry_t dentry; - if (read_dentry_by_name(fname, &dentry)) - return -1; - else - return 0; -} - -/* - * fread - * Open a file with its filename - * Inputs: fname - * Output: 0 if success -1 if fail - * Side Effect: None - * Coverage: Check whether we can open the file - */ -int32_t fread(int32_t fd, void* buf, int32_t n_bytes) { - if (n_bytes < 0 || buf == NULL || fd < 0 || fd > MAX_FILE_NUM) { - printf("fread fail...\n"); - return -1; - } - - uint32_t length = n_bytes; - register int32_t esp_value asm("esp"); - uint32_t cur_pid = (SIZE_8MB - esp_value) / SIZE_8KB; - pcb_t* cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - uint32_t inode_num = cur_pcb->file_descs[fd].inode; - uint32_t offset = cur_pcb->file_descs[fd].file_pos; - //printf("inode_num = %d, offset = %d, buf = %s, length = %d\n",inode_num, offset, buf, length); - return read_data(inode_num, offset, buf, &length); -} - -/* - * fclose - * Open a file with its filename - * Inputs: fname - * Output: 0 if success -1 if fail - * Side Effect: None - * Coverage: Check whether we can open the file - */ -int32_t fclose(int32_t fd){ - return 0; -} - -/* - * fwrite - * Open a file with its filename - * Inputs: fname - * Output: 0 if success -1 if fail - * Side Effect: None - * Coverage: Check whether we can open the file - */ -int32_t fwrite(int32_t fd, const void* buf, int32_t n_bytes){ - return 0; -} - -/* - * dopen - * Open a file with its filename - * Inputs: fname - * Output: 0 if success -1 if fail - * Side Effect: None - * Coverage: Check whether we can open the file - */ -int32_t dopen(const uint8_t* filename){ - return 0; -} - -/* - * dread - * Open a file with its filename - * Inputs: fname - * Output: 0 if success -1 if fail - * Side Effect: None - * Coverage: Check whether we can open the file - */ -int32_t dread(int32_t fd, void* buf, int32_t n_bytes){ - if (n_bytes < 0 || buf == NULL || fd < 0 || fd > MAX_FILE_NUM) { - printf("dread fail...\n"); - return -1; - } - int32_t length = 0; - // register int32_t esp_value asm("esp"); - // uint32_t cur_pid = (SIZE_8MB - esp_value) / SIZE_8KB; - // pcb_t* cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - // uint32_t inode_num = cur_pcb->file_descs[fd].inode; - // uint32_t offset = cur_pcb->file_descs[fd].file_pos; - uint32_t ftype; - uint32_t fsize; - length = read_directory(buf, dread_index, &ftype, &fsize); - // printf("fd = %d, buf = %s, n_bytes = %d\n",fd, buf, n_bytes); - // printf("%s\n",buf); - if (length == -1){ - dread_index = 0; - return 0; - } else { - dread_index++; - } - return length; -} - -/* - * dwrite - * Open a file with its filename - * Inputs: fname - * Output: 0 if success -1 if fail - * Side Effect: None - * Coverage: Check whether we can open the file - */ -int32_t dwrite(int32_t fd, const void* buf, int32_t n_bytes){ - return 0; -} - -/* - * dclose - * Open a file with its filename - * Inputs: fname - * Output: 0 if success -1 if fail - * Side Effect: None - * Coverage: Check whether we can open the file - */ -int32_t dclose(int32_t fd){ - return 0; -} - diff --git a/mp3-LOS/student-distrib/filesys.h b/mp3-LOS/student-distrib/filesys.h deleted file mode 100644 index f3ae5ae..0000000 --- a/mp3-LOS/student-distrib/filesys.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef FILESYS_H -#define FILESYS_H - -#include "types.h" - -#define BLOCK_SIZE 4096 // Each block is 4096 bytes -#define MAX_FILE_NUM 63 // Boot block can hold 64 entries including statistic part at most. So the biggest index is 63 -#define FNAME_MAX 32 // Longest file name is 32 bytes -#define SIZE_4B 4 -#define MAX_FILE_SIZE 4*36200 -typedef struct dentry_t { - uint8_t filename[FNAME_MAX]; - uint32_t filetype; - uint32_t inode_num; - uint32_t reserved[6]; // 24bytes reserved, 24/4 = 6 -} dentry_t; - -typedef struct inode_t { - uint32_t len; // 4 bytes - uint32_t data_block[(BLOCK_SIZE - SIZE_4B) / SIZE_4B]; -} inode_t; - -typedef struct boot_block_t { - uint32_t dentry_num; - uint32_t inode_num; - uint32_t data_blocks_num; - uint32_t reserved[13]; // 52bytes reserved, 52/4 = 13 - dentry_t dentries[MAX_FILE_NUM]; -} boot_block_t; - -typedef struct data_block_t { - uint8_t data[BLOCK_SIZE]; -} data_block_t; - - -/*initilize filesystem*/ -void filesys_init(uint32_t file_add); - -/*The three routines provided by the file system module return -1 on failure, indicating a non-existent file or invalid -index in the case of the first two calls, or an invalid inode number in the case of the last routine. Note that the directory -entries are indexed starting with 0. Also note that the read data call can only check that the given inode is within the -valid range. It does not check that the inode actually corresponds to a file (not all inodes are used). However, if a bad -data block number is found within the file bounds of the given inode, the function should also return -1*/ - -int32_t read_dentry_by_name(const uint8_t* fname, dentry_t* dentry); -int32_t read_dentry_by_index (uint8_t index, dentry_t* dentry); -int32_t read_data(uint32_t inode_index, uint32_t offset, uint8_t* buf, uint32_t* length); - - -int32_t read_file_by_name(const uint8_t* fname, uint8_t* buf, uint32_t* length); -int32_t read_directory(uint8_t* buf, int index, uint32_t* ftype, uint32_t* fsize); - - -/*for file*/ -int32_t fopen(const uint8_t* fname); -int32_t fclose(int32_t fd); -int32_t fread(int32_t fd, void* buf, int32_t nbytes); -int32_t fwrite(int32_t fd, const void* buf, int32_t nbytes); -/*for dir*/ -int32_t dopen(const uint8_t* fname); -int32_t dclose(int32_t fd); -int32_t dread(int32_t fd, void* buf, int32_t n_bytes); -int32_t dwrite(int32_t fd, const void* buf, int32_t nbytes); - -#endif diff --git a/mp3-LOS/student-distrib/filesys_img b/mp3-LOS/student-distrib/filesys_img deleted file mode 100644 index ea4bd7a53253e2a473ee32e16a6b0713bc1a6010..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 507904 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 MAX_IRQ) return; // out of range - if (irq_num <= MAX_MASTER_IRQ) { // master - master_mask &= (~(1 << irq_num)); - outb(master_mask, MASTER_8259_WRITE_PORT); - return; - } - slave_mask &= (~(1 << (irq_num - MAX_MASTER_IRQ - 1))); // slave - outb(slave_mask, SLAVE_8259_WRITE_PORT); - return; -} - -/* - * disable_irq(uint32_t irq_num) - * disable (mask) the specified IRQ, 1 to indicate mask - * Inputs: irq_num - * Outputs: none - */ -void disable_irq(uint32_t irq_num) { - if (irq_num > MAX_IRQ) return; // out of range - if (irq_num <= MAX_MASTER_IRQ) { // master - master_mask |= (~(1 << irq_num)); - outb(master_mask, MASTER_8259_WRITE_PORT); - return; - } - slave_mask |= (~(1 << (irq_num - MAX_MASTER_IRQ - 1))); // slave - outb(slave_mask, SLAVE_8259_WRITE_PORT); - return; -} - -/* - * send_eoi(uint32_t irq_num) - * Send end-of-interrupt signal for the specified IRQ - * Inputs: irq_num - * Outputs: none - */ -void send_eoi(uint32_t irq_num) { - /* End-of-interrupt byte. This gets OR'd with - * the interrupt number and sent out to the PIC - * to declare the interrupt finished */ - - if (irq_num > MAX_IRQ) return; // out of range - if (irq_num <= MAX_MASTER_IRQ) { // master - outb(EOI | (irq_num), MASTER_8259_PORT); - return; - } - // slave - outb(EOI | (irq_num - MAX_MASTER_IRQ), SLAVE_8259_PORT); - outb(EOI | 2, MASTER_8259_PORT); // also send to master IR2 - return; -} diff --git a/mp3-LOS/student-distrib/i8259.h b/mp3-LOS/student-distrib/i8259.h deleted file mode 100644 index cefbae2..0000000 --- a/mp3-LOS/student-distrib/i8259.h +++ /dev/null @@ -1,48 +0,0 @@ -/* i8259.h - Defines used in interactions with the 8259 interrupt - * controller - * vim:ts=4 noexpandtab - */ - -#ifndef _I8259_H -#define _I8259_H - -#include "types.h" - -/* Ports that each PIC sits on */ -#define MASTER_8259_PORT 0x20 -#define SLAVE_8259_PORT 0xA0 -#define MASTER_8259_WRITE_PORT 0x21 -#define SLAVE_8259_WRITE_PORT 0xA1 - -/* Initialization control words to init each PIC. - * See the Intel manuals for details on the meaning - * of each word */ -#define ICW1 0x11 -#define ICW2_MASTER 0x20 -#define ICW2_SLAVE 0x28 -#define ICW3_MASTER 0x04 -#define ICW3_SLAVE 0x02 -#define ICW4 0x01 - - -#define MASK_INIT 0xFF -#define MAX_IRQ 15 // 8 - 15 -#define MAX_MASTER_IRQ 7 // 0 - 7 - -/* End-of-interrupt byte. This gets OR'd with - * the interrupt number and sent out to the PIC - * to declare the interrupt finished */ -#define EOI 0x20 - -/* Externally-visible functions */ - -/* Initialize both PICs */ -void i8259_init(void); -/* Enable (unmask) the specified IRQ */ -void enable_irq(uint32_t irq_num); -/* Disable (mask) the specified IRQ */ -void disable_irq(uint32_t irq_num); -/* Send end-of-interrupt signal for the specified IRQ */ -void send_eoi(uint32_t irq_num); - -#endif /* _I8259_H */ diff --git a/mp3-LOS/student-distrib/idt.c b/mp3-LOS/student-distrib/idt.c deleted file mode 100644 index 41e9afa..0000000 --- a/mp3-LOS/student-distrib/idt.c +++ /dev/null @@ -1,177 +0,0 @@ -#include "idt.h" -#include "lib.h" -#include "x86_desc.h" -#include "exceptions_linkage.h" -#include "rtc.h" -#include "system_calls.h" - - -/* Exception handlers - * Description: Exception handler to be called from assembly linkage - * Inputs: None - * Outputs: None - * Return Value: None - * Side Effects: Prints error onto terminal and program loops */ -void divide_error(){ - printf("Divide Error Exception\n"); - while(1); -} - -void debug_exception(){ - printf("Debug Exception\n"); - while(1); -} - -void nmi_interrupt(){ - printf("NMI Interrupt\n"); - while(1); -} - -void breakpoint_exception(){ - printf("Breakpoint Exception\n"); - while(1); -} - -void overflow_exception(){ - printf("Overflow Exception\n"); - while(1); -} - -void bound_re(){ - printf("BOUND Range Exceeded Exception\n"); - while(1); -} - -void invalid_opcode(){ - printf("Invalid Opcode Exception\n"); - while(1); -} - -void device_na(){ - printf("Device Not Available Exception\n"); - while(1); -} - -void double_fault(){ - printf("Double Fault Exception\n"); - while(1); -} - -void coprocessor_so(){ - printf("Coprocessor Segment Overun\n"); - while(1); -} - -void invalid_tss(){ - printf("Invalid TSS Exception\n"); - while(1); -} - -void segment_np(){ - printf("Segment Not Present\n"); - while(1); -} - -void stack_fault(){ - printf("Stack Fault Exception\n"); - while(1); -} - -void general_protection(){ - printf("General Protection Exception\n"); - while(1); -} - -void page_fault(){ - printf("Page-Fault Exception\n"); - while(1); -} - -// void reserved_exc(){ -// printf("EXCEPTION Reserved\n"); -// while(1); -// } - -void FPUfpe(){ - printf("x87 FPU Floating Point Error\n"); - while(1); -} - -void alignment_check(){ - printf("Alignment Check Exception\n"); - while(1); -} - -void machine_check(){ - printf("Machine-Check Exception\n"); - while(1); -} - -void simd_fp(){ - printf("SIMD Floating-Point Exception\n"); - while(1); -} - -/* idt_init - * Description: Initialize the 256 entries of the IDT and link them to the assembly linkage. - Save idt address onto idtr after init is complete. - * Inputs: None - * Outputs: None - * Return Value: None - * Side Effects: Changes IDT memory */ -void idt_init() { - int i; - - /* Loop through all 256 vectors in idt and initialize with default values */ - for(i=0; iflags); - - /* Are mem_* valid? */ - if (CHECK_FLAG(mbi->flags, 0)) - printf("mem_lower = %uKB, mem_upper = %uKB\n", (unsigned)mbi->mem_lower, (unsigned)mbi->mem_upper); - - /* Is boot_device valid? */ - if (CHECK_FLAG(mbi->flags, 1)) - printf("boot_device = 0x%#x\n", (unsigned)mbi->boot_device); - - /* Is the command line passed? */ - if (CHECK_FLAG(mbi->flags, 2)) - printf("cmdline = %s\n", (char *)mbi->cmdline); - - if (CHECK_FLAG(mbi->flags, 3)) { - int mod_count = 0; - int i; - module_t* mod = (module_t*)mbi->mods_addr; - while (mod_count < mbi->mods_count) { - printf("Module %d loaded at address: 0x%#x\n", mod_count, (unsigned int)mod->mod_start); - printf("Module %d ends at address: 0x%#x\n", mod_count, (unsigned int)mod->mod_end); - printf("First few bytes of module:\n"); - for (i = 0; i < 16; i++) { - printf("0x%x ", *((char*)(mod->mod_start+i))); - } - printf("\n"); - fs_addr = mod->mod_start; // get file system address - mod_count++; - mod++; - } - } - /* Bits 4 and 5 are mutually exclusive! */ - if (CHECK_FLAG(mbi->flags, 4) && CHECK_FLAG(mbi->flags, 5)) { - printf("Both bits 4 and 5 are set.\n"); - return; - } - - /* Is the section header table of ELF valid? */ - if (CHECK_FLAG(mbi->flags, 5)) { - elf_section_header_table_t *elf_sec = &(mbi->elf_sec); - printf("elf_sec: num = %u, size = 0x%#x, addr = 0x%#x, shndx = 0x%#x\n", - (unsigned)elf_sec->num, (unsigned)elf_sec->size, - (unsigned)elf_sec->addr, (unsigned)elf_sec->shndx); - } - - /* Are mmap_* valid? */ - if (CHECK_FLAG(mbi->flags, 6)) { - memory_map_t *mmap; - printf("mmap_addr = 0x%#x, mmap_length = 0x%x\n", - (unsigned)mbi->mmap_addr, (unsigned)mbi->mmap_length); - for (mmap = (memory_map_t *)mbi->mmap_addr; - (unsigned long)mmap < mbi->mmap_addr + mbi->mmap_length; - mmap = (memory_map_t *)((unsigned long)mmap + mmap->size + sizeof (mmap->size))) - printf(" size = 0x%x, base_addr = 0x%#x%#x\n type = 0x%x, length = 0x%#x%#x\n", - (unsigned)mmap->size, - (unsigned)mmap->base_addr_high, - (unsigned)mmap->base_addr_low, - (unsigned)mmap->type, - (unsigned)mmap->length_high, - (unsigned)mmap->length_low); - } - - /* Construct an LDT entry in the GDT */ - { - seg_desc_t the_ldt_desc; - the_ldt_desc.granularity = 0x0; - the_ldt_desc.opsize = 0x1; - the_ldt_desc.reserved = 0x0; - the_ldt_desc.avail = 0x0; - the_ldt_desc.present = 0x1; - the_ldt_desc.dpl = 0x0; - the_ldt_desc.sys = 0x0; - the_ldt_desc.type = 0x2; - - SET_LDT_PARAMS(the_ldt_desc, &ldt, ldt_size); - ldt_desc_ptr = the_ldt_desc; - lldt(KERNEL_LDT); - } - - /* Construct a TSS entry in the GDT */ - { - seg_desc_t the_tss_desc; - the_tss_desc.granularity = 0x0; - the_tss_desc.opsize = 0x0; - the_tss_desc.reserved = 0x0; - the_tss_desc.avail = 0x0; - the_tss_desc.seg_lim_19_16 = TSS_SIZE & 0x000F0000; - the_tss_desc.present = 0x1; - the_tss_desc.dpl = 0x0; - the_tss_desc.sys = 0x0; - the_tss_desc.type = 0x9; - the_tss_desc.seg_lim_15_00 = TSS_SIZE & 0x0000FFFF; - - SET_TSS_PARAMS(the_tss_desc, &tss, tss_size); - - tss_desc_ptr = the_tss_desc; - - tss.ldt_segment_selector = KERNEL_LDT; - tss.ss0 = KERNEL_DS; - tss.esp0 = 0x800000; - ltr(KERNEL_TSS); - } - filesys_init(fs_addr); - idt_init(); - /* Init the PIC */ - i8259_init(); - paging_init(); - rtc_init(); - key_init(); - terminal_init(); - pid_init(); - // Checkpoint 5 - pit_init(); - scheduler_init(); - /* Initialize devices, memory, filesystem, enable device interrupts on the - * PIC, any other initialization stuff... */ - - /* Enable interrupts */ - /* Do not enable the following until after you have set up your - * IDT correctly otherwise QEMU will triple fault and simple close - * without showing you any output */ - clear(); - printf("Enabling Interrupts\n"); - sti(); - -#ifdef RUN_TESTS - /* Run tests */ - // launch_tests(); - - -#endif - clear(); - /* Execute the first program ("shell") ... */ - // printf("====== TERMINAL %d ======\n", curr_tid); - execute((uint8_t*)"shell"); - // clear(); - /* Spin (nicely, so we don't chew up cycles) */ - asm volatile (".1: hlt; jmp .1;"); -} diff --git a/mp3-LOS/student-distrib/keyboard.c b/mp3-LOS/student-distrib/keyboard.c deleted file mode 100644 index e478b90..0000000 --- a/mp3-LOS/student-distrib/keyboard.c +++ /dev/null @@ -1,262 +0,0 @@ -#include "keyboard.h" -#include "lib.h" -#include "i8259.h" -#include "terminal_driver.h" -#include "rtc.h" - -int SHIFTED; -int CAPS_LOCK; -int CONTROL; -int capslock_flag = 0; -int ctrl_flag = 0; -int shift_flag = 0; -int alt_flag = 0; -int numlock_flag = 0; - -char ASCII[][2] = { - {0,0}, - {ASCII_ESC,ASCII_ESC}, - {'1','!'}, - {'2','@'}, - {'3','#'}, - {'4','$'}, - {'5','%'}, - {'6','^'}, - {'7','&'}, - {'8','*'}, - {'9','('}, - {'0',')'}, - {'-','_'}, - {'=','+'}, - {ASCII_BACKSPACE,ASCII_BACKSPACE}, - {ASCII_TAB, ASCII_TAB}, - {'q','Q'}, - {'w','W'}, - {'e','E'}, - {'r','R'}, - {'t','T'}, - {'y','Y'}, - {'u','U'}, - {'i','I'}, - {'o','O'}, - {'p','P'}, - {'[','{'}, - {']','}'}, - {ASCII_ENTER, ASCII_ENTER}, - {0,0}, //LCTRL - {'a','A'}, - {'s','S'}, - {'d','D'}, - {'f','F'}, - {'g','G'}, - {'h','H'}, - {'j','J'}, - {'k','K'}, - {'l','L'}, - {';',':'}, - {ASCII_SINGLE_QUOTE,'"'}, - {0,0}, //TODO: BACKTICK - {0,0}, //lshift - {ASCII_BACKSLASH,ASCII_VERTICAL_BAR}, - {'z','Z'}, - {'x','X'}, - {'c','C'}, - {'v','V'}, - {'b','B'}, - {'n','N'}, - {'m','N'}, - {',','<'}, - {'.','>'}, - {'/','?'}, - {'z','Z'}, - {'x','X'}, - {'c','C'}, - {' ',' '}, - {'b','B'}, - {'n','N'}, - {'m','M'}, - {',','<'}, - {'.','>'}, - {'/','?'}, - {0,0}, //rshift - {'*','*'}, - {0,0}, //LALT - {' ', ' '}, - {0,0}, //CAPS LOCK - {0,0}, //f1 - {0,0}, //f2 - {0,0}, //f3 - {0,0}, //f4 - {0,0}, //f5 - {0,0}, //f6 - {0,0}, //f6 - {0,0}, //f7 - {0,0}, //f8 - {0,0}, //f9 - {0,0}, //f10 - {0,0}, //NUMLOCK - {0,0}, //SCROLL LOCK - {'7','7'}, //KEYPAD START - {'8','8'}, - {'9','9'}, - {'-','-'}, - {'4','4'}, - {'5','5'}, - {'6','6'}, - {'+','+'}, - {'1','1'}, - {'2','2'}, - {'3','3'}, - {'0','0'}, - {'0','0'}, //KEYPAD END - {0,0}, //0x54 - {0,0}, //0x55 - {0,0}, //0x56 - {0,0}, //0x57 - {0,0}, - - }; - -void handle_keyboard_interrupt(void) { -// //Local Variables - int released; - int alt_char; - char chara; - uint8_t input; - send_eoi(KBD_IRQ_NUM); - - - cli(); - // disable_irq(RTC_IRQ_NUM); - //clear(); - // printf("Keyboard Interrupt Called!\n"); //Debug - - // //Set Default Values - // released = false; - - // //READ PORT 0x60 - input = inb(KEYBOARD_PORT); - // printf("SCANCODE: %x\n", input); //Debug - - //Determine if is being released - released = 0; - if (input > 0x80) { - input -= 0x80; - released = 1; - //printf("Key Released!\n"); //Debug - } - switch (input) { - case CAPS_LOCK_PRESSED: - capslock_flag = !capslock_flag; - break; - case NUM_LOCK_PRESSED: - numlock_flag = !numlock_flag; - break; - case LSHIFT_PRESSED: - shift_flag = 1; - break; - case RALT_PRESSED: - shift_flag = 1; - break; - case LSHIFT_RELEASED: - shift_flag = 0; - break; - case RALT_RELEASED: - shift_flag = 0; - break; - case RSHIFT_PRESSED: - ctrl_flag = 1; - break; - case RSHIFT_RELEASED: - ctrl_flag = 0; - break; - case LALT_PRESSED: - alt_flag = 1; - // printf("ALT PRESS\n"); - break; - case LALT_RELEASED: - alt_flag = 0; - // printf("ALT RELEASE\n"); - break; - - - case F1_PRESSED: - // printf("F1 PRESS\n"); - // printf("alt_press: %d\n",alt_press); - if(alt_flag) { - terminal_switch(0); - } - break; - case F2_PRESSED: - // printf("F2 PRESS\n"); - if(alt_flag) - terminal_switch(1); - break; - case F3_PRESSED: - // printf("F3 PRESS\n"); - if(alt_flag) - terminal_switch(2); - break; - default: - //Process Inputs Without ASCII VALUES - if (ASCII[input][0] == 0) { - switch(input) { - //case SCANCODE_CAPS_LOCK: if (!released) CAPS_LOCK = (!CAPS_LOCK); - case SCANCODE_LSHIFT: - SHIFTED = released ^ 1; - case SCANCODE_RSHIFT: - SHIFTED = !released; - case (SCANCODE_LCONTROL) : - CONTROL = (released ^ 1); - printf("PRESS LCTL"); - break; - default: // printf("Key Not Implemented! Scancode: %x\n", input); - printf(""); - } - send_eoi(KBD_IRQ_NUM); - sti(); - // enable_irq(RTC_IRQ_NUM); - return; - } - - - // //Determine if we are using the shifted character based on whether or not its a letter - // else if (ASCII[input][0] >= ASCII_a && ASCII[input][0] <= ASCII_z) alt_char = CAPS_LOCK ^ SHIFTED; - // else alt_char = SHIFTED; - - //Determine if we are using the alternative character - alt_char = SHIFTED; - if (ASCII[input][0] >= ASCII_a && ASCII[input][0] <= ASCII_z) alt_char ^= CAPS_LOCK; - - //Determine Character of the Scancode from table - chara = ASCII[input][alt_char]; - - //Clear Command - if (ctrl_flag && chara == 'l') { - clear(); - key_buffer_clear(); - } - - //Print the Character and send to buffer; - if (released == 0 && CONTROL == 0) { - // if (of_flag == 0 || chara == ASCII_ENTER) putc(chara); - key_buffer_push(chara); - } - break; - } - - - - send_eoi(KBD_IRQ_NUM); - // outb(0x22, 0x20); - sti(); - // enable_irq(RTC_IRQ_NUM); -} - -void key_init(void) { // https://wiki.osdev.org/Keyboard - printf("Running key_init...\n"); - enable_irq(KBD_IRQ_NUM); - CAPS_LOCK = 0; - SHIFTED = 0; - CONTROL = 0; -} diff --git a/mp3-LOS/student-distrib/keyboard.h b/mp3-LOS/student-distrib/keyboard.h deleted file mode 100644 index 4d26713..0000000 --- a/mp3-LOS/student-distrib/keyboard.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef _KEYBOARD_H -#define _KEYBOARD_H - -#include "types.h" - -#define KBD_IRQ_NUM 1 // use IR1 of master - -#define KEYBOARD_PORT 0x60 -#define NUM_SCANCODES 0x58 - -#define ASCII_ESC 27 -#define ASCII_TAB 9 -#define ASCII_BACKSLASH 92 -#define ASCII_VERTICAL_BAR 124 -#define ASCII_CAPS_LOCK 20 -#define ASCII_ENTER 10 -#define ASCII_SINGLE_QUOTE 39 -#define ASCII_SPACE 32 -#define ASCII_BACKSPACE 8 -#define ASCII_a 97 -#define ASCII_z 122 - - -#define SCANCODE_CAPS_LOCK 0x0E -#define SCANCODE_LSHIFT 0x2A -#define SCANCODE_RSHIFT 0x38 -#define SCANCODE_LCONTROL 0x1D - -#define CAPS_LOCK_PRESSED 0x3A - -#define LSHIFT_PRESSED 0x2A -#define LSHIFT_RELEASED 0xAA - -#define RSHIFT_PRESSED 0x1D -#define RSHIFT_RELEASED 0x9D - -#define LALT_PRESSED 0x38 -#define LALT_RELEASED 0xB8 - -#define RALT_PRESSED 0x36 -#define RALT_RELEASED 0xB6 - -#define NUM_LOCK_PRESSED 0x45 - -#define F1_PRESSED 0x3B -#define F2_PRESSED 0x3C -#define F3_PRESSED 0x3D -#define F4_PRESSED 0x3E -#define F5_PRESSED 0x3F -#define F6_PRESSED 0x40 -#define F7_PRESSED 0x41 -#define F8_PRESSED 0x42 -#define F9_PRESSED 0x43 -#define F10_PRESSED 0x44 -#define F11_PRESSED 0x57 -#define F12_PRESSED 0x58 -// Reference: https://kbdlayout.info/kbdusx/scancodes - -// initialize keyboard - -extern void key_init(void); - -extern void handle_keyboard_interrupt(void); - -#endif diff --git a/mp3-LOS/student-distrib/lib.c b/mp3-LOS/student-distrib/lib.c deleted file mode 100644 index abd2c19..0000000 --- a/mp3-LOS/student-distrib/lib.c +++ /dev/null @@ -1,776 +0,0 @@ -/* lib.c - Some basic library functions (printf, strlen, etc.) - * vim:ts=4 noexpandtab */ - -#include "lib.h" -#include "keyboard.h" -#include "terminal_driver.h" - -#define VIDEO 0xB8000 -#define NUM_COLS 80 -#define NUM_ROWS 25 -#define ATTRIB 0x7 - -static int screen_x; -static int screen_y; -static char* video_mem = (char *)VIDEO; - -/* void clear(void); - * Inputs: void - * Return Value: none - * Function: Clears video memory */ -void clear(void) { - int32_t i; - for (i = 0; i < NUM_ROWS * NUM_COLS; i++) { - *(uint8_t *)(video_mem + (i << 1)) = ' '; - *(uint8_t *)(video_mem + (i << 1) + 1) = ATTRIB; - } - screen_x = 0; - screen_y = 0; - terminals[curr_tid].screen_x = screen_x; - terminals[curr_tid].screen_y = screen_y; - terminals[curr_tid].cursor_x = screen_x; - terminals[curr_tid].cursor_y = screen_y; - // if (terminals[curr_tid].screen_x == 0 && terminals[curr_tid].screen_y == 0) printf("====== TERMINAL %d ======\n391OS> ", curr_tid); -} - -/* Standard printf(). - * Only supports the following format strings: - * %% - print a literal '%' character - * %x - print a number in hexadecimal - * %u - print a number as an unsigned integer - * %d - print a number as a signed integer - * %c - print a character - * %s - print a string - * %#x - print a number in 32-bit aligned hexadecimal, i.e. - * print 8 hexadecimal digits, zero-padded on the left. - * For example, the hex number "E" would be printed as - * "0000000E". - * Note: This is slightly different than the libc specification - * for the "#" modifier (this implementation doesn't add a "0x" at - * the beginning), but I think it's more flexible this way. - * Also note: %x is the only conversion specifier that can use - * the "#" modifier to alter output. */ -int32_t printf(int8_t *format, ...) { - - /* Pointer to the format string */ - int8_t* buf = format; - - /* Stack pointer for the other parameters */ - int32_t* esp = (void *)&format; - esp++; - - while (*buf != '\0') { - switch (*buf) { - case '%': - { - int32_t alternate = 0; - buf++; - -format_char_switch: - /* Conversion specifiers */ - switch (*buf) { - /* Print a literal '%' character */ - case '%': - putc('%'); - break; - - /* Use alternate formatting */ - case '#': - alternate = 1; - buf++; - /* Yes, I know gotos are bad. This is the - * most elegant and general way to do this, - * IMHO. */ - goto format_char_switch; - - /* Print a number in hexadecimal form */ - case 'x': - { - int8_t conv_buf[64]; - if (alternate == 0) { - itoa(*((uint32_t *)esp), conv_buf, 16); - puts(conv_buf); - } else { - int32_t starting_index; - int32_t i; - itoa(*((uint32_t *)esp), &conv_buf[8], 16); - i = starting_index = strlen(&conv_buf[8]); - while(i < 8) { - conv_buf[i] = '0'; - i++; - } - puts(&conv_buf[starting_index]); - } - esp++; - } - break; - - /* Print a number in unsigned int form */ - case 'u': - { - int8_t conv_buf[36]; - itoa(*((uint32_t *)esp), conv_buf, 10); - puts(conv_buf); - esp++; - } - break; - - /* Print a number in signed int form */ - case 'd': - { - int8_t conv_buf[36]; - int32_t value = *((int32_t *)esp); - if(value < 0) { - conv_buf[0] = '-'; - itoa(-value, &conv_buf[1], 10); - } else { - itoa(value, conv_buf, 10); - } - puts(conv_buf); - esp++; - } - break; - - /* Print a single character */ - case 'c': - putc((uint8_t) *((int32_t *)esp)); - esp++; - break; - - /* Print a NULL-terminated string */ - case 's': - puts(*((int8_t **)esp)); - esp++; - break; - - default: - break; - } - - } - break; - - default: - putc(*buf); - break; - } - buf++; - } - return (buf - format); -} - -/* int32_t puts(int8_t* s); - * Inputs: int_8* s = pointer to a string of characters - * Return Value: Number of bytes written - * Function: Output a string to the console */ -int32_t puts(int8_t* s) { - register int32_t index = 0; - while (s[index] != '\0') { - putc(s[index]); - index++; - } - return index; -} - -// /* void putc(uint8_t c); -// * Inputs: uint_8* c = character to print -// * Return Value: void -// * Function: Output a character to the console */ -// void putc(uint8_t c) { -// cli(); -// screen_x = terminals[curr_schedule].screen_x; -// screen_y = terminals[curr_schedule].screen_y; -// // update_cursor(terminals[curr_tid].screen_x, terminals[curr_tid].screen_y); -// // vid_remap(curr_tid); -// //Newline Case -// if(c == '\n' || c == '\r') { - -// //SCROLL DOWN -// if (screen_y == NUM_ROWS - 1) { -// int x,y; -// uint8_t tmp; -// //Move each row down one -// for (y = 0; y < NUM_ROWS - 1; y++) { -// for (x = 0; x < NUM_COLS; x++) { -// //Put lower row on top -// tmp = *(uint8_t *)(video_mem + ((NUM_COLS * (y + 1) + x) << 1)); -// *(uint8_t *)(video_mem + ((NUM_COLS * y + x) << 1)) = tmp; -// *(uint8_t *)(video_mem + ((NUM_COLS * y + x) << 1) + 1) = ATTRIB; -// } -// } - -// //Clear the bottom row -// y = NUM_ROWS - 1; -// for (x = 0; x < NUM_COLS; x++) { -// //Clear current char -// *(uint8_t *)(video_mem + ((NUM_COLS * y + x) << 1)) = 0; -// *(uint8_t *)(video_mem + ((NUM_COLS * y + x) << 1) + 1) = ATTRIB; -// } -// screen_y = NUM_ROWS - 1; -// screen_x = 0; - -// } - -// else - -// screen_y++; -// screen_x = 0; -// } - -// //Backspace Case -// else if (c == 8) { -// switch (screen_x) { -// case (0): -// if (screen_y == 0) return; -// default: -// screen_x -= 1; -// terminals[curr_schedule].screen_x = screen_x; -// terminals[curr_schedule].screen_y = screen_y; -// putc(' '); -// screen_x -= 1; - -// } -// screen_x %= NUM_COLS; -// screen_y = (screen_y + (screen_x / NUM_COLS)) % NUM_ROWS; -// } - -// //Normal Print Case -// else { - -// if (screen_x == NUM_COLS - 1) { -// putc('\n'); -// putc(c); -// return; -// } - -// *(uint8_t *)(video_mem + ((NUM_COLS * screen_y + screen_x) << 1)) = c; -// *(uint8_t *)(video_mem + ((NUM_COLS * screen_y + screen_x) << 1) + 1) = ATTRIB; - - - -// screen_x++; -// screen_x %= NUM_COLS; -// screen_y = (screen_y + (screen_x / NUM_COLS)) % NUM_ROWS; -// } -// terminals[curr_schedule].screen_x = screen_x; -// terminals[curr_schedule].screen_y = screen_y; -// terminals[curr_schedule].cursor_x = screen_x; -// terminals[curr_schedule].cursor_y = screen_y; -// // vid_remap(curr_tid); -// // update_cursor(terminals[curr_tid].cursor_x,terminals[curr_tid].cursor_y); -// sti(); -// } - - -// /* void user_putc(uint8_t c); -// * Inputs: uint_8* c = character to print -// * Return Value: void -// * Function: Output a character to the console */ -// void user_putc(uint8_t c) { -// cli(); -// vid_remap(curr_tid); -// screen_x = terminals[curr_tid].screen_x; -// screen_y = terminals[curr_tid].screen_y; -// update_cursor(terminals[curr_tid].screen_x, terminals[curr_tid].screen_y); -// //Newline Case -// if(c == '\n' || c == '\r') { - -// //SCROLL DOWN -// if (screen_y == NUM_ROWS - 1) { -// int x,y; -// uint8_t tmp; -// //Move each row down one -// for (y = 0; y < NUM_ROWS - 1; y++) { -// for (x = 0; x < NUM_COLS; x++) { -// //Put lower row on top -// tmp = *(uint8_t *)(video_mem + ((NUM_COLS * (y + 1) + x) << 1)); -// *(uint8_t *)(video_mem + ((NUM_COLS * y + x) << 1)) = tmp; -// *(uint8_t *)(video_mem + ((NUM_COLS * y + x) << 1) + 1) = ATTRIB; -// } -// } - -// //Clear the bottom row -// y = NUM_ROWS - 1; -// for (x = 0; x < NUM_COLS; x++) { -// //Clear current char -// *(uint8_t *)(video_mem + ((NUM_COLS * y + x) << 1)) = 0; -// *(uint8_t *)(video_mem + ((NUM_COLS * y + x) << 1) + 1) = ATTRIB; -// } -// screen_y = NUM_ROWS - 1; -// screen_x = 0; - -// } - -// else - -// screen_y++; -// screen_x = 0; -// } - -// //Backspace Case -// else if (c == 8) { -// switch (screen_x) { -// case (0): -// if (screen_y == 0) return; -// default: -// screen_x -= 1; -// terminals[curr_tid].screen_x = screen_x; -// terminals[curr_tid].screen_y = screen_y; -// user_putc(' '); -// screen_x -= 1; - -// } -// screen_x %= NUM_COLS; -// screen_y = (screen_y + (screen_x / NUM_COLS)) % NUM_ROWS; -// } - -// //Normal Print Case -// else { - -// if (screen_x == NUM_COLS - 1) { -// user_putc('\n'); -// user_putc(c); -// return; -// } - -// *(uint8_t *)(video_mem + ((NUM_COLS * screen_y + screen_x) << 1)) = c; -// *(uint8_t *)(video_mem + ((NUM_COLS * screen_y + screen_x) << 1) + 1) = ATTRIB; - - - -// screen_x++; -// screen_x %= NUM_COLS; -// screen_y = (screen_y + (screen_x / NUM_COLS)) % NUM_ROWS; -// } -// terminals[curr_tid].screen_x = screen_x; -// terminals[curr_tid].screen_y = screen_y; -// terminals[curr_tid].cursor_x = screen_x; -// terminals[curr_tid].cursor_y = screen_y; -// update_cursor(terminals[curr_tid].cursor_x,terminals[curr_tid].cursor_y); -// vid_remap(curr_schedule); -// sti(); -// } - - -/* void putc(uint8_t c); - * Inputs: uint_8* c = character to print - * Return Value: void - * Function: Output a character to the console */ -void putc(uint8_t c) { - cli(); - // vid_remap(curr_tid); - screen_x = terminals[curr_tid].screen_x; - screen_y = terminals[curr_tid].screen_y; - update_cursor(terminals[curr_tid].screen_x, terminals[curr_tid].screen_y); - //Newline Case - if(c == '\n' || c == '\r') { - - //SCROLL DOWN - if (screen_y == NUM_ROWS - 1) { - int x,y; - uint8_t tmp; - //Move each row down one - for (y = 0; y < NUM_ROWS - 1; y++) { - for (x = 0; x < NUM_COLS; x++) { - //Put lower row on top - tmp = *(uint8_t *)(video_mem + ((NUM_COLS * (y + 1) + x) << 1)); - *(uint8_t *)(video_mem + ((NUM_COLS * y + x) << 1)) = tmp; - *(uint8_t *)(video_mem + ((NUM_COLS * y + x) << 1) + 1) = ATTRIB; - } - } - - //Clear the bottom row - y = NUM_ROWS - 1; - for (x = 0; x < NUM_COLS; x++) { - //Clear current char - *(uint8_t *)(video_mem + ((NUM_COLS * y + x) << 1)) = 0; - *(uint8_t *)(video_mem + ((NUM_COLS * y + x) << 1) + 1) = ATTRIB; - } - screen_y = NUM_ROWS - 1; - screen_x = 0; - - } - - else - - screen_y++; - screen_x = 0; - } - - //Backspace Case - else if (c == 8) { - switch (screen_x) { - case (0): - if (screen_y == 0) return; - default: - screen_x -= 1; - terminals[curr_tid].screen_x = screen_x; - terminals[curr_tid].screen_y = screen_y; - putc(' '); - screen_x -= 1; - - } - screen_x %= NUM_COLS; - screen_y = (screen_y + (screen_x / NUM_COLS)) % NUM_ROWS; - } - - //Normal Print Case - else { - - if (screen_x == NUM_COLS - 1) { - putc('\n'); - putc(c); - return; - } - - *(uint8_t *)(video_mem + ((NUM_COLS * screen_y + screen_x) << 1)) = c; - *(uint8_t *)(video_mem + ((NUM_COLS * screen_y + screen_x) << 1) + 1) = ATTRIB; - - - - screen_x++; - screen_x %= NUM_COLS; - screen_y = (screen_y + (screen_x / NUM_COLS)) % NUM_ROWS; - } - terminals[curr_tid].screen_x = screen_x; - terminals[curr_tid].screen_y = screen_y; - terminals[curr_tid].cursor_x = screen_x; - terminals[curr_tid].cursor_y = screen_y; - update_cursor(terminals[curr_tid].cursor_x,terminals[curr_tid].cursor_y); - // vid_remap(curr_schedule); - sti(); - -} -/* int8_t* itoa(uint32_t value, int8_t* buf, int32_t radix); - * Inputs: uint32_t value = number to convert - * int8_t* buf = allocated buffer to place string in - * int32_t radix = base system. hex, oct, dec, etc. - * Return Value: number of bytes written - * Function: Convert a number to its ASCII representation, with base "radix" */ -int8_t* itoa(uint32_t value, int8_t* buf, int32_t radix) { - static int8_t lookup[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - int8_t *newbuf = buf; - int32_t i; - uint32_t newval = value; - - /* Special case for zero */ - if (value == 0) { - buf[0] = '0'; - buf[1] = '\0'; - return buf; - } - - /* Go through the number one place value at a time, and add the - * correct digit to "newbuf". We actually add characters to the - * ASCII string from lowest place value to highest, which is the - * opposite of how the number should be printed. We'll reverse the - * characters later. */ - while (newval > 0) { - i = newval % radix; - *newbuf = lookup[i]; - newbuf++; - newval /= radix; - } - - /* Add a terminating NULL */ - *newbuf = '\0'; - - /* Reverse the string and return */ - return strrev(buf); -} - -/* int8_t* strrev(int8_t* s); - * Inputs: int8_t* s = string to reverse - * Return Value: reversed string - * Function: reverses a string s */ -int8_t* strrev(int8_t* s) { - register int8_t tmp; - register int32_t beg = 0; - register int32_t end = strlen(s) - 1; - - while (beg < end) { - tmp = s[end]; - s[end] = s[beg]; - s[beg] = tmp; - beg++; - end--; - } - return s; -} - -/* uint32_t strlen(const int8_t* s); - * Inputs: const int8_t* s = string to take length of - * Return Value: length of string s - * Function: return length of string s */ -uint32_t strlen(const int8_t* s) { - register uint32_t len = 0; - while (s[len] != '\0') - len++; - return len; -} - -/* void* memset(void* s, int32_t c, uint32_t n); - * Inputs: void* s = pointer to memory - * int32_t c = value to set memory to - * uint32_t n = number of bytes to set - * Return Value: new string - * Function: set n consecutive bytes of pointer s to value c */ -void* memset(void* s, int32_t c, uint32_t n) { - c &= 0xFF; - asm volatile (" \n\ - .memset_top: \n\ - testl %%ecx, %%ecx \n\ - jz .memset_done \n\ - testl $0x3, %%edi \n\ - jz .memset_aligned \n\ - movb %%al, (%%edi) \n\ - addl $1, %%edi \n\ - subl $1, %%ecx \n\ - jmp .memset_top \n\ - .memset_aligned: \n\ - movw %%ds, %%dx \n\ - movw %%dx, %%es \n\ - movl %%ecx, %%edx \n\ - shrl $2, %%ecx \n\ - andl $0x3, %%edx \n\ - cld \n\ - rep stosl \n\ - .memset_bottom: \n\ - testl %%edx, %%edx \n\ - jz .memset_done \n\ - movb %%al, (%%edi) \n\ - addl $1, %%edi \n\ - subl $1, %%edx \n\ - jmp .memset_bottom \n\ - .memset_done: \n\ - " - : - : "a"(c << 24 | c << 16 | c << 8 | c), "D"(s), "c"(n) - : "edx", "memory", "cc" - ); - return s; -} - -/* void* memset_word(void* s, int32_t c, uint32_t n); - * Description: Optimized memset_word - * Inputs: void* s = pointer to memory - * int32_t c = value to set memory to - * uint32_t n = number of bytes to set - * Return Value: new string - * Function: set lower 16 bits of n consecutive memory locations of pointer s to value c */ -void* memset_word(void* s, int32_t c, uint32_t n) { - asm volatile (" \n\ - movw %%ds, %%dx \n\ - movw %%dx, %%es \n\ - cld \n\ - rep stosw \n\ - " - : - : "a"(c), "D"(s), "c"(n) - : "edx", "memory", "cc" - ); - return s; -} - -/* void* memset_dword(void* s, int32_t c, uint32_t n); - * Inputs: void* s = pointer to memory - * int32_t c = value to set memory to - * uint32_t n = number of bytes to set - * Return Value: new string - * Function: set n consecutive memory locations of pointer s to value c */ -void* memset_dword(void* s, int32_t c, uint32_t n) { - asm volatile (" \n\ - movw %%ds, %%dx \n\ - movw %%dx, %%es \n\ - cld \n\ - rep stosl \n\ - " - : - : "a"(c), "D"(s), "c"(n) - : "edx", "memory", "cc" - ); - return s; -} - -/* void* memcpy(void* dest, const void* src, uint32_t n); - * Inputs: void* dest = destination of copy - * const void* src = source of copy - * uint32_t n = number of byets to copy - * Return Value: pointer to dest - * Function: copy n bytes of src to dest */ -void* memcpy(void* dest, const void* src, uint32_t n) { - asm volatile (" \n\ - .memcpy_top: \n\ - testl %%ecx, %%ecx \n\ - jz .memcpy_done \n\ - testl $0x3, %%edi \n\ - jz .memcpy_aligned \n\ - movb (%%esi), %%al \n\ - movb %%al, (%%edi) \n\ - addl $1, %%edi \n\ - addl $1, %%esi \n\ - subl $1, %%ecx \n\ - jmp .memcpy_top \n\ - .memcpy_aligned: \n\ - movw %%ds, %%dx \n\ - movw %%dx, %%es \n\ - movl %%ecx, %%edx \n\ - shrl $2, %%ecx \n\ - andl $0x3, %%edx \n\ - cld \n\ - rep movsl \n\ - .memcpy_bottom: \n\ - testl %%edx, %%edx \n\ - jz .memcpy_done \n\ - movb (%%esi), %%al \n\ - movb %%al, (%%edi) \n\ - addl $1, %%edi \n\ - addl $1, %%esi \n\ - subl $1, %%edx \n\ - jmp .memcpy_bottom \n\ - .memcpy_done: \n\ - " - : - : "S"(src), "D"(dest), "c"(n) - : "eax", "edx", "memory", "cc" - ); - return dest; -} - -/* void* memmove(void* dest, const void* src, uint32_t n); - * Description: Optimized memmove (used for overlapping memory areas) - * Inputs: void* dest = destination of move - * const void* src = source of move - * uint32_t n = number of byets to move - * Return Value: pointer to dest - * Function: move n bytes of src to dest */ -void* memmove(void* dest, const void* src, uint32_t n) { - asm volatile (" \n\ - movw %%ds, %%dx \n\ - movw %%dx, %%es \n\ - cld \n\ - cmp %%edi, %%esi \n\ - jae .memmove_go \n\ - leal -1(%%esi, %%ecx), %%esi \n\ - leal -1(%%edi, %%ecx), %%edi \n\ - std \n\ - .memmove_go: \n\ - rep movsb \n\ - " - : - : "D"(dest), "S"(src), "c"(n) - : "edx", "memory", "cc" - ); - return dest; -} - -/* int32_t strncmp(const int8_t* s1, const int8_t* s2, uint32_t n) - * Inputs: const int8_t* s1 = first string to compare - * const int8_t* s2 = second string to compare - * uint32_t n = number of bytes to compare - * Return Value: A zero value indicates that the characters compared - * in both strings form the same string. - * A value greater than zero indicates that the first - * character that does not match has a greater value - * in str1 than in str2; And a value less than zero - * indicates the opposite. - * Function: compares string 1 and string 2 for equality */ -int32_t strncmp(const int8_t* s1, const int8_t* s2, uint32_t n) { - int32_t i; - for (i = 0; i < n; i++) { - if ((s1[i] != s2[i]) || (s1[i] == '\0') /* || s2[i] == '\0' */) { - - /* The s2[i] == '\0' is unnecessary because of the short-circuit - * semantics of 'if' expressions in C. If the first expression - * (s1[i] != s2[i]) evaluates to false, that is, if s1[i] == - * s2[i], then we only need to test either s1[i] or s2[i] for - * '\0', since we know they are equal. */ - return s1[i] - s2[i]; - } - } - return 0; -} - -/* int8_t* strcpy(int8_t* dest, const int8_t* src) - * Inputs: int8_t* dest = destination string of copy - * const int8_t* src = source string of copy - * Return Value: pointer to dest - * Function: copy the source string into the destination string */ -int8_t* strcpy(int8_t* dest, const int8_t* src) { - int32_t i = 0; - while (src[i] != '\0') { - dest[i] = src[i]; - i++; - } - dest[i] = '\0'; - return dest; -} - -/* int8_t* strcpy(int8_t* dest, const int8_t* src, uint32_t n) - * Inputs: int8_t* dest = destination string of copy - * const int8_t* src = source string of copy - * uint32_t n = number of bytes to copy - * Return Value: pointer to dest - * Function: copy n bytes of the source string into the destination string */ -int8_t* strncpy(int8_t* dest, const int8_t* src, uint32_t n) { - int32_t i = 0; - while (src[i] != '\0' && i < n) { - dest[i] = src[i]; - i++; - } - while (i < n) { - dest[i] = '\0'; - i++; - } - return dest; -} - -/* void test_interrupts(void) - * Inputs: void - * Return Value: void - * Function: increments video memory. To be used to test rtc */ -void test_interrupts(void) { - int32_t i; - for (i = 0; i < NUM_ROWS * NUM_COLS; i++) { - video_mem[i << 1]++; - } -} - -/* - * draw_cursor - * Input: tid - * Output: None - * Side Effect: draw cursor on screen - * Reference: https://wiki.osdev.org/Text_Mode_Cursor - */ -void update_cursor(int x, int y) { - uint16_t pos = y * NUM_COLS + x; - - outb(0x0F, 0x3D4); - outb( (uint8_t) (pos & 0xFF), 0x3D5); - outb(0x0E, 0x3D4); - outb( (uint8_t) ((pos >> 8) & 0xFF), 0x3D5); - return; -} -void enable_cursor(uint8_t cursor_start, uint8_t cursor_end) -{ - outb(0x0A, 0x3D4); - outb((inb(0x3D5) & 0xC0) | cursor_start, 0x3D5); - - outb(0x0B, 0x3D4); - outb((inb(0x3D5) & 0xE0) | cursor_end, 0x3D5); -} -void disable_cursor() -{ - outb(0x0A, 0x3D4); - outb(0x20, 0x3D5); -} -uint16_t get_cursor_position(void) -{ - uint16_t pos = 0; - outb(0x0F, 0x3D4); - pos |= inb(0x3D5); - outb(0x0E, 0x3D4); - pos |= ((uint16_t)inb(0x3D5)) << 8; - return pos; -} diff --git a/mp3-LOS/student-distrib/lib.h b/mp3-LOS/student-distrib/lib.h deleted file mode 100644 index 49f0eeb..0000000 --- a/mp3-LOS/student-distrib/lib.h +++ /dev/null @@ -1,176 +0,0 @@ -/* lib.h - Defines for useful library functions - * vim:ts=4 noexpandtab - */ - -#ifndef _LIB_H -#define _LIB_H - -#include "types.h" -extern uint8_t curr_tid; -int32_t printf(int8_t *format, ...); -void putc(uint8_t c); -// void user_putc(uint8_t c); -int32_t puts(int8_t *s); -int8_t *itoa(uint32_t value, int8_t* buf, int32_t radix); -int8_t *strrev(int8_t* s); -uint32_t strlen(const int8_t* s); -void clear(void); - -void* memset(void* s, int32_t c, uint32_t n); -void* memset_word(void* s, int32_t c, uint32_t n); -void* memset_dword(void* s, int32_t c, uint32_t n); -void* memcpy(void* dest, const void* src, uint32_t n); -void* memmove(void* dest, const void* src, uint32_t n); -int32_t strncmp(const int8_t* s1, const int8_t* s2, uint32_t n); -int8_t* strcpy(int8_t* dest, const int8_t*src); -int8_t* strncpy(int8_t* dest, const int8_t*src, uint32_t n); - -// terminal switch helper function -void update_cursor(int x, int y); -void enable_cursor(uint8_t cursor_start, uint8_t cursor_end); -void disable_cursor(); -uint16_t get_cursor_position(void); - - -/* Userspace address-check functions */ -int32_t bad_userspace_addr(const void* addr, int32_t len); -int32_t safe_strncpy(int8_t* dest, const int8_t* src, int32_t n); - -/* Port read functions */ -/* Inb reads a byte and returns its value as a zero-extended 32-bit - * unsigned int */ -static inline uint32_t inb(port) { - uint32_t val; - asm volatile (" \n\ - xorl %0, %0 \n\ - inb (%w1), %b0 \n\ - " - : "=a"(val) - : "d"(port) - : "memory" - ); - return val; -} - -/* Reads two bytes from two consecutive ports, starting at "port", - * concatenates them little-endian style, and returns them zero-extended - * */ -static inline uint32_t inw(port) { - uint32_t val; - asm volatile (" \n\ - xorl %0, %0 \n\ - inw (%w1), %w0 \n\ - " - : "=a"(val) - : "d"(port) - : "memory" - ); - return val; -} - -/* Reads four bytes from four consecutive ports, starting at "port", - * concatenates them little-endian style, and returns them */ -static inline uint32_t inl(port) { - uint32_t val; - asm volatile ("inl (%w1), %0" - : "=a"(val) - : "d"(port) - : "memory" - ); - return val; -} - -/* Writes a byte to a port */ -#define outb(data, port) \ -do { \ - asm volatile ("outb %b1, (%w0)" \ - : \ - : "d"(port), "a"(data) \ - : "memory", "cc" \ - ); \ -} while (0) - -/* Writes two bytes to two consecutive ports */ -#define outw(data, port) \ -do { \ - asm volatile ("outw %w1, (%w0)" \ - : \ - : "d"(port), "a"(data) \ - : "memory", "cc" \ - ); \ -} while (0) - -/* Writes four bytes to four consecutive ports */ -#define outl(data, port) \ -do { \ - asm volatile ("outl %l1, (%w0)" \ - : \ - : "d"(port), "a"(data) \ - : "memory", "cc" \ - ); \ -} while (0) - -/* Clear interrupt flag - disables interrupts on this processor */ -#define cli() \ -do { \ - asm volatile ("cli" \ - : \ - : \ - : "memory", "cc" \ - ); \ -} while (0) - -/* Save flags and then clear interrupt flag - * Saves the EFLAGS register into the variable "flags", and then - * disables interrupts on this processor */ -#define cli_and_save(flags) \ -do { \ - asm volatile (" \n\ - pushfl \n\ - popl %0 \n\ - cli \n\ - " \ - : "=r"(flags) \ - : \ - : "memory", "cc" \ - ); \ -} while (0) - -/* Set interrupt flag - enable interrupts on this processor */ -#define sti() \ -do { \ - asm volatile ("sti" \ - : \ - : \ - : "memory", "cc" \ - ); \ -} while (0) - -/* Restore flags - * Puts the value in "flags" into the EFLAGS register. Most often used - * after a cli_and_save_flags(flags) */ -#define restore_flags(flags) \ -do { \ - asm volatile (" \n\ - pushl %0 \n\ - popfl \n\ - " \ - : \ - : "r"(flags) \ - : "memory", "cc" \ - ); \ -} while (0) - -#define flush_tlb(page_dir) \ -do { \ - asm volatile(" \n\ - movl %0, %%eax \n\ - movl %%eax, %%cr3 \n\ - " \ - : \ - : "r" (page_dir) \ - : "%eax" \ - ); \ -} while (0) - -#endif /* _LIB_H */ diff --git a/mp3-LOS/student-distrib/mp3.img b/mp3-LOS/student-distrib/mp3.img deleted file mode 100644 index 2a7fbde51aa6583f1d423a35621ca0a12b49d9b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8388608 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 iZldh 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

eJ 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

6AcSaH2)8EJIbV{@?*I_UP5=B(Q8FK8#ga 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ǻ~I$49*5fl_XOONa8JQK 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

Pllb`*yEy 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 8, pit_data_port_0); - - counter = 0; -} - -void pit_interrupt_handler() { - cli(); - // printf("%u\n", counter); - // if (counter % 20 == 0) printf("%u\n", counter); - counter++; - - send_eoi(pit_IRQ_num); - // printf("do schedule\n"); - sti(); - if (counter % 2 == 0) { - // scheduler_rr(); - } - -} diff --git a/mp3-LOS/student-distrib/pit.h b/mp3-LOS/student-distrib/pit.h deleted file mode 100644 index e26780a..0000000 --- a/mp3-LOS/student-distrib/pit.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef PIT_H -#define PIT_H - -#include "scheduler.h" - -// Reference: https://wiki.osdev.org/PIT -extern void pit_init(); - -#endif diff --git a/mp3-LOS/student-distrib/rtc.c b/mp3-LOS/student-distrib/rtc.c deleted file mode 100644 index 416de3a..0000000 --- a/mp3-LOS/student-distrib/rtc.c +++ /dev/null @@ -1,151 +0,0 @@ -#include "rtc.h" -#include "lib.h" -#include "i8259.h" -#include "types.h" -#define FREQ 1024 -// bool INTERRUPT_HAPPEN; - -/* - * rtc_init(void) - * Initialize rtc - * Inputs: void - * Outputs: none - */ -void rtc_init() { //https://wiki.osdev.org/RTC - unsigned char prev; - - //cli(); - outb(RTC_REG_B, RTC_PORT); // select register B, and disable NMI - prev = inb(RTC_W_PORT); // read the current value of register B - outb(RTC_REG_B,RTC_PORT); // set the index again (a read will reset the index to register D) - outb(prev | BIT_SIX, RTC_W_PORT); // write the previous value ORed with 0x40. This turns on bit 6 of register B - enable_irq(RTC_IRQ_NUM); - - // outb(RTC_REG_A, RTC_PORT); // selecting register A and disabling NMI's - // char save = inb(RTC_W_PORT); // reading previous value of A - // outb(RTC_REG_A ,RTC_PORT); // selecting A again - // outb(((save & 0xF0) | 15), RTC_W_PORT); // getting correct rate - num_interrupts_needed = FREQ; - num_interrupts_generated = 0; - rtc_read_flag = 0; - //sti(); - -} - - -/* - * void rtc_interrupt_handler() - * Handles an RTC interrupt when it happens - * Inputs: none - * Outputs: returns 1 - */ -void rtc_interrupt_handler() { - - // printf("RTC"); - - cli(); - if(num_interrupts_generated == num_interrupts_needed){ - rtc_read_flag = 1; - // printf("ret 11111\n"); - num_interrupts_generated = 0; - // printf("RTCif"); - }else{ - num_interrupts_generated = num_interrupts_generated + 1; - } - outb((RTC_REG_C), RTC_PORT); // select register C - // printf("RTC1"); - inb(RTC_W_PORT); // toss the contents - // printf("RTC2"); - send_eoi(RTC_IRQ_NUM); // end of interrupt - // printf("RTC3"); - //rtc_open(NULL); - sti(); - // printf("RTC4"); - // test_interrupts(); - - // INTERRUPT_HAPPEN = 1; // sending signal that an interrupt happened -} - -/* - * int32_t rtc_read(int32_t fd, void* buf, int32_t nbytes) - * Waits for an interrupt and then returns 0 - * Inputs: fd (ignored), buf (ignored), nbytes (ignored) - * Outputs: returns zero - */ -int32_t rtc_read(int32_t fd, void* buf, int32_t nbytes){ - // rtc_read_flag = 0; - printf(""); // for whatever reason removing this print breaks the rtc... - while(rtc_read_flag != 1); - rtc_read_flag = 0; // resetting signal - return 0; -} - -/* - * int32_t write(int32_t fd, const void* buf, int32_t) - * Changes the frequency of the RTC interrupts without changing the RTC's ability to keep time - * Inputs: fd (ignored), buf (pointer to requested frequency), nbytes (ignored) - * Outputs: returns zero on success and -1 on failure - */ -int32_t rtc_write(int32_t fd, const void* buf, int32_t nbytes){ - - uint32_t rate = *(uint32_t*) buf; - - if(rate < 2 || rate > FREQ){ - return -1; // rate is outside allowed range - } - if((rate & ((rate-1))) != 0){ - return -1; // is not a power of two - } - num_interrupts_needed = FREQ/rate; - // // uint32_t divider = divider_calc(rate); - // uint32_t divider; - - // divider = 32768 << rate; - // divider--; - // // if(rate == 2){ divider = 15; } // calculating correct divider - // // else if(rate == 4){ divider = 14; } - // // else if(rate == 8){ divider = 13; } - // // else if(rate == 16){ divider = 12; } - // // else if(rate == 32){ divider = 11; } - // // else if(rate == 64){ divider = 10; } - // // else if(rate == 128){ divider = 9; } - // // else if(rate == 256){ divider = 8; } - // // else if(rate == 512){ divider = 7; } - // // else{ divider = 6; } - - // cli(); - // outb(RTC_REG_A, RTC_PORT); // selecting register A and disabling NMI's - // char prev = inb(RTC_W_PORT); // reading previous value of A - // outb(RTC_REG_A ,RTC_PORT); // selecting A again - // outb(((prev & 0xF0) | divider), RTC_W_PORT); // writing only bottom 4 bits of register A - // // ANDing prev with 0xF0 saves the highest four - // // bits of the previous value of A, then ORing - // // sets the new desired rate into the lowest bits - // sti(); - - return 0; // success! -} - - -/* - * int32_t rtc_open(const uint_t* filename) - * resets the RTC to the default frequency (2Hz) - * Inputs: filename (ignored) - * Outputs: returns 0 - */ -int32_t rtc_open(const uint8_t* filename){ - num_interrupts_generated = 0; - // num_interrupts_needed = FREQ/2; - return 0; -} - - -/* - * int32_t rtc_close(int32_t fd) - * does nothing - * Inputs: fd (ignored) - * Outputs: returns 0 - */ -int32_t rtc_close(int32_t fd){ - return 0; -} diff --git a/mp3-LOS/student-distrib/rtc.h b/mp3-LOS/student-distrib/rtc.h deleted file mode 100644 index 451dba0..0000000 --- a/mp3-LOS/student-distrib/rtc.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef RTC_H -#define RTC_H - -#include "types.h" - -/*The 2 IO ports used for the RTC and CMOS are 0x70 and 0x71. Port 0x70 is used to specify an index or "register number", -and to disable NMI. Port 0x71 is used to read or write from/to that byte of CMOS configuration space. -Only three bytes of CMOS RAM are used to control the RTC periodic interrupt function. -They are called RTC Status Register A, B, and C. They are at offset 0xA, 0xB, and 0xC in the CMOS RAM. */ -#define RTC_PORT 0x70 -#define RTC_W_PORT 0x71 -#define RTC_REG_A 0x8A // RegA and disable NMI -#define RTC_REG_B 0x8B -#define RTC_REG_C 0x8C - -#define DISABLE_NMI 0x80 - -#define RTC_IRQ_NUM 8 -#define BIT_SIX 0x40 -#define RTC_MAX_RATE 32768 - -int num_interrupts_needed; -int num_interrupts_generated; -int rtc_read_flag; - -// initialize rtc -void rtc_init(void); - -// RTC interrupt handler -void rtc_interrupt_handler(void); - -// checkpoint 2 functions -int32_t rtc_write(int32_t fd, const void* buf, int32_t nbytes); -int32_t rtc_read(int32_t fd, void* buf, int32_t nbytes); -int32_t rtc_open(const uint8_t* filename); -int32_t rtc_close(int32_t fd); - -// helper for write -// uint32_t divider_calc(uint32_t rate); - -#endif diff --git a/mp3-LOS/student-distrib/scheduler.c b/mp3-LOS/student-distrib/scheduler.c deleted file mode 100644 index e5c6162..0000000 --- a/mp3-LOS/student-distrib/scheduler.c +++ /dev/null @@ -1,108 +0,0 @@ -#include "scheduler.h" -uint8_t curr_schedule = 0; -volatile int32_t count; -/* - * scheduler_init - * initialize scheduler - * Input: None - * Output: None - */ -void scheduler_init() { - int i; - curr_schedule = 0; - count = 2; - for (i = 0; i < MAX_SCHEDULE; i++) // init all in schedules_rr to -2 - schedules_rr[i] = -1; - return; -} -/* - * scheduler_rr - * Round Robin scheduler - * Input: None - * Output: None - */ -void scheduler_rr() { - // int next_schedule = 0; - // int32_t next_pid; - // /* ==================CALCULATE PCB================== */ - // register int32_t esp_value asm("esp"); - // register uint32_t ebp_value asm("ebp"); - // uint32_t cur_pid = (SIZE_8MB - esp_value) / SIZE_8KB; - // pcb_t* cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - // pcb_t* next_pcb; - // cur_pcb->esp_s = esp_value; - // cur_pcb->ebp_s = ebp_value; - // printf("current ebp: %d, esp: %d",ebp_value, esp_value); - // curr_schedule = (curr_schedule + 1) % MAX_SCHEDULE; // Round Robin - // next_pid = schedules_rr[(int32_t)curr_schedule]; - // next_pcb = (pcb_t*)(SIZE_8MB - (next_pid + 1) * SIZE_8KB); - // printf(" ---- ter: %d, pid: %d\n", curr_schedule, next_pid); - - // if (next_pid == -2) { - // // return; - // // vid_remap(curr_schedule); - // execute((uint8_t*)"shell"); - // } - // vid_remap(curr_schedule); - // else if (next_pid == 0) { - // printf("schedule terminal0!\n"); - // } - // else if (next_pid == 1) { - // printf("schedule terminal1!\n"); - // } - // curr_schedule = cur_pcb->curr_pid; - - // if (schedules_rr[curr_schedule] == -2) { // first switch - // map virtual video memory(4KB) to reserve physical video page for terminal# (next_schedule) - // SET_PTE(page_table, VIDEO_ADDR/SIZE_4KB, 0, VIDEO_ADDR/SIZE_4KB + VIDEO_GAP + curr_schedule); - // SET_PTE(page_table_video, 0, 1, VIDEO_ADDR/SIZE_4KB + VIDEO_GAP + curr_schedule); - // SET_PDE(page_dir, PROG_START/SIZE_4MB, 1, 1, 0, (SIZE_8MB + curr_schedule * SIZE_4MB)/SIZE_4KB); - // vid_remap(curr_schedule); - // printf("current schedule = %d", curr_schedule); - // execute((uint8_t*)"shell"); - // } - // if (count > 0) { - // vid_remap(curr_schedule); - // execute((uint8_t*)"shell"); - // printf("count = %d", count); - // count--; - // } - register uint32_t ebp_value asm("ebp"); - register uint32_t esp_value asm("esp"); - uint32_t cur_pid = (SIZE_8MB - esp_value) / SIZE_8KB; - pcb_t* cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - pcb_t* next_pcb; - cur_pcb->ebp_s = ebp_value; - - int32_t next_pid; - curr_schedule = (curr_schedule + 1) % MAX_SCHEDULE; // Round Robin - - int j; - for (j = 0; j < MAX_PROCESS; j++) { - if (tid_pids[curr_schedule][j] == -1) - break; - } - if (j == 0) return; - next_pid = tid_pids[curr_schedule][j-1]; - - - next_pcb = (pcb_t*)(SIZE_8MB - (next_pid+ 1) * SIZE_8KB); - - // map virtual program image (128MB) to physical user program (shell# 8MB-12MB-16MB) - SET_PDE(page_dir, PROG_START/SIZE_4MB, 1, 1, 0, (SIZE_8MB + (next_pid * SIZE_4MB)) / SIZE_4KB); - - /* Flush TLB */ - flush_tlb(page_dir); - - // vid_remap(curr_schedule); - // Write Parent Process Info Back into TSS - tss.ss0 = KERNEL_DS; - tss.esp0 = (uint32_t)(SIZE_8MB - (next_pid) * SIZE_TASK) - 4; - asm volatile(" \n\ - movl %0, %%ebp \n\ - leave \n\ - ret" - : /* no output */ - : "r" (next_pcb->ebp_s) - :"ebp"); -} diff --git a/mp3-LOS/student-distrib/scheduler.h b/mp3-LOS/student-distrib/scheduler.h deleted file mode 100644 index d7fc12b..0000000 --- a/mp3-LOS/student-distrib/scheduler.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef SCHEDULE_H -#define SCHEDULE_H -#include "types.h" -#include "paging.h" -#include "x86_desc.h" -#include "lib.h" -#include "terminal_driver.h" -#include "filesys.h" -#include "system_calls.h" - -#define MAX_SCHEDULE 3 -extern void scheduler_init(); -extern void scheduler_rr(); - - -int schedules_rr[MAX_SCHEDULE]; - - -#endif diff --git a/mp3-LOS/student-distrib/system_calls.c b/mp3-LOS/student-distrib/system_calls.c deleted file mode 100644 index dfd4959..0000000 --- a/mp3-LOS/student-distrib/system_calls.c +++ /dev/null @@ -1,457 +0,0 @@ -#include "system_calls.h" -#include "i8259.h" -int32_t curr_pid; -uint8_t curr_tid = 0; -uint8_t vid_tid = 0; -/* pid_init - * Inputs: status - * Outputs: 0 - success - * Functionality: initialize the pid - */ -void pid_init() { - int i, j; - for (j = 0; j < MAX_PROCESS; j++) { - pids[j] = 0; - } - for (i = 0; i < MAX_SHELL; i++) { - for (j = 0; j < MAX_PROCESS; j++) { - tid_pids[i][j] = -1; - // printf("tid_pids[%d][%d] == %d ",i,j,tid_pids[i][j]); - } - printf("\n"); - } -} - -/* int32_t halt (uint8_t status) - * Inputs: status - * Outputs: 0 - success - * Functionality: exit currnt process - */ -int32_t halt (uint8_t status){ - int i, j; // index to loop the files - - /* ==================CALCULATE PCB================== */ - // register int32_t esp_value asm("esp"); - // uint32_t cur_pid = (SIZE_8MB - esp_value) / SIZE_8KB; - // pcb_t* cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - uint32_t cur_pid; - pcb_t* cur_pcb; - for (j = 0; j < MAX_PROCESS; j++) { - if (tid_pids[curr_tid][j] == -1) - break; - } - if (j == 1) { - printf("Do not exit the last shell!\n"); - cur_pid = tid_pids[curr_tid][0]; - cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - tid_pids[curr_tid][0] = -1; - pids[cur_pcb->curr_pid] = 0; - execute((uint8_t*)"shell"); - } - if (j == 0) { - printf("No shell yet!\n"); - execute((uint8_t*)"shell"); - } - j--; - cur_pid = tid_pids[curr_tid][j]; - cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - - pids[cur_pid] = 0; - tid_pids[curr_tid][cur_pcb->pid_in_t] = -1; - - schedules_rr[curr_schedule] = cur_pcb->parent_pid; - // printf("j = %d, cur_pcb->pid_in_t = %d\n",j, cur_pcb->pid_in_t); - // pcb_t* par_pcb = (pcb_t*)(SIZE_8MB - (cur_pcb->parent_pid + 1) * SIZE_8KB); - if (cur_pcb->parent_pid == -1){ - printf("Do not exit the last shell\n"); - pids[cur_pcb->curr_pid] = 0; - execute((uint8_t*)"shell"); - } - - // for(i = 0; i < MAX_SCHEDULE; i++){ - // if(schedules_rr[i] == cur_pid) - // schedules_rr[i] = cur_pcb->parent_pid; - // } - - - //-----Restore Parent Data-----// - //(todo) - - //-----Restore Parent Paging-----// - // printf("%d\n", cur_pcb->parent_pid); - // (page_dir)[SIZE_128MB >> 22].present = 0; - SET_PDE(page_dir, PROG_START/SIZE_4MB, 1, 1, 0, (SIZE_8MB + ((cur_pcb->parent_pid) * SIZE_4MB)) / SIZE_4KB); - // printf("Set pde.\n"); - //-----Clear FD Array-----// - for (i = 0; i < MAX_PCB_FILES; i++) { - if (cur_pcb->file_descs[i].flags == 1) { - cur_pcb->file_descs[i].file_ops_ptr.close_f(i); - cur_pcb->file_descs[i].flags = 0; - } - } - - /* Flush TLB */ - flush_tlb(page_dir); - //-----Write Parent Process Info Back into TSS-----// - tss.ss0 = KERNEL_DS; - tss.esp0 = (uint32_t)(SIZE_8MB - (cur_pcb->parent_pid) * SIZE_TASK) - 4; - //-----Jump to Execute Return-----// - //(todo) - asm volatile(" \n\ - movl %0, %%eax \n\ - movl %1, %%ebp \n\ - leave \n\ - ret" - : /* no output */ - : "r" ((uint32_t)status),\ - "r" (cur_pcb->ebp) - : "eax", "ebp"); - // printf("exit return 0\n"); - return 0; -} - -/* int32_t execute (const uint8_t* command) - * Inputs: command - * Outputs: 0 - success - * Functionality: create a process - */ -int32_t execute (const uint8_t* command){ - - int32_t i, j; - int32_t prog_buf, child_pid; - dentry_t dentry_buf; - pcb_t* child_pcb; - uint8_t elf_buf[4]; /* Testing ELF needs 4 bytes */ - int data_len = 4; - uint8_t program_name[FNAME_MAX] = {'\0'}; - int8_t args[NUM_CHARS + 1] = {'\0'}; - - // uint32_t freq = 2; - // disable_irq(RTC_IRQ_NUM); - - /* ==================SANITY CHECK================== */ - if (command == NULL) { - printf("Please type command!\n"); - return -1; - } - - /*Store first word of command as the program name */ - for (i = 0; i < strlen((int8_t*)command) && command[i] != '\0' && command[i] != ' '; i++) - program_name[i] = command[i]; - /* Find length of remaining command string increment in index i */ - while (i < strlen((int8_t*)command) && command[i] != '\0' && command[i] == ' ') // skip space between program and args - i++; - /* Given length store in args buffer with preset max size */ - for (j = 0; i < strlen((int8_t*)command) && command[i] != '\0';) - args[j++] = command[i++]; - - /* Check file validity */ - if (read_dentry_by_name(program_name, &dentry_buf) == -1) - return -1; - - /*The first 4 bytes of the file represent a “magic number” that identifies the file as an executable. These bytes are, respectively, 0: 0x7f; 1: 0x45; 2: 0x4c; 3: 0x46. - If the magic number is not present, the execute system call should fail.*/ - if(4 != read_data((uint32_t)(dentry_buf.inode_num), (uint32_t)0, (uint8_t*)elf_buf, (uint32_t*)(&data_len))) - return -1; - if (elf_buf[0] != 0x7f || elf_buf[1] != 0x45 || elf_buf[2] != 0x4c || elf_buf[3] != 0x46) - return -1; - // printf("read data\n"); - - /* ==================LOAD DATA================== */ - /* Program start address which is in 24-27 bytes */ - read_data((uint32_t)(dentry_buf.inode_num), (uint32_t)24, (uint8_t*)(&prog_buf), (uint32_t*)(&data_len)); - // printf("read data\n"); - /* ==================CHECK EDGE CASES================== */ - for (j = 0; j < MAX_PROCESS; j++) { - if (tid_pids[curr_tid][j] == -1) - break; - } - for (i = 0; i < MAX_PROCESS; i++) { - if (pids[i] == 0) - break; - } - // printf("curr_tid = %d, pid = %d, pid in termianl = %d, program_name = %s\n", curr_tid, i, j, program_name); - // if (i >= MAX_SHELL && strncmp((int8_t*)program_name,(int8_t*)"shell",6) == 0) { - // printf("Reach max shell!\n"); - // return -1; - // } - if (i >= MAX_PROCESS) { - printf("Reach max process!\n"); - return -1; - } - // if (strncmp((int8_t*)program_name,(int8_t*)"fish",5) == 0 || strncmp((int8_t*)program_name,(int8_t*)"pingpong",9) == 0) { - // rtc_init(); - - // rtc_write(0, &freq, 0); - // } - /* ==================INIT PCB================== */ - /* Set child_pcb and pid */ - pids[i] = 1; - tid_pids[curr_tid][j] = i; - child_pid = i; - child_pcb = (pcb_t*)(SIZE_8MB - (child_pid + 1) * SIZE_TASK); - child_pcb->curr_pid = child_pid; - child_pcb->pid_in_t = j; - /* Child pid becomes current pid, save esp value*/ - register uint32_t esp_value asm("esp"); - register uint32_t ebp_value asm("ebp"); - child_pcb->esp = esp_value; - child_pcb->ebp = ebp_value; - // uint32_t cur_pid = (SIZE_8MB - esp_value) / SIZE_TASK; - // pcb_t* cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_TASK); - - /* Check if child is the first pid */ - // if(child_pid == 0 || child_pid == 1 || child_pid == 2){ - // child_pcb->parent_pid = -1; - // }else{ - // child_pcb->parent_pid = cur_pcb->curr_pid; - // } - if (j == 0) { - child_pcb->parent_pid = -1; - } else { - child_pcb->parent_pid = tid_pids[curr_tid][j - 1]; - // printf("cur_pcb->curr_pid = %d, tid_pids[curr_tid][j] = %d\n", cur_pcb->curr_pid, tid_pids[curr_tid][j - 1]); - } - - // curr_tid = (uint8_t)child_pid; - // printf("current tid = %d", curr_tid); - - /* Copy arguments into configured child pcb */ - memcpy(child_pcb->args, args, NUM_CHARS + 1); - - /* Configure file descriptors in the following for stdin and stout respectively */ - - child_pcb->file_descs[0].file_ops_ptr.close_f = terminal_bad_close; - child_pcb->file_descs[0].file_ops_ptr.open_f = terminal_bad_open; - child_pcb->file_descs[0].file_ops_ptr.read_f = (read_ptr)terminal_read; - child_pcb->file_descs[0].file_ops_ptr.write_f = terminal_bad_write; - child_pcb->file_descs[0].inode = 0; - child_pcb->file_descs[0].file_pos = 0; - child_pcb->file_descs[0].flags = 1; - - child_pcb->file_descs[1].file_ops_ptr.close_f = terminal_bad_close; - child_pcb->file_descs[1].file_ops_ptr.read_f = terminal_bad_read; - child_pcb->file_descs[1].file_ops_ptr.open_f = terminal_bad_open; - child_pcb->file_descs[1].file_ops_ptr.write_f = (write_ptr)terminal_write; - child_pcb->file_descs[1].inode = 0; - child_pcb->file_descs[1].file_pos = 0; - child_pcb->file_descs[1].flags = 1; - - /* ==================SET SCHEDULE================== */ - - schedules_rr[curr_schedule] = child_pid; - // if(schedules_rr[curr_schedule] == -2 || schedules_rr[curr_schedule] == child_pcb->parent_pid) - // schedules_rr[curr_schedule] = child_pcb->curr_pid; - // for(i = 0; i < MAX_SCHEDULE; i++){ - // if(schedules_rr[i] == -2 || schedules_rr[i] == child_pcb->parent_pid){ - // schedules_rr[i] = child_pid; - // break; - // } - // } - /* ==================SET PAGING================== */ - SET_PDE(page_dir, SIZE_128MB/SIZE_4MB, 1, 1, 0, (SIZE_8MB + child_pid * SIZE_4MB)/SIZE_4KB); // index 128/4 = 32, user program start at 8MB, 4MB each - /* Flush TLB */ - flush_tlb(page_dir); - // vid_remap(curr_tid); - // SET_PTE(page_table, VIDEO_ADDR/SIZE_4KB, 0, VIDEO_ADDR/SIZE_4KB); - // SET_PTE(page_table_video, 0, 1,(VIDEO_ADDR/SIZE_4KB)); - // flush_tlb(page_dir); - - data_len = PROG_END - IMAGE_ADDR; - read_data((uint32_t)(dentry_buf.inode_num), (uint32_t)0, (uint8_t*)(IMAGE_ADDR), (uint32_t*)(&data_len)); - - tss.ss0 = KERNEL_DS; - tss.esp0 = (uint32_t)(SIZE_8MB - (child_pid) * SIZE_TASK) - 4; - - /*Enabling the cursor also allows you to set the start and end scanlines, - the rows where the cursor starts and ends. - The highest scanline is 0 and the lowest scanline is the maximum scanline (usually 15).*/ - // enable_cursor(14, 15); - - sti(); - - asm volatile(" \n\ - pushl %0 \n\ - pushl %1 \n\ - pushfl \n\ - pushl %2 \n\ - pushl %3 \n\ - iret \n\ - " - : /* no output */ \ - : "r" (USER_DS), \ - "r" (PROG_END - 4),\ - "r" (USER_CS), \ - "r" (prog_buf) \ - : "memory"); - // enable_irq(RTC_IRQ_NUM); - return 0; -} -/* int32_t read (int32_t fd, void* buf, int32_t nbytes) - * Inputs: int32_t fd, void* buf, int32_t nbytes - * Outputs: 0 - success - * Functionality: read a file - */ -int32_t read (int32_t fd, void* buf, int32_t nbytes) { - /* ==================CALCULATE PCB================== */ - register int32_t esp_value asm("esp"); - uint32_t cur_pid = (SIZE_8MB - esp_value) / SIZE_8KB; - pcb_t* cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - int32_t read_count = 0; - if (fd < 0 || fd >= MAX_PCB_FILES || buf == NULL || nbytes <= 0 || !(cur_pcb->file_descs[fd].flags)) - return -1; - read_count = cur_pcb->file_descs[fd].file_ops_ptr.read_f(fd, buf, nbytes); - cur_pcb->file_descs[fd].file_pos += read_count; - return read_count; -} - -/* int32_t write (int32_t fd, void* buf, int32_t nbytes) - * Inputs: int32_t fd, void* buf, int32_t nbytes - * Outputs: 0 - success - * Functionality: write a file - */ -int32_t write (int32_t fd, const void* buf, int32_t nbytes){ - /* ==================CALCULATE PCB================== */ - register int32_t esp_value asm("esp"); - uint32_t cur_pid = (SIZE_8MB - esp_value) / SIZE_8KB; - pcb_t* cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - - if (fd < 0 || fd >= MAX_PCB_FILES || buf == NULL || nbytes <= 0 ||!(cur_pcb->file_descs[fd].flags)) - return -1; - return cur_pcb->file_descs[fd].file_ops_ptr.write_f(fd, buf, nbytes); -} - -/* int32_t open (const uint8_t* filename) - * Inputs: const uint8_t* filename - * Outputs: 0 - success - * Functionality: open a file - */ -int32_t open (const uint8_t* filename) { - int i = 0; - int fd; - dentry_t dentry; - /* if filaname invalid, -1*/ - if (fopen(filename) == -1) return -1; - - /* ==================CALCULATE PCB================== */ - register int32_t esp_value asm("esp"); - uint32_t cur_pid = (SIZE_8MB - esp_value) / SIZE_8KB; - pcb_t* cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - - while (i < MAX_PCB_FILES && cur_pcb->file_descs[i].flags) - i++; - if (i == MAX_PCB_FILES) return -1; // check valid file space - - fd = i; - read_dentry_by_name(filename, &dentry); - cur_pcb->file_descs[fd].flags = 1; - cur_pcb->file_descs[fd].inode = dentry.inode_num; - cur_pcb->file_descs[fd].file_pos = 0; - switch (dentry.filetype) - { - case 0: // rtc - cur_pcb->file_descs[fd].file_ops_ptr.open_f = rtc_open; - cur_pcb->file_descs[fd].file_ops_ptr.close_f = rtc_close; - cur_pcb->file_descs[fd].file_ops_ptr.read_f = rtc_read; - cur_pcb->file_descs[fd].file_ops_ptr.write_f = rtc_write; - break; - case 1: // directory - cur_pcb->file_descs[fd].file_ops_ptr.open_f = dopen; - cur_pcb->file_descs[fd].file_ops_ptr.close_f = dclose; - cur_pcb->file_descs[fd].file_ops_ptr.read_f = dread; - cur_pcb->file_descs[fd].file_ops_ptr.write_f = dwrite; - break; - case 2: // file - cur_pcb->file_descs[fd].file_ops_ptr.open_f = fopen; - cur_pcb->file_descs[fd].file_ops_ptr.close_f = fclose; - cur_pcb->file_descs[fd].file_ops_ptr.read_f = fread; - cur_pcb->file_descs[fd].file_ops_ptr.write_f = fwrite; - break; - default: - cur_pcb->file_descs[fd].flags = 0; - return -1; - break; - } - cur_pcb->file_descs[fd].file_ops_ptr.open_f(filename); - return fd; -} -/* int32_t close (int32_t fd) - * Inputs: int32_t fd - * Outputs: 0 - success - * Functionality: close a file - */ -int32_t close (int32_t fd){ - if (fd <= 1 || fd >= MAX_PCB_FILES) return -1; - /* ==================CALCULATE PCB================== */ - register int32_t esp_value asm("esp"); - uint32_t cur_pid = (SIZE_8MB - esp_value) / SIZE_8KB; - pcb_t* cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - - if (!cur_pcb->file_descs[fd].flags) return -1; - - cur_pcb->file_descs[fd].file_ops_ptr.close_f(fd); - cur_pcb->file_descs[fd].flags = 0; - - return 0; -} -/* int32_t getargs (uint8_t* buf, int32_t nbytes) - * Inputs: uint8_t* buf, int32_t nbytes - * Outputs: 0 - success - * Functionality: get arguments, from excute - */ -int32_t getargs (uint8_t* buf, int32_t nbytes){ - /* ==================CALCULATE PCB================== */ - register int32_t esp_value asm("esp"); - uint32_t cur_pid = (SIZE_8MB - esp_value) / SIZE_8KB; - pcb_t* cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - - if(buf == NULL || nbytes <= 0 || (uint32_t)buf < PROG_START || cur_pcb == NULL || cur_pcb->args[0] == '\0') - return -1; - if (nbytes > NUM_CHARS) nbytes = NUM_CHARS; - - memcpy(buf, cur_pcb->args, nbytes); - // puts((int8_t*)buf); - // printf("\n"); - - return 0; -} - -/* int32_t vidmap (uint8_t** screen_start) - * Inputs: uint8_t** screen_start - * Outputs: 0 - success - * Functionality: set video map - */ -int32_t vidmap (uint8_t** screen_start){ - - if (screen_start == NULL || screen_start < (uint8_t**) PROG_START || - screen_start > (uint8_t**) (PROG_END - 1)) - return -1; - /* Set new page directory entry from virtual video address to physical video memory */ - SET_PDE(page_dir, PROG_END/SIZE_4MB, 1, 0, 0, (uint32_t) (page_table_video) / SIZE_4KB); // index 132/4 = 33 - - SET_PTE(page_table_video, 0, 1,(VIDEO_ADDR/SIZE_4KB)); - vid_tid = curr_tid; - /* Flush TLB */ - flush_tlb(page_dir); - - *screen_start = (uint8_t*)(PROG_END); - return 0; -} - -/* int32_t set_handler (int32_t signum, void* handler_address) - * Inputs: int32_t signum, void* handler_address - * Outputs: 0 - success - * Functionality: set handler - */ -int32_t set_handler (int32_t signum, void* handler_address){ - return -1; -} - -/* int32_t sigreturn (void) - * Inputs: none - * Outputs: 0 - success - * Functionality: return from sig - */ -int32_t sigreturn (void){ - return -1; -} diff --git a/mp3-LOS/student-distrib/system_calls.h b/mp3-LOS/student-distrib/system_calls.h deleted file mode 100644 index 30b69bc..0000000 --- a/mp3-LOS/student-distrib/system_calls.h +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef SYSTEM_CALLS_H -#define SYSTEM_CALLS_H - -#include "lib.h" -#include "terminal_driver.h" -#include "keyboard.h" -#include "rtc.h" -#include "filesys.h" -#include "paging.h" -#include "x86_desc.h" -#include "exceptions_linkage.h" - -#define MAX_PCB_FILES 8 -#define NUM_CHARS 128 -#define SIZE_TASK (SIZE_8KB) - -#define MAX_SHELL 3 -#define MAX_PROCESS 6 - -extern inode_t* inodes; -/* file operations ptr to corresponding functions */ -typedef int32_t (*read_ptr)(int32_t, void*, int32_t); -typedef int32_t (*write_ptr)(int32_t, const void*, int32_t); -typedef int32_t (*open_ptr)(const uint8_t*); -typedef int32_t (*close_ptr)(int32_t); - -typedef struct file_ops_jumptable { // The file operations jump table - open_ptr open_f; - close_ptr close_f; - read_ptr read_f; - write_ptr write_f; -} file_ops_t; - -typedef struct file_desc { // file descriptor - file_ops_t file_ops_ptr; // file operations table pointer - uint32_t inode; // index node: the inode number for this file. This is only valid for data files, and should be 0 for directories and the RTC device file - int32_t file_pos; // file position: A “file position” member that keeps track of where the user is currently reading from in the file. Every read system call should update this member. - int32_t flags; // A “flags” member for, among other things, marking this file descriptor as “in-use.” 0 - not, 1 - in use -} file_desc_t; - - -typedef struct pcb { // Process Control Block - file_desc_t file_descs[MAX_PCB_FILES]; - int8_t args[NUM_CHARS + 1]; // Consider '\0', so +1 - uint32_t esp; - uint32_t ebp; - uint32_t esp_s; // for scheduler - uint32_t ebp_s; // for scheduler - int32_t parent_pid; - int32_t curr_pid; - int32_t pid_in_t; - // pcb_t* parent; -} pcb_t; - -extern int32_t halt (uint8_t status); -extern int32_t execute (const uint8_t* command); -extern int32_t read (int32_t fd, void* buf, int32_t nbytes); -extern int32_t write (int32_t fd, const void* buf, int32_t nbytes); -extern int32_t open (const uint8_t* filename); -extern int32_t close (int32_t fd); -extern int32_t getargs (uint8_t* buf, int32_t nbytes); -extern int32_t vidmap (uint8_t** screen_start); -extern int32_t set_handler (int32_t signum, void* handler_address); -extern int32_t sigreturn (void); -void pid_init(); -extern uint8_t vid_tid; -extern uint8_t curr_schedule; -int32_t pids[MAX_PROCESS]; -int32_t tid_pids[MAX_SHELL][MAX_PROCESS]; - -#endif diff --git a/mp3-LOS/student-distrib/terminal_driver.c b/mp3-LOS/student-distrib/terminal_driver.c deleted file mode 100644 index 31dc97c..0000000 --- a/mp3-LOS/student-distrib/terminal_driver.c +++ /dev/null @@ -1,293 +0,0 @@ -#include "terminal_driver.h" - -#define NUM_CHARS 128 -int of_flag = 0; -int t1_flag = 0; -int t2_flag = 0; -extern uint8_t curr_tid; -typedef struct { - char keys[NUM_CHARS]; - uint8_t first; - uint8_t last; -} key_buffer_t; - -// typedef struct { -// char keys[NUM_CHARS]; -// uint8_t first; -// uint8_t last; -// uint8_t count; // Track number of elements in the buffer -// } key_buffer_t; -key_buffer_t key_buffer; - -// extern struct key_buffer_t* key_buffer; - -/* - * terminal_open - * Opens the terminal and clears the keyboard bugger - * Inputs: None - * Outputs: 0 - * Side Effects: Initializes terminal - * Coverage: - * Files: terminal_driver.c./h - */ -int terminal_open() { - - key_buffer_clear(); - return 0; -} - -/* - * terminal_close - * Closes the terminal - * Inputs: None - * Outputs: 0 - * Side Effects: Closes the terminal and returns 0 - * Coverage: - * Files: terminal_driver.c./h - */ -int terminal_close() { - return 0; -} - -/* - * terminal_write - * Write to the terminal by reading from the buffer - * Inputs: None - * Outputs: n - - * Side Effects: Closes the terminal and returns 0 - * Coverage: - * Files: terminal_driver.c./h - */ -int terminal_write(int fd, char* buf, int n) { - int i; - cli(); - for (i = 0; i < n; i++) { - if (buf[i] != (char) 0) putc(buf[i]); - // else break; - } - sti(); - - return i; -} - -/* - * terminal_read - * Reads from the keyboard buffer into the terminal buffer - * Inputs: None - * Outputs: c - bytes read - * Side Effects: Writes into the terminal buffer - * Coverage: - * Files: terminal_driver.c./h - */ -int terminal_read(int fd, char* buf, int n) { - int i; - - key_buffer_clear(); - // char *cmd = "pingpong\n"; - // for(i= 0; i < 9; i++) key_buffer.keys[i] = cmd[i]; - // key_buffer.last = 9; - // char *cmd = "fish\n"; - // for(i= 0; i < 5; i++) key_buffer.keys[i] = cmd[i]; - // key_buffer.last = 5; - //Wait until a command has been entered - // char *cmd = "fish\n"; - // for(i= 0; i < 5; i++) key_buffer.keys[i] = cmd[i]; - // key_buffer.last = 5; - - while(1) if (key_buffer.keys[key_buffer.last - 1] == '\n') break; - if (strncmp((int8_t*)key_buffer.keys,(int8_t*)"clear",5) == 0) { - clear(); - key_buffer_clear(); - } - //Copy KBD buffer into passed buffer - for (i = 0; i < key_buffer.last; i++) { - if (i == n - 1) break; //Only read up to n characters - buf[i] = key_buffer.keys[i]; - - } - key_buffer_clear(); - return i; -} - -/* - * key_buffer_push - * Push into the keyboard buffer - * Inputs: None - * Outputs: 0 - success - * -1 - fail - * Side Effects: Writes into the keyboard buffer - * Coverage: - * Files: terminal_driver.c./h - */ -int key_buffer_push(char c) { - //OVERFLOW CHECK - if (of_flag == 0) { - if (key_buffer.last == NUM_CHARS) { - of_flag = 1; - // key_buffer.last--; - // printf("KEYBOARD BUFFER OVERFLOW! Clearing Buffer...\n"); - // key_buffer_clear(); - return -1; - } - - //No Overflow, add character to KBD buffer - else { - putc(c); - if(c == ASCII_BACKSPACE){ - if (key_buffer.last == 0) return 0; - key_buffer.last--; - key_buffer.keys[key_buffer.last] = '\0'; - } - else { - key_buffer.keys[key_buffer.last] = c; - key_buffer.last++; - } - } - } else { - if(c == ASCII_BACKSPACE) { - putc(c); - if (key_buffer.last == 0) return 0; - key_buffer.last--; - key_buffer.keys[key_buffer.last] = '\0'; - of_flag = 0; - } - else if (c == ASCII_ENTER) { - putc(c); - key_buffer.last--; - key_buffer.keys[key_buffer.last] = c; - key_buffer.last++; - of_flag = 0; - } - } - return 0; -} - - -/* - * key_buffer_clear - * Clears the keyboard buffer - * Inputs: None - * Outputs: None - * Side Effects: Removes all values from the keyboard buffer - * Coverage: - * Files: terminal_driver.c./h - */ -void key_buffer_clear() { - int i; - for (i = 0; i < NUM_CHARS; i++) {key_buffer.keys[i] = '\0';} - key_buffer.last = 0; -} - -// terminal bad func open -int32_t terminal_bad_open(const uint8_t* filename) { - return -1; -} -// terminal bad func close -int32_t terminal_bad_close(int32_t fd) { - return -1; -} -// terminal bad func read -int32_t terminal_bad_read(int32_t fd, void* buf, int32_t nbyte){ - return -1; -} -// terminal bad func write -int32_t terminal_bad_write(int32_t fd, const void* buf, int32_t nbyte){ - return -1; -} - -/* - * terminal_switch - * switch terminal by terminal id (tid) - * Inputs: tid - * Outputs: None - * Side Effects: switch to new terminal, reserve old - */ -void terminal_switch(uint8_t tid){ - - if(tid >= MAX_TERMINAL || tid == curr_tid) return; - - - register uint32_t ebp_value asm("ebp"); - register uint32_t esp_value asm("esp"); - uint32_t cur_pid = (SIZE_8MB - esp_value) / SIZE_8KB; - pcb_t* cur_pcb = (pcb_t*)(SIZE_8MB - (cur_pid + 1) * SIZE_8KB); - pcb_t* next_pcb; - cur_pcb->ebp_s = ebp_value; - - memcpy((void*)terminal_pages[curr_tid],(void*)VIDEO_ADDR, SIZE_4KB); - memcpy((void*)VIDEO_ADDR, (void*)terminal_pages[tid], SIZE_4KB); - - curr_tid = tid; - - // if (terminals[curr_tid].screen_x == 0 && terminals[curr_tid].screen_y == 0) printf("====== TERMINAL %d ======\n391OS> ", curr_tid); - update_cursor(terminals[curr_tid].cursor_x, terminals[curr_tid].cursor_y); - int i; - - if(tid == 1 && t1_flag == 0){ - t1_flag = 1; - for (i = 0; i < NUM_ROWS; i++) printf("\n"); - terminals[tid].screen_x = 0; - terminals[tid].screen_y = 0; - terminals[tid].cursor_x = 0; - terminals[tid].cursor_y = 0; - execute((uint8_t*)"shell"); - - } - - if(tid == 2 && t2_flag == 0){ - t2_flag = 1; - for (i = 0; i < NUM_ROWS; i++) printf("\n"); - terminals[tid].screen_x = 0; - terminals[tid].screen_y = 0; - terminals[tid].cursor_x = 0; - terminals[tid].cursor_y = 0; - execute((uint8_t*)"shell"); - - } - - int32_t next_pid; - int j; - for (j = 0; j < MAX_PROCESS; j++) { - if (tid_pids[curr_tid][j] == -1) - break; - } - next_pid = tid_pids[curr_tid][j-1]; - - - next_pcb = (pcb_t*)(SIZE_8MB - (next_pid+ 1) * SIZE_8KB); - - // map virtual program image (128MB) to physical user program (shell# 8MB-12MB-16MB) - SET_PDE(page_dir, PROG_START/SIZE_4MB, 1, 1, 0, (SIZE_8MB + (next_pid * SIZE_4MB)) / SIZE_4KB); - - /* Flush TLB */ - flush_tlb(page_dir); - // Write Parent Process Info Back into TSS - tss.ss0 = KERNEL_DS; - tss.esp0 = (uint32_t)(SIZE_8MB - (next_pid) * SIZE_TASK) - 4; - asm volatile(" \n\ - movl %0, %%ebp \n\ - leave \n\ - ret" - : /* no output */ - : "r" (next_pcb->ebp_s) - :"ebp"); -} -/* - * terminal_init - * initialize the terminal struct - * Inputs: None - * Outputs: 0 - * Side Effects: initialize the terminal and returns 0 - */ -int terminal_init() { - int i; - for(i = 0; i < MAX_TERMINAL; i++) { - terminals[i].tid = i; - terminals[i].screen_x = 0; - terminals[i].screen_y = 0; - terminals[i].cursor_x = 0; - terminals[i].cursor_y = 1; - } - - return 0; -} diff --git a/mp3-LOS/student-distrib/terminal_driver.h b/mp3-LOS/student-distrib/terminal_driver.h deleted file mode 100644 index ddee987..0000000 --- a/mp3-LOS/student-distrib/terminal_driver.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef _TERMINAL_DRIVER_H -#define _TERMINAL_DRIVER_H - -#include "types.h" -#include "keyboard.h" -#include "lib.h" -#include "system_calls.h" -#include "paging.h" -#include "scheduler.h" - -#define MAX_TERMINAL 3 -#define MAX_CHARS 128 -#define NUM_IN_PAGE 1024 -#define NUM_COLS 80 -#define NUM_ROWS 25 - -typedef struct terminal_desc { - int screen_x; - int screen_y; - int cursor_x; - int cursor_y; - int tid; -} terminal_desc_t; - -terminal_desc_t terminals[MAX_TERMINAL]; -uint8_t terminal_pages[MAX_TERMINAL][4096]; - -int terminal_init(); // checkpoint 5 -int terminal_open(); -int terminal_close(); -int terminal_write(int fd, char* buf, int n); -int terminal_read(int fd, char* buf, int n); -int key_buffer_push(char c); -void key_buffer_clear(); - -// terminal bad func -int32_t terminal_bad_open(const uint8_t* filename); -int32_t terminal_bad_close(int32_t fd); -int32_t terminal_bad_read(int32_t fd, void* buf, int32_t nbyte); -int32_t terminal_bad_write(int32_t fd, const void* buf, int32_t nbyte); - -// terminal switch -void terminal_switch(uint8_t tid); -extern int of_flag; -// extern int t1_flag; -// extern int t2_flag; - -#endif diff --git a/mp3-LOS/student-distrib/tests.c b/mp3-LOS/student-distrib/tests.c deleted file mode 100644 index 2158710..0000000 --- a/mp3-LOS/student-distrib/tests.c +++ /dev/null @@ -1,507 +0,0 @@ -#include "tests.h" -#include "x86_desc.h" -#include "lib.h" -#include "rtc.h" -#include "filesys.h" -#include "terminal_driver.h" -#include "keyboard.h" - -#define PASS 1 -#define FAIL 0 - -/* format these macros as you see fit */ -#define TEST_HEADER \ - printf("[TEST %s] Running %s at %s:%d\n", __FUNCTION__, __FUNCTION__, __FILE__, __LINE__) -#define TEST_OUTPUT(name, result) \ - printf("[TEST %s] Result = %s\n", name, (result) ? "PASS" : "FAIL"); - -static inline void assertion_failure(){ - /* Use exception #15 for assertions, otherwise - reserved by Intel */ - asm volatile("int $15"); -} - - -/* Checkpoint 1 tests */ - -/* IDT Test - Example - * - * Asserts that first 10 IDT entries are not NULL - * Inputs: None - * Outputs: PASS/FAIL - * Side Effects: None - * Coverage: Load IDT, IDT definition - * Files: x86_desc.h/S - */ -int idt_test(){ - TEST_HEADER; - - int i; - int result = PASS; - for (i = 0; i < 10; ++i){ - if ((idt[i].offset_15_00 == NULL) && - (idt[i].offset_31_16 == NULL)){ - assertion_failure(); - result = FAIL; - } - } - - return result; -} - -// add more tests here - - -/* - * divide_error_test - * Assert that div 0 exception can be detected - * Inputs: None - * Outputs: FAIL - * Side Effects: None - * Coverage: divide_error exception, IDT - * Files: idt.c/h - */ -int divide_error_test(){ - TEST_HEADER; - - int a = 0; - int b; - b = 1 / a; - - return FAIL; -} - -/* - * paging_test - * return PASS if successfully dereference all - * Inputs: None - * Outputs: PASS - * Side Effects: None - * Coverage: paging - * Files: idt.c/h - */ -int paging_test() { - TEST_HEADER; - unsigned char* video_addr = (unsigned char*) 0xB8000; - unsigned char* video_addr_end = video_addr + 0x1000; - unsigned char* k_addr = (unsigned char*) 0x400000; - unsigned char* k_addr_end = (unsigned char*) 0x800000; - unsigned char* addr; - unsigned char test; - - - for (addr = video_addr; addr < video_addr_end; addr++) - test = (*addr); - - for (addr = k_addr; addr < k_addr_end; addr++) - test = (*addr); - - return PASS; -} - -/* - * breakpoint_test - * Check if breakpoint exception can successfully occur - * Inputs: None - * Outputs: FAIL - * Side Effects: None - * Coverage: breakpoint exception, IDT - * Files: idt.c/h - */ -int breakpoint_test(){ - TEST_HEADER; - asm("int $3"); - return FAIL; -} - -// /* -// * overflow_test -// * Check if overflow exception can successfully occur -// * Inputs: None -// * Outputs: FAIL -// * Side Effects: None -// * Coverage: overflow exception, IDT -// * Files: idt.c/h -// */ -// int overflow_test(){ -// -// return FAIL; -// } - -// /* -// * bound_test -// * Check if bound range exceeded exception can successfully occur -// * Inputs: None -// * Outputs: FAIL -// * Side Effects: None -// * Coverage: bound range exceeded exception, IDT -// * Files: idt.c/h -// */ -// int bound_test(){ -// asm("bound"); -// return FAIL; -// } - -int sim_test(){ - TEST_HEADER; - float a, b; - a = 0.0; - b= 1.23; - - b = b / a; - - return FAIL; -} - -int machine_test() { - TEST_HEADER; - - asm("int $18"); - - return FAIL; -} - -int missalignment_test() { - - TEST_HEADER; - - asm("int $17"); - - return FAIL; - -} - -int FPU_test() { - TEST_HEADER; - - asm("int $16"); - - return FAIL; -} - -// int Gen_Prot_test() { -// TEST_HEADER; - -// int("into"); - -// return FAIL; -// } - -int Stack_Seg_test() { - TEST_HEADER; - - asm("int $12"); - - return FAIL; -} - -int Seg_NP() { - TEST_HEADER; - - asm("int $11"); - - return FAIL; -} - -/* Checkpoint 2 tests */ -int Terminal_Write_Test() { - TEST_HEADER; - char* buffer; - - buffer = "Hello World\n"; - printf("Printing Hello World with terminal write...\n"); - // terminal_write(0, buffer, 11); - - if (terminal_write(0, buffer, 11) != 11) return FAIL; - if (terminal_write(0, buffer, 12) != 11) return FAIL; - if (terminal_write(0, buffer, 5) != 5) return FAIL; - - return PASS; - -} - - -int RTC_TEST(){ - printf("start write test"); - TEST_HEADER; - // uint8_t buf[4]; - int i; - // int x; - - // testing rtc_open - printf("\nrtc_open: should print at 2 Hz\n"); - uint8_t* file = NULL; // argument isnt used so initializing to NULL - rtc_open(file); - for(i = 0; i < 15; i++){ - while(rtc_read(0,NULL,0) != 1); - putc('1'); - } - printf("\n\n"); - - - // for(i = 0; i < 20; i++){ - // // printf("for %d", i); - // while(rtc_read(0,NULL,0) != 1); - // // while(!(num_interrupts_generated >= num_interrupts_needed)); - // putc('1'); - // } - // printf("\n"); - - printf("rtc_write: should print lines at each possible interrupt rate\n\n"); - uint32_t freq = 4; - printf("4 Hz: "); - rtc_write(0, &freq, 0); - // printf("end write test"); - - for(i = 0; i < 10; i++){ - while(rtc_read(0,NULL,0) != 1); - putc('2'); - } - printf("\n"); - - - freq = 8; - printf("8 Hz: "); - rtc_write(0, &freq, 0); - for( i = 0; i < 20; i++){ - if(rtc_read(0, NULL, 0) == 1); - putc('3'); - } - printf("\n"); - - - freq = 16; - printf("16 Hz: "); - rtc_write(0, &freq, 0) ; - for( i = 0; i < 30; i++){ - if(rtc_read(0, NULL, 0) == 1); - putc('4'); - } - printf("\n"); - - - freq = 32; - printf("32 Hz: "); - rtc_write(0, &freq, 0) ; - for( i = 0; i < 40; i++){ - if(rtc_read(0, NULL, 0) == 1); - putc('5'); - } - printf("\n"); - - - freq = 64; - printf("64 Hz: "); - rtc_write(0, &freq, 0) ; - for( i = 0; i < 50; i++){ - if(rtc_read(0, NULL, 0) == 1); - putc('6'); - } - printf("\n"); - - - freq = 128; - printf("128 Hz: "); - rtc_write(0, &freq, 0) ; - for( i = 0; i < 60; i++){ - if(rtc_read(0, NULL, 0) == 1); - putc('7'); - } - printf("\n"); - - - freq = 256; - printf("256 Hz: "); - rtc_write(0, &freq, 0) ; - for( i = 0; i < 70; i++){ - if(rtc_read(0, NULL, 0) == 1); - putc('8'); - } - printf("\n"); - - freq = 512; - printf("512 Hz: "); - rtc_write(0, &freq, 0) ; - for( i = 0; i < 72; i++){ - if(rtc_read(0, NULL, 0) == 1); - putc('9'); - } - printf("\n"); - - freq = 1024; - printf("1024 Hz: "); - rtc_write(0, &freq, 0) ; - for( i = 0; i < 71; i++){ - if(rtc_read(0, NULL, 0) == 1); - putc('0'); - } - printf("\n"); - - return PASS; - -} - - - -/* - * open_file_test - * return PASS if buffer file - * Inputs: None - * Outputs: PASS - * Side Effects: None - * Coverage: file system - * Files: filesys.c/h - */ -int open_file_test() { - if(fopen((uint8_t*)"ls") == 0) return PASS; - return FAIL; -} -/* - * close_file_test - * return PASS if buffer file - * Inputs: None - * Outputs: PASS - * Side Effects: None - * Coverage: file system - * Files: filesys.c/h - */ -int close_file_test() { - int32_t fd; - if(fclose(fd) == 0) return PASS; - return FAIL; -} - - -/* - * read_file_test - * return PASS if buffer file - * Inputs: None - * Outputs: PASS - * Side Effects: None - * Coverage: file system - * Files: filesys.c/h - */ -int read_file_test(){ - - TEST_HEADER; - int i = 0; - uint32_t len = 40960; - uint8_t buf[40960]; - // uint8_t* fname = (uint8_t*)"frame0.txt"; - // uint8_t* fname = (uint8_t*)"frame1.txt"; - //uint8_t* fname = (uint8_t*)"grep"; - // uint8_t* fname = (uint8_t*)"ls"; - uint8_t* fname = (uint8_t*)"verylargetextwithverylongname.tx"; - if (read_file_by_name(fname, buf, &len)) - - clear(); - for (i = 0; i < len; i++) { - //printf("%c",buf[i]); // works for \0 - putc(buf[i]); - } - // puts((int8_t*)buf); - printf("\n"); - printf("file_name: "); - puts((int8_t*)fname); - printf("\n"); - return PASS; - return FAIL; - -} - - -/* - * read_directory_test - * return PASS if read dir - * Inputs: None - * Outputs: PASS - * Side Effects: None - * Coverage: file system - * Files: filesys.c/h - */ -int read_directory_test(){ - TEST_HEADER; - int i,j; - - uint8_t buf[33]; - - // 63 is the max directory number in filesystem - printf("\n"); - for (i = 0; i < 63; i++){ - int count = 0; - int temp = 0; - uint32_t ftype; - uint32_t fsize; - if (read_directory(buf, i, &ftype, &fsize) == -1) - break; - printf("file_name:"); - buf[32] = '\0'; // indicate an end - printf((int8_t*)buf); - temp = fsize; - while (temp / 10) - { - count++; - temp /= 10; - } - // output entry - printf(", file_type:%d, file_size:", ftype); - count = 7 - count; // align - for (j = 0; j < count; j++) printf(" "); - printf("%d", fsize); - printf("\n"); - } - return PASS; -} - - -// int Terminal_Write_Incorrect_Bits() { -// TEST_HEADER; -// char* buffer; -// buffer = "hello"; -// terminal_open(); -// if (Terminal_Write(0, buffer, 99999) != 5) return FAIL; -// if (Terminal_Write(0, buffer, 1) != 1) return FAIL; -// terminal_close(); - -// return PASS; -// } - -/* Checkpoint 3 tests */ -/* Checkpoint 4 tests */ -/* Checkpoint 5 tests */ - - -/* Test suite entry point */ -void launch_tests(){ - // TEST_OUTPUT("idt_test", idt_test()); - // launch your tests here - // TEST_OUTPUT("divide_error_test", divide_error_test()); - // TEST_OUTPUT("paging_test", paging_test()); - // TEST_OUTPUT("breakpoint_test", breakpoint_test()); - //TEST_OUTPUT("overflow_test", overflow_test()); - // TEST_OUTPUT("bound_test", bound_test()); - // TEST_OUTPUT("Seg_NP_test", Seg_NP()); - // TEST_OUTPUT("SIM TEST", sim_test()); - // TEST_OUTPUT("Machine Test", machine_test()); - // TEST_OUTPUT("Misallighment Test", missalignment_test()); - // TEST_OUTPUT("FPU Test", FPU_test()); - // TEST_OUTPUT("Protection", Gen_Prot_test()); - // TEST_OUTPUT("Stack Segment Test", Stack_Seg_test()); - // TEST_OUTPUT("Segment Not presnt", Seg_NP()); - - //-----------CHECKPOINT 2------------// - //// TEST_OUTPUT("Terminal Write Incorrect Bits Test", Terminal_Write_Incorrect_Bits()); - - /* Checkpoint 2 tests */ - - //TEST_OUTPUT("open file test", open_file_test()); - //TEST_OUTPUT("close file test", close_file_test()); - TEST_OUTPUT("read file test", read_file_test()); - // TEST_OUTPUT("read directory test", read_directory_test()); - - - - // TEST_OUTPUT("rtc test", RTC_TEST()); - // TEST_OUTPUT("Basic Terminal Write", Terminal_Write_Test()); - -} diff --git a/mp3-LOS/student-distrib/tests.h b/mp3-LOS/student-distrib/tests.h deleted file mode 100644 index c004e22..0000000 --- a/mp3-LOS/student-distrib/tests.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef TESTS_H -#define TESTS_H - -// test launcher -void launch_tests(); - -#endif /* TESTS_H */ diff --git a/mp3-LOS/student-distrib/types.h b/mp3-LOS/student-distrib/types.h deleted file mode 100644 index 0c9fff0..0000000 --- a/mp3-LOS/student-distrib/types.h +++ /dev/null @@ -1,26 +0,0 @@ -/* types.h - Defines to use the familiar explicitly-sized types in this - * OS (uint32_t, int8_t, etc.). This is necessary because we don't want - * to include when building this OS - * vim:ts=4 noexpandtab - */ - -#ifndef _TYPES_H -#define _TYPES_H - -#define NULL 0 - -#ifndef ASM - -/* Types defined here just like in */ -typedef int int32_t; -typedef unsigned int uint32_t; - -typedef short int16_t; -typedef unsigned short uint16_t; - -typedef char int8_t; -typedef unsigned char uint8_t; - -#endif /* ASM */ - -#endif /* _TYPES_H */ diff --git a/mp3-LOS/student-distrib/x86_desc.S b/mp3-LOS/student-distrib/x86_desc.S deleted file mode 100644 index aedb458..0000000 --- a/mp3-LOS/student-distrib/x86_desc.S +++ /dev/null @@ -1,116 +0,0 @@ -# x86_desc.S - Set up x86 segment descriptors, descriptor tables -# vim:ts=4 noexpandtab - -#define ASM 1 -#include "x86_desc.h" - -.text - -.globl ldt_size, tss_size, gdt_size -.globl gdt_desc, ldt_desc, tss_desc -.globl tss, tss_desc_ptr, ldt, ldt_desc_ptr -.globl gdt_ptr -.globl idt_desc_ptr, idt - -.align 4 - -gdt_size: - .long gdt_bottom - gdt - 1 - -tss_size: - .long tss_bottom - tss - 1 - -ldt_size: - .long ldt_bottom - ldt - 1 - - .word 0 # Padding -ldt_desc: - .word KERNEL_LDT - .long ldt - - .align 4 -tss: -_tss: - .rept 104 - .byte 0 - .endr -tss_bottom: - - .align 16 -gdt: -_gdt: - - # First GDT entry cannot be used - .quad 0 - - # NULL entry - .quad 0 - - # Segmentation will not be used - # CS and DS both are 0-4GB r/w segments - # - # The layout is (from Intel IA-32 reference manual): - # 31 24 23 22 21 20 19 16 15 14 13 12 11 8 7 0 - # |----------------------------------------------------------------------| - # | | | D | | A | Seg | | D | | | | - # | Base 31:24 | G | / | 0 | V | Limit | P | P | S | Type | Base 23:16 | - # | | | B | | L | 19:16 | | L | | | | - # |----------------------------------------------------------------------| - # - # |----------------------------------------------------------------------| - # | | | - # | Base 15:0 | Segment Limit 15:0 | - # | | | - # |----------------------------------------------------------------------| - -gdt_ptr: - # Set up an entry for kernel CS - .quad 0x00CF9A000000FFFF - - # Set up an entry for kernel DS - .quad 0x00CF92000000FFFF - - # Set up an entry for user CS - .quad 0x00CFFA000000FFFF - - # Set up an entry for user DS - .quad 0x00CFF2000000FFFF - - # Set up an entry for TSS -tss_desc_ptr: - .quad 0 - - # Set up one LDT -ldt_desc_ptr: - .quad 0 - -gdt_bottom: - - .align 16 -ldt: - .rept 4 - .quad 0 - .endr -ldt_bottom: - -.align 4 - .word 0 # Padding - -gdt_desc: - .word gdt_bottom - gdt - 1 - .long gdt - - .align 16 -idt_desc_ptr: - .word idt_bottom - idt - 1 - .long idt - - - .align 16 -idt: -_idt: - .rept NUM_VEC - .quad 0 - .endr - -idt_bottom: diff --git a/mp3-LOS/student-distrib/x86_desc.h b/mp3-LOS/student-distrib/x86_desc.h deleted file mode 100644 index 5d37fcd..0000000 --- a/mp3-LOS/student-distrib/x86_desc.h +++ /dev/null @@ -1,220 +0,0 @@ -/* x86_desc.h - Defines for various x86 descriptors, descriptor tables, - * and selectors - * vim:ts=4 noexpandtab - */ - -#ifndef _X86_DESC_H -#define _X86_DESC_H - -#include "types.h" - -/* Segment selector values */ -#define KERNEL_CS 0x0010 -#define KERNEL_DS 0x0018 -#define USER_CS 0x0023 -#define USER_DS 0x002B -#define KERNEL_TSS 0x0030 -#define KERNEL_LDT 0x0038 - -/* Size of the task state segment (TSS) */ -#define TSS_SIZE 104 - -/* Number of vectors in the interrupt descriptor table (IDT) */ -#define NUM_VEC 256 - -#ifndef ASM - -/* This structure is used to load descriptor base registers - * like the GDTR and IDTR */ -typedef struct x86_desc { - uint16_t padding; - uint16_t size; - uint32_t addr; -} x86_desc_t; - -/* This is a segment descriptor. It goes in the GDT. */ -typedef struct seg_desc { - union { - uint32_t val[2]; - struct { - uint16_t seg_lim_15_00; - uint16_t base_15_00; - uint8_t base_23_16; - uint32_t type : 4; - uint32_t sys : 1; - uint32_t dpl : 2; - uint32_t present : 1; - uint32_t seg_lim_19_16 : 4; - uint32_t avail : 1; - uint32_t reserved : 1; - uint32_t opsize : 1; - uint32_t granularity : 1; - uint8_t base_31_24; - } __attribute__ ((packed)); - }; -} seg_desc_t; - -/* TSS structure */ -typedef struct __attribute__((packed)) tss_t { - uint16_t prev_task_link; - uint16_t prev_task_link_pad; - - uint32_t esp0; - uint16_t ss0; - uint16_t ss0_pad; - - uint32_t esp1; - uint16_t ss1; - uint16_t ss1_pad; - - uint32_t esp2; - uint16_t ss2; - uint16_t ss2_pad; - - uint32_t cr3; - - uint32_t eip; - uint32_t eflags; - - uint32_t eax; - uint32_t ecx; - uint32_t edx; - uint32_t ebx; - uint32_t esp; - uint32_t ebp; - uint32_t esi; - uint32_t edi; - - uint16_t es; - uint16_t es_pad; - - uint16_t cs; - uint16_t cs_pad; - - uint16_t ss; - uint16_t ss_pad; - - uint16_t ds; - uint16_t ds_pad; - - uint16_t fs; - uint16_t fs_pad; - - uint16_t gs; - uint16_t gs_pad; - - uint16_t ldt_segment_selector; - uint16_t ldt_pad; - - uint16_t debug_trap : 1; - uint16_t io_pad : 15; - uint16_t io_base_addr; -} tss_t; - -/* Some external descriptors declared in .S files */ -extern x86_desc_t gdt_desc; - -extern uint16_t ldt_desc; -extern uint32_t ldt_size; -extern seg_desc_t ldt_desc_ptr; -extern seg_desc_t gdt_ptr; -extern uint32_t ldt; - -extern uint32_t tss_size; -extern seg_desc_t tss_desc_ptr; -extern tss_t tss; - -/* Sets runtime-settable parameters in the GDT entry for the LDT */ -#define SET_LDT_PARAMS(str, addr, lim) \ -do { \ - str.base_31_24 = ((uint32_t)(addr) & 0xFF000000) >> 24; \ - str.base_23_16 = ((uint32_t)(addr) & 0x00FF0000) >> 16; \ - str.base_15_00 = (uint32_t)(addr) & 0x0000FFFF; \ - str.seg_lim_19_16 = ((lim) & 0x000F0000) >> 16; \ - str.seg_lim_15_00 = (lim) & 0x0000FFFF; \ -} while (0) - -/* Sets runtime parameters for the TSS */ -#define SET_TSS_PARAMS(str, addr, lim) \ -do { \ - str.base_31_24 = ((uint32_t)(addr) & 0xFF000000) >> 24; \ - str.base_23_16 = ((uint32_t)(addr) & 0x00FF0000) >> 16; \ - str.base_15_00 = (uint32_t)(addr) & 0x0000FFFF; \ - str.seg_lim_19_16 = ((lim) & 0x000F0000) >> 16; \ - str.seg_lim_15_00 = (lim) & 0x0000FFFF; \ -} while (0) - -/* An interrupt descriptor entry (goes into the IDT) */ -typedef union idt_desc_t { - uint32_t val[2]; - struct { - uint16_t offset_15_00; - uint16_t seg_selector; - uint8_t reserved4; - uint32_t reserved3 : 1; - uint32_t reserved2 : 1; - uint32_t reserved1 : 1; - uint32_t size : 1; - uint32_t reserved0 : 1; - uint32_t dpl : 2; - uint32_t present : 1; - uint16_t offset_31_16; - } __attribute__ ((packed)); -} idt_desc_t; - -/* The IDT itself (declared in x86_desc.S */ -extern idt_desc_t idt[NUM_VEC]; -/* The descriptor used to load the IDTR */ -extern x86_desc_t idt_desc_ptr; - -/* Sets runtime parameters for an IDT entry */ -#define SET_IDT_ENTRY(str, handler) \ -do { \ - str.offset_31_16 = ((uint32_t)(handler) & 0xFFFF0000) >> 16; \ - str.offset_15_00 = ((uint32_t)(handler) & 0xFFFF); \ - str.present = 1; \ -} while (0) - -/* Load task register. This macro takes a 16-bit index into the GDT, - * which points to the TSS entry. x86 then reads the GDT's TSS - * descriptor and loads the base address specified in that descriptor - * into the task register */ -#define ltr(desc) \ -do { \ - asm volatile ("ltr %w0" \ - : \ - : "r" (desc) \ - : "memory", "cc" \ - ); \ -} while (0) - -/* Load the interrupt descriptor table (IDT). This macro takes a 32-bit - * address which points to a 6-byte structure. The 6-byte structure - * (defined as "struct x86_desc" above) contains a 2-byte size field - * specifying the size of the IDT, and a 4-byte address field specifying - * the base address of the IDT. */ -#define lidt(desc) \ -do { \ - asm volatile ("lidt (%0)" \ - : \ - : "g" (desc) \ - : "memory" \ - ); \ -} while (0) - -/* Load the local descriptor table (LDT) register. This macro takes a - * 16-bit index into the GDT, which points to the LDT entry. x86 then - * reads the GDT's LDT descriptor and loads the base address specified - * in that descriptor into the LDT register */ -#define lldt(desc) \ -do { \ - asm volatile ("lldt %%ax" \ - : \ - : "a" (desc) \ - : "memory" \ - ); \ -} while (0) - -#endif /* ASM */ - -#endif /* _x86_DESC_H */ diff --git a/mp3-LOS/syscalls/Makefile b/mp3-LOS/syscalls/Makefile deleted file mode 100644 index e59b153..0000000 --- a/mp3-LOS/syscalls/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -CFLAGS += -Wall -nostdlib -ffreestanding -LDFLAGS += -nostdlib -ffreestanding -CC = gcc - -ALL: cat grep hello ls pingpong counter shell sigtest testprint syserr - -%.o: %.c - $(CC) $(CFLAGS) -c -o $@ $< - -%.o: %.S - $(CC) $(CFLAGS) -c -Wall -o $@ $< - -%.exe: ece391%.o ece391syscall.o ece391support.o - $(CC) $(LDFLAGS) -o $@ $^ - -%: %.exe - ../elfconvert $< - mv $<.converted to_fsdir/$@ - -clean:: - rm -f *~ *.o - -clear: clean - rm -f *.converted - rm -f *.exe - rm -f to_fsdir/* diff --git a/mp3-LOS/syscalls/ece391cat.c b/mp3-LOS/syscalls/ece391cat.c deleted file mode 100644 index 56fdf69..0000000 --- a/mp3-LOS/syscalls/ece391cat.c +++ /dev/null @@ -1,32 +0,0 @@ -#include - -#include "ece391support.h" -#include "ece391syscall.h" - -int main () -{ - int32_t fd, cnt; - uint8_t buf[1024]; - - if (0 != ece391_getargs (buf, 1024)) { - ece391_fdputs (1, (uint8_t*)"could not read arguments\n"); - return 3; - } - - if (-1 == (fd = ece391_open (buf))) { - ece391_fdputs (1, (uint8_t*)"file not found\n"); - return 2; - } - - while (0 != (cnt = ece391_read (fd, buf, 1024))) { - if (-1 == cnt) { - ece391_fdputs (1, (uint8_t*)"file read failed\n"); - return 3; - } - if (-1 == ece391_write (1, buf, cnt)) - return 3; - } - - return 0; -} - diff --git a/mp3-LOS/syscalls/ece391counter.c b/mp3-LOS/syscalls/ece391counter.c deleted file mode 100644 index 8933439..0000000 --- a/mp3-LOS/syscalls/ece391counter.c +++ /dev/null @@ -1,45 +0,0 @@ -#include - -#include "ece391support.h" -#include "ece391syscall.h" - -#define BUFSIZE 1024 - -int main () -{ - uint32_t i, cnt, max = 0; - uint8_t buf[BUFSIZE]; - - ece391_fdputs(1, (uint8_t*)"Enter the Test Number: (0): 100, (1): 10000, (2): 100000\n"); - if (-1 == (cnt = ece391_read(0, buf, BUFSIZE-1)) ) { - ece391_fdputs(1, (uint8_t*)"Can't read the number from keyboard.\n"); - return 3; - } - buf[cnt] = '\0'; - - if ((ece391_strlen(buf) > 2) || ((ece391_strlen(buf) == 2) && ((buf[0] < '0') || (buf[0] > '2')))) { - ece391_fdputs(1, (uint8_t*)"Wrong Choice!\n"); - return 0; - } else { - switch (buf[0]) { - case '0': - max = 100; - break; - case '1': - max = 10000; - break; - case '2': - max = 100000; - break; - } - } - - for (i = 0; i < max; i++) { - ece391_itoa(i+1, buf, 10); - ece391_fdputs(1, buf); - ece391_fdputs(1, (uint8_t*)"\n"); - } - - return 0; -} - diff --git a/mp3-LOS/syscalls/ece391emulate.c b/mp3-LOS/syscalls/ece391emulate.c deleted file mode 100644 index 76a422a..0000000 --- a/mp3-LOS/syscalls/ece391emulate.c +++ /dev/null @@ -1,227 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#include "ece391support.h" -#include "ece391syscall.h" -#include "ece391sysnum.h" - - -static uint32_t start_esp; -static int32_t dir_fd = -1; -static DIR* dir = NULL; - - -/* - * (copied from the real system call support) - * - * Rather than create a case for each number of arguments, we simplify - * and use one macro for up to three arguments; the system calls should - * ignore the other registers, and they're caller-saved anyway. - */ -#define DO_CALL(name,number) \ -asm volatile (" \ -.GLOBL " #name " ;\ -" #name ": ;\ - PUSHL %EBX ;\ - MOVL $" #number ",%EAX ;\ - MOVL 8(%ESP),%EBX ;\ - MOVL 12(%ESP),%ECX ;\ - MOVL 16(%ESP),%EDX ;\ - INT $0x80 ;\ - CMP $0xFFFFC000,%EAX ;\ - JBE 1f ;\ - MOVL $-1,%EAX ;\ -1: POPL %EBX ;\ - RET \ -") - -/* these wrappers require no changes */ -extern int32_t __ece391_read (int32_t fd, void* buf, int32_t nbytes); -extern int32_t __ece391_write (int32_t fd, const void* buf, int32_t nbytes); -extern int32_t __ece391_close (int32_t fd); -void fake_function () { -DO_CALL(ece391_halt,1 /* SYS_HALT */); -DO_CALL(__ece391_read,3 /* SYS_READ */); -DO_CALL(__ece391_write,4 /* SYS_WRITE */); -DO_CALL(__ece391_close,6 /* SYS_CLOSE */); - -/* Call the main() function, then halt with its return value. */ - -asm volatile (" \n\ -.GLOBAL _start \n\ -_start: \n\ - MOVL %ESP,start_esp \n\ - CALL main \n\ - PUSHL %EAX \n\ - CALL ece391_halt \n\ -"); - -/* end of fake container function */ -} - -int32_t -ece391_execute (const uint8_t* command) -{ - int status; - uint8_t buf[1026]; - char* args[1024]; - uint8_t* scan; - uint32_t n_arg; - - if (1023 < ece391_strlen (command)) - return -1; - buf[0] = '.'; - buf[1] = '/'; - ece391_strcpy (buf + 2, command); - for (scan = buf + 2; '\0' != *scan && ' ' != *scan && '\n' != *scan; - scan++); - args[0] = (char*)buf; - n_arg = 1; - if ('\0' != *scan) { - *scan++ = '\0'; - /* parse arguments */ - while (1) { - while (' ' == *scan) scan++; - if ('\0' == *scan || '\n' == *scan) { - *scan = '\0'; - break; - } - args[n_arg++] = (char*)scan; - while ('\0' != *scan && ' ' != *scan && '\n' != *scan) scan++; - if ('\0' != *scan) - *scan++ = '\0'; - } - } - args[n_arg] = NULL; - if (0 == fork ()) { - execv ((char*)buf, args); - kill (getpid (), 9); - } - (void)wait (&status); - if (WIFEXITED (status)) - return WEXITSTATUS (status); - if (9 == WTERMSIG (status)) - return -1; - return 256; -} - -int32_t -ece391_open (const uint8_t* filename) -{ - uint32_t rval; - - if (0 == ece391_strcmp (filename, (uint8_t*)".")) { - dir = opendir ("."); - dir_fd = open ("/dev/null", O_RDONLY); - return dir_fd; - } - - asm volatile ("INT $0x80" : "=a" (rval) : - "a" (5), "b" (filename), "c" (O_RDONLY)); - if (rval > 0xFFFFC000) - return -1; - return rval; -} - -int32_t -ece391_getargs (uint8_t* buf, int32_t nbytes) -{ - int32_t argc = *(uint32_t*)start_esp; - uint8_t** argv = (uint8_t**)(start_esp + 4); - int32_t idx, len; - - idx = 1; - while (idx < argc) { - len = ece391_strlen (argv[idx]); - if (len > nbytes) - return -1; - ece391_strcpy (buf, argv[idx]); - buf += len; - nbytes -= len; - if (++idx >= argc) - break; - if (nbytes < 1) - return -1; - *buf++ = ' '; - nbytes--; - } - if (nbytes < 1) - return -1; - *buf = '\0'; - return 0; -} - -int32_t -ece391_vidmap (uint8_t** screen_start) -{ - static int mem_fd = -1; - void* mem_image; - - if(mem_fd == -1) { - mem_fd = open ("/dev/mem", O_RDWR); - } - - if ((mem_image = mmap((void*)0, 1024*1024, PROT_READ | PROT_WRITE, - MAP_SHARED, mem_fd, 0)) == MAP_FAILED) { - perror ("mmap low memory"); - return -1; - } - - *screen_start = (uint8_t*)(mem_image + 0xb8000); - return 0; -} - -int32_t -ece391_read (int32_t fd, void* buf, int32_t nbytes) -{ - struct dirent* de; - int32_t copied; - uint8_t* from; - uint8_t* to; - - if (NULL == dir || dir_fd != fd) - return __ece391_read (fd, buf, nbytes); - if (NULL == (de = readdir (dir))) - return 0; - to = buf; - from = (uint8_t*)de->d_name; - copied = 0; - while ('\0' != *from) { - *to++ = *from++; - if (++copied == nbytes) - return nbytes; - if (32 == copied) - return 32; - } - while (nbytes > copied && 32 > copied) { - *to++ = '\0'; - copied++; - } - return copied; -} - -int32_t -ece391_write (int32_t fd, const void* buf, int32_t nbytes) -{ - if (NULL == dir || dir_fd != fd) - return __ece391_write (fd, buf, nbytes); - return -1; -} - -int32_t -ece391_close (int32_t fd) -{ - if (NULL == dir || dir_fd != fd) - return __ece391_close (fd); - (void)closedir (dir); - dir = NULL; - (void)close (dir_fd); - dir_fd = -1; - return 0; -} - diff --git a/mp3-LOS/syscalls/ece391grep.c b/mp3-LOS/syscalls/ece391grep.c deleted file mode 100644 index 0ab27c4..0000000 --- a/mp3-LOS/syscalls/ece391grep.c +++ /dev/null @@ -1,97 +0,0 @@ -#include - -#include "ece391support.h" -#include "ece391syscall.h" - -#define BUFSIZE 1024 -#define SBUFSIZE 33 - -int32_t -do_one_file (const char* s, const char* fname) -{ - int32_t fd, cnt, last, line_start, line_end, check, s_len; - uint8_t data[BUFSIZE+1]; - - s_len = ece391_strlen ((uint8_t*)s); - if (-1 == (fd = ece391_open ((uint8_t*)fname))) { - ece391_fdputs (1, (uint8_t*)"file open failed\n"); - return -1; - } - last = 0; - while (1) { - cnt = ece391_read (fd, data + last, BUFSIZE - last); - if (-1 == cnt) { - ece391_fdputs (1, (uint8_t*)"file read failed\n"); - return -1; - } - last += cnt; - line_start = 0; - while (1) { - line_end = line_start; - while (line_end < last && '\n' != data[line_end]) - line_end++; - if ('\n' != data[line_end] && 0 != cnt && line_start != 0) { - /* copy from line_start to last down to 0 and fix last */ - data[line_end] = '\0'; - ece391_strcpy (data, data + line_start); - last -= line_start; - break; - } - /* search the line */ - data[line_end] = '\0'; - for (check = line_start; check < line_end; check++) { - if (s[0] == data[check] && - 0 == ece391_strncmp ((uint8_t*)(data + check), (uint8_t*)s, s_len)) { - ece391_fdputs (1, (uint8_t*)fname); - ece391_fdputs (1, (uint8_t*)":"); - ece391_fdputs (1, data + line_start); - ece391_fdputs (1, (uint8_t*)"\n"); - break; - } - } - line_start = line_end + 1; - if (line_start >= last) { - last = 0; - break; - } - } - if (0 == cnt) - break; - } - if (-1 == ece391_close (fd)) { - ece391_fdputs (1, (uint8_t*)"file close failed\n"); - return -1; - } - return 0; -} - -int main () -{ - int32_t fd, cnt; - uint8_t buf[SBUFSIZE]; - uint8_t search[BUFSIZE]; - - if (0 != ece391_getargs (search, BUFSIZE)) { - ece391_fdputs (1, (uint8_t*)"could not read argument\n"); - return 3; - } - - if (-1 == (fd = ece391_open ((uint8_t*)"."))) { - ece391_fdputs (1, (uint8_t*)"directory open failed\n"); - return 2; - } - - while (0 != (cnt = ece391_read (fd, buf, SBUFSIZE-1))) { - if (-1 == cnt) { - ece391_fdputs (1, (uint8_t*)"directory entry read failed\n"); - return 3; - } - if ('.' == buf[0]) /* a directory... */ - continue; - buf[cnt] = '\0'; - if (0 != do_one_file ((char*)search, (char*)buf)) - return 3; - } - - return 0; -} diff --git a/mp3-LOS/syscalls/ece391hello.c b/mp3-LOS/syscalls/ece391hello.c deleted file mode 100644 index 838d70b..0000000 --- a/mp3-LOS/syscalls/ece391hello.c +++ /dev/null @@ -1,24 +0,0 @@ -#include - -#include "ece391support.h" -#include "ece391syscall.h" - -#define BUFSIZE 1024 - -int main () -{ - int32_t cnt; - uint8_t buf[BUFSIZE]; - - ece391_fdputs (1, (uint8_t*)"Hi, what's your name? "); - if (-1 == (cnt = ece391_read (0, buf, BUFSIZE-1))) { - ece391_fdputs (1, (uint8_t*)"Can't read name from keyboard.\n"); - return 3; - } - buf[cnt] = '\0'; - ece391_fdputs (1, (uint8_t*)"Hello, "); - ece391_fdputs (1, buf); - - return 0; -} - diff --git a/mp3-LOS/syscalls/ece391ls.c b/mp3-LOS/syscalls/ece391ls.c deleted file mode 100644 index 98c81b8..0000000 --- a/mp3-LOS/syscalls/ece391ls.c +++ /dev/null @@ -1,29 +0,0 @@ -#include - -#include "ece391support.h" -#include "ece391syscall.h" - -#define SBUFSIZE 33 - -int main () -{ - int32_t fd, cnt; - uint8_t buf[SBUFSIZE]; - - if (-1 == (fd = ece391_open ((uint8_t*)"."))) { - ece391_fdputs (1, (uint8_t*)"directory open failed\n"); - return 2; - } - - while (0 != (cnt = ece391_read (fd, buf, SBUFSIZE-1))) { - if (-1 == cnt) { - ece391_fdputs (1, (uint8_t*)"directory entry read failed\n"); - return 3; - } - buf[cnt] = '\n'; - if (-1 == ece391_write (1, buf, cnt + 1)) - return 3; - } - - return 0; -} diff --git a/mp3-LOS/syscalls/ece391pingpong.c b/mp3-LOS/syscalls/ece391pingpong.c deleted file mode 100644 index 6dd7fcd..0000000 --- a/mp3-LOS/syscalls/ece391pingpong.c +++ /dev/null @@ -1,89 +0,0 @@ -#include - -#include "ece391support.h" -#include "ece391syscall.h" - -#define SCREENWIDTH 79 -#define ENDING 2 -#define BUFMAX SCREENWIDTH+ENDING -#define START 1 -#define STARTLOOP START+1 -#define LOOPMAX BUFMAX-ENDING-1 -#define STARTCHAR 'A' -#define ENDCHAR 'Z' - -int main () -{ - int32_t i = 0; - int32_t j = 0; - uint8_t curchar = STARTCHAR; - uint8_t update = 1; - int ret_val; - int garbage; - int rtc_fd; - uint8_t buf[BUFMAX]; - - // Clear buffer - for(i = 0; i < BUFMAX; i++) - buf[i]=' '; - - // Initialize buffer with walls - buf[BUFMAX-1]='\0'; - buf[BUFMAX-2]='\n'; - buf[BUFMAX-3]='|'; - buf[START]='|'; - - // Open and set RTC Frequency - rtc_fd = ece391_open((uint8_t*)"rtc"); - ret_val = 32; - ret_val = ece391_write(rtc_fd, &ret_val, 4); - - while(1) - { - // Move out - for(j = STARTLOOP; j < LOOPMAX; j++) - { - // Clear inner portion of world - for(i = STARTLOOP; i < LOOPMAX; i++) - { - buf[i]=' '; - } - - // Draw character - buf[j] = curchar; - ece391_fdputs (1, buf); - - // Wait for RTC tick - ece391_read(rtc_fd, &garbage, 4); - } - - // Bounce back - for(j = LOOPMAX - 1; j >= STARTLOOP; j--) - { - // Clear inner portion of the world - for(i = STARTLOOP; i < LOOPMAX; i++) - { - buf[i]=' '; - } - - // Draw character - buf[j] = curchar; - ece391_fdputs (1, buf); - - // Wait for RTC tick - ece391_read(rtc_fd, &garbage, 4); - } - - // Edge case on characters - if(curchar == ENDCHAR) - { - curchar = STARTCHAR; - } - else - { - // Update current character - curchar = curchar + update; - } - } - return 0; -} diff --git a/mp3-LOS/syscalls/ece391shell.c b/mp3-LOS/syscalls/ece391shell.c deleted file mode 100644 index 5bcc66f..0000000 --- a/mp3-LOS/syscalls/ece391shell.c +++ /dev/null @@ -1,36 +0,0 @@ -#include - -#include "ece391support.h" -#include "ece391syscall.h" - -#define BUFSIZE 1024 - -int main () -{ - int32_t cnt, rval; - uint8_t buf[BUFSIZE]; - ece391_fdputs (1, (uint8_t*)"Starting 391 Shell\n"); - - while (1) { - ece391_fdputs (1, (uint8_t*)"391OS> "); - if (-1 == (cnt = ece391_read (0, buf, BUFSIZE-1))) { - ece391_fdputs (1, (uint8_t*)"read from keyboard failed\n"); - return 3; - } - if (cnt > 0 && '\n' == buf[cnt - 1]) - cnt--; - buf[cnt] = '\0'; - if (0 == ece391_strcmp (buf, (uint8_t*)"exit")) - return 0; - if ('\0' == buf[0]) - continue; - rval = ece391_execute (buf); - if (-1 == rval) - ece391_fdputs (1, (uint8_t*)"no such command\n"); - else if (256 == rval) - ece391_fdputs (1, (uint8_t*)"program terminated by exception\n"); - else if (0 != rval) - ece391_fdputs (1, (uint8_t*)"program terminated abnormally\n"); - } -} - diff --git a/mp3-LOS/syscalls/ece391sigtest.c b/mp3-LOS/syscalls/ece391sigtest.c deleted file mode 100644 index 415f586..0000000 --- a/mp3-LOS/syscalls/ece391sigtest.c +++ /dev/null @@ -1,81 +0,0 @@ -#include - -#include "ece391support.h" -#include "ece391syscall.h" - -#define BUFSIZE 1024 - -static uint8_t charbuf; -static volatile uint8_t* badbuf = 0; -void segfault_sighandler (int signum); -void alarm_sighandler (int signum); - -int main () -{ - int32_t cnt; - uint8_t buf[BUFSIZE]; - - if (0 != ece391_getargs (buf, BUFSIZE)) { - ece391_fdputs (1, (uint8_t*)"could not read argument\n"); - return 3; - } - - if (buf[0] == '1') { - ece391_fdputs(1, (uint8_t*)"Installing signal handlers\n"); - ece391_set_handler(SEGFAULT, segfault_sighandler); - ece391_set_handler(ALARM, alarm_sighandler); - } - - ece391_fdputs (1, (uint8_t*)"Hi, what's your name? "); - if (-1 == (cnt = ece391_read (0, buf, BUFSIZE-1))) { - ece391_fdputs (1, (uint8_t*)"Can't read name from keyboard.\n"); - return 3; - } - - (*badbuf) = 1; - buf[cnt] = '\0'; - ece391_fdputs (1, (uint8_t*)"Hello, "); - ece391_fdputs (1, buf); - if (charbuf == 1) { - ece391_fdputs(1, (uint8_t*)"success\n"); - } else { - ece391_fdputs(1, (uint8_t*)"failure\n"); - } - - return 0; -} - -void -segfault_sighandler (int signum) -{ - char buf; - uint32_t* eax; - ece391_fdputs(1, (uint8_t*)"Segfault signal handler called, signum: "); - switch (signum) { - case 0: ece391_fdputs(1, (uint8_t*)"0\n"); break; - case 1: ece391_fdputs(1, (uint8_t*)"1\n"); break; - case 2: ece391_fdputs(1, (uint8_t*)"2\n"); break; - case 3: ece391_fdputs(1, (uint8_t*)"3\n"); break; - default: ece391_fdputs(1, (uint8_t*)"invalid\n"); break; - } - ece391_fdputs(1, (uint8_t*)"Press enter to continue...\n"); - ece391_read(0, &buf, 1); - badbuf = &charbuf; - eax = (uint32_t*)(&signum + 7); - *eax = (uint32_t)&charbuf; - - ece391_fdputs(1, (uint8_t*)"Signal handler returning\n"); -} - -void -alarm_sighandler (int signum) -{ - ece391_fdputs(1, (uint8_t*)"Alarm signal handler called, signum: "); - switch (signum) { - case 0: ece391_fdputs(1, (uint8_t*)"0\n"); break; - case 1: ece391_fdputs(1, (uint8_t*)"1\n"); break; - case 2: ece391_fdputs(1, (uint8_t*)"2\n"); break; - case 3: ece391_fdputs(1, (uint8_t*)"3\n"); break; - default: ece391_fdputs(1, (uint8_t*)"invalid\n"); break; - } -} diff --git a/mp3-LOS/syscalls/ece391support.c b/mp3-LOS/syscalls/ece391support.c deleted file mode 100644 index bdc9f45..0000000 --- a/mp3-LOS/syscalls/ece391support.c +++ /dev/null @@ -1,104 +0,0 @@ -#include - -#include "ece391support.h" -#include "ece391syscall.h" - -uint32_t ece391_strlen(const uint8_t* s) -{ - uint32_t len; - - for (len = 0; '\0' != *s; s++, len++); - return len; -} - -void ece391_strcpy(uint8_t* dst, const uint8_t* src) -{ - while ('\0' != (*dst++ = *src++)); -} - -void ece391_fdputs(int32_t fd, const uint8_t* s) -{ - (void)ece391_write (fd, s, ece391_strlen(s)); -} - -int32_t ece391_strcmp(const uint8_t* s1, const uint8_t* s2) -{ - while (*s1 == *s2) { - if (*s1 == '\0') - return 0; - s1++; - s2++; - } - return ((int32_t)*s1) - ((int32_t)*s2); -} - -int32_t ece391_strncmp(const uint8_t* s1, const uint8_t* s2, uint32_t n) -{ - if (0 == n) - return 0; - while (*s1 == *s2) { - if (*s1 == '\0' || --n == 0) - return 0; - s1++; - s2++; - } - return ((int32_t)*s1) - ((int32_t)*s2); -} - -/* Convert a number to its ASCII representation, with base "radix" */ -uint8_t* ece391_itoa(uint32_t value, uint8_t* buf, int32_t radix) -{ - static int8_t lookup[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - - uint8_t *newbuf = buf; - int32_t i; - uint32_t newval = value; - - /* Special case for zero */ - if(value == 0) { - buf[0]='0'; - buf[1]='\0'; - return buf; - } - - /* Go through the number one place value at a time, and add the - * correct digit to "newbuf". We actually add characters to the - * ASCII string from lowest place value to highest, which is the - * opposite of how the number should be printed. We'll reverse the - * characters later. */ - while (newval > 0) { - i = newval % radix; - *newbuf = lookup[i]; - newbuf++; - newval /= radix; - } - - /* Add a terminating NULL */ - *newbuf = '\0'; - - /* Reverse the string and return */ - return ece391_strrev(buf); -} - -/* In-place string reversal */ -uint8_t* ece391_strrev(uint8_t* s) -{ - register uint8_t tmp; - register int32_t beg = 0; - register int32_t end = ece391_strlen(s) - 1; - - if (end <= 0) { - return s; - } - - while (beg < end) { - tmp = s[end]; - s[end] = s[beg]; - s[beg] = tmp; - beg++; - end--; - } - - return s; -} - diff --git a/mp3-LOS/syscalls/ece391support.h b/mp3-LOS/syscalls/ece391support.h deleted file mode 100644 index 49db925..0000000 --- a/mp3-LOS/syscalls/ece391support.h +++ /dev/null @@ -1,13 +0,0 @@ -#if !defined(ECE391SUPPORT_H) -#define ECE391SUPPORT_H - -extern uint32_t ece391_strlen(const uint8_t* s); -extern void ece391_strcpy(uint8_t* dst, const uint8_t* src); -extern void ece391_fdputs(int32_t fd, const uint8_t* s); -extern int32_t ece391_strcmp(const uint8_t* s1, const uint8_t* s2); -extern int32_t ece391_strncmp(const uint8_t* s1, const uint8_t* s2, uint32_t n); -extern uint8_t *ece391_itoa(uint32_t value, uint8_t* buf, int32_t radix); -extern uint8_t *ece391_strrev(uint8_t* s); - -#endif /* ECE391SUPPORT_H */ - diff --git a/mp3-LOS/syscalls/ece391syscall.S b/mp3-LOS/syscalls/ece391syscall.S deleted file mode 100644 index a17c6b8..0000000 --- a/mp3-LOS/syscalls/ece391syscall.S +++ /dev/null @@ -1,41 +0,0 @@ -#include "ece391sysnum.h" - -/* - * Rather than create a case for each number of arguments, we simplify - * and use one macro for up to three arguments; the system calls should - * ignore the other registers, and they're caller-saved anyway. - */ -#define DO_CALL(name,number) \ -.GLOBL name ;\ -name: PUSHL %EBX ;\ - MOVL $number,%EAX ;\ - MOVL 8(%ESP),%EBX ;\ - MOVL 12(%ESP),%ECX ;\ - MOVL 16(%ESP),%EDX ;\ - INT $0x80 ;\ - POPL %EBX ;\ - RET - -/* the system call library wrappers */ -DO_CALL(ece391_halt,SYS_HALT) -DO_CALL(ece391_execute,SYS_EXECUTE) -DO_CALL(ece391_read,SYS_READ) -DO_CALL(ece391_write,SYS_WRITE) -DO_CALL(ece391_open,SYS_OPEN) -DO_CALL(ece391_close,SYS_CLOSE) -DO_CALL(ece391_getargs,SYS_GETARGS) -DO_CALL(ece391_vidmap,SYS_VIDMAP) -DO_CALL(ece391_set_handler,SYS_SET_HANDLER) -DO_CALL(ece391_sigreturn,SYS_SIGRETURN) - - -/* Call the main() function, then halt with its return value. */ - -.GLOBAL _start -_start: - CALL main - PUSHL $0 - PUSHL $0 - PUSHL %EAX - CALL ece391_halt - diff --git a/mp3-LOS/syscalls/ece391syscall.h b/mp3-LOS/syscalls/ece391syscall.h deleted file mode 100644 index bf029f3..0000000 --- a/mp3-LOS/syscalls/ece391syscall.h +++ /dev/null @@ -1,35 +0,0 @@ -#if !defined(ECE391SYSCALL_H) -#define ECE391SYSCALL_H - -#include - -/* All calls return >= 0 on success or -1 on failure. */ - -/* - * Note that the system call for halt will have to make sure that only - * the low byte of EBX (the status argument) is returned to the calling - * task. Negative returns from execute indicate that the desired program - * could not be found. - */ -extern int32_t ece391_halt (uint8_t status); -extern int32_t ece391_execute (const uint8_t* command); -extern int32_t ece391_read (int32_t fd, void* buf, int32_t nbytes); -extern int32_t ece391_write (int32_t fd, const void* buf, int32_t nbytes); -extern int32_t ece391_open (const uint8_t* filename); -extern int32_t ece391_close (int32_t fd); -extern int32_t ece391_getargs (uint8_t* buf, int32_t nbytes); -extern int32_t ece391_vidmap (uint8_t** screen_start); -extern int32_t ece391_set_handler (int32_t signum, void* handler); -extern int32_t ece391_sigreturn (void); - -enum signums { - DIV_ZERO = 0, - SEGFAULT, - INTERRUPT, - ALARM, - USER1, - NUM_SIGNALS -}; - -#endif /* ECE391SYSCALL_H */ - diff --git a/mp3-LOS/syscalls/ece391syserr.c b/mp3-LOS/syscalls/ece391syserr.c deleted file mode 100644 index 716ecc9..0000000 --- a/mp3-LOS/syscalls/ece391syserr.c +++ /dev/null @@ -1,346 +0,0 @@ -#include - -#include "ece391support.h" -#include "ece391syscall.h" - -#define NEG_FD -1073741823 -#define BIG_FD 1073741823 -#define BIG_NUM 1073741823 -#define NEG_NUM -1073741823 - -/* call_sys - * This function calls the system call #(num) - * num is the syscall number to be called - * returns 0 on success, -1 on failure - */ -int call_sys(int num) -{ - int fail; - asm volatile - ( - "movl %1, %%eax\n\t" - "int $0x80" - : "=a"(fail) - : "g"(num) - ); - return fail; -} - -/* TEST 1 err_neg_fd - * tries to call syscalls with file descriptor < 0 - * prints "[TEST_NAME]: PASS" if behavior is EXPECTED - * and then returns 0 - * prints "[TEST_NAME]: FAIL" if behavior is UNEXPECTED - * and then returns 2 - */ -int err_neg_fd(void) { - uint8_t buf[32]; - int fail = 0; - if (-1 != ece391_read(NEG_FD, buf, 31)) { - fail = 2; - ece391_fdputs (1, (uint8_t*)"read fail\n"); - } - if (-1 != ece391_write(NEG_FD, buf, 31)) { - fail = 2; - ece391_fdputs (1, (uint8_t*)"write fail\n"); - } - if (-1 != ece391_close(NEG_FD)) { - fail = 2; - ece391_fdputs (1, (uint8_t*)"close fail\n"); - } - if(fail) { - ece391_fdputs (1, (uint8_t*)"err_neg_fd: FAIL\n"); - } else { - ece391_fdputs (1, (uint8_t*)"err_neg_fd: PASS\n"); - } - - return fail; -} - - -/* TEST 2 err_big_fd - * tries to write to a file with file descriptor > 7 - * prints "[TEST_NAME]: PASS" if behavior is EXPECTED - * and then returns 0 - * prints "[TEST_NAME]: FAIL" if behavior is UNEXPECTED - * and then returns 2 - */ -int err_big_fd(void) { - uint8_t buf[32]; - int fail = 0; - if (-1 != ece391_read(BIG_FD, buf, 31)) { - fail = 2; - ece391_fdputs (1, (uint8_t*)"read fail\n"); - } - if (-1 != ece391_write(BIG_FD, buf, 31)) { - fail = 2; - ece391_fdputs (1, (uint8_t*)"write fail\n"); - } - if (-1 != ece391_close(BIG_FD)) { - fail = 2; - ece391_fdputs (1, (uint8_t*)"close fail\n"); - } - if(fail) { - ece391_fdputs (1, (uint8_t*)"err_big_fd: FAIL\n"); - } else { - ece391_fdputs (1, (uint8_t*)"err_big_fd: PASS\n"); - } - - return fail; -} - - -/* TEST 3 err_open_lots - * calls open correctly seven times - * prints "[TEST_NAME]: PASS" if behavior is EXPECTED - * and then returns 0 - * prints "[TEST_NAME]: FAIL" if behavior is UNEXPECTED - * and then returns 2 - */ -int err_open_lots(void) { - int32_t i, cnt = 0; - - // fd = 0,1 taken, so we should be able to open 6 files (2,3,4,5,6,7) - // the last file open should fail - for (i = 0; i < 7; i++) { - if (-1 == ece391_open ((uint8_t*)".")) { - cnt++; - } - } - //close all fds that were just opened. - for(i = 2; i < 8; i++) - { - ece391_close(i); - } - - if (cnt == 1) { - ece391_fdputs(1, (uint8_t*)"err_open_lots: PASS\n"); - return 0; - } else { - ece391_fdputs (1, (uint8_t*)"err_open_lots: FAIL\n"); - return 2; - } -} - - -/* TEST 4 err_open - * tries to open slightly incorrect filenames - * prints "[TEST_NAME]: PASS" if behavior is EXPECTED - * and then returns 0 - * prints "[TEST_NAME]: FAIL" if behavior is UNEXPECTED - * and then returns 2 - */ -int err_open(void) { - int fail = 0; // 0 if success, != 0 if fail - // test with string that matches filename with additional character - if (-1 != ece391_open ((uint8_t*)"helloo")) { - ece391_fdputs (1, (uint8_t*)"'helloo' fail\n"); - fail = 2; - } - - // test with string that is short of filename by one character - if (-1 != ece391_open ((uint8_t*)"shel")) { - ece391_fdputs (1, (uint8_t*)"'shel' fail\n"); - fail = 2; - } - - // test with empty string - if (-1 != ece391_open ((uint8_t*)"")) { - ece391_fdputs (1, (uint8_t*)"empty string fail\n"); - fail = 2; - } - - if (fail) { - ece391_fdputs (1, (uint8_t*)"err_open: FAIL\n"); - } else { - ece391_fdputs (1, (uint8_t*)"err_open: PASS\n"); - } - return fail; -} - - -/* TEST 5 err_unopened - * tries to close all fd. - * tries to read and write from unopened fd's 2-7 - * prints "[TEST_NAME]: PASS" if behavior is EXPECTED - * and then returns 0 - * prints "[TEST_NAME]: FAIL" if behavior is UNEXPECTED - * and then returns 2 - */ -int err_unopened(void) { - int fail = 0, i; - uint8_t buf[32]; - // try to close all fd's. 0 and 1 are stdin and stdout. The rest - // haven't been opened. Nothing should be able to be closed - for (i = 0; i < 8; i++) { - if (-1 != ece391_close(i)) { - ece391_fdputs (1, (uint8_t*)"close unopened or invalid fd fail\n"); - fail = 2; - } - } - for (i = 2; i < 8; i++) { - if (-1 != ece391_read(i, buf, 31)) { - ece391_fdputs (1, (uint8_t*)"read from unopened fd fail\n"); - fail = 2; - } - } - for (i = 2; i < 8; i++) { - if (-1 != ece391_write(i, buf, 31)) { - ece391_fdputs (1, (uint8_t*)"write to unopened fd fail\n"); - fail = 2; - } - } - if(fail) { - ece391_fdputs (1, (uint8_t*)"err_unopened: FAIL\n"); - } else { - ece391_fdputs (1, (uint8_t*)"err_unopened: PASS\n"); - } - return fail; -} - -/* TEST 6 err_vidmap - * tries to call vidmap with a NULL ptr and an address in the kernel - * prints "[TEST_NAME]: PASS" if behavior is EXPECTED - * and then returns 0 - * prints "[TEST_NAME]: FAIL" if behavior is UNEXPECTED - * and then returns 2 - */ -int err_vidmap(void) { - int fail = 0; // 0 if success, != 0 if fail - // test with NULL pointer - if (-1 != ece391_vidmap((uint8_t **) 0x0)) { - ece391_fdputs (1, (uint8_t*)"Null pointer fail\n"); - fail = 2; - } - - if (-1 != ece391_vidmap((uint8_t **) 0x400000)) { - ece391_fdputs (1, (uint8_t*)"Kernel pointer fail fail\n"); - fail = 2; - } - - if (fail) { - ece391_fdputs (1, (uint8_t*)"err_vidmap: FAIL\n"); - } else { - ece391_fdputs (1, (uint8_t*)"err_vidmap: PASS\n"); - } - - return fail; -} - -/* TEST 7 err_stdin_out - * write to stdin read from stdout - * prints "[TEST_NAME]: PASS" if behavior is EXPECTED - * and then returns 0 - * prints "[TEST_NAME]: FAIL" if behavior is UNEXPECTED - * and then returns 2 - */ - - int err_stdin_out(void) { - int fail = 0; - uint8_t buf[32]; - - if (-1 != ece391_write(0, buf, 31)) { - ece391_fdputs (1, (uint8_t*)"write to stdin fail\n"); - fail = 2; - } - - if (-1 != ece391_read(1, buf, 31)) { - ece391_fdputs (1, (uint8_t*)"read from stdout fail\n"); - fail = 2; - } - - if (fail) { - ece391_fdputs (1, (uint8_t*)"err_stdin_out: FAIL\n"); - } else { - ece391_fdputs (1, (uint8_t*)"err_stdin_out: PASS\n"); - } - - return fail; - } - - /* TEST 8 err_syscall_num - * call syscall 0, NEG_NUM, and BIG_NUM - * prints "[TEST_NAME]: PASS" if behavior is EXPECTED - * and then returns 0 - * prints "[TEST_NAME]: FAIL" if behavior is UNEXPECTED - * and then returns 2 - */ - - int err_syscall_num(void) - { - int fail = 0; - - if (-1 != call_sys(BIG_NUM)) { - ece391_fdputs (1, (uint8_t*)"syscall 0 fail\n"); - fail = 2; - } - if (-1 != call_sys(NEG_NUM)) { - ece391_fdputs (1, (uint8_t*)"big num syscall fail\n"); - fail = 2; - } - if (-1 != call_sys(0)) { - ece391_fdputs (1, (uint8_t*)"neg num syscall fail\n"); - fail = 2; - } - - if (fail) { - ece391_fdputs (1, (uint8_t*)"err_syscall_num: FAIL\n"); - } else { - ece391_fdputs (1, (uint8_t*)"err_syscall_num: PASS\n"); - } - - return fail; - } - - -int main () -{ - int32_t cnt, select; - uint8_t buf[128]; - int fail = 0; - - ece391_fdputs (1, (uint8_t*)"Choose from tests 1-8. 0 to run all: "); - if (-1 == (cnt = ece391_read (0, buf, 127))) { - ece391_fdputs (1, (uint8_t*)"Can't read test #\n"); - return 2; - } - select = (int)(buf[0] - '0'); - - switch(select) { - case 0: - fail += err_neg_fd(); - fail += err_big_fd(); - fail += err_open_lots(); - fail += err_open(); - fail += err_unopened(); - fail += err_vidmap(); - fail += err_stdin_out(); - fail += err_syscall_num(); - if(fail) { - ece391_fdputs (1, (uint8_t*)"\nOverall Tests: FAIL\n"); - } else { - ece391_fdputs (1, (uint8_t*)"\nOverall Tests: PASS\n"); - } - return fail; - case 1: - return err_neg_fd(); - case 2: - return err_big_fd(); - case 3: - return err_open_lots(); - case 4: - return err_open(); - case 5: - return err_unopened(); - case 6: - return err_vidmap(); - case 7: - return err_stdin_out(); - case 8: - return err_syscall_num(); - default: - ece391_fdputs (1, (uint8_t*)"Invalid test number. Choose from tests 1-8 or 0"); - break; - } - return 0; -} diff --git a/mp3-LOS/syscalls/ece391sysnum.h b/mp3-LOS/syscalls/ece391sysnum.h deleted file mode 100644 index 052f3b2..0000000 --- a/mp3-LOS/syscalls/ece391sysnum.h +++ /dev/null @@ -1,15 +0,0 @@ -#if !defined(ECE391SYSNUM_H) -#define ECE391SYSNUM_H - -#define SYS_HALT 1 -#define SYS_EXECUTE 2 -#define SYS_READ 3 -#define SYS_WRITE 4 -#define SYS_OPEN 5 -#define SYS_CLOSE 6 -#define SYS_GETARGS 7 -#define SYS_VIDMAP 8 -#define SYS_SET_HANDLER 9 -#define SYS_SIGRETURN 10 - -#endif /* ECE391SYSNUM_H */ diff --git a/mp3-LOS/syscalls/ece391testprint.c b/mp3-LOS/syscalls/ece391testprint.c deleted file mode 100644 index 2f7bb12..0000000 --- a/mp3-LOS/syscalls/ece391testprint.c +++ /dev/null @@ -1,13 +0,0 @@ -#include - -#include "ece391support.h" -#include "ece391syscall.h" - -int main () -{ - - ece391_fdputs (1, (uint8_t*)"Hello, if this ran, the program was correct. Yay!\n"); - - return 0; -} - diff --git a/mp3-LOS/syscalls/to_fsdir/cat b/mp3-LOS/syscalls/to_fsdir/cat deleted file mode 100644 index aa7ac9b6eabeeb96cba1498d185761ced943b180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5445 zcmeHGO=}ZT6n)c7by@<+Mi6xoA%bos)u^pIwXc4qwP_o*YK350vDg-CW+52cIt^qP z3NGv)@IM%W8)GXCMTK_ZP87vLN`hDj80hGD?wh2RB%pg|;LYTnd)~SCp8GPzLtT<2 zvFg*rT#R;4AInM*-w(}pB*=V-9ApY>7IA@2%L>DCfkR7By-dV?*!bpUh1LO(Y3-mx zh=;xcV&4v83_Vv4U&y476;hCZzV6GEyeCLv-P0P|{fBq55OlIT$Om0?I zbcA!VpDNGqX#zc&2hD};dX^NoPVECl=OrysveXBe&oxIsA!;9m23t?!r6tOix<9i~ z!+gHQq$Gu#1}~!qrIKh{HS?qa3HP6p3ITMZZ0iPegO{kOFxWaTBPmmp_6Z=&5beyo zCMO1m=A!0ee};NBZuk`=p-dQdX#FcN6G7Y6oYGk((LNFG_iVAX^6Ho zL|Yr6`OTk}HOfX=Z+@3$Sx;~aw4yi1O>kL3(YPXM+>{Kic+zY(t9~=Mxx5IL!QGy; z7kG+ZBIudV+I+VJ=EotTX~o@OlHJcBPh+F47=l9RmtU48^t7T}*jrUnTdEbbRTV`D zsgRYmFT~&5R8M-vhCJ!4zIy1D-fdP3grJu2GWBp(s;8S6`63KQ{Cg+&|oAPkNgEyZQodX3DGa zl2l71U6ZLVL8!>VJDNRY4PLA`h`E(XnJPg%0B^OtB#JWGR8SOHDx5?KE*cp|Vd@L6 z2)<(`Nk*WzRBTe%om-!t&RcStv3Gb>O-{gZ)wVAXDSOV ztz5fg7=(TCec88tS$1DS5X9I@OHn}|eDy&TB8d_qV8GGwJ9jz?Nx^+yX2_j6^PTVf z-0z;rEKluM6omy>gmo}_+bmSA56|gOd`}y&1*Xl(~fOQwQ<^r<;c)YfYq02S+M%236Vy7#l2wx5n(t{DKAd6Vd+)V!+M!-l%7 z8q{Xx-w1rehURr3ZodB7^H#mYuKWg$%^PB-;aNth&=PA=?EDkNAecSd3bMl+OIJE6 zO^{7BDhxc)j9ltjEdb~_xPYv|SWy=J;`6Buf!RA{l>Tlh6@6cd`g-;cZmaZIv24#* zP*B{Ud(zzI8@+*%FeBA1*gi>Cjl+oVfUyq7AK2b9uT#eAK_^`o3kpdQ#rp>-?2Sex zhw2}YK)NaHp>(6A(F|>j*A<7?_wi=_FJB)j;Yg(}-=@s7%}E(u z&X^IuH}@k@R9gcjjoZ0&-t8z&QaeiX(~i>Aw4>UZ==wEL609{t<$BpOxF6KgJh6Vx=;#LS^t9h(5J?V_kD=Q z>p{;g`+yrXh=gJ$&a9n5s*xbO85I+8MLIuP=gxnqBX`IfVA|XjGa9oFqp2m9z+IG; zC8&-)^IA3Sq_G3nesG=Cef845Z}Xx|_9DGv| z6Lj$I0B=s;^v-!yh{ip1&rzbP{@tsk2EI*k$rw^T U2SyGa8a;euEPeFY@e@C=cWRg&KL7v# diff --git a/mp3-LOS/syscalls/to_fsdir/grep b/mp3-LOS/syscalls/to_fsdir/grep deleted file mode 100644 index b785b70f59c64e872a9d24b18f9a7e56486c4bdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6149 zcmeHIU1%It6uy&8bh-p)9~6YXtT>8A8d6PdlN6+yTdgLsX}YyF2@;d7wB|?S%!A<4 zgxjSVCJT8fzW5~KgHJv!i=u9lk~LT%B?#h!21#I+T_nna3yvMXb7wbAb_4qE49x7k z-#OV(D)^4#@SSe%CUyMk znHw#X?Nr3t-ZwQ*BM~#ZMY6=q<1noTj*{qpiCAAyE>$Q{A@UsIZedHN+!w^lg-<1_ z=^3Vfz3%XGExVq{buQ~ELFT@SGory(r^B$JQi>&{Nad_yQhblL?SQjGb&?zo%GpD- zC*mID&yLhZ6aW^Zf|nstxf|*%^rKl=yvQjwFJW!aO<(x@p6^#%Cq-&0bOEWh=_e>J zD!%n-_KiArhdREy0g91ej5RYyqI0)tXAO<4qBRf-<=P{Y*Tev|0R>AL7`c;r(Q4H{Ok z@exV6o=@sLzufhtJjFNl4Bt4_W*&8TWwobegQfXK`j)H~wc8IF?pL1gqvFIK5AKYr zg6La?n5h!j+o7#+ajnSU>m9Pda-AnL}n7BGJFB EAGuNj6#xJL diff --git a/mp3-LOS/syscalls/to_fsdir/hello b/mp3-LOS/syscalls/to_fsdir/hello deleted file mode 100644 index 80fff8974099039e085066996e90778a69356e0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5349 zcmeHG&ubG=5T0$ex-Et5MG(BKuu_FmT8-Lz@kje=)wK3ksci)5ecK4fazM1`Icaiyf zBuRqussj(ulkdK)`0zSkUyArZ!^mM!pq|G$nvfO1{Zs~^&8aHzcm|&{4`hY*Atck@ zLrEAP+=)%nZROgF0H(pJUzd%~U)?)Sz}y*JD(DENrrK{(uD(r-XNS{uHBoA#noC|(qvUcmO5RqZ z#n}X#`{ENk$ ztt_%E*5pm8h$rdbLGQy%iQgn4^Wy~3jKY3onzEjIg7P?4g&uMCm_+C&EYJ0ff}B54 zR*E;2J7_N}@(`B7s?f0>`%t2KQ`;rTo64B)j=VJcoN|LGXe_7@Z!Jspm(^p9Mp%`2 z@UL}V|3e-AhOCH8lR3tM0`VbiY6IHvG&0f#&JEw074iWqfN$WK@1B#p-@lpL_+8@% z>rEx--!j)NR!ph}D@v6_(sdyI0tvfv=pD@-Wi3|Nbr9!flQMOJ@iz3<$Vt2@2Nr$2 z!D9Xtw&0hW(m2Q(bcv~{UGoNbP2(NJ)bL)y(~B&^*I&E1Fuqm!+T&>NbWiL@Y5Ea8A~KsX>A z5Do|jgag6>;ec>JI3OGl4hRSSTL;?Oj~??KKXJ07^X$2-%;aDNRA|&ce*>yzkBXzJ1^9EDv`o zio$A71M@K2bw5?LAl8{iHxguiM2<0yH9Bzzol`Z2@k(WkhC|hv6VG9vTU0d~M?t2s zj}9R|uoaKe>+WYi032fr;eaZ>e77H15o2pWltbCa^Qva3f#Ly_X7GwgR_w&XY?9DW zKrN^ND!I6cxxiN%@c#7)CXuY#i6hy?U9^`j%>zbh#N^fGP~(OdtH>!((-!!~PEmt| zpwk3p=g5fyNPeK(M3Yyjv>qS^M3PmOcm^)E%;YQLUFgQh!l;!`r_)1OD$~3j(9Ce4 z*&Gh&ALnl6hq6>~Jxa;yQSzrACFko=^1B`-m+Mh&Pqb-I)Vl{-?D}Qf<7}Mu7Z2LD zokr(GSub!4TvpNq*A&4m#pIeV!{&2|Zzi`^^I)00*_Y9Qr)YA5zUMiY->iW7X@qE^ zdd*u7ZPy916*#u1#3jYj_jsV@0Q2c!ei z0qKBrKsq2DkPb)(qyy3c>40=VI`CgP(AswLRPgkfv+W({FI)`q&aUoDmwUp!eOLMi P28V_tSFc^aag+T9Oq{98 diff --git a/mp3-LOS/syscalls/to_fsdir/pingpong b/mp3-LOS/syscalls/to_fsdir/pingpong deleted file mode 100644 index 7b1714731794361face9849575e8af047af0575f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5445 zcmeHH&rcIk5PnM+T}YGmV$^WyVM+92K&yf`w1dA|1WH9wPkJKZplL6LLiJ(N&4z>o z`3L0ay+JQlNVXwr0tau#C_=KN8&Z>|^su_lywYfBjmE2Qlea&<`8wacZ{~FxqWy}Z zu=>@)e2l&}AFEmzpC4LlkuVEk%rtsJLdMy2>|8-hDS=Yz;kfW)LfYL-Yca=wU&n&w^cL4=wslaI8q{ ze29ai@U$~HwPV2-q;0fY@OjdLr;|&EpQxIl>h?Hp&wy$H><}f4=$g<3+lc6@302~B z365PPy%uB@M^Q<<>{p6S?U;#DAP1FfW`nGh<<^kODm8B4X1b=#eu=V8se3@Y14@qKPCzC;z9w{^{o>V9)X z55CLXT8S^wrW;XTQO1peY<&#RM&oV>9{GjtTDS3bIV_2XaBgvvd=|z(T&p_bbT!c!y}*If6`@ zn`f9FyR6Ztm?klC8{a)oltNY3vz&ZiqXu$oH7JnF8|%kk z8!@+DASUGLAWNO7ry8hdPqy=kAdVLX|ETlkFLcBXp^QueT%OigY8Z>MSQp-TUa_!m zxMy&R2{VB^aEt%uqd!xJclLtsAbp+*I4!?@L3fA%eK^Bv)K5m!Y8Ql zZZA|P-`0MM@~bNkl6Of&UeW>SfOJ4QARUknNC%_?(gEp!bU->F9gq(E4-Ry7pF9;l kedcUWZ{PU~5$L~o>GGAU(b&MX!J*;!NaFhFjhkca2XXM*2><{9 diff --git a/mp3-LOS/syscalls/to_fsdir/shell b/mp3-LOS/syscalls/to_fsdir/shell deleted file mode 100644 index 84c531e7491f14224f984e736db4673528ec0b93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5605 zcmeHHO>Em_7=GQl;6;@j4oryc;DeFI1+}bWEkbBNb;m~c(`A7T*uibhmJuggW^1do zZ0($iSk|Omdf~{0Bey8xLTFLT#3pSABu*R)kYU34%E!S;166Do4zr-Y0!=g%c zxpW{1f`9lc2)bIwDRu(;_1f8<(!N6Bn=%rXiXHYBlxz>>8dF+-1py>TF8z+DTBV1R zV$M&9c;Pmeeq?LUoxh{|Yn4hRRYRD(&s52qR)@VaYV!W#r)#MicCro19`$p%fBh(* zjDD2QLqE!=pdXdCMR#nACbmHv-#ib3OLU1&HC}~{6`U-mmE6#LaH%Odnj|=ykDf|$ zl}dH{Pfzpju7Txg!*VqVyv$P=lvnBze^>zXxARPMTCaiWqVZot9%oMCSDaTQG0N=- z^_-U2+|^aGcXTTl?J9;LEQM8ReAW6TqRQ0=5hPdZ?!z~KaF6@l0wL%WlVrcul{(Q? zw-Sz-6vE&O*ZKKBtP}1~YlG=(zEhOQK8>Q*X#}%V7uL}?>{)9y(_R`o@ZE>svAa*7 zxDRl$J*^{G7y19dUB#zUPC6RCp&laZ`ec94-&Q0C@3{An^|aQOgXmj_mAMkcNBGb; zgs>=|ZjFTnwwv#wgh6f@TH(8^gK6A5AwcDU=&_8(cLc}e#`_am=f=G#7t7yWqm-o= ztW55LvUg%sNnJFu*#zP7Wa@o|3Wh$fd|t?#$`{7MY+f(mP0wVF`2-o)GZy9Y%2j*r zqB55^O+5z`*X2U~LP0kb%P5$coNgKO%Itz-T%R*8TbX?B-#GegE?+S9Y<3}Juu^=* z4#W<`4#W<`4#W<`4#W<`4#W<`4#W<`4#W=ppBxw&eS7cNzIXPIPaHgScv71>^1;z# XA5I@Xaq`s6>C~C@M<1U(_X+(CbMzGX diff --git a/mp3-LOS/syscalls/to_fsdir/sigtest b/mp3-LOS/syscalls/to_fsdir/sigtest deleted file mode 100644 index 896c34f0850ac069678e634000a96d646728c2e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6224 zcmeH{Z)h8J7{{M$uk#uT$(v$9(GxN@p_F8;a~t)~>~8BctL?I=o861Exwfg7i(c-O zf~DQA)gB?xH-hY)3ceHk1KH^tV=Jvih3$p-Zpd&DNf-(R13Qe*^UGzpOJKg1JGkH7 zeV#wR=l6Ynzgw0PCpnIT*3|{wKwsal^1=u{e-)aR5fIUG5PD%BvopHF3xM|{=tFl8 z!3Z$Bh~MG|yg>JU#4)`0dG@JWMw(vz*8>Q6yo-q_Z~gX1<4reZ-or~kcs-5>R` zKYW=NS}87LB+WQ%F-CbR8jeof7ksnnD9}`1Y0XM70xDO#0BoslE!7+5W6roQ_7jS| zTW59o!*SGV8@Pg0-(KyZWr8#Bi_!h_uoX`u4VQWn7(dFH4?1u7qDIkP?ROS^c>mo3 zsM-Q6<pIydb9J`HE z)oJHbU-0J`T)p6Y=EGMAk2zoZutj*#DfzHUxZnB8hf|21O&@#~A+}N=p^DNSZ==wH zD+9a)$z|X6WEyTPrSslS>6Euq`pvY{-i|cXfmU|#yez;1Oji0Ejm8GsyOABqMPH~2 zmLzbN96jm3^AV=UT_n&a zo^@(D(wl!b8s666s}Hp@nZ2zF;;oF#gj35 zQn&)wzWz0-``4fLHT=urZ!26{q5nM{pS|^nCGBy3N6PDh`3*XF=}MY*s%!V2809>Ws4sb$y-*WT<-;j_*FtamkE*Rk<+&dO5b-J??d zogbUAIQ{Mx%;ZcpEowPK)D<}`%KDs{RWu_6r?tExt7=A@6Z4rlO;*KuSxc*mo)5uz zW>9>4UN#Qo#l@Vdi<+EOo)KY8)(&`ih={X#E-SvSEWVbL_4E*iDXN+q6d`ZU%qV%x zGb?9QQ&(s&CzZKb*;EbRWa13gpri*GHnYb>h=m{?ffv-rmo?#LU3G__3V8oq$UJcpg^ENpg^ENpg^ENpg^EN zpg^ENpg^ENpg^F&|6PGt{Lt{o6NjHXa`gCfV<)7Or^Zh||3c!-#EX+tXOrhrFTMQA J`3wKn;2+AezhwXb diff --git a/mp3-LOS/syscalls/to_fsdir/syserr b/mp3-LOS/syscalls/to_fsdir/syserr deleted file mode 100644 index 7d6c4c2eb2adb25578619150a03ea62c3595a8ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8037 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ǭ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%0DXwx(lOZEkOvV9=Wu6E=HAgAjHO$Z3s{~`L>>Q{o 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∾XL!cX;qNp5Oejcz&DbKltnD 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 R`L$Kne0-CJ9@^n&_<#7{_1FLa diff --git a/mp3-LOS/fish/Makefile b/mp3-LOS/fish/Makefile deleted file mode 100644 index eb1cb22..0000000 --- a/mp3-LOS/fish/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -all: fish - -# Note that you must be superuser to run the emulated version of the -# program. - -fish_emulated: fish.o blink.o ece391emulate.o ece391support.o - gcc -nostdlib -lc -g -o fish_emulated fish.o blink.o ece391emulate.o ece391support.o - -fish: fish.exe - ../elfconvert fish.exe - mv fish.exe.converted fish - -fish.exe: fish.o blink.o ece391support.o ece391syscall.o - gcc -nostdlib -g -o fish.exe fish.o blink.o ece391syscall.o ece391support.o - -%.o: %.S - gcc -nostdlib -c -Wall -g -D_USERLAND -D_ASM -o $@ $< - -%.o: %.c - gcc -nostdlib -Wall -c -g -o $@ $< - -clean:: - rm -f *.o *~ -clear: clean - rm -f fish fish.exe fish_emulated diff --git a/mp3-LOS/fish/blink.S b/mp3-LOS/fish/blink.S deleted file mode 100644 index bdf102f..0000000 --- a/mp3-LOS/fish/blink.S +++ /dev/null @@ -1,381 +0,0 @@ - -.data # section declaration - - # Useful offset constants for accessing members of a - # struct mp1_blink_struct structure - LOCATION = 0 - ON_CHAR = 2 - OFF_CHAR = 3 - ON_LENGTH = 4 - OFF_LENGTH = 6 - COUNTDOWN = 8 - STATUS = 10 - NEXT = 12 - - STRUCT_SIZE = 16 - -# Pointer to head of list (initialized to NULL) -mp1_list_head: - .long 0 - -call_table: - .long mp1_ioctl_add - .long mp1_ioctl_remove - .long mp1_ioctl_find - .long mp1_ioctl_sync - -.text # section declaration - -# Export the function symbol names - -.global mp1_rtc_tasklet -.global mp1_ioctl - -# void mp1_poke(void); -# -# Interface: Register-based arguments (not C-style) -# Inputs: %cl - The byte you wish to write -# %eax - Offset from the start of video memory that you wish -# to write to -# Outputs: Text-mode video screen is written to at location %eax with -# the byte in %cl -# Registers: Clobbers EDX -mp1_poke: - - movl vmem_base_addr(,1),%edx - movb %cl,(%edx,%eax,1) - ret - -mp1_rtc_tasklet: - - pushl %ebp - movl %esp, %ebp - - pushl %esi - pushl %edi - pushl %ebx - - movl mp1_list_head, %ebx - -tasklet_loop: - cmpl $0, %ebx - je tasklet_end - - decw COUNTDOWN(%ebx) - cmpw $0,COUNTDOWN(%ebx) - jg next_loop - - movzwl LOCATION(%ebx), %eax #blink location is now in eax - shl $1,%eax - - testw $0x1,STATUS(%ebx) - jz currently_off - - movb OFF_CHAR(%ebx), %cl - call mp1_poke - movw OFF_LENGTH(%ebx),%dx - jmp end_blink - -currently_off: - movb ON_CHAR(%ebx), %cl - call mp1_poke - movw ON_LENGTH(%ebx),%dx - -end_blink: - movw %dx, COUNTDOWN(%ebx) - xorw $0x1, STATUS(%ebx) - -next_loop: - movl NEXT(%ebx), %ebx - jmp tasklet_loop - -tasklet_end: - - popl %ebx - popl %edi - popl %esi - - popl %ebp - ret - -mp1_ioctl: - movl 8(%esp), %eax - jmp *call_table(,%eax,4) - -mp1_ioctl_add: - pushl %ebp - movl %esp, %ebp - - # Allocate temp structure on the stack - subl $STRUCT_SIZE, %esp - - # Preserve registers - pushl %esi - pushl %edi - pushl %ebx - - # Get pointer to temp structure - leal -STRUCT_SIZE(%ebp), %ebx - - # Copy user data onto the stack - pushl $STRUCT_SIZE - pushl 8(%ebp) - pushl %ebx - call ece391_memcpy - addl $12,%esp - - # Check that the copy succeeded - cmpl $0,%eax - jne add_fail_return - - # Check that the location is valid - cmpw $80*25,LOCATION(%ebx) - jae add_fail_return - - # Mark this structure as valid - movw $0x1,STATUS(%ebx) # Mark it as on - movw ON_LENGTH(%ebx),%dx - movw %dx,COUNTDOWN(%ebx) - - # Allocate some memory, pointer returned in EAX - pushl $STRUCT_SIZE - call mp1_malloc - add $4, %esp - cmpl $0, %eax - je add_fail_return - - # Save EAX - pushl %eax - - pushl $STRUCT_SIZE - pushl %ebx - pushl %eax - call ece391_memcpy - addl $12, %esp - - # Restore the value from EAX into EDX - popl %edx - - # Insert this new item at the front of the list - movl mp1_list_head, %eax - movl %eax, NEXT(%edx) - movl %edx, mp1_list_head - -display: - # Display the character - movzwl LOCATION(%edx),%eax - shll $1,%eax - movb ON_CHAR(%edx),%cl - call mp1_poke - jmp add_success_return - -add_fail_return: - movl $-1,%eax - jmp add_leave - -add_success_return: - movl $0, %eax -add_leave: - popl %ebx - popl %edi - popl %esi - - leave - ret - - -mp1_ioctl_remove: - pushl %ebp - movl %esp, %ebp - - pushl %esi - pushl %edi - pushl %ebx - - pushl 8(%ebp) - call mp1_find_helper - addl $4, %esp - cmpl $0, %eax - je remove_fail_return - - # Found the right element. Now find the - # previous pointer in the list, and remove it - # We should not fail here, because mp1_find_helper - # returned a valid list element - - leal mp1_list_head, %edx -remove_find_prev: - cmp %eax, (%edx) - je found_prev - movl (%edx), %edx - leal NEXT(%edx), %edx - jmp remove_find_prev - -found_prev: - # Perform the removal - movl NEXT(%eax), %ecx - movl %ecx, (%edx) - -free_mem: - pushl %eax - call mp1_free - addl $4, %esp - jmp remove_success_return - -remove_fail_return: - movl $-1,%eax - jmp remove_leave - -remove_success_return: - movl $0, %eax -remove_leave: - popl %ebx - popl %edi - popl %esi - - leave - ret - - -mp1_ioctl_sync: - pushl %ebp - movl %esp, %ebp - - pushl %esi - pushl %edi - pushl %ebx - -sync_find_first: - movl 8(%ebp), %eax - shr $16, %eax - pushl %eax - call mp1_find_helper - addl $4, %esp - cmpl $0, %eax - je sync_fail_return - movl %eax, %esi - - movl 8(%ebp), %eax - andl $0xFFFF, %eax - pushl %eax - call mp1_find_helper - addl $4, %esp - cmpl $0, %eax - je sync_fail_return - movl %eax, %edi - -sync_copy_loop: - movw ON_LENGTH(%esi), %ax - movw %ax, ON_LENGTH(%edi) - movw OFF_LENGTH(%esi), %ax - movw %ax, OFF_LENGTH(%edi) - movw COUNTDOWN(%esi), %ax - movw %ax, COUNTDOWN(%edi) - movw STATUS(%esi), %ax - movw %ax, STATUS(%edi) - - movzwl LOCATION(%edi), %eax - shll $1,%eax - movzbl OFF_CHAR(%edi),%ecx - movzbl ON_CHAR(%edi),%ebx - testb $0x1,STATUS(%edi) - cmovl %ebx, %ecx - -sync_display: - call mp1_poke - jmp sync_success_return - -sync_fail_return: - movl $-1,%eax - jmp sync_leave - -sync_success_return: - movl $0, %eax -sync_leave: - popl %ebx - popl %edi - popl %esi - - leave - ret - -mp1_ioctl_find: - pushl %ebp - movl %esp, %ebp - subl $2,%esp - - pushl %esi - pushl %edi - pushl %ebx - - pushl $2 - pushl 8(%ebp) - leal -2(%ebp),%edi - pushl %edi - call ece391_memcpy - addl $12,%esp - - cmp $0,%eax - jne find_fail_return - - movzwl -2(%ebp),%eax - pushl %eax - call mp1_find_helper - addl $4, %esp - cmpl $0, %eax - je find_fail_return - - pushl $STRUCT_SIZE - pushl %eax - pushl 8(%ebp) - call ece391_memcpy - addl $12,%esp - - cmp $0,%eax - je find_success_return - -find_fail_return: - movl $-1,%eax - jmp find_leave - -find_success_return: - movl $0, %eax -find_leave: - popl %ebx - popl %edi - popl %esi - - leave - ret - -mp1_find_helper: - pushl %ebp - movl %esp, %ebp - - pushl %ebx - - movw 8(%ebp), %ax - movl mp1_list_head, %ebx -loop: - cmpl $0, %ebx - je helper_fail_return - - cmpw %ax, LOCATION(%ebx) - je helper_success_return - - movl NEXT(%ebx), %ebx - jmp loop - -helper_fail_return: - xorl %eax, %eax - jmp helper_leave - -helper_success_return: - movl %ebx, %eax - -helper_leave: - popl %ebx - leave - ret - -.end diff --git a/mp3-LOS/fish/blink.h b/mp3-LOS/fish/blink.h deleted file mode 100644 index cf7690e..0000000 --- a/mp3-LOS/fish/blink.h +++ /dev/null @@ -1,15 +0,0 @@ -#define RTC_ADD 0 -#define RTC_REMOVE 1 -#define RTC_FIND 2 -#define RTC_SYNC 3 - -struct mp1_blink_struct { - unsigned short location; - char on_char; - char off_char; - unsigned short on_length; - unsigned short off_length; - unsigned short countdown; - unsigned short status; - struct mp1_blink_struct* next; -} __attribute((packed)); diff --git a/mp3-LOS/fish/ece391emulate.c b/mp3-LOS/fish/ece391emulate.c deleted file mode 100644 index 76a422a..0000000 --- a/mp3-LOS/fish/ece391emulate.c +++ /dev/null @@ -1,227 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#include "ece391support.h" -#include "ece391syscall.h" -#include "ece391sysnum.h" - - -static uint32_t start_esp; -static int32_t dir_fd = -1; -static DIR* dir = NULL; - - -/* - * (copied from the real system call support) - * - * Rather than create a case for each number of arguments, we simplify - * and use one macro for up to three arguments; the system calls should - * ignore the other registers, and they're caller-saved anyway. - */ -#define DO_CALL(name,number) \ -asm volatile (" \ -.GLOBL " #name " ;\ -" #name ": ;\ - PUSHL %EBX ;\ - MOVL $" #number ",%EAX ;\ - MOVL 8(%ESP),%EBX ;\ - MOVL 12(%ESP),%ECX ;\ - MOVL 16(%ESP),%EDX ;\ - INT $0x80 ;\ - CMP $0xFFFFC000,%EAX ;\ - JBE 1f ;\ - MOVL $-1,%EAX ;\ -1: POPL %EBX ;\ - RET \ -") - -/* these wrappers require no changes */ -extern int32_t __ece391_read (int32_t fd, void* buf, int32_t nbytes); -extern int32_t __ece391_write (int32_t fd, const void* buf, int32_t nbytes); -extern int32_t __ece391_close (int32_t fd); -void fake_function () { -DO_CALL(ece391_halt,1 /* SYS_HALT */); -DO_CALL(__ece391_read,3 /* SYS_READ */); -DO_CALL(__ece391_write,4 /* SYS_WRITE */); -DO_CALL(__ece391_close,6 /* SYS_CLOSE */); - -/* Call the main() function, then halt with its return value. */ - -asm volatile (" \n\ -.GLOBAL _start \n\ -_start: \n\ - MOVL %ESP,start_esp \n\ - CALL main \n\ - PUSHL %EAX \n\ - CALL ece391_halt \n\ -"); - -/* end of fake container function */ -} - -int32_t -ece391_execute (const uint8_t* command) -{ - int status; - uint8_t buf[1026]; - char* args[1024]; - uint8_t* scan; - uint32_t n_arg; - - if (1023 < ece391_strlen (command)) - return -1; - buf[0] = '.'; - buf[1] = '/'; - ece391_strcpy (buf + 2, command); - for (scan = buf + 2; '\0' != *scan && ' ' != *scan && '\n' != *scan; - scan++); - args[0] = (char*)buf; - n_arg = 1; - if ('\0' != *scan) { - *scan++ = '\0'; - /* parse arguments */ - while (1) { - while (' ' == *scan) scan++; - if ('\0' == *scan || '\n' == *scan) { - *scan = '\0'; - break; - } - args[n_arg++] = (char*)scan; - while ('\0' != *scan && ' ' != *scan && '\n' != *scan) scan++; - if ('\0' != *scan) - *scan++ = '\0'; - } - } - args[n_arg] = NULL; - if (0 == fork ()) { - execv ((char*)buf, args); - kill (getpid (), 9); - } - (void)wait (&status); - if (WIFEXITED (status)) - return WEXITSTATUS (status); - if (9 == WTERMSIG (status)) - return -1; - return 256; -} - -int32_t -ece391_open (const uint8_t* filename) -{ - uint32_t rval; - - if (0 == ece391_strcmp (filename, (uint8_t*)".")) { - dir = opendir ("."); - dir_fd = open ("/dev/null", O_RDONLY); - return dir_fd; - } - - asm volatile ("INT $0x80" : "=a" (rval) : - "a" (5), "b" (filename), "c" (O_RDONLY)); - if (rval > 0xFFFFC000) - return -1; - return rval; -} - -int32_t -ece391_getargs (uint8_t* buf, int32_t nbytes) -{ - int32_t argc = *(uint32_t*)start_esp; - uint8_t** argv = (uint8_t**)(start_esp + 4); - int32_t idx, len; - - idx = 1; - while (idx < argc) { - len = ece391_strlen (argv[idx]); - if (len > nbytes) - return -1; - ece391_strcpy (buf, argv[idx]); - buf += len; - nbytes -= len; - if (++idx >= argc) - break; - if (nbytes < 1) - return -1; - *buf++ = ' '; - nbytes--; - } - if (nbytes < 1) - return -1; - *buf = '\0'; - return 0; -} - -int32_t -ece391_vidmap (uint8_t** screen_start) -{ - static int mem_fd = -1; - void* mem_image; - - if(mem_fd == -1) { - mem_fd = open ("/dev/mem", O_RDWR); - } - - if ((mem_image = mmap((void*)0, 1024*1024, PROT_READ | PROT_WRITE, - MAP_SHARED, mem_fd, 0)) == MAP_FAILED) { - perror ("mmap low memory"); - return -1; - } - - *screen_start = (uint8_t*)(mem_image + 0xb8000); - return 0; -} - -int32_t -ece391_read (int32_t fd, void* buf, int32_t nbytes) -{ - struct dirent* de; - int32_t copied; - uint8_t* from; - uint8_t* to; - - if (NULL == dir || dir_fd != fd) - return __ece391_read (fd, buf, nbytes); - if (NULL == (de = readdir (dir))) - return 0; - to = buf; - from = (uint8_t*)de->d_name; - copied = 0; - while ('\0' != *from) { - *to++ = *from++; - if (++copied == nbytes) - return nbytes; - if (32 == copied) - return 32; - } - while (nbytes > copied && 32 > copied) { - *to++ = '\0'; - copied++; - } - return copied; -} - -int32_t -ece391_write (int32_t fd, const void* buf, int32_t nbytes) -{ - if (NULL == dir || dir_fd != fd) - return __ece391_write (fd, buf, nbytes); - return -1; -} - -int32_t -ece391_close (int32_t fd) -{ - if (NULL == dir || dir_fd != fd) - return __ece391_close (fd); - (void)closedir (dir); - dir = NULL; - (void)close (dir_fd); - dir_fd = -1; - return 0; -} - diff --git a/mp3-LOS/fish/ece391support.c b/mp3-LOS/fish/ece391support.c deleted file mode 100644 index b264fb0..0000000 --- a/mp3-LOS/fish/ece391support.c +++ /dev/null @@ -1,53 +0,0 @@ -#include - -#include "ece391support.h" -#include "ece391syscall.h" - - -uint32_t -ece391_strlen (const uint8_t* s) -{ - uint32_t len; - - for (len = 0; '\0' != *s; s++, len++); - return len; -} - -void -ece391_strcpy (uint8_t* dst, const uint8_t* src) -{ - while ('\0' != (*dst++ = *src++)); -} - -void -ece391_fdputs (int32_t fd, const uint8_t* s) -{ - (void)ece391_write (fd, s, ece391_strlen (s)); -} - -int32_t -ece391_strcmp (const uint8_t* s1, const uint8_t* s2) -{ - while (*s1 == *s2) { - if (*s1 == '\0') - return 0; - s1++; - s2++; - } - return ((int32_t)*s1) - ((int32_t)*s2); -} - -int32_t -ece391_strncmp (const uint8_t* s1, const uint8_t* s2, uint32_t n) -{ - if (0 == n) - return 0; - while (*s1 == *s2) { - if (*s1 == '\0' || --n == 0) - return 0; - s1++; - s2++; - } - return ((int32_t)*s1) - ((int32_t)*s2); -} - diff --git a/mp3-LOS/fish/ece391support.h b/mp3-LOS/fish/ece391support.h deleted file mode 100644 index a0664c0..0000000 --- a/mp3-LOS/fish/ece391support.h +++ /dev/null @@ -1,10 +0,0 @@ -#if !defined(ECE391SUPPORT_H) -#define ECE391SUPPORT_H - -extern uint32_t ece391_strlen (const uint8_t* s); -extern void ece391_strcpy (uint8_t* dst, const uint8_t* src); -extern void ece391_fdputs (int32_t fd, const uint8_t* s); -extern int32_t ece391_strcmp (const uint8_t* s1, const uint8_t* s2); -extern int32_t ece391_strncmp (const uint8_t* s1, const uint8_t* s2, uint32_t n); - -#endif /* ECE391SUPPORT_H */ diff --git a/mp3-LOS/fish/ece391syscall.S b/mp3-LOS/fish/ece391syscall.S deleted file mode 100644 index a17c6b8..0000000 --- a/mp3-LOS/fish/ece391syscall.S +++ /dev/null @@ -1,41 +0,0 @@ -#include "ece391sysnum.h" - -/* - * Rather than create a case for each number of arguments, we simplify - * and use one macro for up to three arguments; the system calls should - * ignore the other registers, and they're caller-saved anyway. - */ -#define DO_CALL(name,number) \ -.GLOBL name ;\ -name: PUSHL %EBX ;\ - MOVL $number,%EAX ;\ - MOVL 8(%ESP),%EBX ;\ - MOVL 12(%ESP),%ECX ;\ - MOVL 16(%ESP),%EDX ;\ - INT $0x80 ;\ - POPL %EBX ;\ - RET - -/* the system call library wrappers */ -DO_CALL(ece391_halt,SYS_HALT) -DO_CALL(ece391_execute,SYS_EXECUTE) -DO_CALL(ece391_read,SYS_READ) -DO_CALL(ece391_write,SYS_WRITE) -DO_CALL(ece391_open,SYS_OPEN) -DO_CALL(ece391_close,SYS_CLOSE) -DO_CALL(ece391_getargs,SYS_GETARGS) -DO_CALL(ece391_vidmap,SYS_VIDMAP) -DO_CALL(ece391_set_handler,SYS_SET_HANDLER) -DO_CALL(ece391_sigreturn,SYS_SIGRETURN) - - -/* Call the main() function, then halt with its return value. */ - -.GLOBAL _start -_start: - CALL main - PUSHL $0 - PUSHL $0 - PUSHL %EAX - CALL ece391_halt - diff --git a/mp3-LOS/fish/ece391syscall.h b/mp3-LOS/fish/ece391syscall.h deleted file mode 100644 index 70883b7..0000000 --- a/mp3-LOS/fish/ece391syscall.h +++ /dev/null @@ -1,24 +0,0 @@ -#if !defined(ECE391SYSCALL_H) -#define ECE391SYSCALL_H - -#include - -/* All calls return >= 0 on success or -1 on failure. */ - -/* - * Note that the system call for halt will have to make sure that only - * the low byte of EBX (the status argument) is returned to the calling - * task. Negative returns from execute indicate that the desired program - * could not be found. - */ -extern int32_t ece391_halt (uint8_t status); -extern int32_t ece391_execute (const uint8_t* command); -extern int32_t ece391_read (int32_t fd, void* buf, int32_t nbytes); -extern int32_t ece391_write (int32_t fd, const void* buf, int32_t nbytes); -extern int32_t ece391_open (const uint8_t* filename); -extern int32_t ece391_close (int32_t fd); -extern int32_t ece391_getargs (uint8_t* buf, int32_t nbytes); -extern int32_t ece391_vidmap (uint8_t** screen_start); - -#endif /* ECE391SYSCALL_H */ - diff --git a/mp3-LOS/fish/ece391sysnum.h b/mp3-LOS/fish/ece391sysnum.h deleted file mode 100644 index 052f3b2..0000000 --- a/mp3-LOS/fish/ece391sysnum.h +++ /dev/null @@ -1,15 +0,0 @@ -#if !defined(ECE391SYSNUM_H) -#define ECE391SYSNUM_H - -#define SYS_HALT 1 -#define SYS_EXECUTE 2 -#define SYS_READ 3 -#define SYS_WRITE 4 -#define SYS_OPEN 5 -#define SYS_CLOSE 6 -#define SYS_GETARGS 7 -#define SYS_VIDMAP 8 -#define SYS_SET_HANDLER 9 -#define SYS_SIGRETURN 10 - -#endif /* ECE391SYSNUM_H */ diff --git a/mp3-LOS/fish/fish.c b/mp3-LOS/fish/fish.c deleted file mode 100644 index 6d2e5d8..0000000 --- a/mp3-LOS/fish/fish.c +++ /dev/null @@ -1,196 +0,0 @@ -#include -#include "ece391support.h" -#include "ece391syscall.h" -#include "blink.h" - -#define NULL 0 -#define WAIT 100 -uint8_t *vmem_base_addr; -uint8_t *mp1_set_video_mode (void); -void add_frames(uint8_t *, uint8_t *, int32_t); -void ece391_memset(void* memory, char c, int n); -int32_t ece391_memcpy(void* dest, const void* src, int32_t n); - -uint8_t file0[] = "frame0.txt"; -uint8_t file1[] = "frame1.txt"; - -/* Extern the externally-visible MP1 functions */ -extern int mp1_ioctl(unsigned long arg, unsigned long cmd); -extern void mp1_rtc_tasklet(unsigned long trash); - -static struct mp1_blink_struct blink_array[80*25]; - -int main(void) -{ - int rtc_fd, ret_val, i, garbage; - struct mp1_blink_struct blink_struct; - - ece391_memset(blink_array, 0, sizeof(struct mp1_blink_struct)*80*25); - - if(mp1_set_video_mode() == NULL) { - return -1; - } - - rtc_fd = ece391_open((uint8_t*)"rtc"); - - add_frames(file0, file1, rtc_fd); - - ret_val = 32; - ret_val = ece391_write(rtc_fd, &ret_val, 4); - - for(i=0; i \| \ / - |/\_/ |/ |/ -----------M----M-------- diff --git a/mp3-LOS/fish/frame1.txt b/mp3-LOS/fish/frame1.txt deleted file mode 100644 index eafbe6c..0000000 --- a/mp3-LOS/fish/frame1.txt +++ /dev/null @@ -1,11 +0,0 @@ -\/\/\/\/\/\/\/\/\/\/\/\/ - o o - o - o - o o - - _ / - |\/.\ \ \/ \ / - |= _> \ \ \| - |/\_> |/ |/ -----------M----M-------- diff --git a/mp3-LOS/fsdir/cat b/mp3-LOS/fsdir/cat deleted file mode 100644 index aa7ac9b6eabeeb96cba1498d185761ced943b180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5445 zcmeHGO=}ZT6n)c7by@<+Mi6xoA%bos)u^pIwXc4qwP_o*YK350vDg-CW+52cIt^qP z3NGv)@IM%W8)GXCMTK_ZP87vLN`hDj80hGD?wh2RB%pg|;LYTnd)~SCp8GPzLtT<2 zvFg*rT#R;4AInM*-w(}pB*=V-9ApY>7IA@2%L>DCfkR7By-dV?*!bpUh1LO(Y3-mx zh=;xcV&4v83_Vv4U&y476;hCZzV6GEyeCLv-P0P|{fBq55OlIT$Om0?I zbcA!VpDNGqX#zc&2hD};dX^NoPVECl=OrysveXBe&oxIsA!;9m23t?!r6tOix<9i~ z!+gHQq$Gu#1}~!qrIKh{HS?qa3HP6p3ITMZZ0iPegO{kOFxWaTBPmmp_6Z=&5beyo zCMO1m=A!0ee};NBZuk`=p-dQdX#FcN6G7Y6oYGk((LNFG_iVAX^6Ho zL|Yr6`OTk}HOfX=Z+@3$Sx;~aw4yi1O>kL3(YPXM+>{Kic+zY(t9~=Mxx5IL!QGy; z7kG+ZBIudV+I+VJ=EotTX~o@OlHJcBPh+F47=l9RmtU48^t7T}*jrUnTdEbbRTV`D zsgRYmFT~&5R8M-vhCJ!4zIy1D-fdP3grJu2GWBp(s;8S6`63KQ{Cg+&|oAPkNgEyZQodX3DGa zl2l71U6ZLVL8!>VJDNRY4PLA`h`E(XnJPg%0B^OtB#JWGR8SOHDx5?KE*cp|Vd@L6 z2)<(`Nk*WzRBTe%om-!t&RcStv3Gb>O-{gZ)wVAXDSOV ztz5fg7=(TCec88tS$1DS5X9I@OHn}|eDy&TB8d_qV8GGwJ9jz?Nx^+yX2_j6^PTVf z-0z;rEKluM6omy>gmo}_+bmSA56|gOd`}y&1*Xl(~fOQwQ<^r<;c)YfYq02S+M%236Vy7#l2wx5n(t{DKAd6Vd+)V!+M!-l%7 z8q{Xx-w1rehURr3ZodB7^H#mYuKWg$%^PB-;aNth&=PA=?EDkNAecSd3bMl+OIJE6 zO^{7BDhxc)j9ltjEdb~_xPYv|SWy=J;`6Buf!RA{l>Tlh6@6cd`g-;cZmaZIv24#* zP*B{Ud(zzI8@+*%FeBA1*gi>Cjl+oVfUyq7AK2b9uT#eAK_^`o3kpdQ#rp>-?2Sex zhw2}YK)NaHp>(6A(F|>j*A<7?_wi=_FJB)j;Yg(}-=@s7%}E(u z&X^IuH}@k@R9gcjjoZ0&-t8z&QaeiX(~i>Aw4>UZ==wEL609{t<$BpOxF6KgJh6Vx=;#LS^t9h(5J?V_kD=Q z>p{;g`+yrXh=gJ$&a9n5s*xbO85I+8MLIuP=gxnqBX`IfVA|XjGa9oFqp2m9z+IG; zC8&-)^IA3Sq_G3nesG=Cef845Z}Xx|_9DGv| z6Lj$I0B=s;^v-!yh{ip1&rzbP{@tsk2EI*k$rw^T U2SyGa8a;euEPeFY@e@C=cWRg&KL7v# diff --git a/mp3-LOS/fsdir/fish b/mp3-LOS/fsdir/fish deleted file mode 100644 index e2d43e83f5e0975d55475164dcca0c5cf11db326..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36164 zcmeH}Z-^9S9LJxXox7V`H)k~^BZCW9QHq}OdA40v*D0bcbl?khmdaW^ z8Lb_Mg(E1acNX*}g7C%Nf#99qb&Hty$I5&mx{1cfZnD8u3vIXkelxSKc5CA6z6&$Y z%`~05gnLRAq*9QUtQTZt%DEO^6rE0A-wk`2At)huE%f&n~*VVhyUR4uxjWi0u zR~-u@!qd|z`bbaL)AYD5DMY=m-*(g3!;k;|HIP81E8QMd%^QXCzEY=kbDNoO&8&-R zf&$RUdXZ71Z4}p8O>fR;K_QL}C&C$dxlF%XpV0INhb&dI)Tr|~#kAzKEvGGt!Txi| zk^FgH&f8>~k%cA>NoqH@ERdzj4&**cQ?_IwBa56ix1ws5zso8`R<_Ku!%B)_%3{Dw z7Iz<-8k1LF7?anw#4|G6An1O*p6^!{D`|P9QVhFoBDV)5SyD|hMip0+a2ygal*P(& z;mpv>17iI|o$@Dqa8@ktz8j0!o_ugDyBe$co>)G@uSrj>VScu}Y>u|R)}7u}8lldb z`ByX2S(NE%a|N*AyPl+%2`H3#k6FRAd7dyG}khzoJ+*e zmSM)Z#MPI~WJ&1O9&WO4bCPUs#oVsn;COn!oOm{5G;?3M?zEin`dZ{L-;gye9y2*D z5_4!)A(|&!k=OXWUgMruiMorbZ1>cKuCBmM!e)OYC{w727=8=fFx+Y_vpW!V} zZZz_klBaX(m^|G?FQ-%TqHn{x@su25-4N@BQu2GdGiyzr$tnT5sn%Ir-U!gmNvlfS zl9OpUdH3SGK(jN+;@0h%a@kDgg)xtdwWSN;S86K9o@gmu-uX*3h5g!sOXlFjHa&- z^zvqp(;km_k~)63WIngRl%>FtWNCtS`JpL)716@>BQ4^#@;Owg)?Ypfi7Lrx#iV4O z6|z`KJfG`38|*9+&3sDXBqUiQBk%v>yU|40ftQ;sW#qJ5%VWIa*^S1aEb0A%eW%HH zntgvBWUF%{eSP*qE;Aas37w%VYJ1|o3*(4o+b{r=mWv2Z2Zr)p@1;v z9^V{vzNOPGZpZ3#;p3YXXTWytW zp(j#KXfbCEIhvzkvnUc<<44v^HXPU(&u|us?MCZ~I0v|kqbk`LD?553u@0xs^LqUR zPt|%pY%SymeL$JY9^a%mD@dJd7^HhSSLYT=GjU;2Zc6LuyvV$WPo-Vo)r!$z&riP; z&i!t03|pZNXM>mZzHtcp87I==j1WgZR;M*a(xqiO0Xm$os`BToOx#{i|#t@AmeV}0~tM_jW>is*FKQ@E{di!~27fqpdelxF7DLo1mlTOZTcc%ZogK?=o zAZI!p{>=H)dbB6f!BtP(F*0hxiN$I5)%J(ttAj=(H}bbt!#Tye+{MeKFE+^Mhy6xW zv)iL#`{iilLT}edY>?OSY$ea4XL9S z%jF)?L+x8gi>J?9u$7&tnNkaQ`;X2@adbFwn|7kRu4wP+{k#uTd~=oh$HSg|I6#(H zyS>9_k^fQnoWj#Ft?}zR{=&PTlIzt|O3gh{iBvtHR#hUpDoRCJ#WQD(A3amOf6^1_ z{lnJOiZj-hyG}CIOh!baxl+uFmFPyu+#8|ul9YE2!u#bp|KEA`8@mZAejoq>AOHd& z@Q?)J`*-bqv!&U1#}Mx0D)-R~a_yL^?f5{|mVKydU()!Hp \| \ / - |/\_/ |/ |/ -----------M----M-------- diff --git a/mp3-LOS/fsdir/frame1.txt b/mp3-LOS/fsdir/frame1.txt deleted file mode 100644 index eafbe6c..0000000 --- a/mp3-LOS/fsdir/frame1.txt +++ /dev/null @@ -1,11 +0,0 @@ -\/\/\/\/\/\/\/\/\/\/\/\/ - o o - o - o - o o - - _ / - |\/.\ \ \/ \ / - |= _> \ \ \| - |/\_> |/ |/ -----------M----M-------- diff --git a/mp3-LOS/fsdir/grep b/mp3-LOS/fsdir/grep deleted file mode 100644 index b785b70f59c64e872a9d24b18f9a7e56486c4bdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6149 zcmeHIU1%It6uy&8bh-p)9~6YXtT>8A8d6PdlN6+yTdgLsX}YyF2@;d7wB|?S%!A<4 zgxjSVCJT8fzW5~KgHJv!i=u9lk~LT%B?#h!21#I+T_nna3yvMXb7wbAb_4qE49x7k z-#OV(D)^4#@SSe%CUyMk znHw#X?Nr3t-ZwQ*BM~#ZMY6=q<1noTj*{qpiCAAyE>$Q{A@UsIZedHN+!w^lg-<1_ z=^3Vfz3%XGExVq{buQ~ELFT@SGory(r^B$JQi>&{Nad_yQhblL?SQjGb&?zo%GpD- zC*mID&yLhZ6aW^Zf|nstxf|*%^rKl=yvQjwFJW!aO<(x@p6^#%Cq-&0bOEWh=_e>J zD!%n-_KiArhdREy0g91ej5RYyqI0)tXAO<4qBRf-<=P{Y*Tev|0R>AL7`c;r(Q4H{Ok z@exV6o=@sLzufhtJjFNl4Bt4_W*&8TWwobegQfXK`j)H~wc8IF?pL1gqvFIK5AKYr zg6La?n5h!j+o7#+ajnSU>m9Pda-AnL}n7BGJFB EAGuNj6#xJL diff --git a/mp3-LOS/fsdir/hello b/mp3-LOS/fsdir/hello deleted file mode 100644 index 80fff8974099039e085066996e90778a69356e0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5349 zcmeHG&ubG=5T0$ex-Et5MG(BKuu_FmT8-Lz@kje=)wK3ksci)5ecK4fazM1`Icaiyf zBuRqussj(ulkdK)`0zSkUyArZ!^mM!pq|G$nvfO1{Zs~^&8aHzcm|&{4`hY*Atck@ zLrEAP+=)%nZROgF0H(pJUzd%~U)?)Sz}y*JD(DENrrK{(uD(r-XNS{uHBoA#noC|(qvUcmO5RqZ z#n}X#`{ENk$ ztt_%E*5pm8h$rdbLGQy%iQgn4^Wy~3jKY3onzEjIg7P?4g&uMCm_+C&EYJ0ff}B54 zR*E;2J7_N}@(`B7s?f0>`%t2KQ`;rTo64B)j=VJcoN|LGXe_7@Z!Jspm(^p9Mp%`2 z@UL}V|3e-AhOCH8lR3tM0`VbiY6IHvG&0f#&JEw074iWqfN$WK@1B#p-@lpL_+8@% z>rEx--!j)NR!ph}D@v6_(sdyI0tvfv=pD@-Wi3|Nbr9!flQMOJ@iz3<$Vt2@2Nr$2 z!D9Xtw&0hW(m2Q(bcv~{UGoNbP2(NJ)bL)y(~B&^*I&E1Fuqm!+T&>NbWiL@Y5Ea8A~KsX>A z5Do|jgag6>;ec>JI3OGl4hRSSTL;?Oj~??KKXJ07^X$2-%;aDNRA|&ce*>yzkBXzJ1^9EDv`o zio$A71M@K2bw5?LAl8{iHxguiM2<0yH9Bzzol`Z2@k(WkhC|hv6VG9vTU0d~M?t2s zj}9R|uoaKe>+WYi032fr;eaZ>e77H15o2pWltbCa^Qva3f#Ly_X7GwgR_w&XY?9DW zKrN^ND!I6cxxiN%@c#7)CXuY#i6hy?U9^`j%>zbh#N^fGP~(OdtH>!((-!!~PEmt| zpwk3p=g5fyNPeK(M3Yyjv>qS^M3PmOcm^)E%;YQLUFgQh!l;!`r_)1OD$~3j(9Ce4 z*&Gh&ALnl6hq6>~Jxa;yQSzrACFko=^1B`-m+Mh&Pqb-I)Vl{-?D}Qf<7}Mu7Z2LD zokr(GSub!4TvpNq*A&4m#pIeV!{&2|Zzi`^^I)00*_Y9Qr)YA5zUMiY->iW7X@qE^ zdd*u7ZPy916*#u1#3jYj_jsV@0Q2c!ei z0qKBrKsq2DkPb)(qyy3c>40=VI`CgP(AswLRPgkfv+W({FI)`q&aUoDmwUp!eOLMi P28V_tSFc^aag+T9Oq{98 diff --git a/mp3-LOS/fsdir/pingpong b/mp3-LOS/fsdir/pingpong deleted file mode 100644 index 7b1714731794361face9849575e8af047af0575f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5445 zcmeHH&rcIk5PnM+T}YGmV$^WyVM+92K&yf`w1dA|1WH9wPkJKZplL6LLiJ(N&4z>o z`3L0ay+JQlNVXwr0tau#C_=KN8&Z>|^su_lywYfBjmE2Qlea&<`8wacZ{~FxqWy}Z zu=>@)e2l&}AFEmzpC4LlkuVEk%rtsJLdMy2>|8-hDS=Yz;kfW)LfYL-Yca=wU&n&w^cL4=wslaI8q{ ze29ai@U$~HwPV2-q;0fY@OjdLr;|&EpQxIl>h?Hp&wy$H><}f4=$g<3+lc6@302~B z365PPy%uB@M^Q<<>{p6S?U;#DAP1FfW`nGh<<^kODm8B4X1b=#eu=V8se3@Y14@qKPCzC;z9w{^{o>V9)X z55CLXT8S^wrW;XTQO1peY<&#RM&oV>9{GjtTDS3bIV_2XaBgvvd=|z(T&p_bbT!c!y}*If6`@ zn`f9FyR6Ztm?klC8{a)oltNY3vz&ZiqXu$oH7JnF8|%kk z8!@+DASUGLAWNO7ry8hdPqy=kAdVLX|ETlkFLcBXp^QueT%OigY8Z>MSQp-TUa_!m zxMy&R2{VB^aEt%uqd!xJclLtsAbp+*I4!?@L3fA%eK^Bv)K5m!Y8Ql zZZA|P-`0MM@~bNkl6Of&UeW>SfOJ4QARUknNC%_?(gEp!bU->F9gq(E4-Ry7pF9;l kedcUWZ{PU~5$L~o>GGAU(b&MX!J*;!NaFhFjhkca2XXM*2><{9 diff --git a/mp3-LOS/fsdir/shell b/mp3-LOS/fsdir/shell deleted file mode 100644 index 84c531e7491f14224f984e736db4673528ec0b93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5605 zcmeHHO>Em_7=GQl;6;@j4oryc;DeFI1+}bWEkbBNb;m~c(`A7T*uibhmJuggW^1do zZ0($iSk|Omdf~{0Bey8xLTFLT#3pSABu*R)kYU34%E!S;166Do4zr-Y0!=g%c zxpW{1f`9lc2)bIwDRu(;_1f8<(!N6Bn=%rXiXHYBlxz>>8dF+-1py>TF8z+DTBV1R zV$M&9c;Pmeeq?LUoxh{|Yn4hRRYRD(&s52qR)@VaYV!W#r)#MicCro19`$p%fBh(* zjDD2QLqE!=pdXdCMR#nACbmHv-#ib3OLU1&HC}~{6`U-mmE6#LaH%Odnj|=ykDf|$ zl}dH{Pfzpju7Txg!*VqVyv$P=lvnBze^>zXxARPMTCaiWqVZot9%oMCSDaTQG0N=- z^_-U2+|^aGcXTTl?J9;LEQM8ReAW6TqRQ0=5hPdZ?!z~KaF6@l0wL%WlVrcul{(Q? zw-Sz-6vE&O*ZKKBtP}1~YlG=(zEhOQK8>Q*X#}%V7uL}?>{)9y(_R`o@ZE>svAa*7 zxDRl$J*^{G7y19dUB#zUPC6RCp&laZ`ec94-&Q0C@3{An^|aQOgXmj_mAMkcNBGb; zgs>=|ZjFTnwwv#wgh6f@TH(8^gK6A5AwcDU=&_8(cLc}e#`_am=f=G#7t7yWqm-o= ztW55LvUg%sNnJFu*#zP7Wa@o|3Wh$fd|t?#$`{7MY+f(mP0wVF`2-o)GZy9Y%2j*r zqB55^O+5z`*X2U~LP0kb%P5$coNgKO%Itz-T%R*8TbX?B-#GegE?+S9Y<3}Juu^=* z4#W<`4#W<`4#W<`4#W<`4#W<`4#W<`4#W=ppBxw&eS7cNzIXPIPaHgScv71>^1;z# XA5I@Xaq`s6>C~C@M<1U(_X+(CbMzGX diff --git a/mp3-LOS/fsdir/sigtest b/mp3-LOS/fsdir/sigtest deleted file mode 100644 index 896c34f0850ac069678e634000a96d646728c2e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6224 zcmeH{Z)h8J7{{M$uk#uT$(v$9(GxN@p_F8;a~t)~>~8BctL?I=o861Exwfg7i(c-O zf~DQA)gB?xH-hY)3ceHk1KH^tV=Jvih3$p-Zpd&DNf-(R13Qe*^UGzpOJKg1JGkH7 zeV#wR=l6Ynzgw0PCpnIT*3|{wKwsal^1=u{e-)aR5fIUG5PD%BvopHF3xM|{=tFl8 z!3Z$Bh~MG|yg>JU#4)`0dG@JWMw(vz*8>Q6yo-q_Z~gX1<4reZ-or~kcs-5>R` zKYW=NS}87LB+WQ%F-CbR8jeof7ksnnD9}`1Y0XM70xDO#0BoslE!7+5W6roQ_7jS| zTW59o!*SGV8@Pg0-(KyZWr8#Bi_!h_uoX`u4VQWn7(dFH4?1u7qDIkP?ROS^c>mo3 zsM-Q6<pIydb9J`HE z)oJHbU-0J`T)p6Y=EGMAk2zoZutj*#DfzHUxZnB8hf|21O&@#~A+}N=p^DNSZ==wH zD+9a)$z|X6WEyTPrSslS>6Euq`pvY{-i|cXfmU|#yez;1Oji0Ejm8GsyOABqMPH~2 zmLzbN96jm3^AV=UT_n&a zo^@(D(wl!b8s666s}Hp@nZ2zF;;oF#gj35 zQn&)wzWz0-``4fLHT=urZ!26{q5nM{pS|^nCGBy3N6PDh`3*XF=}MY*s%!V2809>Ws4sb$y-*WT<-;j_*FtamkE*Rk<+&dO5b-J??d zogbUAIQ{Mx%;ZcpEowPK)D<}`%KDs{RWu_6r?tExt7=A@6Z4rlO;*KuSxc*mo)5uz zW>9>4UN#Qo#l@Vdi<+EOo)KY8)(&`ih={X#E-SvSEWVbL_4E*iDXN+q6d`ZU%qV%x zGb?9QQ&(s&CzZKb*;EbRWa13gpri*GHnYb>h=m{?ffv-rmo?#LU3G__3V8oq$UJcpg^ENpg^ENpg^ENpg^EN zpg^ENpg^ENpg^F&|6PGt{Lt{o6NjHXa`gCfV<)7Or^Zh||3c!-#EX+tXOrhrFTMQA J`3wKn;2+AezhwXb diff --git a/mp3-LOS/fsdir/syserr b/mp3-LOS/fsdir/syserr deleted file mode 100644 index 7d6c4c2eb2adb25578619150a03ea62c3595a8ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8037 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 diff --git a/mp3-LOS/fsdir/verylargetextwithverylongname.txt b/mp3-LOS/fsdir/verylargetextwithverylongname.txt deleted file mode 100644 index a5e31d9..0000000 --- a/mp3-LOS/fsdir/verylargetextwithverylongname.txt +++ /dev/null @@ -1,33 +0,0 @@ -very large text file with a very long name -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -12345678901234567890123456789012345678901234567890123456789012345678901234567890 -ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ -ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ -abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz -~!@#$%^&*()_+`1234567890-=[]\{}|;':",./<>?~!@#$%^&*()_+`1234567890-=[]\{}|;':",./<>?~!@#$%^&*()_+`1234567890-=[]\{}|;':",./<>?~!@#$%^&*()_+`1234567890-=[]\{}|;':",./<>?~!@#$%^&*()_+`1234567890-=[]\{}|;':",./<>?~!@#$%^&*()_+`1234567890-=[]\{}|;':",./<>?~!@#$%^&*()_+`1234567890-=[]\{}|;':",./<>?~!@#$%^&*()_+`1234567890-=[]\{}|;':",./<>? diff --git a/mp3-LOS/gitignore b/mp3-LOS/gitignore deleted file mode 100644 index 856138c..0000000 --- a/mp3-LOS/gitignore +++ /dev/null @@ -1,114 +0,0 @@ -# ECE 391 gitignore -# Author: Lavin Devnani (devnani2) -# -# Permission to use, copy, modify, and distribute this software and its -# documentation for any purpose, without fee, and without written agreement is -# hereby granted, provided that the above copyright notice and the following -# two paragraphs appear in all copies of this software. -# -# IN NO EVENT SHALL THE AUTHOR OR THE UNIVERSITY OF ILLINOIS BE LIABLE TO -# ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL -# DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, -# EVEN IF THE AUTHOR AND/OR THE UNIVERSITY OF ILLINOIS HAS BEEN ADVISED -# OF THE POSSIBILITY OF SUCH DAMAGE. -# -# THE AUTHOR AND THE UNIVERSITY OF ILLINOIS SPECIFICALLY DISCLAIM ANY -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE -# PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND NEITHER THE AUTHOR NOR -# THE UNIVERSITY OF ILLINOIS HAS ANY OBLIGATION TO PROVIDE MAINTENANCE, -# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." -# - -# C - https://github.com/github/gitignore/blob/master/C.gitignore -# Prerequisites -*.d -*.DS_Store - -# Object files -*.o -*.ko -*.elf - -# Linker output -*.ilk -*.map -*.exp - -# Precompiled Headers -*.gch -*.pch - -# Libraries -*.lib -*.a -*.la -*.lo - -# Shared objects (inc. Windows DLLs) -*.dll -*.so -*.so.* -*.dylib - -# Executables -*.exe -*.out -*.app -*.i*86 -*.x86_64 -*.hex - -# Debug files -*.dSYM/ -*.su -*.idb -*.pdb - -# Kernel Module Compile Results -*.mod* -*.cmd -.tmp_versions/ -modules.order -Module.symvers -Mkfile.old -dkms.conf - -# C++ - https://github.com/github/gitignore/blob/master/C%2B%2B.gitignore -# Prerequisites -*.d - -# Compiled Object files -*.slo -*.lo -*.o -*.obj - -# Precompiled Headers -*.gch -*.pch - -# Compiled Dynamic libraries -*.so -*.dylib -*.dll - -# Fortran module files -*.mod -*.smod - -# Compiled Static libraries -*.lai -*.la -*.a -*.lib - -# Executables -*.exe -*.out -*.app - -# 391 specific -*.qcow -source/ - diff --git a/mp3-LOS/student-distrib/DEBUG b/mp3-LOS/student-distrib/DEBUG deleted file mode 100644 index 59ee97a..0000000 --- a/mp3-LOS/student-distrib/DEBUG +++ /dev/null @@ -1,7 +0,0 @@ -DEBUGGING MP3 -=============== - -The only steps that need to be taken on the virtual machine for debugging -using qemu is to perform a "sudo make debug" (after "make dep"). This will build the disk image needed for QEMU and gdb. - -Refer to the handout for instructions on starting QEMU and gdb. diff --git a/mp3-LOS/student-distrib/INSTALL b/mp3-LOS/student-distrib/INSTALL deleted file mode 100644 index 90c3320..0000000 --- a/mp3-LOS/student-distrib/INSTALL +++ /dev/null @@ -1,17 +0,0 @@ -ECE391 MP3 - Operating System Project -===================================== - -To get this skeleton OS running on QEMU, you must do the following steps: - -"make dep" -"sudo make" - -to build the OS (it is called bootimg) and the QEMU disk image (mp3.img) - -You can then follow the instructions in Appendix G to setup your -debug.bat batch script. - -If you would like to run MP3 without having to connect gdb (When you are done -and have removed all your bugs for example), you can duplicate the debug.bat -batch script and remove the -s and -S options in the QEMU command. This is -will stop QEMU from waiting for GDB to connect. diff --git a/mp3-LOS/student-distrib/Makefile b/mp3-LOS/student-distrib/Makefile deleted file mode 100644 index fca08c3..0000000 --- a/mp3-LOS/student-distrib/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -# Makefile for OS project -# To build, first `make dep`, them `make`. Everything should be automatic. -# Will compile all *.c and *.S files in the current directory. - - -# Flags to use when compiling, preprocessing, assembling, and linking -CFLAGS+=-Wall -fno-builtin -fno-stack-protector -nostdlib -ASFLAGS+= -LDFLAGS+=-nostdlib -static -CC=gcc - -#If you have any .h files in another directory, add -I