Thomas Harte
|
a4c7b00ecd
|
Fixed code that was causing the failing test.
|
2016-11-19 19:55:30 +08:00 |
|
Thomas Harte
|
be60eaa120
|
Added a test for pointer continuity over a submit. Which fails.
|
2016-11-19 19:48:16 +08:00 |
|
Thomas Harte
|
274ec9efb8
|
Added a test for interceding submit.
|
2016-11-19 08:59:21 +08:00 |
|
Thomas Harte
|
22cb8ecd75
|
Started building some tests of the array builder.
|
2016-11-19 08:27:08 +08:00 |
|
Thomas Harte
|
f59537bce9
|
Added a testing hook, but as of yet no tests.
|
2016-11-17 14:06:16 +08:00 |
|
Thomas Harte
|
aca1fa0577
|
Returned some video output. Enough significantly to reduce my paranoia.
|
2016-11-17 13:37:53 +08:00 |
|
Thomas Harte
|
1f91d29434
|
Progressed to usage of an array builder and a texture builder up to the point of a successful build.
|
2016-11-17 12:26:04 +08:00 |
|
Thomas Harte
|
0f3b02edb7
|
Switched to postfix underscores and gave this class ownership of a texture builder and an array builder, though it presently uses neither.
|
2016-11-17 11:00:11 +08:00 |
|
Thomas Harte
|
57f0648742
|
Fleshed out first implementation of ArrayBuilder , albeit that I need to implement exhaustion properly, as soon as I think of a sensible way to handle synchronisation.
|
2016-11-17 10:39:30 +08:00 |
|
Thomas Harte
|
324a1de43d
|
Started pulling out array construction as a separate task.
|
2016-11-17 09:20:49 +08:00 |
|
Thomas Harte
|
c04a116a05
|
Fixed comment.
|
2016-11-16 23:14:56 +08:00 |
|
Thomas Harte
|
edeafd4d94
|
Wait, OpenGL textures go the other way.
|
2016-11-16 23:14:15 +08:00 |
|
Thomas Harte
|
6ac20e0066
|
Pushed responsibility for submitting texture contents up to the texture builder, simplifying the interface.
|
2016-11-16 23:13:06 +08:00 |
|
Thomas Harte
|
5c5e44874f
|
Even better: why include the 'Input' prefix when there's only one?
|
2016-11-16 22:57:17 +08:00 |
|
Thomas Harte
|
04b2688683
|
Attempted to reduce allocations.
|
2016-11-16 13:25:50 +08:00 |
|
Thomas Harte
|
c1a509910d
|
Documented this interface, albeit that the English could do with a second pass, and very sightly simplified inline with current usage.
|
2016-11-16 13:15:50 +08:00 |
|
Thomas Harte
|
4d0d5eb919
|
Renamed the 'input buffer builder' to the 'input texture builder' to be explicit about what sort of buffer, and killed the prefix since it's namespaced. Also switched to std::vector .
|
2016-11-16 12:31:32 +08:00 |
|
Thomas Harte
|
4ee4400801
|
Removed dead code.
|
2016-11-16 11:57:22 +08:00 |
|
Thomas Harte
|
6cb4950db4
|
Improved run-off area.
|
2016-11-16 11:53:15 +08:00 |
|
Thomas Harte
|
9ee11d7765
|
At the expense of API simplicity, at least for now, resolved the most glaring cause of dirty lines.
|
2016-11-16 11:34:05 +08:00 |
|
Thomas Harte
|
44d3fd6d5b
|
Fixed mistimed reset of the target output line. Now all that's left is occasional noise.
|
2016-11-16 11:22:12 +08:00 |
|
Thomas Harte
|
7a737e0790
|
Both pathways start with a buffer that clears to black. So no need to keep going on about it.
|
2016-11-16 11:12:08 +08:00 |
|
Thomas Harte
|
f63e849092
|
Sought completely to eliminate the outgoing concept of 'clearing zones'.
|
2016-11-16 11:10:34 +08:00 |
|
Thomas Harte
|
311f8c0b47
|
Restored audio.
|
2016-11-16 11:10:07 +08:00 |
|
Thomas Harte
|
294adde344
|
Eliminated zoned clearing, in favour of a complete buffer clear on each load and attempted to reduce locking. But imperfectly.
|
2016-11-16 10:59:12 +08:00 |
|
Thomas Harte
|
ccedb6bea6
|
Introduced an intermediate buffer that collects lines before flushing them to the output buffer.
|
2016-11-16 10:49:18 +08:00 |
|
Thomas Harte
|
ba2adf8bb1
|
Normalised on std::vector rather than std::unique_ptr<uint8_t *> as (probably?) more idiomatic. Improved structure slightly. Introduced a container for line data, albeit one that isn't yet used.
|
2016-11-16 10:34:54 +08:00 |
|
Thomas Harte
|
f84a28b566
|
Merge pull request #76 from TomHarte/Disassembler
Introduces a first attempt at 6502 disassembly
|
2016-11-15 19:52:12 -05:00 |
|
Thomas Harte
|
97811fe590
|
Made minor fix to ensure that a header that appears to extend beyond the end of an Oric .TAP doesn't create an ostensibly endless tape.
|
2016-11-15 12:02:03 +08:00 |
|
Thomas Harte
|
8b40ae03ca
|
Extended analysis to spot IRQ and NMI vector changes, for titles that simply adjust those then exit. Ensured Oric emulator can type and load quickly on an Oric 1 just as well as on an Atmos.
|
2016-11-15 11:05:53 +08:00 |
|
Thomas Harte
|
e2cdfae8a7
|
The emulated Oric now has access to both versions of the BASIC ROM and picks between them based on the static analyser's recommendation.
|
2016-11-15 10:39:16 +08:00 |
|
Thomas Harte
|
ab64731d51
|
Fixed off-by-one recording of disasssmbled addresses; added logic to the Oric static analyser to try to guess between BASIC 1.1 (the preferred option in a tie-break or if no information is found) and BASIC 1.0.
|
2016-11-15 10:31:47 +08:00 |
|
Thomas Harte
|
1bffc70494
|
In theory that's a full disassembler, at least as far as I want to go for now. Time to test.
|
2016-11-15 08:19:57 +08:00 |
|
Thomas Harte
|
a5fc45e66e
|
Started fleshing this out; addressing modes are completely decoded, along with a bunch of opcodes, but appropriate address advancement isn't in yet, and neither is filling in derived metadata.
|
2016-11-14 12:19:09 +08:00 |
|
Thomas Harte
|
f08e87c6c1
|
Merge branch 'master' into Disassembler
|
2016-11-11 20:32:18 -05:00 |
|
Thomas Harte
|
7eeaac23e7
|
Reversed myself. I once again do not think the clock is divided by 256 for envelopes.
|
2016-11-11 20:31:48 -05:00 |
|
Thomas Harte
|
1b66847647
|
Started trying to implement something sufficient of a 6502 disassembler.
|
2016-11-11 20:10:58 -05:00 |
|
Thomas Harte
|
4ba39d13b5
|
Merge pull request #75 from TomHarte/AudioUpdates
Reintroduced a separate thread for audio processing and made various AY fixes
|
2016-11-10 20:32:57 -05:00 |
|
Thomas Harte
|
77987bf31e
|
Decided to go with divide by 256 for the envelope counter after all.
|
2016-11-09 21:51:56 -05:00 |
|
Thomas Harte
|
77ce200fbb
|
Simplified/corrected AY tone/noise mixer logic, and made a new guess at the effect of reading registers that are smaller than 8 bits.
|
2016-11-09 21:21:17 -05:00 |
|
Thomas Harte
|
9c550c594a
|
Moved audio work back into its own thread, but this time it queues up an all happens only upon a flush. Hopefully to resolve synchronisation cost concerns.
|
2016-11-09 21:17:50 -05:00 |
|
Thomas Harte
|
f3c8c57043
|
Merge pull request #74 from TomHarte/WaveLengthOric
Switches to Oric tape parsing by full-cycle length only
|
2016-11-09 06:41:56 -05:00 |
|
Thomas Harte
|
fce48b9b8c
|
I am instructed that the Oric actually catches only positive transitions, and compares the distance between those to a threshold. So here's an altered version of the tape parser that does that.
|
2016-11-09 06:37:10 -05:00 |
|
Thomas Harte
|
79dd062941
|
Merge pull request #73 from TomHarte/TapeClasses
Clarifies that a tape parser does not own a tape, it is merely lent one
|
2016-11-07 22:04:37 -05:00 |
|
Thomas Harte
|
64827931bf
|
Switched the Oric implementation simply to rely upon the Storage-level tape parser. So now there's only one, authoritative one of those.
|
2016-11-07 21:57:58 -05:00 |
|
Thomas Harte
|
c257e7f58d
|
Implemented better sync-to-zero and discovered a header counting bug plus, probably, a misleading representation of gaps in the Oric TAP decoder.
|
2016-11-07 20:17:06 -05:00 |
|
Thomas Harte
|
80702616ea
|
Had a quick go at using the Oric parser for static analysis. Found out that synchronisation is lost. Need to investigate.
|
2016-11-06 22:56:38 -05:00 |
|
Thomas Harte
|
7205c3f82b
|
Made an attempt to build in Oric slow/fast detection.
|
2016-11-06 21:31:10 -05:00 |
|
Thomas Harte
|
d1ef2f7c63
|
Made an attempt to consolidate what I learnt of Oric encoding while building this hastily and untidily directly into the Oric implementation.
(while adding support for the slow tape encoding mode)
|
2016-11-06 19:22:09 -05:00 |
|
Thomas Harte
|
353c1c8ea3
|
Shifted ownership of PETSCII -> string conversion down to the storage layer, where it's useful for tape parsing.
|
2016-11-06 18:43:51 -05:00 |
|