emu8051.git
9 years agoEmulate silent rule for sources built usin Perl script
Hugo Villeneuve [Thu, 10 Apr 2014 01:44:08 +0000 (21:44 -0400)]
Emulate silent rule for sources built usin Perl script

10 years agoImplement workaround for flex --header-file option master
Hugo Villeneuve [Fri, 7 Nov 2014 02:01:56 +0000 (21:01 -0500)]
Implement workaround for flex --header-file option

This is fixed in automake 1.12 and later.

The problem is that the ylwrap helper script creates a temporary directory
when running flex. Flex then correctly creates the scanner.h file inside this
temporary directory, but ylwrap does not copy it back to the build dir.

10 years agoRename perl sources variable to avoid confusion
Hugo Villeneuve [Fri, 7 Nov 2014 01:59:15 +0000 (20:59 -0500)]
Rename perl sources variable to avoid confusion

Variables ending with _SOURCES are specific to automake.

10 years agoReplace LEX macro with preferred one
Hugo Villeneuve [Thu, 6 Nov 2014 05:41:39 +0000 (00:41 -0500)]
Replace LEX macro with preferred one

10 years agoCleanup of autoconf files
Hugo Villeneuve [Wed, 9 Apr 2014 04:19:49 +0000 (00:19 -0400)]
Cleanup of autoconf files

10 years agoopcodes2c.pl: Add command line options
Hugo Villeneuve [Wed, 9 Apr 2014 04:18:03 +0000 (00:18 -0400)]
opcodes2c.pl: Add command line options

Argument 1 is opcodes list filename
Argument 2 is the output directory.

These arguments are necessary if we want to generate the C source
files and headers in a separate build directory.

10 years agoSave window position in configuration file
Hugo Villeneuve [Wed, 9 Apr 2014 02:37:56 +0000 (22:37 -0400)]
Save window position in configuration file

10 years agoAllow to override window geometry on the command line
Hugo Villeneuve [Wed, 9 Apr 2014 02:32:20 +0000 (22:32 -0400)]
Allow to override window geometry on the command line

10 years agoChange project's website URL
Hugo Villeneuve [Tue, 8 Apr 2014 18:31:07 +0000 (14:31 -0400)]
Change project's website URL

10 years agoAdd missing include file
Hugo Villeneuve [Fri, 24 Jan 2014 14:37:41 +0000 (09:37 -0500)]
Add missing include file

There was no bug, code was compiling correctly. Just for clarity.

10 years agoRemove unnecessary AM option parallel-tests
Hugo Villeneuve [Mon, 7 Apr 2014 04:10:00 +0000 (00:10 -0400)]
Remove unnecessary AM option parallel-tests

10 years agoConvert to automake gnits option
Hugo Villeneuve [Mon, 7 Apr 2014 03:46:40 +0000 (23:46 -0400)]
Convert to automake gnits option

10 years agoFix Makefile.am indentation
Hugo Villeneuve [Mon, 7 Apr 2014 03:10:23 +0000 (23:10 -0400)]
Fix Makefile.am indentation

10 years agoConvert to LIBTOOL
Hugo Villeneuve [Mon, 7 Apr 2014 03:03:24 +0000 (23:03 -0400)]
Convert to LIBTOOL

10 years agoAdd option -Wno-extra-portability to AM_INIT_AUTOMAKE
Hugo Villeneuve [Mon, 7 Apr 2014 02:39:56 +0000 (22:39 -0400)]
Add option -Wno-extra-portability to AM_INIT_AUTOMAKE

To get rid of warning:
  linking libraries using a non-POSIX archiver requires 'AM_PROG_AR'...

10 years agoAdd option no-define to AM_INIT_AUTOMAKE
Hugo Villeneuve [Mon, 7 Apr 2014 02:36:16 +0000 (22:36 -0400)]
Add option no-define to AM_INIT_AUTOMAKE

