New project: An ACT Apricot F1 "barn find"
-
stephen_usher
- Site sponsor

- Posts: 7376
- Joined: 13 Nov 2017 19:19
- Location: Oxford, UK.
Re: New project: An ACT Apricot F1 "barn find"
Well, I can get two Goteks working or one real floppy but not two floppies or a Gotek and a floppy.
Unfortunately I've got a bit of a head ache this evening and so I'm going to have to give up for the night.
There is another issue, the pins + PCB + socket + disk controller chip stacks too high to fit under the steel frame which holds the power supply and strengthens the case, I may have to redesign the board. I can actually simplify it as there's no point having the clock switchable as I would have to switch pin 17 as well. Also, the inversion of the READY line doesn't seem to work either.
Unfortunately I've got a bit of a head ache this evening and so I'm going to have to give up for the night.
There is another issue, the pins + PCB + socket + disk controller chip stacks too high to fit under the steel frame which holds the power supply and strengthens the case, I may have to redesign the board. I can actually simplify it as there's no point having the clock switchable as I would have to switch pin 17 as well. Also, the inversion of the READY line doesn't seem to work either.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
-
stephen_usher
- Site sponsor

- Posts: 7376
- Joined: 13 Nov 2017 19:19
- Location: Oxford, UK.
Re: New project: An ACT Apricot F1 "barn find"
OK, the headache subsided a bit... and I found one older floppy drive which is able to do "/READY" instead of "/DSKCHG" but I know it's iffy in terms of writing, but it can read disks OK.
So, I tried its twin drive, which is in an external unit along with another Gotek. Both are set up just the same. They should work the same shouldn't they?
Erm, no.
In drives in the external unit (note that all the jumpers are the same) only see 1 drive, but scans both separately but then the floppy drive messes the bus up when the Gotek is accessed! How's that happening? I dunno.
So, I tried its twin drive, which is in an external unit along with another Gotek. Both are set up just the same. They should work the same shouldn't they?
Erm, no.
In drives in the external unit (note that all the jumpers are the same) only see 1 drive, but scans both separately but then the floppy drive messes the bus up when the Gotek is accessed! How's that happening? I dunno.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
-
stephen_usher
- Site sponsor

- Posts: 7376
- Joined: 13 Nov 2017 19:19
- Location: Oxford, UK.
Re: New project: An ACT Apricot F1 "barn find"
I've been investigating the /DSKCHG signal and it seems that it's more complex than I thought.
Essentially, when a disk is inserted into the drive the drive lowers pin 34. The controller is supposed to acknowledge this with either a step in or step out pulse, at which point the line is reset.
So, I think I'm going to have to use a GAL for this, and use another of the CD4013BE flip-flops for each of the drive lines or think of a way of proxying these signals to the controller.
Essentially, when a disk is inserted into the drive the drive lowers pin 34. The controller is supposed to acknowledge this with either a step in or step out pulse, at which point the line is reset.
So, I think I'm going to have to use a GAL for this, and use another of the CD4013BE flip-flops for each of the drive lines or think of a way of proxying these signals to the controller.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
-
stephen_usher
- Site sponsor

- Posts: 7376
- Joined: 13 Nov 2017 19:19
- Location: Oxford, UK.
Re: New project: An ACT Apricot F1 "barn find"
OK, thinking about the disk change problem...
Basically I need to set a flip-flop to change when pin 34 transitions to low so that the next time that that drive is selected the /READY line is sent high. Then the flip-flop needs to be reset. So I'd need two flip-flops for the /READY line state and some logic to put it onto the line to the FDC.
I think that's right. In that way it doesn't matter what the drive actually does as all I need to do is look for a high/low transition when a particular drive is selected... But then again, if the drive doesn't change the state of pin 34 when it's not selected then this will be a problem, so I'll probably have to pulse the /STEP line to the drive as soon as I see the transition. Hmm...
Anyone else have a better idea?
(Basically, the /READY line to the FDC needs to flip from 0v to +5V once when the drive in question is selected directly after the /DSKCHG is asserted but needs to be 0v at all other times. (I think))
Basically I need to set a flip-flop to change when pin 34 transitions to low so that the next time that that drive is selected the /READY line is sent high. Then the flip-flop needs to be reset. So I'd need two flip-flops for the /READY line state and some logic to put it onto the line to the FDC.
I think that's right. In that way it doesn't matter what the drive actually does as all I need to do is look for a high/low transition when a particular drive is selected... But then again, if the drive doesn't change the state of pin 34 when it's not selected then this will be a problem, so I'll probably have to pulse the /STEP line to the drive as soon as I see the transition. Hmm...
Anyone else have a better idea?
(Basically, the /READY line to the FDC needs to flip from 0v to +5V once when the drive in question is selected directly after the /DSKCHG is asserted but needs to be 0v at all other times. (I think))
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
-
stephen_usher
- Site sponsor

- Posts: 7376
- Joined: 13 Nov 2017 19:19
- Location: Oxford, UK.
Re: New project: An ACT Apricot F1 "barn find"
I guess the quick and dirty way of doing it is to have a tri-state device on the /STEP line controlled by the /DSKCHG line, pulling the /STEP line low only when pin 34 is low and letting it float otherwise. But that would break if a drive used /READY signalling.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
-
stephen_usher
- Site sponsor

