Commit Graph

330 Commits

Author SHA1 Message Date
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
Kelvin Sherlock
818b60e734 win32 - cleanup warning about int/ptr cast. 2019-03-07 23:35:36 -05:00
Kelvin Sherlock
5e79d2918a static link flag (for easier win32 distribution) 2019-03-07 23:12:52 -05:00
Kelvin Sherlock
f863c4cfa0 quit if the HALT_WANTOQUIT is set (ie, win32 closing the window) 2019-03-05 21:53:28 -05:00
Kelvin Sherlock
76918b362d missing include 2019-03-04 22:18:27 -05:00
Kelvin Sherlock
094f93953e prefer _WIN32 over WIN32. 2019-02-23 17:34:14 -05:00
Kelvin Sherlock
4dbad2493b missing line... 2019-02-23 17:33:56 -05:00
Kelvin Sherlock
67b187e70b prefer _WIN32 over WIN32. 2019-02-23 17:33:38 -05:00
Kelvin Sherlock
69bc724ae8 2 controls Ds needed to exit. 2019-02-23 17:32:00 -05:00
Kelvin Sherlock
52d2c5f509 win32 get_resource_path 2019-02-23 17:31:31 -05:00
ksherlock
97e6f17a31
fixup _WIN32/__CYGWIN__/WIN_SDL #defines 2019-02-21 13:56:57 -05:00
ksherlock
88d3cb9dc7
remove CYGWIN/WIN_SDL defines. 2019-02-21 13:45:35 -05:00
Kelvin Sherlock
b2d6adce69 win32 libraries needed whether GDI or SDL. 2019-02-21 00:34:26 -05:00
Kelvin Sherlock
d12ce862fc win32 sdl build needs scc_windriver. 2019-02-21 00:08:52 -05:00
Kelvin Sherlock
56528ab928 apparently, -DWIN_SOUND was to workaround cygwin not defining _WIN32. But we explicitely -D_WIN32. SMH.
Also, re-order a couple #if trees so SDL takes precedence over WIN32, etc.
2019-02-20 23:47:42 -05:00
ksherlock
adeb2006f7
__USE_W32_SOCKETS moved to parent CMakeLists.txt 2019-02-20 13:48:39 -05:00
ksherlock
516d0e1439
-D__USE_W32_SOCKETS 2019-02-20 13:28:40 -05:00
Kelvin Sherlock
bef27e165e defer to CMake's optimization level. set to release by default. 2019-02-20 00:09:53 -05:00
Kelvin Sherlock
82e976d8e2 add back missing header. 2019-02-20 00:09:25 -05:00
Kelvin Sherlock
3ce34e0e27 lookup addresses for abslong and pc. 2019-02-20 00:09:05 -05:00
Kelvin Sherlock
be9724acfc minor tweaks for nifty list format. 2019-02-20 00:08:21 -05:00
Kelvin Sherlock
367d337674 2 unhandled ^Cs will abort 2019-02-20 00:07:59 -05:00
Kelvin Sherlock
6dd598be0c disassemble prodos mli calls. 2019-02-19 22:18:22 -05:00
Kelvin Sherlock
62dcf4f9d2 clean up socket stuff a little bit to compile better with msys2 2019-02-19 21:57:52 -05:00
Kelvin Sherlock
9f3c0feb39 load tools and gs/os calls from NList.Data 2019-02-19 21:49:35 -05:00
Kelvin Sherlock
58351d1db7 win32 missing strndup 2019-02-19 19:48:39 -05:00
ksherlock
b9e36df2bb
mingw/win32 lacks strndup. 2019-02-18 11:24:08 -05:00
ksherlock
8584df91f5
win32 compiler fixes. 2019-02-18 11:08:57 -05:00
ksherlock
0e9cf9879b
use uintptr_t to cast ptr to int. 2019-02-18 10:56:43 -05:00