David Given 
							
						 
					 
					
						
						
							
						
						3c17e74f6d 
					 
					
						
						
							
							Bump the protocol version to ensure people upgrade.  
						
						
						
						
					 
					
						2022-03-26 21:54:29 +00:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						96214bf3fd 
					 
					
						
						
							
							Refactor for better multi-read support. Each read is now held separately, with  
						
						... 
						
						
						
						F_DESYNC being deprecated, and FluxSource returns an iterator which can be used
to retry reads. 
						
						
					 
					
						2022-03-07 00:07:42 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						d157b7b05d 
					 
					
						
						
							
							Make libusbp work on Windows; rework the Microsoft-specific bits of the  
						
						... 
						
						
						
						firmware to match. This does at least allow us to get rid of the patcher. 
						
						
					 
					
						2021-12-12 17:25:24 +00:00 
						 
				 
			
				
					
						
							
							
								dg 
							
						 
					 
					
						
						
							
						
						18d90c44dd 
					 
					
						
						
							
							Rework the flux decoders to add a desync opcode for separating multiple reads  
						
						... 
						
						
						
						in a flux stream. Finally add a unit test for the flux decoder. 
						
						
					 
					
						2021-12-05 14:42:57 +00:00 
						 
				 
			
				
					
						
							
							
								dg 
							
						 
					 
					
						
						
							
						
						298f77f52e 
					 
					
						
						
							
							Add the FL2 reader.  
						
						
						
						
					 
					
						2021-12-05 11:33:19 +00:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						4f0a5e854c 
					 
					
						
						
							
							Attempt to rework the USB handling to make the GreaseWeazle work on Windows and  
						
						... 
						
						
						
						Mac --- we abandon autodetection for anything other that FluxEngines as libusb
is painfully inconsistent with serial devices. 
						
						
					 
					
						2021-05-23 18:53:25 +01:00 
						 
				 
			
				
					
						
							
							
								Eric Anderson 
							
						 
					 
					
						
						
							
						
						f1506d0dbd 
					 
					
						
						
							
							Add firmware support for hard sectors  
						
						
						
						
					 
					
						2020-12-24 17:39:52 -08:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						2b53ac057c 
					 
					
						
						
							
							Fix some bugs which allow erasing tracks with F_FRAME_WRITE_CMD to work again.  
						
						... 
						
						
						
						(F_FRAME_ERASE_CMD always worked.) 
						
						
					 
					
						2020-05-13 23:45:58 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						64694580cd 
					 
					
						
						
							
							Remember to bump the protocol number after the bytecode change.  
						
						
						
						
					 
					
						2020-04-03 21:46:51 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						fc2655ecd6 
					 
					
						
						
							
							Rework the bytecode format to use a much simplified setup: a six-bit timer with  
						
						... 
						
						
						
						the top two bits reserved for pulse and index state. This is actually smaller,
bandwidth-wise, than the old version, and may be smaller than the crunched
version. 
						
						
					 
					
						2020-03-14 18:58:43 +00:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						1a6c6b5420 
					 
					
						
						
							
							The bandwidth tester now tests bandwidth in both directions. It looks like my  
						
						... 
						
						
						
						default USB port only gets about 500kB/s write bandwidth. However, when plugged
into a port with 850kB/s, I still get underrun errors... 
						
						
					 
					
						2020-02-17 23:58:40 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						df8d45bf66 
					 
					
						
						
							
							Rework the output fifo to be a bit more correct about the sync signals, which  
						
						... 
						
						
						
						in turn allows the sequencer to lose less time --- this gets the effective
