Thomas Harte
310c722cc0
Starts a transition to bus-level knowledge of SCSI-specific bus timing thresholds.
...
The idea being that bus attachees need not all count time for themselves. They can be very plain finite state machines.
New semantics are not yet implemented within the Bus. The plan is to do that, remove the internal counting of time within the NCR, then adjust the Target to be more explicitly stateful.
2019-08-31 21:44:22 -04:00
Thomas Harte
25956bd90f
Mildly improves temporary logging.
...
A deckchair shuffle, at best.
2019-08-26 22:35:11 -04:00
Thomas Harte
1a60ced61b
Starts trying to deal with creating a whole volume from merely a partition.
2019-08-25 23:03:54 -04:00
Thomas Harte
081316c071
Adds some additional commentary as this takes shape.
2019-08-25 17:46:05 -04:00
Thomas Harte
eafbc12cc1
Ensures a clean entry into the command phase.
2019-08-25 17:43:14 -04:00
Thomas Harte
ca08716c52
Introduces real hard disk images to the nascent world of SCSI.
2019-08-25 17:03:41 -04:00
Thomas Harte
30cef1ee22
Adds write support.
2019-08-25 15:16:35 -04:00
Thomas Harte
404b088199
Adds a trivial mass-storage device, for Macintosh HFV volumes.
2019-08-25 15:09:27 -04:00
Thomas Harte
7d61df238a
Localises #include.
2019-08-25 15:09:04 -04:00
Thomas Harte
c86db12f1c
Starts implementing DMA support on the 5380.
...
The Macintosh doesn't actually use the DMA signals, but uses pseudo-DMA mode so they nevertheless need to be appropriate.
2019-08-24 22:47:11 -04:00
Thomas Harte
ce2e85af8b
Adds missing bus state callouts.
2019-08-22 23:27:00 -04:00
Thomas Harte
2d82855f26
Attempts to provide a data out phase.
2019-08-22 23:16:58 -04:00
Thomas Harte
faec516a2c
Starts pushing towards figuring out a proper infrastructure for mass storage.
2019-08-21 23:22:58 -04:00
Thomas Harte
f668e4a54c
Makes an attempt at getting the 5380 past arbitration.
...
Not entirely successful. Also gets a bit smarter with `final` on ClockingHint::Sources.
2019-08-15 23:14:40 -04:00
Thomas Harte
b1f04ed96d
Eliminates the crutch of PlusToo BIN files.
...
Thereby returning the .bin extension to the various consoles.
2019-07-28 16:07:16 -04:00
Thomas Harte
786b26d23e
Adds an admission of incompleteness.
...
I really need to figure out the 5-and-3 encoding.
2019-07-26 23:23:40 -04:00
Thomas Harte
d08d8ed22c
Adds a further drift safeguard.
2019-07-26 23:23:01 -04:00
Thomas Harte
39d7e3c62c
Ensures relative_exponent
s less than or equal to -32 don't overflow.
2019-07-26 22:19:40 -04:00
Thomas Harte
572e8b52e1
At the cost of extra storage, attempts to simplify away potential rounding issues around the index hole.
2019-07-26 17:20:32 -04:00
Thomas Harte
9b634472c6
Gets a little more rigorous on "high resolution".
2019-07-26 15:26:51 -04:00
Thomas Harte
d2bfd59953
Ensures positional continuity across rotation speed changes.
2019-07-25 22:29:54 -04:00
Thomas Harte
3d20ae47ea
Ensures cycles_since_index_hole_ is wrapped to track length.
2019-07-25 21:48:01 -04:00
Thomas Harte
77333ff9f7
It appears that file checksums are not reliable.
2019-07-17 14:56:50 -04:00
Thomas Harte
79a624e696
Applies more rigorous logic to deciding when to stop parsing.
2019-07-16 18:06:54 -04:00
Thomas Harte
c123ca1054
Slightly improves syntax.
2019-07-16 18:05:58 -04:00
Thomas Harte
9f0f35033d
Introduces sector interleaving.
2019-07-16 18:05:40 -04:00
Thomas Harte
3633285aaa
Ensures a trailing zero bit isn't dropped.
2019-07-16 16:36:00 -04:00
Thomas Harte
cb16790330
Improves qualifiers.
2019-07-15 22:40:45 -04:00
Thomas Harte
ca37fd8f4c
Corrects tag preservation.
2019-07-15 17:15:06 -04:00
Thomas Harte
46b98dab70
Bumps up the amount of reserved storage.
...
To avoid a reallocation when reading Mac data.
2019-07-15 17:12:31 -04:00
Thomas Harte
0568996264
Fixes a couple of data arrangement issues on output.
2019-07-15 17:11:58 -04:00
Thomas Harte
5b05a9bc61
Extends Drive to report is_writing and so that writing works as the first action.
2019-07-12 18:53:41 -04:00
Thomas Harte
2c39229b13
Adds has-new-disk flag, allowing mounting of software from the desktop.
2019-07-12 13:17:24 -04:00
Thomas Harte
6c2cc206a6
Takes a first stab at write support for Macintosh disk images.
...
Albeit that the Macintosh itself can't yet write.
2019-07-11 18:09:37 -04:00
Thomas Harte
5a9f3cfc1e
Completes Mac GCR decoding and its associated test.
2019-07-11 17:37:07 -04:00
Thomas Harte
8f28b33342
Starts work on Macintosh GCR decoding.
2019-07-11 16:28:52 -04:00
Thomas Harte
c4ab0bb867
Starts sketching out an interface for IWM drives, eliminating a dangling use of unsigned
as it goes.
2019-07-10 16:05:59 -04:00
Thomas Harte
3f303511bd
Adds cstring
include, in support of memcpy
.
2019-07-08 18:06:58 -04:00
Thomas Harte
b9c2c42bc0
Switches drives to using floats for time counting.
...
Hopefully to eliminate a lot of unnecessary `Time` work; inaccuracies should still be within tolerable range.
2019-07-02 15:43:03 -04:00
Thomas Harte
68a3e5a739
Renamed DiskCopy42 to MacintoshIMG, now that it's not just DiskCopy 4.2 files.
2019-06-18 14:32:58 -04:00
Thomas Harte
9730800b6a
Adds support for raw sector dumps.
2019-06-18 14:14:25 -04:00
Thomas Harte
506276a2bd
Corrected: use format tag as intended.
2019-06-18 14:04:28 -04:00
Thomas Harte
df56e6fe53
Fixed: the sector number also goes into sector bodies.
...
Also the checksum is written in the other order, and the final byte of data isn't output.
2019-06-18 10:34:10 -04:00
Thomas Harte
756641e837
Fixed: tags go first, then data.
2019-06-16 22:00:12 -04:00
Thomas Harte
05c2854dbc
Makes at least some attempt at producing real disk tracks.
2019-06-16 21:17:24 -04:00
Thomas Harte
5c8aacdc17
Fixes the more obvious issues with GCR encoding: byte order, top bit selection.
2019-06-16 17:17:24 -04:00
Thomas Harte
fe0dc4df88
Starts building out some tests for Apple GCR encoding.
2019-06-15 22:48:24 -04:00
Thomas Harte
33f2664fe9
Makes a first attempt at Macintosh GCR encoding.
2019-06-15 22:29:02 -04:00
Thomas Harte
a17e47fa43
Apple's GCR header varies between the Mac and the Apple II.
2019-06-15 16:32:56 -04:00
Thomas Harte
877b46d2c1
Advances IWM/drive emulation very close to the point of 'Welcome to Macintosh'.
2019-06-15 16:08:54 -04:00
Thomas Harte
e9d0676e75
Fiddles further with the tachometer.
2019-06-06 21:36:19 -04:00
Thomas Harte
7591906777
Numerous IWM fixes: the machine now seems to be trying to measure the tachometer.
2019-06-06 18:32:11 -04:00
Thomas Harte
08671ed69c
Fixes setting of a Time to a float.
2019-06-05 14:43:34 -04:00
Thomas Harte
511d292e73
Ensures gain noise is forgotten upon assumption of a new track.
2019-06-05 14:43:17 -04:00
Thomas Harte
833258f3d7
Sets things up to allow variable rotation rates, and especially Sony 800kb-style self-selecting rates.
2019-06-04 21:41:54 -04:00
Thomas Harte
b8a1553368
Adds putative support for PlusToo-style BIN files.
...
Albeit a bit of a guess, since it's not intended to be an emulator file format.
2019-06-04 21:41:09 -04:00
Thomas Harte
1033abd9fe
Starts making some space for Macintosh-style GCR encoding.
2019-06-04 15:41:15 -04:00
Thomas Harte
881feb1bd3
Adds preliminary parsing of the Disk Copy 4.2 format.
2019-06-02 13:39:25 -04:00
Thomas Harte
d97348dd38
Eliminates dangling uses of printf
.
2019-03-02 18:07:05 -05:00
Thomas Harte
9c8a2265b5
Breaks infinite loop where signature[0] == 0x1f but some of the rest doesn't match.
2019-03-02 14:47:52 -05:00
Thomas Harte
84d7157dfb
Corrects arithmetic on raw data blocks.
2019-03-02 14:40:48 -05:00
Thomas Harte
ddce4fb46b
Ensures that unexpected padding goes somewhere.
2019-03-02 14:35:16 -05:00
Thomas Harte
1ccee036c4
Switches complete logic behind CAS to wave conversion to parsing tape files.
2019-03-02 14:19:54 -05:00
Thomas Harte
10c98f0a15
Switches TapeUEF to using LOG.
...
Reducing console noise for release builds.
2019-02-02 22:30:10 -05:00
Thomas Harte
2ef6d4327c
Resolves further build warnings.
2019-01-13 20:37:50 -05:00
Thomas Harte
cc95e587db
Adds virtual destructors for various interface classes.
2019-01-13 19:19:01 -05:00
Thomas Harte
ee89be6730
Removes many stray spaces.
2018-11-23 22:32:32 -05:00
Thomas Harte
0d01346ad4
Advertises SMS support and goes as far as realising it needs to spawn a Master System.
2018-09-20 22:04:28 -04:00
Thomas Harte
36ff2105fb
Updates C-style (bool) casts.
2018-09-11 20:37:15 -04:00
Thomas Harte
fc84ae611e
Resolves various instances of spaces in place of tabs.
2018-09-09 20:33:56 -04:00
Thomas Harte
c73445199c
Eliminates a couple of instances of manual memory management.
2018-09-09 20:29:58 -04:00
Thomas Harte
71ec7624ca
Corrects Apple DSK track length, inter-track skew, and Pro-DOS volume number.
2018-08-27 20:56:25 -04:00
Thomas Harte
78c7137427
Avoids observer communication if motor status hasn't changed.
2018-08-03 21:11:22 -04:00
Thomas Harte
3f6944de54
Corrects custom info block parsing.
2018-07-11 22:21:35 -04:00
Thomas Harte
e8f847d288
Fixes CRC generator used to verify Acorn programs.
2018-07-10 20:01:31 -04:00
Thomas Harte
a0f817108e
Minor style fix.
2018-07-10 20:01:11 -04:00
Thomas Harte
bfccadd356
Corrects comment typo.
2018-07-03 21:38:04 -04:00
Thomas Harte
5b3512f1df
Attempts to pick an intelligent place to pad out tracks.
2018-07-03 20:10:22 -04:00
Thomas Harte
6e34e60f8a
Ensures no data is dropped in transcribing a NIB to real track data.
2018-07-03 20:01:07 -04:00
Thomas Harte
abc5c50b2e
Added some additional exposition.
2018-07-02 21:51:53 -04:00
Thomas Harte
1fcb461c42
Ensures that segments are written in a properly-circular fashion.
2018-07-02 19:35:49 -04:00
Thomas Harte
abca38a548
Makes an initial removal of PCMPatchedTrack
. Farewell, old friend.
2018-07-01 22:49:57 -04:00
Thomas Harte
b4be2cd063
Implements PCMTrack::add_segment. Thereby completes PCMTrack::resampled_clone.
2018-07-01 18:28:25 -04:00
Thomas Harte
2d83eeb9c4
Further minor style improvements.
2018-07-01 17:59:43 -04:00
Thomas Harte
4d9e897cc3
Corrects addressing for deserialisation of bytes.
2018-07-01 15:58:56 -04:00
Thomas Harte
be664b5695
Ensures that start positions are properly related to sectors.
2018-07-01 15:53:48 -04:00
Thomas Harte
c3751066b7
Ensures segments are properly sized.
2018-07-01 15:43:31 -04:00
Thomas Harte
77feee8197
Applies minor style improvements.
2018-07-01 15:38:42 -04:00
Thomas Harte
f75af3b45e
Adds some extra exposition.
2018-07-01 14:41:17 -04:00
Thomas Harte
1471a35bb8
Reserves a more appropriate amount of data.
2018-07-01 14:40:48 -04:00
Thomas Harte
555c2a4377
Makes a first sweep at converting the storage underlying PCMSegment to vector<bool>
.
...
This is to remove another pain point, in preparation for the work immediately forthcoming but also work as-yet unknown.
2018-07-01 12:05:41 -04:00
Thomas Harte
16bef0dcd5
Starts the movement towards a world without PCMPatchedTrack.
2018-06-30 20:03:18 -04:00
Thomas Harte
62eef8cb40
Reinstates proper ready behaviour.
2018-06-18 21:35:39 -04:00
Thomas Harte
27657fcde0
Adds necessary header for assert
.
2018-06-10 21:02:19 -04:00
Thomas Harte
e0b75b6e3d
Corrects logic for avoiding overwrite.
2018-06-09 21:47:51 -04:00
Thomas Harte
a694844190
Moves gap 1 into proper ownership.
2018-06-09 17:28:08 -04:00
Thomas Harte
28f2d331a8
Switches to more realistic gaps.
2018-06-09 13:06:45 -04:00
Thomas Harte
dde9b73a22
Creates the through-path that will be necessary for RWTS acceleration.
2018-06-09 12:51:53 -04:00
Thomas Harte
744c35b617
Caps the number of sync bytes inserted at five.
2018-06-06 21:52:26 -04:00
Thomas Harte
9ac21a4e71
Switches to ignoring the byte count, trusting the bit count entirely.
2018-06-06 21:51:55 -04:00