Thomas Harte
d031381e70
Gaps provide content, and data chunk lengths seem to be in terms of unencoded bytes.
2022-01-01 18:47:07 -05:00
Thomas Harte
ed1b0b90f7
Makes a first attempt at encoding data.
2022-01-01 18:36:44 -05:00
Thomas Harte
38dd3c5c60
On second thoughts, no need to use a vector here.
2022-01-01 17:15:12 -05:00
Thomas Harte
d3189acaa6
Add a constexpr route that explicitly calculates the simplest possible form.
2022-01-01 17:14:52 -05:00
Thomas Harte
350c98ab4d
Add those densities I've yet discovered the rules for.
2021-12-29 18:15:37 -05:00
Thomas Harte
4f3c754771
Adds exposition.
2021-12-27 19:15:46 -05:00
Thomas Harte
dc994f001d
Mention units.
2021-12-27 18:55:11 -05:00
Thomas Harte
9b6ccbcc95
Parses data and gap stream elements.
2021-12-27 18:12:44 -05:00
Thomas Harte
9d3cf9c73c
Collate descriptions of all tracks.
2021-12-26 14:49:51 -05:00
Thomas Harte
28572d4392
Enforce string-length requirement.
2021-12-26 09:12:44 -05:00
Thomas Harte
0433db0370
Eliminate macro.
2021-12-25 19:36:54 -05:00
Thomas Harte
a6b326da48
Parse the INFO record.
2021-12-25 18:17:13 -05:00
Thomas Harte
e457ce66ea
Adds sanity checks around CAPS block.
2021-12-25 17:32:29 -05:00
Thomas Harte
c118dd8afe
Adds just enough to list all the blocks in an IPF.
2021-12-25 17:27:50 -05:00
Thomas Harte
dba3a3d942
Add through route to an IPF container.
2021-12-25 17:06:47 -05:00
Thomas Harte
6c606b5506
Fix through route to TargetPlatform::TypeDistinguisher
.
2021-12-25 17:06:12 -05:00
Thomas Harte
544c137cb0
Add updated intel.
2021-10-16 13:30:56 -07:00
Thomas Harte
d9d20d9d30
Walk back slightly.
2021-10-14 18:02:58 -07:00
Thomas Harte
b12c640807
Makes drives non-copyable.
...
To avoid error in the future.
2021-10-14 12:37:55 -07:00
Thomas Harte
8960f471a0
Use unspread_bits
for FM and MFM decoding.
2021-10-12 15:18:50 -07:00
Thomas Harte
955cb6411c
Factor out bit spreading.
...
(And do a better job of it)
2021-10-12 14:49:01 -07:00
Thomas Harte
fc4ca4f8e3
I don't think there are sync words at the start of the track.
2021-10-12 10:38:15 -07:00
Thomas Harte
a1f02d0cd8
Add track padding.
2021-10-11 18:05:37 -07:00
Thomas Harte
addf9f9af4
Moves block byte writes into Storage::Encodings::MFM::Encoder
.
2021-10-10 16:06:51 -07:00
Thomas Harte
c4cfcfab8e
Checksums appear to be calculated as 32-bit quantities.
2021-10-10 12:58:10 -07:00
Thomas Harte
5e083426c5
Takes another run at checksums.
...
It turns out I'd read entirely the wrong section of the ADF FAQ. Am now trying to piece things together from various EAB threads.
2021-10-10 11:47:48 -07:00
Thomas Harte
aeaea073c6
Switch both: (i) which bits are odd/even; and (ii) nibble ordering.
2021-10-09 13:45:19 -07:00
Thomas Harte
ed303310bb
Spell out slightly more; this makes debugging a touch easier.
2021-10-06 13:40:48 -07:00
Thomas Harte
ce8f782577
Corrects meaning of IBM-style RDY.
2021-10-06 04:42:44 -07:00
Thomas Harte
6566936be9
Be overt about the intended interface.
2021-10-04 16:45:33 -07:00
Thomas Harte
9012a7f5e1
Merge branch 'master' into Amiga
2021-09-23 23:00:03 -04:00
Thomas Harte
e5a5faa417
Resolves Clang 13 implicit conversion warnings.
2021-09-23 22:53:41 -04:00
Thomas Harte
2b0a4055f7
Makes an attempt at Amiga ADF encoding.
2021-07-16 20:07:17 -04:00
Thomas Harte
7cb16a3fc5
Introduces a shell for Amiga ADF decoding.
2021-07-16 18:11:07 -04:00
Thomas Harte
0b80c1988b
Add Amiga enums.
2021-07-16 17:59:08 -04:00
Thomas Harte
6b47fb38c6
Corrects buffer placement of decoded sectors.
2021-07-03 13:36:01 -04:00
Thomas Harte
bae8bb0c00
Gives the FAT parser responsibility for right trims.
2021-07-02 19:50:27 -04:00
Thomas Harte
a5b7d819a7
Correct FAT parser.
2021-07-02 19:28:13 -04:00
Thomas Harte
fe07a0b1d8
Starts to add a FAT[12] parser.
2021-07-02 18:56:43 -04:00
Thomas Harte
83a54fd6d2
Use the FAT12 boot sector to determine geometry.
2021-06-22 06:54:17 -04:00
Thomas Harte
c1678d7be7
Corrects exposition and transmission of drive selection.
...
What a klutz I've been.
2021-06-21 22:56:25 -04:00
Thomas Harte
199621db08
Observes that the actual guess here is MS-DOS-style.
2021-06-19 23:11:51 -04:00
Thomas Harte
61c127ed2e
Adds Enterprise as a File -> New... machine.
...
And, similarly, exposes it for the route used by SDL.
2021-06-14 20:55:39 -04:00
Thomas Harte
ceae81a332
Add missing header.
2021-05-13 19:11:19 -04:00
Thomas Harte
50ea56e908
Adds support for Macintosh SCSI device images.
...
This is now in addition to the single-partition images previously supported.
2021-05-13 19:06:00 -04:00
Thomas Harte
20c814a4dd
Factors out boilerplate around full-device sector images.
2021-05-01 21:10:46 -04:00
Thomas Harte
4919786825
Relaxes Oric .tap signature check.
2021-04-29 18:00:02 -04:00
Thomas Harte
708c24cc57
This field is counted in half-cycles.
2021-04-26 21:20:32 -04:00
Thomas Harte
7fb3048257
Update AllDisk and AllTape.
2021-04-26 21:04:25 -04:00
Thomas Harte
b7a62e0121
Adds SZX support.
...
Tweaking exposed Spectrum state object as relevant.
2021-04-26 20:47:28 -04:00
Thomas Harte
3348167c46
Ensures AY registers are conveyed.
2021-04-26 17:39:11 -04:00
Thomas Harte
5e08d7db39
Carries through paging state; avoids file rereads.
2021-04-25 20:46:49 -04:00
Thomas Harte
c34cb310a8
Switches to more straightforward handler for .z80-style compression.
2021-04-25 18:07:36 -04:00
Thomas Harte
8d86aa69bc
Adds an assert to check handling of compressed data.
2021-04-25 18:02:31 -04:00
Thomas Harte
cc41ccc5f1
Adds RAM deserialisation.
2021-04-25 17:55:52 -04:00
Thomas Harte
e6252fe0ed
Sneaks up towards loading RAM.
2021-04-25 17:34:43 -04:00
Thomas Harte
03577de675
Adds an empty vessel for .z80 support.
2021-04-25 16:54:34 -04:00
Thomas Harte
d80f03e369
Corrects longstanding deviation from naming convention.
2021-04-25 14:11:36 -04:00
Thomas Harte
fd271d920b
Adds capture and forwarding of border colour.
2021-04-25 14:00:12 -04:00
Thomas Harte
9b65d56ed0
Resolves potential flaw in POPping here.
2021-04-25 13:26:53 -04:00
Thomas Harte
a5098a60ec
Attempts to get in-SNA software to start.
2021-04-25 13:18:26 -04:00
Thomas Harte
7aeb17ac92
Corrects HeaderDoc/etc directive.
2021-04-25 13:01:23 -04:00
Thomas Harte
cc78bfb229
Forwards most of the Z80 state.
2021-04-25 13:00:43 -04:00
Thomas Harte
485c2a866c
Without yet a struct for Spectrum states, at least checks general wiring.
2021-04-24 23:38:00 -04:00
Thomas Harte
14ae579fca
Add further note to future self.
2021-04-24 23:19:41 -04:00
Thomas Harte
d61f478a39
Basic sketch for state snapshots: an extra field on Target.
...
I think it doesn't make sense for states to own a target as that complicates the concept of Media. Plus they're distinct because it makes sense to have only one per Target. Let's see how this pans out.
2021-04-24 23:17:47 -04:00
Thomas Harte
e52649f74d
Normalises logging.
2021-04-04 17:39:49 -04:00
Thomas Harte
51b8dcd011
Fixes is_at_end
— must be at end of file and have finished final block.
2021-03-28 23:25:29 -04:00
Thomas Harte
cc3c3663f6
Makes minor style improvements.
2021-03-22 19:55:03 -04:00
Thomas Harte
388b136980
Relaxes test for a valid TAP.
2021-03-21 20:31:09 -04:00
Thomas Harte
09a6a1905b
Implements TAP support.
2021-03-19 23:29:09 -04:00
Thomas Harte
2ad2b4384b
Introduces a container for ZX Spectrum-style TAPs.
2021-03-19 23:01:49 -04:00
Thomas Harte
54491b35ef
Merge branch 'master' into ZXSpectrum
2021-03-17 12:39:20 -04:00
Thomas Harte
b447f5f174
Starts adding the Spectrum to the static analyser.
2021-03-17 12:38:37 -04:00
Thomas Harte
d368dae94a
Adds tape motor LED.
2021-03-12 23:09:51 -05:00
Thomas Harte
a32a2f36be
Advances to correctly reading bytes.
...
Something is still amiss though. Maybe I'm supposed to update the checksum?
2021-03-12 19:15:35 -05:00
Thomas Harte
064fe7658c
Adds necessary interface to inherit a CPC tape-speed byte.
2021-03-12 18:43:20 -05:00
Thomas Harte
f190a1395a
Enables detection of CPC-format tape data.
...
It turns out that the Spectrum's timings are its alone; speed autodetection added.
2021-03-10 22:02:10 -05:00
Thomas Harte
4eaf3440bd
Add note to self.
2021-03-07 21:21:58 -05:00
Thomas Harte
f985248902
Add header for memcpy.
2021-03-07 21:20:35 -05:00
Thomas Harte
5c90744f0c
More minor style improvements.
2021-03-07 20:49:40 -05:00
Thomas Harte
e9177bbb2a
Makes an attempt to parse headers.
2021-03-07 20:49:09 -05:00
Thomas Harte
ab5e4ca9c7
Factors proceed_to_symbol
upwards.
2021-03-07 20:48:51 -05:00
Thomas Harte
40516c9cec
Minor style improvements: some local const
s, and override
s.
2021-03-07 15:56:58 -05:00
Thomas Harte
d93d380c88
Adds bit-level Spectrum-style tape parsing.
...
More to do, obviously.
2021-03-07 15:51:25 -05:00
Thomas Harte
772093c311
Add missing header.
2021-02-16 22:51:57 -05:00
Thomas Harte
bd54e30748
Adds workaround for Sweet 16, which can produce bad data.
2021-02-16 22:21:10 -05:00
Thomas Harte
6526c645a5
Merge branch 'master' into AppleIIgs
2021-02-02 21:29:38 -05:00
Thomas Harte
2a8e8a4982
Slightly increases logging.
2021-02-02 20:24:19 -05:00
Thomas Harte
07df7572b3
Switch to preferred Acorn-world extension: DAT.
2021-01-31 21:03:09 -05:00
Thomas Harte
906b6ccdb7
This appears to be sufficient for the Electron to _read_ SCSI.
...
So that's step one.
2021-01-31 18:36:29 -05:00
Thomas Harte
f1ba040dd8
This is probably how Acorn hard disk images look (?)
2021-01-31 16:00:52 -05:00
Thomas Harte
b5ecd5f7ef
Merge branch 'master' into AppleIIgs
2021-01-31 11:47:40 -05:00
Thomas Harte
ac95e4d758
Adds support for ADL-format disk images.
2021-01-30 18:39:29 -05:00
Thomas Harte
0bd3103949
Wires in the most common IIgs style of 2MG.
2020-11-24 18:19:34 -05:00
Thomas Harte
9a819d6ca0
Transcribes interesting 2MG fields, albeit without acting on them.
2020-11-23 22:02:32 -05:00
Thomas Harte
b4bf541eec
Adds boilerplate route into a 2MG-handling class.
2020-11-23 21:42:18 -05:00
Thomas Harte
cddd72876f
Flips meaning of ejected bit, to please the IIgs.
2020-11-18 17:20:48 -05:00
Thomas Harte
da8563733b
Adds an informal guarantee.
2020-11-16 19:53:17 -05:00
Thomas Harte
e41faeb557
Adds a quick protection against sector ID buffer overrun.
2020-11-16 19:52:42 -05:00