• MLI call to eject 3.5" disk?

    From Tom Thumb@21:1/5 to All on Tue Jul 26 07:56:16 2022
    Anyone know how to eject a 3.5” disk programmatically? I have a drive where the eject motor functions; Prosel will eject a disk from it after formatting but the button won’t activate the motor. The switch tests good so I don’t know where the
    disconnect is.

    Trivial, I know, but anyone know how or where to find such info. I have the proofs technical reference as well as the //e tech reference but I’m not finding it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tom Thumb@21:1/5 to Tom Thumb on Tue Jul 26 08:41:14 2022
    On Tuesday, July 26, 2022 at 10:56:17 AM UTC-4, Tom Thumb wrote:
    Anyone know how to eject a 3.5” disk programmatically? I have a drive where the eject motor functions; Prosel will eject a disk from it after formatting but the button won’t activate the motor. The switch tests good so I don’t know where the
    disconnect is.

    Trivial, I know, but anyone know how or where to find such info. I have the proofs technical reference as well as the //e tech reference but I’m not finding it.

    I found some info for 3.5 Unidisk in the IIgs firmware reference.

    Of course ProDOS was spell checked to "proofs" originally composed in Mail

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joshua Bell@21:1/5 to justliketom...@gmail.com on Tue Jul 26 08:52:05 2022
    On Tuesday, July 26, 2022 at 8:41:15 AM UTC-7, justliketom...@gmail.com wrote:
    On Tuesday, July 26, 2022 at 10:56:17 AM UTC-4, Tom Thumb wrote:
    Anyone know how to eject a 3.5” disk programmatically? I have a drive where the eject motor functions; Prosel will eject a disk from it after formatting but the button won’t activate the motor. The switch tests good so I don’t know where the
    disconnect is.

    Trivial, I know, but anyone know how or where to find such info. I have the proofs technical reference as well as the //e tech reference but I’m not finding it.
    I found some info for 3.5 Unidisk in the IIgs firmware reference.

    Yep, that's where to look.

    TL;DR: Issue a SmartPort Control ($04) command with the control code $04 in the parameter block.

    Caveats:

    * Don't issue this against devices that are not a UniDisk 3.5. For example, it will cause the FloppyEmu (a modern smartport storage device) to crash. So if you're writing a general purpose utility, issue a Status ($00) call with status code $03 to return
    a Device Information Block (DIB) from the device, and verify that the device type code is $01 (3.5" Disk)

    * If you already know the slot and unit number (e.g. your controller is in Slot 5 and you have only one device plugged in), then you can determine the SmartPort dispatch address per the documentation in the Firmware Reference, and assume the device SP
    unit number is 1 - you're all set to make the eject call. But if you're writing a general purpose utility under ProDOS, given device mirroring in ProDOS 2.x, determining the actual slot and SP unit number is non-trivial if given a volume name or a slot/
    drive combination.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tom Thumb@21:1/5 to inexora on Tue Jul 26 09:30:01 2022
    On Tuesday, July 26, 2022 at 11:52:07 AM UTC-4, inexora wrote:

    Yep, that's where to look.

    TL;DR: Issue a SmartPort Control ($04) command with the control code $04 in the parameter block.

    Thanks. Funny thing, I came across some other info. This drive was connected to a UDC installed in a //e, ,s5,d2. Turns out the eject button doesn't work installed there. I hooked the drive up to the pass through on the ,s5,d1 drive and the eject button
    works. Funny.

    I'm still going to try the SmartPort Control command thing for kicks though.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From waynejstewart@gmail.com@21:1/5 to All on Tue Jul 26 15:33:06 2022
    UDC cards seem to vary in whether the eject button works. On one of mine it never worked so I hooked the eject button up to the eject motor and used it that way for a few years
    Also had a program that I used in ProSel 8 to eject disks

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tom Thumb@21:1/5 to waynej...@gmail.com on Thu Jul 28 08:43:24 2022
    On Tuesday, July 26, 2022 at 6:33:07 PM UTC-4, waynej...@gmail.com wrote:
    UDC cards seem to vary in whether the eject button works. On one of mine it never worked so I hooked the eject button up to the eject motor and used it that way for a few years
    Also had a program that I used in ProSel 8 to eject disks

    Hmm, I guess I need to take this to comp.sys.apple2.programmer. I'm not proficient at apple II assembly; I have a IIgs, //e, and IIc, all working, and I think a complete library of technical references, tech notes and such for all of them and so far am
    not successful issuing a SmartPort call. I've seen David Empson's old posts on the matter but find it hard to understand his posted code. I'll work at it a bit more and then seek more advise in comp.sys.apple2.programmer.

    Somewhat annoyed I'm not clever enough to figure it out.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jerry Penner@21:1/5 to Tom Thumb on Thu Jul 28 22:28:06 2022
    Tom Thumb <justliketomsthumbsblues@gmail.com> writes:

    On Tuesday, July 26, 2022 at 6:33:07 PM UTC-4, waynej...@gmail.com wrote:
    UDC cards seem to vary in whether the eject button works. On one of mine it never worked
    so I hooked the eject button up to the eject motor and used it that way for a few years
    Also had a program that I used in ProSel 8 to eject disks

    Hmm, I guess I need to take this to comp.sys.apple2.programmer. I'm not proficient at
    apple II assembly; I have a IIgs, //e, and IIc, all working, and I think a complete
    library of technical references, tech notes and such for all of them and so far am not
    successful issuing a SmartPort call. I've seen David Empson's old posts on the matter but
    find it hard to understand his posted code. I'll work at it a bit more and then seek more
    advise in comp.sys.apple2.programmer.

    Somewhat annoyed I'm not clever enough to figure it out.

    The magazine Open-Apple, in the January 1987 issue, has source code to
    eject 3.5" disks on Apple 3.5 drives and UniDisk 3.5 drives. You can
    find an issue on Asimov at:

    https://ftp.apple.asimov.net/documentation/magazines/open_apple/Open%20Apple-Vol_2%20No_12-JAN_1987.pdf

    Read pages 2.90 - 2.92. The details of ejecting are near the end of
    page 2.92.

    I have the paper version of this magazine and I remembered it from back
    then, so I looked it up. Fortunately, it's scanned and in PDF form for
    anyone to read.

    --
    Jerry jerry+a2 at jpen.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Tom Thumb@21:1/5 to Jerry Penner on Sat Jul 30 16:08:31 2022
    Awesome, thank you. I hope to sit-down Monday and work on it. I want to JSR and BCC and what not. I see its easy , I'm just not groking it yet, ... Monday, maybe

    On Friday, July 29, 2022 at 12:28:14 AM UTC-4, Jerry Penner wrote:
    Tom Thumb <justliketom...@gmail.com> writes:

    On Tuesday, July 26, 2022 at 6:33:07 PM UTC-4, waynej...@gmail.com wrote:
    UDC cards seem to vary in whether the eject button works. On one of mine it never worked
    so I hooked the eject button up to the eject motor and used it that way for a few years
    Also had a program that I used in ProSel 8 to eject disks

    Hmm, I guess I need to take this to comp.sys.apple2.programmer. I'm not proficient at
    apple II assembly; I have a IIgs, //e, and IIc, all working, and I think a complete
    library of technical references, tech notes and such for all of them and so far am not
    successful issuing a SmartPort call. I've seen David Empson's old posts on the matter but
    find it hard to understand his posted code. I'll work at it a bit more and then seek more
    advise in comp.sys.apple2.programmer.

    Somewhat annoyed I'm not clever enough to figure it out.
    The magazine Open-Apple, in the January 1987 issue, has source code to
    eject 3.5" disks on Apple 3.5 drives and UniDisk 3.5 drives. You can
    find an issue on Asimov at:

    https://ftp.apple.asimov.net/documentation/magazines/open_apple/Open%20Apple-Vol_2%20No_12-JAN_1987.pdf

    Read pages 2.90 - 2.92. The details of ejecting are near the end of
    page 2.92.

    I have the paper version of this magazine and I remembered it from back
    then, so I looked it up. Fortunately, it's scanned and in PDF form for
    anyone to read.

    --
    Jerry jerry+a2 at jpen.ca

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)