Commit Graph

127 Commits

Author SHA1 Message Date
Brad Grantham df7a4df305 don't print about annunciators 2021-01-11 20:25:55 -08:00
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