mic1 Release Notes
2000/2/29
Version 1.0a
Initial internal release for review.
Version 1.0b
The following corrections have been made to previously
released software and are available in this release.
-
Display current and next microinstruction in mic1sim.
-- Fixed.
-
Reset doesn't properly clear the text for the current microinstruction
in mic1sim.
-- Fixed.
-
Clicking the X in the upper right corner has no effect.
-- Fixed.
-
Add "magic number" check to mic1sim for both micro- and
macro-programs.
-- Fixed.
-
Add "magic number" to output file from mic1asm.
-- Fixed.
-
Allow case-insensitive interpretation of .jas files.
-- Fixed.
Added this to the assembler, ran some tests, worked fine in those tests.
-
Allow a main program to have local variables.
-- Fixed.
-
Invalid goto label message in ijvmasm should name the label.
-- Fixed.
-
Document language accepted by ijvmasm.
-- Done.
See IJVM Assembler
Language Specification
(jas.html).
-
Omit unix "man" files from unix distribution.
-- Done.
-
Provide a self-extracting archive for Win95/98/NT so that people don't
need a separate extraction program.
-- Done.
-
Document language accepted by mic1asm.
-- Done.
See Micro-Assembly Language (MAL) Specification
(mal.html).
-
Explain why PC starts at 0xFFFFFFFF in mic1sim.
-- Done. Added to FAQ.
-
Explain why nop1 is first microinstruction, not Main1.
-- Done. Added to FAQ
-
Eliminate the need for DOS-level involvement of casual Win95/98/NT users.
-- Done.
Created a gui front-ends for ijvmasm and mic1asm, gijvmasm, gmic1asm.
-
Improve install for Win95/98/NT to simplify autoexec/classpath issues.
-- Done.
The new install for Win95/98/NT only requires that the users
modify a single text file (using NOTEPAD, for example) to indicate
where the java executable is, and where the classes.zip file is
for mic1. We no longer touch any autoexec.bat file, or modify
CLASSPATH environment variables which may be used by other java
programs.
-
Change to monospaced font for mic1sim output area "Standard out".
-- Fixed.
-
Test install and functionality on SPARC, Linux/intel, Win98, WinNT.
Our development environement includes tests for
Linux/Intel, Win95, Win98, and WinNT using various
versions of the JDK. We rely on "beta" testors
to validate use on Solaris, HP/UX, and other platforms.
-
Explain why backspace shouldn't erase in echo.jas.
-- Done. Added to FAQ.
-
Explain that mic1sim, gijvmasm, gmic1asm, require a GUI environment,
while the other programs do not.
-- Done. Added to FAQ.
-
Explain why keyboard input read by the IN instruction doesn't
show up in "Standard Out".
-- Done. Added to FAQ.
-
Display all hex values in uppercase in mic1sim.
-- Fixed.
-
Change the IJVM directive ".varnum" to ".var", and make corresponding
changes in the documentation and sample programs.
-- Done.
-
Default output file type in gijvmasm is incorrect.
-- Fixed. 1999/3/27
-
ijvmasm.class seems to be missing from classes.zip.
-- Fixed. 1999/3/27
Version 1.0c
The following corrections have been made to previously
released software and are available in this release.
-
Add tests for method calls, local variables and constants to ijvmtest.jas.
-- Fixed. 1999/4/11
-
Add numbers to sections in user guide.
-- Done. 1999/4/11.
Also added table of contents to user guide, and MAL spec, and cleaned
up some formatting in IJVM spec as well.
-
Document method calls in IJVM. --
-- Done. 1999/4/11.
This is described in the IJVM lang spec. An extended example appears
in the FAQ.
-
Document constant declarations in IJVM. --
-- Done. 1999/4/11.
This is in the IJVM lang spec.
-
Document new IJVM instructions IN, OUT, ERR, and HLT. --
-- Done. 1999/4/11.
These are described in the IJVM language spec. Examples are
given for IN and OUT.
-
Document mechanism which allows ijvmasm to declare local variables
in the main program.
-- Done. 1999/4/11.
This is documented in the lang spec, including an example.
Version 1.0d
The following corrections have been made to previously
released software and are available in this release.
- ijvmasm: If a method is declared without any parameters,
a nameless parameter is created. When the method is invoked, a
word is popped off the stack to fill this "invisible" parameter.
-- Fixed. 1999/5/17. Thanks to Luke Dunstan for reporting this bug and
providing information that helped quickly track down and fix it.
- ijvmasm: Added support for Tom Rothamel's ijvm debugger.
-- 2000/2/29.
Version 1.0e
The following corrections have been made to previously
released software and are available in this release.
- fixed mic1dasm to check for magic number 0x12345678 at
beginning of input mic1 microcode file. 2000/3/1/.
To Do (proposed for the next version release)
Note: A number of the following have been completed in some form
or another. We're still in the process of reviewing each
item before we check them off this list.
-
Document the various file types: *.mic1, *.ijvm, etc.
In the works.
-
Change ijvmasm to allow numeric arguments to ILOAD and ISTORE,
not just variable names declared between ".var" and ".end-var".
This would require some significant changes to the assembler,
but would be more in keeping with Jasmine. The ".var" directive
of Jasmine allows you to associate a name with a variable number,
but all IINC, ILOAD and ISTORE instructions would still reference the
number (not the name).
Another complication is that the
assembler would need to scan for the maximum variable number of
all IINC, ILOAD, and ISTORE instructions and consider the number
of parameters passed, rather than simply count the number of
parameters and variables given. The current approach requires
that all local variables and parameters get symbolic names.
-
Eliminate "spasticness" in the startup of the simulator.
-
Fix mic1dasm to account for the "magic number" at the beginning
of the input file.
-
Fix echo.jas to correct non-print-characters being echoed as space.
-
Document add.jas in the user guide to explain how it works.
-
Document echo.jas in the user guide to explain how it works.
-
Modify add.jas to give a message each time through the loop,
like "Please type two numbers, each terminated by ENTER."
Also, output a blank line before that message again.
-
Eliminate manual page files by combining this information into
primary documentation.
-
Explain how to set CLASSPATH on various platforms, and what to
do if you already have one.
-
The IJVM Assembly Language Specification is perhaps misnamed.
This includes some specific information about the assembler
(e.g., ijvm.conf). We should consider renaming this and the
MAL Micro-assemply Language Specification.
-
Allow a BELL character to be sent to standard output
-
Create mailing list.
To Do (proposed for some future release)
-
Modify mic1sim to allow memory in the neighborhood of SP, PC, MAR, LV, CPP
(or elsewhere) to be displayed, or even modified.
This is mostly just a matter of deciding how to make this intuitive and
attractive, and then writing the code.
If you have suggestions about
what it should look like on the screen, or what buttons/menu items/etc
should be used, send a note to
Dan Stone (dans@ontko.com).
-
Rework the Windows install to use an appropriate Windows-style
install program.
Casual users may be better served by having a
familiar interface to find the java executable, set up the class
path, etc.
We will gladly accept help from anyone who is familiar
with Windows install tools and setting up Java applications under
Windows 95/98/NT.
-
Create a distribution for Macintosh.
Now that Apple has a stable
version of the JDK available, it should be reasonable to provide
a distribution. Now all we have to do is figure out how to do
binhex or whatever to do an install there.
We will gladly
accept help from anyone who knows the Mac environment well
and understands the issues of installing and running Java
software on a the Mac.
-
Support multiple documentation file formats: html, ps, ascii, etc.
Our plan here is to convert the existing files to SGML, and then
generate an appropriate collection of printable, browsable, viewable
documents from a single source.
We will gladly accept help
from anyone who knows SGML to get us started down this path.
-
Set up bug tracking system: gnats vs. debian bug reporting system.
If you have experience with either of these systems (or any other
free bug tracking system) and have an opinion about its suitability
for the mic1 project, please send a note to
Ray Ontko (rayo@ontko.com).
This page maintained by Ray Ontko
(rayo@ontko.com).