No need to define all variables on the compiler command line since
they are already defined in the config.h header file.

10 years agoPut automake macros together
Hugo Villeneuve [Mon, 7 Apr 2014 02:27:48 +0000 (22:27 -0400)]
Put automake macros together

10 years agoemu8051 2.0.1 v2.0.1
Hugo Villeneuve [Sat, 22 Mar 2014 18:24:24 +0000 (14:24 -0400)]
emu8051 2.0.1

10 years agoConvert manpage to UTF-8
Hugo Villeneuve [Mon, 17 Mar 2014 01:25:17 +0000 (21:25 -0400)]
Convert manpage to UTF-8

10 years agoAdd tests for CLI version commands
Hugo Villeneuve [Tue, 18 Feb 2014 03:58:44 +0000 (22:58 -0500)]
Add tests for CLI version commands

10 years agoDo not display registers at CLI version startup
Hugo Villeneuve [Sun, 16 Feb 2014 07:33:11 +0000 (02:33 -0500)]
Do not display registers at CLI version startup

This is to help testing the "dr" command, to be able to match
default register values.

10 years agoAdd proper error checking in asciihex2int functions
Hugo Villeneuve [Sun, 16 Feb 2014 06:51:47 +0000 (01:51 -0500)]
Add proper error checking in asciihex2int functions

10 years agoDont exit in case of hexfile reading failure
Hugo Villeneuve [Sat, 15 Feb 2014 23:07:29 +0000 (18:07 -0500)]
Dont exit in case of hexfile reading failure

10 years agoReplace disam.h with opcodes{h,c}
Hugo Villeneuve [Sat, 15 Feb 2014 06:43:32 +0000 (01:43 -0500)]
Replace disam.h with opcodes{h,c}

Also rename opcode2c.pl -> opcodes2c.pl

10 years agoFix comment after cleanup
Hugo Villeneuve [Sat, 15 Feb 2014 05:35:27 +0000 (00:35 -0500)]
Fix comment after cleanup

10 years agoFix splint warnings
Hugo Villeneuve [Thu, 13 Feb 2014 05:52:19 +0000 (00:52 -0500)]
Fix splint warnings

10 years agoFix C99 standard types uintN_t
Hugo Villeneuve [Thu, 13 Feb 2014 05:38:22 +0000 (00:38 -0500)]
Fix C99 standard types uintN_t

10 years agoRemove unused header file includes
Hugo Villeneuve [Thu, 13 Feb 2014 05:37:58 +0000 (00:37 -0500)]
Remove unused header file includes

10 years agoFix test script to work in external build directory
Hugo Villeneuve [Thu, 13 Feb 2014 05:23:51 +0000 (00:23 -0500)]
Fix test script to work in external build directory

10 years agoShorten memory_ functions prefix to mem_ in memory.c
Hugo Villeneuve [Thu, 13 Feb 2014 04:46:44 +0000 (23:46 -0500)]
Shorten memory_ functions prefix to mem_ in memory.c

10 years agoFix checkpatch warnings
Hugo Villeneuve [Thu, 13 Feb 2014 04:16:18 +0000 (23:16 -0500)]
Fix checkpatch warnings

10 years agoMove memory read functions to memory.c
Hugo Villeneuve [Thu, 13 Feb 2014 04:05:26 +0000 (23:05 -0500)]
Move memory read functions to memory.c

Fix warnings given by checkpatch.pl

10 years agoFix auto-generated C source files indentation
Hugo Villeneuve [Thu, 13 Feb 2014 03:21:15 +0000 (22:21 -0500)]
Fix auto-generated C source files indentation

10 years agoRemove unnecessary column in opcodes.lst
Hugo Villeneuve [Wed, 12 Feb 2014 04:30:16 +0000 (23:30 -0500)]
Remove unnecessary column in opcodes.lst

Begin to cleanup Perl code

