Commit Graph

296 Commits

Author SHA1 Message Date
Brad Grantham f2e79b7ad2 Fix README formatting 2016-11-15 16:51:36 -08:00
Brad Grantham 71c05d2200 Expand README 2016-11-15 16:51:04 -08:00
Brad Grantham a4724fb719 Make CTRL-RESET and OPENAPPLE-CTRL-RESET work
Add "reset" command to emulate CTRL-APPLE by invoking RESET
Add "reboot" command to emulate OPENAPPLE-CTRL-APPLE by invoking NMI
Add MAINboard::reset to set softswitches to power-on-defaults
Add bus_controller::reset
Implement 6502 IRQ, BRK, NMI
Add INC zpg, X
Add LDA (ind, X)
Add ADD abs
2016-11-15 10:39:38 -08:00
Brad Grantham 8804d363f8 use strcmp instead of == 2016-11-15 10:34:12 -08:00
Brad Grantham d74e6f4f5d Better textport output and timing
Only output the textport every 16ms, and only if it's changed.
Be more consistent with throttling to ~1.023MHz by using a constant.
Fix bug where timeslice wasn't reduce when # of instructions was reduced
2016-11-14 13:41:57 -08:00
Brad Grantham 97f1091881 A free Apple //e font - use PrintChar21.ttf 2016-11-13 13:51:19 -08:00
Brad Grantham 3765decf3a another SBC 2016-11-13 12:41:13 -08:00
Brad Grantham 20863ee77c Line nums work, sin() works
Implement SBC zpg, X
Fix other SBCs
Implement LDX abs, Y
2016-11-12 14:41:11 -08:00
Brad Grantham bfac8e9736 CPU fixes from "lockstep" branch; PRINT 5 works
Merge lots of instruction improvements and fixes
Lift keyboard processing out of MAINboard
Make disassembler return a string - could be inserted into a queue for
  later printing if desired
2016-11-12 13:20:10 -08:00
Brad Grantham c52cb2939e Fix CX00 ROMs, implement alternate 6502
Add fake6502.c as alternate CPU implementation
Set up all regions in CX00 with softswitches according to my understanding of "Inside the Apple //e"
2016-11-11 15:18:08 -08:00
Brad Grantham 249328b256 Tighten unhandled banking
Add "banking" debugger command to exit the next time a bank is switched
Add abort_on_memory_fallthrough flag to force exit if memory access unhandled
Consolidate flag changes for SBC and ADC to "set_flags" command
Change "sw" member of SoftSwitch to "enabled" for readability
Change name of c{1,3}00_rom to rom_C{1,3}00 for consistency with rom_{D,E}000
Mark HIRES and MIXED flags as implemented; let them be caught in display
Add DEBUG_WARN flag
2016-11-11 05:54:59 -08:00
Brad Grantham 32899bad46 Merge branch 'master' of https://github.com/bradgrantham/apple2e 2016-11-10 19:33:35 -08:00
Brad Grantham 3056f0fcd0 implement bank-switching; not fully tested 2016-11-10 19:33:27 -08:00
Lawrence Kesteloot 68822ed327 Revert "Make ESC quit."
This reverts commit 67df4b1f56.
2016-11-09 12:10:08 -08:00
Lawrence Kesteloot 67df4b1f56 Make ESC quit. 2016-11-09 12:05:28 -08:00
Brad Grantham a1c57ac947 fix textport 2016-11-09 07:05:18 -08:00
Brad Grantham 4e4c957704 compile on Linux; clean up on exit 2016-11-09 03:46:26 -08:00
Brad Grantham 635259549a Fix SZP, implement C3ROM
SZP is a RAM, not a ROM
Improve backed_region by using a RAM/ROM enum instead of a readonly boolean
irom is now i1rom (backing 0xC100)
Add i3rom backing 0xC300 and implement C3ROM switch
Add -debugger flag to start in the debugger
Don't step CPU when "debug" command processed
Remove "go_verbose" function
2016-11-08 21:43:01 -08:00
Brad Grantham 4d77ec6bb1 Improve encapsulation of backed_region
Allow a lambda to enable or disable the region
pass a name
Put them in a vector on initialization so they can be probed in a for loop

