Thomas Harte
|
c3187fdbe1
|
Makes minor formatting improvement.
|
2020-10-17 22:31:51 -04:00 |
|
Thomas Harte
|
42228ea955
|
Adds 65C02As6502 test, to round out the set.
|
2020-10-17 22:31:32 -04:00 |
|
Thomas Harte
|
68c15bd605
|
Updates Qt project; catches another couple of issues via its compiler.
|
2020-10-15 21:09:22 -04:00 |
|
Thomas Harte
|
3c6adc1ff4
|
Completes 65816 addressing mode tests and corresponding fixes.
|
2020-10-14 22:00:52 -04:00 |
|
Thomas Harte
|
e511d33a7c
|
Adds test for [d], y; fixes implementation.
|
2020-10-14 21:42:41 -04:00 |
|
Thomas Harte
|
c35969d677
|
Adds tests for (d, x) and (d), y. Both amply tested in emulation mode, so no problems.
Five to go, all potentially troublesome.
|
2020-10-14 21:38:00 -04:00 |
|
Thomas Harte
|
27afb8f0a7
|
Adds direct indirect long test, and thereby fixes addressing mode.
Nine to go!
|
2020-10-14 21:26:20 -04:00 |
|
Thomas Harte
|
327ab81436
|
Fills in direct, x and (direct) tests, fixing implementation of the latter.
10 to go.
|
2020-10-14 21:17:28 -04:00 |
|
Thomas Harte
|
db7178495f
|
Implements direct and final absolute test.
14 to go.
|
2020-10-14 20:57:47 -04:00 |
|
Thomas Harte
|
979186e71d
|
Transcribes the English-language versions of the outstanding tests.
Passing these will make me willing to call the 65816 functionality provisionally done, other than making sureI signal VPA, VDA, VPB, etc, correctly.
|
2020-10-14 13:56:37 -04:00 |
|
Thomas Harte
|
f05e0d956b
|
Adds a TODO list in order to keep an end in sight.
|
2020-10-13 21:43:42 -04:00 |
|
Thomas Harte
|
b22aa5d699
|
Starts transcribing the addressing examples I have into tests.
Correspondingly extends the exposed register set and test-machine addressing range.
|
2020-10-13 21:38:30 -04:00 |
|
Thomas Harte
|
3e6a2adaaf
|
Corrects absolute, x and absolute, y addressing modes.
|
2020-10-13 20:30:39 -04:00 |
|
Thomas Harte
|
6a47571d17
|
Stops truncating tests by two bytes.
Not that it seems to have been problematic.
|
2020-10-12 21:53:27 -04:00 |
|
Thomas Harte
|
28da1a724a
|
Introduces Jeek816 test case.
|
2020-10-12 21:43:44 -04:00 |
|
Thomas Harte
|
5dc3cd3a2f
|
Starts using Jeek816 for a basic native-mode audit. Fixes absolute long addressing.
|
2020-10-11 22:02:46 -04:00 |
|
Thomas Harte
|
486324ecab
|
This test isn't actually 65816-compatible.
|
2020-10-10 18:19:48 -04:00 |
|
Thomas Harte
|
340ad093a6
|
Adds 65816 runs of the final tranche of applicable tests.
|
2020-10-10 17:26:41 -04:00 |
|
Thomas Harte
|
0fe09cd1e4
|
Knocks SBC into producing likely results; disables Lorenz testing.
|
2020-10-10 17:13:16 -04:00 |
|
Thomas Harte
|
09fba72d58
|
Adds flag manipulation, ADC and SBC 65816 tests.
The latter two fail.
|
2020-10-10 11:30:15 -04:00 |
|
Thomas Harte
|
7966592fae
|
Corrects ROL d.
|
2020-10-10 11:22:23 -04:00 |
|
Thomas Harte
|
6efe4e1753
|
Fixes AND, EOR, ORA. Takes an unsuccessful shot at ROL.
|
2020-10-10 10:53:17 -04:00 |
|
Thomas Harte
|
536c4d45c1
|
Adds additional 65816 tests, some failing; seeks to improve carry behaviour in ASL and ROL.
|
2020-10-10 10:11:57 -04:00 |
|
Thomas Harte
|
a02f88fe7c
|
Confirms a couple more of the easy sets.
|
2020-10-10 09:34:29 -04:00 |
|
Thomas Harte
|
d9be6ab806
|
Confirms that a few other simple tests work immediately on the 65816.
|
2020-10-09 23:26:35 -04:00 |
|
Thomas Harte
|
290598429a
|
Applies indirect page zero emulation mode addressing constraint to ix addressing.
Lorenz's LDA tests now pass in emulation mode.
|
2020-10-09 23:22:48 -04:00 |
|
Thomas Harte
|
776f014dbe
|
Attempts LDA tests against the 65816.
Result: ix is faulty. Which we already knew.
|
2020-10-09 22:23:54 -04:00 |
|
Thomas Harte
|
88293909f4
|
Enables running of a first test on the 65816.
|
2020-10-09 21:44:47 -04:00 |
|
Thomas Harte
|
9b6c48631d
|
Removes usage of a JAM instruction to spot end-of-tests.
|
2020-10-09 21:39:34 -04:00 |
|
Thomas Harte
|
0418f51ef2
|
Takes a shot at emulation-mode 'exceptions'.
It's just RTI and correct decimal SBC left of the official 6502s now, I think.
|
2020-10-08 17:52:13 -04:00 |
|
Thomas Harte
|
b578240993
|
Adds a further error.
Clearly I've severely overloaded 'JMP' and not fully thought through where it gets its addresses from.
|
2020-10-07 21:47:58 -04:00 |
|
Thomas Harte
|
1ba0a117e7
|
Corrects PLB, PLD, PLP.
|
2020-10-07 20:23:53 -04:00 |
|
Thomas Harte
|
f7b119ffe1
|
Moves temporary logging, fixes branch instructions.
|
2020-10-07 19:57:58 -04:00 |
|
Thomas Harte
|
a4cec95db1
|
Corrects load and transfer flag oversights.
|
2020-10-07 19:36:23 -04:00 |
|
Thomas Harte
|
84c4fa197b
|
Corrects DEX mapping, notes new Dormann failure case.
|
2020-10-07 18:48:03 -04:00 |
|
Thomas Harte
|
18e8d6ce06
|
Makes an effort to factor out the 6502's [lazy] flags.
This is preparatory to deciding which instructions, if any, are worth factoring out.
|
2020-10-05 22:23:33 -04:00 |
|
Thomas Harte
|
da78dea98f
|
Merge branch 'master' into 65816
|
2020-10-03 21:00:29 -04:00 |
|
Thomas Harte
|
38912859e1
|
Adds F8+F12 as an alternative mouse-release combo for Qt.
|
2020-10-02 20:31:47 -04:00 |
|
Thomas Harte
|
a72ac8294c
|
Adds 65816 alternates to Klaus Dormann's tests.
While also correcting a couple of misspellings of his name. Apologies, Klaus!
|
2020-09-29 18:49:58 -04:00 |
|
Thomas Harte
|
4f03bf754d
|
Adds the 65816 to SConstruct.
|
2020-09-29 18:43:39 -04:00 |
|
Thomas Harte
|
ef1a514785
|
Introduces 6502Selector, for picking either a 6502 or a 65816 based on a single template parameter.
|
2020-09-28 21:35:46 -04:00 |
|
Thomas Harte
|
6635876e7e
|
Performs a bare factoring out of the 6502 bus handler.
|
2020-09-28 18:43:53 -04:00 |
|
Thomas Harte
|
5645f90abe
|
Takes a minor first step towards actually performing 65816 instructions.
|
2020-09-27 22:20:58 -04:00 |
|
Thomas Harte
|
b96cd4d18b
|
Resolves another unsafe pointer assumption.
|
2020-09-27 22:20:13 -04:00 |
|
Thomas Harte
|
8641494809
|
Resolve various test-case warnings.
|
2020-09-27 15:10:29 -04:00 |
|
Thomas Harte
|
5449e90b34
|
Edges towards offering the 65816 as another type of 6502 for testing.
|
2020-09-26 22:31:50 -04:00 |
|
C.W. Betts
|
ce0536cdfa
|
Update 6502TimingTests.swift
|
2020-09-26 16:13:27 -06:00 |
|
Thomas Harte
|
f87fe92bc8
|
Begins a meandering road towards the 65816.
|
2020-09-23 22:14:42 -04:00 |
|
Thomas Harte
|
a781c3eb4d
|
Resolves thread-unsafe access of _view.bounds .
|
2020-09-22 22:13:37 -04:00 |
|
Thomas Harte
|
2d9dd6704a
|
Merge branch 'master' of github.com:TomHarte/CLK
|
2020-09-22 22:07:47 -04:00 |
|
Thomas Harte
|
5741e22e29
|
Switch back to debug-by-default builds.
|
2020-09-20 18:22:13 -04:00 |
|
Thomas Harte
|
703065a0a5
|
Takes a run at timer-linked PB7 output behaviour.
Seemingly sufficiently to pass the VICE test (which I've transcribed), though with some guesswork.
|
2020-09-20 14:51:59 -04:00 |
|
Thomas Harte
|
291aa42fe1
|
Corrects test target.
|
2020-09-19 21:20:37 -04:00 |
|
Thomas Harte
|
061288f5a7
|
Add the Macintosh to the Mac kiosk mode informal test set.
|
2020-09-15 22:49:00 -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 |
|