10 years agoRemove duplicate code for disassembly
Hugo Villeneuve [Wed, 12 Feb 2014 04:00:34 +0000 (23:00 -0500)]
Remove duplicate code for disassembly

10 years agoFix checkpatch warnings
Hugo Villeneuve [Wed, 12 Feb 2014 02:54:49 +0000 (21:54 -0500)]
Fix checkpatch warnings

10 years agoShorten GPLv2 licence text in header of each source file
Hugo Villeneuve [Tue, 11 Feb 2014 07:31:11 +0000 (02:31 -0500)]
Shorten GPLv2 licence text in header of each source file

10 years agoAdd up to 4 emulator timers
Hugo Villeneuve [Mon, 10 Feb 2014 05:48:48 +0000 (00:48 -0500)]
Add up to 4 emulator timers

10 years agoRename DumpMem function -> memory_dump
Hugo Villeneuve [Mon, 10 Feb 2014 04:47:58 +0000 (23:47 -0500)]
Rename DumpMem function -> memory_dump

10 years agoAdd more error checking for CLI version arguments
Hugo Villeneuve [Mon, 10 Feb 2014 04:26:33 +0000 (23:26 -0500)]
Add more error checking for CLI version arguments

10 years agoCleanup help menu
Hugo Villeneuve [Mon, 10 Feb 2014 01:35:26 +0000 (20:35 -0500)]
Cleanup help menu

10 years agoAdd support for GNU readline
Hugo Villeneuve [Sat, 8 Feb 2014 07:40:54 +0000 (02:40 -0500)]
Add support for GNU readline

readline input is fed into Lex.

This adds commands history.

There is also a configure option to disable readline support.

10 years agoRename CLI and GUI versions main source files
Hugo Villeneuve [Sat, 8 Feb 2014 06:02:14 +0000 (01:02 -0500)]
Rename CLI and GUI versions main source files

10 years agoAllow hex numbers to begin with 0x or $ prefix in scanner
Hugo Villeneuve [Fri, 7 Feb 2014 04:00:10 +0000 (23:00 -0500)]
Allow hex numbers to begin with 0x or $ prefix in scanner

10 years agoAllow to set all SFR registers in CLI version
Hugo Villeneuve [Thu, 6 Feb 2014 03:24:19 +0000 (22:24 -0500)]
Allow to set all SFR registers in CLI version

10 years agoAdd new value range check when writing register in CLI version
Hugo Villeneuve [Thu, 6 Feb 2014 03:02:43 +0000 (22:02 -0500)]
Add new value range check when writing register in CLI version

The GUI version also had this check, so the functionality has been merged.

10 years agoConvert CLI version input parsing to Lex/Yacc
Hugo Villeneuve [Mon, 27 Jan 2014 00:59:34 +0000 (19:59 -0500)]
Convert CLI version input parsing to Lex/Yacc

Some error checking is still missing, but all commands seem to be
working correctly.

Update CLI help menu.

10 years agoRemove address parameter from RUN and TRACE CLI commands
Hugo Villeneuve [Mon, 27 Jan 2014 01:09:26 +0000 (20:09 -0500)]
Remove address parameter from RUN and TRACE CLI commands

Also automatically display register contents after each RUN operation.

10 years agoAdd general-purpose timer to CLI
Hugo Villeneuve [Sun, 26 Jan 2014 23:33:32 +0000 (18:33 -0500)]
Add general-purpose timer to CLI

Also add command to reset it.

10 years agoAdd better error checking when loading invalid hex files
Hugo Villeneuve [Sun, 26 Jan 2014 23:23:11 +0000 (18:23 -0500)]
Add better error checking when loading invalid hex files

Also replaced custom error message box with standard one.

10 years agoRefactor hex loading code
Hugo Villeneuve [Sun, 26 Jan 2014 22:52:21 +0000 (17:52 -0500)]
Refactor hex loading code

Merged two identical code portions that validated the checksum.

Also added better debug messages.

