-
Notifications
You must be signed in to change notification settings - Fork 57
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
106 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,48 +1,83 @@ | ||
# EduMIPS64 version 1.2.10 | ||
# EduMIPS64 version 1.3.0 | ||
|
||
*5th of March, 2021* | ||
*16th of October, 2023* | ||
|
||
EduMIPS64 is a GPL MIPS64 Instruction Set Architecture (ISA) simulator and graphical debugger. | ||
|
||
## Notes for this release | ||
|
||
This is version 1.2.10 of EduMIPS64. Its codename is **FP - Freedom and Peace**, because | ||
of the ongoing conflict in Ukraine, which is being invaded by Russia. Freedom and Peace | ||
is what I wish right now to the Ukrainians. | ||
This is version 1.3.0 of EduMIPS64. Its codename is **Lourdes**, as the release is being | ||
published from the french city of Lourdes, home to the Sanctuaire Notre-Dame de Lourdes. | ||
|
||
This is mostly a bug-fixing release: issues #450, #646 and #304 (for the second time) were | ||
fixed. In terms of development changes, we moved to JDK (and JRE) 17 and we fixed the Snapcraft | ||
packages for the `armhf` architecture (among others). The latter means that EduMIPS64 is | ||
available on Raspberry PI via `snap`! | ||
Many complex conflicts are currently plaguing our world. We wish for reason and human | ||
kindness to prevail over reasoning that can only lead to destruction and death, and for | ||
those conflicts to end peacefully as soon as possible. | ||
|
||
This version contains contributions from the following people, listed in no particular order: | ||
This release contains some small improvements, a whole new translation for the simulator | ||
and its documentation and a breaking change. | ||
|
||
* @hugmanrique and @jcarletta - reported 2 critical bugs and provided MIPS64 code to reproduce them, | ||
which I was allowed to incorporate as regression tests. | ||
* Andrea Spadaccini - [**@lupino3**](http://github.com/lupino3) | ||
Let's start from the last one. | ||
|
||
Please keep in mind that this is still EXPERIMENTAL SOFTWARE. It may | ||
BURN YOUR HARD DISK, DESTROY ALL YOUR DATA and even GO OUT WITH YOUR | ||
PARTNER. :) | ||
### Fixing DMULU | ||
|
||
If you find a bug, please open an issue on GitHub. | ||
`DMULU` was historically implemented using a syntax that was made incorrect by Release 6 | ||
of the MIPS64 ISA in 2014. This version of EduMIPS64 changes `DMULU` to use the new, | ||
correct syntax, and therefore it will break all code using the old `DMULU` syntax. | ||
|
||
EduMIPS64 is hosted on GitHub: www.github.com/EduMIPS64/edumips64. | ||
Porting old code to the new code is pretty simple, as the old version store the results | ||
of the multiplication in the `LO` register, requiring an `MFLO` instruction to fetch it, | ||
while the new version allows users to directly specify the target register. | ||
|
||
While the old code may have looked like the following: | ||
|
||
``` | ||
[...] | ||
DMULU r1, r2 | ||
MFLO r3 | ||
[...] | ||
``` | ||
|
||
The new code should instead be: | ||
|
||
``` | ||
[...] | ||
DMULU r3, r1, r1 | ||
``` | ||
|
||
This is exactly how our internal tests changed, see [code](https://github.com/EduMIPS64/edumips64/commit/897f559ebda971760aae0bcad949b3cf38847b02#diff-24af5fcdf7f63916c891371766a8dc7875e89634fb6dfd5dad34d5b1969846e7). | ||
|
||
Our web site is www.edumips.org, and our development blog is http://edumips64.blogspot.com. | ||
|
||
## Main changes since 1.2.9 | ||
### Simplified Chinese Translation | ||
|
||
### Added | ||
Thanks to the effort of @smallg0at, EduMIPS64 now is fully translated to Simplified Chinese, | ||
including the in-app documentation and the HTML/PDF docs. | ||
|
||
* New Snapcraft packages for armhf (e.g. Raspberry PI) and other architectures | ||
This change had us find and fix several smaller bugs related to rendering non-ASCII (and non-Italian) | ||
characters, as well as trying to get Sphinx to properly emit Simplified Chinese docs. We haven't | ||
fully succeeded, so the PDF has to be rendered through readthedocs.io, but it is usable and | ||
we have all the needed artifacts. | ||
|
||
### Fixed | ||
Huge thanks to @smallg0at for this contribution! | ||
|
||
* Parser incorrectly interprets hexadecimal immediates (Issue #450) | ||
* Some floating-point division cycles missing in Cycles window (Issue #646) | ||
* Infinite RAW stall in floating-point code (Issue #304) (yes, *again*) | ||
## Special mention: new Web UI | ||
|
||
### Changed | ||
@smallg0at also implemented a brand new, IDE-like layout for the Web UI, which is already deployed | ||
to https://web.edumips.org. This is a major step forward in having a fully-functional version | ||
of EduMIPS64 on the web. Thanks agains, @smallg0at! | ||
|
||
Also thanks to @pviotti for doing the foundational work of migrating to more recent major versions | ||
of React and Material UI, which made this work possible. | ||
|
||
## Other changes | ||
|
||
We also added the `DMUHU` instruction (pretty similar to `DMULU` in terms of implementation), fixed | ||
a few documentation issues (thanks @galloj and @winstonpurnomo) and also changed the look and feel to | ||
be more modern (goodbye, Metal!). | ||
|
||
## The usual conclusion | ||
|
||
If you find a bug, please open an issue on GitHub. | ||
EduMIPS64 is hosted on GitHub: www.github.com/EduMIPS64/edumips64. | ||
|
||
* Migrated to JDK (and JRE) 17 | ||
Our web site is https://www.edumips.org. | ||
The web version of EduMIPS64 is available at https://web.edumips.org. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
version=1.2.10 | ||
codename="FP - Freedom and Peace" | ||
version=1.3.0 | ||
codename="Lourdes" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
#!/bin/sh | ||
|
||
$SNAP/usr/lib/jvm/java-17-openjdk-$SNAP_ARCH/bin/java -jar -Djava.util.prefs.userRoot="$SNAP_USER_DATA" $SNAP/jar/edumips64-1.2.10.jar $* | ||
$SNAP/usr/lib/jvm/java-17-openjdk-$SNAP_ARCH/bin/java -jar -Djava.util.prefs.userRoot="$SNAP_USER_DATA" $SNAP/jar/edumips64-1.3.0.jar $* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters