Commit Graph

27 Commits

Author SHA1 Message Date
mebibytedraco
da4adbb916 Refactor monitor/commands/commands.asm 2023-12-22 23:16:57 -05:00
mebibytedraco
e28e8eceb0 Move register printout into new 'reg' command 2023-12-22 17:12:22 -05:00
mebibytedraco
09c0d8c215 Remove save/restore of r0-r31 from monitor code
Because the monitor is now only called from system_breakpoint_handler
(which already saves and restores all of the registers), it is now
unneccessary to save and restore all of the registers in the monitor.
2023-12-22 16:34:06 -05:00
mebibytedraco
b1aa77aa70 Refactor system_breakpoint_handler
Modifies system_breakpoint_handler so that all fox32 registers are saved
on the stack in a predictable order, and they are printed using a loop.
Also comments out two seemingly unneccessary additions in the monitor's
hex printing functions.
2023-12-22 15:20:53 -05:00
Ry
67e448abd3 monitor: Add load command 2023-03-30 17:36:48 -07:00
Ry
5729ff6c71 monitor: jump command now does an actual exit and jump 2023-03-30 17:36:15 -07:00
Ry
cf456659d6 monitor: Save all registers 2023-03-30 16:15:29 -07:00
jn
34589e501f Make use of data.strz
The ROM is the same before and after this commit:

$ sha256sum fox32-orig.rom fox32.rom
75b169dafbf7dc77cd114f7d05d9c1e8459122bc2bd4178a90aba6fd8dc7372e  fox32-orig.rom
75b169dafbf7dc77cd114f7d05d9c1e8459122bc2bd4178a90aba6fd8dc7372e  fox32.rom


The conversion was performed with a few sed commands and manually
unrolled in monitor/keyboard.asm:

find -name '*.asm' | xargs sed -i -e 's/data.str \("[^"]*"\) data.8 0$/data.strz \1/g'
find -name '*.asm' | xargs sed -i -e 's/data.str \("[^"]*"\) data.8 0 /data.strz \1 /g'
find -name '*.asm' | xargs sed -i -e 's/data.str \("[^"]*"\) data.8 0x00 /data.strz \1 /g'
2023-02-01 23:49:23 +01:00
jn
a6be83b99e Fix a bunch of typos
No functional change.
2023-01-21 11:41:14 +01:00
Ry
2893b71847 Add CTRL key definition 2023-01-20 23:29:51 -08:00
Ry
dafd947987 Redraw the monitor console if invoked while already in the monitor 2022-10-27 19:13:50 -07:00
Ry
2720d0ddff Ignore the pushed value in interrupts and exceptions
Also handle more types of exceptions.
*** First commit compatible with the C rewrite!! ***
2022-10-26 21:50:29 -07:00
Ry
93093fbbcc monitor: Drastically improve the scrolling performance 2022-09-02 14:24:46 -07:00
Ry
1133e97e02 monitor: Return early if invoked while already in the monitor 2022-07-26 17:48:29 -07:00
Ry
7b5d395388 monitor: Make the background black instead of grey 2022-05-22 14:53:21 -07:00
Ry
3de7fd9567 monitor: Add a (very hacky) text cursor 2022-05-12 18:00:52 -07:00
Ry
e38d1df807 monitor: Don't allow backspacing past the start of the prompt 2022-05-12 17:23:01 -07:00
Ry
3247a29d2a monitor: Add jump and list commands 2022-05-12 15:10:24 -07:00
Ry
d08dfd527d monitor: Add set.SZ command 2022-05-01 18:03:04 -07:00
Ry
3ec126f877 monitor: Argument parsing 2022-04-27 13:45:45 -07:00
Ry
292718d866 monitor: Print error on invalid command 2022-04-27 13:41:44 -07:00
Ry
51f167f253 monitor: Attempt to speed up console scrolling 2022-04-25 22:27:01 -07:00
Ry
b87b5a3448 monitor: Proper command parsing 2022-04-25 21:46:47 -07:00
Ry
ae3d24922b monitor: Very basic argument parsing 2022-04-23 22:33:15 -07:00
Ry
408bd6c91d monitor: handle shift and caps keys 2022-04-23 15:01:47 -07:00
Ry
9769b10df6 fox32rom: Fix a few mistakes with the monitor 2022-04-18 15:27:27 -07:00
Ry
92f23e91a6 fox32rom: Start working on a ROM monitor 2022-04-18 14:48:04 -07:00