10 years agoAllow EM command to be specified without arguments
Hugo Villeneuve [Sun, 26 Jan 2014 22:50:52 +0000 (17:50 -0500)]
Allow EM command to be specified without arguments

In this case, program will run from the current PC address until a breakpoint
is reached.

10 years agoMove macro definition to top of file
Hugo Villeneuve [Sun, 26 Jan 2014 20:28:36 +0000 (15:28 -0500)]
Move macro definition to top of file

10 years agoUse log functions to display errors
Hugo Villeneuve [Sun, 26 Jan 2014 20:23:48 +0000 (15:23 -0500)]
Use log functions to display errors

10 years agoFix error when specifying start address in CLI version
Hugo Villeneuve [Sun, 26 Jan 2014 20:09:20 +0000 (15:09 -0500)]
Fix error when specifying start address in CLI version

Start address was specified as "0x0000", but need to be "0000".

10 years agoAdd square root regression test
Hugo Villeneuve [Sun, 26 Jan 2014 05:25:48 +0000 (00:25 -0500)]
Add square root regression test

10 years agoReturn error for test files without any validation condition
Hugo Villeneuve [Sun, 26 Jan 2014 04:39:27 +0000 (23:39 -0500)]
Return error for test files without any validation condition

10 years agoDo not display eror message when simply pressing return in CLI version
Hugo Villeneuve [Sat, 25 Jan 2014 23:56:10 +0000 (18:56 -0500)]
Do not display eror message when simply pressing return in CLI version

Before was displaying message "Syntax error".

10 years agoAdd general-purpose timer to GUI
Hugo Villeneuve [Sat, 25 Jan 2014 22:38:50 +0000 (17:38 -0500)]
Add general-purpose timer to GUI

This timer is not part of the 8051 hardware. It is a free running
timer/counter added as a mean to quickly measure delays in instruction
cyles.

For now, it is implemented only in GUI version.

10 years agoAdd documentation about regression testing
Hugo Villeneuve [Fri, 24 Jan 2014 01:01:03 +0000 (20:01 -0500)]
Add documentation about regression testing

10 years agoRemove display of command line options in GUI mode
Hugo Villeneuve [Fri, 24 Jan 2014 00:45:14 +0000 (19:45 -0500)]
Remove display of command line options in GUI mode

The information message was manually edited, which creates synchronization
problems now that we are using argp to manage our options.

10 years agoSimplify options parsing code
Hugo Villeneuve [Fri, 24 Jan 2014 00:15:39 +0000 (19:15 -0500)]
Simplify options parsing code

10 years agoemu8051 2.0.0 v2.0.0
Hugo Villeneuve [Wed, 15 Jan 2014 03:20:07 +0000 (22:20 -0500)]
emu8051 2.0.0

10 years agoRemove dynamic update of GUI layout
Hugo Villeneuve [Tue, 21 Jan 2014 05:05:32 +0000 (00:05 -0500)]
Remove dynamic update of GUI layout

The application must restarted for the changes to take effect.

Added a message for telling this to the user.

10 years agoImprove view/hide of memory windows
Hugo Villeneuve [Tue, 21 Jan 2014 04:59:14 +0000 (23:59 -0500)]
Improve view/hide of memory windows

Do not restart whole GUI, just update vpaned containing
the two memory scroll windows.

10 years agoRemove deprecated view->sfr-window option
Hugo Villeneuve [Tue, 21 Jan 2014 03:23:30 +0000 (22:23 -0500)]
Remove deprecated view->sfr-window option

10 years agoFix error when toggling memory display viewing on/off
Hugo Villeneuve [Fri, 17 Jan 2014 04:22:46 +0000 (23:22 -0500)]
Fix error when toggling memory display viewing on/off

Only the first two rows were displayed. The crc_init variable
was not handled correctly.

