266 Commits

Author SHA1 Message Date
Hugo Villeneuve
84075f7a17 Move PSW bit manipulation functions to psw.c 2013-11-17 17:26:54 -05:00
Hugo Villeneuve
47f57bc580 Add carry flag manipulation functions 2013-11-17 17:26:54 -05:00
Hugo Villeneuve
21fb2cf2a3 Add stack push/pop functions 2013-11-17 17:26:54 -05:00
Hugo Villeneuve
3615ed71ec Add DPTR read/write functions 2013-11-17 17:26:54 -05:00
Hugo Villeneuve
70b6c9964c Add comment about reset value of stack pointer 2013-11-17 17:26:54 -05:00
Hugo Villeneuve
b7f56a8019 Fix error with ADD instruction and AC bit
The overflow bit was written instead of the auxiliary carry bit.
2013-11-17 17:26:53 -05:00
Hugo Villeneuve
bbd37b7501 Fix bug with ANL instruction 2013-11-17 15:28:10 -05:00
Hugo Villeneuve
00fd5e1abb Fix bug with ORL instruction 2013-11-17 15:28:02 -05:00
Hugo Villeneuve
e2ad770d00 Fix error with JMP @A,DPTR instruction
The resulting jump address is simply the sum of the values in the accumulator
and the DPTR registers, not the indirect read of that sum.

Error reported and fixed by Anthony (antliu at gmail.com).
2013-11-05 22:17:21 -05:00
Hugo Villeneuve
c4f4ebc5ab Fix error with RETI instruction
The stack pointer was not updated correctly.

Error reported and fixed by Anthony (antliu at gmail.com).
2013-11-05 22:17:17 -05:00
Hugo Villeneuve
ae50fa4fee Add view menu option to view/hide SFR memory dump window 2013-11-05 21:55:34 -05:00
Hugo Villeneuve
5e54765874 Add support to view/hide SFR memory dump window in config file 2013-11-05 21:55:34 -05:00
Hugo Villeneuve
b72c9b3c1b Update TODO 2013-11-05 21:55:34 -05:00
Hugo Villeneuve
68a328d198 Refactor code to create memory windows 2013-11-05 21:50:18 -05:00
Hugo Villeneuve
c2ef73ab94 Refactor log functions 2013-11-05 21:50:18 -05:00
Hugo Villeneuve
add152ddb8 Add option to specify maximum pgm memory size 2013-11-05 21:50:18 -05:00
Hugo Villeneuve
593009d28f Refactor code to read/write different memory types
Dynamic memory buffers allocation depending on sizes specified with command-line
options.

Add future support for separate IRAM and SFR buffers.
2013-11-05 21:50:18 -05:00
Hugo Villeneuve
dd2261ab6c Rename macros for maximum memory sizes 2013-11-05 21:50:18 -05:00
Hugo Villeneuve
276025c248 Limit default external memory size to 1024 bytes
Emulator is running very slow if external memory is at its maximum of 64K.
2013-11-05 21:50:18 -05:00
Hugo Villeneuve
ae3a0ccd89 Fix syntax error in comment 2013-11-05 21:50:18 -05:00
Hugo Villeneuve
83d7d5ddbe Do not reset emulator on file load (no ram clear)
Reset only when loading first file at application startup.
2013-11-05 21:50:18 -05:00
Hugo Villeneuve
fb0a9a8db4 Add Timers 0 and 1 to SFR window 2013-11-05 21:50:18 -05:00
Hugo Villeneuve
0f98327ed3 Add option to specify maximum memory sizes 2013-11-05 21:50:18 -05:00
Hugo Villeneuve
4c86604f94 Add view menu option to enable/disable IRAM/XRAM windows 2013-11-05 21:50:18 -05:00
Hugo Villeneuve
3edb6517f8 Add view menu option for selecting bits per row (8/16) 2013-11-05 21:50:18 -05:00
Hugo Villeneuve
ca2a000a22 Add support for bits per row in config file
Also add support for viewing internal and external memory windows
in config file.

These 3 new variables are not yet connected (TODO).
2013-11-05 21:50:17 -05:00
Hugo Villeneuve
bd0627548f Add live option to change windows layout
Restart UI when changing layout. This is working, altough the main window
temporarily disapear in doing so.
2013-11-05 21:50:17 -05:00
Hugo Villeneuve
02656a7a70 Use fixed font for ASCII column 2013-11-05 21:50:17 -05:00
Hugo Villeneuve
42f213fff5 Align memory data columns text on left side 2013-11-05 21:50:17 -05:00
Hugo Villeneuve
45be0d0218 Adjust memory index column header according to number of data columns 2013-11-05 21:50:17 -05:00
Hugo Villeneuve
7657e4d7db Harmonize windows refresh function names 2013-11-05 21:50:17 -05:00
Hugo Villeneuve
1aa4da2dd7 Save vpane position for memory windows 2013-11-05 21:50:17 -05:00
Hugo Villeneuve
d367f394a9 Add external memory window vpaned_mem 2013-11-05 21:50:17 -05:00
Hugo Villeneuve
fcc8caad9c Convert memwin to display internal or external memory 2013-11-05 21:50:17 -05:00
Hugo Villeneuve
7e70fab3bd Use single function to refresh all windows
Use emugtk_UpdateDisplay() to replace individual calls to these functions:
  regwin_Show();
  memwin_DumpD();
  pgmwin_Disasm();
2013-11-05 21:50:17 -05:00
Hugo Villeneuve
b3a099e3ee Code cleanup (tree view store init) 2013-11-05 21:50:17 -05:00
Hugo Villeneuve
aae7cef399 Increase dissassembled instructions lines from 24 to 100 2013-11-05 21:50:17 -05:00
Hugo Villeneuve
7f00cb821f Add red color for current instruction in pgmwin 2013-11-05 21:50:17 -05:00
Hugo Villeneuve
bb59ed1964 Refresh pgmwin after modifying regwin (PC) 2013-11-05 21:50:17 -05:00
Hugo Villeneuve
4093ad22ec Add offset address to memwin dump header 2013-11-05 21:50:17 -05:00
Hugo Villeneuve
3002753538 Remove address parameter when dumping memwin 2013-11-05 21:50:16 -05:00
Hugo Villeneuve
3e67c30ca5 Refactor code for memwin and pgmwin modify
Add common functions int2asciihex and asciihex2int
2013-11-05 21:50:16 -05:00
Hugo Villeneuve
f3f6f52c0e Registers window can now be edited 2013-11-05 21:50:16 -05:00
Hugo Villeneuve
1e334b447f Refresh register window after any memory modification
Banked registers R0 to R7 depend on internal memory content.
2013-11-05 21:50:16 -05:00
Hugo Villeneuve
e224fa1ef2 Memory window can now be edited 2013-11-05 21:50:16 -05:00
Hugo Villeneuve
8dc9dd02e6 Replace macro EMU8051_DEBUG with logging functions 2013-11-05 21:50:16 -05:00
Hugo Villeneuve
7b400e8dd6 Replace custom command-line options processing with argp 2013-11-05 21:50:16 -05:00
Hugo Villeneuve
a38ca01fb6 Add debug log functions 2013-11-05 21:50:16 -05:00
Hugo Villeneuve
04200c3465 Replace custom help->about dialog with gtk_show_about_dialog 2013-11-05 21:50:16 -05:00
Hugo Villeneuve
746f97a65c Add web site url and bug report email to AC_INIT 2013-11-05 21:50:15 -05:00