Thomas Harte
|
397704a1e6
|
Withdraws published quick-load option for the CPC.
|
2021-03-15 11:37:23 -04:00 |
|
Thomas Harte
|
7d778bc328
|
Formally introduces fast tape support as an option.
It doesn't feel that fast yet though.
|
2021-03-12 22:57:02 -05:00 |
|
Thomas Harte
|
83cbbe09c6
|
Adds missing constraints; eliminates magic constants.
|
2021-03-07 12:52:39 -05:00 |
|
Thomas Harte
|
2f18f40697
|
Ensures machine selection carries over sessions.
|
2021-03-06 21:32:35 -05:00 |
|
Thomas Harte
|
eea4c1f148
|
Wires up machineSelectionTabs.
|
2021-03-06 21:31:08 -05:00 |
|
Thomas Harte
|
26ad760904
|
Withdraws the Apple IIgs tab item.
Also makes some Swift style changes while I'm here: I'm pervasively assuming that all these objects exist, might as well be upfront about it.
|
2021-03-06 18:53:09 -05:00 |
|
Thomas Harte
|
2a7ea9f57c
|
Merge branch 'master' into AppleIIgs
|
2021-02-26 21:31:18 -05:00 |
|
Thomas Harte
|
a1df8452ce
|
Add the 128kb and 512kb Macintoshes as selectable options in macOS.
|
2021-02-26 21:22:54 -05:00 |
|
Thomas Harte
|
35be402354
|
Improve sanity check.
|
2021-02-16 19:47:25 -05:00 |
|
Thomas Harte
|
96f2d802d9
|
Adds a safeguard against undefined behaviour in the debugger.
|
2021-02-16 19:17:54 -05:00 |
|
Thomas Harte
|
6526c645a5
|
Merge branch 'master' into AppleIIgs
|
2021-02-02 21:29:38 -05:00 |
|
Thomas Harte
|
07df7572b3
|
Switch to preferred Acorn-world extension: DAT.
|
2021-01-31 21:03:09 -05:00 |
|
Thomas Harte
|
8db289e229
|
Adds some notes-to-self on SCSI and a route to using Acorn's ADFS.
|
2021-01-31 13:12:59 -05:00 |
|
Thomas Harte
|
b5ecd5f7ef
|
Merge branch 'master' into AppleIIgs
|
2021-01-31 11:47:40 -05:00 |
|
Thomas Harte
|
3d85e6bb97
|
Adds Mac UI for new Electron configuration options.
|
2021-01-31 09:49:51 -05:00 |
|
Thomas Harte
|
da814c62bc
|
Merge branch 'master' into AppleIIgs
|
2021-01-03 20:57:08 -05:00 |
|
C.W. Betts
|
3749b7b776
|
My improvements:
Use synthesized properties for CSMissingROM.
Remove openGLView from the xib: that will quiet a warning.
Add nullability metadata to CSStaticAnalyser.
|
2020-12-31 13:23:46 -07:00 |
|
Thomas Harte
|
31d68622c8
|
Better ensures frame buffer can be cleared.
|
2020-12-29 22:26:19 -05:00 |
|
Thomas Harte
|
ee5f45c979
|
Merge branch 'master' into AppleIIgs
|
2020-12-29 22:16:23 -05:00 |
|
C.W. Betts
|
5a48e50355
|
Use isEqual: to compare GCController when connecting/disconnecting.
Only remove observers for GCController notifications.
|
2020-12-14 15:41:11 -07:00 |
|
C.W. Betts
|
86283b1815
|
Actually write the setup code.
|
2020-12-14 01:14:40 -07:00 |
|
C.W. Betts
|
a38d964f62
|
Initial GameController joystick support.
|
2020-12-13 11:23:33 -07:00 |
|
Thomas Harte
|
fe4caf7a41
|
Nudges tick frequency up to match the other platforms.
|
2020-12-10 21:02:13 -05:00 |
|
Thomas Harte
|
4bf85abf30
|
Ensure defined initial state for the frame buffer.
|
2020-12-10 18:15:07 -05:00 |
|
Thomas Harte
|
49cee90b4d
|
Ensures no retraces are missed.
|
2020-12-09 20:32:26 -05:00 |
|
Thomas Harte
|
394f6b58d8
|
Ensure _finalisedLineTexture really is cleared.
|
2020-12-09 20:18:53 -05:00 |
|
Thomas Harte
|
a91a13b46b
|
Merge branch 'master' into AppleIIgs
|
2020-12-09 19:33:23 -05:00 |
|
Thomas Harte
|
b589d6e3ef
|
Fixes retina-display buffer size.
|
2020-12-09 18:51:10 -05:00 |
|
Thomas Harte
|
3da6b4709c
|
Fixes sign of arithmetic.
|
2020-11-29 20:23:33 -05:00 |
|
Thomas Harte
|
b4bf541eec
|
Adds boilerplate route into a 2MG-handling class.
|
2020-11-23 21:42:18 -05:00 |
|
Thomas Harte
|
bd8af25294
|
Merge branch 'master' into AppleIIgs
|
2020-11-13 21:27:47 -05:00 |
|
Thomas Harte
|
e803f993b7
|
Increases minimum macOS version to 10.14.
This is lazy, but it means I definitely don't need non-Metal fallback code.
|
2020-11-13 19:48:45 -05:00 |
|
Thomas Harte
|
5dbc87caf0
|
Smarter: just ensures any attached panels are closed at close().
|
2020-11-13 19:09:30 -05:00 |
|
Thomas Harte
|
4862ccc947
|
Dismisses ROM requester upon that cancel too.
|
2020-11-13 19:01:53 -05:00 |
|
Thomas Harte
|
e1ecf66485
|
Dismisses sheet before closing document.
|
2020-11-13 19:00:37 -05:00 |
|
Thomas Harte
|
2c71ba0744
|
Ameliorates against a potential NSRangeException.
|
2020-11-13 18:29:48 -05:00 |
|
Thomas Harte
|
e72cfbf447
|
Stop assuming that NSNotification => window.isVisible.
|
2020-11-13 18:04:31 -05:00 |
|
Thomas Harte
|
0c04a376c4
|
Stop assuming that NSNotification => window.isVisible.
|
2020-11-13 18:03:46 -05:00 |
|
Thomas Harte
|
3c6dc4c448
|
Merge branch 'master' into AppleIIgs
|
2020-11-13 12:51:53 -05:00 |
|
Thomas Harte
|
86a24cc928
|
Allows Xcode to bump its versioning on the ROM requester too.
|
2020-11-13 12:23:48 -05:00 |
|
Thomas Harte
|
e8b52d20e9
|
Slightly tweaks machine picker for macOS Big Sur.
|
2020-11-13 12:14:35 -05:00 |
|
Thomas Harte
|
7aea3dc124
|
Corrects R4G4B4 and R2G2B2 output.
|
2020-11-07 23:15:48 -05:00 |
|
Thomas Harte
|
93968d267d
|
Corrects R4G4B4 and R2G2B2 output.
|
2020-11-07 22:19:27 -05:00 |
|
Thomas Harte
|
a5dcab4092
|
Ensures machines with no audio output are handled correctly.
|
2020-10-21 21:16:00 -04:00 |
|
Thomas Harte
|
8bde2e5f4c
|
Slightly neatens Cocoa machine picker.
|
2020-10-20 22:25:39 -04:00 |
|
Thomas Harte
|
5287c57ee0
|
Adds the IIgs as a user-selectable machine.
Albeit that there is no underlying machine yet.
|
2020-10-20 22:18:11 -04:00 |
|
Thomas Harte
|
a781c3eb4d
|
Resolves thread-unsafe access of _view.bounds .
|
2020-09-22 22:13:37 -04:00 |
|
Thomas Harte
|
bc8787ded6
|
Improves macro safety.
|
2020-09-15 22:26:33 -04:00 |
|
Thomas Harte
|
82dbdf7dfc
|
Switches to using regular linear interpolation for supersampling.
|
2020-09-14 22:36:00 -04:00 |
|
Thomas Harte
|
8557bb2136
|
Adds minor exposition.
|
2020-09-14 20:39:52 -04:00 |
|
Thomas Harte
|
c0c7818d5d
|
Reintroduces screenshots.
|
2020-09-14 20:33:05 -04:00 |
|
Thomas Harte
|
ceeadd6a33
|
Edges up towards reimplementing screenshots.
|
2020-09-13 22:30:17 -04:00 |
|
Thomas Harte
|
1a2545fdea
|
Excises dangling references to OpenGLView , reinstates display link.
|
2020-09-13 22:11:51 -04:00 |
|
Thomas Harte
|
c5e9a74c88
|
Uses DisplayMetrics to disable supersampling when too slow.
|
2020-09-13 21:07:59 -04:00 |
|
Thomas Harte
|
d7972a7b86
|
Enforces across-the-board supersampling.
I'm damned if I can figure out how to talk an MTKView, or Metal in general, into supersampling so as a first effort this does it in software.
|
2020-09-13 19:30:26 -04:00 |
|
Thomas Harte
|
bcaceff378
|
Simplifies in-Metal transform logic, loading responsibility for setup onto the CPU.
I think I've also finally excised whatever order-of-operations issue I was having with regard to non-4:3 displays.
|
2020-09-10 20:32:58 -04:00 |
|
Thomas Harte
|
d7b405c6f8
|
Ensures direct luminance -> 'RGB' video doesn't go down the composition pipeline.
|
2020-09-10 13:20:40 -04:00 |
|
Thomas Harte
|
edf8cf4dc6
|
Completes the set of with/without gamma, and ensures correct alpha selection.
Also culls some other repetitive TODOs.
|
2020-09-09 19:28:38 -04:00 |
|
Thomas Harte
|
dfcc8e9822
|
Switches some of the interpolated fields to half precision.
|
2020-09-09 18:17:05 -04:00 |
|
Thomas Harte
|
016e96e6f8
|
Extends usage of half . Possibly towards its conclusion.
|
2020-09-09 15:10:19 -04:00 |
|
Thomas Harte
|
e7ce03c418
|
Attempts to ensure initial finalised line texture state.
This was an attempt to remove the vertical line on the left of a composite display. Obviously the cause is not as suspected.
|
2020-09-09 13:15:21 -04:00 |
|
Thomas Harte
|
3d392dd81d
|
Completes conversion of composite & S-Video per-pixel processing to 16-bit floats.
|
2020-09-09 13:02:04 -04:00 |
|
Thomas Harte
|
42d810db7f
|
Switches per-pixel uniforms to halfs.
|
2020-09-09 10:53:09 -04:00 |
|
Thomas Harte
|
18571e8351
|
Also calculates a chroma kernel size, though it isn't used for anything yet.
|
2020-09-08 20:08:56 -04:00 |
|
Thomas Harte
|
dda1649ab7
|
Introduces smaller luma kernel functions where useable.
|
2020-09-08 19:55:37 -04:00 |
|
Thomas Harte
|
c82e0df071
|
Starts a transition towards half-precision arithmetic.
|
2020-09-08 19:37:36 -04:00 |
|
Thomas Harte
|
06b7ea5a6e
|
Strips the luma kernel back to 1d.
|
2020-09-08 19:15:19 -04:00 |
|
Thomas Harte
|
c49fcb9ec9
|
Based on further play: one box filter to separate luma/chroma, another to filter chroma, plus a FIR sharpen on luma.
|
2020-09-08 16:35:05 -04:00 |
|
Thomas Harte
|
0e44d6d214
|
Experiments with an all-box filter.
|
2020-09-08 16:19:08 -04:00 |
|
Thomas Harte
|
6adad7fbf5
|
Starts experimenting again with box filters.
|
2020-09-07 22:47:49 -04:00 |
|
Thomas Harte
|
de6ed7b615
|
Corrects phase-linked luminance support.
|
2020-09-07 20:53:28 -04:00 |
|
Thomas Harte
|
07dcb4dbb1
|
Starts reintroducing brightness, gamma and transparency for composite and S-Video pipelines.
|
2020-09-07 18:19:13 -04:00 |
|
Thomas Harte
|
e99896eadc
|
At least nominates alpha, gamma and brightness to metal.
|
2020-09-04 16:07:58 -04:00 |
|
Thomas Harte
|
489701afcb
|
Fixes window resizing.
|
2020-09-03 21:28:39 -04:00 |
|
Thomas Harte
|
55e576cc57
|
Ensures unpainted areas in composite displays have a non-asymptotic effect on luminance calculations.
|
2020-09-03 21:10:30 -04:00 |
|
Thomas Harte
|
6bd8ec9545
|
Alas, 1.0 seems to be the limit for proper artefact colour.
|
2020-09-03 20:53:45 -04:00 |
|
Thomas Harte
|
5cd8d86eef
|
Switches to dynamic generation of the 'sharpness' filter, correcting issues with the Apple II (amongst others).
|
2020-09-03 20:48:44 -04:00 |
|
Thomas Harte
|
74d0acdaec
|
Fixes non-RGB colour composite generation.
The hard-coded sharpen filter proves to be a really bad fit for the Apple II though.
|
2020-09-03 19:04:17 -04:00 |
|
Thomas Harte
|
0288a1974b
|
Tries: separate filters for chroma and luma, plus a post-separation sharpen filter on the latter.
|
2020-09-03 13:18:21 -04:00 |
|
Thomas Harte
|
6efd8782fe
|
Tweaks coefficients some more; makes sure that data is never larger than the intermediate buffers.
|
2020-09-02 20:14:41 -04:00 |
|
Thomas Harte
|
8bab9d5d60
|
Corrects S-Video and composite generation for RGB[1/2/4] sources.
Also toys with a double luminance filter in order to try to sharpen chrominance. But maybe I should be looking at other convolutions entirely?
|
2020-09-02 19:13:54 -04:00 |
|
Thomas Harte
|
7e58648743
|
Corrects front-running bug, plays further with colour amplitude.
|
2020-09-02 15:51:48 -04:00 |
|
Thomas Harte
|
0f0c3e616d
|
Tweaks some numbers.
I'm largely treading water here. Probably time to think about the race.
|
2020-09-02 08:17:01 -04:00 |
|
Thomas Harte
|
c7ce65ea4c
|
Attempts fully to restore composite video.
Subject to some sort of nasty race condition for the time being.
|
2020-09-02 08:03:10 -04:00 |
|
Thomas Harte
|
c36247b609
|
Ensures reuse of offset buffers.
There seems to be some sort of epic race condition as the drawing pipeline lags though. Will need to investigate.
|
2020-09-01 22:11:48 -04:00 |
|
Thomas Harte
|
15296e43a4
|
Attempts correctly to set up the CPU side of a composite video pipeline, at least.
So: I think this is really close, but I'm out of time for the day.
|
2020-09-01 21:58:33 -04:00 |
|
Thomas Harte
|
f2929230a2
|
[Experimentally] introduces blending between computed S-Video fragments.
|
2020-09-01 21:37:36 -04:00 |
|
Thomas Harte
|
bf252b8061
|
Fixes sizing of buffers to the current output.
|
2020-09-01 21:33:54 -04:00 |
|
Thomas Harte
|
9e2bf2af7e
|
Restricts S-Video processing to updated lines.
|
2020-09-01 21:27:40 -04:00 |
|
Thomas Harte
|
245f2654f0
|
Shifts S-Video processing into the compute shader.
|
2020-09-01 20:37:11 -04:00 |
|
Thomas Harte
|
67ca298a72
|
Forces a no-op compute shader into the S-Video pipeline.
The intention is to restrict the area acted over, and to do the S-Video filtering in there. Then I'll just need two such stages for composite.
|
2020-09-01 18:39:52 -04:00 |
|
Thomas Harte
|
67d4dbf91a
|
Starts girding for a third pipeline.
|
2020-08-31 20:01:59 -04:00 |
|
Thomas Harte
|
b344269140
|
I think I accept the need for intermediate steps now.
This allocates storage.
|
2020-08-30 20:21:01 -04:00 |
|
Thomas Harte
|
bb547610f2
|
Adds commentary, shrinks some intermediate texture sizes.
|
2020-08-30 12:06:29 -04:00 |
|
Thomas Harte
|
1e1f007bb7
|
Possibly convinces myself that no-separation chroma/luma isn't practical.
... as appealing as it may be, were filters perfect.
|
2020-08-29 21:25:49 -04:00 |
|
Thomas Harte
|
c40d858f02
|
Switches back to angular stuff at input resolution; ensures all S-Video modes work.
Now to roll back onto composite. Fingers crossed!
|
2020-08-29 20:54:46 -04:00 |
|
Thomas Harte
|
3d564d85fd
|
Proves that per-pixel sine/cos evaluation avoids phase issues.
Even in PAL mode. But I'd rather not _require_ this as it kind of negates directly-sampled input.
|
2020-08-29 18:53:37 -04:00 |
|
Thomas Harte
|
02cea40ffa
|
Attempts to avoid introducing phase error in scanToComposition.
Also brightens S-Video up to RGB levels.
|
2020-08-25 22:41:37 -04:00 |
|
Thomas Harte
|
e502d336db
|
Having decided that these things probably need to be separate, starts drilling down on S-Video.
|
2020-08-25 22:05:19 -04:00 |
|
Thomas Harte
|
807cb99f6d
|
Composite angles are signed.
|
2020-08-23 21:39:04 -04:00 |
|