Giter Site home page Giter Site logo

mips's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mips's Issues

Memory Paging

Create a Memory Paging system to improve memory usage

Multi File Editing

Allow multiple files to be opened at once
Each file will be a tab alongside the top of the formatted text area
The file to act as the main will be the first tab to the left

Revamp the logging system

Convert all logging to use the java logger
add logging file so logs are saved

show the plugin name for every log it generates

Plugin Folders

Create a Plugin Folder System to allow each plugin to have and manage their own folder

Folders will be created with the same name and in the same directory as the plugin

Add Support for Multiple Assembly languages

Move to a plugin based system for assembly compiling and machine code execution

requirements

  1. Has SystemCall Plugin dependencies.
  2. Any SystemCall Plugins that are NOT written for the ISA will be disabled or unloaded and any Plugins that ARE written for the IAS will be loaded or enabled.

Replace current register GUI with a panel unique to each ISA to display internal state of CPU however fit

Runtime system calls will still be registered through the SystemCall plugin handler so that new system calls will be registered the same for all ISA implementations.

Assembly will be handled (Havent decided yet)
Other

Dependency System

Implement a dependency system for plugins

ex:
plugin x requires plugin y and z in order to work

Using Systemcall SCREEN_IS_KEY_PRESSED causes crashes at randon

When using the SCREEN_IS_KEY_PRESSED system call this error can happen

[Error] [RunTime] [System Call] System Call: SCREEN_IS_KEY_PRESSED from plugin: Screen
java.lang.NullPointerException
        at org.parker.mips.plugin.internal.syscall.Screen.isKeyPressed(Screen.java:85)
        at org.parker.mips.plugin.internal.syscall.ScreenSystemCalls$1.handleSystemCall(ScreenSystemCalls.java:26)
        at org.parker.mips.plugin.syscall.SystemCallPluginHandler.SystemCall(SystemCallPluginHandler.java:110)
        at org.parker.mips.processor.InstructionDecode$4.runInstruction(InstructionDecode.java:62)
        at org.parker.mips.processor.InstructionDecode.runInstruction(InstructionDecode.java:598)
        at org.parker.mips.processor.Processor.singleStep(Processor.java:116)
        at org.parker.mips.processor.Processor.run(Processor.java:70)
        at java.base/java.lang.Thread.run(Thread.java:834)

Fixed potential Memory leak in respect to Option observers

Whenever a new GUI was created that registered a value observer on an option the observer would not be removed at the end of the GUI component lifetime, This would also keep reference to any objects inside the observer. Now options are registered with a linked observer. an object (normally the caller) is passed into the addLinkedObserver method. This allows for the observer to be removed when the object is at the end of its lifetime (normally called when the window closes)

Finish definline PreProcessing statement

-add automatic memory label remapping to allow users to have non interfering memory labels inside of each inline command
-add option to have each statement be compiled ahead of time(cannot access memory lables outside of definline if this option is used)

Remake Live Memory Editor / Viewer

For many updates the Live Memory Editor / Viewer has been ignored
-Allow for different views (dec, hex, bin, ascii)
-Allow live editing of memory values
-Allow for searching of memory by index or by memoryLable names
-Possibly allow for memory to be highlighted in a range say index 100- index 200 or MemoryLable1: - MemoryLable2:

Unify Documentation

Move all of the compiler Documentation into one HTML File
also Make appearance better?

Better Error Logging

Re write the error logging system inorder to give better indications of what has gone wrong

-This Mostly Applies to Loading and running plugins

GUI refinement

Optimize the GUI so the frame wont lag as much when autoUpdating during the CPU auto run

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.