Thomas Harte
|
6153ada33b
|
Fixed Electron's support for automatically booting floppy disks.
|
2017-01-08 14:46:19 -05:00 |
|
Thomas Harte
|
be48c950b4
|
Started taking steps towards using a texture barrier where possible to reduce all of my framebuffer binds. Some output appears, but it's not correct.
|
2017-01-08 11:13:20 -05:00 |
|
Thomas Harte
|
0487b8c178
|
Definitively eliminated the additional y filtering step; if I'm going to work to ensure always four samples per colour cycle, I can put the channel separation coefficients directly into their shaders, cutting down on samples.
|
2017-01-07 16:02:33 -05:00 |
|
Thomas Harte
|
5740015f56
|
Temporarily disabled composite processing to show the pure stream. Fixed both automatic calculations of phase — per line and, at input, per pixel.
|
2017-01-07 12:38:00 -05:00 |
|
Thomas Harte
|
c84004bfa3
|
Fixed: colour_cycle_numerator_ doesn't need to be multiplied by the time multiplier because it'll get that for free from the calculation of next_run_length.
|
2017-01-06 21:36:19 -05:00 |
|
Thomas Harte
|
c746a3711f
|
Temporarily disabled my attempt to be clever with bilinear filtering when applying a lowpass filter. Will need to investigate.
|
2017-01-04 08:06:18 -05:00 |
|
Thomas Harte
|
aa7774a9a6
|
Experimental: up the chroma accuracy, just let the luma go straight through. Subject to figuring out how I'm still losing so much precision.
|
2017-01-03 22:41:34 -05:00 |
|
Thomas Harte
|
a836120945
|
Restored proper colour separation, but somewhere a massive hit in horizontal resolution is happening — much greater than one would expect from the sample size picked. So investigation to come.
|
2017-01-03 22:32:07 -05:00 |
|
Thomas Harte
|
7d60df9075
|
Added the option for both intermediate and output shaders to use only a portion of the input/output texture; made an attempt to pick an appropriate proportion in order to align signal sampling with the colour subcarrier.
|
2017-01-03 22:16:52 -05:00 |
|
Thomas Harte
|
f2b8b26bc4
|
Started throwing some comments into my shaders.
|
2017-01-03 21:16:38 -05:00 |
|
Thomas Harte
|
9d60172571
|
Merge pull request #93 from TomHarte/ReadWriteTrack
Implements the Type 3 WD177x commands
|
2017-01-01 21:01:56 -05:00 |
|
Thomas Harte
|
eca3995481
|
Added a CRC check for read address, ensured CRC, lost data and record not found are initially reset.
|
2017-01-01 21:00:25 -05:00 |
|
Thomas Harte
|
044c920a5b
|
Made it more explicit that there are no unhandled cases.
|
2017-01-01 20:56:52 -05:00 |
|
Thomas Harte
|
0df9ce5a76
|
Made an attempt at read address. So superficially that leaves only the force interrupts.
|
2017-01-01 20:55:09 -05:00 |
|
Thomas Harte
|
f94f34f053
|
Made an attempt at read track. Which means process_input_bit can't just swallow syncs any more; it now reports them as tokens of type ::Sync.
|
2017-01-01 20:39:19 -05:00 |
|
Thomas Harte
|
4ad2d2bedd
|
Merge branch 'master' into ReadWriteTrack
|
2017-01-01 20:04:22 -05:00 |
|
Thomas Harte
|
e28f72d919
|
Merge pull request #90 from TomHarte/TravisCI
Introduces a shared Xcode scheme plus a first attempt at Travis CI integration
|
2017-01-01 20:03:26 -05:00 |
|
Thomas Harte
|
c994fa39f6
|
Ensured spin-up doesn't occur if there's no motor line.
|
2016-12-31 16:18:30 -05:00 |
|
Thomas Harte
|
1ea4f0d79d
|
Made an attempt to implement 'write track' and ensure that 'write sector' can't end without announcing that it has ended writing.
|
2016-12-31 16:01:44 -05:00 |
|
Thomas Harte
|
0689df1349
|
Merge pull request #92 from TomHarte/MFMCleanup
Adds some documentation and tidies some of the new MFM infrastructure
|
2016-12-31 15:32:11 -05:00 |
|
Thomas Harte
|
b3c33d993a
|
Made an attempt to explain the requirements placed upon Disk subclasses that wish to support writing.
|
2016-12-31 15:30:48 -05:00 |
|
Thomas Harte
|
8eb21c6702
|
The "MFM...Byte"s aren't MFM-specific, they're relevant to both FM and MFM encoding. So renamed them. Also slimmed syntax within MFM.cpp mostly where emigration from the Acorn disk analyser had left a residue of lengthy namespace specification.
|
2016-12-31 15:25:11 -05:00 |
|
Thomas Harte
|
4c62487e6e
|
Merge pull request #91 from TomHarte/TableCRC
Switches to a table-based implementation of CRC generation
|
2016-12-31 14:16:17 -05:00 |
|
Thomas Harte
|
a147d56ce6
|
Switched to a table-based implementation of CRC generation, adding construction cost to cheapen running cost.
|
2016-12-31 14:15:20 -05:00 |
|
Thomas Harte
|
7b696b0962
|
Switched scheme to shared.
|
2016-12-31 13:11:07 -05:00 |
|
Thomas Harte
|
57bb771fb7
|
It looks like spaces are automatically escaped (?)
|
2016-12-31 13:05:55 -05:00 |
|
Thomas Harte
|
5201a59c44
|
Attempted to introduce Travis CI.
|
2016-12-31 13:03:32 -05:00 |
|
Thomas Harte
|
df6e98fa52
|
Merge pull request #89 from TomHarte/OricDiskWrites
Adds write support for the Oric .DSK file format
|
2016-12-31 12:53:43 -05:00 |
|
Thomas Harte
|
52b850a3f5
|
Quick extra: make sure parsed tracks don't overflow the 6400 byte space available in an MFM disk. Which might be better expressed as 6250?
|
2016-12-31 12:51:52 -05:00 |
|
Thomas Harte
|
cfbab1448c
|
Switched to a track parsing that disallows synchronisation values within sector contents.
|
2016-12-31 12:23:08 -05:00 |
|
Thomas Harte
|
12549ff412
|
Might as well get the file offset before entering the critical section; also moved the lock guard down more explicitly to group with the second set of actions.
|
2016-12-31 11:48:46 -05:00 |
|
Thomas Harte
|
6f0b5427e4
|
Made an attempt to avoid repetition of sync bytes.
|
2016-12-31 00:20:00 -05:00 |
|
Thomas Harte
|
0123b37213
|
Made an attempt to include sync values in the stream and properly to align.
|
2016-12-31 00:11:31 -05:00 |
|
Thomas Harte
|
ea4d85e1cd
|
The virtual disk constructed is the same across all tracks. So why not just request zero?
|
2016-12-31 00:10:35 -05:00 |
|
Thomas Harte
|
f217d508b8
|
Completed first attempt at write support for Oric disk images.
|
2016-12-30 23:12:46 -05:00 |
|
Thomas Harte
|
1f625fad66
|
Decided that if this is an [M]FM parsing function then it should be something more intelligent than a mere PLL record. Which I guess conveniently implies Oric DSK-esque behaviour. But properly defined, rather than very vaguely.
|
2016-12-30 23:10:52 -05:00 |
|
Thomas Harte
|
632b3c63b1
|
Added the infrastructure necessary for Oric disks to appear writeable to the machine and to receive changed tracks.
|
2016-12-30 22:51:48 -05:00 |
|
Thomas Harte
|
d581294479
|
Added get_track to get the PLL output for a complete track.
|
2016-12-30 19:59:23 -05:00 |
|
Thomas Harte
|
0f399b0a0c
|
Made type conversion explicit.
|
2016-12-30 19:59:01 -05:00 |
|
Thomas Harte
|
c6fcc40ac5
|
Merge pull request #88 from TomHarte/WDWrites
Implements write support for the WD.
|
2016-12-30 18:11:00 -05:00 |
|
Thomas Harte
|
3b29e6a473
|
Ensured SSD and ADFs are grown if required.
|
2016-12-30 18:08:12 -05:00 |
|
Thomas Harte
|
07dacff42d
|
Added writing for Acorn ADF disks, plus appropriate TODOs in both similar bits of boilerplate.
|
2016-12-30 18:03:30 -05:00 |
|
Thomas Harte
|
c85450648f
|
Fix: make sure copies have proper event lengths. Also made it much clearer what's going on with the initial copy to the heap.
|
2016-12-30 17:55:46 -05:00 |
|
Thomas Harte
|
c740d9655a
|
Fixed: index_count_ may have been left high by a previous call; reset it just in case.
|
2016-12-30 17:55:06 -05:00 |
|
Thomas Harte
|
d09e7ac1e8
|
Made an attempt at reacting appropriately if the very first thing that looks like a sector doesn't pan out.
|
2016-12-30 17:44:35 -05:00 |
|
Thomas Harte
|
5d63556870
|
Period s need a custom copy constructor too, if they're going to avoid sharing an event_source.
|
2016-12-30 17:39:52 -05:00 |
|
Thomas Harte
|
e5cc77f22d
|
Added an extra sanity check.
|
2016-12-30 17:29:51 -05:00 |
|
Thomas Harte
|
81a3cbac45
|
Ensured a copy is passed for writing back rather than the original.
|
2016-12-30 17:26:44 -05:00 |
|
Thomas Harte
|
63ff5165a4
|
After a quick bit of reading, discovered the virtual copy constructor pattern really is only a convention in C++, and conformed to it. Which hopefully gives copyable tracks.
|
2016-12-30 17:25:39 -05:00 |
|
Thomas Harte
|
71dbd78cf2
|
If asynchronous background processing is to occur on tracks then, given that they inherently have state, they'll need to be copyable, and ideally 'cheaply' (though it's not too great a priority). So started implementing appropriate copy constructors. Also introduced an extra level of indirection to PCMSegmentEventSource so that it can copy itself without copying the underlying PCMSegment , which is 95% of the heft of a track in all currently-implemented cases.
|
2016-12-30 14:23:26 -05:00 |
|