Skip to content

Commit

Permalink
release: 1.3.0 (#819)
Browse files Browse the repository at this point in the history
  • Loading branch information
lupino3 committed Oct 16, 2023
1 parent c845db2 commit f7753dc
Show file tree
Hide file tree
Showing 6 changed files with 106 additions and 48 deletions.
35 changes: 19 additions & 16 deletions AUTHORS.md
Expand Up @@ -4,6 +4,25 @@

* Andrea Spadaccini - [**@lupino3**](http://github.com/lupino3)

## Contributors

* Alessandro Di Stefano - [**@aleskandro**](http://github.com/aleskandro)
* Maria Grazia Ciraulo - [**@GraziaCiraulo**](http://github.com/GraziaCiraulo)
* Paolo Viotti - [**@pviotti**](http://github.com/pviotti)
* Howard - [**@hbuie112358**](http://github.com/hbuie112358)
* Matthew Crumley - [**@silentmatt**](http://github.com/silentmatt)
* ancbro - [**@ancbro**](http://github.com/ancbro)
* Grandroid - [**@Grandroid**](http://github.com/Grandroid)
* Oscar Elhanafey - [**@Ooelhana**](http://github.com/Ooelhana)
* Miguel Pinto - [**@rocas777**](http://github.com/rocas777)
* Pimts - [**@pimts**](http://github.com/pimts)
* iwodder - [**@iwodder**](http://github.com/iwodder)
* jcarletta - [**jcarletta**](http://github.com/jcarletta)
* hugmanrique - [**hugmanrique**](http://github.com/hugmanrique)
* smallg0at - [**smallg0at**](http://github.com/smallg0at)
* @galloj - [**galloj**](http://github.com/galloj)
* @winstonpurnomo - [**winstonpurnomo**](http://github.com/galloj)

## Former core developers (in alphabetical order)

* Alessandro Nicolosi - [**@alenico84**](http://github.com/alenico84)
Expand All @@ -19,19 +38,3 @@
* Salvatore Scellato - <salvo.scellato@gmail.com>
* Simona Ullo - <simon.u@tiscali.it>
* Vanni Rizzo - <ascoltalatuasete@gmail.com>

## Contributors

* Alessandro Di Stefano - [**@aleskandro**](http://github.com/aleskandro)
* Maria Grazia Ciraulo - [**@GraziaCiraulo**](http://github.com/GraziaCiraulo)
* Paolo Viotti - [**@pviotti**](http://github.com/pviotti)
* Howard - [**@hbuie112358**](http://github.com/hbuie112358)
* Matthew Crumley - [**@silentmatt**](http://github.com/silentmatt)
* ancbro - [**@ancbro**](http://github.com/ancbro)
* Grandroid - [**@Grandroid**](http://github.com/Grandroid)
* Oscar Elhanafey - [**@Ooelhana**](http://github.com/Ooelhana)
* Miguel Pinto - [**@rocas777**](http://github.com/rocas777)
* Pimts - [**@pimts**](http://github.com/pimts)
* iwodder - [**@iwodder**](http://github.com/iwodder)
* jcarletta - [**jcarletta**](http://github.com/jcarletta)
* hugmanrique - [**hugmanrique**](http://github.com/hugmanrique)
20 changes: 20 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,25 @@
# EduMIPS64 ChangeLog

## 1.3.0 (16/10/2023) - Lourdes

## Added
- Simplified Chinese translation, both the in-application help and the HTML/PDF docs. (@smallg0at)
- `DMUHU` instruction.
- New, modern look & feel.
- Dev container for easier development.

## Fixed
- Documentation: fixed name of `SLTIU` (@galloj)
- Documentation: fixed `BGEZ`
- Documentation: fixed typo in dev docs (@winstonpurnomo)
- Lots of dependency updates :)

## Changed
- **BREAKING CHANGE**: `DMULU` is now correctly implemented according to MIPS64
Release 6 ISA, and not using the old WinMIPS64 syntax. This will break older
programs using the old syntax.
- Major update to web UI dependencies (@pviotti)

## 1.2.10 (05/03/2022) - FP - Freedom and Peace

### Added
Expand Down
91 changes: 63 additions & 28 deletions RELEASE_NOTES.md
@@ -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.
4 changes: 2 additions & 2 deletions gradle.properties
@@ -1,2 +1,2 @@
version=1.2.10
codename="FP - Freedom and Peace"
version=1.3.0
codename="Lourdes"
2 changes: 1 addition & 1 deletion scripts/edumips64-snap-wrapper.sh
@@ -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 $*
2 changes: 1 addition & 1 deletion snapcraft.yaml
@@ -1,5 +1,5 @@
name: edumips64
version: '1.2.10'
version: '1.3.0'
summary: A free visual and cross-platform MIPS64 CPU simulator.
description: EduMIPS64 is a free MIPS64 visual simulator and debugger, used as a teaching tool in Computer Architecture courses.
grade: stable
Expand Down

0 comments on commit f7753dc

Please sign in to comment.