Thomas Harte
16baa05aec
Correct type.
2024-01-17 09:43:44 -05:00
Thomas Harte
108c584ddb
Comment out unused macros.
2024-01-16 23:40:52 -05:00
Thomas Harte
a3d37640aa
Switch include guards to #pragma once
.
2024-01-16 23:34:46 -05:00
Thomas Harte
a315deb60c
Eliminate palette macro.
2024-01-16 14:32:04 -05:00
Thomas Harte
9ea71c97db
Consolidate on std::array.
2024-01-16 14:28:15 -05:00
Thomas Harte
a047c6493a
Eliminate joystick macros.
2024-01-16 14:26:55 -05:00
Thomas Harte
3ab6953246
Avoid use of raw pointers in machine creation.
2024-01-12 22:03:19 -05:00
Thomas Harte
ed91956c30
Add missing #include.
2024-01-04 11:21:32 -05:00
Thomas Harte
24d64bf788
ROM is never shadowed; also add assert
.
2024-01-04 11:17:20 -05:00
Thomas Harte
386f572e9a
Add assert.
2024-01-04 11:11:26 -05:00
Thomas Harte
dae80217bc
Adjust names of the newly-private.
2024-01-04 10:36:33 -05:00
Thomas Harte
bfbaebb661
Improve const correctness.
2024-01-04 10:29:38 -05:00
Thomas Harte
4affbe7556
Relocate using
.
2024-01-04 10:28:41 -05:00
Thomas Harte
c151a73059
Remove dead srand
.
2024-01-04 10:25:39 -05:00
Thomas Harte
ae48f05c80
Shuffle most of the MemoryMap ugliness into a source file.
2024-01-04 10:25:27 -05:00
Thomas Harte
cd7a152bed
Remove a lot of dead logging detritus.
2024-01-04 09:59:46 -05:00
Thomas Harte
9cc37945b7
Avoid over-logging.
2024-01-04 09:57:01 -05:00
Thomas Harte
cf00a709ec
Be consistent in shadowing physical addresses.
2024-01-03 15:02:54 -05:00
Thomas Harte
bbaaa520c8
Eliminate MemoryMap access macros, fix tests target.
2024-01-03 13:21:39 -05:00
Thomas Harte
d01c306187
Pull PagingType::Main
to top, eliminate macros.
2024-01-03 11:40:04 -05:00
Thomas Harte
2447029631
Don't page if acknowleding interrupts.
2024-01-02 22:23:40 -05:00
Thomas Harte
34b98be6d4
Merge branch 'master' into CRTC16bit
2024-01-01 22:34:48 -05:00
Thomas Harte
344fec0683
Fix Apple II inverse text errors.
2024-01-01 22:08:06 -05:00
Thomas Harte
26123bf399
Mostly hide state.
2024-01-01 15:15:40 -05:00
Thomas Harte
2698ac2d0f
Comment and clarify.
2024-01-01 09:33:20 -05:00
Thomas Harte
a58f643b4d
Improve repeat behaviour.
2023-12-31 15:21:20 -05:00
Thomas Harte
1b5b3e575c
Add repeat-only functionality.
2023-12-29 14:45:48 -05:00
Thomas Harte
ffb992d04a
Erase done TODO.
2023-12-28 15:07:39 -05:00
Thomas Harte
9344f6a824
Indicate whether a keypress is a repeat. Treat appropriately in the Apple II.
2023-12-28 15:05:55 -05:00
Thomas Harte
a617f7305a
Move personality into type.
2023-12-27 16:15:52 -05:00
Thomas Harte
574de0dbf3
Further reduce state.
2023-12-27 11:25:47 -05:00
Thomas Harte
3793fbd978
Remove much unused storage; add virtual destructor.
2023-12-27 11:14:08 -05:00
Thomas Harte
d6073e0407
Fix typo, add bonus comment.
2023-12-27 10:52:43 -05:00
Thomas Harte
001b161568
Treat speed as more of a runtime selection.
2023-12-27 10:44:51 -05:00
Thomas Harte
11c7f2ee6e
Make GlaTICK optional.
2023-12-27 10:10:42 -05:00
Thomas Harte
29ed449373
Add EGA and VGA ROMs.
2023-12-27 10:05:41 -05:00
Thomas Harte
14e9ae014c
Remove caveman log.
2023-12-25 18:44:11 -05:00
Thomas Harte
16b646ad2e
Treat reset as a continuing state.
2023-12-25 18:43:35 -05:00
Thomas Harte
fc9bea5b32
Iterate forwards.
2023-12-25 14:58:01 -05:00
Thomas Harte
0537e59486
Add RAM.
2023-12-25 14:35:24 -05:00
Thomas Harte
f58ab0d00d
Default to 24-hour mode.
2023-12-24 17:37:52 -05:00
Thomas Harte
bf9743cb38
Keep as regular int.
2023-12-24 14:16:12 -05:00
Thomas Harte
3e328bed61
Be overt about jump size, albeit without internal rigour.
2023-12-24 14:11:41 -05:00
Thomas Harte
54f1c31c94
Apply changes on trailing edges only.
2023-12-22 18:38:43 -05:00
Thomas Harte
85f814c632
Attempt to build fixed operations into type.
...
This simplifies callees and should make all helper functions automatically able to optimise themselves for fixed operations.
2023-12-21 23:08:18 -05:00
Thomas Harte
213dfe037d
Shift operation stuff into its own namespace, making data_select_active a free function.
2023-12-21 16:03:53 -05:00
Thomas Harte
faaa89bb67
Eliminate all reference to EmuTOS.
2023-12-21 15:28:45 -05:00
Thomas Harte
98be6e690f
Fully expose the PC to SDL, etc.
2023-12-21 13:01:41 -05:00
Thomas Harte
abea3d10cc
Merge pull request #1270 from ryandesign/MacSDL
...
SDL build improvements
2023-12-18 21:58:30 -05:00
Thomas Harte
a779b4668e
Merge pull request #1269 from ryandesign/typos
...
Fix typos
2023-12-18 21:56:23 -05:00
Thomas Harte
08287edd61
Don't disable the colour burst in mixed mode.
2023-12-18 16:26:02 -05:00
Ryan Carsten Schmidt
5ef6b190af
Fix typos
2023-12-16 03:53:07 -06:00
Ryan Carsten Schmidt
d12316dfcf
Change phase from int to uint8_t
...
output_colour_burst expects a uint8_t so may as well make that clear.
2023-12-15 04:49:13 -06:00
Ryan Carsten Schmidt
81ad864659
Fix OpenGL Apple II colors
...
Adjust phase by 90 degress.
Closes #872
2023-12-15 04:48:32 -06:00
Thomas Harte
5033d2046a
Support auto-EOI.
2023-12-12 14:02:46 -05:00
Thomas Harte
2db04eb671
Add TODO list.
2023-12-12 10:59:43 -05:00
Thomas Harte
0c98a78bb5
Support specific EOIs.
2023-12-12 10:55:49 -05:00
Thomas Harte
d523242e08
Add TODO.
2023-12-12 09:35:05 -05:00
Thomas Harte
070f8d8bc3
Simplify control flow.
2023-12-12 09:29:28 -05:00
Thomas Harte
add3257258
Switch to using a Parser
rather than duplicating one.
2023-12-11 19:13:37 -05:00
Thomas Harte
05bfab47d2
Merge branch 'master' into PCHD
2023-12-10 23:15:33 -05:00
Thomas Harte
7b9cc2332e
Extend amount of time it takes keyboard to reset.
2023-12-10 22:44:24 -05:00
Thomas Harte
04d75a3ab8
Return proper day-of-the-month value.
2023-12-10 22:44:08 -05:00
Thomas Harte
98e05fb0e3
Introduce high-density tracks.
2023-12-10 22:17:23 -05:00
Thomas Harte
f823310fe3
Add an appropriate crop.
2023-12-08 14:29:23 -05:00
Thomas Harte
604fca7fb1
Revise colour burst phase guess.
2023-12-08 11:55:00 -05:00
Thomas Harte
e703721271
Tie snow avoidance to avoiding DEN.
2023-12-08 11:02:41 -05:00
Thomas Harte
664890cead
Expose speed as an option.
2023-12-08 10:46:59 -05:00
Thomas Harte
3a103217d1
Add a compiletime 'turbo' flag for sort-of-80286 speeds.
2023-12-08 09:38:55 -05:00
Thomas Harte
4bfde2f30f
Mostly silence PC.
2023-12-07 22:11:49 -05:00
Thomas Harte
2966a82690
Merge pull request #1258 from TomHarte/DiskWrite
...
Respond appropriately if a write is attempted.
2023-12-07 22:08:07 -05:00
Thomas Harte
d61d80afec
It seems that write protection ends in not-ready.
2023-12-07 16:50:12 -05:00
Thomas Harte
1985d7da6a
Do something on a write rather than nothing.
2023-12-07 16:45:21 -05:00
Thomas Harte
75b6030516
Don't lose brown upon a blink.
2023-12-07 14:53:59 -05:00
Thomas Harte
e691cc8723
Retain dark yellow for composite output.
2023-12-07 14:21:09 -05:00
Thomas Harte
c5745f71f6
Reduce repetition, map dark yellow to brown.
2023-12-07 13:11:20 -05:00
Thomas Harte
71069bef0f
Correct get_scaled_scan_status.
2023-12-07 12:18:03 -05:00
Thomas Harte
8608f0f89d
Adjust CGA clocking down by 1/7th.
2023-12-07 12:05:15 -05:00
Thomas Harte
fc63fcb751
Unify usages of output_level
for border.
2023-12-07 11:04:18 -05:00
Thomas Harte
ad78a03300
Default to CGA40 if starting a new composite PC.
2023-12-07 10:14:06 -05:00
Thomas Harte
0f22ee5de4
Add TODO.
2023-12-07 10:08:43 -05:00
Thomas Harte
83cfacc0a5
Update TODOs.
2023-12-07 10:03:52 -05:00
Thomas Harte
ef0c3549d2
Attempt but fail to indicate PM.
2023-12-06 23:28:16 -05:00
Thomas Harte
e3119a4904
Hack in read-only versions of the main registers.
2023-12-06 23:25:34 -05:00
Thomas Harte
5fde3b8d5d
Wire up a stub RTC plus appropriate option ROM.
2023-12-06 22:56:09 -05:00
Thomas Harte
b385e6edad
Revise guess as to address wrapping.
2023-12-06 22:03:24 -05:00
Thomas Harte
8645a4b7b1
Walk further towards user display configuration.
2023-12-06 14:44:59 -05:00
Thomas Harte
ff000a5792
Support remainder of colour control.
2023-12-06 14:38:43 -05:00
Thomas Harte
1c7f8841f4
Avoid potential lengthy startup; work towards display option.
2023-12-06 13:55:41 -05:00
Thomas Harte
fd298ffbe9
Remove dead TODO.
2023-12-06 13:15:36 -05:00
Thomas Harte
987a5dbfbf
Honour monochrome flag.
2023-12-06 13:15:17 -05:00
Thomas Harte
0bb74f405f
Ensure lines are in-phase with the NTSC colour subcarrier.
2023-12-06 13:12:58 -05:00
Thomas Harte
1aa168054e
Add a phoney colour burst.
2023-12-06 13:10:28 -05:00
Thomas Harte
6d7c6de32f
Fix flush_pixels for 640px mode.
2023-12-06 11:50:16 -05:00
Thomas Harte
d3021e8c90
Attempt _something_ for 640px mode.
2023-12-06 11:42:35 -05:00
Thomas Harte
6adaf89934
Make first attempt at palette support.
2023-12-06 11:19:04 -05:00
Thomas Harte
bf49f745bf
Attempt to distinguish clocks.
2023-12-06 10:41:20 -05:00
Thomas Harte
c5aa3fc75c
Start mangling towards pixel output.
2023-12-06 10:30:30 -05:00
Thomas Harte
f455f07ba2
Support half-clocked mode.
2023-12-06 09:59:14 -05:00
Thomas Harte
561e50a24d
Implement most of CGA text mode.
2023-12-06 09:42:22 -05:00
Thomas Harte
23bdf0c2a2
Add CGA font references.
2023-12-06 09:34:04 -05:00
Thomas Harte
24eaf95e9d
Limit to eight pixels per fetch, to produce stable video.
2023-12-06 09:13:47 -05:00
Thomas Harte
e43f960934
Produce incorrect output from proper clock; capture mode.
2023-12-05 23:01:08 -05:00
Thomas Harte
fdd599e71a
Unify CRTC routing.
2023-12-05 23:00:43 -05:00
Thomas Harte
84ee683ad3
Remove redundant, false comment.
2023-12-05 23:00:21 -05:00
Thomas Harte
b2b05b590f
Clone the MDA class to CGA.
2023-12-05 22:37:33 -05:00
Thomas Harte
c5ec9ae171
Adjust MDA clock; it's slightly slower than my guess.
2023-12-05 22:31:37 -05:00
Thomas Harte
5576588c2d
Fix drive enables, go back to FF for non-existent ports.
2023-12-05 22:02:41 -05:00
Thomas Harte
fd8afb6668
Devolve memory location and font ROM decision.
2023-12-05 16:46:39 -05:00
Thomas Harte
bdf9c4765b
Loosen the assumption of MDA.
2023-12-05 16:38:09 -05:00
Thomas Harte
6659a1dec5
Exit on EOP.
2023-12-05 15:37:25 -05:00
Thomas Harte
23c60ae9bc
Supply video adaptor type.
2023-12-05 15:19:58 -05:00
Thomas Harte
4265455c31
Unify DMA interface.
2023-12-05 14:52:14 -05:00
Thomas Harte
0bcb17985b
Eliminate further warnings.
2023-12-05 14:44:20 -05:00
Thomas Harte
9601c69e12
Implement blinking text.
2023-12-04 22:02:38 -05:00
Thomas Harte
9f65587a1d
Correct scan status scaling; rearrange FDC marginally.
2023-12-04 21:46:03 -05:00
Thomas Harte
b0d1dedb65
Support MDA control: display enable.
2023-12-04 16:34:46 -05:00
Thomas Harte
bf8a4b7efe
Ensure sector cache is cleared upon disk change.
2023-12-04 12:28:29 -05:00
Thomas Harte
edef0732ac
Avoid potential infinite read loops.
2023-12-04 12:19:21 -05:00
Thomas Harte
0d7646d42a
Add a cursor-type template parameter.
2023-12-04 09:45:32 -05:00
Thomas Harte
37c46d579d
Add missing array imports.
2023-12-03 18:06:09 -05:00
Thomas Harte
4957ae7de1
Support cursor at point of output.
2023-12-02 22:44:26 -05:00
Thomas Harte
e77f4457c2
Map various missing keys.
2023-12-02 22:40:05 -05:00
Thomas Harte
c6b989d85b
Add an input queue, to avoid key drops.
2023-12-02 22:29:49 -05:00
Thomas Harte
92913b7455
Fix mapping of Z.
2023-12-02 18:46:22 -05:00
Thomas Harte
208846a166
Attempt proper EOP semantics; multisector reads.
2023-12-02 18:38:26 -05:00
Thomas Harte
c31ee968df
TC: start tending towards meaning.
2023-12-02 15:24:47 -05:00
Thomas Harte
ad9e0b664a
Merge pull request #1231 from TomHarte/DiskClassification
...
Improve format support; log more.
2023-12-02 15:11:24 -05:00
Thomas Harte
1b7e109047
Remove nonsense comment.
2023-12-02 13:25:08 -05:00
Thomas Harte
6c10611150
Avoid potential out-of-bounds read.
2023-12-02 13:23:48 -05:00
Thomas Harte
aa15fd1fff
Comment more.
2023-12-02 00:00:44 -05:00
Thomas Harte
691d1cce9e
Simplify and fix track caching.
2023-12-01 23:35:11 -05:00
Thomas Harte
7072a1661c
Flag floppy as present.
2023-12-01 22:44:21 -05:00
Thomas Harte
bc89cb7d06
Hack attack: ignore TC.
2023-12-01 17:30:32 -05:00
Thomas Harte
33a0c40c02
Support HLT.
2023-12-01 13:15:01 -05:00
Thomas Harte
365b62b4a7
Add TODO.
2023-12-01 09:50:11 -05:00
Thomas Harte
4d1e976b55
Flag drive as interrupting.
2023-12-01 09:49:50 -05:00
Thomas Harte
4429448815
Make some effort at terminating appropriate if no sector.
2023-12-01 09:47:52 -05:00
Thomas Harte
88e67d9ad6
Return some status after reading. Seemingly wrong.
2023-12-01 09:37:30 -05:00
Thomas Harte
d101483714
Hack in enough that disk contents end up in RAM.
2023-12-01 09:34:31 -05:00
Thomas Harte
5feac8ef14
Avoid duplicate symbol.
2023-12-01 07:36:12 -05:00
Thomas Harte
a96cb1ebd6
Decommit debugging hook.
2023-12-01 06:46:00 -05:00
Thomas Harte
2da2240d34
Remove errant break.
2023-12-01 06:45:29 -05:00
Thomas Harte
ef37b09a78
Seed all transfers as complete.
2023-11-30 22:47:38 -05:00
Thomas Harte
9fc0d411fd
Further flesh out DMA, breaking POST.
2023-11-30 22:45:40 -05:00
Thomas Harte
0dc44e8efd
Adjust audio formulation.
...
Probably still not right, but less wrong with the current input.
2023-11-30 14:37:13 -05:00
Thomas Harte
c076636df1
Fix typo.
2023-11-30 14:26:26 -05:00
Thomas Harte
c397da3e5a
Add TODOs.
2023-11-30 12:52:08 -05:00
Thomas Harte
5f6bbec741
Capture DMA high bytes, add actor for accesses.
2023-11-30 12:47:50 -05:00
Thomas Harte
7f0bb716f7
Grab sector contents, ready for more FDC work.
2023-11-29 15:55:37 -05:00
Thomas Harte
b7d3633b38
Log slightly more.
2023-11-29 15:30:47 -05:00
Thomas Harte
05504c8389
Accept and keep hold of disk images.
2023-11-29 15:20:14 -05:00
Thomas Harte
8d01829fa7
Adopt PC-style naming, limit to one drive.
2023-11-29 11:35:21 -05:00
Thomas Harte
be842ee2f1
Add drive indicator lights.
2023-11-29 11:31:37 -05:00
Thomas Harte
e034daa6c8
Capture motor state.
2023-11-29 09:52:16 -05:00
Thomas Harte
ce4bcf9064
Improve comment.
2023-11-29 09:50:08 -05:00
Thomas Harte
a992ae37b1
Mildly rearrange, to match enum order.
2023-11-29 09:49:15 -05:00
Thomas Harte
fbbe3ab7f1
Include seek ended flag.
2023-11-29 09:45:45 -05:00
Thomas Harte
6e2e67fd46
Sculpt out enough to get to a read data command.
2023-11-29 09:42:43 -05:00
Thomas Harte
3827a084ad
Code to GlaBIOS expectations.
2023-11-28 23:18:22 -05:00
Thomas Harte
301442a0b1
Fix meaning of flag, use correctly.
2023-11-28 22:34:34 -05:00
Thomas Harte
dd4bcf68bf
Load up on debugging logs.
2023-11-28 15:09:57 -05:00
Thomas Harte
b860fba0a3
Make an attempt at providing varied sense interrupt statuses.
2023-11-28 14:12:39 -05:00
Thomas Harte
c19c356c10
Add disabled longer serialisation.
2023-11-27 23:23:00 -05:00
Thomas Harte
8fec9bef11
Attempt IRQ logic.
2023-11-27 23:16:24 -05:00
Thomas Harte
bffe3ffa25
Add an 8272 results phase.
2023-11-27 23:05:37 -05:00
Thomas Harte
993366ac5a
Merge branch 'master' into PCFDC
2023-11-27 22:16:30 -05:00
Thomas Harte
87eec47b79
Mildly reduce cost of 8-byte ROM overlay.
2023-11-27 15:48:30 -05:00
Thomas Harte
032eeb4757
Eliminate runtime switch.
2023-11-27 14:57:41 -05:00
Thomas Harte
5c7f94d2ef
Introduce the possibility of operation type as a template parameter.
...
It's already proven possible to provide this for instruction fetch, so I think it'll immediately be a win. But more importantly it opens a path forwards for further improvement.
2023-11-27 11:48:34 -05:00
Thomas Harte
291723e85e
Insert notes to self, trying to tie down FloppyController interface.
2023-11-27 10:27:36 -05:00
Thomas Harte
a6a464c240
Add printed TODO.
2023-11-25 21:40:13 -05:00
Thomas Harte
9bd75464b5
Proceed to receiving a sense interrupt status.
2023-11-25 18:15:37 -05:00
Thomas Harte
0bb048e24b
Start formalising/extracting 8272 status.
2023-11-25 18:10:49 -05:00
Thomas Harte
8c70317d31
Introduce interrupt.
2023-11-24 23:06:52 -05:00
Thomas Harte
dd135bf3fe
Start experimenting with a possible end-of-reset interrupt?
2023-11-24 22:41:33 -05:00
Thomas Harte
2efb5236f7
Add an agent for floppy control.
2023-11-24 22:19:39 -05:00
Thomas Harte
d5c30e3175
Add enough keyboard support to be able to bypass the initial FDC BIOS failure report.
2023-11-24 13:38:06 -05:00
Thomas Harte
89423f28ef
Limit extraneous printing.
2023-11-23 22:47:31 -05:00
Thomas Harte
019d987623
Clear buffer on read.
2023-11-23 22:16:08 -05:00
Thomas Harte
7e8020df59
Avoid a spurious initial interrupt.
2023-11-23 22:15:20 -05:00
Thomas Harte
44d602e0f6
Seriously attempt a keyboard controller.
2023-11-23 22:10:51 -05:00
Thomas Harte
0674da0325
Flip IRQ priority.
2023-11-23 15:41:24 -05:00
Thomas Harte
113fc9f757
Add further TODO.
2023-11-23 15:29:43 -05:00
Thomas Harte
2c31452629
Add TODO, as exposition.
2023-11-23 15:19:31 -05:00
Thomas Harte
505df78108
Add column duplication, switch to green.
2023-11-23 15:18:28 -05:00
Thomas Harte
d92d0e87ac
Honour MDA attributes.
2023-11-23 14:51:32 -05:00
Thomas Harte
df9e9c2c4d
Start accumulating notes.
2023-11-22 15:21:45 -05:00
Thomas Harte
e0f72f2048
Tidy up.
2023-11-22 14:18:58 -05:00
Thomas Harte
a293a3a816
Document the future.
2023-11-22 14:14:53 -05:00
Thomas Harte
b22b489380
Mask into 4kb; I don't know whether hardware scrolling is in use.
2023-11-22 14:12:57 -05:00
Thomas Harte
231de8440e
Add text display.
2023-11-22 14:11:22 -05:00
Thomas Harte
381537fde9
Get as far as MDA being able to fetch.
2023-11-22 13:52:28 -05:00
Thomas Harte
f249e4ada6
Maintain an actual pixel buffer.
2023-11-22 13:40:50 -05:00
Thomas Harte
12179e486f
Create a solid white rectangle.
2023-11-22 13:18:39 -05:00
Thomas Harte
80b2ccd418
Attempt to wire in a CRTC.
2023-11-22 12:53:09 -05:00
Thomas Harte
1828a10885
Use less branchy inner loop.
2023-11-21 22:42:53 -05:00
Thomas Harte
bcd4a2216a
Improve clocking.
2023-11-21 22:36:11 -05:00
Thomas Harte
3da3401125
Attempt full audio output.
2023-11-21 22:28:33 -05:00
Thomas Harte
972d1d1ddd
Add audio pipeline.
2023-11-21 22:11:32 -05:00