Commit Graph

126 Commits

Author SHA1 Message Date
Brad Grantham
2e095b24f6 read colors from generated palette; checkpoint DHGR work 2021-01-02 09:45:49 -08:00
Brad Grantham
b908e772ef only invalidate track if drive wasn't selected before 2021-01-02 07:53:46 -08:00
Brad Grantham
915a359215 Redesign stepper motor emulation, now boots ProDOS
Add some names for MMIOs so we can get slightly better debug output
2020-12-31 11:00:09 -08:00
Brad Grantham
43c3c8a704 fix 80col by repage_regions also on read softswitches 2020-12-27 22:03:56 -08:00
Brad Grantham
28d4f712a0 improve bank switch logic, trying to fix 80 col 2020-12-27 20:55:26 -08:00
Brad Grantham
1271db3d95 fix slow floppy
Read data even if floppy motor is off?!?!

invert sense of CXROM

make some arrays const

improve debugger slightly
    fix disassembly
    add breakpoints
    add "step"
2020-12-26 23:03:13 -08:00
Brad Grantham
e2008da797 init members valgrind warned about; be brief in cpu state 2020-12-20 14:49:46 -08:00
Brad Grantham
3c1b43f2ad use more well-defined int types 2020-12-16 23:03:43 -08:00
Brad Grantham
65d8f90cf7 on reset turn floppy off; MAINboard resets all boards; fix #47 2020-12-14 19:48:17 -08:00
Brad Grantham
13ece22f09 only load new track when read 2020-12-13 15:44:22 -08:00
Brad Grantham
7345f28aa1 make head state be per-drive 2020-12-12 10:17:13 -08:00
Brad Grantham
8f04f04543 read tracks from disk on demand 2020-12-12 09:44:44 -08:00
Brad Grantham
b99576c1e0 read sectors from disk instead of reading whole floppy 2020-12-12 08:38:58 -08:00
Brad Grantham
d20991ae8e use a function to nybblize sector 2020-12-11 22:02:52 -08:00
Brad Grantham
ca58c87abf make some consts constexpr and int for warnings 2020-12-10 17:19:39 -08:00
Brad Grantham
2022b375bd more const char*, only issue mode change if there was a change 2020-12-06 20:08:03 -08:00
Brad Grantham
38f64dcd47 disable LK_HACK 2020-12-05 17:31:46 -08:00
Brad Grantham
c81a6a8dce Apply some fixes from Rocinante port
More const on char*s
Remove virtual from MAINboard read and write and just call them directly
Move up regions slightly so they might perform better
2020-12-05 17:19:21 -08:00
Brad Grantham
fd1e15a595 add clock text box 2019-02-18 08:11:22 -08:00
Brad Grantham
e1ea979006 remove old comment 2019-02-10 22:54:53 -08:00
Lawrence Kesteloot
c22645848a Fix usage message. 2018-09-25 18:22:00 -07:00
Brad Grantham
1dc3fe3df8 extract CPU6502 into single header implementation 2018-09-08 17:36:16 -07:00
Brad Grantham
5548039900 make BUS member of CPU6502 instead of parameter of methods 2018-09-08 17:23:38 -07:00
Brad Grantham
5f1a3be90d templatize CPU6502 in anticipation of single-header 2018-09-08 17:18:25 -07:00
Brad Grantham
4e305cb6ad templatize CPU6502 in anticipation of single-header 2018-09-08 17:17:09 -07:00
Brad Grantham
53e8b802c4
Merge pull request #34 from bradgrantham/gif
Merge recording animated GIFs facility from gif branch
2018-08-10 23:47:51 -07:00
Brad Grantham
8e47791e12 Fix BRA imm instruction, add 0xD2 - CMP (zpg)
I thought 0x80 was a weird NOP imm, but it's BRA.

Implement 0xD2 - CMP (zpg)

Move all 65C02 instruction implementations together

Update disassembler for 0xD2 - CMP (zpg)
2018-08-10 23:25:20 -07:00
Brad Grantham
2c437b27da record at 50ms simulation per frame
Change bare "5" to more descriptive "recording_frame_duration_hundredths".

Create APPLE2Einterface events that allow interface to limit main loop speed.

Implement rate limiting on start_record and release limiting on stop_record.

During recording, simulation will not run at clock rate.
2018-08-08 16:18:16 -07:00
Brad Grantham
8567ad7244 make CPU6502::cycles[] class-static 2018-08-08 12:35:38 -07:00
Lawrence Kesteloot
b5918819af Fix off-by-two bug with LK_HACK. 2018-08-07 12:27:46 -07:00
Brad Grantham
49804018cc Asert if cycles[] is not set for insn 2018-08-07 12:21:43 -07:00
Brad Grantham
183aea95fb Add instruction cycle count for ORA (ind) 2018-08-06 00:39:11 -07:00
Brad Grantham
e938af1349 implement STZ zpg and PHX 2018-08-06 00:36:43 -07:00
Lawrence Kesteloot
7d346a06b3 Fix overflow in LK_HACK. 2018-08-06 00:18:40 -07:00
Brad Grantham
3c1017c60b implement STZ abs, fix -debugger 2018-08-06 00:15:58 -07:00
Lawrence Kesteloot
43448014b1 Add ORA (ind) 65C02 instructions. 2018-08-05 23:17:03 -07:00
Brad Grantham
53f231573e ameliorate popping somewhat 2018-08-03 23:58:20 -07:00
Lawrence Kesteloot
dcbea11c33 Pass base address in LK_HACK. 2018-08-03 14:27:00 -07:00
Brad Grantham
37864dea0f mask bus access to 16-bit, add -mute option 2018-08-02 16:49:51 -07:00
Lawrence Kesteloot
bfe64192a3 Parse ld65 map file for symbolic debugging. 2018-08-02 16:07:48 -07:00
Lawrence Kesteloot
14a84bdb6a Add LK hack to disassemble bytes passed at 0xBFFF. 2018-08-02 16:07:48 -07:00
Brad Grantham
4da1e4a2c7 undo enabling of TEXT on startup 2018-08-01 12:00:18 -07:00
Brad Grantham
eaffc29115 fix regular mode changes, disable prints 2018-08-01 11:26:49 -07:00
Brad Grantham
e09d49c323 also send current clock to iterate 2018-08-01 09:29:41 -07:00
Brad Grantham
48be02beb0 add initial support for recording softswitch history by byte clock 2018-08-01 00:42:31 -07:00
Brad Grantham
55bbd69e28 move to per-clock mode setting history within frame
delete set_switches()

Pass history of mode settings to iterate()
2018-07-31 15:33:51 -07:00
Brad Grantham
114af20792 fix hgr scanout addresses, modulo 0x2000 2018-07-31 14:51:51 -07:00
Brad Grantham
9d5d4b4a35 initial floating bus implementation 2018-07-31 14:31:36 -07:00
Brad Grantham
bdcf50f890 implement 0xB2, LDA(zp) 2018-07-31 13:42:09 -07:00
Brad Grantham
992864d5a0 remove debug print for $6000 2018-07-31 12:09:35 -07:00