EduMIPS64 (aka edumips) is a cross-platform MIPS 64 ISA simulator. It can be used to run and debug MIPS programs that are written using the MIPS64 instruction set. It supports visual debugging and lets you see what instructions do in the pipeline.
Be the first to post a text review of EduMIPS64. Rate and review a project by clicking thumbs up or thumbs down in the right column.
EduMIPS64 ChangeLog ------------------- 0.5.2 (17/04/2008) - Fixed a bug about a stall for synchronous exceptions and forwarding (max83t) - Fixed Java 6 Swing bug (andrea) - Fixed ReportDialog bug (mancausoft) - Fixed aligned read/write with labels (andrea) - Fixed MIPS32 alias visualization (thegoodgiant) 0.5.1 (24/08/2007) - Updated embedded manual with a SYSCALL page (jesky) - Parser bug fixes (mancausoft) - Memory bug fixes (mancausoft) - Added the MIPS alias to each register's name in the Registers window (andrea) - Fixed MOVN/MOVZ behavior (andrea) - Manual fixes (jesky) - Fixed Jump-after-Break bug (andrea) - Added debug info to svnjar (mancausoft) - Fixed OSX issues (mancausoft) 0.5 (05/06/2007) - Implemented a subset of MIPS32 instructions: * ADD, ADDI, ADDIU, ADDU * DIV, DIVU * MULT, MULTU * SLL, SLLV, SRA, SRAV, SRL, SRLV * SUB, SUBU - Added LO and HI registers visualization in GUI (max83t) - Bug fixes for the parser (max83t, mancausoft) - Bug fixes for the Error Dialog (mancausoft) - DSRAV fix (MIPS32 group) - Bug fixes for SYSCALL 1 and 5 (andrea) - Updated manual (MIPS32 group, andrea) - Clear button for the I/O window (andrea) - Fixed compilation under Java 6 (andrea) - Bug fix in the locale files (andrea) - Changed default interval between cycles from 100ms to 10ms (andrea) - Bug fix for negative labels in load/store instructions (mancausoft) - More graceful error window for erroneous memory access (andrea) 0.4.2 (22/04/2007) - Added DADDIU instruction, and marked DADDUI as deprecated (mancausoft) - New instructions: B, BGEZ, DMULTU, DDIVU (mancausoft) - Standard MIPS aliases for the first 32 registers (thegoodgiant, jesky, lorenzo) - Fixed a parsing bug with big values (mancausoft) - Fixed a bug regarding SynchronousException (mancausoft) - Updated all the manuals (andrea) - Bug fixes for the manuals (andrea) - Solved a bug that happened opening files (andrea) - Fixed DMULT in order to use HI and LO registers (mancausoft) - Solved a bug in the CPUGUIThread class that made the graphics not synced with the CPU status at the end of the execution (andrea) - Fixed the availability of some menus during the execution (andrea) - Fixed a bug that didn't allow the Dinero Tracefile to be written (andrea) - Changed the default Dinero Tracefile output filename (andrea) 0.4.1 (31/03/2007) - Corrected a bug in the LUI instruction (mancausoft) - Corrected a bug in the manual regarding the LUI instruction (andrea) 0.4 (18/03/2007) - New PDF manual (andrea) - Italian translation of the PDF manual (simona) - Fixed a bug in SYSCALL 5. (andrea) - #include command (mancausoft) - .word64 directive (andrea) 0.3.6 (10/10/2006) - Added the ability to mask synchronous exceptions and to make those exceptions stop the CPU (andrea) - Appended three dots to those menu items that open new dialogs, according to a widespread convention (andrea) - Removed an useless debug print in the BREAK instruction (andrea) - Changed the "Run to" text to "Run", the "Completa" text to "Esegui". and the "Esegui" menu text to "Esecuzione (andrea) 0.3.5.2 (17/09/2006) - Fixed applet behaviour. (andrea) - Fixed Parser recognizing of TRAP 0 and SYSCALL 0 (andrea) 0.3.5.1 (17/09/2006) - Fixed a bug in labels handling: now only case insensitive labels are accepted (andrea) - Fixed a bug in BitSet64 regarding bit alignment in unsigned bytes writing (andrea) - TRAP 0 is recognized as the end of the program, like SYSCALL 0 and HALT (andrea) 0.3.5 (17/09/2006) - Fixed the Memory and SymbolTable interfaces. Now all memory accesses via labels are done through the SymbolTable, and memory accesses via address are done through Memory. This object contains instructions and memory elements. I've removed all the old get() and set() methods that accepted an index in SymbolTable and MemoryElement. Now every access must be done using the address as a parameter. (andrea) - Fixed the "package" ant task, that builds automagically a .jar and a .tar.bz2 file from the edumips64 directory (andrea) 0.3.4 (17/09/2006) - Added command line options (andrea): -h (--help) shows a little help -f (--file) filenameopens a new file -d (--debug) enters debug mode - SYSCALL 1, 2, 3, 4 implemented! They are the EduMIPS64 equivalent of the open(), close(), read() and write() POSIX syscalls. More documentation will follow (andrea). - Makefile updated with the I/O icon (mancausoft) - The parser now recognizes SYSCALL 0 as HALT, and it doesn't complain if a SYSCALL 0 closes the program (mancausoft) - The HALT instruction is added to the list of deprecated instruction (mancausoft) 0.3.3 (09/09/2006) - The SYSCALL instruction is born! Right now only SYSCALL 0 and 5 work: . SYSCALL 0: acts exactly like the HALT instruction. [exit()] . SYSCALL 5: roughly acts like printf(), supporting only the following placeholders: %s (string), %d (integer), %i (same as %d), %% (literal %) SYSCALL works like WinDLX's SYSCALL: it expects in R14 the address of its parameters and places the return value in R1. SYSCALL 0 doesn't return anything, but SYSCALL 5 returns the number of bytes written to STDOUT. SYSCALL 5 is Dinero-friendly: it records every memory access it does in the tracefile. More documentation will follow. (andrea) - New TRAP instruction, alias of SYSCALL, added for the sake of compatibility with WinDLX. (andrea) - .ascii and .asciiz parser directives, used to save strings in memory. .ascii saves it in memory "as is", while .asciiz automatically adds a null byte at the end of the string. The backslash character is used to escape special characters (\n, \t, \0, \"). Here's the syntax: .ascii "string1"[, "string2"[, "stringN"]] - Added the BREAK instruction, that stops the execution as soon as it enters in the ID stage. (andrea) - Basic I/O window, that automagically pops up when something is written to STDOUT (andrea) - Made the Settings menu item gray when the CPU is running a program, to prevent race conditions on the configuration settings (andrea). - Solved a little bug that caused the cycles number not to reset correctly (andrea) - Added the version number to the statusbar welcome message (andrea) - Added the right locale entries for the log window's title. (andrea) - The .space instruction now accepts an hexadecimal parameter too. (andrea) - Parser code improvements and cleanups (mancausoft + andrea) - Corrected a bug that made fatal errors send the CPU in an infinite loop. At least, now we can read the log when there's a fatal error. (andrea) 0.3.2 (08/09/2006) - Integer overflow and division by zero exception handling. The execution is stopped if one of these exceptions is raised. This solved a previously unknown bug: after an integer overflow, EduMIPS64 entered in an infinite loop. Now it works (andrea) - New .space directive, that allows to reserve some space in memory. It takes as a parameter an integer indicating the number of bytes to reserve. (andrea) - Added a log window, that tracks the execution of EduMIPS64. Messages can be printed via the ui.GUILog methods, called on the static Main.logger object (andrea) - Ant buildfile added. On my PC, make achieved a 22 seconds build time, while Ant achieved a 4 seconds build time, due to its ability to consider dependencies. Some targets are not ready, but jarfile is built by simply executing "ant". (andrea) - The "Execute" and the "Tools" menu now become gray if all the inner items are not available (andrea) - Log window icon (vanni) - CPUGUIThread now doesn't wait for the sleep interval to pass when a single step is issued (andrea) - Removed a debug print in CPUGUIThread (andrea) - Advanced frames handling (improved tiling algorithm, ability to hide/unhide windows from menu) (andrea) - Added Vanni in the Main class copyrights, because a significant portion of that class' code is written by him (andrea) 0.3.1 (03/09/2006) - Added the ability to customize the delay between cycles in verbose mode (andrea) - JDialog + XGl fix (mancausoft + andrea) - The jar file can be used as an applet (vanni) - JApplet + XGl fix (mancausoft) 0.3 (23/07/2006) [Public Release] - Added a progress bar that warns the user that the CPU is executing something (andrea) - Added an option that allows the user to choose if he wants to see the progress of the multi-step execution via GUI or not. (andrea) - Handled the FileNotFoundException exception in the Main class. (andrea) - In DineroFrontend, dineroIV is invoked if you press Enter when you are in the parameters textfield. (andrea) - Updated the manual according to the last changes. (andrea) 0.2.9 (22/07/2006) - Created a thread that controls the CPU and the GUI. (antonella e andrea) - Stop menu item, used to stop the execution at any time. (antonella e andrea) - Minor changes to the GUI code in order to support multi-threading. (andrea) - Internal code fixes: implemented a real state machine for the CPU and the GUI menu items that are enabled/disabled. For info about the four states, see the CPU.java documentation and source code. (andrea) - Minor documentation and code improvements (andrea) 0.2.2 (06/07/2006) - Improved error and crash window (vanni) 0.2.1 (29/06/2006) - Better About Window (vanni) - Fixed the "negative memory address" bug (mancausoft) - Added the Dinero Path to the Preferences (vanni) - The parser reads the file as it's ISO-8859-1. (mancausoft) [Will be made customizable later]. - Added some instructions in the Italian manual (Vanni) - Fixed a bug in the CPU reset: now LO and HI are correctly resetted (andrea) 0.2 (26/06/2006) [Public Release] - Now in the titlebar there's the version number (andrea) - Fixed Dinero Frontend font that in some PCs wasn't monospaced. (andrea) - Changed DineroIV default options (andrea) - Fixed a DDIV bug: semaphores where wrongly decremented if there was a division by zero and forwarding was disabled (mancausoft) - Fixed a micro-bug in the translations (andrea) 0.1.5 (25/06/2006) - Updated the manual in order to include recent features. (andrea) - Removed accented letters from the italian version of the manual (ale) - Now the Manual is a modal dialog, so we solve the multiple-opening manual bug (andrea) - Solved the "impossible focus" bug for each dialog. (andrea) - Fixed a little bug that made possible to select Dinero Frontend or Write dinero tracefile if you opened a file after you completed the execution of another file (andrea) - Fixed the "row selection" bug in the Registers frame: now you can interact only with GPR registers, as FP registers don't exist. (vanni) - The status bar displays the decimal value of a register or of a memory cell if you click on it (vanni) [I told you that the status bar would be useful.. :P] 0.1.4.1 (25/06/2006) - Fixed the missing translations bug (GUIManual && StatusBar) (andrea) - Fixed a bug that didn't make forwarding enabled from the GUI Config (andrea) 0.1.4 (25/06/2006) - Replaced all the Configure menu items with a configuration dialog (Vanni) - Added a status bar, that will be useful later. (andrea) - Fixed the "Timmy bug": memory location that don't hold a value ara automatically set to zero and a warning is shown (mancausoft) - Fixed a bug that crashed the parser if after a comma there wasn't a parameter for the instruction (mancausoft) - Recent files list isn't allowed to hold multiple copies of a file (andrea) - Internationalization of the Manual window, plus adding version info from the Main class (andrea) - Improved the look&feel of the Manual window (filippo) - Fixed a bug in the instruction set: the DMULT instruction was called DMUL (massimo) - Fixed a bug in the parser that made possible to open malformed asm files (mancausoft) - Little bugfix: if the opened file contains syntax errors, the window title is correctly cleaned (andrea) - The code window now focuses on the IF row even if it's not in the range of currently visible rows (andrea) 0.1.3 (23/06/2006) - Updated documentation for the new warnings menu option (andrea). - Fixed the bug in the Gui Code frame that made the fetched instruction not to have its own colored background (andrea). - Fixed the DineroFrontend CPU Burst bug (massimo + mancausoft). - Added an option to enable/disable warnings (vanni). - Debug printouts cleanup (andrea + vanni) 0.1.2 (20/06/2006) - Fixed (maybe) the GREAT FORWARDING BUG (mancausoft) - Dinero Frontend now works under Windows and Linux, with the standard Dinero distribution. (mancausoft) - Fixed a bug in the Statistics window: CPI's now are back (Ale) - Added the split size chooser in the Cycles window (Filippo) - Added a note in the changelog with the name of the author of the change entry(andrea) 0.1.1 (19/06/2006) - Improved the cycles windows (vanni) - The statistics windows is now fully internationalized (andrea) 0.1 (17/06/2006) [Public release] - Dinero frontend disabled under windows (andrea) - Fixed the "infinite open" bug (mancausoft) - Recent files list (vanni) 0.0.8 (16/06/2006) - Fixed the config bug: saving config file into the .jar didn't work if there were spaces in the current directory name (andrea) - Closing the manual Window doesn't exit the program anymore. (vanni) - Added release_notes, readme, changelog, install, authors to the source distribution (andrea) 0.0.7 (15/06/2006) - First numbered release, contains almost all the planned edumips64 features. (edumips64 team)
EduMIPS64 ChangeLog ------------------- 0.5.2 (17/04/2008) - Fixed a bug about a stall for synchronous exceptions and forwarding (max83t) - Fixed Java 6 Swing bug (andrea) - Fixed ReportDialog bug (mancausoft) - Fixed aligned read/write with labels (andrea) - Fixed MIPS32 alias visualization (thegoodgiant) 0.5.1 (24/08/2007) - Updated embedded manual with a SYSCALL page (jesky) - Parser bug fixes (mancausoft) - Memory bug fixes (mancausoft) - Added the MIPS alias to each register's name in the Registers window (andrea) - Fixed MOVN/MOVZ behavior (andrea) - Manual fixes (jesky) - Fixed Jump-after-Break bug (andrea) - Added debug info to svnjar (mancausoft) - Fixed OSX issues (mancausoft) 0.5 (05/06/2007) - Implemented a subset of MIPS32 instructions: * ADD, ADDI, ADDIU, ADDU * DIV, DIVU * MULT, MULTU * SLL, SLLV, SRA, SRAV, SRL, SRLV * SUB, SUBU - Added LO and HI registers visualization in GUI (max83t) - Bug fixes for the parser (max83t, mancausoft) - Bug fixes for the Error Dialog (mancausoft) - DSRAV fix (MIPS32 group) - Bug fixes for SYSCALL 1 and 5 (andrea) - Updated manual (MIPS32 group, andrea) - Clear button for the I/O window (andrea) - Fixed compilation under Java 6 (andrea) - Bug fix in the locale files (andrea) - Changed default interval between cycles from 100ms to 10ms (andrea) - Bug fix for negative labels in load/store instructions (mancausoft) - More graceful error window for erroneous memory access (andrea) 0.4.2 (22/04/2007) - Added DADDIU instruction, and marked DADDUI as deprecated (mancausoft) - New instructions: B, BGEZ, DMULTU, DDIVU (mancausoft) - Standard MIPS aliases for the first 32 registers (thegoodgiant, jesky, lorenzo) - Fixed a parsing bug with big values (mancausoft) - Fixed a bug regarding SynchronousException (mancausoft) - Updated all the manuals (andrea) - Bug fixes for the manuals (andrea) - Solved a bug that happened opening files (andrea) - Fixed DMULT in order to use HI and LO registers (mancausoft) - Solved a bug in the CPUGUIThread class that made the graphics not synced with the CPU status at the end of the execution (andrea) - Fixed the availability of some menus during the execution (andrea) - Fixed a bug that didn't allow the Dinero Tracefile to be written (andrea) - Changed the default Dinero Tracefile output filename (andrea) 0.4.1 (31/03/2007) - Corrected a bug in the LUI instruction (mancausoft) - Corrected a bug in the manual regarding the LUI instruction (andrea) 0.4 (18/03/2007) - New PDF manual (andrea) - Italian translation of the PDF manual (simona) - Fixed a bug in SYSCALL 5. (andrea) - #include command (mancausoft) - .word64 directive (andrea) 0.3.6 (10/10/2006) - Added the ability to mask synchronous exceptions and to make those exceptions stop the CPU (andrea) - Appended three dots to those menu items that open new dialogs, according to a widespread convention (andrea) - Removed an useless debug print in the BREAK instruction (andrea) - Changed the "Run to" text to "Run", the "Completa" text to "Esegui". and the "Esegui" menu text to "Esecuzione (andrea) 0.3.5.2 (17/09/2006) - Fixed applet behaviour. (andrea) - Fixed Parser recognizing of TRAP 0 and SYSCALL 0 (andrea) 0.3.5.1 (17/09/2006) - Fixed a bug in labels handling: now only case insensitive labels are accepted (andrea) - Fixed a bug in BitSet64 regarding bit alignment in unsigned bytes writing (andrea) - TRAP 0 is recognized as the end of the program, like SYSCALL 0 and HALT (andrea) 0.3.5 (17/09/2006) - Fixed the Memory and SymbolTable interfaces. Now all memory accesses via labels are done through the SymbolTable, and memory accesses via address are done through Memory. This object contains instructions and memory elements. I've removed all the old get() and set() methods that accepted an index in SymbolTable and MemoryElement. Now every access must be done using the address as a parameter. (andrea) - Fixed the "package" ant task, that builds automagically a .jar and a .tar.bz2 file from the edumips64 directory (andrea) 0.3.4 (17/09/2006) - Added command line options (andrea): -h (--help) shows a little help -f (--file) filenameopens a new file -d (--debug) enters debug mode - SYSCALL 1, 2, 3, 4 implemented! They are the EduMIPS64 equivalent of the open(), close(), read() and write() POSIX syscalls. More documentation will follow (andrea). - Makefile updated with the I/O icon (mancausoft) - The parser now recognizes SYSCALL 0 as HALT, and it doesn't complain if a SYSCALL 0 closes the program (mancausoft) - The HALT instruction is added to the list of deprecated instruction (mancausoft) 0.3.3 (09/09/2006) - The SYSCALL instruction is born! Right now only SYSCALL 0 and 5 work: . SYSCALL 0: acts exactly like the HALT instruction. [exit()] . SYSCALL 5: roughly acts like printf(), supporting only the following placeholders: %s (string), %d (integer), %i (same as %d), %% (literal %) SYSCALL works like WinDLX's SYSCALL: it expects in R14 the address of its parameters and places the return value in R1. SYSCALL 0 doesn't return anything, but SYSCALL 5 returns the number of bytes written to STDOUT. SYSCALL 5 is Dinero-friendly: it records every memory access it does in the tracefile. More documentation will follow. (andrea) - New TRAP instruction, alias of SYSCALL, added for the sake of compatibility with WinDLX. (andrea) - .ascii and .asciiz parser directives, used to save strings in memory. .ascii saves it in memory "as is", while .asciiz automatically adds a null byte at the end of the string. The backslash character is used to escape special characters (\n, \t, \0, \"). Here's the syntax: .ascii "string1"[, "string2"[, "stringN"]] - Added the BREAK instruction, that stops the execution as soon as it enters in the ID stage. (andrea) - Basic I/O window, that automagically pops up when something is written to STDOUT (andrea) - Made the Settings menu item gray when the CPU is running a program, to prevent race conditions on the configuration settings (andrea). - Solved a little bug that caused the cycles number not to reset correctly (andrea) - Added the version number to the statusbar welcome message (andrea) - Added the right locale entries for the log window's title. (andrea) - The .space instruction now accepts an hexadecimal parameter too. (andrea) - Parser code improvements and cleanups (mancausoft + andrea) - Corrected a bug that made fatal errors send the CPU in an infinite loop. At least, now we can read the log when there's a fatal error. (andrea) 0.3.2 (08/09/2006) - Integer overflow and division by zero exception handling. The execution is stopped if one of these exceptions is raised. This solved a previously unknown bug: after an integer overflow, EduMIPS64 entered in an infinite loop. Now it works (andrea) - New .space directive, that allows to reserve some space in memory. It takes as a parameter an integer indicating the number of bytes to reserve. (andrea) - Added a log window, that tracks the execution of EduMIPS64. Messages can be printed via the ui.GUILog methods, called on the static Main.logger object (andrea) - Ant buildfile added. On my PC, make achieved a 22 seconds build time, while Ant achieved a 4 seconds build time, due to its ability to consider dependencies. Some targets are not ready, but jarfile is built by simply executing "ant". (andrea) - The "Execute" and the "Tools" menu now become gray if all the inner items are not available (andrea) - Log window icon (vanni) - CPUGUIThread now doesn't wait for the sleep interval to pass when a single step is issued (andrea) - Removed a debug print in CPUGUIThread (andrea) - Advanced frames handling (improved tiling algorithm, ability to hide/unhide windows from menu) (andrea) - Added Vanni in the Main class copyrights, because a significant portion of that class' code is written by him (andrea) 0.3.1 (03/09/2006) - Added the ability to customize the delay between cycles in verbose mode (andrea) - JDialog + XGl fix (mancausoft + andrea) - The jar file can be used as an applet (vanni) - JApplet + XGl fix (mancausoft) 0.3 (23/07/2006) [Public Release] - Added a progress bar that warns the user that the CPU is executing something (andrea) - Added an option that allows the user to choose if he wants to see the progress of the multi-step execution via GUI or not. (andrea) - Handled the FileNotFoundException exception in the Main class. (andrea) - In DineroFrontend, dineroIV is invoked if you press Enter when you are in the parameters textfield. (andrea) - Updated the manual according to the last changes. (andrea) 0.2.9 (22/07/2006) - Created a thread that controls the CPU and the GUI. (antonella e andrea) - Stop menu item, used to stop the execution at any time. (antonella e andrea) - Minor changes to the GUI code in order to support multi-threading. (andrea) - Internal code fixes: implemented a real state machine for the CPU and the GUI menu items that are enabled/disabled. For info about the four states, see the CPU.java documentation and source code. (andrea) - Minor documentation and code improvements (andrea) 0.2.2 (06/07/2006) - Improved error and crash window (vanni) 0.2.1 (29/06/2006) - Better About Window (vanni) - Fixed the "negative memory address" bug (mancausoft) - Added the Dinero Path to the Preferences (vanni) - The parser reads the file as it's ISO-8859-1. (mancausoft) [Will be made customizable later]. - Added some instructions in the Italian manual (Vanni) - Fixed a bug in the CPU reset: now LO and HI are correctly resetted (andrea) 0.2 (26/06/2006) [Public Release] - Now in the titlebar there's the version number (andrea) - Fixed Dinero Frontend font that in some PCs wasn't monospaced. (andrea) - Changed DineroIV default options (andrea) - Fixed a DDIV bug: semaphores where wrongly decremented if there was a division by zero and forwarding was disabled (mancausoft) - Fixed a micro-bug in the translations (andrea) 0.1.5 (25/06/2006) - Updated the manual in order to include recent features. (andrea) - Removed accented letters from the italian version of the manual (ale) - Now the Manual is a modal dialog, so we solve the multiple-opening manual bug (andrea) - Solved the "impossible focus" bug for each dialog. (andrea) - Fixed a little bug that made possible to select Dinero Frontend or Write dinero tracefile if you opened a file after you completed the execution of another file (andrea) - Fixed the "row selection" bug in the Registers frame: now you can interact only with GPR registers, as FP registers don't exist. (vanni) - The status bar displays the decimal value of a register or of a memory cell if you click on it (vanni) [I told you that the status bar would be useful.. :P] 0.1.4.1 (25/06/2006) - Fixed the missing translations bug (GUIManual && StatusBar) (andrea) - Fixed a bug that didn't make forwarding enabled from the GUI Config (andrea) 0.1.4 (25/06/2006) - Replaced all the Configure menu items with a configuration dialog (Vanni) - Added a status bar, that will be useful later. (andrea) - Fixed the "Timmy bug": memory location that don't hold a value ara automatically set to zero and a warning is shown (mancausoft) - Fixed a bug that crashed the parser if after a comma there wasn't a parameter for the instruction (mancausoft) - Recent files list isn't allowed to hold multiple copies of a file (andrea) - Internationalization of the Manual window, plus adding version info from the Main class (andrea) - Improved the look&feel of the Manual window (filippo) - Fixed a bug in the instruction set: the DMULT instruction was called DMUL (massimo) - Fixed a bug in the parser that made possible to open malformed asm files (mancausoft) - Little bugfix: if the opened file contains syntax errors, the window title is correctly cleaned (andrea) - The code window now focuses on the IF row even if it's not in the range of currently visible rows (andrea) 0.1.3 (23/06/2006) - Updated documentation for the new warnings menu option (andrea). - Fixed the bug in the Gui Code frame that made the fetched instruction not to have its own colored background (andrea). - Fixed the DineroFrontend CPU Burst bug (massimo + mancausoft). - Added an option to enable/disable warnings (vanni). - Debug printouts cleanup (andrea + vanni) 0.1.2 (20/06/2006) - Fixed (maybe) the GREAT FORWARDING BUG (mancausoft) - Dinero Frontend now works under Windows and Linux, with the standard Dinero distribution. (mancausoft) - Fixed a bug in the Statistics window: CPI's now are back (Ale) - Added the split size chooser in the Cycles window (Filippo) - Added a note in the changelog with the name of the author of the change entry(andrea) 0.1.1 (19/06/2006) - Improved the cycles windows (vanni) - The statistics windows is now fully internationalized (andrea) 0.1 (17/06/2006) [Public release] - Dinero frontend disabled under windows (andrea) - Fixed the "infinite open" bug (mancausoft) - Recent files list (vanni) 0.0.8 (16/06/2006) - Fixed the config bug: saving config file into the .jar didn't work if there were spaces in the current directory name (andrea) - Closing the manual Window doesn't exit the program anymore. (vanni) - Added release_notes, readme, changelog, install, authors to the source distribution (andrea) 0.0.7 (15/06/2006) - First numbered release, contains almost all the planned edumips64 features. (edumips64 team)
We are proud to announce the first alpha release of EduMIPS64 1.0. EduMIPS64 is a MIPS64 CPU Simulator and visual debugger, that allows the user to see how his MIPS64 programs are executed by a MIPS64 pipeline, and how it interacts with registers and memory. The biggest improvement from the former releases is the support for FPU operations. This alpha is still a little bit rough, but it is an important milestone on the road to 1.0.
EduMIPS64 ChangeLog ------------------- 0.5.1 (24/08/2007) - Updated embedded manual with a SYSCALL page (jesky) - Parser bug fixes (mancausoft) - Memory bug fixes (mancausoft) - Added the MIPS alias to each register's name in the Registers window (andrea) - Fixed MOVN/MOVZ behavior (andrea) - Manual fixes (jesky) - Fixed Jump-after-Break bug (andrea) - Added debug info to svnjar (mancausoft) - Fixed OSX issues (mancausoft) 0.5 (05/06/2007) - Implemented a subset of MIPS32 instructions: * ADD, ADDI, ADDIU, ADDU * DIV, DIVU * MULT, MULTU * SLL, SLLV, SRA, SRAV, SRL, SRLV * SUB, SUBU - Added LO and HI registers visualization in GUI (max83t) - Bug fixes for the parser (max83t, mancausoft) - Bug fixes for the Error Dialog (mancausoft) - DSRAV fix (MIPS32 group) - Bug fixes for SYSCALL 1 and 5 (andrea) - Updated manual (MIPS32 group, andrea) - Clear button for the I/O window (andrea) - Fixed compilation under Java 6 (andrea) - Bug fix in the locale files (andrea) - Changed default interval between cycles from 100ms to 10ms (andrea) - Bug fix for negative labels in load/store instructions (mancausoft) - More graceful error window for erroneous memory access (andrea) 0.4.2 (22/04/2007) - Added DADDIU instruction, and marked DADDUI as deprecated (mancausoft) - New instructions: B, BGEZ, DMULTU, DDIVU (mancausoft) - Standard MIPS aliases for the first 32 registers (thegoodgiant, jesky, lorenzo) - Fixed a parsing bug with big values (mancausoft) - Fixed a bug regarding SynchronousException (mancausoft) - Updated all the manuals (andrea) - Bug fixes for the manuals (andrea) - Solved a bug that happened opening files (andrea) - Fixed DMULT in order to use HI and LO registers (mancausoft) - Solved a bug in the CPUGUIThread class that made the graphics not synced with the CPU status at the end of the execution (andrea) - Fixed the availability of some menus during the execution (andrea) - Fixed a bug that didn't allow the Dinero Tracefile to be written (andrea) - Changed the default Dinero Tracefile output filename (andrea) 0.4.1 (31/03/2007) - Corrected a bug in the LUI instruction (mancausoft) - Corrected a bug in the manual regarding the LUI instruction (andrea) 0.4 (18/03/2007) - New PDF manual (andrea) - Italian translation of the PDF manual (simona) - Fixed a bug in SYSCALL 5. (andrea) - #include command (mancausoft) - .word64 directive (andrea) 0.3.6 (10/10/2006) - Added the ability to mask synchronous exceptions and to make those exceptions stop the CPU (andrea) - Appended three dots to those menu items that open new dialogs, according to a widespread convention (andrea) - Removed an useless debug print in the BREAK instruction (andrea) - Changed the "Run to" text to "Run", the "Completa" text to "Esegui". and the "Esegui" menu text to "Esecuzione (andrea) 0.3.5.2 (17/09/2006) - Fixed applet behaviour. (andrea) - Fixed Parser recognizing of TRAP 0 and SYSCALL 0 (andrea) 0.3.5.1 (17/09/2006) - Fixed a bug in labels handling: now only case insensitive labels are accepted (andrea) - Fixed a bug in BitSet64 regarding bit alignment in unsigned bytes writing (andrea) - TRAP 0 is recognized as the end of the program, like SYSCALL 0 and HALT (andrea) 0.3.5 (17/09/2006) - Fixed the Memory and SymbolTable interfaces. Now all memory accesses via labels are done through the SymbolTable, and memory accesses via address are done through Memory. This object contains instructions and memory elements. I've removed all the old get() and set() methods that accepted an index in SymbolTable and MemoryElement. Now every access must be done using the address as a parameter. (andrea) - Fixed the "package" ant task, that builds automagically a .jar and a .tar.bz2 file from the edumips64 directory (andrea) 0.3.4 (17/09/2006) - Added command line options (andrea): -h (--help) shows a little help -f (--file) filenameopens a new file -d (--debug) enters debug mode - SYSCALL 1, 2, 3, 4 implemented! They are the EduMIPS64 equivalent of the open(), close(), read() and write() POSIX syscalls. More documentation will follow (andrea). - Makefile updated with the I/O icon (mancausoft) - The parser now recognizes SYSCALL 0 as HALT, and it doesn't complain if a SYSCALL 0 closes the program (mancausoft) - The HALT instruction is added to the list of deprecated instruction (mancausoft) 0.3.3 (09/09/2006) - The SYSCALL instruction is born! Right now only SYSCALL 0 and 5 work: . SYSCALL 0: acts exactly like the HALT instruction. [exit()] . SYSCALL 5: roughly acts like printf(), supporting only the following placeholders: %s (string), %d (integer), %i (same as %d), %% (literal %) SYSCALL works like WinDLX's SYSCALL: it expects in R14 the address of its parameters and places the return value in R1. SYSCALL 0 doesn't return anything, but SYSCALL 5 returns the number of bytes written to STDOUT. SYSCALL 5 is Dinero-friendly: it records every memory access it does in the tracefile. More documentation will follow. (andrea) - New TRAP instruction, alias of SYSCALL, added for the sake of compatibility with WinDLX. (andrea) - .ascii and .asciiz parser directives, used to save strings in memory. .ascii saves it in memory "as is", while .asciiz automatically adds a null byte at the end of the string. The backslash character is used to escape special characters (\n, \t, \0, \"). Here's the syntax: .ascii "string1"[, "string2"[, "stringN"]] - Added the BREAK instruction, that stops the execution as soon as it enters in the ID stage. (andrea) - Basic I/O window, that automagically pops up when something is written to STDOUT (andrea) - Made the Settings menu item gray when the CPU is running a program, to prevent race conditions on the configuration settings (andrea). - Solved a little bug that caused the cycles number not to reset correctly (andrea) - Added the version number to the statusbar welcome message (andrea) - Added the right locale entries for the log window's title. (andrea) - The .space instruction now accepts an hexadecimal parameter too. (andrea) - Parser code improvements and cleanups (mancausoft + andrea) - Corrected a bug that made fatal errors send the CPU in an infinite loop. At least, now we can read the log when there's a fatal error. (andrea) 0.3.2 (08/09/2006) - Integer overflow and division by zero exception handling. The execution is stopped if one of these exceptions is raised. This solved a previously unknown bug: after an integer overflow, EduMIPS64 entered in an infinite loop. Now it works (andrea) - New .space directive, that allows to reserve some space in memory. It takes as a parameter an integer indicating the number of bytes to reserve. (andrea) - Added a log window, that tracks the execution of EduMIPS64. Messages can be printed via the ui.GUILog methods, called on the static Main.logger object (andrea) - Ant buildfile added. On my PC, make achieved a 22 seconds build time, while Ant achieved a 4 seconds build time, due to its ability to consider dependencies. Some targets are not ready, but jarfile is built by simply executing "ant". (andrea) - The "Execute" and the "Tools" menu now become gray if all the inner items are not available (andrea) - Log window icon (vanni) - CPUGUIThread now doesn't wait for the sleep interval to pass when a single step is issued (andrea) - Removed a debug print in CPUGUIThread (andrea) - Advanced frames handling (improved tiling algorithm, ability to hide/unhide windows from menu) (andrea) - Added Vanni in the Main class copyrights, because a significant portion of that class' code is written by him (andrea) 0.3.1 (03/09/2006) - Added the ability to customize the delay between cycles in verbose mode (andrea) - JDialog + XGl fix (mancausoft + andrea) - The jar file can be used as an applet (vanni) - JApplet + XGl fix (mancausoft) 0.3 (23/07/2006) [Public Release] - Added a progress bar that warns the user that the CPU is executing something (andrea) - Added an option that allows the user to choose if he wants to see the progress of the multi-step execution via GUI or not. (andrea) - Handled the FileNotFoundException exception in the Main class. (andrea) - In DineroFrontend, dineroIV is invoked if you press Enter when you are in the parameters textfield. (andrea) - Updated the manual according to the last changes. (andrea) 0.2.9 (22/07/2006) - Created a thread that controls the CPU and the GUI. (antonella e andrea) - Stop menu item, used to stop the execution at any time. (antonella e andrea) - Minor changes to the GUI code in order to support multi-threading. (andrea) - Internal code fixes: implemented a real state machine for the CPU and the GUI menu items that are enabled/disabled. For info about the four states, see the CPU.java documentation and source code. (andrea) - Minor documentation and code improvements (andrea) 0.2.2 (06/07/2006) - Improved error and crash window (vanni) 0.2.1 (29/06/2006) - Better About Window (vanni) - Fixed the "negative memory address" bug (mancausoft) - Added the Dinero Path to the Preferences (vanni) - The parser reads the file as it's ISO-8859-1. (mancausoft) [Will be made customizable later]. - Added some instructions in the Italian manual (Vanni) - Fixed a bug in the CPU reset: now LO and HI are correctly resetted (andrea) 0.2 (26/06/2006) [Public Release] - Now in the titlebar there's the version number (andrea) - Fixed Dinero Frontend font that in some PCs wasn't monospaced. (andrea) - Changed DineroIV default options (andrea) - Fixed a DDIV bug: semaphores where wrongly decremented if there was a division by zero and forwarding was disabled (mancausoft) - Fixed a micro-bug in the translations (andrea) 0.1.5 (25/06/2006) - Updated the manual in order to include recent features. (andrea) - Removed accented letters from the italian version of the manual (ale) - Now the Manual is a modal dialog, so we solve the multiple-opening manual bug (andrea) - Solved the "impossible focus" bug for each dialog. (andrea) - Fixed a little bug that made possible to select Dinero Frontend or Write dinero tracefile if you opened a file after you completed the execution of another file (andrea) - Fixed the "row selection" bug in the Registers frame: now you can interact only with GPR registers, as FP registers don't exist. (vanni) - The status bar displays the decimal value of a register or of a memory cell if you click on it (vanni) [I told you that the status bar would be useful.. :P] 0.1.4.1 (25/06/2006) - Fixed the missing translations bug (GUIManual && StatusBar) (andrea) - Fixed a bug that didn't make forwarding enabled from the GUI Config (andrea) 0.1.4 (25/06/2006) - Replaced all the Configure menu items with a configuration dialog (Vanni) - Added a status bar, that will be useful later. (andrea) - Fixed the "Timmy bug": memory location that don't hold a value ara automatically set to zero and a warning is shown (mancausoft) - Fixed a bug that crashed the parser if after a comma there wasn't a parameter for the instruction (mancausoft) - Recent files list isn't allowed to hold multiple copies of a file (andrea) - Internationalization of the Manual window, plus adding version info from the Main class (andrea) - Improved the look&feel of the Manual window (filippo) - Fixed a bug in the instruction set: the DMULT instruction was called DMUL (massimo) - Fixed a bug in the parser that made possible to open malformed asm files (mancausoft) - Little bugfix: if the opened file contains syntax errors, the window title is correctly cleaned (andrea) - The code window now focuses on the IF row even if it's not in the range of currently visible rows (andrea) 0.1.3 (23/06/2006) - Updated documentation for the new warnings menu option (andrea). - Fixed the bug in the Gui Code frame that made the fetched instruction not to have its own colored background (andrea). - Fixed the DineroFrontend CPU Burst bug (massimo + mancausoft). - Added an option to enable/disable warnings (vanni). - Debug printouts cleanup (andrea + vanni) 0.1.2 (20/06/2006) - Fixed (maybe) the GREAT FORWARDING BUG (mancausoft) - Dinero Frontend now works under Windows and Linux, with the standard Dinero distribution. (mancausoft) - Fixed a bug in the Statistics window: CPI's now are back (Ale) - Added the split size chooser in the Cycles window (Filippo) - Added a note in the changelog with the name of the author of the change entry(andrea) 0.1.1 (19/06/2006) - Improved the cycles windows (vanni) - The statistics windows is now fully internationalized (andrea) 0.1 (17/06/2006) [Public release] - Dinero frontend disabled under windows (andrea) - Fixed the "infinite open" bug (mancausoft) - Recent files list (vanni) 0.0.8 (16/06/2006) - Fixed the config bug: saving config file into the .jar didn't work if there were spaces in the current directory name (andrea) - Closing the manual Window doesn't exit the program anymore. (vanni) - Added release_notes, readme, changelog, install, authors to the source distribution (andrea) 0.0.7 (15/06/2006) - First numbered release, contains almost all the planned edumips64 features. (edumips64 team)
Be the first person to add a text review.
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?
Thanks for your review!
Get credit for your review by logging in via OpenID. Click your account provider: