mic1 Release Notes

1999/3/18

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.

  1. Display current and next microinstruction in mic1sim. -- Fixed.

  2. Reset doesn't properly clear the text for the current microinstruction in mic1sim. -- Fixed.

  3. Clicking the X in the upper right corner has no effect. -- Fixed.

  4. Add "magic number" check to mic1sim for both micro- and macro-programs. -- Fixed.

  5. Add "magic number" to output file from mic1asm. -- Fixed.

  6. Allow case-insensitive interpretation of .jas files. -- Fixed. Added this to the assembler, ran some tests, worked fine in those tests.

  7. Allow a main program to have local variables. -- Fixed.

  8. Invalid goto label message in ijvmasm should name the label. -- Fixed.

  9. Document language accepted by ijvmasm. -- Done. See IJVM Assembler Language Specification (jas.html).

  10. Omit unix "man" files from unix distribution. -- Done.

  11. Provide a self-extracting archive for Win95/98/NT so that people don't need a separate extraction program. -- Done.

  12. Document language accepted by mic1asm. -- Done. See Micro-Assembly Language (MAL) Specification (mal.html).

  13. Explain why PC starts at 0xFFFFFFFF in mic1sim. -- Done. Added to FAQ.

  14. Explain why nop1 is first microinstruction, not Main1. -- Done. Added to FAQ

  15. 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.

  16. 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.

  17. Change to monospaced font for mic1sim output area "Standard out". -- Fixed.

  18. 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.

  19. Explain why backspace shouldn't erase in echo.jas. -- Done. Added to FAQ.

  20. Explain that mic1sim, gijvmasm, gmic1asm, require a GUI environment, while the other programs do not. -- Done. Added to FAQ.

  21. Explain why keyboard input read by the INP instruction doesn't show up in "Standard Out". -- Done. Added to FAQ.

  22. Display all hex values in uppercase in mic1sim. -- Fixed.

  23. Change the IJVM directive ".varnum" to ".var", and make corresponding changes in the documentation and sample programs. -- Done.

  24. Fix default output file type in gijvmasm. -- Done. 1999/3/27

  25. ijvmasm.class seems to be missing from classes.zip. -- Done. 1999/3/27

To Do (proposed for 1.0c)

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.

  1. Document method calls in IJVM. -- This is done in detail in the FAQ, to a lesser extent in the lang spec.

  2. Document constant declarations in IJVM. -- This is in the lang spec, I will add it to the FAQ also, under the question "How do I use constants", which will discuss declaration and usage.

  3. Document new IJVM instructions IN, OUT, ERR, and HLT. -- I've documented IN and OUT in the FAQ. I am planning to add more discussion about how I/O is handled by the simulator components. ERR and HALT will soon be added.

  4. Add tests for method calls, local variables and constants to ijvmtest.jas.

  5. Document the various file types: *.mic1, *.ijvm, etc. In the works.

  6. Document mechanism which allows ijvmasm to declare local variables in the main program. This is documented in the lang spec, but needs an example.

  7. Change ijvmasm to allow numeric arguments to ILOAD and ISTORE, not just variable names declared between ".var" and ".end-var"

  8. Document the use of ILOAD and ISTORE with local variable declarations.

  9. Eliminate "spasticness" in the startup of the simulator.

  10. Fix echo.jas to correct non-print-characters being echoed as space.

  11. Document add.jas in the user guide to explain how it works.

  12. Document echo.jas in the user guide to explain how it works.

  13. 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.

  14. Eliminate manual page files by combining this information into primary documentation.

  15. Explain how to set CLASSPATH on various platforms, and what to do if you already have one.

  16. Allow a BELL character to be sent to standard output

  17. Create mailing list: rayo@ontko.com (Ray Ontko), dans@ontko.com (Dan Stone), ast@cs.vu.nl (Andy Tanenbaum), Ana_Terry@prenhall.com (Ana Terry), Alan_Apt@prenhall.com (Alan Apt), ladrian@cs.sunysb.edu (Adrian Llahana), jmiller@silos.cs.csbsju.edu (John Miller),

To Do (post 1.0c)

  1. 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).

  2. 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.

  3. 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.

  4. 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.

  5. 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).