Commit Graph

358 Commits

Author SHA1 Message Date
Kelvin Sherlock
e91201cff4 fixup offset a little bit. 2019-04-06 20:55:05 -04:00
Kelvin Sherlock
a7a0138754 simplify readline a bit. EOF will auto-print a CR if there was a prompt. 2019-04-06 20:54:37 -04:00
Kelvin Sherlock
290f36c4d3 no longer planning on using the debug modes 2019-04-06 20:53:41 -04:00
Kelvin Sherlock
320ab4e486 fixup some bugs with relative address calculation, show error offset, 2019-04-06 14:43:00 -04:00
Kelvin Sherlock
e253200c71 !! to invoke sweet 16 mini assembler. 2019-04-06 13:50:47 -04:00
Kelvin Sherlock
1c1eef4383 mini assembler fixups. 2019-04-06 13:50:29 -04:00
Kelvin Sherlock
5d206ac4c0 sweet 16 assembler. 2019-04-06 01:18:41 -04:00
Kelvin Sherlock
5c903ffeb1 change disasm format to put byte first. 2019-04-05 19:13:11 -04:00
Kelvin Sherlock
0a6fd86d78 don't bother compiling old TFE code. 2019-04-05 18:44:38 -04:00
Kelvin Sherlock
e21cfbb37a 0/1>mx to set both m and x bits. 2019-04-05 18:44:22 -04:00
Kelvin Sherlock
89d8b3efcf disassembler - inline debug name support.
See IIgs technote #103.
2019-04-05 18:43:54 -04:00
Kelvin Sherlock
237577d886 sweet 16 asm [wip] 2019-03-27 17:02:12 -04:00
Kelvin Sherlock
91c24bbf8b wasn't setting stderr fileno... 2019-03-26 23:37:16 -04:00
Kelvin Sherlock
3ef3173c36 Merge branch 'master' of https://github.com/ksherlock/gsplus 2019-03-26 23:16:27 -04:00
Kelvin Sherlock
30da497087 win32 console debugger
may need a little work, still.
2019-03-26 23:15:56 -04:00
Kelvin Sherlock
eabcc72005 missing linux headers. 2019-03-25 16:34:31 -04:00
Kelvin Sherlock
2a82de3d54 remove unused comments/defines. 2019-03-24 11:25:50 -04:00
Kelvin Sherlock
c677f0f894 common code for i/w/h commands. 2019-03-24 03:11:16 -04:00
Kelvin Sherlock
bda785f98d add "w" command. 2019-03-23 20:49:41 -04:00
Kelvin Sherlock
07eeaf24b0 GSString-ify debug templates. 2019-03-23 00:28:39 -04:00
Kelvin Sherlock
90bf447606 debug templates - improved support for pstring/gsstring/cstring. 2019-03-22 00:14:09 -04:00
Kelvin Sherlock
6f7d6629bb memory breakpoints - proper handling for wrapped addresses. 2019-03-22 00:13:38 -04:00
Kelvin Sherlock
bf09880caf fix memory breakpoint range checking.
It's still broken for page/bank wrapped data.  Eg, sta <$ff stores @ $ff and $00
2019-03-21 22:12:30 -04:00
Kelvin Sherlock
5da4e5c39f fix mvp/mvn operand order. 2019-03-21 22:08:39 -04:00
Kelvin Sherlock
7e0963e12c remove old makefiles. 2019-03-21 18:31:15 -04:00
Kelvin Sherlock
6c38f597fd use ] as the debug shell prompt. 2019-03-21 18:05:04 -04:00
Kelvin Sherlock
ec0c255975 debug shell - only set the ignore_brk/mp/bp IF the pc hasn't changed. 2019-03-21 18:04:51 -04:00
Kelvin Sherlock
fb2dee9b9b add settings snytax.
0>setting
1>setting