clock rate down to about 1.01us. However we still seem to lose the last sector
on 18-sector disks and there are some disk reads so something is still wrong. 
						
						
					 
					
						2020-02-17 00:13:13 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						29bdfc043a 
					 
					
						
						
							
							Allow fractional revolutions and non-synced reading. Find more things which  
						
						... 
						
						
						
						need fixing in the firmware sampler. 
						
						
					 
					
						2020-01-27 22:52:25 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						d77841c3b7 
					 
					
						
						
							
							Add the ability to fake the index pulse source, allowing old drives to be used  
						
						... 
						
						
						
						with FluxEngine. 
						
						
					 
					
						2020-01-12 01:23:47 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						bcc9e9d9a5 
					 
					
						
						
							
							Bump the protocol number (I forgot last time I changed the protocol).  
						
						
						
						
					 
					
						2020-01-10 21:04:33 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						32bb956710 
					 
					
						
						
							
							Detect voltage levels *correctly*.  
						
						
						
						
					 
					
						2019-12-11 00:05:34 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						f436d6b582 
					 
					
						
						
							
							Add a feature where we can measure the FDD bus signal voltages using the PSoC's  
						
						... 
						
						
						
						ADCs. Increase the track step pulse width to 6us, because. 
						
						
					 
					
						2019-12-10 22:36:18 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						5ce2acdfb4 
					 
					
						
						
							
							The new decoder architecture now works, at least for the FB100. All I need now  
						
						... 
						
						
						
						is to rewrite every single other decoder. 
						
						
					 
					
						2019-04-18 00:47:28 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						7dd7057e1b 
					 
					
						
						
							
							Bump protocol number.  
						
						
						
						
					 
					
						2019-03-28 23:10:08 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						dfbe839826 
					 
					
						
						
							
							Bump the protocol number.  
						
						
						
						
					 
					
						2019-03-27 22:11:15 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						098b2371a4 
					 
					
						
						
							
							Crunched datastreams are now used when writing.  
						
						
						
						
					 
					
						2019-03-27 21:58:41 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						0453837c03 
					 
					
						
						
							
							The high-density flag now actually changes the high-density line to the drive.  
						
						
						
						
					 
					
						2019-03-26 20:05:16 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						45eaf14133 
					 
					
						
						
							
							Add a flag for setting the drive to high density mode.  
						
						
						
						
					 
					
						2019-03-23 11:32:55 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						4fe27afe9f 
					 
					
						
						
							
							Backed out changeset cd5bed99b0b4 --- erroneously pushed to master.  
						
						
						
						
					 
					
						2019-03-24 17:59:17 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						7f9a85ff77 
					 
					
						
						
							
							Add a flag for setting the drive to high density mode.  
						
						
						
						
					 
					
						2019-03-23 11:32:55 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						379985c2bc 
					 
					
						
						
							
							Rework the sampler state machine, with new, better, simpler bytecode at twice  
						
						... 
						
						
						
						the bandwidth; we now record the state of the index hole. 
						
						
					 
					
						2019-03-06 21:09:07 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						4b0c7b095b 
					 
					
						
						
							
							FINALLY make the UDB-based sampler work... although without rollover, yet.  
						
						... 
						
						
						
						Sadly I seem to also have broken the sequencer. 
						
						
					 
					
						2019-02-27 23:00:47 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						74c6c6db56 
					 
					
						
						
							
							Non-working attempt at replacing the sampler with a UDB datapath (so I can use  
						
						... 
						
						
						
						the FIFO). 
						
						
					 
					
						2019-02-24 14:50:33 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						a77925fe64 
					 
					
						
						
							
							Replace the complicated sampler with 10 lines of Verilog; the hardware should  
						
						... 
						
						
						
						now be able to handle any length of transition. And it's simpler. 
						
						
					 
					
						2019-02-22 20:01:34 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						2527ac2ce9 
					 
					
						
						
							
							Initial support for twin drives and 5.25" drives.  
						
						
						
						
					 
					
						2019-02-11 23:43:44 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						9f64de0c49 
					 
					
						
						
							
							Do a recalibrate when retrying a track read --- it makes things a bit more  
						
						... 
						
						
						
						reliable. 
						
						
					 
					
						2019-02-09 22:55:46 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						4181736073 
					 
					
						
						
							
							Added fe-writetestpattern.  
						
						
						
						
					 
					
						2019-01-23 01:05:49 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						80cb1e7a81 
					 
					
						
						
							
							Add the ability to erase tracks. The writer now erases tracks for which no data  
						
						... 
						
						
						
						is available. 
						
						
					 
					
						2019-01-10 23:51:47 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						4f83aa8623 
					 
					
						
						
							
							Change the USB ID to the new 1209:6e00 one allocated from pidcodes.github.com.  
						
						
						
						
					 
					
						2018-12-14 19:08:19 +01:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						7efaae2f76 
					 
					
						
						
							
							Add the skeleton of the new client app.  
						
						
						
						
					 
					
						2018-10-20 13:28:20 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						8648405710 
					 
					
						
						
							
							Move the old client into its own directory; discover a file I forgot to check  
						
						... 
						
						
						
						in! 
						
						
					 
					
						2018-10-20 11:53:55 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						f9146b2b92 
					 
					
						
						
							
							You can now record multiple revolutions (necessary for the Brother which puts  
						
						... 
						
						
						
						the index hole in the wrong place). Sector header record GCR is solved,
