Hugo Villeneuve [Sun, 26 Jan 2014 20:28:36 +0000 (15:28 -0500)]
Move macro definition to top of file
Hugo Villeneuve [Sun, 26 Jan 2014 20:23:48 +0000 (15:23 -0500)]
Use log functions to display errors
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".
Hugo Villeneuve [Sun, 26 Jan 2014 05:25:48 +0000 (00:25 -0500)]
Add square root regression test
Hugo Villeneuve [Sun, 26 Jan 2014 04:39:27 +0000 (23:39 -0500)]
Return error for test files without any validation condition
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".
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.
Hugo Villeneuve [Fri, 24 Jan 2014 01:01:03 +0000 (20:01 -0500)]
Add documentation about regression testing
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.
Hugo Villeneuve [Fri, 24 Jan 2014 00:15:39 +0000 (19:15 -0500)]
Simplify options parsing code
Hugo Villeneuve [Wed, 15 Jan 2014 03:20:07 +0000 (22:20 -0500)]
emu8051 2.0.0
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.
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.
Hugo Villeneuve [Tue, 21 Jan 2014 03:23:30 +0000 (22:23 -0500)]
Remove deprecated view->sfr-window option
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.
Hugo Villeneuve [Wed, 15 Jan 2014 03:53:46 +0000 (22:53 -0500)]
Remove autogen.sh from distribution tarball
Hugo Villeneuve [Wed, 15 Jan 2014 03:53:08 +0000 (22:53 -0500)]
ChangeLog is now automatically generated from git log output
Hugo Villeneuve [Tue, 14 Jan 2014 05:23:10 +0000 (00:23 -0500)]
Fix compilation warning
Hugo Villeneuve [Tue, 14 Jan 2014 05:19:59 +0000 (00:19 -0500)]
Refactor memwin.c for internal and external memories
Hugo Villeneuve [Tue, 14 Jan 2014 04:43:46 +0000 (23:43 -0500)]
Change confusing variable name bits_per_row to bytes_per_row
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.
Hugo Villeneuve [Tue, 14 Jan 2014 03:40:56 +0000 (22:40 -0500)]
Set external memory size default to 256
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.
Hugo Villeneuve [Sat, 11 Jan 2014 22:24:23 +0000 (17:24 -0500)]
Create common function for running instructions
Hugo Villeneuve [Fri, 3 Jan 2014 08:19:32 +0000 (03:19 -0500)]
Fix warning for ignored return value for getline()
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]
Hugo Villeneuve [Fri, 3 Jan 2014 07:57:16 +0000 (02:57 -0500)]
Merge ADD and ADDC operations into common function
Hugo Villeneuve [Fri, 3 Jan 2014 07:37:18 +0000 (02:37 -0500)]
Fix code indentation
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.
Hugo Villeneuve [Fri, 3 Jan 2014 07:33:32 +0000 (02:33 -0500)]
Add tests for ADD and ADDC instructions
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]
Hugo Villeneuve [Fri, 3 Jan 2014 06:43:55 +0000 (01:43 -0500)]
Fix warnings about unused function parameters
Hugo Villeneuve [Fri, 3 Jan 2014 06:37:20 +0000 (01:37 -0500)]
Fix [-Wmissing-field-initializers] warnings
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.
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.
Hugo Villeneuve [Wed, 11 Dec 2013 04:05:32 +0000 (23:05 -0500)]
Move git ignore file list to build-aux
Hugo Villeneuve [Wed, 11 Dec 2013 03:34:09 +0000 (22:34 -0500)]
Remove configure cache directory after running autoreconf
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.
Hugo Villeneuve [Sat, 7 Dec 2013 23:50:39 +0000 (18:50 -0500)]
Remove obsolescent macro AM_PROG_CC_C_O
Anthony Liu [Thu, 5 Dec 2013 15:59:42 +0000 (23:59 +0800)]
Improve interrupt trigger code readability
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.
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.
Hugo Villeneuve [Tue, 3 Dec 2013 02:18:44 +0000 (21:18 -0500)]
Add support for as504 assembler
Hugo Villeneuve [Mon, 2 Dec 2013 04:33:18 +0000 (23:33 -0500)]
Fix bug when using separate build directory to create symbolic link
Hugo Villeneuve [Mon, 2 Dec 2013 04:31:51 +0000 (23:31 -0500)]
Replace CALL by LCALL 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
Hugo Villeneuve [Mon, 2 Dec 2013 02:20:49 +0000 (21:20 -0500)]
Remove currently unsupported option to set iram size
Hugo Villeneuve [Thu, 28 Nov 2013 04:02:18 +0000 (23:02 -0500)]
Fix CPPFLAGS for each target (CLI and GTK)
Hugo Villeneuve [Mon, 2 Dec 2013 01:06:29 +0000 (20:06 -0500)]
Change way tests are enabled/disabled by asem presence
Hugo Villeneuve [Fri, 29 Nov 2013 04:11:43 +0000 (23:11 -0500)]
Run each test separately from single shell script
Each new test is simply a link to opcodes.sh, generatated automatically.
Hugo Villeneuve [Thu, 28 Nov 2013 01:56:05 +0000 (20:56 -0500)]
Move timer functions to timers.c
Hugo Villeneuve [Thu, 28 Nov 2013 01:55:21 +0000 (20:55 -0500)]
Add tests for timers mode 2
Hugo Villeneuve [Wed, 27 Nov 2013 05:17:30 +0000 (00:17 -0500)]
Change test output expected string layout
Also check stack pointer value for all tests
Hugo Villeneuve [Wed, 27 Nov 2013 05:16:45 +0000 (00:16 -0500)]
Add tests for timers mode 0
Hugo Villeneuve [Wed, 27 Nov 2013 05:09:40 +0000 (00:09 -0500)]
Fix bug with timers mode 0 (8 bits with 5-bit prescaler)
Hugo Villeneuve [Wed, 27 Nov 2013 04:38:36 +0000 (23:38 -0500)]
Add tests for timers mode 1
Hugo Villeneuve [Wed, 27 Nov 2013 03:54:08 +0000 (22:54 -0500)]
Fix error with timer1 being written to timer0
Hugo Villeneuve [Wed, 27 Nov 2013 04:39:17 +0000 (23:39 -0500)]
Add PC check for all tests
Hugo Villeneuve [Mon, 25 Nov 2013 04:20:18 +0000 (23:20 -0500)]
Add tests for MOV instruction
Hugo Villeneuve [Mon, 25 Nov 2013 04:14:46 +0000 (23:14 -0500)]
Add tests for DIV instruction
Hugo Villeneuve [Mon, 25 Nov 2013 04:08:26 +0000 (23:08 -0500)]
Add tests for ANL instruction
Hugo Villeneuve [Mon, 25 Nov 2013 04:02:31 +0000 (23:02 -0500)]
Add tests for ORL instruction
Hugo Villeneuve [Sun, 24 Nov 2013 21:04:30 +0000 (16:04 -0500)]
Add framework for regression testing
Hugo Villeneuve [Sun, 24 Nov 2013 05:10:14 +0000 (00:10 -0500)]
Automatic generation of test hex files
Hugo Villeneuve [Sat, 23 Nov 2013 18:58:37 +0000 (13:58 -0500)]
Add tests for MUL instructions
Hugo Villeneuve [Sat, 23 Nov 2013 18:57:48 +0000 (13:57 -0500)]
Remove hex files
Hugo Villeneuve [Sat, 23 Nov 2013 18:56:54 +0000 (13:56 -0500)]
Rename test-files directory -> tests
Hugo Villeneuve [Mon, 2 Dec 2013 01:43:19 +0000 (20:43 -0500)]
Add automake options -Wall and gnu std-options
Remove configure verbose output
Hugo Villeneuve [Mon, 25 Nov 2013 01:39:30 +0000 (20:39 -0500)]
Remove superfluous bytes in program disassembly
Sometimes, B1 and B2 were showing old values from previous disassembly.
Now explicitly remove them for each disassembly line.
Hugo Villeneuve [Mon, 25 Nov 2013 01:35:11 +0000 (20:35 -0500)]
Fix code indentation
Hugo Villeneuve [Mon, 25 Nov 2013 00:23:57 +0000 (19:23 -0500)]
Prevent dissassembling instructions past last address
Hugo Villeneuve [Mon, 25 Nov 2013 00:06:50 +0000 (19:06 -0500)]
Add ignore files to gitignore
Hugo Villeneuve [Mon, 25 Nov 2013 00:03:54 +0000 (19:03 -0500)]
Fix syntax error in comments
Hugo Villeneuve [Sun, 1 Dec 2013 22:00:04 +0000 (17:00 -0500)]
Fix error with EM command in CLI mode
Address parameter was not handled correctly.
Hugo Villeneuve [Sun, 1 Dec 2013 21:27:53 +0000 (16:27 -0500)]
CLI version: Add <?> to display help menu
Hugo Villeneuve [Sun, 24 Nov 2013 21:01:21 +0000 (16:01 -0500)]
Reintroduce PSW in list of displayed registers (for regression tests)
Hugo Villeneuve [Sun, 24 Nov 2013 19:55:11 +0000 (14:55 -0500)]
Display SFR registers one per line in automatic run mode
Hugo Villeneuve [Sun, 24 Nov 2013 19:39:18 +0000 (14:39 -0500)]
Move SFR read/write functions to new file sfr.c
Hugo Villeneuve [Sun, 24 Nov 2013 18:15:00 +0000 (13:15 -0500)]
Add option to automatically run and stop CLI emulator
Hugo Villeneuve [Sun, 24 Nov 2013 18:11:27 +0000 (13:11 -0500)]
Replace printf statements with log functions
Hugo Villeneuve [Sun, 24 Nov 2013 18:08:42 +0000 (13:08 -0500)]
Move variable declaration before statements
Hugo Villeneuve [Sun, 24 Nov 2013 18:03:16 +0000 (13:03 -0500)]
Display filename in case of HEX file load error
Hugo Villeneuve [Sat, 23 Nov 2013 04:42:14 +0000 (23:42 -0500)]
Zero all memories when initializing program
This is especially usefull to have NOP in program memory.
Hugo Villeneuve [Sat, 23 Nov 2013 01:11:21 +0000 (20:11 -0500)]
Add grid lines to PSW window
Hugo Villeneuve [Thu, 21 Nov 2013 04:58:31 +0000 (23:58 -0500)]
Add PSW sub window
Hugo Villeneuve [Thu, 21 Nov 2013 04:57:55 +0000 (23:57 -0500)]
Use macro to set name of sub window
Hugo Villeneuve [Thu, 21 Nov 2013 04:56:46 +0000 (23:56 -0500)]
Change scope of local variable to static
Hugo Villeneuve [Thu, 21 Nov 2013 04:55:41 +0000 (23:55 -0500)]
Add option to display bool hex character
Hugo Villeneuve [Thu, 21 Nov 2013 04:27:37 +0000 (23:27 -0500)]
Add PSW generic bit write/read functions
Hugo Villeneuve [Mon, 18 Nov 2013 03:52:00 +0000 (22:52 -0500)]
Add parity bit update each instruction cycle
Hugo Villeneuve [Mon, 18 Nov 2013 00:48:05 +0000 (19:48 -0500)]
Add function to read 16-bit address/offset/value from pgm memory
Hugo Villeneuve [Mon, 18 Nov 2013 00:52:46 +0000 (19:52 -0500)]
Fix bug with MOV DPTR,#data16 instruction
Source variable was 8 bits instead of 16 bits.
Hugo Villeneuve [Mon, 18 Nov 2013 00:50:28 +0000 (19:50 -0500)]
Remove unused destination adressing mode #data16
Even if it is required, the destination variable is only 8-bits,
so this would have been a potential bug.
Hugo Villeneuve [Sun, 17 Nov 2013 23:48:26 +0000 (18:48 -0500)]
Make MUL and DIV use generic source/destination variables
To remove confusing commented code and compilation warning
Hugo Villeneuve [Sun, 17 Nov 2013 23:16:56 +0000 (18:16 -0500)]
Refactor perl code to write C source code line
Hugo Villeneuve [Sun, 17 Nov 2013 22:51:56 +0000 (17:51 -0500)]
Refactor perl code to write file header
Hugo Villeneuve [Sun, 17 Nov 2013 22:02:10 +0000 (17:02 -0500)]
Add overflow and auxiliary carry flags manipulation functions
Hugo Villeneuve [Sun, 17 Nov 2013 21:19:52 +0000 (16:19 -0500)]
Simplify carry bit set/clr functions
Hugo Villeneuve [Sun, 17 Nov 2013 19:29:25 +0000 (14:29 -0500)]
Add carry bit definitions
Hugo Villeneuve [Sun, 17 Nov 2013 19:03:12 +0000 (14:03 -0500)]
Move PSW bit manipulation functions to psw.c