Commit Graph

78 Commits

Author SHA1 Message Date
Daniel Loffgren
c32d5993c3 Enabled map caching, and disabled heavy debug calls
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@80 64f78de7-aa59-e511-a0e8-0002a5492df0
2016-01-17 09:29:10 +00:00
Daniel Loffgren
4e4be90331 The boot sequence is a little more sensible now, and the messages are better, too.
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@79 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-22 08:13:21 +00:00
Daniel Loffgren
87c8a20489 Automatically load BASIC into memory, if available
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@78 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-22 08:08:31 +00:00
Daniel Loffgren
0b697efa40 Added binary to svn:ignores
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@77 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-21 00:54:10 +00:00
Daniel Loffgren
ef26aa279c Project file updates
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@76 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-21 00:53:41 +00:00
Daniel Loffgren
c4372853bd Added freeze/restore debug command handlers to the debugger
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@75 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-19 23:43:16 +00:00
Daniel Loffgren
047eaf800f Refactored PIA code to bind to a CPU, rather than just the memory bus. This way it can also be in charge of freezing the entire machine state. Also added 2k of character history for buffering video state.
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@74 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-19 23:29:19 +00:00
Daniel Loffgren
c85e809cf2 Put the RUN label back in. Turns out it is real, I just overlooked it.
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@71 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-10 08:51:26 +00:00
Daniel Loffgren
2062acacc4 Corrected addresses in debug script from apple 1 documentation
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@70 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-10 07:26:19 +00:00
Daniel Loffgren
552fb8fcc2 Explain to the user what is happening when the debugger steps over the keyboard data register. Before this only the readiness register would alert the debugger user.
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@69 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-10 05:23:16 +00:00
Daniel Loffgren
0c661a6ebb Always make sure the keyboard buffer is also cleared, to prevent garbage being captured on start
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@68 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-10 05:08:13 +00:00
Daniel Loffgren
39b525ae71 Added a single step on run to escape breakpoints when run immediately from them
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@67 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-10 01:25:30 +00:00
Daniel Loffgren
df221f0440 Adding symbol table script to source control for now, since it's extremely helpful in debugging
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@66 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-09 02:30:40 +00:00
Daniel Loffgren
e015d9c0f1 The nodelay setting for determining whether or not to block on keyboard input is now settable at runtime, in the debugger, using the "nonstop" command.
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@65 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-12-09 02:27:13 +00:00
Daniel Loffgren
0a8dd062aa Implemented breakpoint catching, although it doesn't always seem to work
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@64 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-29 07:45:47 +00:00
Daniel Loffgren
caf0f3b028 Automatically load debugger script named apple1.dbg if it exists
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@63 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-26 23:30:03 +00:00
Daniel Loffgren
379075260f Added "woz" debugger command
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@62 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-26 20:09:56 +00:00
Daniel Loffgren
40eef69b01 Don't reset the keyboard register if set to not trap
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@61 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-26 20:09:27 +00:00
Daniel Loffgren
882da238f4 Added symbol table support for debugger
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@60 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-25 07:58:08 +00:00
Daniel Loffgren
723cfa3362 Added an explicit C compilation rule, so that we can portably compile C files into objects that are in remote directories, and their objects will end up in the same remote directories
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@59 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-23 16:21:10 +00:00
Daniel Loffgren
b4ee501ce0 More properly renamed the register definitions, since the D011 register is for readiness
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@58 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-23 07:32:25 +00:00
Daniel Loffgren
e6bc51edfc Until the map issue is fixed, it's still not necessary to load more than one copy of the ROM, since the FFxx range can operate standalone
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@57 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-23 07:29:18 +00:00
Daniel Loffgren
8060ca4e44 Another typo, causing bad desymbolication
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@56 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-22 02:06:33 +00:00
Daniel Loffgren
1cbb8b2b0b Commented the reset vectors
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@55 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-21 08:36:28 +00:00
Daniel Loffgren
19b40f60f6 Corrected my mistakenly transcribed NMI vector
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@54 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-21 08:35:10 +00:00
Daniel Loffgren
ec1b0c570c Corrected another transcription typo
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@53 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-21 08:20:18 +00:00
Daniel Loffgren
57ffb468bb Fixed clean target to include cleaning the v6502 external, and added $(AS) target to build assembler if needed
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@52 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-21 05:12:53 +00:00
Daniel Loffgren
b8e7f1f8da Adding LICENSE file, which just has a link to the source of the ROM for now
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@51 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-21 05:10:26 +00:00
Daniel Loffgren
cbcb7d6ad8 Added ROM to clean target
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@50 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-21 05:08:13 +00:00
Daniel Loffgren
2861b420bd Added ROM target to Makefile, since it should soon be able to assemble it
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@49 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-21 05:01:17 +00:00
Daniel Loffgren
de7debbf8e Replaced source with source that is actually just transcribed from the original Apple 1 manual
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@48 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-21 04:46:58 +00:00
Daniel Loffgren
1ecbc0e47e Make sure to assign the currentLineText for assembler error printing
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@47 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-20 03:58:59 +00:00
Daniel Loffgren
3fc3bb9f4f Utilize new v6502_map return codes and assert on failure to map
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@46 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-20 02:17:09 +00:00
Daniel Loffgren
83bde50a75 Removed video start routine
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@45 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-20 02:08:25 +00:00
Daniel Loffgren
addb0d97a7 Re-enabled green curses console color
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@44 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-19 07:40:18 +00:00
Daniel Loffgren
581c3824d6 Added a neat message to let the user know that there is a debugger
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@43 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-19 05:36:29 +00:00
Daniel Loffgren
dd3b036157 Enabled curses console scrolling
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@42 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-19 05:29:22 +00:00
Daniel Loffgren
d8d3d30bfb Added suspension tracking to PIA, which allows prompting for input on keyboard reads in the debugger
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@41 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-19 05:16:51 +00:00
Daniel Loffgren
bd321ad1a7 More verbosity around boot process
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@40 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-19 05:11:53 +00:00
Daniel Loffgren
b10c5b5d49 Use the currentFileName to make assembler output nicer
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@39 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-18 18:56:40 +00:00
Daniel Loffgren
37a0afeabb Updated Makefile to support editline and the rest of the new debugger code
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@38 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-18 18:21:33 +00:00
Daniel Loffgren
d8bec0875a include signal header for platforms that wong get SIGWINCH along with histedit
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@37 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-18 08:49:26 +00:00
Daniel Loffgren
32424af82b Explicitly declare C99
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@36 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-18 08:48:43 +00:00
Daniel Loffgren
fb14c09db3 Had to disable color temporarily, but now the console video uses only waddch's, and so is restorable
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@35 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-18 08:35:38 +00:00
Daniel Loffgren
1660b3a08f Adapted PIA code to allow dropping to the debugger via the back tick key
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@34 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-18 08:29:31 +00:00
Daniel Loffgren
0d7a3c032a Use new interactive debugger module from v6502
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@33 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-18 07:16:14 +00:00
Daniel Loffgren
a75d31065c Make sure to print annotated instruction before execution of it, so that the resulting cpu state reflects the action
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@32 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-17 07:28:09 +00:00
Daniel Loffgren
ee0a0ea896 Added uppercase force logic back
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@31 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-17 07:27:36 +00:00
Daniel Loffgren
11ff9bdac9 Don't build rom assembly as part of C target
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@30 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-17 06:29:48 +00:00
Daniel Loffgren
a56a004ec5 Checking in a fixed-up version of the woz monitor source from https://gist.github.com/nobuh/1161983
git-svn-id: svn+ssh://svn.phoenixbox.net/svn/apple1/trunk@29 64f78de7-aa59-e511-a0e8-0002a5492df0
2015-09-17 06:05:22 +00:00