probably; data record GCR is partially solved, although kinda weird (should
check that my pulse train decoder isn't dropping bits). 
						
						
					 
					
						2018-10-19 02:11:38 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						3dec0ac54d 
					 
					
						
						
							
							Add the skeleton of the Brother GCR decoder.  
						
						
						
						
					 
					
						2018-10-18 01:44:59 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						607bb141b3 
					 
					
						
						
							
							Radically rework decoding: there's now a simple statistical clock guesser, and  
						
						... 
						
						
						
						then we read the pulsetrain into nice tidy bits with a proper clock, which
makes the decoder's job way easier. We can actually get rid of the entire MFM
decoder state machine. Also, after sorting out the magic bit patterns at the
beginning of records, we can now reliably pull them out of the bitstream
without needing to know anything about the records themselves. 
						
						
					 
					
						2018-10-18 00:27:48 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						ed5b9c0b8d 
					 
					
						
						
							
							Implement simple precompensation; it makes HD writes more reliable (still not  
						
						... 
						
						
						
						quite right, though), but seems to mangle DD. 
						
						
					 
					
						2018-10-13 20:04:52 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						aa7d420754 
					 
					
						
						
							
							Start work on an autocalibrator to detect precompensation, but something's gone  
						
						... 
						
						
						
						wrong and our reads are all bunk. 
						
						
					 
					
						2018-10-13 12:04:37 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						5d4e929302 
					 
					
						
						
							
							Added the fluxdump command, for exporting a fluxmap into something like  
						
						... 
						
						
						
						Audacity where it can be visualised. 
						
						
					 
					
						2018-10-10 23:02:45 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						1430dfc4e1 
					 
					
						
						
							
							Add the test pattern generator back again. Try some experimental code to  
						
						... 
						
						
						
						convert a fluxmap into an encoding_buffer, but locking each pulse to a us grid.
I'm not sure whether this is good enough for reliable decoding, but early
indications look promising. 
						
						
					 
					
						2018-10-09 23:46:24 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						40b9fbc25d 
					 
					
						
						
							
							Fix ghastly DMA ordering bug leading to corrupted writes. Writes are less  
						
						... 
						
						
						
						corrupted! Still can't reliably read back what I wrote, though. Added a test
pattern feature to write, to aid debugging. 
						
						
					 
					
						2018-10-09 00:23:21 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						30271d7e95 
					 
					
						
						
							
							Just enough writing works to utterly destroy tracks now.  
						
						
						
						
					 
					
						2018-10-06 23:01:24 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						8f1cef48b1 
					 
					
						
						
							
							Realise that the weird data dropouts were due to a stray capacitor on the  
						
						... 
						
						
						
						board... so remove it. Better now. Also realise that PSoC Creator lies to you
about clocks, so adjust the sample clock to be derivable from the USB clock,
making it both the right frequency and much more accurate --- decode success is
dramatically improved (presumably due to less jitter). Redesign the capture
logic to use a timer; simpler now. 
						
						
					 
					
						2018-10-06 18:32:57 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						74d051dff3 
					 
					
						
						
							
							Start sketching out the write code; attempt to make more robust in the face of  
						
						... 
						
						
						
						the weird data dropouts. 
						
						
					 
					
						2018-10-06 13:47:34 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						d6b71beacf 
					 
					
						
						
							
							Reduced the sampling rate to 8MHz; 16MHz means that on a 720kB disk some  
						
						... 
						
						
						
						samples are more than 128 ticks apart! Doubled the settling time to make reads
more reliable; added disk change logic to rehome the disk when you replace
floppies. 
						
						
					 
					
						2018-10-05 22:58:56 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						339cdd5105 
					 
					
						
						
							
							Add a partially working MFM decoder --- MFM's fine, it's aligning to sync bytes  
						
						... 
						
						
						
						which is hard. 
						
						
					 
					
						2018-10-04 00:02:13 +02:00 
						 
				 
			
				
					
						
							
							
								David Given 
							
						 
					 
					
						
						
							
						
						4e19882d76 
					 
					
						
						
							
							Archival checkin of messed-about non-working code to actually read data from  
						
						... 
						
						
						
						disk. Something's wrong with the DMA; requesting a transfer every 2us with a TD
size of 64 bytes is somehow leading to an nrq interrupt every 8us. Mysterious. 
						
						
					 
					
						2018-09-30 01:13:39 +02:00