Currently has a bug - regresses
2016-11-08 16:41:30 -08:00
Brad Grantham c02145836d Add memory_region object
is a region but has optionally readonly backing-store
2016-11-08 13:35:35 -08:00
Brad Grantham dcefd4282c ignore objects 2016-11-08 13:23:26 -08:00
Brad Grantham 24853393ea Clean up instruction loop, more cleaning up
"clean" Makefile target
Rearrange DEBUG constants so least bits trigger output with most impact
New "implemented" bool SoftSwitch
Add page2 handling to textport (untested)
Separate out "region" encapsulating address start and end for convenience
Factor out "set_flags()" for most common "flag_change()" sequences
Move comment with instruction opcode onto case for compactness
Remove old disassembly in favor of open source disassembly
2016-11-08 13:22:46 -08:00
Brad Grantham 7ad39f891d Modified for interactivity
Added peek_key and clear_strobe so that an interrupt key can be
probed by main loop
2016-11-07 21:22:49 -08:00
Brad Grantham 421adb1f28 use disassembler 2016-11-07 21:22:21 -08:00
Brad Grantham 88bcde4977 disassembler in function 2016-11-07 21:22:08 -08:00
Brad Grantham e5da87770c Add BVC, another ROR, CLV, apple2.rom runs further 2016-11-07 11:39:25 -08:00
Brad Grantham ac5d0a6084 Merge branch 'master' of https://github.com/bradgrantham/apple2e 2016-11-07 10:46:04 -08:00
Brad Grantham dabcc14703 Throttle to about 1MHz
Run about as many 6502 instructions as can run in .1 seconds running at 1MHz, measure the duration, and then sleep the difference between the duration and .1 seconds of wall clock time.
2016-11-07 10:44:29 -08:00
Lawrence Kesteloot e82162163a Add disassembler, for reference. 2016-11-06 15:43:59 -08:00
Brad Grantham 65ef5c3b8d more instructions 2016-11-06 15:41:18 -08:00
Lawrence Kesteloot cd7dd66e5e Integrate keyboard. 2016-11-06 14:37:20 -08:00
Brad Grantham 21a5e8f112 another LSR and another EOR 2016-11-06 14:18:17 -08:00
Brad Grantham dcc884487e another LDA and another LDY 2016-11-06 14:14:17 -08:00
Brad Grantham 484c94df98 another SBC and another CPY 2016-11-06 14:10:46 -08:00
Lawrence Kesteloot 8a0a95e98e Add Apple 2e ROM from elsewhere. 2016-11-06 14:03:08 -08:00
Lawrence Kesteloot c4506c80e5 Add keyboard module. 2016-11-06 13:57:48 -08:00
Brad Grantham 6951e81c35 more instructions 2016-11-06 13:55:29 -08:00
Brad Grantham 2b3874879e CMP abs,Y 2016-11-06 13:30:23 -08:00
Brad Grantham f9dbf8a704 more instructions 2016-11-06 13:27:01 -08:00
Brad Grantham f50ef091a5 SPKR, EOR, LDY zpg 2016-11-06 12:44:32 -08:00
Brad Grantham 8b8c526679 language standard 2016-11-06 12:40:41 -08:00
Brad Grantham 25d03dc960 lots of instructions 2016-11-06 12:37:19 -08:00
Brad Grantham 45cc6caa5d Apple //e ROM, maybe? 2016-11-06 12:37:08 -08:00
Brad Grantham 7edd74122f soft switch and IO descriptions 2016-11-06 12:36:54 -08:00
Brad Grantham 033509b566 Incomplete Apple //e emulator 2016-11-06 00:53:43 -07:00
Brad Grantham 9ddb1c80d7 first commit 2016-11-05 18:05:46 -07:00