BUGS //Running of SWIs/BLs as monotonic in emulator // (Single step doesn't call BLs (etc.) as required) Probably okay now. Needs testing. Needs "OS" SWI trapping strategy. timeout(?) can cause emulator setup to barf at start up. // callback_mode_selection BUGS (okay now ?) // Memory leaking - disassembler //Memory display doesn't work at "32 bytes" wide ... not enough columns defined Okay now except 32 bytes + ASCII + DISS appears to lose last column Not investigated yet. Half word load/stores et al. in assembler // Another bug that I discovered with the simulator was, the switch into // System mode of operation. It causes all the registers values change // and it is not possible to leave it. It just goes to invalid mode. // Chump asr/lsr #32 broken (comes out as #0). Chump asr/lsr/ror #0 still accepted for assembly. Imbalance in .komodo for Chump (e.g. missing "hex" on RHS) causes seg. fault. Watchpoint window buttons not properly initialised; looks as if watchpoint not getting an initial `breakpoint_select'. MESSINESS .komodo and dotkomodo.string duplicate data Get "compile" file name into .komodo file (rather than hard coded as ./kmd_compile). Sorting out header files and scope. Breakpoint colouring hits whole line of memory (ONLY if address matches) Ditto for "special_register" colouring "board_enq" does too much in one call Flag (SPSR) linkage to displayed SPSR Fixed (?) but not wholly tested. Redundant label following menu; also internally v. messy! // MORE flags (F, I, T, ...) I & F done; "i" is a bit thin :-/ Single bit "registers" display broken. Make structure creating memory windows dynamic //("special_registers"). "SP" => R14 ?! Semi-fixed. Needs sorting by moving colour etc. into .komodo file. code "ldmFD" etc. modes for disassembler (tedious!) Evaluator does not understand register aliases (e.g. "SP") (See "board_reg_banks" structure in interface.h first) Evaluator relies on "view_updateregwindow" having updated the cached register values recently. Now bodged so `current' registers updated, but not satisfactory if (e.g.) no register window instantiated. Needs thinking through strategy on value cacheing. Surpressing updates to undisplayed memory window(s) ("viewfuncs.c") Trap for memory map as sent by back end. (Needs back end map enhancement/completion first.) ENHANCEMENT Symbol table display window (sort by definition, value, label); flush, define. Add "symbols" column (to left) on memory windows instead of overwriting address. Binary display instead/additional to hex. (?) JNZ imports pending: Makefile, config.h, configure: Renamed the version string from 1.4.0 to 1.4.0-UNSW. This should be integrated into Makefile.am et cetera; I have been too lazy to do so (and I don't have all of the files needed in any case!) src/Makefile: Renamed the version string. Made the library libbfd statically included, as per Debian GNU/Linux's standards. This library should never be dynamically linked, since the interface seems to change all the time, with every upgrade to the binutils package. src/view.c: Fairly extensive reorganisation of the user interface. Make the UI fit a 1024x768 screen---previously it did not, a most annoying problem! Make the status bar on top (under the controls). Allow the UI to be resized correctly (instead of just resizing the status bar!). Modifications to the window title bar and the About dialog box. Place the Number of Multi-steps AFTER the Multi-Step button: a more intuitive place for it. Similarly with the Speed input box and the Walk button. Rename the Register "Value" column to "Value (Hex)". Use 0x0A (Unix '\n') to start a new line in the terminal window. [Much of this integrated.]