Thomas Harte
16731661e8
Switches back to being explicit about the colour burst phase.
...
Some sort of phase inversion otherwise seems to be achievable by software that switch modes often.
2019-02-24 22:28:11 -05:00
Thomas Harte
d4134cd0d8
Restores proper colour phase to the Apple II.
...
Given that its timing errors were fixed, this also switches back to using 'default' colour bursts — i.e. ones with implicit phase. The Apple II continues to be an excellent bellwether for issues in the pipeline, and this helps further to ensure that.
2019-02-24 14:35:13 -05:00
Thomas Harte
7939897622
Fixes announced timing difference between pixel and border lines.
...
The Apple II sync fault is now fixed!
2019-02-12 22:32:02 -05:00
Thomas Harte
3e0b5433b9
Institutes colour/monochrome screen selection as an Apple II option.
...
Allowing me to test that straight-through composite still works.
2019-02-12 19:52:32 -05:00
Thomas Harte
ccb52fb625
Ensures no writes to pixel_pointer_
when allocation has failed.
2019-01-11 22:00:44 -05:00
Thomas Harte
a47de9a884
Returns the Apple II to submitting video.
2018-11-14 22:04:57 -05:00
Thomas Harte
6d277fecd5
Makes ScanTarget
a little more communicative and orthogonal.
2018-11-10 19:52:57 -05:00
Thomas Harte
da4d883321
Adds first, incomplete attempts to talk to a ScanTarget from the CRT.
...
Does away with the hassle of `unsigned` while I'm here; that was a schoolboy error.
2018-11-03 19:58:44 -04:00
Thomas Harte
5445081c96
It's eight pixels that aren't written in double output mode, not four.
2018-09-10 21:38:05 -04:00
Thomas Harte
d70f5da94e
Attempts an implementation of the undocumented low res + annunciator 3 graphics mode.
2018-09-08 20:51:15 -04:00
Thomas Harte
afeec09902
Gets explicit about DHIRES being annunciator 3; implements four-colour high res mode.
2018-09-06 23:23:19 -04:00
Thomas Harte
0526ac2ee2
Slightly increases const correctness.
...
The converters from source data to output pixels do not modify the source data. It's a shame there's no `restrict` in C++.
2018-09-05 11:36:40 -04:00
Thomas Harte
8b661fb90f
Introduces an extra level of indirection for text mapping.
2018-09-05 10:26:08 -04:00
Thomas Harte
234bef2a88
Adds default
to make it explicit that fetch_address
is initialised.
2018-08-24 22:26:03 -04:00
Thomas Harte
97a89aaf4d
Factors out the stuff of deferred action interleaving, as I suspect it'll come in handy.
2018-08-24 20:04:26 -04:00
Thomas Harte
61e46399dc
About face! There should be no delay on serialisation, but a delay on interpretation-affecting soft switches.
2018-08-22 21:56:45 -04:00
Thomas Harte
e802f6ecc2
Rearranges draw loop around a fixed-size 568-sample line buffer.
2018-08-19 22:31:04 -04:00
Thomas Harte
4209f0e044
Moves memory collection into a separate loop.
2018-08-18 21:54:24 -04:00
Thomas Harte
33576aa2c4
Uses const
to ensure output_* are properly constrained.
2018-08-18 21:36:48 -04:00
Thomas Harte
17bf1a64bf
Moves the stuff of generating pixels out of the main loop.
2018-08-18 18:44:31 -04:00
Thomas Harte
4d1d19a464
Introduces an intermediate buffer for Apple II video data.
2018-08-12 20:36:08 -04:00
Thomas Harte
434d184503
Corrects deserialisation order in double low res mode.
2018-08-11 22:53:06 -04:00
Thomas Harte
60ab6f0c2a
Entrusts IIe-esque character logic fully to the ROM.
2018-08-11 18:45:39 -04:00
Thomas Harte
55f2fccf5e
Extends correct text handling to 80-column mode.
2018-08-04 22:25:29 -04:00
Thomas Harte
099d66804e
Makes colour burst phase explicit.
2018-08-04 19:29:34 -04:00
Thomas Harte
086596c28e
Adds reading of vertical blank and implements the full IIe keyboard logic.
...
i.e. there are now two Apple keys, and shift isn't assumed.
2018-08-04 19:17:04 -04:00
Thomas Harte
558b96bc05
Corrects IIe text display.
2018-08-04 16:52:29 -04:00
Thomas Harte
c91eaaf8da
Takes a stab at double low-res graphics.
2018-07-31 21:45:09 -04:00
Thomas Harte
a36f37d240
Introduces a 1/14th delay in output of double high res.
2018-07-31 21:29:51 -04:00
Thomas Harte
3f56683342
Fixes order of deserialisation between auxiliary and base RAM.
2018-07-30 23:08:45 -04:00
Thomas Harte
5aa0b17720
Improves IIe paging further.
2018-07-29 23:02:27 -04:00
Thomas Harte
ede2696a77
Edges further towards implementing the IIe video subsystem.
...
All video-specific switches are in place, and mostly honoured, and a IIe machine configuration is advertised at least.
2018-07-24 22:15:42 -04:00
Thomas Harte
59b9e39022
Starts the process of supporting the Apple IIe graphics modes.
...
Albeit that I'm not yet even up on the proper soft switches.
2018-07-23 22:14:41 -04:00
Thomas Harte
640a84d456
Shift the h-within-v pulse to eliminate a curved top line.
2018-06-24 11:27:18 -04:00
Thomas Harte
55ab305dbf
Introduces equalisation pulses for the Apple II.
2018-06-23 22:11:39 -04:00
Thomas Harte
d380595ad4
Unrolls the loops for slightly fewer conditionals.
2018-06-03 07:27:03 -04:00
Thomas Harte
d84b8700a3
Switches the Apple II to one byte per pixel.
...
Just trying to get it right for now; optimisation to come.
2018-06-02 22:03:45 -04:00
Thomas Harte
8dd7c6ef23
Eliminates 'reversed_c' as I no longer believe low-resolution colour numbers are reversed.
...
Also gets explicit about phase.
2018-05-29 22:30:45 -04:00
Thomas Harte
dea9892a85
Attempts to implement vapour lock bus behaviour.
2018-05-13 18:53:32 -04:00
Thomas Harte
0b771ce61a
Removes all instances of the copyright symbol.
2018-05-13 15:19:52 -04:00
Thomas Harte
850a394eb5
Corrects graphics 'carry' — the potential holdover into delayed bytes.
2018-04-26 19:26:43 -04:00
Thomas Harte
244721a6f8
Corrects graphics mode address generation.
2018-04-25 22:26:01 -04:00
Thomas Harte
b8ae283049
Implements correct text inverse/flashing.
2018-04-19 22:14:22 -04:00
Thomas Harte
5f1c210746
Simplifies and corrects low-resolution colour generation.
...
Possibly disproving the premise for this whole experiment, all colours seem immediately to work correctly. Hmmm.
2018-04-18 21:41:11 -04:00
Thomas Harte
f6c2f6e896
Slightly adjusts colour burst logic to fix transition lines in mixed mode.
2018-04-18 20:39:12 -04:00
Thomas Harte
a07c99d778
Completes first draft of Apple II video hardware.
2018-04-17 22:04:02 -04:00
Thomas Harte
1c605d58e3
Removes the CRT requirement for an integral relationship between cycles and samples.
2018-04-16 20:00:56 -04:00
Thomas Harte
6a79ce9eb1
Adds enough to the Apple II's video that I can see what's going on with soft switches.
2018-04-15 21:55:26 -04:00
Thomas Harte
465c38f03c
Extends the keyboard protocol and adds keyboard input to the Apple II.
2018-04-15 21:11:30 -04:00
Thomas Harte
be05d51e07
Now gives something a lot like the proper character output.
2018-04-15 20:31:04 -04:00