10 years agoRemove autogen.sh from distribution tarball
Hugo Villeneuve [Wed, 15 Jan 2014 03:53:46 +0000 (22:53 -0500)]
Remove autogen.sh from distribution tarball

10 years agoChangeLog is now automatically generated from git log output
Hugo Villeneuve [Wed, 15 Jan 2014 03:53:08 +0000 (22:53 -0500)]
ChangeLog is now automatically generated from git log output

10 years agoFix compilation warning
Hugo Villeneuve [Tue, 14 Jan 2014 05:23:10 +0000 (00:23 -0500)]
Fix compilation warning

10 years agoRefactor memwin.c for internal and external memories
Hugo Villeneuve [Tue, 14 Jan 2014 05:19:59 +0000 (00:19 -0500)]
Refactor memwin.c for internal and external memories

10 years agoChange confusing variable name bits_per_row to bytes_per_row
Hugo Villeneuve [Tue, 14 Jan 2014 04:43:46 +0000 (23:43 -0500)]
Change confusing variable name bits_per_row to bytes_per_row

10 years agoImprove performance of GUI step operations
Hugo Villeneuve [Tue, 14 Jan 2014 04:07:41 +0000 (23:07 -0500)]
Improve performance of GUI step operations

Use CRC to detect which memory rows have changed.

This is only to improve GUI performance when using stepping mode, as we then
only update rows which have been modified.

10 years agoSet external memory size default to 256
Hugo Villeneuve [Tue, 14 Jan 2014 03:40:56 +0000 (22:40 -0500)]
Set external memory size default to 256

10 years agoSet program memory size default to 65536
Hugo Villeneuve [Sat, 11 Jan 2014 22:26:25 +0000 (17:26 -0500)]
Set program memory size default to 65536

Before was set to 8192.

To make sure to not cause problems with bigger programs, or with small
programs that are split accross large memory regions.

10 years agoCreate common function for running instructions
Hugo Villeneuve [Sat, 11 Jan 2014 22:24:23 +0000 (17:24 -0500)]
Create common function for running instructions

10 years agoFix warning for ignored return value for getline()
Hugo Villeneuve [Fri, 3 Jan 2014 08:19:32 +0000 (03:19 -0500)]
Fix warning for ignored return value for getline()

10 years agoFix [-Wsign-compare] warnings
Hugo Villeneuve [Fri, 3 Jan 2014 08:18:02 +0000 (03:18 -0500)]
Fix [-Wsign-compare] warnings

Original warning message:
emuconsole.c:45:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

10 years agoMerge ADD and ADDC operations into common function
Hugo Villeneuve [Fri, 3 Jan 2014 07:57:16 +0000 (02:57 -0500)]
Merge ADD and ADDC operations into common function

10 years agoFix code indentation
Hugo Villeneuve [Fri, 3 Jan 2014 07:37:18 +0000 (02:37 -0500)]
Fix code indentation

10 years agoFix error with ADDC instruction
Hugo Villeneuve [Fri, 3 Jan 2014 07:36:17 +0000 (02:36 -0500)]
Fix error with ADDC instruction

The carry flag was not added to the result.

10 years agoAdd tests for ADD and ADDC instructions
Hugo Villeneuve [Fri, 3 Jan 2014 07:33:32 +0000 (02:33 -0500)]
Add tests for ADD and ADDC instructions

10 years agoFix [-Wformat-security] warning
Hugo Villeneuve [Fri, 3 Jan 2014 06:45:47 +0000 (01:45 -0500)]
Fix [-Wformat-security] warning

Original warning message:
emuconsole.c:316:3: warning: format not a string literal and no format arguments [-Wformat-security]

10 years agoFix warnings about unused function parameters
Hugo Villeneuve [Fri, 3 Jan 2014 06:43:55 +0000 (01:43 -0500)]
Fix warnings about unused function parameters

10 years agoFix [-Wmissing-field-initializers] warnings
Hugo Villeneuve [Fri, 3 Jan 2014 06:37:20 +0000 (01:37 -0500)]
Fix [-Wmissing-field-initializers] warnings

