A computer system simulator (CPU, memory, peripherals) written in Java. The intent is to create not only a basic working simulation, but a look and feel of the simulated system.
Releases are available as Tags: https://github.com/ComputingMongoose/JavaSystemSimulator/tags
Pre-built jar files are available for each release. The syntax for running the simulator is:
java -jar JavaSystemSimulator.jar <simulation_folder>
The simulation folder must contain a simulation.json file with the simulation configuration and any required resource files (for example ROM images).
Example simulations are available in the Simulations project: https://github.com/ComputingMongoose/Simulations
Some CPU implementations make use of the JSSCPUSpecCompiler with a CPUSpecification file. You don't need these two projects to run the JavaSystemSimulator. However, if you plan to write code for a new CPU, you may find these two projects useful.
More documentation and tutorials are available on my website: https://computingmongoose.github.io/jss/about.html
Checkout my YouTube channel for videos about this project: https://www.youtube.com/@ComputingMongoose/
Checkout my website: https://ComputingMongoose.github.io
For any part of this work for which the license is applicable, this work is licensed under the Attribution-NonCommercial-NoDerivatives 4.0 International license. See LICENSE.CC-BY-NC-ND-4.0.
Any part of this work that is known to be derived from an existing work is licensed under the license of that existing work. Where such license is known, the license text is included in the LICENSE.ext file, where "ext" indicates the license.