floppy.vin the source code archive on that page). It seems this project was doing exactly what you are aiming for: a quick fix to get something running. It also has a preprocessed system disk image in the archive).
@lawrie Had a second look. Complexity looks manageable, but I'm not sure it translates 1:1 to the ULX3S.
The essence of the floppy stuff is in two files: iwm.v (this implements the logic of the drive controller 275 lines) and floppy.v (this implements a model of the floppy drive, 375 lines). If I understand the code correctly, it skips (de-)serialising the data and passes bytes between the two instead - which makes sense. The floppy model implements a fake motor speed signal, which I guess is needed for the Mac ROM code to work.
The floppy model gets its data from a parallel flash chip on the Altera DE1 board - for which we do not have a direct equivalent on our board. I think the iwm.v code can be used more or less in tact (probably it is also in the Mister code). The floppy.v code would need the flash rom replaced by an interface to the ESP32. Doable, but not a 10-line fix.
@lawrie I suppose the chip is pin constrained and hence has indirect addressing of its registers. The TI 9918 video controller from MSX has something similar. Inconvenient? yes; insane? maybe.
It would seem to me that we are in luck that the DSD bit is located in register 0, which is the one that is selected by default. So, I would think that all that is needed in a minimal implementation is to respond to reads with ab = D/C = 0 (i.e. control, not data) and ab = A/B to select between X1 (A channel, 1) and Y1 (B channel, 0). The DSD bit (which is wired to X1/Y1) is bit no. 3.