1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
Release Notes for tkisem
Release 4.5.12
BUG FIXES
- Yet more Asserts that cannot be; twice in store.cpp
Release 4.5.11
- Make the tkisem windows raise themselves when selected from the
menubar, so we don't lose buried windows so easily.
BUG FIXES
- Don't know how old this is, but 'int foo; sscanf(buf,"%i",&foo);'
can't (any longer) read, e.g., 0xffffffff. Doing so yields
0x7fffffff. sscanf is doing the moral equivalent of strtol()
(which returns LONG_MAX (==0x7fffffff) on overflow), instead of
acting like strtoul() (which returns ULONG_MAX, as desired).
Switch to explicit strtoul() calls. Also required a hack in
tkisem to avoid using the result of a tcl scan %i call.
Release 4.5.10
BUG FIXES
- Yet one more Assert that cannot be; reading the %y register was
uncovered in rd_state.cpp.
Release 4.5.9
BUG FIXES
- One more latent 'Assert(1,..)' bug uncovered: A missing 'break;'
let sra instructions fall through into the default case.
Release 4.5.8
EXTENSIONS and ADDITIONS
- Heading for usability pretty much on linux only
- Clean up to work at least mostly with Tk 8.0, and probably higher
- Added a linker script, generic/isem_ld.txt, so that we can work
with a binutils cross assembler/linker again. It's not that the
arguments below in 'NEEDED EXTENSIONS' aren't valid (except
we're abandoning DOS), it's just that writing a new assembler
that doesn't suck is actually a bit of work.
- Add top-level build/ directory; refactor most of the Makefiles.
- Add a first cut at a configure script that checks for a few
things, most particularly the existence of isem_ld and isem_as,
or as modified for Debian sparc-ld and sparc-as.
BUG FIXES
- Clean up various compiler warnings.
- Eliminate confusing 'Assert(1,..)' no-ops, e.g., from switch
default:'s where possible -- but there may still be some
'Assert(0,..)'s that need to be converted to 'break's.
BUGS/TODO
- Tclisem is (still?) broken, and is not installed by the make
process. tkisem and gxisem appear to work.
- The configure process doesn't make any attempt to figure out all
the various dynamic loading nonsense appropriate to the
environment it finds itself in. At the moment
build/make.config.in has got Linux-happy values hardcoded into
all sorts of shared-library type variables.
- It MAY WELL be the case that there are some Assert's that can
get triggered by LEGITIMATE SPARC CODE in the emulator; I just
don't know the comparative paths through the code and a SPARC
chip well enough to judge. I believe I've got all the possibly
errant Asserts set up to say 'Please send email to
isem@cs.unm.edu' if they go off; hopefully this process will
settle quickly if further slacking of the asserts is needed.
------
OLDER RELEASE NOTES:
NEEDED EXTENSIONS
the library does not compile with tk4.2 (the gx device needs
to be rewritten once again :(
write up a user's guide that explains how to use the various
versions of isem (tkisem, gxisem, and tclisem)
create a docs directory in the distribution
cleanup the Unix autoconfig scripts
figure out how to build .so's for AIX
write a real assembler
problems with using GNU binutils:
error messages are not very good for beginners
difficult to compile in the DOS environment
the executable is *huge*
wouldn't be easy to integrate into a "development
environment"
clean up the error message interface
cleanup the tests directory
add a configuration file
Release 4.5
EXTENSIONS and ADDITIONS
added gxisem and tclisem -- two new scripts based on the
command line syntax documented in the lab manual
most file names use the 8.3 format so things move to DOS ok
tkisem now compiles and runs under DOS
tkisem is based on building a dynamic (shared) library which
can be load'ed into wish4.1 -- this should make it
easier to build binary distributions
added a "src/utils" directory to the distribution
isem_ld -- new with this release
(previous releases relied on building a cross
assembler from the GNU binutils distribution)
Advantages over binutils:
easily compiled under DOS
supports page alignment of text and data
sections (this is useful in the
isem_rom code)
isem_nm -- new with this release
isem_rom simply sets a pointer for TBR (requires the new
isem_ld with page alignment)
added a debug display to the File pull-down menu
this is a first step to making error messages more
uniform
disassembly no longer produces "set %r1, %r2"
disassembly no longer produces "st [%r1+%r2], %r3" for
"st %r3, [%r1+%r2]"
BUG FIXES
setting the timer value to a lower value than the tick count
no longer means the future timer interrupts won't happen
the annul flag is correctly updated in the Registers window
when you load a file, tkisem is smarter about where the text
segment really starts -- this avoids lots of strange
instructions in the start of the text display
tkisem tries to be smarter about which labels it keeps when
there are multipls labels for a single value
fixed a bug in the tkisem script that made displaying the
cdregisters lock everything up
|