Thomas Harte
|
05d77d3297
|
Also deploys make_unique/shared to avoid type repetition.
|
2019-12-21 23:52:04 -05:00 |
|
Thomas Harte
|
ee89be6730
|
Removes many stray spaces.
|
2018-11-23 22:32:32 -05:00 |
|
Thomas Harte
|
e8f847d288
|
Fixes CRC generator used to verify Acorn programs.
|
2018-07-10 20:01:31 -04:00 |
|
Thomas Harte
|
853261364e
|
Generalised CRC generation and created specific subclasses for the CCITT CRC16 and CRC32.
|
2018-05-23 22:21:57 -04:00 |
|
Thomas Harte
|
7226d8d4f7
|
Eliminates all instances of µ.
|
2018-05-13 15:46:14 -04:00 |
|
Thomas Harte
|
ad9b0cd4e3
|
Eliminates all endashes.
|
2018-05-13 15:43:03 -04:00 |
|
Thomas Harte
|
0b771ce61a
|
Removes all instances of the copyright symbol.
|
2018-05-13 15:19:52 -04:00 |
|
Thomas Harte
|
4c6dc597f4
|
Converts Time::get into a template, introduces a via-a-double fallback for the timed event loop.
|
2018-04-25 19:54:39 -04:00 |
|
Thomas Harte
|
21efb32b6f
|
Integrates the static and nascent dynamic analyser namespaces.
|
2018-01-24 21:48:44 -05:00 |
|
Thomas Harte
|
def82cba49
|
Makes MSX tape parsing more tolerant to phase.
Also reintroduces proper file type association for TSX on the Mac.
|
2018-01-10 21:54:15 -05:00 |
|
Thomas Harte
|
5fd0a2b9ea
|
Attempts to pull reimplementations of TAPION and TAPIN better into line with originals.
Also improves whole flow of the fast tape hack that uses them.
|
2017-12-28 22:48:04 -05:00 |
|
Thomas Harte
|
c4950574ea
|
Introduces an attempted reimplementation of the MSX BIOS's two main tape reading entry points.
|
2017-12-26 22:19:37 -05:00 |
|
Thomas Harte
|
2e15fab651
|
Doubles down on <cX> over <X.h> for C includes, and usage of the namespace for those types and functions.
|
2017-11-11 15:28:40 -05:00 |
|
Thomas Harte
|
d9e56711ce
|
Corrects order-of-initialisation errors in the Amstrad CPC, Vic-20, Oric, Commodore File, MFM disk controller, UEF and Commodore tape parser.
|
2017-11-10 22:47:10 -05:00 |
|
Thomas Harte
|
fabaf4e607
|
Adds missing include files, corrects bad include paths and eliminates the Clang-specific __undefined .
|
2017-11-10 21:56:53 -05:00 |
|
Thomas Harte
|
cb015c83e1
|
Eliminated C99-style struct initialisations.
|
2017-11-10 19:14:19 -05:00 |
|
Thomas Harte
|
2203499215
|
Enables -Wreorder and corrects a few of the more trivial fixes thereby suggested.
|
2017-11-09 22:14:22 -05:00 |
|
Thomas Harte
|
6e1d69581c
|
Eliminates a variety of end-of-line spaces.
|
2017-11-07 22:54:22 -05:00 |
|
Thomas Harte
|
f95515ae81
|
Eliminates a large number of instance of end-of-line tabs.
|
2017-11-07 22:51:06 -05:00 |
|
Thomas Harte
|
e983854e71
|
Converts all uint8_t and uint16_t casts to the functional style.
|
2017-10-21 21:50:53 -04:00 |
|
Thomas Harte
|
ec999446e8
|
Commutes int and unsigned casts to the functional style.
|
2017-10-21 21:00:40 -04:00 |
|
Thomas Harte
|
5e3e91373a
|
Switches all unsigned int and double casts to functional style.
|
2017-10-21 19:49:04 -04:00 |
|
Thomas Harte
|
7c8e830b90
|
Adjusted the Acorn tape parser to avoid signed left shifts.
|
2017-10-17 22:34:49 -04:00 |
|
Thomas Harte
|
edb9fd301c
|
Begins this project's conversion to functional-style casts.
|
2017-10-03 22:04:15 -04:00 |
|
Thomas Harte
|
698e4fe550
|
Tidies the Disk file hierarchy.
|
2017-09-22 22:39:23 -04:00 |
|
Thomas Harte
|
9d953421d8
|
After a quick check, added a couple of other _delegate initialisations. I should probably find a way to template this.
|
2017-08-01 07:07:43 -04:00 |
|
Thomas Harte
|
b3ae920746
|
Converted the DPLL and disk controller classes to be ClockReceiver s.
|
2017-07-24 21:04:47 -04:00 |
|
Thomas Harte
|
313b36944f
|
Ensured that the final bit of a tape isn't dropped even if the tape ends exactly after it, by not posting a false pulse, being less restrictive about what can cap a bit, and in any case using a long gap as the end-of-file bookend.
|
2017-07-22 15:41:33 -04:00 |
|
Thomas Harte
|
456fdda6c2
|
Ensured that the mark_end step can't overwrite another recognised symbol.
|
2017-07-22 15:40:22 -04:00 |
|
Thomas Harte
|
06ea81fdb2
|
Made sure that unrecognised waves don't block the symbol queue, and allowed any type of nonsense to be skipped before finding a byte.
|
2017-07-21 20:23:26 -04:00 |
|
Thomas Harte
|
d69b1e2d11
|
Switched parsing logic to looking only for upward zero crossings, that being my new understanding of the ROM.
|
2017-07-21 19:39:38 -04:00 |
|
Thomas Harte
|
130d598ec9
|
Corrected some minor out-of-style breaks, and ensured that the name of ZX81 files is returned.
|
2017-07-17 19:52:54 -04:00 |
|
Thomas Harte
|
2179edc7fe
|
Adjusted to allow the very first thing found to be data, and ensured that unrecognised symbols break files just as gaps do.
|
2017-07-17 07:43:47 -04:00 |
|
Thomas Harte
|
c2bc34fd87
|
Eliminated the PLLParser class. I think the proper abstraction if and when another machine requires PLL-esque parsing is probably to template out the Acorn wiring of a PLL to a Parser, and/or generalise the Acorn shifter. It'll be easier to decide when the time comes.
|
2017-07-16 19:25:26 -04:00 |
|
Thomas Harte
|
1d3ae31755
|
Abstracted the concept of an Acorn shifter away from being a PLLParser. The Acorn tape parser now skips using that class and uses the shifter. The actual Electron also uses the shifter. So the two are completely aligned. Net result: the Electron should successfully load exactly when static analysis was successful.
|
2017-07-16 19:24:01 -04:00 |
|
Thomas Harte
|
e5188a60dc
|
Settled on the new average-of-length approach to a PLL window sizing, eliminating the old errors-of-phase approach. Since it anchors automatically to the original target clocks per bit, killed the explicit mention of a tolerance.
|
2017-07-16 19:03:50 -04:00 |
|
Thomas Harte
|
e71d13c090
|
With the new PLL implementation, switching to a deeper window size returns the Acorn tape parser to: working.
|
2017-07-16 17:12:12 -04:00 |
|
Thomas Harte
|
c8575fe6e0
|
Mild clean ups, and a tweak to permitted top and bottom phase.
|
2017-07-16 13:39:08 -04:00 |
|
Thomas Harte
|
253f9603ed
|
Split the normal tape parser class into two in order to add a new option: a PLL-driven tape parser. Decided to see what happens if I attempt to use that to parse CSW Acorn data.
|
2017-07-15 19:07:35 -04:00 |
|
Thomas Harte
|
648618d280
|
Tweaked bit timing decision.
|
2017-07-13 21:26:05 -04:00 |
|
Thomas Harte
|
2f42874fd3
|
Another fix to deal with real-time fighting: allow 8 and 18 pulses to be recognised as 1s and 0s. That's because the hand-off from ROM routines to parsing may occur very shortly before the first pulse of a valid sequence, making it look like there's a ghost. A cleaner solution needs to be found, probably revolving around allowing parsers to be attached to tapes and therefore to run constantly.
|
2017-07-06 22:33:03 -04:00 |
|
Thomas Harte
|
919fc48cc5
|
Fixed dumb out-of-bounds access error.
|
2017-06-22 22:28:50 -04:00 |
|
Thomas Harte
|
2c6414ce11
|
Adjusted to allow inspect_waves to swallow a gap before a bit if necessary, increasing the opportunities for its call.
|
2017-06-11 18:31:09 -04:00 |
|
Thomas Harte
|
b07af2660d
|
Adjusted to make sure that the very end of a tape is properly measured.
|
2017-06-08 21:33:35 -04:00 |
|
Thomas Harte
|
bc0d70b2f7
|
Added: a shout-out when the tape has been exhausted.
|
2017-06-08 21:32:27 -04:00 |
|
Thomas Harte
|
7e10c7f9d8
|
Relocated the ZX80/81 concept of a 'file' out from Tape into Data, given that it's an exact duplicate of memory.
|
2017-06-08 19:09:51 -04:00 |
|
Thomas Harte
|
c47128f433
|
Widened tolerances and ensured zero bits aren't prematurely discarded.
|
2017-06-07 17:50:03 -04:00 |
|
Thomas Harte
|
dbd2944c13
|
Took an initial run at the ZX80/81 parser.
|
2017-06-07 17:27:05 -04:00 |
|
Thomas Harte
|
4603fa6f24
|
Extended explicitly to support a token of lookahead, which is pretty much what was on offer anyway. Also corrected instance variable names, as per better adoption of C++ norms.
|
2017-06-07 17:21:57 -04:00 |
|
Thomas Harte
|
60300851ea
|
Started sketching out a tape parser for ZX80 and '81 files. I think this'll help me to verify whether the .O input is working.
|
2017-06-07 10:12:13 -04:00 |
|