This is my attempt to implement a Xilinx PicoBlaze assembler and emulator in JavaScript. My Computer Architecture professor Ivan Aleksi asked me to make it in case physical laboratory exercises need to be canceled because of a pandemic. You can see the assembler and the emulator live on my website and on SourceForge (let's hope it will never happen that both of them are down right when you need a PicoBlaze assembler and emulator). I try my best to make it work on both places in Firefox 52 and newer browsers at all times. Or, if you want to try the version which has more features, but potentially has bugs, you can try where a version of this program is hosted on @agustiza's website.
Right now, this program has no back-end. Maybe I will add some back-end to enable users to share their own examples and comment on other users' examples later, but, for that, I will need to learn quite a bit of PHP, and it will work only on SourceForge because GitHub Pages supports no back-end scripting.
The documentation, in Croatian, is available in the seminar
folder, in DOCX, DOC, ODT, PDF and RTF formats.
If you want to host this project yourself, you might want to edit the lines following the 17th line of the PicoBlaze.html
file:
<script>
var URL_of_JSON_with_examples =
"https://flatassembler.github.io/PicoBlaze/examples.json",
URL_prefix_of_the_examples =
"https://raw.githubusercontent.com/FlatAssembler/PicoBlaze_Simulator_in_JS/master/";
</script>
and modify them to point to where you will host the examples.
Note to the contributors: While there are some JEST tests in this project, the test coverage is pretty low, so don't rely solely on them. Please do some manual testing. And, if possible, do that manual testing in Firefox 52 (the last version of Firefox to work on Windows XP, and it's also the version of Firefox that comes with Solaris 11.4), as it is important to me not to break the compatibility with Firefox 52. Many computers at my university are running Windows XP and are using Firefox 52 as the browser, and it is important to me that this program works on those computers.
UPDATE on 24/01/2021: I've started developing a version of this app for Android. As I am not a skilled Android developer, any help will be appreciated.
UPDATE on 18/07/2023: I have started a forum.hr thread where I listed non-trivial problems I currently have with my PicoBlaze Simulator.