Giter Club home page Giter Club logo

babakanoosh / visual-ssbc Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 269 KB

A visual debugger/interpreter for Dr. Peter Walsh's Simple Stack Based Computer. This is for students of CSCI 261 learning SSBC – the latest in vexatious 8-bit turing-complete tedium – who want to understand why their code keeps faulting.

Home Page: https://babakanoosh.github.io/Visual-SSBC/index.html

License: GNU General Public License v3.0

HTML 15.86% JavaScript 73.21% CSS 10.92%
interpreter ssbc viu csci 261

visual-ssbc's Introduction

SSBC - Simple Stack Based Computer

The SSBC is a simple turing complete system with only 11 instructions.

Visual SSBC

This is a simple web-based interpreter and debugger for the machine. Run it in the browser over at babakanoosh.github.io/Visual-SSBC/index.html.

Origin

Original machine specifications developed by Dr. Peter Walsh at VIU and used for CSCI 261 - Assembly Languages. This web interpreter was originally developed by Dr. Julie Beeston and hosted on her website.

Now

It is being updated by a student at VIU.

The op-codes have been updated to work with the latest SSBC version. The "GUI" has been slightly re-done for ease of use. The code has re-structured, re-formatted, and re-factored for maintainability and updatability.

Development (Present & Planned)

  • V1_1_alpha_2 debugger

    • Simple Debugger....more info later todo
  • V1_1_alpha_1 full specification emulation

    • Code and Memory-mapped I/O are now on the stack. (Yup, the code and memory can overwrite each other!) todo
    • Full size of stack. todo
  • Visual SSBC 1.0

    • Features:

      • New HTML layout.
      • Stack and code table are scrollable.
      • Stack and code have Dec and Hex line numbering.
      • Console based debugger. Press F12 or CTRL+SHIFT+I to view output
    • Improvements:

      • Basic user input checking to prevent stupid mistakes.
      • Increased size of stack. (48 -> 1024 Bytes)
      • Increased size of code. (256 -> 1024 Bytes)
    • Bug Fixes:

      • Bytes no-longer change from binary to decimal during execution.
      • Various bug fixes in the execution routine.
  • V1_beta

    • bug fixes todo
  • V1_alpha_2 new features

    • Increased size of stack. (48 -> 1024 Bytes)
    • Added a nav bar
      • SSBC documentation
      • Interpreter settings
      • Interpreter info
  • V1_alpha fixing what we have

    • New HTML layout!
    • Interpreter actually works with new HTML layout.
    • Stack and code table scrollable.
    • Simplified HTML structure and removed rendundant stuff.
    • Increased size of stack. (48 -> 512 Bytes)
    • Increased size of code. (256 -> 1024 Bytes)
    • Stack and code now have Dec and Hex line numbering.
    • Code is now just vertical, not the previous confusing horizontal wrap around design.
    • Bytes no-longer change from binary to decimal during execution.
    • Stack and Code area size filled in by javascript DOM code to avoid HTML clutter.
    • Various bug fixes in the execution routine.
    • Basic user input checking to prevent stupid mistakes.
  • Original++ (master) fixed the most essential things

    • Updated opcodes to latest SSBC specification.
    • Can't see full stack.....so stack is now scrollable.
    • Resetting and reloading code is now possible without reloading the webpage.
    • Added some UI headers.
  • Original

visual-ssbc's People

Contributors

babakanoosh avatar danthemango avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

danthemango

visual-ssbc's Issues

16-Bit SP

16-Bit SP for ARTN accuracy.
Will also fix the bug where only 0-255 is addressable.

Input Padding

Add padding to inputs .
Entering "10" into an input should yield "00000010" NOT "10"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.