Commit Graph

43 Commits

Author SHA1 Message Date
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