This night, it occurred to me how I could simplify the algorithm I use to parse if-else-branches and while-loops in PicoBlaze Assembly. So, today, I implemented that simplified algorithm: https://github.com/FlatAssembler/PicoBl ... /parser.js
The resulting AST is, unless I am mistaken, the same for every possible input to the parser.
PicoBlaze Simulator in JavaScript
-
- Master of the Forum
- Posts: 1449
- Joined: Tue Oct 27, 2015 3:46 pm
- Diet: Vegan
-
- Master of the Forum
- Posts: 1449
- Joined: Tue Oct 27, 2015 3:46 pm
- Diet: Vegan
Re: PicoBlaze Simulator in JavaScript
Yesterday, I tried to reproduce this weird bug in the preprocessor in a minimal reproducible example, but failed: https://github.com/FlatAssembler/PicoBl ... S/issues/8
-
- Master of the Forum
- Posts: 1449
- Joined: Tue Oct 27, 2015 3:46 pm
- Diet: Vegan
Re: PicoBlaze Simulator in JavaScript
I just merged the first pull request I got on my PicoBlaze Simulator: https://github.com/FlatAssembler/PicoBl ... JS/pull/10
Apparently, there was a bug in the way I implemented the `sra` bit-shifting directive. Still, GitHub forks and stars won't help me pass my cybernetics test next week.
Apparently, there was a bug in the way I implemented the `sra` bit-shifting directive. Still, GitHub forks and stars won't help me pass my cybernetics test next week.
-
- Master of the Forum
- Posts: 1449
- Joined: Tue Oct 27, 2015 3:46 pm
- Diet: Vegan
Re: PicoBlaze Simulator in JavaScript
OK, in the meantime, that agustiza and I made a few automated tests using the JEST framework.
-
- Master of the Forum
- Posts: 1449
- Joined: Tue Oct 27, 2015 3:46 pm
- Diet: Vegan
Re: PicoBlaze Simulator in JavaScript
I modified the header of my PicoBlaze assembler and emulator to mention Agustin Izaguirre as an author. I guess it looks more professional if it's immediately obvious that it's an international open-source project. Maybe it motivates somebody else to join us.
-
- Master of the Forum
- Posts: 1449
- Joined: Tue Oct 27, 2015 3:46 pm
- Diet: Vegan
Re: PicoBlaze Simulator in JavaScript
I've tried to speed things up in my PicoBlaze Simulator by adding a checkbox enabling the user to disable updating registers and flags on every step. The "Fibonacci Sequence" example, on my machine, runs in 54 seconds if displaying registers and flags is enabled, and it runs in 27 seconds if they are disabled. That's a significant speed-up, but not as much as 12 times (down to 5 seconds) as Agustin Izaguirre claimed was possible to speed it up by disabling DOM manipulation.
-
- Junior Member
- Posts: 82
- Joined: Thu Dec 22, 2022 3:50 pm
- Diet: Vegan
Re: PicoBlaze Simulator in JavaScript
Sorry I didn't keep up, it's been forever, how did your project go? My html is a bit further along and can be downloaded directly single file now, do you know who did this forum? Very fast loads, I'm just using GAS and Google Drive
-
- Master of the Forum
- Posts: 1449
- Joined: Tue Oct 27, 2015 3:46 pm
- Diet: Vegan
Re: PicoBlaze Simulator in JavaScript
Well, a few important things have been going on with my PicoBlaze simulator in JavaScript:TelepathyConspiracy wrote:Sorry I didn't keep up, it's been forever, how did your project go?
1. I noticed that "Download Hexadecimal" doesn't work in WebPositive (the WebKit-based browser that comes with HaikuOS). Which is concerning as it suggests that perhaps it doesn't work in Safari either (because Safari is also WebKit-based).I don't have access to any iPhone or iMac to test that myself.
2. Agusting Izaguirre is no longer responding to my messages. Which means I am alone again.
3. I got a C from my Bachelor thesis, which describes that PicoBlaze simulator. The vast majority of students at my university get either A or B from their Bechelor thesis. In my opinion, it is very unfair that I got a C, because it shows that academia values sciency style of the documentation more than working software. But the good news is that I now have a diploma for my Bachelor degree.
4. My mentor told me to delete the documentation from GitHub, as it is supposedly a copyright infringement of the DABAR repository of Bachelor theses. Now only the presentation (in PPT, PPTX and ODP formats) is available on GitHub.
5. Recently, I noticed a bug causing the Program Counter labels not to be deleted when the next breakpoint is reached, and I fixed it.
-
- Master of the Forum
- Posts: 1449
- Joined: Tue Oct 27, 2015 3:46 pm
- Diet: Vegan
Re: PicoBlaze Simulator in JavaScript
Today, I've found another easy-to-fix bug and fixed it: https://github.com/FlatAssembler/PicoBl ... /issues/21
-
- Master of the Forum
- Posts: 1449
- Joined: Tue Oct 27, 2015 3:46 pm
- Diet: Vegan
Re: PicoBlaze Simulator in JavaScript
A few days ago, I noticed a very serious bug in the preprocessor of my PicoBlaze assembler. Namely, if the user misspells a preprocessor directive (e.g. `costant` instead of `constant`) inside a `while` loop or an `if` branching, the preprocessor would fail silently. I can't believe such a bug hasn't been noticed all until now. So, I made a new release with a fix to that problem.