Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/brenns10/yams

YAMS: Awesome MIPS Server
https://github.com/brenns10/yams

assembly brainfuck http-server java mars mips

Last synced: 3 months ago
JSON representation

YAMS: Awesome MIPS Server

Awesome Lists containing this project

README

        

# yams

YAMS: Awesome MIPS Server

## Team HKNSoc (pronounced “hack-in-sock”)
- Stephen Brennan (smb196)
- Katherine Cass (krc53)
- Jeffrey Copeland (jpc86)
- Andrew Mason (ajm188)
- Thomas Murphy (trm70)
- Aaron Neyer (agn31)

## Description

This project is a static HTTP server in MIPS, using MARS as a simulator.
Sockets are implemented by extending MARS syscalls in Java. The server serves
static content from the `html` directory. Features of YAMS include:

* Limited support for GET and POST requests, and standard HTTP responses.
* Support for serving large files (albeit slowly).
* Brainfuck interpreter accessed via POST request:
* A web interface for this is available at `brainfuck.html`.
* Code is POSTed to `/load`.
* Input is POSTed to `/run`, and output is returned.

### How to Load Required Javascript Submodules

YAMS serves all required resources for our webpages. One resource, for our
presentation, is `reveal.js`. We linked to their git repository. If you got
this by cloning the repository, you'll need to load the submodule.

* Run `git submodule init`.
* Run `git submodule update`.

### How to Run Modded MARS

This has been tested on Linux and Mac. It almost certainly supports Windows,
however we have not tested this. We cannot guarantee lack of unexpected
behavior. Our extension to MARS requires Java 7+ to compile correctly.

- Run `make mars`
- Call `java -jar Mars4_5-SockMod.jar` (or double click the JAR, or something)
- Enjoy!