10 years agoFix regression with ADDC instruction
Hugo Villeneuve [Fri, 3 Jan 2014 06:32:19 +0000 (01:32 -0500)]
Fix regression with ADDC instruction

Introduced when refactoring code with psw_set_ov() function.

10 years agoAdd additional compile warning flags
Hugo Villeneuve [Fri, 3 Jan 2014 06:56:37 +0000 (01:56 -0500)]
Add additional compile warning flags

Also changed way that warning flags are defined in autoconf files.

10 years agoMove git ignore file list to build-aux
Hugo Villeneuve [Wed, 11 Dec 2013 04:05:32 +0000 (23:05 -0500)]
Move git ignore file list to build-aux

10 years agoRemove configure cache directory after running autoreconf
Hugo Villeneuve [Wed, 11 Dec 2013 03:34:09 +0000 (22:34 -0500)]
Remove configure cache directory after running autoreconf

10 years agoSeparate cli and gtk sources into separate directories
Hugo Villeneuve [Sat, 7 Dec 2013 23:48:25 +0000 (18:48 -0500)]
Separate cli and gtk sources into separate directories

Also added a common directory to hold common files to both interfaces,
and compiled into a static library.

10 years agoRemove obsolescent macro AM_PROG_CC_C_O
Hugo Villeneuve [Sat, 7 Dec 2013 23:50:39 +0000 (18:50 -0500)]
Remove obsolescent macro AM_PROG_CC_C_O

10 years agoImprove interrupt trigger code readability
Anthony Liu [Thu, 5 Dec 2013 15:59:42 +0000 (23:59 +0800)]
Improve interrupt trigger code readability

10 years agoFix bug when processing interrupts
Anthony Liu [Thu, 5 Dec 2013 15:48:36 +0000 (23:48 +0800)]
Fix bug when processing interrupts

Push current PC onto stack and take vector address from parameter.

10 years agoAdd support for as504 assembler, with output file option
Hugo Villeneuve [Tue, 3 Dec 2013 02:59:30 +0000 (21:59 -0500)]
Add support for as504 assembler, with output file option

Patch is available here:
http://www.hugovil.com/repository/hvlinux/patches/as504-add-output-file-option.patch

This patch is usefull because it fixes a bug when testing the distribution
in a  separate build directory like when using:
    make distcheck

configure.ac automatically detects if as504 supports the option.

10 years agoAdd support for as504 assembler
Hugo Villeneuve [Tue, 3 Dec 2013 02:18:44 +0000 (21:18 -0500)]
Add support for as504 assembler

10 years agoFix bug when using separate build directory to create symbolic link
Hugo Villeneuve [Mon, 2 Dec 2013 04:33:18 +0000 (23:33 -0500)]
Fix bug when using separate build directory to create symbolic link

10 years agoReplace CALL by LCALL for compatibility with AS31 and AS504 assemblers
Hugo Villeneuve [Mon, 2 Dec 2013 04:31:51 +0000 (23:31 -0500)]
Replace CALL by LCALL for compatibility with AS31 and AS504 assemblers

10 years agoRemove CSEG directive for compatibility with AS31 and AS504 assemblers
Hugo Villeneuve [Mon, 2 Dec 2013 04:02:09 +0000 (23:02 -0500)]
Remove CSEG directive for compatibility with AS31 and AS504 assemblers

10 years agoRemove currently unsupported option to set iram size
Hugo Villeneuve [Mon, 2 Dec 2013 02:20:49 +0000 (21:20 -0500)]
Remove currently unsupported option to set iram size

10 years agoFix CPPFLAGS for each target (CLI and GTK)
Hugo Villeneuve [Thu, 28 Nov 2013 04:02:18 +0000 (23:02 -0500)]
Fix CPPFLAGS for each target (CLI and GTK)