- Posts: 7376
- Joined: 13 Nov 2017 19:19
- Location: Oxford, UK.
Re: New project: An ACT Apricot F1 "barn find"
Trying to think this through...
Drive 0 selected, pin 34 goes from high to low (falling edge) ONLY. What I need to do:
Repeat for Drive 1 select.
Any ideas on how this could be implemented?
P.S. I think I'd have to latch the /STEP output until the drive select line goes high again (de-selecting the drive) in case the drive immediately re-asserts the line as soon as /STEP goes low.
Drive 0 selected, pin 34 goes from high to low (falling edge) ONLY. What I need to do:
- Whilst drive 0 is still selected bring /READY to +5V.
- Drop /STEP to 0V.
Repeat for Drive 1 select.
Any ideas on how this could be implemented?
P.S. I think I'd have to latch the /STEP output until the drive select line goes high again (de-selecting the drive) in case the drive immediately re-asserts the line as soon as /STEP goes low.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
-
stephen_usher
- Site sponsor

- Posts: 7376
- Joined: 13 Nov 2017 19:19
- Location: Oxford, UK.
Re: New project: An ACT Apricot F1 "barn find"
OK, I'm being stupid, the inputs/outputs with respect to the FDC are inverted, so they're active high, which means that I need a low/high transition on DSKCHG and an OR gate on the STEP line. I suppose I could use an edge trigger (three inverters and an AND gate) to trigger a 555 timer to generate the STEP output and the inverse on the READY line. This could pose a problem if I have a mix of /DSKCHG and /READY drives on the bus but that would be silly anyway.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
-
stephen_usher
- Site sponsor

- Posts: 7376
- Joined: 13 Nov 2017 19:19
- Location: Oxford, UK.
Re: New project: An ACT Apricot F1 "barn find"
OK, I've found a proper timing diagram for /DSKCHG now:
Making this into a /READY signal is going to be difficult.
I guess that I could trigger on a low/high transition on the READY line (the signal from the floppy is inverted by the Schmidt trigger) and send that to the clock input on a flip-flop in feedback mode so that it toggles the output. I'd have to make sure somehow that the flip-flop always has a low output on power on and I would need one for each drive, selected by the drive select line through a couple of AND gates.
Does that sound right?
P.S. I've just seen a problem here. I can't determine the state of the drive, whether it has a disk in it or not, at power up so I could get the state in the opposite sense. I could just trigger a 555 timer circuit on the transition, pulling the READY pin on the FDC low for a set period on the transition but that would mean that the machine may try to read a non-existent disk in the "Activity" interface. Aargh!
Making this into a /READY signal is going to be difficult.
I guess that I could trigger on a low/high transition on the READY line (the signal from the floppy is inverted by the Schmidt trigger) and send that to the clock input on a flip-flop in feedback mode so that it toggles the output. I'd have to make sure somehow that the flip-flop always has a low output on power on and I would need one for each drive, selected by the drive select line through a couple of AND gates.
Does that sound right?
P.S. I've just seen a problem here. I can't determine the state of the drive, whether it has a disk in it or not, at power up so I could get the state in the opposite sense. I could just trigger a 555 timer circuit on the transition, pulling the READY pin on the FDC low for a set period on the transition but that would mean that the machine may try to read a non-existent disk in the "Activity" interface. Aargh!
You do not have the required permissions to view the files attached to this post.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
-
stephen_usher
- Site sponsor

- Posts: 7376
- Joined: 13 Nov 2017 19:19
- Location: Oxford, UK.
Re: New project: An ACT Apricot F1 "barn find"
Diagnosis and testing would go a whole lot simpler if the tools were consistent.
Gotek 1 plus old floppy drive 1 (known poor writing performance), precarious and difficult to power but work in /ready mode on the F1 seemingly.
Gotek 2 plus old floppy drive 2, the twin of 1, in a powered external case. Floppy jumpers the same as floppy 1, same model number as Gotek 1 and jumpers the same, flash to same version of FlashFloppy as Gotek 1 and using the same USB drive: Only sees one device during power up self test and the /READY line is all over the place and it fails to read.
Gotek 2 plus floppy drive 1, same issue. *sigh*
Too tired to do any more tonight. Tomorrow night I may try swapping the Gotek drives and see what happens.
Gotek 1 plus old floppy drive 1 (known poor writing performance), precarious and difficult to power but work in /ready mode on the F1 seemingly.
Gotek 2 plus old floppy drive 2, the twin of 1, in a powered external case. Floppy jumpers the same as floppy 1, same model number as Gotek 1 and jumpers the same, flash to same version of FlashFloppy as Gotek 1 and using the same USB drive: Only sees one device during power up self test and the /READY line is all over the place and it fails to read.
Gotek 2 plus floppy drive 1, same issue. *sigh*
Too tired to do any more tonight. Tomorrow night I may try swapping the Gotek drives and see what happens.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
-
stephen_usher
- Site sponsor

- Posts: 7376
- Joined: 13 Nov 2017 19:19
- Location: Oxford, UK.
Re: New project: An ACT Apricot F1 "barn find"
Thinking about this overnight, this may be a job for a microcontroller, such as an ATTiny85 or similar, as it has memory to hold the state, internal timers etc.
The inputs needed would be:
The inputs needed would be:
- READY (from floppy via motherboard Schmidt trigger)
- MOTORON (from floppy connector)
- Drive Select 0 (from floppy connector)
- READY (to FDC)
- STEP (to floppy via an OR gate with the FDC STEP signal)
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.
Who is online
Users browsing this forum: ClaudeBot, OAI-Search [Bot], rubber_jonnie and 9 guests