where "setting" is:
brk - enable/disable GS+ brk support
cop - enable/disable GS+ cop support
e/m/x - set psr for disassembly support.
2019-03-20 00:16:20 -04:00
Kelvin Sherlock
96ecfb3b0d next command - step over brk/cop instructions. 2019-03-20 00:14:04 -04:00
Kelvin Sherlock
483d92d53a update TODO comment 2019-03-19 21:31:06 -04:00
Kelvin Sherlock
bf4c1bdc0e use vt100 escape codes (in the future, should switch to termcap/terminfo) to erase previous line when stepping to clean up the display. 2019-03-19 21:30:52 -04:00
Kelvin Sherlock
4974c36458 print an extra newline after a ^C 2019-03-19 19:17:26 -04:00
Kelvin Sherlock
b9bab83d6a check for perl/re2c programs. 2019-03-19 19:07:48 -04:00
Kelvin Sherlock
7aea2e56f2 - tweak ^D newlins
- %d was incorrect
- template pointers were 16-bit.
2019-03-19 00:38:33 -04:00
Kelvin Sherlock
d7a92f4441 cop/brk debugger support...
cop=1
brk=1

to enable brk/cop support.  cop/brk instructions will be caught *BEFORE* execution and drop into the debugger shell.  step/go/next will execute the instruction as normal.  %pc++ will skip over the instruction.
2019-03-18 17:06:14 -04:00
Kelvin Sherlock
7b9da08d72 debug shell - print newline after control-D 2019-03-18 17:03:04 -04:00
Kelvin Sherlock
027689aea5 set page protection for temporary breakpoints. 2019-03-13 20:15:17 -04:00
Kelvin Sherlock
e07f0a99e7 linux headless build, default the gui debugger to off 2019-03-13 20:14:04 -04:00
Kelvin Sherlock
2554364910 add SIGINFO / SIGUSR1 signal to headless driver.
On *BSD and MacOS X, typing ^T in the terminal sends a SIGINFO which will dump the text screen to stdout.
On Linux (as well as *BSD, etc) `kill -SIGUSR1 pid` will do the same.
2019-03-12 20:30:21 -04:00
Kelvin Sherlock
0e5f941cd5 debugger - add n (next) command
similar to s/step but skips OVER jsr/jsl commands.
implemented via a new temporary breakpoint list.
2019-03-12 18:57:59 -04:00
Kelvin Sherlock
dd3a00a734 bug 2019-03-08 01:30:33 -05:00
Kelvin Sherlock
244659b0b1 win32 - prototype for low-level event handler. 2019-03-08 01:25:28 -05:00
Kelvin Sherlock
c5c0a228ab Add Low-Level hook for Windows keyboard events
windows, alt, and control keys are handled separately, before windows can get a chance to act on them. This makes win usable as an option key and prevents things like alt-esc from minimizing the window.
Some combos (alt-control-delete, windows-L, etc) cannot be blocked.
2019-03-08 01:13:30 -05:00
Kelvin Sherlock
3e6f97c3ea Merge branch 'master' of https://github.com/ksherlock/gsplus 2019-03-08 00:54:12 -05:00
Kelvin Sherlock
a0e92cd1ff Merge branch 'mmu' 2019-03-08 00:52:48 -05:00
Kelvin Sherlock
731d5c3a5b GCC's documentation states that __LP64__ is defined if sizeof(void *) == 8 and sizeof(int) == 4. Well, under mingw64 that doesn't seem to be true. And it causes lots of warnings.
Anyhow, as of c99, stdint.h defines a type specifically for casting pointers to integers. It also defines fixed size types so no need to guess or sniff compilers.
2019-03-08 00:42:25 -05:00
Kelvin Sherlock
6ccf74f60d merge other stuff 2019-03-08 00:30:19 -05:00
Kelvin Sherlock
1a64d4c979 temporary breakpoints, part 1. 2019-03-07 23:57:03 -05:00
Kelvin Sherlock
5a90ab355a clean up some buffer overflows 2019-03-07 23:56:33 -05:00
Kelvin Sherlock
1a27ca5435 wip 2019-03-07 23:56:15 -05:00