Thomas Harte
|
2f59226300
|
Fixes: DiskROM drive motor control, track_for_sectors' sides.
|
2018-01-07 20:02:40 -05:00 |
|
Thomas Harte
|
999a0c22d4
|
Adds superficial support for MSX .DSK.
In the sense that the file format itself is properly parsed, but the MSX doesn't actually yet have disk hardware.
|
2018-01-07 16:35:57 -05:00 |
|
Thomas Harte
|
0eaac99d74
|
Avoids implicit signed/unsigned comparison in the G64 reader.
|
2017-11-12 17:48:11 -05:00 |
|
Thomas Harte
|
792061a82b
|
Corrects warnings in the CSW, CPC DSK, ZX8081 data encoding, and PRG and binary cartridges.
|
2017-11-12 17:46:06 -05:00 |
|
Thomas Harte
|
5aef81cf24
|
Commutes cross-platform #pragma mark s to //MARK: s.
|
2017-11-12 15:59:11 -05:00 |
|
Thomas Harte
|
bce58683fa
|
Corrects insert explicitly to supply a shared_ptr rather than a raw one.
|
2017-11-11 18:22:41 -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
|
cb0f58ab7a
|
Corrects order-of-initialisation errors in the CPC (again), TextureBuilder, TextureTarget, Z80, MFM parser and binary tape player.
|
2017-11-10 22:57:03 -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
|
c0055a5a5f
|
Further builds up SConstruct, correcting many missed imports and a couple of improper uses of C99 in C++ code.
|
2017-11-09 22:04:49 -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
|
23d5849cda
|
Attempts to map recognised [M]FM errors back to FDC status codes.
|
2017-11-03 21:29:42 -04:00 |
|
Thomas Harte
|
5a3ca0e447
|
Adds output for modified CPC DSKs.
|
2017-11-03 21:10:22 -04:00 |
|
Thomas Harte
|
e384c50580
|
Switches FileHolder to have a usage much closer to FILE *.
Thereby opens a route for file format implementations such as that appearing for CPC DSK that create an in-memory copy and perform a full rewrite.
|
2017-11-02 22:32:00 -04:00 |
|
Thomas Harte
|
f807a6b608
|
Generalises the concept of multiple samplings of an FM/MFM sector, simplifying CPC DSK support and paving the way for generic weak/fuzzy bit support.
|
2017-10-31 21:32:28 -04:00 |
|
Thomas Harte
|
833f8c02a4
|
Switches the CPC DSK implementation to building an in-memory version of the structure up front.
Preparatory to making these things writeable.
|
2017-10-31 19:41:16 -04:00 |
|
Thomas Harte
|
ad9df4bb90
|
Commutes uint8_t * , uint16_t * , uint32_t * , size_t , off_t and long to functional-style casts.
|
2017-10-21 22:30:15 -04: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
|
7f2febeec9
|
Ensures complete DPLL initial state assignment.
|
2017-10-17 22:13:37 -04:00 |
|
Thomas Harte
|
2d7a4fe5f0
|
Switches the MFM shifter to unsigned accumulation.
Since left shifting signed numbers is undefined behaviour.
|
2017-10-17 22:12:04 -04:00 |
|
Thomas Harte
|
b4583e976e
|
Corrects buffer overwrites resulting from failure to treat a number of records of 0x80 as a special case.
|
2017-10-17 20:52:16 -04:00 |
|
Thomas Harte
|
44cdc124af
|
Switches to providing a full record of changes to disk images, rather than feeding them a track at a time.
Gets explicit about `override`s while doing so, to ensure full adaptation.
|
2017-10-07 19:37:36 -04:00 |
|
Thomas Harte
|
b37787a414
|
Ensures lifetime-linked track flushing without relying on virtual calls within a destructor.
|
2017-10-07 19:14:18 -04:00 |
|
Thomas Harte
|
53b99ea248
|
Uses Disk::flush_tracks to elide replacement of dirty tracks.
|
2017-10-06 22:07:42 -04:00 |
|
Thomas Harte
|
97a2be71e3
|
Introduces flush_tracks to Drive, while switching its interface to using Track::Address and adjusting associated integer types.
|
2017-10-06 21:45:12 -04:00 |
|
Thomas Harte
|
edb9fd301c
|
Begins this project's conversion to functional-style casts.
|
2017-10-03 22:04:15 -04:00 |
|
Thomas Harte
|
0fb363ea0e
|
Adds writing support for HFEs.
|
2017-10-03 21:24:20 -04:00 |
|
Thomas Harte
|
1cc85615d5
|
Factors HFE track seeking out from the track fetching method.
|
2017-10-03 20:33:55 -04:00 |
|
Thomas Harte
|
7b01c1bee6
|
Revokes direct visibility of is_read_only_ to subclasses of FileHolder.
|
2017-10-03 19:36:06 -04:00 |
|
Thomas Harte
|
35705c5345
|
Factors out bit reversing from the HFE class.
|
2017-10-03 19:12:45 -04:00 |
|
Thomas Harte
|
ef605eda51
|
Factors out commonalities in SSD/DSD and ADF implementations.
|
2017-09-30 20:30:15 -04:00 |
|
Thomas Harte
|
326857a84d
|
Corrects FM/MFM selection when looking for sectors.
|
2017-09-29 22:48:00 -04:00 |
|
Thomas Harte
|
5dd3945695
|
Factors out the more egregious similarities between ADF and SSD.
|
2017-09-29 22:07:23 -04:00 |
|
Thomas Harte
|
19eb975c73
|
Adds an intermediate step in CP/M directory parsing.
To reduce amount of time spent allocating and reallocating buffers.
|
2017-09-29 21:38:16 -04:00 |
|
Thomas Harte
|
698ffca51b
|
Recasts the [M]FM parser in terms of the new factoring.
Temporarily breaks SSD writing support.
|
2017-09-29 20:08:36 -04:00 |
|
Thomas Harte
|
fe3cc5c57c
|
Removes dead pragma.
|
2017-09-28 20:47:25 -04:00 |
|
Thomas Harte
|
f488854720
|
Switches Oric MFM DSK serialisation to feeding a track serialisation to a shifter.
Thereby eliminates the parser's need to offer get_track.
|
2017-09-27 22:14:50 -04:00 |
|
Thomas Harte
|
51c0c45e04
|
Turns MFM bit length into a globally-available constant.
|
2017-09-27 21:30:09 -04:00 |
|
Thomas Harte
|
c3e1489a8e
|
Introduces Track::Address, a parallel to Sector::Address to enable more uniform storage.
|
2017-09-27 21:29:06 -04:00 |
|
Thomas Harte
|
e3420f62c6
|
Switches the Acorn ADF implementation to using the new track_serialisation/sectors_from_segment route for decomposition of a track into sectors.
|
2017-09-26 22:05:33 -04:00 |
|
Thomas Harte
|
9f4a407f94
|
Switches the track serialiser to a more standard header + implementation separation.
Also introduces a full priming of the PLL before deserialisation begins.
|
2017-09-26 22:01:32 -04:00 |
|
Thomas Harte
|
5dda897334
|
Changes function name to sector_size — into line with idioms.
|
2017-09-26 22:00:19 -04:00 |
|
Thomas Harte
|
3982e375e3
|
Introduces a route from a PCMSegment to a list of [M]FM sectors.
|
2017-09-25 19:57:11 -04:00 |
|
Thomas Harte
|
a8524daecb
|
Marks the move constructor as noexcept, to improve usage with vector .
|
2017-09-25 19:53:22 -04:00 |
|
Thomas Harte
|
d1ce764201
|
Provides SectorsFromSegment, a bitstream to sector converter.
|
2017-09-24 22:41:16 -04:00 |
|
Thomas Harte
|
8875982e1f
|
Ensures Sectors are move constructible (and still default constructible), and adds proper const qualifiers to Sector::Address.
|
2017-09-24 22:40:38 -04:00 |
|
Thomas Harte
|
3319a4f589
|
Isolates those Sector fields that describe its address and makes them usable as a set key.
|
2017-09-24 21:57:21 -04:00 |
|