2003-12-03 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * src/avrcore.c (avr_core_step): Make sure that one instruction is executed after a RETI (return from interrupt). 2003-12-02 Theodore A. Roth * src/avrcore.c (avr_core_check_interrupts): Don't inline since some versions of gcc can't inline this function. 2003-12-02 Theodore A. Roth [Contributed by Keith Gudger ] * configure.ac (AC_INIT): Bump version. * src/devsupp.c (defn_atmega103): Enable adc support. * src/intvects.c (vtab_at43usb355): Fix TIMER1_COMPB irq name. (vtab_at43usb320): Ditto. (vtab_at43usb325): Ditto. 2003-12-02 Theodore A. Roth * src/avrcore.c: * src/decoder.c: * src/decoder.h: * src/device.c: * src/flash.c: * src/flash.h: * src/storage.c: * src/storage.h: * src/vdevs.h: Make some speed critical functions inlined. * src/timers.c (timer0_clk_incr_cb): Eliminate an expensive use of modulus operation. (timer16_clk_incr_cb): Ditto. * src/spi.c: (spi_clk_incr_cb): Ditto. 2003-12-01 Theodore A. Roth * src/devsupp.c: Use .field initialization for device definitions. Clean up after indent and disable it for the device defns. 2003-12-01 Theodore A. Roth * src/gdb.h: * src/gdbserver.c: Rename CommFuncDisableBreakpoints, CommFuncEnableBreakpoints, enable_breakpoints and disable_breakpoints to allow sorter lines. * src/main.c (global_gdb_comm): Use .field initialization. 2003-12-01 Theodore A. Roth * src/adc.c: * src/avrclass.c: * src/avrcore.c: * src/avrerror.c: * src/avrmalloc.c: * src/callback.c: * src/decoder.c: * src/device.c: * src/devsupp.c: * src/display.c: * src/eeprom.c: * src/flash.c: * src/gdbserver.c: * src/intvects.c: * src/main.c: * src/memory.c: * src/op_names.c: * src/ports.c: * src/register.c: * src/sig.c: * src/spi.c: * src/sram.c: * src/stack.c: * src/storage.c: * src/timers.c: * src/utils.c: Reformat with misc/refmt.sh script. Update Copyright year. 2003-12-01 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * src/adc.h: * src/avrclass.h: * src/avrcore.h: * src/avrerror.h: * src/avrmalloc.h: * src/callback.h: * src/decoder.h: * src/devsupp.h: * src/display.h: * src/eeprom.h: * src/flash.h: * src/gdb.h: * src/intvects.h: * src/memory.h: * src/op_names.h: * src/ports.h: * src/register.h: * src/sig.h: * src/spi.h: * src/sram.h: * src/stack.h: * src/storage.h: * src/timers.h: * src/usb.h: * src/utils.h: * src/vdevs.h: Reformat with misc/refmt.sh script. Update Copyright year. 2003-11-30 Theodore A. Roth * misc/refmt.sh: Ignore newlines instead of honouring them. Set the tab size to 1 to avoid comments to the right of code being pushed farther to the right. Make grepping for typedefs the default behaviour. * src/disp/disp.c: Reformat with misc/refmt.sh script. Wrap long comments. * src/disp-vcd/disp.c: Ditto. * src/disp-vcd/vcd.c: Ditto. 2003-11-30 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * src/avrcore.c: * src/avrcore.h: * src/decoder.c: * src/register.c: * src/register.h: * src/utils.c: * src/utils.h: Inline simple functions to boost performance a bit. 2003-11-29 Theodore A. Roth [Contributed by John Regehr ] * src/intvects.c: Add enable and flag initializers to all vector tables. Change ANA_COMP to USB_HW for usb devices. * src/intvects.h (struct _IrqCtrlBit): Define. (struct _IntVect): Add enable and flag fields. (struct _IntVectTable): Add USB_HW field. 2003-11-29 Theodore A. Roth * src/main.c: Modify handling of --breakpoint option to allow multiple instances on the command line. 2003-11-29 Theodore A. Roth * src/Makefile.am: Remove vars for dtest. * src/dtest.c: Remove file. 2003-11-29 Theodore A. Roth * configure.ac: Add check for avr-nm. [Contributed by Keith Gudger ] * src/Makefile.am (simulavr_SOURCES): Add adc.c, adc.h, and usb.h. * src/devsupp.c: Add adcsr and uier masks. Install adc vdev. * src/adc.c: New file. * src/adc.h: New file. * src/usb.h: New file. 2003-11-29 Theodore A. Roth * misc/refmt.sh: Add indentation of case labels in switch statements. Let the user select how to get the type info. [Contributed by Keith Gudger ] * src/Makefile.am (simulavr_SOURCES): Add spi.c and spi.h. * src/devsupp.c (struct _DevSuppDefn): Add spcr field. * src/spi.c: New file. * src/spi.h: New file. 2003-11-29 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * README.ext_int: Add some new notes. * misc/gpl_header: Update copyright year. * misc/gpl_header_c: Update copyright year. * misc/gpl_header_h: Update copyright year. * misc/gpl_header_py: Update copyright year. * misc/irq.py: New file. * misc/refmt.sh: New file. * src/avrcore.c: Allow disabling of irq diagnostics at compile time. * test_asm/test_8515/test_toie0.asm: Exit the idle loop when the interrupts are done and then go into a done loop. 2003-11-27 Theodore A. Roth * simulavr.1.in: Document new options. Add new usb support to device list. * doc/simulavr.texi: Document new options. * src/main.c: Reorder usage strings to improve readability. Add stub for --clock-freq option. Add --breakpoint option and implement it. 2003-11-27 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * src/avrcore.c (avr_core_run): Track the run time and print out the insns/sec and clks/sec when the program is terminated. (avr_core_run) (avr_core_reset): Don't reset the clock counter since doing so screws up the clks/sec calculation and the vcd output. * src/devsupp.c (defn_atmega103): Fix sram size, should be 4000 instead of 4096. 2003-11-22 Theodore A. Roth * configure.ac (AC_INIT): Bump version. If using gcc, enable extra warnings. * src/Makefile.am: * src/disp/Makefile.am: * src/disp-vcd/Makefile.am: Update copyright year. Only add gcc specific warnings if compiling with gcc. 2003-11-17 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * src/timers.c: Dox cleanups. 2003-11-12 Theodore A. Roth [Thanks to Hermann Krauss for the original patch and Keith Gudger for revising it and testing with the usb devices.] * configure.ac (AC_INIT): Bump version. * src/devsupp.c: * src/timers.c: * src/timers.h: Add support for 16 bit timers 1 and 3. 2003-11-11 Theodore A. Roth * test_c/timer.c: Tweaks to allow compiling for at43usb320. 2003-11-11 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * doc/main.dox: Clean up some doxygen warnings. * src/avrclass.c: Clean up some doxygen warnings. 2003-11-02 Theodore A. Roth * src/gdbserver.c (gdb_parse_packet): When gdb sends the 'D' packet, it actually does expect the "OK" response. That wasn't clear from the gdb documentation. 2003-11-02 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * src/gdbserver.c: Handle 'D' packets (detach request from gdb). When insight 'disconnects' from the target, it sends a 'D' packet which caused simulavr to generate a fatal error since gdb closed down the connection after sending the packet. 2003-11-01 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * src/gdb.h: Add irq_raise method. * src/gdbserver.c (gdb_continue_with_signal): If gdb sends a signal number greater than 94 (e.g. 'signal SIG80' sends signal number 94), interpret that as being a request to raise avr interrupt number signal_num-94. * src/main.c (global_gdb_comm): Add irq_raise method. 2003-10-29 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * src/avrcore.c (avr_core_irq_raise): Display more info about the irq in the output message. 2003-10-20 Theodore A. Roth [Thanks to Keith Gudger ] * src/devsupp.c: * src/intvects.c: Add support for at43USB355, at43USB320, at43USB324, at43USB325, and at43USB326. 2003-10-20 Theodore A. Roth [Thanks to Keith Gudger ] * configure.ac (AC_INIT): Bump version. * src/devsupp.c (dev_supp_create_core): Extend port width to be from 1 to 8 bits. Fix error output to print chars instead of ints. Add support for ports E and F. * src/ports.c (name_PIN): Add "PINE" and "PINF". (name_DDR): Add "DDRE" and "DDRF". (name_PORT): Add "PORTE" and "PORTF". (porte_new, porte_construct, porte_destroy): New functions. (portf_new, portf_construct, portf_destroy): New functions. * src/ports.h: Add support for port widths of 1-6. Add prototypes to support ports E and F. 2003-10-14 Theodore A. Roth * src/avrcore.c (avr_core_construct): Cast irq_vtable structure to an array of IntVect to perform irq indexing. (avr_core_check_interrupts): Change IRQ_RESET to IRQ_RESET_ADDR to avoid subtle confusion of array index versus vector address. * src/intvects.c: * src/intvects.h: Simplify vector table initialization by using a structure for the interrupt vector table instead of an array. Define irq_vect_table_index() macro for calculating indices. Define IRQ_RESET_ADDR. * src/register.c (wdtcr_timer_cb): Use irq_vect_table_index() instead of enum value. * src/timers.c (timer_intr_cb): Ditto. 2003-10-14 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * src/avrcore.c (avr_core_irq_raise): Print out a message when raising an interrupt. (avr_core_check_interrupts): Print out a message when vectoring into the interrupt table. 2003-10-03 Theodore A. Roth * src/avrcore.c (avr_core_run): Add note to comment about keeping functionality out of the avr_core_run function and todo item about adding rudimentary breakpoint handling to the loop. 2003-09-29 Theodore A. Roth * src/devsupp.c: * src/intvects.c: Revert previous patch. It didn't even compile (my fault for not checking that before committing it), so I am assuming that it is not tested and sending it back to the submitter. 2003-09-26 Theodore A. Roth [Contributed by Keith Gudger ] * src/devsupp.c: * src/intvects.c: Add support for at43USB355, at43USB320, at43USB324, at43USB325, and at43USB326. 2003-09-26 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * doc/Makefile.am (EXTRA_DIST): Add main.dox. * doc/doxygen.config.in (INPUT): Add @top_srcdir@/doc to search path. (FILE_PATTERNS): Add *.dox pattern. * doc/main.dox: Rename of src/maindoc.c. * src/Makefile.am (EXTRA_DIST): Remove. * src/maindoc.c: Rename to doc/main.dox. 2003-09-19 Theodore A. Roth * README.cygwin: Change CFLAGS to LDFLAGS in configure example. 2003-09-19 Theodore A. Roth * configure.ac (AC_INIT): Bump version. Add AC_CANONICAL_BUILD, AC_CANONICAL_HOST and AC_CANONICAL_TARGET. * Makefile.am (EXTRA_DIST): Add README.cygwin. * README.gdb: Remove references to gdb patches directory. [Contributed by Eric Weddingtion ] * README.cygwin: New file. 2003-09-15 Theodore A. Roth * configure.ac (AC_INIT): Bump version. (AC_CONFIG_FILES): Untabify src/getopt/Makefile line. 2003-09-12 Theodore A. Roth * configure.ac (AC_INIT): Bump version. * src/avrcore.c: Hide struct bp_enable_data from doxygen. * src/callback.c: Hide struct _CallBack from doxygen. * src/devsupp.c: Hide struct _DevSuppDefn from doxygen. 2003-09-12 Theodore A. Roth * configure.ac: Remove typedefs for byte, word, dword, qword, sbyte, sword, sdword, and sqword. * src/avrcore.c: Replace byte with uint8_t. Replace word with uint16_t. Replace dword with uint32_t. Replace qword with uint64_t. Replace sbyte with int8_t. Replace sword with int16_t. Replace sdword with int32_t. Replace sqword with int64_t. * src/avrcore.h: Ditto. * src/callback.c: Ditto. * src/callback.h: Ditto. * src/decoder.c: Ditto. * src/decoder.h: Ditto. * src/device.c: Ditto. * src/devsupp.c: Ditto. * src/display.c: Ditto. * src/display.h: Ditto. * src/eeprom.c: Ditto. * src/eeprom.h: Ditto. * src/flash.c: Ditto. * src/flash.h: Ditto. * src/gdb.h: Ditto. * src/gdbserver.c: Ditto. * src/intvects.h: Ditto. * src/main.c: Ditto. * src/memory.c: Ditto. * src/memory.h: Ditto. * src/ports.c: Ditto. * src/ports.h: Ditto. * src/register.c: Ditto. * src/register.h: Ditto. * src/sram.c: Ditto. * src/stack.c: Ditto. * src/stack.h: Ditto. * src/storage.c: Ditto. * src/storage.h: Ditto. * src/timers.c: Ditto. * src/timers.h: Ditto. * src/utils.c: Ditto. * src/utils.h: Ditto. * src/vdevs.h: Ditto. 2003-09-09 Theodore A. Roth [Contributed by Hermann Kraus ] * test_c/Makefile.am: Update copyright year. Add timer program. Add common.h to all SOURCES variables. * test_c/common.h: New file. * test_c/deep_frame.c: Use common.h. Use 'sfr = val' idiom instead of sbi function. * test_c/demo.c: Ditto. * test_c/demo_kr.c: Ditto. * test_c/timer.c: New file. 2003-09-09 Theodore A. Roth [Contributed by Hermann Kraus ] * configure.ac (AC_INIT): Bump version. * src/callback.c (callback_construct): Check data pointer before passing to class_ref. (callback_destroy): Check data pointer before passing to class_unref. 2003-08-29 Theodore A. Roth [Thanks to Hermann Kraus ] * configure.ac (AC_INIT): Bump version. * simulavr.1.in: Remove '=' from option descriptions since it is confusing people. * src/main.c: Diddo. * doc/simulavr.texi: Diddo. Update savannah references. Remove notes about needing to patch gdb for avr. 2003-08-27 Theodore A. Roth * configure.ac (AC_INIT): Bump version. Add missing call to CHECK_DOXYGEN. * simulavr.spec.in: Fix broken rpmbuild on RedHat-9. 2003-08-26 Theodore A. Roth * configure.ac (AC_INIT): Bump version. (AC_CHECK_HEADERS): Remove check for libintl.h so it doesn't get used in gnu_getopt.c. * src/getopt/gnu_getopt.c: Don't allow _ to be defined to gettext(). 2003-08-18 Theodore A. Roth * simulavr.1.in: Add version to output. Add mega8 and mega16 to supported list. * src/gdbserver.c: Shorten up some long lines. 2003-08-18 Theodore A. Roth * configure.ac: Bump version. * src/gdbserver.c (gdb_interact): Set addrLength correctly so source IP addresses are reported correctly. 2003-08-13 Theodore A. Roth * Makefile.am: Rename @DOC_INST_DIR@ to @ac_doc_inst_dir@. * configure.ac: Bump version. Remove --with-docdir option. Re-instate --enable-versioned-doc option and set ac_doc_inst_dir relative to $(datadir). * doc/Makefile.am: Rename @DOC_INST_DIR@ to @ac_doc_inst_dir@. * test_asm/test_8515/Makefile.am: Add clean-local rule to make sure final binaries are removed. 2003-08-13 Theodore A. Roth * src/device.c: Update copyright year. 2003-08-13 Theodore A. Roth [Thanks to Hermann Kraus ] * doc/simulavr.texi: Fix 'target remote' note. * src/avrcore.c: Wrap some line lines. Document all functions via doxygen. * src/device.c: Document all functions via doxygen. 2003-08-12 Theodore A. Roth * Makefile.am: Remove AUX_DIST and AUX_DIST_EXTRA vars. Remove refs to acconfig.h and config/. * configure.ac: Add check for RANLIB. Add src/getopt/Makefile to output. * src/Makefile.am: Add getopt subdir. (AM_CFLAGS): Add src/getopt via -I. (simulavr_LDADD): Define. (simulavr_SOURCES): Remove gnu_getopt* sources. * src/disp/Makefile.am: Link to ../getopt/libgnugetopt.a. * src/disp-vcd/Makefile.am: Link to ../getopt/libgnugetopt.a. * src/getopt/Makefile.am: New file to build ../getopt/libgnugetopt.a. * src/gnu_getopt.c, src/getopt/gnu_getopt.c: Move gnu_getopt.c into src/getopt subdir. * src/gnu_getopt.h, src/getopt/gnu_getopt.h: Move gnu_getopt.h into src/getopt subdir. * src/gnu_getopt1.c, src/getopt/gnu_getopt1.c: Move gnu_getopt1.c into src/getopt subdir. 2003-08-12 Theodore A. Roth * Makefile.am: Convert to use autoconf-2.57 and automake-1.7.x. * bootstrap: Convert to use autoconf-2.57 and automake-1.7.x. * configure.ac: New file. * acconfig.h: Remove file. * configure.in: Remove file. * config/avr_binutils.m4: Remove file. * config/avr_cc.m4: Remove file. * config/avr_doc_dirsuffix.m4: Remove file. * config/avr_doc_pdf.m4: Remove file. * config/avr_doc_ps.m4: Remove file. * config/avr_libc_headers.m4: Remove file. * config/check_autoconf213.m4: Remove file. * config/check_doxygen.m4: Remove file. * config/check_gnu_make.m4: Remove file. * config/check_python.m4: Remove file. * config/check_texinfo.m4: Remove file. * config/enable_curses.m4: Remove file. * config/enable_tests.m4: Remove file. * config/type_socklen_t.m4: Remove file. 2003-08-12 Theodore A. Roth * simulavr.1.in: Update bug report email address. 2003-08-12 Theodore A. Roth * configure.in: Add more checks as found by autoscan. 2003-08-08 Theodore A. Roth * src/gnu_getopt.h: Define HAVE_DECL_GETOPT to fix declaration clash. 2003-08-08 Theodore A. Roth [Contributed by Tuukka Pasanen] * src/devsupp.c: * src/intvects.c: Add basic support for mega8. 2003-08-01 Theodore A. Roth * acconfig.h: Handle missing socklen_t type. 2003-08-01 Theodore A. Roth * configure.in: Bump version. Add check to socklen_t. * config/type_socklen_t.m4: New file. 2003-07-24 Theodore A. Roth * AUTHORS: * ChangeLog: * config/avr_binutils.m4: * config/avr_cc.m4: * config/avr_libc_headers.m4: * config/check_doxygen.m4: * config/check_gnu_make.m4: * config/check_python.m4: * config/check_texinfo.m4: * config/enable_curses.m4: * config/enable_tests.m4: Update my email address. 2003-07-02 Theodore A. Roth * configure.in: Bump version. * src/main.c: Update copyright year for --version output. 2003-06-20 Theodore A. Roth * configure.in: Bump version. 2003-06-20 Theodore A. Roth * gdb-patches/README: Remove file. * simulavr.spec.in: Bump avr-gdb requirement to 5.3. * src/avrcore.c: * src/avrcore.h: * src/gdb.h: * src/main.c: Add enable_breakpoints and disable breakpoints methods. * src/gdbserver.c: Ditto. Disable breakpoints when a break point is hit. This restores the insn which was previously replaced with a BREAK insn if the break point was set by gdb. This was needed to get the sim to send the correct insn back to gdb instead of the BREAK insn. 2003-06-20 Theodore A. Roth * src/gdbserver.c: Fix a bug in handled of 'P' packets causing PC to be truncated. 2003-06-20 Theodore A. Roth * src/gdbserver.c: Update copyright year. If-def out use of EEPROM space since gdb handle it. 2003-04-06 Theodore A. Roth [Thanks to Hermann Kraus ] * src/devsupp.c: * src/intvects.c: Added support for the ATMega16 device 2003-04-04 Theodore A. Roth * src/avrcore.c: * src/decoder.c: * src/decoder.h: Speed up the opcode handlers by calculating the argument values at init time and passing them to the handler when it is called. My tests show this to be a 1.5 to 3.5 % increase. 2003-04-04 Theodore A. Roth * configure.in: Bump version. * src/disp/disp.c: Include termios.h to get winsize decl on cygwin. [Thanks to Slawomir Kawalek ]. 2003-03-25 Theodore A. Roth * regress/regress.py.in: Fix --sim option to take an argument. 2003-03-04 Theodore A. Roth * src/avrcore.c: * src/gdb.h: * src/gdbserver.c: * src/main.c: Implement the io_fetch method for the gdbserver interface. 2003-02-22 Theodore A. Roth * doc/simulavr.texi: Fix gdb configure target argument.