This page enables you to save the current configuration of the simulator locally (under a specific name) so that you may load it next time you use FRISCjs. Currently, a configuration consists of the FRISC assembly program defined in the editor, the CPU speed, memory size and the set of defined I/O units. In the future, the configuration might be extended to include defined breakpoints, CPU state, etc. Furthermore, this page enables you to export configurations in text format so that they can be shared (e.g. via e-mail) and saved externally (e.g. as a GitHub gist), and import previously exported configurations. In order to save/load and import/export, the simulator must be in a stopped state.
This page contains examples for using FRISCjs. Each example is given as a brief description and a link to a configuration which can be loaded using the Load/Save tab. Just copy/paste the configuration into the import box and click "Import".
This most basic example adds values from registers R0 and R1 and stores the result into R2.
This example doesn't do anything useful, but contains every FRISC instruction. Useful for testing and debugging.
This example uses a FRISC CT IO unit for simple counting - an in-memory counter is incremented for every 400 periods of the FRISC CT unit. The configuration contains a FRISC CT unit configured at 1000Hz.
This example uses a FRISC PIO IO unit for reading 40 data items. The configuration contains a FRISC PIO unit configured at 1000Hz.
This example uses a FRISC DMA IO unit for transferring 1000 4-byte words from an IO unit mapped on 0xFFFF3330 to memory starting from location 0x4000, using halting transfer mode.
FRISCjs is a simulator of the FRISC processor written in JavaScript. FRISC is a simple, educational RISC processor developed at the University of Zagreb, Faculty of Electrical Engineering and Computing. The simulator has two parts: a FRISC assembler (built using PEGjs) which translates FRISC assembly code to machine code and a FRISC CPU simulator which executes machine code. This Web application is a graphical interface for the simulator, while there also exists a console interface which runs on NodeJS.
The complete source code for FRISCjs and this Web application is available on GitHub. Please use the GitHub issue tracker for reporting bugs and feature requests.
FRISCjs was developed by Ivan Zuzak. License: Apache 2.0. Contributors: Ivan Budiselic, Stanko Krtalic.
FRISCjs is built with many open-source projects: PEGjs, NodeJS, jQuery, Bootstrap, Ace, Mustache and Keymaster.