* Contribute CGEN simulator build support code.
[binutils-gdb.git] / sim / erc32 / ChangeLog
blobf2ff60050a10984856cd4574779f95b126897bf5
1 Tue May 23 21:39:23 2000  Andrew Cagney  <cagney@b1.cygnus.com>
3         * configure: Regenerated to track ../common/aclocal.m4 changes.
5 2000-03-07  Frank Ch. Eigler  <fche@redhat.com>
7         From John Dallaway  <jld@redhat.co.uk>:
8         * Makefile.in (install-sis): Add $(EXEEXT) for Windows host.
10 2000-03-03  Jonathan Larmour  <jlarmour@redhat.co.uk>
12         * func.c (buffer_read_memory): Change type of size to unsigned to
13         match prototype
15 Thu Sep  2 18:15:53 1999  Andrew Cagney  <cagney@b1.cygnus.com>
17         * configure: Regenerated to track ../common/aclocal.m4 changes.
19 1999-05-08  Felix Lee  <flee@cygnus.com>
21         * configure: Regenerated to track ../common/aclocal.m4 changes.
22         
23 1999-03-03  DJ Delorie  <dj@cygnus.com>
25         * configure.in: add termcap and -luser32 for host=cygwin
26         * configure: regenerate
27         
28 1999-02-11  Hugo Tyson  <hmt@cygnus.co.uk>
30         * exec.c (dispatch_instruction): 
31         Correct the sense of the
32                   if (!sparclite) {
33                      sregs->trap = TRAP_UNIMP;
34                      break;
35                   }
36         clause that has been pasted around: it's correct in the SCAN and
37         DIVScc (divide step) cases (where it was probably originally
38         written?), but reversed in the SDIV, SDIVcc, UDIV, UDIVcc cases
39         ie. instructions only in the SPARC V8 or SPARClite 86x
40         architectures.  It was also present when not required for SMUL,
41         SMULcc, UMUL, UMULcc instructions that are present in all
42         architectures.
44 1999-01-25  Hugo Tyson  <hmt@cygnus.co.uk>
46         * interf.c (run_sim): Fix a bug in the main loop's handling of
47         annulled delay slot instructions.  There is precedent for this
48         change; the _other_ main loop in sis.c gets it right according to
49         my reading of the code.
51         The bug is: if an interrupt happens when the next instruction
52         (at sregs->pc) is annulled, the trap is taken (by execute_trap())
53         with the current values of PC and NPC, so when the trap returns,
54         the annulled instruction is indeed executed.  Another giveaway is
55         that the annul flag is cleared in execute_trap(): the information
56         is demonstrably discarded.
58         The solution is: perform annulling before looking for traps, in
59         fact it's neater to do annulling, see if there's an interrupt and
60         if not, do the instruction, then handle traps be they generated by
61         interrupts pending or by the instruction we might just have done.
62         That's what the sis.c one does.
64 1999-01-20  Hugo Tyson  <hmt@cygnus.co.uk>
66         * sis.h: Add asr17 register for support of SparcLITE (at least the
67         Hitachi ones I find before me)
69         * exec.c (dispatch_instruction): Case WRY: Allow write of asr17 if
70         sparclite.  Other ASR numbers than 17 or 0 (Y) trap out.
71         Case RDY: Allow read of asr17 if sparclite.  Other ASRs ditto.
72         (execute_trap): Do single-vector-trapping if asr17 bit 0 is set.
73         (init_regs): Initialize y and asr17.
74         NB: In instruction-set space, the Y register is asr0; the
75         instructions have different names for human reasons only.
77         * sis.c:
78         * interf.c: Set boolean mode variable dumbio if invoked with
79         argument "-dumbio" and mention it of verbose.
80         * erc32.c: if "dumbio" is set, do not assume that there is a
81         terminal type device attached to stdin/stdout.  Do not set
82         buffering or mess with tcsetattr or do any read operations in
83         order to make UART interrupts; not input data is supported.
84         This is necessary to allow the sim to be used within the eCos
85         testing infrastructure where stdin/stdout are pipes to a TCL
86         program; the sim hangs otherwise.
88 Thu Jul 23 07:17:03 1998  Mark Alexander  <marka@cygnus.com>
90         * exec.c (dispatch_instruction): Add SPARClite 'scan' instruction.
92 Tue Jul  7 21:12:41 1998  Mark Alexander  <marka@cygnus.com>
94         * func.c (bfd_load): Add special handling of a.out executables.
96 Sat Jun 13 08:33:25 1998  Mark Alexander  <marka@cygnus.com>
98         * func.c (bfd_load): Print correct endianness.
99         * interf.c (run_sim): Print debugging information if verbosity level
100         is greater than 2.
101         (sim_open): Repeated -v options now increment verbosity level.
102         (sim_store_register): Handle little-endian case.
103         (flush_window): Print debugging information if verbosity level
104         is greater then 2.
106 Tue Jun  2 15:20:35 1998  Mark Alexander  <marka@cygnus.com>
108         * interf.c (sim_open): Use revamped memory_read, which makes
109         byte-swapping unnecessary.  Add -sparclite-board option for
110         emulating RAM found on typical SPARClite boards.  Print
111         error message for unrecognized option.
112         * erc32.c: Change RAM address and size from constants to variables,
113         to allow emulation of SPARClite board RAM.
114         (fetch_bytes, store_bytes): New helper functions for revamped
115         mememory_read and memory_write.
116         (memory_read, memory_write): Rewrite to store bytes in target
117         byte order instead of storing words in host byte order; this
118         greatly simplifies support of little-endian programs.
119         (get_mem_ptr): Remove unnecessary byte parameter.
120         (sis_memory_write, sis_memory_read): Store words in target
121         byte order instead of host byte order.
122         (byte_swap_words): Remove, no longer needed.
123         * sis.h ((byte_swap_words): Remove declaration, no longer needed.
124         (memory_read): Add new sz parameter.
125         * sis.c (run_sim): Use revamped memory_read, which makes
126         byte-swapping unnecessary.
127         * exec.c (dispatch_instruction): Use revamped memory_read, which
128         makes byte-swapping and double-word fetching unnecessary.
129         * func.c (sparclite_board): Declare new variable.
130         (get_regi): Handle little-endian data.
131         (bfd_load): Recognize little-endian SPARClite as having
132         little-endian data.
133         
134 Fri May 22 14:23:16 1998  Mark Alexander  <marka@cygnus.com>
136         * erc32.c (port_init): Print messages only if sis_verbose is true.
137         * func.c (bfd_load): Ditto.
138         * interf.c (sim_open): Ditto.
140 Thu May 14 23:10:48 1998  Mark Alexander  <marka@cygnus.com>
142         * sis.h (uint64, int64): Define.
143         * exec.c (SDIV, SDIVCC, UDIV, UDIVCC): Define new opcodes.
144         * (mul64): Simplify calculation of negative result.
145         * (div64): New helper function for 64-bit division.
146         * (dispatch_instruction): Add emulation of SDIV, SDIVCC, UDIV,
147         and UDIVCC.
148         
149 Wed May 13 14:59:54 1998  Mark Alexander  <marka@cygnus.com>
151         * erc32.c (close_port): Don't close stdin; it kills GDB.
152         (byte_swap_words): New function.
153         * sis.h: (byte_swap_words): Declare.
154         * interf.c (run_sim): Always fetch instructions as big-endian.
155         * sis.c (run_sim): Ditto.
157 Tue Apr 28 18:33:31 1998  Geoffrey Noer  <noer@cygnus.com>
159         * configure: Regenerated to track ../common/aclocal.m4 changes.
161 Sun Apr 26 15:31:55 1998  Tom Tromey  <tromey@creche>
163         * configure: Regenerated to track ../common/aclocal.m4 changes.
164         * config.in: Ditto.
166 Sun Apr 26 15:20:17 1998  Tom Tromey  <tromey@cygnus.com>
168         * acconfig.h: New file.
169         * configure.in: Reverted change of Apr 24; use sinclude again.
171 Fri Apr 24 14:16:40 1998  Tom Tromey  <tromey@creche>
173         * configure: Regenerated to track ../common/aclocal.m4 changes.
174         * config.in: Ditto.
176 Fri Apr 24 11:19:52 1998  Tom Tromey  <tromey@cygnus.com>
178         * configure.in: Don't call sinclude.
180 Sat Apr 18 12:00:16 1998  Mark Alexander  <marka@cygnus.com>
182         * func.c (disp_fpu): Fix build problem on big-endian hosts.
184 Wed Apr  8 19:33:34 1998  Mark Alexander  <marka@cygnus.com>
186         * erc32.c (sim_stop): Handle SIGINT gracefully.
187         * interf.c (sim_open): Don't catch SIGINT; GDB will do that for us.
189 Wed Apr  8 18:29:40 1998  Mark Alexander  <marka@cygnus.com>
191         * exec.c (dispatch_instruction): Change how carry out is calculated
192         in DIVSCC.  Add emulation of SMULCC, UMUL, and UMULCC.
194 Sat Apr  4 20:36:25 1998  Andrew Cagney  <cagney@b1.cygnus.com>
196         * configure: Regenerated to track ../common/aclocal.m4 changes.
198 Wed Apr  1 21:19:18 1998  Mark Alexander  <marka@cygnus.com>
200         * end.c: Update to version 2.7.5, fix compiler warnings and bugs.
201         * erc32.c: Ditto.
202         * exec.c: Ditto.
203         * float.c: Ditto.
204         * func.c: Ditto.
205         * help.c: Ditto.
206         * interf.c: Ditto.
207         * sis.c: Ditto.
208         * sis.h: Ditto.
210 Fri Mar 27 16:15:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
212         * configure: Regenerated to track ../common/aclocal.m4 changes.
214 Wed Mar 25 12:35:29 1998  Andrew Cagney  <cagney@b1.cygnus.com>
216         * configure: Regenerated to track ../common/aclocal.m4 changes.
218 Wed Mar 18 12:38:12 1998  Andrew Cagney  <cagney@b1.cygnus.com>
220         * configure: Regenerated to track ../common/aclocal.m4 changes.
222 Tue Feb 17 12:41:11 1998  Andrew Cagney  <cagney@b1.cygnus.com>
224         * interf.c (sim_store_register, sim_fetch_register): Pass in
225         length parameter.  Return -1.
227 Sun Feb  1 16:47:51 1998  Andrew Cagney  <cagney@b1.cygnus.com>
229         * configure: Regenerated to track ../common/aclocal.m4 changes.
231 Sat Jan 31 18:15:41 1998  Andrew Cagney  <cagney@b1.cygnus.com>
233         * configure: Regenerated to track ../common/aclocal.m4 changes.
235 Mon Jan 19 22:26:29 1998  Doug Evans  <devans@seba>
237         * configure: Regenerated to track ../common/aclocal.m4 changes.
239 Mon Dec 15 23:17:11 1997  Andrew Cagney  <cagney@b1.cygnus.com>
241         * configure: Regenerated to track ../common/aclocal.m4 changes.
242         * config.in: Ditto.
244 Thu Dec  4 09:21:05 1997  Doug Evans  <devans@canuck.cygnus.com>
246         * configure: Regenerated to track ../common/aclocal.m4 changes.
248 Fri Oct  3 09:28:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
250         * configure: Regenerated to track ../common/aclocal.m4 changes.
252 Wed Sep 24 17:38:57 1997  Andrew Cagney  <cagney@b1.cygnus.com>
254         * configure: Regenerated to track ../common/aclocal.m4 changes.
256 Tue Sep 23 11:04:38 1997  Andrew Cagney  <cagney@b1.cygnus.com>
258         * configure: Regenerated to track ../common/aclocal.m4 changes.
260 Mon Sep 22 11:46:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
262         * configure: Regenerated to track ../common/aclocal.m4 changes.
264 Fri Sep 19 17:45:25 1997  Andrew Cagney  <cagney@b1.cygnus.com>
266         * configure: Regenerated to track ../common/aclocal.m4 changes.
268 Mon Sep 15 17:36:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
270         * configure: Regenerated to track ../common/aclocal.m4 changes.
272 Wed Aug 27 18:13:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
274         * configure: Regenerated to track ../common/aclocal.m4 changes.
275         * config.in: Ditto.
277 Tue Aug 26 10:38:20 1997  Andrew Cagney  <cagney@b1.cygnus.com>
279         * float.c (__setfpucw): Compile on any i386 target.  Not just NT.
281         * interf.c (sim_kill): Delete.
282         (sim_create_inferior): Add ABFD argument.  Initialize PC from ABFD
283         argument.
284         (sim_load): Don't save start address.
285         (start_address): Delete variable.
287 Mon Aug 25 17:50:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
289         * configure: Regenerated to track ../common/aclocal.m4 changes.
290         * config.in: Ditto.
292 Mon Aug 25 16:19:49 1997  Andrew Cagney  <cagney@b1.cygnus.com>
294         * interf.c (sim_open): Add ABFD argument. Change ARGV to PARGV.
296 Mon Jun 30 11:45:25 1997  Doug Evans  <dje@canuck.cygnus.com>
298         * Makefile.in (install-sis): Change $(srcdir)/sis to sis.
300 Wed May 28 09:46:13 1997  Andrew Cagney  <cagney@b1.cygnus.com>
302         * interf.c (sim_set_callbacks): Drop SD argument - not applicable.
303         (sim_open): Add callback arg, save it.
305 Thu Apr 24 00:39:51 1997  Doug Evans  <dje@canuck.cygnus.com>
307         * configure: Regenerated to track ../common/aclocal.m4 changes.
309 Tue Apr 22 11:05:01 1997  Doug Evans  <dje@canuck.cygnus.com>
311         * interf.c (sim_open): Undo patch to add -E support.
313 Thu Apr 17 03:03:56 1997  Doug Evans  <dje@canuck.cygnus.com>
315         * interf.c (sim_open): Ignore -E arg.
316         (start_address): New static local.
317         (sim_load): Return SIM_RC.  New arg abfd.  Set start_address from bfd.
318         (sim_create_inferior): Return SIM_RC.  Delete arg start_address.
320 Tue Apr 15 15:16:11 1997  Ian Lance Taylor  <ian@cygnus.com>
322         * Makefile.in (install-sis): Depend upon installdirs.  Use
323         $(program_transform_name) directly, rather than using
324         $(INSTALL_XFORM).
326 Mon Apr  7 15:45:02 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
328         * configure: Regenerated to track ../common/aclocal.m4 changes.
329         * config.in: Ditto.
331 Wed Apr  2 15:06:28 1997  Doug Evans  <dje@canuck.cygnus.com>
333         * interf.c (sim_open): New arg `kind'.
335         * configure: Regenerated to track ../common/aclocal.m4 changes.
337 Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
339         * configure: Regenerated to track ../common/aclocal.m4 changes.
341 Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
343         * configure: Re-generate.
345 Thu Mar 13 12:46:04 1997  Doug Evans  <dje@canuck.cygnus.com>
347         * interf.c (sim_open): New SIM_DESC result.  Argument is now in
348         argv form.
349         (other sim_*): New SIM_DESC argument.
351 Tue Feb  4 13:35:20 1997  Doug Evans  <dje@canuck.cygnus.com>
353         * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
354         COMMON_{PRE,POST}_CONFIG_FRAG instead.
355         * configure.in: sinclude ../common/aclocal.m4.
356         * configure: Regenerated.
358 Thu Jan 23 11:46:23 1997  Stu Grossman  (grossman@critters.cygnus.com)
360         * configure configure.in Makefile.in:  Update to new configure
361         scheme which is more compatible with WinGDB builds.
362         * configure.in:  Improve comment on how to run autoconf.
363         * configure:  Re-run autoconf to get new ../common/aclocal.m4.
364         * Makefile.in:  Use autoconf substitution to install common
365         makefile fragment.
367 Wed Dec  4 18:25:04 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
369         * interf.c (run_sim): Stop the simulator and reset the stdio after
370         breakpoints.
372 Tue Dec  3 11:54:37 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
374         * configure.in: Look for libtermcap.a.
375         * Makefile.in: Only link in -ltermcap if it exists.
376         * erc32.c: Update to version 2.6a. Fix uart handling.
377         * exec.c: Update to version 2.6a. Add sparclite support.
378         * float.c: Update to version 2.6a. Convert comments to
379         preprocessor warnings. Add __setfpucw() for i385 hosts so floating
380         point exceptions work on win32.
381         * func.c: Update to version 2.6a. Fix uart handling, add support
382         for user error traps.
383         * help.c: Update to version 2.6a. Add help note on user error
384         traps.
385         * interf.c: Update to version 2.6a. Fix uart handling, and add
386         sparclite support.
387         * examples/gccx: Use sparclite cross compiler, not native gcc.
388         * examples/srt0.S: Use "mov" rather than "wr" for manipulating
389         the psr register.
391 Mon Nov 25 08:28:10 1996  Fred Fish  <fnf@cygnus.com>
393         * Makefile.in (run.o): Remove this rule, it hides the one in
394         ../common/Make-common.in that correctly references the source
395         in the sibling ../common directory.
397 Wed Nov 20 01:30:12 1996  Doug Evans  <dje@canuck.cygnus.com>
399         * Makefile.in: Delete stuff moved to ../common/Make-common.in.
400         (SIM_{OBJS,EXTRA_LIBS,EXTRA_LIBDEPS,EXTRA_ALL,EXTRA_INSTALL}): Define.
401         (SIM_{EXTRA_CLEAN,EXTRA_CFLAGS}): Define.
402         * configure.in: Simplify using macros in ../common/aclocal.m4.
403         Call AC_CHECK_HEADERS(stdlib.h).
404         * configure: Regenerated.
405         * config.in: New file.
406         * func.c (sim_set_callbacks): Delete, moved to
407         * interf.c (sim_set_callbacks): here.
408         (sim_callback): New global.
409         Rewrite all calls to printf_filtered to go through callback.
410         (sim_size,sim_trace): New functions.
411         (sim_{insert,remove}_breakpoint): #if 0 out.
412         * sis.c: #include "config.h".  #include <stdlib.h> if present.
413         (main): Coerce fprintf arg to INIT_DISASSEMBLE_INFO to fprintf_ftype.
414         * sis.h: #include "callback.h".
415         * run.c: Deleted, using one in ../common now.
417 Thu Oct  3 16:12:03 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
419         * Makefile.in (clean): Move config.log to distclean.
421 Wed Oct  2 16:57:57 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
423         * Makefile.in (clean): Also remove config.log.
425 Sat Sep 14 00:00:46 1996  Ian Lance Taylor  <ian@cygnus.com>
427         * Makefile.in (CC_FOR_BUILD): New variable.
428         (AR, AR_FLAGS, BISON, MAKEINFO): Remove duplicate variables.
429         (RANLIB, CC): Likewise.
430         (end): Use $(CC_FOR_BUILD), not $(CC).
431         * configure.in: Set CC_FOR_BUILD.
432         * configure: Rebuild.
434 Sun Sep  8 14:04:37 1996  Stu Grossman  (grossman@critters.cygnus.com)
436         * erc32.c (port_init):  Disable this for __GO32__ (got no pty's
437         there either...).
439 Mon Aug 12 17:04:58 1996  Stu Grossman  (grossman@critters.cygnus.com)
441         * erc32.c:  Don't include sys/ioctl.h or sys/file.h.  They aren't
442         necessary.
443         * (port_init):  Don't even *try* to open pty's under _WIN32.
444         * Use SIM_ADDR, not caddr_t for declaring vars that hold addresses.
445         * float.c:  Get rid of #warning.  Makes Microsoft C barf.
446         * interf.c (sim_open):  Cast fprintf to (fprintf_ftype) to fix
447         compiler warning.
448         * (sim_load sim_create_inferior sim_read):  Use prototypes only in
449         decls, not defs.
450         * Get rid of enum sim_stop.  It's defined in remote-sim.h.
451         * (sim_stop_reason):  Define SIGTRAP if _WIN32.
452         * sis.h:  Include ansidecl.h and remote-sim.h.
454 Wed Jul  3 16:05:23 1996  Stu Grossman  (grossman@critters.cygnus.com)
456         * erc32.c (mec_reset mec_read mec_write memory_read memory_write),
457         sis.h:  Get rid of all uses of long long's.
458         * (close_port read_uart write_uart uarta_tx):  Don't seg fault
459         when can't open pty's.
460         * exec.c:  Add two new instructions: smul, and divscc.
461         * interf.c (flush_windows):  New routine to flush the register
462         windows out to the stack just before returning to GDB.  Makes
463         backtraces work much better.
465 Wed Jun 26 12:19:11 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
467         * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
468         INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
469         (docdir, oldincludedir): Removed.
470         * configure.in (AC_PREREQ): autoconf 2.5 or higher.
471         (AC_PROG_INSTALL): Added.
472         * configure: Rebuilt.
474 Mon Jun 24 14:19:07 1996  Ian Lance Taylor  <ian@cygnus.com>
476         * configure.in: Call AC_PROG_CC before running configure.host.
477         * configure: Rebuild with autoconf 2.10.
479 Tue Jun  4 10:37:12 1996  Tom Tromey  <tromey@csk3.cygnus.com>
481         * Makefile.in (install): Don't check to see if tooldir exists.
482         Make $(tooldir) and $(tooldir)/bin.
484 Mon Jun  3 12:33:38 1996  Ian Lance Taylor  <ian@cygnus.com>
486         * Makefile.in (end.h): Use explicit ./ when running end.
488 Sun May 19 21:05:31 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
490         * func.c(bfd_load): Don't try to print the filename if the pfbd is
491         NULL.
492         * interf.c(sim_load): Pass the whole string, not just the first
493         byte.
495 Version 2.1 26-02-96
496 --------------------
498 * Fixed bug in "go" command.
500 version 2.0 05-02-96
501 --------------------
503 * Fixed bug in interrupt force register (erc32.c).
505 * Change file load function to use bfd_openr.
507 * SIS should now be endian independent.
509 version 1.8 24-11-95
510 --------------------
512 * Fixed FPU timing - some sequences of FPU instructions did not calculate
513   the resource dependencies right.
515 * Corrected STDFQ when qne = 0 (again!). The ftt is set to sequence_error
516   but no FPU trap is generated.
518 version 1.7.1 31-10-95
519 --------------------
521 * Corrected STDFQ when qne = 0. Now, a trap is immidiately generated but
522   the FPU stays in execute mode.
524 * Corrected JMPL and RETT timing (these instructions takes two cycles).
527 version 1.7 25-10-95
528 --------------------
530 * Interrupt during annuled instruction corrupted return address - fixed.
533 version 1.6.2 25-10-95
534 --------------------
536 * Added -DFAST_UART to Makefile
539 version 1.6.1 24-10-95
540 --------------------
542 * Fixed bug in STDFQ which caused bus error
545 version 1.6 02-10-95
546 --------------------
548 * Modified srt0.s to include code that initiates registers in IU and FPU
549   and initializes the data segment. The simulator 'load' command does not
550   longer initialize the data segment!
552 * Corrected MEC timer operation; scalers now divide the frequency by 
553   (scaler_value + 1).
555 * MEC breakpoints are not checked during store operation
558 version 1.5 14-09-95
559 --------------------
561 * Fixed some bugs in the cycle counting for IU & FPU instructions.
563 * Fixed bug that allowed an annuled instruction to cause memory exception.
565 * The *ws parameter in mem.c should now contain the number of waitstates
566   required by the memory access (was total number of cycles).
568 * The supplied srt0.s now clears the BSS (thanks Joel).
570 version 1.4 22-08-95
571 --------------------
573 * Added a '-g' switch to enable/disable the GNU readline(), which cause
574 some problems on solaris 2.x machines.
576 * Enabled MEC watchpoint and breakpoint function to mem.c. Performance 
577 may suffer a bit ...
579 NOTE: The UARTs are now connected to /dev/ttypc and /dev/ttypd.
581 version 1.3 26-07-95
582 --------------------
584 * Fixed bug in mulscc instruction (how could that ever have worked?)
586 * Fixed bug in UART B (flushed characters on UART A), thanks Paul.
588 version 1.2 13-07-95
589 --------------------
591 * Fixed bug in interrupt handling (wrong interrupt selected when more that
592 one interrupt pending)
594 * Fixed updating of condition codes during logical instructions (carry and
595 overflow were not reset)
597 * Fixed bug in WRTBR (tt field was wrongly over-written)
599 version 1.1 07-07-95
600 --------------------
602 * Fixed several bugs in the interrupt handler and callback routines.
603 (reported by Paul Warren, Alsys)