2008-06-26 Rob Pearce * src/uart.cc, regression/usart_test/eusart.asm : Added regression test for (and fixed) EUSART sync break operation. 2008-06-05 Scott Dattalo * src/os_dependent.cc: Now the library extension is appended to library names if the raw library name fails to load 2008-06-05 Scott Dattalo for Steffen Joeris * src/modules.h, src/operator.cc, src/processor.h, src/gpsim_object.cc * src/value.h, src/modules.cc, src/value.cc, src/processor.cc, modules/switch.cc * gui/gui_src.cc, gui/gui_symbols.cc, gui/gui_regwin.cc, gui/gui_stack.cc * gui/settings_exdbm.cc, cli/cmd_x.cc, cli/cmd_clear.cc Fixups for gcc-4.3 2008-06-22 Rob Pearce * src/uart.cc, src/uart.h, regression/usart_test/Makefile, regression/run_regression.sh, regression/usart_test/eusart.asm, regression/usart_test/18f2321.lkr: Added regression test for (and fixed) EUSART operation in BRG16 mode. 2008-06-08 Rob Pearce * src/uart.cc, src/uart.h, p18x.cc: Initial support for EUSART, as part of the existing usart class. Has been regression tested in legacy mode only. 2008-06-05 Scott Dattalo * src/value.h, src/value.cc, src/16bit-instructions.cc C++ cleanup - char * is now const char * in many places 2008-06-01 Rob Pearce * src/pic-processor.cc, src/pic-processor.h, p18x.cc, p18x.h: Initial attempt at providing support for the PIC18F4321. The same issues are present as per the 18F2321. * src/16bit-registers.cc, gui/gui_src_asm.cc: Bug fixes - "run to here" now updates the source browser PC indicator, and "set PC here" now works properly on 16bit processors * gui/gui_stopwatch.cc: No actual code change, but some comments regarding a suspicious looking sequence of operations. * src/16bit-processors.cc, src/16bit-processors.h, p18x.h: Fixed RAM sizes of 18F series processors 2008-05-31 Rob Pearce * src/pic-processor.h, src/16bit-processors.h, p18x.h, src/16bit-instructions.cc, src/pic-instructions.cc, src/14bit-registers.cc: Split out the _16BIT_PROCESSOR_ base type into _PIC17_PROCESSOR_ and _PIC18_PROCESSOR_ because nearly every place that tested it should have treated them differently. This led to some awkward switch cases where all PIC18 devices were listed in one block and all PIC17s in another (and which could easily be overlooked and cause pain when adding new devices). These are now simple and generic. * src/pic-processor.cc, src/pic-processor.h, p18x.cc, p18x.h: Initial attempt at providing support for the PIC18F2321. The USART is wrong (missing BAUDCON and SPBRGH), as is the ADC (ADCON2 missing, not enough channels) and the OSCTUNE register is missing. Also the RAM is too big. * src/16bit-registers.cc regression/instructions_16bit/instructions_16bit.asm Fixed a bug in the TBLPTR decrement on 256 byte boundaries, and added regression test for it. 2008-05-20 Rob Pearce * src/14bit-tmrs.cc: Fix TMR1 behaviour around CCP compare events, remove incorrect adcon interaction, enable CCP output drive * src/p16f62x.cc: Enable CCP onto the correct port pin * regression/ccp_628/* regression/run_regression.sh regression/Makefile.am: Add regression tests for these fixes, and others Changes are for bug 1967803 and to repair 679540, plus tests for 1811305, 1652549 2008-04-05 Scott Dattalo * src/gpsim_interface.h, src/interface.cc, cli/cmd_stopwatch.cc, cli/cmd_frequency.cc, cli/cmd_dump.cc, cli/cmd_list.cc, cli/command.cc, cli/cmd_step.cc, cli/command.h: The step and step over commands are now directed through the gpsim interface instead through the currently active processor. 2008-01-13 Borut Razem * plat/win32/gpsim.nsi: added StartMenu page * configure.ac: corrected URL 2008-01-10 Borut Razem * plat/win32/gpsim.nsi, plat/win32/makefile.migw: changed NSIS installation * doc/gpsimWin32.html: fixed typo 2007-12-23 Borut Razem * doc/gpsimWin32.html: fixed typo; jpeg and tiff dependencies * plat/win32/gpsim.nsi: added jpeg62.dll and libtiff3.dll * doc/gpsim_svn.html: corrected the URL of svn repository, thanks to Graeme Jury * doc/*.html: make WEB pages XHTML 1.0 Transitional copliant 2007-12-17 Roy Rankin * src/14bit-tmrs.h src/14bit-tmrs.cc: Add TMR1 external crystal simulation * regression/tmr1_16bit/tmr1_16bit.asm regression/tmr1_16bit/Makefile: - Add tests for external crystal and Fosc/4, lower frequency to speed up test time * regression/Makefile.am regression/run_regression.sh: - Run tmr1_16bit as part of regression tests * doc/gpsim.lyx: Add TMR1 external drive documentation 2007-12-09 Borut Razem * doc/gpsimWin32.html: NSIS v2.33, fontconfig-2.4.2-tml-20071015, gettext-runtime-0.17, glib-2.14.4, gtk+-2.12.3, pango-1.18.3 * doc/makefile.mingw: ignore errors * plat/gpsim.nsi: updated for gtk+-2.12.3 * plat/win32/gpsim.def: MSVC sync 2007-12-02 Roy Rankin * regression/wdt/18f452.lkr regression/wdt/16f88.lkr regression/wdt/16f628.lkr regression/wdt/16c64.lkr regression/wdt/wdt_16c64.asm regression/wdt/nwdt_18f452.asm regression/wdt/wdt_18f452.asm regression/wdt/nwdt_16f628.asm regression/wdt/nwdt_16f88.asm regression/wdt/wdt_16f88.asm regression/wdt/wdt_16f628.asm regression/wdt/Makefile regression/wdt/nwdt_16c64.asm regression/Makefile.am regression/run_regression.sh: - Add regression tests for Watchdog Time * regression/p16f84/reset.asm: Sleep continues on WDT expire * src/Makefile.am src/rcon.h src/16bit-registers.h: RCON moved to rcon.h * src/pic-processor.cc src/pic-processor.h src/16bit-processors.cc src/pic-registers.cc src/14bit-registers.h src/p16f8x.h src/p16f8x.cc: WDT and configuration fixes * src/processor.cc: Frequency change updates WDT * src/14bit-registers.cc: WDTCON functions added, Status register rcon support * src/16bit-instructions.cc: Implement Sleep instruction 2007-11-25 Roy Rankin * src/14bit-tmrs.cc: Fix TMR2 BUG message on reset 2007-11-09 Borut Razem * modules/usart.cc> fixed bug #1828634: SVN does not build with --disable-gui 2007-10-21 Roy Rankin * modules/switch.cc: Fix compiler warning * modules/led.cc: Fix core dump when no GUI 2007-10-21 Roy Rankin * doc/gpsim.lyx: Add LED doc, new switch state values * modules/switch.cc: State attribute given values open and closed * modules/led.cc, modules/led.h: Add color for simple LED * regression/switch_test/switch_test.asm: test new state values * examples/modules/led_test/led_mod.stc: Add position, simple green LED 2007-10-20 Scott Dattalo * src/pic-processor.cc: Fixed the 'Step-Over' bug that was preventing the gui from updating properly. * regression/rt.sh: Added an echo print that will display which regression test is currently running. This is commented out for now... 2007-10-18 Scott Dattalo * src/16bit-processors.cc: Fixed a printf format specifier bug. 2007-10-18 Scott Dattalo * gui/gui_src.h, gui/gui_src_asm.cc: Removed #if 0'd code. Made the dependency on the "new" source browser permanent. 2007-10-17 Borut Razem * configure.ac: added -Wall gcc command line option to CFLAGS and CXXFLAGS 2007-10-16 Borut Razem * src/value.cc, src/trace.cc, modules/stimuli.cc, gui/gui_trace.cc, gui/gui_profile.cc, gui/gui_menu.cc, gui/gui_scope.cc, configure.ac, config_win32.h.in: introduced PRINTF_GINT64_MODIFIER which defines the printf modifier for gint64 and guint64 types 2007-10-14 Borut Razem * src/p16x6x.h, src/p16x6x.cc, src/eeprom.cc, src/pic-processor.cc, src/p16f62x.cc, src/12bit-processors.cc, src/pic-processor.h, src/p12x.cc, src/14bit-processors.cc: fixed duplicatd sfr deletion, code cleaning * plat/win32/libgpsim.def: MSVC sync * src/icd.cc, src/bitlog.cc, gui/gui_object.cc, eXdbm/eXdbm.c, cli/cmd_help.cc: fixed trivial gcc 4.1.2 warnings 2007-10-14 Roy Rankin * src/value.cc: Allow Float::set to take Value type Integer * src/modules.h src/modules.cc gui/gui_breadboard.cc: - reinstate operation of breadboard "Add library", "Add module" and "Save Configuration" buttons and module attributes. 2007-10-13 Borut Razem * src/gpsim_interface.h, src/ioports.h, src/gpsim_object.h, src/dspic/dspic-instructions.h, src/ui.h, src/processor.h, src/pir.h, src/trace.h, src/program_files.h, src/pic-processor.h, src/registers.h, src/stimuli.h, modules/i2c.h, modules/led.h, gui/gui_symbols.cc, gui/gui_src.h, gui/gui_regwin.cc, gui/gui_menu.cc, gui/gui_scope.cc, gui/gui.h, cli/socket.cc: fixed virtual functions but non-virtual destructor warnings * src/modules.h, src/p16x6x.cc, src/pic-processor.cc, src/p16f62x.cc, src/12bit-processors.cc, src/pic-processor.h, src/p12x.cc, src/modules.cc src/processor.cc, src/14bit-processors.cc, src/pic-instructions.cc, src/pic-processor.cc: fixed gcc warning: dereferencing type-punned pointer will break strict-aliasing rules 2007-10-13 Roy Rankin * src/i2c-ee.h src/i2c-ee.cc modules/i2c-eeprom.h modules/i2c-eeprom.cc cli/cmd_dump.cc cli/cmd_load.cc: Fix eeprom address symbols 2007-10-10 Scott Dattalo * modules/i2c-eeprom.cc, cli/cmd_dump.cc, src/pic-processor.cc, src/symbol.cc, src/i2c-ee.cc: Fixed errors that Borut uncovered during the clean up process. 2007-10-09 Borut Razem * src/symbol.cc: fixed the fixed warnig ;-) 2007-10-07 Borut Razem * cli/cmd_attach.cc, cli/cmd_dump.cc, cli/cmd_dump.h, gui/gui_breadboard.cc, gui/gui_scope.cc, gui/gui_scope.h, gui/gui_src_asm.cc, gui/gui_stack.cc, gui/gui_watch.cc, modules/i2c.h, modules/stimuli.cc, modules/stimuli.h, src/14bit-registers.cc, src/14bit-tmrs.cc, src/16bit-processors.cc, src/bitlog.cc, src/eeprom.cc, src/hexutils.cc, src/hexutils.h, src/modules.cc, src/p16f8x.cc, src/packages.cc, src/pic-ioports.cc, src/pic-processor.cc, src/pic-processor.h, src/processor.cc, src/processor.h, src/registers.cc, src/stimuli.cc, src/symbol.cc, src/trace.cc: fixed trivial gcc warnings * doc/gpsimWin32.html: generic readline 2007-10-6 Scott Dattalo * regression/switch_test/switch_test.asm, regression/instructions_14bit/branching.asm: - WDT was timing out. * src/pic-processor.cc, src/pic-processor.h: - Added 12f508, 12f509, and 12f510 - Fixed I/O reset bug - WDT is now placed in the processor's symbol table. * src/p12x.cc, src/p12x.h: - Added 12f508, 12f509, and 12f510 (although the '510's comparator and A2D are not supported.) * cli/cmd_symbol.cc: - Module symbol tables can now be displayed independently of the global symbol table * cli/parse.yy: - The parser was quiting gpsim if the dump eeprom command failed. 2007-09-30 Borut Razem * doc/gpsimWin32.html: glib-2.14.1, atk-1.20.0, pango-1.18.2, cairo-1.4.10, NSIS v2.31 * plat/win32/gpsim.nsi: updated * plat/win32/libgpsim.def: MSVC sync 2007-09-17 Roy Rankin * cli/cmd_symbol.cc: symbols dumped as module.symbol with better format, don't dump line number symbols. * gui/gui_symbols.cc: symbols dumped as module.symbol. * src/registers.cc: Add module name in response to query array value. * src/i2c-ee.h, src/i2c-ee.cc, modules/i2c-eeprom.cc: Add RegisterCollection to allow command line viewing & change of EEPROM cells. * doc/gpsim.lyx:Document new EEPROM functionality, improve scope window documentation. 2007-09-16 Roy Rankin * cli/cmd_break.cc: unless verbose set, do not output assert messages when loading them to avoid user concusion and masking of error messages. * regression/rt.sh: simplified due to above change. 2007-09-13 Roy Rankin * src/hexutils.cc src/hexutils.h: read/write Intel hex files from/to register arrays. File format not dependant on endian of processor. * src/i2c-ee.h src/i2c-ee.cc src/eeprom.cc src/eeprom.h: EEPROM given register size. * modules/i2c-eeprom.h modules/i2c-eeprom.cc: .eeprom symbol added so dump/load can converse with module * cli/cmd_load.h cli/cmd_load.cc cli/cmd_dump.h cli/cmd_dump.cc cli/parse.yy: add EEPROM dump/load commands. * doc/gpsim.lyx: spelling corrections, document new load and dump commands, improve EEPROM documentation. * regression/i2c/p16f876a.asm: Add tests for EEPROM dump/load. 2007-09-02 Borut Razem * plat/win32/libgpsim.def: MSVC sync * src/attributes.cc, src/gpsim_time.cc, src/gpsim_time.h: create stop_watch object dynamically to overcome the static object creation sequence dependency on the C++ compiler implementation * src/16bit-instructions.cc, src/pic-instructions.cc, src/pic-instructions.h, src/pic-instructions.h, src/processor.cc, src/processor.h, src/dspic/sdpic-instructions.cc: each processor owns its own 'bad_instruction' object * src/symbol.cc, src/symbol.h: code cleaning * doc/snap_header.html: corrected ChangeLog link 2007-08-28 Roy Rankin * gui/gui_breadboard.cc: module settings fix for new symbol table * gli/cmd_dump.cc: fix detection of invalid registers in register dump 2007-08-26 Roy Rankin * gui/gui_symbols.cc: fix memory leak, re-enable filtering * gui/gui_breadboard.h gui/gui_breadboard.cc: breadboard need not be + running on start of gpsim to work * regression/resistor/resistor.asm: position resistors 2007-08-21 Roy Rankin * modules/usart.cc modules/switch.cc modules/paraface.cc * modules/led.cc modules/i2c-eeprom.h modules/video.cc * modules/resistor.cc modules/push_button.h modules/stimuli.cc * modules/logic.cc modules/logic.h modules/i2c-eeprom.cc * modules/paraface.h modules/led.h modules/video.h * modules/push_button.cc modules/resistor.h modules/encoder.cc * modules/encoder.h modules/stimuli.h gui/gui_breadboard.h * gui/gui_breadboard.cc: fix extra xpos, ypos in symbol table, + fix issues in deleting modules including core dumps 2007-08-09 Roy Rankin * src/p12x.cc: Fix eeprom regression introduced by last change 2007-07-29 Scott Dattalo * cli/cmd_break.cc: Fixed bug in expression parsing of assertions. * cli/parse.yy, src/value.h, src/value.cc: playing with a 'call' command. * src/symbol.cc: Symbol type is now shown in a symbol dump. * src/stimuli.cc, src/stimuli.h: Added 'analog sinks'. These are like digital sinks except they have the added capability of directing a signal to more than one object. * src/pic-processor.cc, src/pic-processor.h: Added the 10F202 and 10F204 * src/tmr0.cc: Fixed bug in computing current TMR0 value. * src/12bit-processors.cc: - option register wasn't accessible from command line - Config word wasn't handled properly. * src/p12x.cc, src/p12x.h - Added P12bitBase, this made it somewhat easier to add the 10F series. - Added the 10F200, 10F202, 10F204 and 10F206 (only '204 was tested) - Added comparator support for the 10F204 and 10F206 * regression/comparator/compar_10f204.asm, regression/comparator/10f204.lkr, regression/comparator/Makefile, regression/run_regression.sh: - Added a regression test for the 10F204. 2007-07-22 Rob Pearce * modules/usart.cc modules/usart.h doc/gpsim.lyx: Added a "hex" attribute to the usart module to force the display to show all bytes as hex, for use with pure binary data simulations. 2007-07-15 Roy Rankin * src/pic-processor.cc src/pic-processor.h src/p16f8x.h src/p16f8x.cc regression/ccp/16f819.lkr regression/ccp/ccp_819.asm regression/ccp/Makefile regression/a2d/16f819.lkr regression/a2d/p16f819.asm regression/a2d/Makefile regression/run_regression.sh regression/Makefile.am regression/i2c/16f819.lkr regression/i2c/Makefile regression/i2c/p16f819.asm: - Add P16f818 and P16f819 processors 2007-07-10 Roy Rankin * src/a2dconverter.cc: add comments for setup functions 2007-04-14 Borut Razem * plat/win32/libgpsim.def, plat/win32/Install.vcproj: MSVC sync * cli/cmd_module.cc, gui/gui_stack.c, src/modules.cc, src/modules.h, src/packages.cc, src/registers.cc, src/sim_context.cc, src/symbol.cc, src/symbol.h: fixes to make gpsim compile on MSVC, but it still doesn't run due to object construction / destruction sequence problems... 2007-03-27 Scott Dattalo * cli/cmd_break.cc, src/gpsim_object.h, src/breakpoints.h, src/registers.cc, src/registers.h, src/breakpoints.cc, gui/gui_regwin.cc - Added break on register change feature. From the command line: gpsim> break ch myvar This sets a breakpoint on the register 'myvar' and will halt execution whenever a write to this register changes the contents of myvar. - Added another menu item to the register window menu to support the break on change breakpoint. 2007-03-25 Martin Habets * src/p18x.cc: - Added I2C support to pic18f2455. - Fixed pin 18 on the pic18f2455. 2007-03-20 Martin Habets * src/16bit-instructions.cc, src/p18x.cc, src/p18x.h, src/pic-instructions.cc, src/pic-processor.cc, pic-processor.h: Added support for the p18f2455. 2007-03-20 Scott Dattalo * src/16bit-processors.cc, src/intcon.cc, src/pic-ioports.h, src/intcon.h, src/pic-ioports.cc, src/14bit-processors.cc: - PortB now writes intcon bits via a ptr to an intcon register. Previously, PortB obtained the intcon pointer from the Processor class 2007-03-15 Borut Razem * src/symbol.h: added #include "exports.h" to make it compile on WIN32 * plat/win32/gpsim.nsi: added extras\graphic_lcd\examples\sed1520\* and extras\graphic_lcd\examples\ssd0323\* to the package 2007-03-14 Scott Dattalo * src/dspic/dspic-registers.cc: There was no implementation defined for the Status register constructor. 2007-03-14 Scott Dattalo * src/16bit-processors.cc, src/intcon.cc, src/pic-ioports.h, src/intcon.h, src/pic-ioports.cc, src/registers.h, src/16bit-processors.h: - Added the concept of a 'bit sink' to the SFR registers. This allows arbitrary clients to associate themselves with arbitrary bits in an SFR. More work needs to be done, but this is used at the moment to control port B pull up resistors on the 16-bit core. 2007-03-07 Scott Dattalo * src/pic-processor.cc, src/trace.cc: Moved the ResetTraceObject from pic-processor.cc to trace.cc (yesterday's comment on this was not completely true!) * src/stimuli.cc: Resolved an ambiguity with pullup resistors on I/O pins. 2007-03-06 Scott Dattalo * src/pic-processor.cc, src/trace.cc, src/trace.h: Moved the ResetTraceObject from pic-processor.cc to trace.cc * src/value.cc: Value objects now remove themselves from the symbol table when they're destructed. * src/symbol.cc, src/stimuli.cc, src/packages.cc, src/modules.cc, src/cod.cc, src/breakpoints.cc, src/attributes.cc, modules/stimuli.cc, modules/stimuli.h, gui/gui_breadboard.cc, cli/cmd_attach.cc: - printf debug clean up. 2007-03-05 Scott Dattalo * src/ssp.cc: Removed some printf debug code. 2007-02-25 Scott Dattalo * src/modules.h, src/symbol.cc, src/modules.cc, cli/cmd_module.cc: The 'module' and 'module list' commands work again. 2007-02-25 Scott Dattalo * src/16bit-processor.cc: Bug in config memory construction was causing segv. Also, added more descriptions to the 16bit processor config words. 2007-02-22 Scott Dattalo * gpsim/main.cc, regression/instructions_14bit/branching.asm, src/p16x6x.h, src/pic-instructions.h, src/ioports.h, src/comparator.h, src/p16x6x.cc, src/p16f87x.cc, src/p16f87x.h, src/16bit-processors.cc, src/14bit-tmrs.h, src/pic-instructions.cc, src/dspic/dspic-registers.cc, src/processor.h, src/stimuli.cc, src/eeprom.cc, src/pic-processor.cc, src/pir.cc, src/registers.cc, src/uart.cc, src/p16f62x.cc, src/uart.h, src/p16x7x.h, src/tmr0.cc, src/pir.h, src/ssp.cc, src/tmr0.h, src/ioports.cc, src/psp.cc, src/14bit-tmrs.cc, src/comparator.cc, src/p16x7x.cc, src/12bit-processors.cc, src/p12x.cc, src/pic-processor.h, src/sim_context.cc, src/p16f8x.h, src/value.cc, src/processor.cc, src/eeprom.h, src/p16f8x.cc, src/pic-ioports.cc, src/registers.h, src/pic-registers.cc, src/breakpoints.cc, src/14bit-processors.cc, src/stimuli.h, gui/gui_scope.cc: - Memory leak fixes. - The 12C50x and the 16f62x devices leak no memory. 2007-02-18 Scott Dattalo * gui/gui_breadboard.cc, src/modules.cc, src/modules.h: The Module libraries are now implemented as STL maps. * src/symbol.h, src/symbol.cc: The symbol table now supports a 'deleteSymbol' method. This method removes a symbol from the symbol table and frees up the memory belonging to it. * gpsim/main.cc, regression/logic_test/logic_test.asm, src/16bit-registers.h, src/init.cc, src/trigger.cc, src/expr.cc, src/p16x6x.cc, src/p16x8x.cc, src/packages.h, src/breakpoints.h, src/16bit-processors.cc, src/14bit-registers.h, src/gpsim_time.h, src/pic-instructions.cc, src/dspic/dspic-registers.cc, src/p16f62x.h, src/processor.h, src/stimuli.cc, src/eeprom.cc, src/pic-processor.cc, src/registers.cc, src/p16f62x.cc, src/gpsim_time.cc, src/packages.cc, src/attributes.h, src/sim_context.h, src/icd.cc, src/12bit-processors.cc, src/p12x.cc, src/pic-processor.h, src/sim_context.cc, src/value.cc, src/processor.cc, src/14bit-registers.cc, src/16bit-registers.cc, src/p16f8x.cc, src/registers.h, src/pic-registers.cc, src/breakpoints.cc, src/14bit-processors.cc, src/attributes.cc, src/16bit-processors.h, cli/parse.yy, cli/cmd_break.cc, cli/cmd_module.cc, cli/input.cc: - Memory leak fixes. 2007-02-12 Scott Dattalo * src/symbol.cc: Deleted #if 0'd code.(the old symbol table implementation) 2007-02-11 Scott Dattalo * gpsim/main.cc, gpsim/Makefile.am, regression/register_stim/register_stim.stc, regression/logic_test/logic_test.asm, regression/p18f452_ports/18f452.lkr, src/16bit-registers.h, src/fopen-path.cc, src/trigger.cc, src/trigger.h, src/12bit-hexdecode.cc, src/symbol.h, src/14bit-hexdecode.cc, src/16bit-hexdecode.cc, src/p16x6x.h, src/expr.cc, src/pic-instructions.h, src/ioports.h, src/i2c-ee.h, src/gpsim_object.h, src/comparator.h, src/modules.h, src/p16x6x.cc, src/p17c75x.cc, src/p16x8x.cc, src/pie.h, src/packages.h, src/p16f87x.cc, src/breakpoints.h, src/p16f87x.h, src/16bit-processors.cc, src/14bit-instructions.cc, src/intcon.cc, src/14bit-registers.h, src/operator.cc, src/i2c-ee.cc, src/symbol.cc, src/ssp.h, src/14bit-tmrs.h, src/pic-ioports.h, src/ValueCollections.cc, src/pic-instructions.cc, src/dspic/dspic-processors.cc, src/dspic/dspic-instructions.cc, src/dspic/dspic-processors.h, src/dspic/dspic-registers.cc, src/dspic/dspic-registers.h, src/p16f62x.h, src/processor.h, src/pic-registers.h, src/stimuli.cc, src/eeprom.cc, src/pic-processor.cc, src/pir.cc, src/intcon.h, src/gpsim_object.cc, src/xref.h, src/registers.cc, src/uart.cc, src/p16f62x.cc, src/uart.h, src/pie.cc, src/p16x7x.h, src/tmr0.cc, src/12bit-instructions.h, src/Makefile.am, src/16bit-instructions.h, src/pir.h, src/gpsim_time.cc, src/a2dconverter.h, src/trace.h, src/pm_rd.cc, src/xref.cc, src/ssp.cc, src/ui.cc, src/packages.cc, src/tmr0.h, src/sim_context.h, src/icd.cc, src/ioports.cc, src/14bit-tmrs.cc, src/comparator.cc, src/p16x5x.cc, src/p16x7x.cc, src/value.h, src/expr.h, src/12bit-processors.cc, src/p12x.cc, src/pic-processor.h, src/sim_context.cc, src/p16f8x.h, src/p18x.cc, src/pm_rd.h, src/modules.cc, src/value.cc, src/processor.cc, src/14bit-registers.cc, src/eeprom.h, src/16bit-registers.cc, src/p12x.h, src/p16f8x.cc, src/trace.cc, src/a2dconverter.cc, src/cod.cc, src/pic-ioports.cc, src/registers.h, src/pic-registers.cc, src/breakpoints.cc, src/12bit-processors.h, src/14bit-processors.cc, src/14bit-processors.h, src/attributes.cc, src/16bit-processors.h, src/14bit-instructions.h, src/16bit-instructions.cc, src/stimuli.h, configure.ac, extras/graphic_lcd/src/glcd_100X32_sed1520.cc, extras/lcd/hd44780.cc, extras/lcd/lcd.cc, modules/usart.cc, modules/switch.cc, modules/led.cc, modules/resistor.cc, modules/i2c.cc, modules/stimuli.cc, modules/logic.cc, modules/i2c-eeprom.cc, modules/ttl.cc, modules/encoder.cc, gui/gui_src.cc, gui/gui_breadboard.h, gui/gui_symbols.cc, gui/gui_regwin.cc, gui/gui_watch.h, gui/gui_src_asm.cc, gui/gui_stack.cc, gui/gui_watch.cc, gui/gui_scope.cc, gui/gui_breadboard.cc, cli/cmd_load.h, cli/scan.ll, cli/cmd_symbol.cc, cli/socket.cc, cli/cmd_help.cc, cli/cmd_bus.cc, cli/cmd_help.h, cli/parse.yy, cli/cmd_attach.cc, cli/cmd_attach.h, cli/cmd_x.cc, cli/cmd_break.cc, cli/cmd_node.cc, cli/cmd_break.h, cli/cmd_stimulus.h, cli/cmd_run.cc, cli/input.cc, cli/cmd_load.cc, cli/cmd_log.cc, cli/cmd_stimulus.cc, cli/cmd_symbol.h: - Rewrote the symbol table. * src/stimulus_orb.h, src/symbol_orb.h: Removed 2007-01-27 Borut Razem * doc/gpsimWin32, plat/win32/libgpsim.def: MSVC sync * extras/lcd/lcd.h: synced with Scott's changes 2007-01-20 Scott Dattalo * src/pic-processor.cc, src/trace.h, src/p16x5x.cc, src/12bit-processors.cc, src/p12x.cc, src/pic-processor.h, src/processor.cc, src/14bit-registers.cc, src/trace.cc, src/trigger.cc, src/intcon.cc: - Added a Trace Type for Resets and Interrupts. - Removed some deprecated trace types (e.g. TRIS and Option). - Single stepping uses the clock phase code. * regression/rt.sh: Removed outdated comment. * cli/cmd_trace.cc: added an 'info' option to the trace command. This is for displaying information about allocated trace types. It is used primarily for debugging. 2007-01-20 Scott Dattalo * gui/gui_menu.cc: Bug [1631921]. Preferences dialog box was grabbing the gtk focus and preventing child dialog boxes from having focus. 2007-01-17 Scott Dattalo * src/expr.cc: Bug [1638250]. ramData[] references in expressions were evaluating to the index of the ramData and not to the ramData contents. 2007-01-14 Scott Dattalo * cli/cmd_stopwatch.cc, cli/cmd_quit.cc, cli/scan.ll, cli/cmd_symbol.cc, cli/cmd_shell.cc, cli/cmd_version.cc, cli/cmd_help.cc, cli/cmd_bus.cc, cli/cmd_set.cc, cli/cmd_frequency.cc, cli/cmd_attach.cc, cli/cmd_dump.cc, cli/cmd_x.cc, cli/cmd_list.cc, cli/cmd_echo.cc, cli/cmd_processor.cc, cli/cmd_disasm.cc, cli/cmd_reset.cc, cli/cmd_break.cc, cli/cmd_node.cc, cli/cmd_module.cc, cli/cmd_clear.cc, cli/command.cc, cli/cmd_trace.cc, cli/cmd_icd.cc, cli/cmd_run.cc, cli/cmd_step.cc, cli/input.cc, cli/cmd_load.cc, cli/cmd_log.cc, cli/cmd_stimulus.cc, cli/command.h, cli/cmd_macro.cc: - gcc-4.2 doesn't like const char * types being assigned to char * 2007-01-14 Scott Dattalo * regression/register_stim/Makefile: Regression test wasn't running. 2007-01-14 Borut Razem * plat/win32/libgpsim.def: MSVC sync * doc/gpsimWin32, plat/win32/gpsim.nsi: added $Author$, glib-2.12.7, gtk+-2.10.7, pango-1.14.9, NSIS v2.23 2007-01-13 Scott Dattalo * regression/p16f84/p16f84.stc: removed. The configuration file is now part of p16f84.asm * regression/p16f84/reset.asm: added. Tests resets and sleep. * regression/p16f509/reset.asm: cosmetic changes. * regression/ccp/ccp_877a.asm: made some local variables global so that I could more easily debug the clock phase changes. * regression/txisr_test/txisr_test.asm: Now captures unexpected resets. * regression/instructions_14bit/Makefile: Added branching.asm regression test * regression/instructions_14bit/branching.asm: Added. tests branching instructions. This was mainly created to debug the clock phase code for interrupts interrupting 2-cycle instructions. * regression/run_regression.sh: Added branching and reset regression tests. * src/14bit-instructions.cc: Cosmetic... * src/intcon.cc: Now interrupts are signified by calling cpu_pic->BP_set_interrupt() is called instead of bp.set_interrupt(). The purpose is to (eventually) separate interrupts from breakpoints. * src/clock_phase.h, src/clock_phase.cc: Added class 'phaseCaptureInterrupt'. As its name implies, this is part of the clock phase stuff and it's designed to handle interrupts. * src/pic-processor.cc: - Sleep is now handled by the clock phase code. - Interrupts are now handled by the clock phase code. - The run() method now only looks at the global break point flag. (Before, the sleep and interrupt states were handled with breakpoint flags.) - Added an 'ActivityState' to reflect what the processor is currently doing. This is primarily used by the 12-bit core to determine if the processor is sleeping. * src/14bit-registers.cc: cosmetic. Added debug code. * src/pic-ioports.cc: Port B wakeup on change feature was not working. * src/pic-registers.cc: Numerous clock phase related changes. Now interrupts are properly handled. Also, there was a nasty design error that prevent proper handling of interrupts during the middle of call or return statements. 2007-01-11 Borut Razem * plat/win32/make.mingw: added -Wno-format to prevent mingw build warnings: warning: unknown conversion type character `I' in format warning: int format, different type arg (arg X) warning: `I' flag used with `%x' printf format * acinclude.m4: check for the presence of the readline library. This version works also in cross-compilation environment. * plat/win32/libgpsim.def: MSVC sync 2007-01-10 Scott Dattalo * src/symbol.cc, src/symbol.h, src/stimuli.cc, src/stimuli.h: - stimulus and node symbols can now be added to the symbol table with the 'Clearable' flag turned off. * src/p16x6x.cc, src/p17c75x.cc, src/p16x8x.cc, src/p16f87x.cc, src/p16f62x.cc, src/p16x5x.cc, src/p12x.cc, src/p18x.cc, src/modules.cc, src/p16f8x.cc: - All processors were individually adding a module symbol to the symbol table. Now this is done in one place down in the Module class constructor. - The symbol table is now no longer automatically cleared whenever a processor is loaded. Previously, if you loaded a module (e.g. the usart) and then load the processor, the module's clearable symbols would be removed! There's still some work that needs to be done here. However, to do things correctly will take some time... 2007-01-08 Scott Dattalo * regression/make.regression: - Added a rule to run a regression test interactively. Suppose you have a file named 'mytest.asm'. Then the rule 'mytest.-' can be invoke like this: $ make mytest.- * regression/p16f84/p16f84.asm, regression/p16f84/Makefile: Placed the configuration script into the .asm file. * src/p16x8x.cc, src/p16x8x.h: - Added the MCLR pin to the '83 and the '84 * src/pic-instructions.cc - clock phase change - the SLEEP instruction no longer sets a breakpoint * src/pic-processor.cc, src/pic-processor.h: - Added an exit_sleep method. - Removed the external reset controls added in previous commit - Removed the WDT 'start_sleep' method. It was not being called. * src/p12x.cc: - Use the already existing config_modes structure to record whether the MCLR pin is enabled or not. * src/pic-ioports.cc: - RBIF changes now cause the processor to exit sleep. * src/14bit-processors.cc, src/14bit-processors.h: - Added MCLR support for the mid range processors. - Cleaned up config word management. 2007-01-05 Borut Razem * plat/win32/libgpsim.def: MSVC sync 2007-01-04 Scott Dattalo * port_stim/Makefile, tmr0_16bit/Makefile, spi/Makefile, logic_test/Makefile, make.regression, wavegen/Makefile, rt.sh, p12c509/Makefile, ttl/Makefile, ccp/Makefile, comparator/Makefile, txisr_test/Makefile, digital_stim/Makefile, resistor/Makefile, breakpoints/Makefile, interrupts_14bit/Makefile, node_test/Makefile, p16f84/Makefile, usart_test/Makefile, analog_stim/Makefile, eeprom_wide/Makefile, switch_test/Makefile, p18f452_ports/Makefile, macro_test/Makefile, psp/Makefile, instructions_12bit/Makefile, a2d/Makefile, instructions_14bit/Makefile, p12ce518/Makefile, instructions_16bit/Makefile, run_regression.sh, i2c/Makefile, p18f/Makefile: - Added make clean option to 'run_regression.sh' - Cleaned up the make rules * p18f/startup.stc: removed * regression/startup.stc: added 2007-01-02 Scott Dattalo * src/16bit-processors.cc, src/16bit-processors.h, src/dspic/dspic-processors.cc, src/dspic/dspic-processors.h, src/12bit-processors.cc, src/12bit-processors.h, src/14bit-processors.cc, src/14bit-processors.h: - removed 'por()' method from Processor class * src/processor.h, src/processor.cc - removed 'por()' method from Processor class. - removed unused set() and get() methods - RegisterMemoryAccess now has a reset() method. * src/14bit-registers.h, src/14bit-registers.cc - The Status_register now has a 'reset()' method. * src/pic-processor.h, src/pic-processor.cc: - Added a 'phaseIdle' to handle idle processor states. (like when reset is being held low). - added support for MCLRE - ::reset() now handles MCLR resets - WDT handles MCLR resets * src/p12x.h, src/p12x.cc: - Added support for MCLRE. Now, when GPIO3 is held low on the 12c50x processors, the CPU is held in reset. * src/clock_phase.cc, src/clock_phase.h: - Added phaseIdle class. * src/pic-registers.cc: - The program counter class now handles resets. * src/16bit-instructions.cc: removed a comment. * src/gpsim_classes.h: - Added an 'EXIT_RESET' type to the RESET_TYPE enumeration. - Removed 'PROCESSOR_STATES' enumeration. * regression/p12c509/tmr0.asm: MCLR resets are now working. 2006-12-31 Scott Dattalo * src/os_dependent.cc: Applied patch [1625380] from Jean-Etienne Lamiaud that fixes dynamic module loading on OS X. 2006-12-27 Scott Dattalo * src/Makefile.am, modules/Makefile.am, eXdbm/Makefile.am, cli/Makefile.am, Makefile.am: Applied patch from Vitaly Lipatov that fixes the linking order. patch [1621792] 2006-12-27 Scott Dattalo * src/uart.cc: applied patch from Jean-Etienne Lamiaud that supports uart framing and overflow errors. patch [1621771] 2006-12-27 Scott Dattalo * regression/analog_stim/p18f452.asm, regression/analog_stim/18f452.lkr, regression/analog_stim/Makefile, regression/run_regression.sh: - Added a regression test for analog stimuli. * cli/cmd_stimulus.cc: the 'analog' modifier for asynchronous stimuli was being ignored. Bug [1621698] 2006-12-23 Borut Razem * plat/win32/libgpsim.def: MSVC sync * modules/i2c.cc, modules/i2c.h, modules/makefile.mingw, modules/vcproj: added i2c.cc, i2c.h to the project, removed warnings * doc/gpsimWin32, plat/win32/gpsim.nsi : atk-1.12.3, glib-2.12.6, gtk+-2.10.6, pango-1.14.8, NSIS v2.22 2006-12-22 Scott Dattalo * src/p16x6x.cc, src/16bit-processors.cc, src/14bit-registers.h, src/pic-ioports.h, src/pic-instructions.cc, src/pic-registers.h, src/pic-processor.cc, src/tmr0.cc, src/tmr0.h, src/p16x5x.cc, src/12bit-processors.cc, src/p12x.cc, src/pic-processor.h, src/p18x.cc, src/14bit-registers.cc, src/16bit-registers.cc, src/pic-ioports.cc, src/pic-registers.cc, src/12bit-processors.h, src/14bit-processors.cc, src/14bit-processors.h: - Option register is no longer a member of the pic_processor base class. The 12-bit and 14-bit separately declare an option register member and dynamically construct it. - Moved OPTION_REG from 14bit-registers to pic-registers - TMR0 now has a pointer to the option register (as opposed to directly referencing the option register in the cpu class). - TMR0 for 16-bit cores was using the option register instead of the T0CON during initialization - The TRIS register resets to all 1's for the 12-bit and 14-bit cores during WDT resets. However, it remains unchanged for the 16-bit cores. A flag was added to the PicTrisRegister base class to describe what action should be taken during WDT resets 2006-12-22 Scott Dattalo * regression/12c509/tmr0.asm: (This file is going to change names!). Testing various reset modes. 2006-12-22 Scott Dattalo * modules/stimuli.h, modules/stimuli.cc: Added an 'initial' attribute to the pulsegen module that allows the initial pin voltage to be specified. 2006-12-20 Scott Dattalo * cli/cmd_load.cc: Fixed missing end-of-line string continuation 2006-12-20 Scott Dattalo * gpsim/main.cc: added a -I option to the gpsim invocation. This is identical to the '-c' option except that it will not change the current working directory. The '-c' option automatically changes directories to where ever the included script resides. * src/input.cc, src/cmd_load.cc: now scripts residing in other directories can be loaded in such a way as to not cause a directory change. From gpsim's command line, the 'load' command now supports a 'i' option. 2006-12-20 Scott Dattalo * src/12bit-processors.cc, src/p12x.cc, src/p12x.h: Config word stuff was broken. * regression/p12c509/tmr0.asm: Converted into relative mode code. * regression/p12c509/Makefile, regression/p12c509/12c509.lkr: Added. This is in preparation for testing SLEEP and WDT for the 12bit cores. 2006-12-19 Scott Dattalo * modules/i2c.h, modules/i2c.cc, modules/Makefile.am: Added an i2c master module. Currently can only be driven with attributes. 2006-12-18 Scott Dattalo * src/pic-ioports.cc, src/p16f8x.cc, src/ioports.cc, src/pic-ioports.h: 2006-12-14 Scott Dattalo * src/trace.cc: command line tracing now 1) only display the last instruction traced after a step (instead of the last 2 instructions) and 2) the source line for the instruction. 2006-12-14 Scott Dattalo * src/ioports.h, src/ioports.cc: Added an 'updatePins()' method to the PortModule class. This provides a way of updating just a subset of the port pins. 2006-12-01 Borut Razem * modules/stimuli.cc: access trace object indirectly by using get_trace() * plat/win32/libgpsim.def: MSVC sync 2006-11-27 Scott Dattalo * src/pic-ioports.h, src/ioports.cc, src/pic-ioports.cc: - Improved class member initialization. Specifically, the pin enable mask was not getting set properly. * modules/gpsim_modules.cc, modules/stimuli.cc, modules/stimuli.h: - Added 16-bit and 32-bit versions of the parallel port stimulus - Added a 'pullup' register to the port stimulus. - Changed the parallel port stimulus I/O pins to IO_bi_directional_pu * regression/port_stim/port_stim.asm - The parallel port stimulus regression test now tests the module's pullup resistors. 2006-11-22 Scott Dattalo * src/interface.cc: start_simulation() is now incorporating functionality previously implemented in Processor::run(). * gui/gui_src.cc, gui/gui_src_asm.cc, gui/gui_menu.cc: The gui now starts a simulation by calling gpsim_interface::start_simulation() instead of active_cpu->run() * src/pic-processor.cc, src/clock_phase.cc, src/clock_phase.h, src/pic-registers.cc: The ClockPhase::setNextPhase() method is no longer virtual. 2006-11-21 Scott Dattalo * regression/TODO: Added. 2006-11-21 Scott Dattalo * src/ValueCollections.h, src/ValueCollections.cc: Added a new constructor for IIndexedCollection objects that allow for named Value object collections. 2006-11-20 Scott Dattalo * src/ValueCollections.h: SetAt method in the IndexedCollection template was using a '<=' where a '>=' should have been used instead. 2006-11-19 Scott Dattalo * src/clock_phase.cc, src/clock_phase.h, src/16bit-processors.cc, src/pic-processor.cc, src/processor.cc, src/pic-registers.cc: - Added support for interrupt phases in the new external clock feature. More work is still needed and still, //#define CLOCK_EXPERIMENTS Is commented out. - So this new code is inhibited by default. 2006-11-17 Borut Razem * src/makefile.mingw, src/src.vcproj: MSVC sync 2006-11-17 Scott Dattalo * src/clock_phase.h, src/clock_phase.cc: Added. Defines the ClockPhase class, which is a base class for supporting external processor clocks. Note, this could is currently experimental and is inhibited. To enable it, uncomment the line //#define CLOCK_EXPERIMENTS in clock_phase.h * src/pic-instructions.cc, src/pic-processor.cc, src/Makefile.am, src/processor.cc, src/16bit-registers.cc, src/pic-registers.cc, src/16bit-instructions.cc: - Support for external processor clocks. This is partially implemented and currently inhibited. 2006-11-16 Scott Dattalo * src/pic-instructions.cc, src/pic-instructions.h: .lst line numbers were not getting set properly for instructions containing assertions. 2006-11-15 Scott Dattalo * src/breakpoints.cc: post assertions are now displayed as such when they're triggered. Still need to have the breakpoint messages to display the postAssertion modifer. * src/value.cc: Added a diagnostic message. 2006-11-14 Scott Dattalo * cli/parse.yy, cli/cmd_break.cc, cli/cmd_break.h, src/gpsim_time.cc: 2006-01-02 I disabled the ability to set attribute breakpoints. That feature.has now been re-enabled. * regression/breakpoints/breakpoints.asm: Added a regression test for the stopwatch attribute breakpoint 2006-11-13 Scott Dattalo * gui/gui_trace.cc, gui/gui_profile.cc, gui/gui_menu.cc, gui/gui_scope.cc, gui/gui_stopwatch.cc, cli/socket.cc, modules/usart.cc, src/stimuli.cc, src/eeprom.cc, src/pic-processor.cc, src/uart.cc, src/tmr0.cc, src/gpsim_time.cc, src/pm_rd.cc, src/ssp.cc, src/14bit-tmrs.cc, src/processor.cc, src/14bit-registers.cc, src/16bit-registers.cc, src/trace.cc, src/a2dconverter.cc, src/breakpoints.cc, src/interface.cc, src/gpsim_time.h, src/i2c-ee.cc: - The 'value' member of the Cycle_Counter class is now private. 2006-11-12 Borut Razem * doc/gpsimWin32.html: use readline 5.1. Packages are available at http://gpsim.sourceforge.net/gpsimWin32/packages/readline-5.2-20061112-src.zip, http://gpsim.sourceforge.net/gpsimWin32/packages/readline-5.2-20061112-lib.zip, http://gpsim.sourceforge.net/gpsimWin32/packages/readline-5.2-20061112-bin.zip, cairo-1.2.6, glib-2.12.4, pango-1.14.5, NSIS v2.21 2006-11-11 Rob Pearce * regression/interrupts_14bit: modified PORTB change on state test to check for interrupts on both edges * src/processor.cc, src/processor.h, regression/usart_test: change of cpu frequency now propagates to other timings. Second USART test modified to set lower CPU clock to validate this 2006-11-11 Borut Razem * doc/gpsim.css, doc/spsimWin32.html: renamed from gpsimWin32.css * doc/index.html, doc/snap_header.html, doc/snap_footer.html, doc/snap.php: added * doc/gpsim.css, doc/gpsimWin32.html, doc/gpsim.html, doc/gpsim_svn.html: XHTML1 compatible * makefile.mingw: claen performs also clean-extras 2006-11-10 Scott Dattalo * ANNOUNCE: Updated for 0.22.0 release. Note that Borut created an 0.22.0 SVN tag that corresponds to revision 1827. 2006-11-10 Borut Razem * configure.ac, doc/gpsimWin32.html, extra/graphic_lcd/configure.ac, gpsim.spec.in, gui/gui_menu.c, modules/README: corrected all url-s from http://www.dattalo.com/gnupic/gpsim.html to http://gpsim.sourceforge.net/gpsim.html * regression/*.lkr, regression/*.asm, regression/Makefile, src/p16f8x.*, src/pm_rd.*, src/psp.*: added svn properties svn:eol-style native, svn:keywords "Author Date Id Revision" * plat/win32/gpsim.nsi, plat/win32/makefile.mingw: extract PRODUCT_WEB_SITE from ../../configure.ac * doc/gpsim.html, doc/gpsim_svn.html, doc/gpsim.ico: added favicon * doc/gpsim.html: applied patch from David Barnett: "I added the F73 and F74, removed the PIC17's, fixed a typo and changed the modified date" 2006-11-09 Scott Dattalo * configure.ac, extras/graphic_lcd/configure.ac: 0.22.0 Release 2006-11-09 Scott Dattalo * doc/gpsim.lyx: Added module documentation, macro documentation, scripting documentation, and examples documentation 2006-11-08 Scott Dattalo * doc/gpsim.lyx: Added module documentation and in particular the USART module. 2006-11-08 Borut Razem * extras/graphic_lcd/src/glcd_100X32_sed1520.cc, extras/lcd/hd44780.cc, extras/lcd/hd44780.h, extras/lcd/lcd.cc, extras/lcd/lcdgui.cc, extras/lcd/module_manager.cc: removed compiler warnings * doc/gpsim.html, doc/gpsim_svn.html: changed encoding to UTF-8 * plat/win32/gpsim.nsi: changed PRODUCT_WEB_SITE URL and PRODUCT_VERSION 2006-11-08 Scott Dattalo * src/breakpoints.cc: Fixed compiler warning. 2006-11-08 Borut Razem * plat/win32/libgpsim.def: MSVC sync * doc/gpsim_svn.html, doc/gpsim.html: doc/gpsim_cvs.html renamed to doc/gpsim_svn.html 2006-11-08 Scott Dattalo * src/processor.cc: Fixed -p command line option. (actually, there is still an issue with gpsim using the -p option to find the processor, but then naming the processor something else.) 2006-11-08 Scott Dattalo * configure.ac: 0.22.0-RC4 - release candidate 4 * doc/gpsim.html: fix broken links. * README, INSTALL: Minor documentation changes pertaining to 0.22.0 2006-11-08 J.R. Heisey * cli/cmd_macro.cc: - Made some of the macro command console output conditional on the verbose variable to clean up the console output. - Enhanced the console output of the cmd_macro::end_define(). * src/breakpoints.cc: Added call in Breakpoints::set_breakpoint() to Processor::NotifyBreakpointSet() to help with the integration of processors defined in their own dynamic library. 2006-11-07 Scott Dattalo * gui/gui_regwin.cc: EEPROM window abort bug fixed on 2006-11-04 had a flaw. Hopefully that's been fixed now. (The problem was that the fix assumed if the maxrow member of the register_sheet was 0 that there were no cells in the sheet. However, in the gtksheet widget, maxrow can be 0 if there's only 1 row!) 2006-11-07 Scott Dattalo * gui/gui_symbols.cc, gui/gui_src_asm.cc: Changed the way glib lists were deallocated. This removes a glib compile warning. 2006-11-07 Scott Dattalo * src/16bit-registers.h, src/16bit-registers.cc, src/p16x6x.h, src/p16x6x.cc, src/p16f87x.h, src/p16f8x.h, src/16bit-processors.h, src/16bit-processors.cc, src/p16f62x.h, src/p16f62x.cc, src/uart.h, src/uart.cc: - Removed USART_MODULE14 and USART_MODULE16 classes. All they were doing was declaring a 'cpu' pointer, but they weren't even using it. - All member functions of the USART_MODULE class are now non-virtual. 2006-11-06 Rob Pearce * src/stimuli.cc: Fixed the p12ce51x I2C-EE bug - it was due to a stimulus initialisation error caused by bit rot in the node summing function for the single stimulus connected case! 2006-11-06 David Barnett * modules/gpsim_modules.cc: The push_button is named as "push_button" in push_button.h, but "pushbutton" in gpsim_modules.cc. This had the effect that "module load push_button was saved into the netlist file, but "module type push_button not created" would display when loading the netlist. 2006-11-06 Scott Dattalo * doc/gpsim.html, doc/gpsim_cvs.html: Fixed links. Changed CVS references to SVN. 2006-11-05 Scott Dattalo * src/uart.cc, src/uart.h: TXIF is now only gets set if both TXEN and SPEN are set. The USART_MODULE class interface was redesigned slightly to simplify accesses to the various registers associated with the USART. * src/p16f62x.cc, src/16bit-registers.cc, src/p16f8x.cc, src/16bit-registers.h, src/p16x6x.cc, src/p16f87x.cc, src/16bit-processors.cc: - Adapted new USART_MODULE interface. * regression/usart_test/usart_pir1v1.asm, regression/usart_test/usart_pir1v2.asm: - The usart regression test noew makes sure that TXIF is not set before TXEN and SPEN are set. 2006-11-05 Scott Dattalo * src/trigger.cc, src/trace.cc, src/breakpoints.cc: Cleaned up trace printing of traced breakpoints. 2006-11-04 Borut Razem * plat/win32/libgpsim.def: MSVC sync 2006-11-04 Scott Dattalo * src/cod.cc, src/pic-processor.cc: Applied variation of patch submitted by David Barnett that prepends processor name with a 'p' if the name begins with a digit in the .cod file 2006-11-04 Scott Dattalo * gui/gui_breadboard.cc: Patch from Ralf that fixes coordinates of components selected in the breadboard. 2006-11-04 Scott Dattalo * gui/gui_regwin.cc: gpsim was aborting if eeprom window was opened while a processor without an eeprom was loaded. David Barnett reported this bug. 2006-11-04 Scott Dattalo * cli/input.cc: Typo in preprocessor ifdef. This was discovered while applying a patch from the Gentoo distro. (The patch had already independently been applied, yet the typo hadn't been noticed until this new patch had been submitted.) 2006-11-03 Scott Dattalo * src/trace.cc, src/trace.h, src/dspic/dspic-registers.cc, src/12bit-processors.cc, src/processor.cc, src/14bit-processors.cc, src/14bit-registers.cc, src/16bit-processors.cc, modules/stimuli.cc - TraceType constructors are only initialized with size (and not with type). - Trace entry allocation now gets size request from TraceType class. * src/trigger.cc, src/breakpoints.h, src/breakpoints.cc: Trigger action implementation for special breakpoints has been enhanced to take advantage of multiple trace entries. 2006-11-01 Scott Dattalo * src/trigger.cc, src/trigger.h, src/breakpoints.h, src/breakpoints.cc, src/trace.h, src/trace.cc: - Cleaned up breakpoint tracing. - Added TriggerObject::invokeAction() method to handle the default behavior of invoking a trigger object action and handling the tracing. - Moved the BreakTraceType and BreakTraceObject classes from breakpoints.cc to trigger.cc (probably should rename these?) * src/pic-processor.cc: Change the default Integer type output width to 2 characters. (At 8 characters, there were a lot of 0's.) * src/gpsim_object.cc: toString(char*,int) now returns something. 2006-11-01 Scott Dattalo * src/breakpoints.cc: Fixed core dump for breakpoint expressions that are entered improperly. 2006-11-01 Ralph Neider * modules/gpsim_modules.cc: push_buttons are now ignored when gpsim is built without the gui. 2006-11-01 Scott Dattalo * acinclude.m4: Patch from sf user iggie that fixes check for readline 5.2 2006-11-01 Borut Razem * plat/win32/libgpsim.def: MSVC sync 2006-11-01 Roy Rankin * src/pic-processor.cc: Removed p17c7xx processor family from processor list as code does not work 2006-10-31 Scott Dattalo * src/trace.h, src/trace.cc: TraceType type() now takes an argument that allows a user to select a particular subtype. * src/trigger.h, src/trigger.cc, src/breakpoints.cc, src/breakpoints.h: More breakpoint tracing changes. Execution break points are now displayed in the raw trace buffer. 2006-10-28 Scott Dattalo * src/trace.h, src/trace.cc: Raw trace dumps were cleaned up more. The cycle trace is now decoded in a fashion similar to other trace types. * src/breakpoints.cc: Began design for BreakTraceType and BreakTraceObject. 2006-10-30 Roy Rankin * src/ssp.cc : fixed improper use of type bool * regression/p12ce518/p12ce518.asm : correct error in test 2006-10-22 Borut Razem * plat/win32/gpsim.nsi: removed doc/*.html, added doc/screenshots/*, added extras\graphic_lcd\doc\* * plat/win32/libgpsim.def: MSVC sync * gui/gui.vcproj: generate config.h from config_win32.h.in * cli/cmd_log.cc, cli.socket.cc, gui/gui_menu.cc, gui/gui_scope.cc, gui/gui_src_asm.cc, modules/led.cc, modules/stimuli.cc, modules/switch.cc, src/12bit-processors.cc, src/14bit-processors.cc, src/16bit-processors.cc, src/comparator.cc, src/p16f8x.cc, src/spp.cc: fixed warning 2006-10-28 Scott Dattalo * cli/cmd_load.cc: used a different version of the toString() method in the load command 2006-10-28 Scott Dattalo * src/trace.h, src/trace.cc, src/12bit-processors.cc, src/14bit-registers.cc: - Added a CycleTraceType - Now trace type classes do not add themselves to the current trace frame whenever their decode() methods are called. 2006-10-25 Scott Dattalo * gui/gui_src_asm.cc: Source browser page ptr is not ignored when symbolic debugging is unavailable. * cli/parse.yy: Assigning a non-quoted value to one of the scope channel attributes was causing an abort. * src/pic-instructions.h, src/14bit-instructions.cc, src/pic-instructions.cc, src/16bit-instructions.h, src/16bit-instructions.cc: - Instruction class constructors now initialize all of their data memmbers. * doc/gpsim.html: Fixed some missing links. 2006-10-25 Steffen Joeris * modules/paraface.cc: Patch from Debian Etch release that enables certain Free BSD builds. 2006-10-24 Scott Dattalo * src/trace.cc: Added detailed comments on TraceFrames, TraceTypes, and TraceObjects. 2006-10-23 David Barnett * src/12bit-processors.cc: Fixed extra qualifier bug in the OptionTraceType class. 2006-10-23 Scott Dattalo * AUTHORS: Added Roy to the list :) * regression/Makefile.am: added the i2c regression tests to the distribution * configure.ac: RC2 - release candidate 2 * README.EXAMPLES: this was totally out of date and still needs to be cleaned up. * README: changed revision info, made minor changes. 2006-10-23 Scott Dattalo * src/14bit-processors.cc, src/12bit-processors.cc, src/12bit-processors.h, src/trace.h, src/trace.cc: The OPTION register now has its own trace object * doc/gpsim.lyx: Minor documentation updates * doc/gpsim.html: Placing gpsim web page under CVS control. * doc/screenshots/breadboard.png: added * doc/screenshots/registerview.png: added * doc/screenshots/scope1.png: added * doc/screenshots/scope2.png: added * doc/screenshots/source_browser.png: added 2006-10-23 Roy Rankin * src/p16x6x.h src/ioports.h src/p16x6x.cc src/p16f87x.cc src/i2c-ee.cc src/ssp.h src/pir.cc src/pir.h src/ssp.cc src/p18x.cc src/p16f8x.cc regression/run_regression.sh regression/i2c/p16f876a.asm regression/i2c/16f88.lkr regression/i2c/i2c_low.inc regression/i2c/16f876a.lkr regression/i2c/p16f88.asm regression/i2c/Makefile - Add I2C functionality 2006-10-22 Borut Razem * */.cvsignore: removed CVS leftovers * modules/stimuli.cc: trace.* replaced with get_trace().* the getter function instead of direct object access should be used in modules * plat/win32/sdcc.nsi: added examples/modules/*/README to the setup package 2006-10-19 Scott Dattalo * regression/Makefile.am: Added * configure.ac, extras/graphic_lcd/configure.ac, Makefile.am, examples/Makefile.am: Changed revision from 0.21.12-pre to 0.22.0-RC1. 2006-10-18 Scott Dattalo * src/processor.cc, src/processor.h: - insertRegister() and removeRegister() methods of the RegisterMemoryAccess class now return bool. * src/breakpoints.cc: deleted commented out code. * modules/stimuli.cc, modules/stimuli.h: Implemented the register mapping functionality. * cli/parse.yy: improved the reg() operator syntax. It used to be that only integer operands were accepted. Now, expressions are accepted. * regression/port_stim/18f452.lkr: added * regression/port_stim/Makefile: added * regression/port_stim/port_stim.stc: added * regression/port_stim/port_stim.asm: added * regression/run_regression.sh: Added a regression test for the port_stimulus module. 2006-10-17 Scott Dattalo * examples/projects/stack_test/stack_test.asm, examples/projects/stack_test/stack_test.stc, examples/projects/stack_test/Makefile, examples/projects/digital_stim/digital_stim.stc, examples/projects/digital_stim/digital_stim.asm, examples/projects/digital_stim/Makefile, examples/projects/p16f628_test/f628.asm, examples/projects/p16f628_test/Makefile, examples/projects/p16f628_test/f628.stc: - Clean up examples. * configure.ac: Removed the 12bit, 14bit, and 16bit subdirectories from the list of packaged directories. The example code there is old and needs a whole lot of work to get working. 2006-10-17 Scott Dattalo * examples/modules/Makefile.am, examples/modules/usart_test/usart_test.asm, examples/modules/mod_test/mod_test.stc, examples/modules/usart_test/Makefile: - updated examples * examples/modules/led_test/README: added * examples/modules/led_test/Makefile: added * examples/modules/logic_test/README: added * examples/modules/usart_test/README: added * examples/modules/mod_test/README: added * examples/modules/usart_test/usart.asm: removed 2006-10-17 Scott Dattalo * src/ssp.cc: Fixed uninitialized class data. 2006-10-17 Scott Dattalo * src/breakpoints.h, src/breakpoints.cc, src/processor.h, src/processor.cc, src/registers.cc, src/registers.h: Moved the register breakpoint clearing and setting functionality from the register breakpoint classes to the RegisterMemoryAccess. The purpose of this is to allow other types of register objects (besides break points) to replace registers. * modules/gpsim_modules.cc, modules/stimuli.cc, modules/stimuli.h: Added the parallel port stimulus. This stimulus is identical to a PIC port register in that it has a PORT, TRIS, and LATCH register. Users can control the state of the parallel port stimulus in one of two ways. First, there are user accessible attributes (eg port.latch can be assigned a value). Second, (and this is not completed yet) the user can embed the parallel stimulus into the register memory map. This allows the parallel stimulus to be accessed programmatically (that is from within the PIC assembly code). This allows an assembly program to directly control the simulation environment. 2006-10-17 Scott Dattalo * src/trace.cc, src/trace.h: Changed an empty trace entry from 0 to 0x3fffffff. This provides away to differentiate between an empty trace entry and an uninitialized trace type. 2006-10-17 Scott Dattalo * src/pic-ioports.h, src/pic-ioports.cc, src/16bit-processors.cc, src/16bit-processors.h: Moved the PicLatchRegister class from the 16bit-processor definitions to the pic-ioport definitions. 2006-10-16 Scott Dattalo * gui/gui_src_asm.cc: Renamed the popup menu item function 'Run here' to 'Run to here'. 2006-10-15 Scott Dattalo * gui/gui_src_asm.cc: The popup menu item function 'Move PC here' was not updating the program counter. 2006-10-15 Scott Dattalo * src/trace.h, src/trace.cc: - Added classes for tracing module events. - Fixed a couple of bugs with invalid trace objects being created. Also, invalid trace entries were causing the trace dump to be aborted. * src/16bit-instructions.cc: Removed commented out code * src/dspic/dspic-processors.cc, src/processor.h, src/pic-processor.cc, src/registers.cc, src/ioports.cc, src/processor.cc, src/14bit-registers.cc, src/registers.h: The interface to the trace buffer changed slightly. Also, registers were improperly allocating trace objects. * doc/gpsim.lyx: Added some more documentation. 2006-10-08 Scott Dattalo * modules/switch.cc, modules/switch.h: separated out the gui specific portions of the switch into another class. 2006-10-04 Scott Dattalo * modules/switch.cc: Switch resistance has successfully been reintroduced * regression/switch_test/switch_test.asm: Added a test to test the switch resistance. Note, there are no assertions set on the test because currently there is no way to query the node voltage directly. 2006-10-02 Borut Razem * gpsim.sln, cli/input.cc, cli/cli.vcproj, cli/makefile.mingw, gpsim/gpsim.vcproj, gpsim/makefile.mingw, plat/win32/gpsim.nsi: use readline 5.1. Packages are available at http://gpsim.sourceforge.net/gpsimWin32/packages/readline-5.1-20061001-src.zip, http://gpsim.sourceforge.net/gpsimWin32/packages/readline-5.1-20061001-lib.zip, http://gpsim.sourceforge.net/gpsimWin32/packages/readline-5.1-20061001-bin.zip * doc/gpsimwin32.html: readline 5.1 2006-09-29 Scott Dattalo * modules/switch.cc, modules/switch.h: Trying to reintroduce switch on resistance. * modules/gpsim_modules.cc, modules/resistor.cc, modules/resistor.h: minor clean ups * regression/switch_test/switch_test.asm: Additional comments. Tried to add a test to test switch on resistance... 2006-09-25 Borut Razem * src/sdc.vcproj, src/makefile.mingw: added pm_rd.* to the project 2006-09-21 Dave Barnett * src/pm_rd.cc, src/pm_rd.h: Support for midrange device's program memory read feature. * p16x7x.cc, src/p16x7x.h, src/pic-processor.cc, src/pic-processor.h, src/Makefile.am: Added support for the P16F73 and P16F74 * src/ssp.cc: Fixed typo in printf statement 2006-09-19 Scott Dattalo * src/pic-processor.cc, src/p16f62x.cc, src/p16f62x.h: Added the p16f624 and the p16f624a 2006-09-19 Scott Dattalo * src/pic-processor.cc, regression/p16f628/p16f628.asm: Added the p16f627a and p16f628a processors. Note that these are identical to the non-A versions. 2006-09-10 J.R. Heisey * src/ValueCollections.h: Added indexing operator to class IIndexedCollection. * src/sim_context.cc,h: Added function CSimulationContext:: GetCycleCounter(). * src/modules.cc,h : Added functions to class ModuleLibrary: GetLibraryFileHandle() and GetLibraryFunction(). * gui/gui_src_asm.cc, gui/gui_src.h: - Rescoped several functions into classes to help me keep track of their context. Especially the callbacks. - Implemented the popup menu items: Settings, Find PC, Move PC here, Run here, Breakpoint here, Profile start here, Profile stop here, and most importantly Add to Watch. - Note that the Font selection dialog doesn't seems to actually change the font. It appears to be the same with the old GUI. I haven't checked into it. - Changed the font selection dialog and the settings dialog to use the gtk_dialog_run() function. This fixed an issue when the close (upper right X) button was used the underlying window would be deallocated. This caused the window to never appear again requiring restarting gpsim. 2006-09-03 Scott Dattalo * gui/gui_scope.cc, gui/gui_scope.h: Signal name editing now works. Screen updates for signal names have been fixed. 2006-09-03 Borut Razem * doc/gpsimWin32: glib-2.12.1, gtk+-2.8.20, cairo-1.2.2 2006-08-27 Scott Dattalo * gui/gui_scope.cc, gui/gui_scope.h: - Time axis is now shown. Major and Minor tick marks and the corresponding grid lines are drawn. 2006-08-21 Scott Dattalo * gui/gui.h: KeyEvent now differentiates presses and releases. * gui/gui_src.cc: Update KeyEvent objects. * gui/gui_scope.cc, gui/gui_scope.h: Numerous enhancements: - Added support for markers - Wave pixmaps are now 1024 pixels wide. This primarily fixes a round off error in the binary search routine - Scroll thumb now adjust size based on amount of waveform plotted - Hot key functionality: z -- Zoom in Z -- Zoom out r -- pan right l -- (lowercase ell) pan left - Glitches are now plotted - High frequency events (i.e. events for which there is inadequate monitor resolution to completely show) are plotted in a different color. - Reomved the Pane widget - it was holding the waveforms and just eating up space. - Added WaveBase in anticipation of different types of waveforms. * src/bitlog.h, src/bitlog.cc: The ThreeStateLogger can now return the number of events occurring between two time intervals or between two event indices. (Used for high frequency measuring). 2006-08-08 Scott Dattalo * gui/gui_main.cc: Now scope window is updated when simulation stops. * gui/gui_src_asm.cc: Refresh gui menu when src window changes hidden state. * gui/gui_scope.cc: Redesigned scope window layout. Adding scrolling. 2006-08-06 Roy Rankin * regression/spi regression/spi/p16c62.asm regression/spi/16f88.lkr regression/spi/p18f242.asm regression/spi/16c62.lkr regression/spi/p16f88.asm regression/spi/Makefile regression/spi/18f242.lkr regression/run_regression.sh src/16bit-registers.h src/p16x6x.h src/p16x6x.cc src/p16f87x.cc src/16bit-processors.cc src/ssp.h src/14bit-tmrs.h src/ssp.cc src/ioports.cc src/14bit-tmrs.cc src/p18x.cc src/16bit-registers.cc src/p16f8x.cc src/16bit-processors.h: - Serial Peripheral Interface (SPI) 2006-07-31 Scott Dattalo * src/pic-ioports.cc: RBIF was not handled correctly when the change on interrupt was due to a write to PORTB. * regression/interrupts_14bit.asm: Add a check for the RBIF flag getting set correctly. * arc/p16x8x.cc: W was not getting added to the symbol table. 2006-07-30 Scott Dattalo * cli/cmd_log.cc: Cleaned up help description. 2006-07-30 Scott Dattalo * cli/parse.yy, cli/cmd_log.h, cli/cmd_break.cc, cli/cmd_break.h, cli/cmd_log.cc, src/gpsim_object.cc, src/value.h, src/value.cc, src/expr.h, src/expr.cc, src/trace.h, src/trace.cc, src/registers.h, src/breakpoints.h, src/breakpoints.cc, src/symbol.h, src/gpsim_object.h, src/operator.cc, src/operator.h, src/symbol.cc: - Fixed logging. The logging feature has been broken for a long time. The old code that performed logging has been mostly removed. The new logging code is similar to the breakpoint code. It utilizes TriggerActions.to perform the logging operations. - (The profiling feature is currently broken too. However, it should be possible to utilize TriggerActions for profiling). 2006-07-30 Scott Dattalo * gui/gui_scope.cc, gui/gui_scope.h: development snap - still not complete 2006-07-29 Borut Razem * cli/cli.vcproj, gpsim/gpsim.vcproj, gui/gui.vcproj, modules/modules.vcproj: added cairo dependency, clening * plat/win32/libgpsim.def: MSVC sync * src/i2c-ee.c, modules/i2c-eeprom.c: removed compiler warnings 2006-07-26 Roy Rankin * src/i2c-ee.h src/i2c-ee.cc modules/i2c-eeprom.cc modules/i2c-eeprom.h modules/gpsim_modules.cc: - Added I2C EEprom modules for 24xx024, 24xx16b, 24xx256 2006-07-24 Borut Razem * cli/makefile.mingw, cli/cli.vcproj: define HAVE_SOCKETS - sockets are enabled on WIN32 * plat/win32/libgpsim.def, src/src.vcproj: MSVC sync * doc/gpsimWin32: glib-2.10.3, gtk+-2.8.18, pango-1.12.3 2006-07-23 Scott Dattalo * cli/socket.cc: Re-enabled the socket interface. * examples/scripts/makefile: Hmm, for some reason pango is now required to build the examples. 2006-07-22 Rob Pearce * src/Makefile.am Added a2dconverter.h to the headers list, so that it's included in the tarball built by make dist 2006-07-14 Roy Rankin * src/p18x.h src/p18x.cc src/pic-instructions.cc src/pic-processor.cc src/pic-processor.h: - P18F248 now based on P18F242, P18F448 added based on P18F424 * src/p16x6x.cc: remove debug output 2006-07-12 Scott Dattalo * cli/parse.yy, cli/input.cc: Previously, the parser would abort parsing upon detection of syntax errors. Now the parser will only ignore the erroneous lines. The difference mainly applies to scripts. 2006-07-11 Scott Dattalo * gui/gui_scope.h, gui/gui_scope.cc: Added scope.zoom and scope.pan attributes that allow the image in the scope window to be panned and zoomed. * src/makefile.mingw: added the new psp.cc file. 2006-07-11 Roy Rankin * src/p16x6x.h src/p18x.h src/p16x6x.cc src/pic-ioports.h src/Makefile.am src/psp.cc src/p18x.cc src/psp.h src/pic-ioports.cc regression/psp/18f452.lkr regression/psp/16f871.lkr regression/psp/p18f452.asm regression/psp/p16f871.asm regression/psp/Makefile regression/run_regression.sh: - Add PSP functionality to 40 pin processors based on P16C64 & P18C4x2 2006-07-08 Scott Dattalo * makefile.mingw, plat/win32/make.mingw: Created a 'make depend' rule for the win32 makefiles. Here's how it works; first create the dependency file: $ make -f makefile.mingw depend This will create a file named 'mf' in each directory. Now gpsim can be built by: $ make -f mf (Note: There is a bug with make depend in the modules directory). 2006-07-08 Scott Dattalo * gui/gui_scope.cc, gui/gui_scope.h, gui/gui.h, gui/gui_src.cc: - Moved the KeyEvent class definition to gui.h. - Moved gui_scope local declarations to Scope_Window class. 2006-07-07 Scott Dattalo * gui/gui_scope.cc: Added a GtkEntry widget to hold scope signal names. Now signals can be specified either through the GtkEntry or by the command line attributes. 2006-07-06 Scott Dattalo * gui/gui_scope.cc: IOPINs can now be attached to scope channels. The attachment can only be made at the command line: gpsim> scope.ch0="porta0" Everytime the state of porta0 is changed, the event will also be sent to the scope window where it will get logged and displayed. (Note, the quotes are necessary to prevent gpsim from evaluating the pin name.) * regression/logic_test/logic_test.asm: The logic OR gates connected to porta0,porta1,porta2,portc0 are now displayed in the scope window. 2006-07-05 Scott Dattalo * src/stimuli.h, src/stimuli.cc: Added a virtual destructor to the PinMonitor class. * src/16bit-processors.h, src/16bit-processors.cc, src/pic-ioports.cc, src/processor.cc, src/gpsim_object.cc: minor changes to remove compiler warnings. * gpsim/CopyDlls.bat: This bat file copies the DLLs for the win32 builds to the gpsim/gpsim. A few more DLLs were added to the list. 2006-07-05 Scott Dattalo * plat/win32/make.mingw: Added an option to use ccache for mingw builds. Unfortunately, for this to work well the makefile dependencies also need to be implemented correctly. 2006-07-04 Roy Rankin * src/p16x6x.h src/p16x6x.cc src/p16f87x.cc src/p16f87x.h src/pir.cc src/pir.h src/comparator.h src/a2dconverter.h src/comparator.cc regression/comparator/compar_877a.asm: - Fixes involving PIR_SET 2006-07-03 Borut Razem * cli/cli.vcproj, src/src.vcproj, src/makefile.mingw, plat/uxtime.cc, plat/uxsleep.cc, plat/uxtime.h: uxtime.cc splitted to uxtime.cc and uxsleep.cc, since gettimeofday() is now declared in mingw 2006-07-01 Scott Dattalo * gui/gui_menu.cc, gui/gui_scope.cc, gui/gui_processor.cc, gui/gui_main.cc: - resurrected the scope window. - ThreeStateEventLogger logs traced states. - Implemented an efficient bisecting algorithm for mapping events states onto the plotting window. - Created attributes: scope.ch0 - scope.ch7 specify nodes that are to be monitored scope.start and scope.stop specify the range of time to be viewed. Currently, the scope window cannot display real data. Instead, it will synthesize test data. The scope.start and scope.stop attributes do work. * src/ioports.h, src/stimuli.h, src/stimuli.cc, src/ioports.cc: - Moved the SignalSink class to stimuli.h - Introduced addSink and removeSink methods to the PinMonitor class. - Removed references to 'OLD_IOPORT_DESIGN' * src/bitlog.cc, src/bitlog.h: The ThreeStateEventLogger class now has a flag to indicate when the event buffer is empty. Previously, a "bogus" time was placed at position 0, however this broke the logic that searches for events at particular times. * src/symbol.cc: Added a debug message. 2006-07-01 Scott Dattalo * cli/Makefile.am: Applied patch 1470810 which adds the readline library to list of libraries linked with the cli library. 2006-06-22 Borut Razem * extras/usart_con/*: removed from svn * makefile.mingw, plat/win32/gpsim.nsi: removed usart_con * modules/usart.cc, modules/usart.cc: added possibility to write to the console using the boolean attribute "console = true | false" * examples/modules/usart_gui/usart_gui.asm: send only '\n' for the newline, introduced putchar procedure, ... 2006-06-21 Roy Rankin * regression/usart_test/usart_pir1v1.asm, regression/usart_test/usart_pir1v2.asm: - Check PIC TX pin is high when first set to output. * src/pic-ioports.cc: Portb, allow driving state to be set even when bit is set. * src/tmr0.cc: Fix call of clear_break. 2006-06-16 Scott Dattalo * src/14bit-tmrs.h, src/14bit-tmrs.cc: TMR2 wasn't getting properly initialized when the TMR2ON bit in T2CON was getting set. * TODO: Removed the "Source Browser Search" todo item 2006-06-13 Borut Razem * CVSROOT: removed the CVS left-over * extras/usart_con/usart_con.cc: print control characters in <%02X> format * gui/gui_src_asm.cc: added strcasestr() function 2006-06-16 Scott Dattalo * TODO: Cleaned up the TODO list. * gui/gui_src_asm.cc, gui/gui_src.h: Implemented the Source Browser "Find" dialog box. When the new source browser had been re-written, this feature was ommitted. The dialog supports forward and backward searches and case sensitivity. The search history feature is not currently working (was it ever?). Also, it'd be useful to have a "search all files" feature. * gui/gui_menu.cc: Minor change to TextStyle API. 2006-06-13 Scott Dattalo * src/sim_context.cc, cli/input.cc, cli/cmd_load.cc: Rewrote code to get around a gcc 3.2.2 x86 bug regarding the mis-handling of const char * types (the ECX register was getting clobbered!). 2006-06-13 Borut Razem * src/os_dependent.c, src/modules.h, src/modules.cc: reverted cahanges for fix: [ 1488107 ] const violation in get_error_message() since dlerror() returns const char * on FreeBSD * pic_processor.h: fixed warning multiple default constructors specified * plat/win32/libgpsim.def: MSVC sync * doc/gpsimWin32.html: patched gtk+extra-2.1.1-src-20060611.zip 2006-06-12 Roy Rankin * regression/usart_test/usart_pir1v1.asm regression/usart_test/16f628.lkr regression/usart_test/usart_pir1v2.asm regression/usart_test/Makefile regression/run_regression.sh: - Improve USART regression tests * regression/usart_test/usart_test.stc regression/usart_test/usart_test.asm: removed as redundant * src/uart.cc src/uart.h: receive baud rate fix * modules/usart.cc modules/usart.h: Transmit baudrate fix, loop attribute added, receiver rewritten to remove event logger. 2006-06-10 Robert Pearce * doc/gpsim.lyx: Some hacked notes on creating new modules, and a few other tweaks 2006-06-10 Roy Rankin * src/gpsim_time.h src/stimuli.cc src/gpsim_time.cc src/processor.cc src/14bit-registers.cc: cycles_per_second changed to instruction_cps * src/cod.cc: prevent duplicate symbol messages from static .cod file by not loading constants * gui/gui_stopwatch.cc: remove magic number, Frequency format change * src/pir.cc src/pir.h: RCIF not being set by uart * src/uart.cc modules/usart.cc: fix baud rate error 2006-06-03 Scott Dattalo * src/16bit-processors.cc: The newly added config words were placed at word addresses instead of byte addresses. * src/pic-instructions.cc: Removed warning in CLRWDT instruction that said 16bit wdt timer is not implemented. * src/hexutils.cc: removed ifdef'd out code 2006-06-03 Scott Dattalo * cli/parse.yy, cli/input.cc, cli/input.h, cli/cmd_load.cc: Added an option to the load command to allow processors to be named. Eg: gpsim> load test.cod U1 # Assign U1 ref. des. to processor * src/processor.h, processor.cc, src/p16x6x.h, src/p16x6x.cc, src/p16f87x.h, src/p16f87x.cc, src/16bit-processors.h, src/16bit-processors.cc, src/pic-processor.h, src/pic-processor.cc, src/p16f62x.h, src/p16f62x.cc, src/p16x5x.h, src/p16x5x.cc, src/p16x7x.h, src/p16x7x.cc, src/12bit-processors.h, src/12bit-processors.cc, src/p12x.h, src/p12x.cc, src/p18x.h, src/p18x.cc, src/processor.h, src/processor.cc, src/p16x8x.h, src/p16x8x.cc, src/p16f8x.h, src/p16f8x.cc, src/14bit-processors.h,src/14bit-processors.cc, src/dspic/dspic-processors.cc, src/dspic/dspic-processors.h: Pic processors now can be named when instantiated. * gui/gui_menu.cc: Adhere to the new calling convention for gpsim_open. * src/hextutils.h, src/hexutils.cc, src/program_files.cc, src/program_files.h, src/sim_context.h, src/sim_context.cc, src/cod.cc: New calling convention for LoadProgramFile * src/os_dependent.cc: There appeared to be a compiler bug IsFileExtension() (a const pointer in the callee's stack space was getting modified). But, there is a built in STL function that does the same thing IsFileExtension() was doing, so that's now used. * regression/ttl/ttl377.stc: added * regression/ttl/Makefile, regression/comparator/compar_877a.stc, regression/comparator/compar_628.stc, regression/comparator/compar_873a.stc, regression/p16f84/p16f84.stc, regression/switch_test/switch_test.stc, regression/switch_test/switch_test.asm, 2006-06-03 Roy Rankin * src/stimuli.cc, src/stimuli.h: New resistor-capacitor transient voltage calculation implemented and activated, getBitChar function re-written. * modules/switch.cc, modules/switch.h, regression/switch_test/switch_test.asm: - Switch module model changed eliminating Rclosed parameter 2006-03-02 Borut Razem * extras/graphic_lcd/makefile.mingw, plat/win32/gpsim.nsi: graphic_lcd.dll renamed to libgpsim_graphicLCD.dll * extras/lcd/examples/lcd_mod.stc: libgpsim_lcd.so changed to libgpsim_lcd 2006-05-31 Scott Dattalo * src/p16x6x.h, src/16bit-processors.cc, src/14bit-registers.h, src/processor.h, src/pic-registers.h, src/pic-processor.cc, src/pic-processor.h, src/p16x8x.h, src/pic-registers.cc, src/breakpoints.cc, src/12bit-processors.h, src/14bit-processors.cc, src/14bit-processors.h: Accesses to CONFIG2H now can control the WDT. A couple of new members were added to the WDT class to support the new reading and writing. Also, some minor class clean up was also performed. 2006-05-31 Borut Razem * Implemented enhancement request [ 1496325 ] To bundle the extra modules with gpsim-win32 snapshot makefile.mingw: added targets extras, clean_extras extras/graphic_lcd/makefile.mingw, extras/lcd/makefile.mingw, extras/usart_com/makefile.mingw: introduced GPSIM_LIB_PATH, GPSIM_INCLUDE_PATH, GPSIM_DEF_PATH variables plat/win32/gpsim.nsi: added potion to install extras modules 2006-05-28 Borut Razem * src/os_dependent.c, src/modules.h, src/modules.cc, src/sim_context.cc: fixed [ 1488107 ] const violation in get_error_message() 2006-05-29 Robert Pearce * regression/resistor/resistor.asm: improved failure reporting and added tests for the output pin not being swamped * src/stimuli.cc, src/stimuli.h: Adjusted default Zth values to be more sensible (ZthWeak now > ZthPullUp). Also some debug messages on wht looks like a dodgy condition. Need to follow up. * doc/gpsim.lyx: corrected some formatting. 2006-05-28 Borut Razem * plat/win32/gpsim.nsi: removed unneeded asprintf.dll from the package, added possibility to define the SETUP_DIR from the NSIS command line * doc/gpsimWin32.html: glib-2.8.6, gtk+-2.8.17, pango-1.12.1, cairo-1.0.4 * extras/graphic_lcd/src/gpsim_modules.cc, extras/graphic_lcd/src/sed1520.cc, extras/lcd/hd44780.cc: removed unneeded inclusion of config.h * extras/graphic_lcd/makefile.mingw: added, thanks to Xiaofan Chen * extras/lcd/makefile.mingw: corrected, thanks to Xiaofan Chen * makefile.mingw: added rules doc and setup * plat/win32/fd2raw.cpp: report error messages 2006-05-28 Roy Rankin * src/gpsim_object.cc: Improve GNU demangling * modules/switch.cc, modules/switch.h, regression/switch_test/switch_test.asm: - Fix infinite regression bug. 2006-05-27 Scott Dattalo * src/ValueCollections.cc, src/ValueCollections.h, src/14bit-registers.cc: An indexed collection can now accommodate a disjoint set. * src/16bit-processors.h, src/16bit-processors.cc, src/dspic/dspic-processors.cc, src/dspic/dspic-processors.h, src/processor.h, src/processor.cc, src/pic-processor.h, src/14bit-processors.h,src/14bit-processors.cc, src/pic-processor.cc: The ProgramMemoryClass now uses the newly added "disjoint set" feature of an IndexedCollection to provide access to configuration memory. E.g. romData[0x300000] = 0x1234 will write 0x1234 to the configuration word at address 0x300000. In addition, infrastructure has been added to symbolically deal with configuration memory. E.g. gpsim> .CONFIG1H $00000027 gpsim> help .CONFIG2H $0000000f WatchDog configuration Currently the configuration memory does not control any thing. I.e., if you write to config memory, the data changes, but the processor configuration is not actually changed. * src/hexutils.cc: removed printf debugging. 2006-05-25 Scott Dattalo * modules/stimuli.h, modules/stimuli.cc: More support for file stimulus. 2006-05-25 Scott Dattalo * modules/logic.h, modules/logic.cc, modules/gpsim_modules.cc: Only use if the gui is enabled 2006-05-25 Scott Dattalo * modules/switch.h, modules/switch.cc, modules/gpsim_modules.cc: Only use gui if enabled. * modules/stimuli.h, modules/stimuli.cc: Began adding support for file stimulus. 2006-05-24 Borut Razem * modules/makefile.mingw, modules/modules.vcproj: added stimuli.* * plat/win32/libgpsim: MSVC sync 2006-05-23 Borut Razem * doc/gpsimWin32.html: CVS replaced with Subversion * src/14bit-tmrs.h, src/14bit-tmrs.cc: - PWM fixes CCP high if duty cycle 0, CCPRnH loaded on TMR2 compare, PWM starts after first TMR2 compare, PMR2::put and PR2::put rewrite * regression/ccp/pwm_877a.asm, regression/ccp/Makefile, regression/run_regression.sh: PWM regression 2006-05-21 Scott Dattalo * modules/stimuli.h, modules/stimuli.cc: New files for 'extended' stimuli. Currently only an asynchronous stimulus replacement called 'pulsegen' has been created. * modules/Makefile.am, modules/gpsim_modules.cc: Added pulsegen to the default list of modules. * regression/run_regression.sh, regression/wavegen/16f877a.lkr, regression/wavegen/Makefile, regression/wavegen/pulsegen.asm, regression/wavegen/pulsegen.stc: New regression test to test the pulsegen module. (This test is really just a copy of the ccp regression test except that the asynchronous stimulus has been replaced with a pulsegen module). * src/symbol.cc: Module symbol descriptions were not getting printed * cli/cmd_break.cc: removed bogus warning about cycle break points not getting set. 2006-05-21 Robert Pearce * src/p16f87x.h, src/p16f87x.cc: Re-worked 16F871 to be derived from 16C64 rather than 74, because that's the easiest way I could find to fix the RAM size (it had way too much) and the stray CCP2 2006-05-19 Scott Dattalo * src/expr.h, src/expr.cc: Added LiteralArray class for (better) handling array types. * cli/parse.yy, cli/scan.ll: experimenting with user-created typed symbols. * src/processor.cc: Removed bogus check that prevented users from over-writing the Rom contents. If the user wants to over write ROM then they should be allow to! 2006-05-19 Roy Rankin * src/14bit-tmrs.cc: TMR2 counts down not up, period wrong, fix 2 PWM with same duty cycle * src/p16f8x.cc: CCP1 pin determined by confguration word * src/p16x6x.cc: fix core dump for CCP2 2006-05-17 Scott Dattalo * regression/run_regression.sh: added regression test for ccp peripheral. This test only tests capture modes for the CMCON settings of 4,5,6, and 7. * regression/16f877a.lkr, regression/ccp_877a.asm, regression/ccp_877a.stc, regression/Makefile: new files for the ccp regression test. 2006-05-14 Borut Razem * src/makefile.mingw, src/vcproj: added 16f87 and 16f88 processors * modules/makefile.mingw: added i2c-eeprom * src/p12x.cc: removed unused variable * src/i2c-ee.cc: fixed warning: In member function `virtual bool I2C_EE::processCommand(unsigned int)': warning: control reaches end of non-void function; fixed MSVCcompilation * plat/win32/libgpsim.def: MSVC sync 2006-05-14 Scott Dattalo * src/value.h, src/value.cc, src/expr.cc: Expressions derived from the base gpsim types (like Integer, Float) were not getting evaluated properly. 2006-05-14 Roy Rankin * regression/a2d/p16f874a.asm, regression/a2d/p16c71.asm, regression/a2d/16f871.lkr, regression/a2d/16f874a.lkr, regression/a2d/p18f452.asm, regression/a2d/p16f88.asm, regression/a2d/p16f871.asm, regression/a2d/Makefile, regression/a2d/p16f873a.asm, regression/run_regression.sh, src/p16f87x.cc, src/p16f87x.h, src/16bit-processors.cc, src/p16f62x.cc, src/p16x7x.cc, src/p18x.cc, src/a2dconverter.cc: - tests and correction to a2d for various processors 2006-05-14 Roy Rankin * src/16bit-registers.h, src/14bit-registers.h, src/pic-processor.cc, src/Makefile.am, src/pic-processor.h, src/14bit-registers.cc, src/p16f8x.h, src/p16f8x.cc, regression/a2d/Makefile, regression/run_regression.sh, regression/a2d/16f88.lkr, regression/a2d/p16f88.asm: - Add 16f87 and 16f88 processors 2006-05-13 Scott Dattalo * src/a2dconvert.h: removed redundant class qualifiers in member function declarations. 2006-05-13 Scott Dattalo * src/processor.h, src/processor.cc, gui/gui_src_opcode.cc: Added romData[] accessor (analogous to ramData) to provide a way of querying and modifying the program memory. So now you can change program memory from the command line: gpsim> romData[address] = value Address and value can be symbols. 2006-05-12 Robert Pearce * regression/run_regression.sh, regression/txisr_test/...: Added a test for the correct behaviour of usart transmit interrupts 2006-05-11 Robert Pearce * src/p16f87x.cc: A2D converter fixes for the 16f871. 2006-05-10 Scott Dattalo * src/pir.h, src/pir.cc: Applied patch (with modifications) from Robert Pearce that adds the concept of 'writable' PIR register bits versus 'valid' ones. 2006-05-10 Scott Dattalo * src/16bit-hexdecode.cc, src/p16x6x.h, src/i2c-ee.h, src/p16x6x.cc, src/p16f87x.cc, src/16bit-processors.cc, src/i2c-ee.cc, src/eeprom.cc, src/pir.cc, src/p16f62x.cc, src/pie.cc, src/pir.h, src/p16x7x.cc, src/p18x.cc, src/value.cc, src/eeprom.h, src/16bit-registers.cc: - Redesigning PIR logic. The existing design requires numerous manuel configurations that are subject to error. The new design attempts to encapsulate the PIR configuration within the PIR classes. 2006-05-10 Scott Dattalo * modules/i2c-eeprom.h, modules/i2c-eeprom.h, Makefile.am, src/p12x.h, src/p12x.cc: Began designing a gpsim I2C module. 2006-05-08 Borut Razem * extras/usart_con.cc: sync with modules/usart.cc 2006-05-08 Roy Rankin * src/comparator.h, src/comparator.cc, src/p16f62x.cc: - rewritten so comparator processor differences in processor class * src/p16x6x.cc: portc register removed from p16f62x * src/p16f87x.cc, src/p16f87x.h: a2d added, comparator change * src/16bit-processors.cc, src/p16x7x.cc src/a2dconverter.h, src/a2dconverter.cc: code change for pending p16f88 * regression/a2d/Makefile, regression/run_regression.sh, regression/a2d/16f873a.lkr, regression/a2d/p16f873a.asm: - add a2d regression for p16f873a 2006-05-06 Scott Dattalo * src/stimuli.cc, src/stimuli.h, cli/cmd_stimulus.cc: Stimuli parameters are now initialized with Values instead of doubles. 2006-05-06 Scott Dattalo * modules/usart.h, modules/usart.cc: - Added the boolean attribute 'crlf'. If this is set true, then carriage returns and line feeds will generate new lines in the gui terminal window. 2006-05-06 Robert Pearce * modules/usart.h, modules/usart.cc: - Usart GUI now displays non-printable characters as <%02X>. - The usart module now supports a transmit FIFO. This allows transmit data to be queued while the simulation is stopped. 2006-04-30 Roy Rankin * gui/gui_src.h gui/gui_src_asm.cc: fix ungisgned - signed compile warnings * gui/gui_breadboard.cc: get trace working again * gui/Makefile.am: remove unused and incorrect defines 2006-04-29 Scott Dattalo * modules/switch.cc, modules/switch.h, regression/switch_test/switch_test.asm: Moved pin functionality from the Switch class into the Switch_Pin class. 2006-04-29 Robert Pearce * src/value.cc: Fixed Float type check error. 2006-04-29 Roy Rankin * src/gpsim_object.h src/gpsim_object.cc src/stimuli.cc src/stimuli.h gui/gui_breadboard.h gui/gui_breadboard.cc: - GUI pin rename code - rewritten and moved into IOPIN class * src/comparator.h src/comparator.cc p16f62x.cc: - Do dynamic GUI pin renaming * gui/Makefile.am: remove unused and incorrect defines * src/processor.cc: Set 4 clock cycles per instruction cycle * regression/comparator/compar_628.asm: Start by turning off comparators 2006-04-28 Borut Razem * modules/makefile.mingw, modules/modules.vcproj, plat/win32/libgpsim.def, extras/lcd/makefile.mingw, plat/win32/gpsim.nsi: WIN32 sync 2006-04-26 Scott Dattalo * modules/switch.cc, modules/switch.h, modules/gpsim_modules.cc: - Added On-resistance and Off-resistance attributes to the switch module. (They're called Ropen and Rclosed). - The switch module code now resides in the 'Switches' namespace. * modules/resistor.cc: - The resistor module now initializes itself with the gpsim default attributes (which for now are only xpos and ypos). * regression/switch_test/switch_test.asm, regression/switch_test/switch_test.stc: Moved the switch regression test configuration script into the switch_test.asm source 2006-04-24 Scott Dattalo * src/ioports.cc, src/ioports.h: Fully deprecated the IOPORT class. The old IOPORT class is still present, but conditionally disabled. * modules/logic.cc, modules/usart.cc, modules/logic.h, modules/switch.cc, src/stimuli.cc, src/stimuli.h, src/cod.cc, src/comparator.h, src/i2c-ee.cc: Removed all references to the IOPORT class. 2006-04-23 Scott Dattalo * src/gpsim_object.h, src/gpsim_object.cc: Removed TRUE and FALSE definitions. 2006-04-23 Roy Rankin * src/gpsim_object.h src/gpsim_object.cc gui/gui_breadboard.h gui/gui_breadboard.cc: Allow pin names to be changed after breadboard is started. * src/stimuli.cc: minor output format change and new debuging output 2006-04-22 Roy Rankin * modules/switch.cc modules/switch.h: fix windows regression problem 2006-04-17 J.R. Heisey * modules/gpsim_modules.cc, modules/push_button.cc, modules/resistor.cc, modules/push_button.h, modules/resistor.h, modules/encoder.cc, modules/encoder.h, modules/Makefile.am: - Removed references to the deprecated IOPORT class. - Temporarily removed the video and the parallel_port modules (I don't have a way to test them). - The push button module can now be used again. 2006-04-17 Borut Razem * config_win32.h.in: added the explanation why the warning is good: warning: `I' flag used with `%x' printf format * cli/cli.vcproj, modules.vcproj, modules/makefile.mingw, plat/win32/libgpsim.def: WIN32 sync 2006-04-16 Scott Dattalo * modules/binary_indicator.cc,h: removed from gpsim. This module did absolutely nothing. * modules/gpsim_modules.cc, modules/Makefile.am: removed references to the binary_indicator. 2006-04-16 Scott Dattalo * modules/ttl.cc: TTLbase now calls initializeAttributes(). This defines xpos and ypos attributes. * regression/ttl/ttl377.asm: xpos and ypos are initialized by the builtin script. * modules/led.cc, modules/led.h: Redesigned I/O pins to remove references to the deprecated IOPORT class. * modules/gpsim_modules.cc: Place Led classes in their own namespace. 2006-04-16 Borut Razem * config_win32.h.in: fixed bug [ 1470012 ] Breakpoints regression test crashes mingw gpsim * modules/makefile.mingw, modules/modules.vcproj: WIN32 sync 2006-04-16 Scott Dattalo * modules/gpsim_modules.cc, modules/Makefile.am, modules/ttl.cc, modules/ttl.h: Began a TTL module. Right now it contains only a '377. * regression/run_regression.sh, regression/ttl/18f452.lkr, regression/ttl/Makefile, regression/ttl/ttl377.asm: Regression test for the newly added '377 module in the ttl library. * src/modules.h, src/modules.cc, gpsim_object.cc: Modules can now be constructed with a name and a description. 2006-04-15 Scott Dattalo * regression/switch_test/switch_test.asm: corrected 'capacitance' 2006-04-15 Borut Razem * cli/cli.vcproj, cli/makefile.mingw: added define YYSTACK_USE_ALLOCA * src/a2dconverter.*: svn:keywords=Author Date Id Revision, svn:eol-style=native * src/a2dconverter.cc: corrected include path to "../config.h" * regression/switch_test/switch_test.stc: corected 'capacitance' 2006-04-15 Scott Dattalo * src/16bit-registers.h, src/16bit-processors.cc, src/16bit-registers.cc, src/16bit-processors.h, src/p18x.cc, src/a2dconverter.cc: A2D is now working (but not fully tested) for the 16bit core. * src/pir.h: Redesigned PIR base class in the first attempt in removing PIR_SET classes * src/symbol.cc, src/stimuli.cc: Fixed symbol table dump. * regression/a2d/Makefile, regression/a2d/p18f452.asm: Regression test for the 18f452 A2D converter. * modules/resistor.cc: Made 'Capacitance' attribute lower case. 2006-04-13 Scott Dattalo * gui/gui_src_asm.cc: removed debug printf * modules/resistor.cc: Added module description. * src/a2dconvert.cc: Added a verbose mode printf debug statement. * src/p16x7x.cc: P16C71 class now sets A2D converter bits. * src/symbol.cc, src/symbol.h: module_symbol can now display a module description. * regression/run_regression.sh: added A2D regression test for the p16c71. * a2d/Makefile, a2d/p16c71.asm, a2d/16c71.lkr: A2D regression test for the 16c71. 2006-04-13 Borut Razem * gui/gui_src_asm.cc: removed warnings * modules/switch.h, src/dspic/dspic-processors.h, src/operator.h: enable compilation on Fedora Core 5 (gcc 4.1.0) * regression/comparator/compar_628.stc, regression/comparator/compar_673a.stc, regression/comparator/compar_677.stc, regression/eeprom_wide/eeprom_wide.stc: changed libgpsim_modules.so with libgpsim_modules so that it runs on WIN32 * src/makefile.mingw, src/src.vcproj, plat/win32/libgpsim.def: WIN32 sync 2006-04-13 Scott Dattalo * src/Makefile.am, src/a2dconverter.h, src/a2dconverter.cc: New Files. * src/p16f87x.cc, src/p16x7x.h, src/p16x7x.cc: Removed a2d-specific stuff from p16x7x.[h,cc] and placed it into a2dconverter.[h,cc]. Also, the p16c71 doesn't have a PIR register. The INTCON class assumes that there is one. So a special (non-existant) PIR register has been created that is not instantiated in the register map, but is capable of communicating PIR-specific information with those peripherals that implement their own PIR functionality (this is currently only the P16C71 A2D module). * src/pir.h: The PIR_SET used to be a pure virtual base class. This class needs to be redesigned... * src/pir.h: Made class members private. * src/gpsim_object.h, src/gpsim_object.cc, src/value.h, src/value.cc: Moved Value descriptions into the parent gpsimObject class. The purpose of this change is to provide a uniform way in which gpsimObjects (like processors and modules) can describe themselves. * modules/resistor.cc: Added a voltage attribute to pull up resistors. Now pullup resistors can be used as general purpose voltage sources. 2006-04-11 Scott Dattalo * gui/gui_src_asm.cc: Double clicks in the source browser were causing segv's 2006-04-11 Scott Dattalo * gui/gui_src.h, gui/gui_src_asm.cc: Right-button mouse clicks now bring up a menu. Currently, not all of the menu items are supported. Furthermore, only GtkTextTag'd text responds. 2006-04-11 Roy Rankin * src/p16f87x.cc: if code read with breadboard closed, breadboard did not show processor. * src/pic-ioports.cc: fix portb does not show high inputs if register bits cleared from assembler code. * regression/rt.sh: allow multiple tests in one directory * regression/run_regression.sh: run comparator tests seperatly * src/comparator.cc: cleanup compiler warnings 2006-04-08 Scott Dattalo * cli/scan.cc: removed from SVN. This autogenerated by flex from scan.ll. 2006-04-09 Borut Razem * extras/graphic_lcd/utils/custom.png, extras/graphic_lcd/utils/fontimage.png, extras/graphic_lcd/utils/gpsim1.png, extras/graphic_lcd/utils/konqueror.png, extras/graphic_lcd/utils/konqueror16X16.png, extras/graphic_lcd/utils/konqueror3.png: mime-type image/png * src/src.vcproj, src/makefile.mingw: new files src/comparator.h src/comparator.cc * gui/gui_menu.cc, gui/gui_profile.cc, gui/gui_regwin.cc, gui/gui_src_asm.cc, gui/gui_watch.cc, modules/logic.cc, modules/resistor.cc, modules/switch.cc, modules/usart.cc, src/dspic/dspic-registers.cc, src/intcon.cc, src/ioports.cc, src/pic-instructions.cc: removed unused variables, #if 0-ed unused functions removed warnings: XXXX.h: In constructor `xxxx': XXXX.h:LLL: warning: `yyyy' will be initialized after XXXX.h:LLL: warning: `zzzz' XXXX.cc:LLL: warning: when initialized here 2006-04-08 Scott Dattalo * ChangeLog: experimental SVN checkin. 2006-04-08 Scott Dattalo * INSTALL: re-instated - somehow it got wiped out on 04-05 * ltconfig, missing, mkinstalldirs, stamp-h.in: removed from CVS. 2006-04-08 Roy Rankin * src/cod.cc src/sim_context.cc: backout Pin names changing in 2006-04-05 patch until better method can be found. * gui/gui_regwin.cc: fix core dump of ram window and ascii part of register windows not showing all characters. * src/p16f87x.cc: fix eeprom being initialized twice for most p16f87x processors. 2006-04-08 Roy Rankin * src/pic-processor.h src/pic-processor.cc src/p16f87x.h p16f87x.cc: Add support for p16f87xA which are p16f87x with 2 comparators and vref. * src/p16f62x.h src/p16f62x.cc src/Makefile.am src/pir.cc src/pir.h: new files src/comparator.h src/comparator.cc to add comparator and vref functions. * new directory regression/comparator with new files compar_628.asm compar_628.stc compar_877a.asm compar_877a.stc compar_873a.asm compar_873a.stc Makefile 16f628.lkr 16f877a.lkr 16f873.lkr for comparator regression tests. * regression/run_regression.sh: invoke comparator regression tests 2006-04-05 Roy Rankin * src/ioports.h src/ioports.cc : Fix setEnableMask() so it works when pin is already added. Stop memory leak in newDefaultControl(). * src/pic-ioports.cc: setTris() can be run multiple times. * src/p16f62x.cc src/cod.cc: Correct error in Oscillator configuration bit processing. Pins 5, 6 and 7 of port A may be I/O depending on configuration bits. Pin names changed depending on configuration bits. * src/p16x6x.cc: Bit 5 of port A is I/O for all of 16X6x family p16x63 and higher. * src/eeprom.h src/eeprom.cc src/p16f87x.cc: fix bugs in writing to EEPROM and added FLASH program writing using wide mode (p16f87x). * regression/run_regression.sh: add directory regression/eeprom_wide with files Makefile, 16f873.lkr, eedate_wide.asm and eeprom_wide.stc for regression testing of EEPROM and FLASH single byte wide read-write operations. 2006-03-30 Scott Dattalo * gui/gui_regwin.cc: In 03-27 changes, a variable initialization got commented out and caused a segv on some systems 2006-03-30 Scott Dattalo * src/14bit-registers.h, src/14bit-registers.cc: Resetting the program counter low register (PCL) was causing the cycle counter to advance by one. 2006-03-29 Scott Dattalo * gui/gui_src_asm.cc, gui/gui_src.h: Source files are now only parsed whenever they're brought into view. (The previous commit parsed the source, but only placed it into a gtk_text_view whenever the source was brought into view). * src/processor.cc: Config addresses in the .lst file were causing a segv when the list file was processed. 2006-03-28 Scott Dattalo * gui/gui_src_asm.cc, gui/gui_src.h: - If there are many source files, the notebook will now allow the tabs to be scrolled. - Source files are now only rendered whenever the page in which they reside is brought into view. (Otherwise, large projects will take a very long time to load). 2006-03-27 Scott Dattalo * gui/gui_watch.cc: - Watch window was causing segv for the case when a watched register did not have an entry in the symbol table. - Fixed a bug where the "hex" attribute was being repeatedly added to the eXdbm data base. Note this fix was only applied to non-WIN32 OSes * gui/gui_regwin.cc, gui/gui_regwin.h: The register window cells were not getting resized correctly whenever the font was changed. Also, the default font was changed to Monospace. 2006-03-24 Scott Dattalo * src/symbol.h, src/symbol.cc: Added a convenience function for searching the symbol table for strings. * src/processor.h, src/processor.cc: Change FileContext::Add method to accept only a const char *. 2006-03-24 Scott Dattalo * src/processor.h, src/processor.cc: The FileContext class now handles list files. * gui/gui_src_asm.cc, gui/gui_src.h, gui/gui_menu.cc: Breakpoints can be manipulated through the list file view of the source browser. Switching pages in the source browser now updates the margin. The preferences editor 'Margins' and 'Tabs' were combined into just 'Margins'. 2006-03-22 J.R. Heisey * cli/input.cc, gui/gui_symbols.cc: use glib's g_strndup() instead of strndup. 2006-03-22 J.R. Heisey * gui/gui_src_asm.cc: Last change cause segv in preferences editor. 2006-03-22 J.R. Heisey * src/cod.cc, src/pic-instructions.cc, src/processor.cc, src/processor.h: Fixed list file processing. Now the file context class knows if it owns a .lst file versus a .asm or .inc file. * gui/gui_src.h, gui/gui_src_asm.cc: List files are now displayed in the source browser. The program counter indicator tracks correctly. Breakpoints can not be controlled from within the list file view yet. Changed strndup calls to g_strndup. The form is a GNU extension while the latter is part of glib, but both do the same thing. This removes an OS dependency. 2006-03-21 Scott Dattalo * gui/gui_object.cc: removed debug printf * gui/gui_src_asm.cc: Added a delete_event handler for the source browser; killing the source browser window was causing gpsim to crash otherwise. The source browser name has been updated to match the old browser's name (this is mainly for registry and .gpsim settings). Added GTK_WAIT's for slower machines. Apparently gtk's event queue is getting overwhelmed while the source browser is being created. 2006-03-21 Borut Razem * src/cod.cc: fixed bug "[ 1448454 ] usart_test - ERROR: == comparison is not defined for String" by merging "assertions" and "assertions" lists to a single "directive" list 2006-03-20 Scott Dattalo * regression/breakpoints.asm: Embedded script error was causing regression test to fail. * regression/rt.sh: Minor fix to Borut's regression test enhancement; the 'tee' command was appending multiple regression tests to the same log file. Also, on Athlon 64's, the tee command was causing pipe errors for some reason. 2006-03-19 Scott Dattalo * gui/gui_menu.cc, gui/gui_src.h, gui/gui_src_asm.cc: The preferences window now configures the source browser tabs, margins, and font. 2006-03-19 Borut Razem * plat/win32/gpsim.nsi: added share and lib\gtk-2.0\2.4.0\engines to the package, use share\themes\MS-Windows\gtk-2.0\gtkrc as the default gtkrc * gpsim/regression/rt.sh: failure detection 2006-03-15 Scott Dattalo * gui/gui_src.h, gui/gui_src_asm.cc: Added .lst files to the source browser. Added the "ColorHolder" class to wrap a GdkColor that can be changed and reverted back to its original value. The colors for the source browser are now saved. Line numbers, addresses, and opcodes in the margin can be selectively enabled * gui/gui_menu.cc: Example code for src browser configuration is now rendered in a SourcePage. * gui/gui_statusbar.cc, gui/gui_main.cc, gui/gui.h, gui/gui_regwin.cc, gui/gui_break.cc, gui/gui_profile.cc: The global 'gp' has been renamed gpGuiProcessor. 2006-03-15 Alain Portal * src/p12.h: Remove redundant class scoping (causes errors with gcc-4.1) 2006-03-14 Borut Razem * src/dspic/makefile.mingw: added * plat/win32/gpsim.nsi: fixed typo 2006-03-13 Scott Dattalo * src/processor.cc: hex files were not getting loaded properly. 2006-03-12 Scott Dattalo * src/pic-ioports.cc: PIC TRIS writes were not getting traced. 2006-03-12 Borut Razem * config_win32.h.in: added #define _USE_MATH_DEFINES, so that M_PI is defined in MSVC math.h 2006-03-12 Scott Dattalo * gui/gui_src.h, gui/gui_src_asm.cc, gui/gui_menu.cc: - Gui Preferences for source browser is *almost* working now. It's possible to modify colors, but the state of the colors are not being saved in the gpsim config file. Also, the line number, address, opcode configuration is not completed. - The Source browser now utilized the text_view margin for displaying addresses and opcodes. Also, breakpoints changes the margin field text to red. (This duplicated the diamond indicator, but I plan to use that for modifying complex breakpoints). 2006-03-12 Borut Razem * plat/win32/gpsim.nsi, doc/gpsimWin32.html, plat/win32/make.mingw, cli/makefile.mingw, gpsim/makefile.mingw, gui/makefile.mingw, modules/makefile.mingw: glib-2.8.6, gtk+-2.8.13, pango-1.10.2, atk-1.10.3, cairo-1.0.2, ... 2006-03-09 Borut Razem * examples/modules/usart_gui/usart_gui.asm, examples/modules/usart_gui/usart_gui.stc: Renamed the usart RX and TX pins to RXPIN and TXPIN 2006-03-07 Scott Dattalo * src/gui_src_asm.cc: Turned off debugging. Added a gtk event queue wait. * src/gui_processor.h: The default is to now enable the new source browser. 2006-03-06 Scott Dattalo * src/stimuli.cc: The stimulus command without any options now shows more information. In particular, value stimuli (the ones that allow you to specify an array of data) are now shown. 2006-03-06 Scott Dattalo * doc/gpsim.lyx, doc/gpsim.pdf: Updated the documentation to reflect the deprecation of the X command 2006-03-06 Scott Dattalo * gui/gui_menu.cc, gui/gui_src.h, gui/gui_src_asm.cc: Moved the gtk text tag table to the source browser parent class. Added a SourceBuffer class to wrap the text buffers. With these changes, multiple source browsers will share the same text buffers. 2006-03-06 Scott Dattalo * cli/cmd_x.cc: The x command has been deprecated. 2006-03-05 Scott Dattalo * src/stimuli.h: The default Thevenin resistance for an IOPIN was too low. This caused an INPUT only pin to appear as though if it was driving! (Bug reported by Alex Holden). 2006-03-05 Borut Razem * configure.ac: removed GTK+ 1.x leftovers * plat/win32/gpsim.nsi: remove extras/graphic_lcd/* when uninstalling gpsim, added extras/usart_con * extras/usart_con/AUTHORS, extras/usart_con/autogen.sh, extras/usart_con/ChangeLog, extras/usart_con/configure.in, extras/usart_con/COPYING, extras/usart_con/INSTALL, extras/usart_con/Makefile.am, extras/usart_con/makefile.mingw, extras/usart_con/module_manager.cc, extras/usart_con/NEWS, extras/usart_con/README, extras/usart_con/usart_con.cc, extras/usart_con/usart_con.h: receive-only usart module, received characters are printed to the console 2006-03-04 Scott Dattalo * gui/gui_menu.cc, gui/gui_src.h, gui/gui_src.cc: See comment on 2006-02-27. Removed the line numbers from the source browser. Changed the current PC and breakpoint indicator. Also, now clicking on a break indicator toggles a break point. 2006-03-04 Scott Dattalo * src/modules.h, src/modules.cc, src/os_dependent.cc: Changed references from char * to const char * for error strings processing. (Alex Holden reports that on BSD dlerror returns const char * where as on linux it returns plain char *). 2006-03-04 Scott Dattalo * cli/ui_gpsim.cc: GlobalVerbosityAccessor verbose was declared twice! (Thanks to Alex Holden for pointing this out). 2006-02-27 Scott Dattalo * src/processor.cc: FileContext put_address and get_address methods were ignoring the last line of files. * gui/gui_src.h: Rewrote the source browser using the gtk+-2.X API. *** NOTE *** The older version of the source browser is still present and enabled by default. To enable the new browser, 'NEW_SOURCE_BROWSER' needs to be defined. (This can either be accomplished by ./configure or by editing gui/gui_processor.h * gui/gui.h, gui/gui_processor.h: Added new source window class to list of gui classes. * gui/gui_menu.cc: ifdef'd removed the source browser preference configuration (for now) * gui/gui_object.cc, gui/gui_object.h: set_name() now requires const char * instead of just char *. 2006-02-25 Borut Razem * src/p18x.cc: EEPROM sfr registers were not mapped on 16 bit pics 2006-02-20 Borut Razem * src/os_dependent.cc: reverted changes I made 2006-02-19, since the GPSIMPATH functionality was already implemented 2006-02-20 Scott Dattalo * src/symbol.cc: Symbol_Table::clear() crashes when the simulation engine is used as a stand alone library (Reported by David Saxtion). 2006-02-19 Borut Razem * regression/switch_test/switch_test.stc, examples/modules/usart_gui/usart_gui.stc: removed .so extension from "module library libgpsim_modules.so" so that it runs on WIN32 platform * src/modules.cc: made ModuleLibrary::MakeCanonicalName() a dummy method on WIN32 platform. Is it really needed on *nix? * src/os_dependent.cc: introduced GPSIM_MODULE_PATH environment variable on WIN32 platform to define additional directories where modules are searched. The search order for WIN32 is as follows: 1. The directory specified by library_name. 2. The current directory. 3. The system directory. 4. The 16-bit system directory. 5. The Windows directory. 6. The directory from which the application loaded followed by directories listed in GPSIM_MODULE_PATH environment variable followed by directories listed in PATH environment variable. 2006-02-17 Scott Dattalo * src/16bit-instructions.cc, src/16bit-instructions.h, src/16bit-hexdecode.cc: Fixed a few bugs with the newly added extended instructions. * src/16bit-processors.cc, src/16bit-processors.cc, src/16bit-registers.cc: added the pclatu register. * src/pic-instructions.cc: the instruction class constructor now initializes most of it's data members directly. * regression/make.regression: .cod files are now removed for the 'make clean rule' * regression/run_regression.sh, regression/p18f/18f452.lkr, p18f/Makefile, p18f/extended_instructions.asm, p18f/instructions.asm, p18f/startup.stc: Regression test for the 18f extended instructions. 2006-02-16 Borut Razem * plat/win32/libgpsim.def: MSVC sync 2006-02-14 Scott Dattalo * src/16bit-instructions.cc, src/16bit-instructions.h, src/16bit-hexdecode.cc: Added support for the extended instructions ADDFSR, ADDULNK, CALLW, MOVSF, MOVSS, SUBFSR, and SUBULNK, in the 18fxxxx family. 2006-02-13 Scott Dattalo * src/gui/gui_menu.cc: more source browser experiments. 2006-02-08 Scott Dattalo * modules/usart.cc: Renamed the usart RX and TX pins to RXPIN and TXPIN. The old names conflict with the names of constants. (This is a problem with absolute mode code.) Updated the gui to use gtk_text_view instead of the obsolete gtk_text. (note this change really needs to be made for all of gpsim's gui!) 2006-02-08 Scott Dattalo * src/dspic/dspic-instructions.cc, src/dspic/dspic-instructions.h: Support for some versions of the MOV instruction. 2006-02-05 Scott Dattalo * src/dspic/dspic-instructions.cc, src/dspic/dspic-instructions.h, src/dspic/dspic-processors.cc, src/dspic/dspic-processors.h, src/dspic/dspic-registers.cc, src/dspic/dspic-registers.h: Unified the Literal and Register Direct addressing modes. Added support for the Status register. Program counter tracing is now supported. 2006-02-04 Scott Dattalo * src/dspic/dspic-instructions.cc, src/dspic/dspic-instructions.h, src/dspic/dspic-processors.cc: Added support for the Literal, Register Direct, and Register Indirect addressing modes. 2006-02-03 Roy Rankin * src/processor.cc, src/pic-processor: The pic-processor class was over-writing the cycles_per_instruction value in the processor class * modules/switch.cc, modules/switch.h, modules/resistor.cc, regression/switch_test/switch_test.stc, regression/switch_test/switch_test.asm: Switch modules now handle analog inputs and RC loads. 2006-01-30 J.R. Heisey * src/processor.cc, src/processor.h: added methods for mapping register addresses into register indexes (for the dspic) and use this to create invalid registers. * src/registers.cc: contructors now propagate calls to parents * gui/gui_regwin.cc: a non-existent register at address 0 was crashing the register window * src/dspic/dspic-instructions.cc, src/dspic/dspic-instructions.h, src/dspic/dspic-processors.cc, src/dspic/dspic-processors.h, src/dspic/dspic-registers.cc, src/dspic/dspic-registers.h: dspic port: -- added register memory -- added W0-W15 -- invalid registers populate register space -- added Program Counter -- single stepping works. -- GOTO, RCALL and BRA instructions are now supported. 2006-01-25 Roy Rankin * gui/gui_profile.cc: fix core dump 2006-01-29 J.R. Heisey * makefile.mingw, src/makefile.mingw, gpsim/makefile.mingw, plat/win32/make.mingw: added dspic to MINGW 2006-01-27 Scott Dattalo * src/dspic/dspic-registers.cc, src/dspic/dspic-registers.cc: added to CVS - initial support of dspic family registers * src/dspic/Makefile.am: dspic-registers added * src/dspic/dspic-instructions.cc, src/dspic/dspic-instructions.h: stubbed out the entire dspic instruction set. * src/dspic/dspic-processors.cc, src/dspic/dspic-processors.h: added initialization code to allow the dspic to be instantiated. * src/hexutils.cc: fixed two buglets introduced in earlier checkin * src/pic-instructions.cc: the invalid_instruction constructor now calls the Instruction constructor. * src/processor.cc: The disassemble method can now accommodate the dspic's 24-bit opcodes. 2006-01-27 Scott Dattalo * configure.ac: changed version from 0.21.11 to 0.21.12-pre * cli/scan.ll: conditionally use YY_* macros. 2006-01-27 Scott Dattalo * Makefile.am, configure.ac, src/Makefile.am: update makefiles for dspic support. * src/dspic/Makefile.am, src/dspic/dspic-instructions.cc, src/dspic/dspic-instructions.h, src/dspic/gpsim_modules.cc, src/dspic/dspic-processors.cc, src/dspic/dspic-processors.h: Initial infrastructure for dspic port. * src/hexutils.h: New file. * src/hexutils.cc, src/program_files.cc: Hex files generated by gpasm and mpasm are really Intel hex files. The hex files generated by the gcc-pic30 tool chain also generate Intel hex files. Now gpsim supports more of the features of the Intel hex file format. * src/pic-processor.cc, src/pic-processor.h, src/processor.cc, src/processor.h: minor changes to deal with Hexfiles. * src/p16x6x.cc: TMR1L and TMR1H were named as just tmrl and tmrh 2006-01-21 Borut Razem * src/stimuli.cc: fixed bug exposed by resistor regression test, see the comment "; the following test for a core dump bug" in regression/resistor/resistor.asm * cli/cmd_module.cc: added missing paramterer to DisplayMessage() call 2006-01-20 Borut Razem * plat/win32/libgpsim.def: MSVC sync * src/gpsim_object.h: removed empty destructor from class BreakType in order to avoid gcc warning: `class BreakType' has virtual functions but non-virtual destructor * src/breakpoints.cc: changed // comments to /**/ in order to avoid gcc warning: multi-line comment * src/cod.cc: removed gcc warning: unused variable 'pCli' * src/os_dependent.cc: removed gcc warning: 'bAltPaths' defined but not used * program_files.cc: removed gcc warning: 'iReturn' might be used uninitialized in this function * src/stimuli.cc: removed gcc warning: 'pPinSymbol' might be used uninitialized in this function and warning: 'pMod' might be used uninitialized in this function * value.cc: removed gcc warning: statement has no effect * src/ValueCollection.cc: removed gcc warning: unused variable 'uUpperBound' * src/lxt_write.c: removed gcc warning: 'lt_emit_u64' defined but not used * src/modules.cc: removed gcc warning: extra tokens at end of #endif directive * plat/win32/icd.c: removed gcc warning: 'use_icd' defined but not used * gui/gui_breadbord.cc: removed warning: 'orientation' might be used uninitialized in this function warning: 'pin_x' might be used uninitialized in this function warning: 'pin_y' might be used uninitialized in this function warning: 'label_x' might be used uninitialized in this function warning: 'label_y' might be used uninitialized in this function * gui/gui_menu.cc: removed gcc warning: unused variable 'start' warning: unused variable 'end' warning: unused variable 'color' warning: unused variable 'tag' warning: unused variable 'cParray' * gui/gui_src_asm.cc: removed gcc warning: unused variable 'dragbreak' warning: unused variable 'dragstartline' warning: unused variable 'dragwidget_oldy' warning: unused variable 'dragwidget' warning: unused variable 'dragwidget_x' warning: 'gint drag_scroll_cb(void*)' defined but not used warning: 'void text_insert(SourceBrowserAsm_Window*, int, GtkStyle*, char*, int)' defined but not used * gui/gui_watch.cc: warning: unused variable 'uBitmaskForMaskedValue' 2006-01-20 Scott Dattalo * src/trigger.cc, src/breakpoints.cc: Breakpoint messages were not getting printed when execution breakpoints were hit. 2006-01-19 Scott Dattalo * cli/parse.yy, cli/cmd_break.cc, cli/cmd_break.h, src/breakpoints.cc Rewrote breakpoint parsing. gpsim recently introduced an expression option for breakpoints. As this feature was refined, it turned out that the best way to handle expressions was with a two level approach. At the high level, there is a 'break condition', e.g. 'break w MyVariable'. The condition in this case is to break if the variable 'MyVariable' is written to. At the next level, there is a qualifying expression. For example: break w MyVariable, ((PC > IntVector) && (PC * src/errors.h, src/sim_context.cc: Slight clean up to Roy's patch. 2006-01-12 Roy Rankin * src/modules.cc: remove library load failure exception throw. In Linux, a failed module library load command from the command window repeats the error message already printed. Even worse, if the failure occurs fromthe breadboard GUI "Add libs" function, gpsim crashes. * src/os_dependent.cc: Fix up error handling on library loads for Linux. Also for readability changed #ifndef _WIN32 to #ifdef _WIN32 reversing the cases. 2006-01-10 J.R. Heisey * modules/led.cc, modules/led.h: Added dynamic gui update to the led modules. 2006-01-07 Scott Dattalo * regression/resistor/resistor.asm: Tiny comment change * regression/run_regression.ch: Added the resistor regression test to the test suite. 2006-01-07 Roy Rankin * modules/resistor.cc: Pulldown resistor voltage is now set to 0 Volts. * src/stimulus.h, src/stimuli.cc: Adjusted default resistance values for stimuli to more closely match PIC I/O pins. * regression/resistor/resistor.asm: Set pulldown resistance for the pulldown resistor. 2006-01-06 Roy Rankin * src/stimuli.cc: Fixed crash regarding module pin names. * regression/resistor/Makefile: New regression test for the resistor module. * regression/resistor/resistor.asm: * regression/resistor/resistor.stc: * regression/resistor/16f873.lkr: 2006-01-02 Scott Dattalo * src/ui.h, src/ui.cc: added another method for formatting registers (though this might be removed later). * src/value.h, src/value.cc: Moved Value specific breakpoint functionality to the Value class. Fixed typo in an error message. * src/symbol.cc, src/symbol.h: Fixed a bug with clearing the symbol table. - Added breakpoint expression compilation to the register_symbol class (this was previously being handled in cli/cmd_break.cc). - The w_symbol now is printed out as a W register. * src/module.h, src/processor.h: moved the register_size and