Page 1 of 3 123 LastLast
Results 1 to 10 of 25

Thread: OpenAmigaDriveSwitcher: Use first external drive as DF0:

  1. #1
    SukkoPera's Avatar
    Join Date
    Nov 2017
    Country
    Italy
    Region:
    Turin
    Age
    39
    Posts
    414
    Feedback
    49 (100%)

    Red face OpenAmigaDriveSwitcher: Use first external drive as DF0:

    Up for sale is OpenAmigaDriveSwitcher, a simple board to be sandwiched between the even CIA and its socket, which will make the first external disk drive appear in place of the internal drive.

    This is very handy for Gotek users who do not want to put their Goteks inside their Amigas or just prefer to keep them outside in order to read the display easily or to swap them easily between different computers. This might be problematic, since pre-2.0 Kickstarts only boot floppies from DF0: and older games assume they are running on the internal drive anyway, so they won't work correctly if booted from other drives.

    With this device you can easily turn DF1: into DF0: at the flick of a switch, provided that the Amiga is powered off. Note that when the swap is in effect, the internal drive just "disappears", it does NOT become DF1:.

    What makes OpenAmigaDriveSwitcher different from other similar devices out there is that it can be driven with a logic signal. This means you can avoid drilling a hole in your precious case and rather use some electronic means to generate the switch signal:


    • For instance, the signal can come from an OpenAmigaMouseTrigger detecting mouse presses when the Amiga is powered on: you just turn on your Amiga while holding LMB and DF1: becomes DF0:.


    • Another possibility is to wire a microcontroller to the keyboard lines and detect a particular keypress, such as the reset combo. A simple sketch to be loaded on an Arduino for this purpose is provided: you keep the reset combo pressed for two seconds and DF1: becomes DF0:, you don't even need to power off your Amiga!


    • Of course, it can also be used with a simple SPDT switch, if so you prefer!



    This board is my own design, derived from similar projects found on the Net. It is Open Hardware, please refer to https://github.com/SukkoPera/OpenAmigaDriveSwitcher for more information.

    ONLY ONE PIECE LEFT UNTIL NEXT BATCH!


    As usual, you can either buy the PCB alone or a kit with all the needed components, i.e.:


    • 1xPCB
    • 1x40-pin socket
    • 2x20-machined-pin male header strip
    • 1x74LS157
    • 1x100nF ceramic capacitor
    • 1x3-pin 90 male header


    Prices:

    • PCB: 2,50€
    • Kit: +4,00€
    • With Machined-Pin Socket: +1,00€ over standard kit


    In addition to what is provided in the kit, you will need a switch and some wire. I also have a small amount of these available:

    • 1xSPDT switch: +0,50€
    • 3-core wire (30 cm/1 ft): +0,50€


    The switch can either be installed into the back of the case by drilling a small hole or be left wandering in the trapdoor slot, at the user's preference (at least on A500s). It can either be connected to the header pins or soldered to the available pads, they are equivalent.

    Currently, the device has been tested and found working on A500, A500+ and A2000. In all cases, when the device is installed, you will still be able to place the metal shield and close the case.

    Payment methods accepted: PayPal Family & Friends (or add commissions), Bank Transfer, Satispay (for Italian buyers)

    Items will ship worldwide from Italy. All shipments will be trackable and at cost. As a rule of thumb, shipping of a single kit should be 3,50€ to Europe, 4,50€ to the US and 5,50€ to Africa, Asia and Australia. Add 6€ for tracked & signed for. Ask for exact quote.

    Item is also on sale elsewhere.

    Feel free to ask any questions.



    My Sales:



    Last edited by SukkoPera; 15th May 2019 at 16:20. Reason: Price Drop

  2. #2
    SukkoPera's Avatar
    Join Date
    Nov 2017
    Country
    Italy
    Region:
    Turin
    Age
    39
    Posts
    414
    Feedback
    49 (100%)

    Default

    I must admit I expected a little bit more enthusiasm for this item .

    Anyway, still for sale with a slight price drop.

  3. #3
    SukkoPera's Avatar
    Join Date
    Nov 2017
    Country
    Italy
    Region:
    Turin
    Age
    39
    Posts
    414
    Feedback
    49 (100%)

    Default

    Bump!

  4. #4
    PRS's Avatar
    Join Date
    Dec 2015
    Country
    Dutchieland (Netherlands)
    Region:
    Utr
    Posts
    233
    Feedback
    23 (100%)

    Default

    Hi SukkoPera,

    I really appreciate you're efforts of making new hardware for the Amiga's available.

    Please forgive my ignorance, but the DF0/DF1 switches that I know off are just hardware switches that changes the channel lines. Why is yours different/better and needs a 74LS157 to do the same?

    Personally, I would like to see a version that does not need drilling a hole for a switch, but could be used by holding a certain key or mouse during a hard reset.


    Again, this is not to criticize you but I'm interested in the differences.
    Amiga 500 Rev.3 (stock) and 500 Plus (2MB chip, GVP A530 8MB, A500Flash)
    CDTV (2MB chip, 8MB fast, SCSI, kickstartswitch)
    Amiga 1200d Rev. 1d4 (BPPC 66/333Mhz, BVision, HxC floppy, PicoPSU, RapidRoad)
    Amiga 4000d (Cyberstorm mk III 68060@50Mhz, Picasso IV, RapidRoad)

  5. #5
    Fook42's Avatar
    Join Date
    Sep 2016
    Country
    Germany
    Region:
    Niedersachsen
    Posts
    259
    Feedback
    32 (100%)

    Default

    the presented solution here seems to be a copy of other projects .. but the author here is not giving any credit to the other members of the AMIGA community
    sorry, but this is not the way the community works @SukkuPera.

    Quote Originally Posted by PRS View Post
    Personally, I would like to see a version that does not need drilling a hole for a switch, but could be used by holding a certain key or mouse during a hard reset..
    we developed exactly this... ..

    i would suggest to look at the A1K-board and look for the "Bootselector A500"-thread here: https://www.a1k.org/forum/showpost.php?p=1227523&postcount=242

  6. #6
    SukkoPera's Avatar
    Join Date
    Nov 2017
    Country
    Italy
    Region:
    Turin
    Age
    39
    Posts
    414
    Feedback
    49 (100%)

    Default

    Quote Originally Posted by PRS View Post
    Hi SukkoPera,
    Please forgive my ignorance, but the DF0/DF1 switches that I know off are just hardware switches that changes the channel lines. Why is yours different/better and needs a 74LS157 to do the same?

    Personally, I would like to see a version that does not need drilling a hole for a switch, but could be used by holding a certain key or mouse during a hard reset.


    Again, this is not to criticize you but I'm interested in the differences.
    Criticism is always welcome if done in a constructive manner!

    And well, you got straight to the point: this switcher uses a 157 so that it can be driven with a logic signal. This signal can come from a simple switch or from a microcontroller detecting arbitrary keypresses or the reset combination. I can write a sketch to load on an Arduino Nano for the purpose if you want. That was part of the original idea but I haven't done it yet. EDIT: Done, see post #9 below.

    ... Or it can come from something like my own OpenAmigaMouseTrigger which can detect mouse presses when the Amiga is powered on. This was the intended way of using this switcher, it is described in the project README which I forgot to put online, sorry for that. EDIT: Done, see here.

    So in the end it should work exactly as you describe: you turn the Amiga on while holding LMB and drives get swapped.

    Quote Originally Posted by Fook42 View Post
    the presented solution here seems to be a copy of other projects .. but the author here is not giving any credit to the other members of the AMIGA community
    sorry, but this is not the way the community works @SukkuPera.
    This is an example of non-constructive criticism: OpenAmigaDriveSwitcher was my own idea, I didn't copy it from anywhere. But come on, the idea is very simple and whoever has played with electronics for a while would do it this way: there aren't exactly too many ways of doing it, so it's no surprise to me that somebody else has come up with the very same method.

    ... If that's what you say there, as the page you linked is in German and not everybody SPRICHT DEUTSCH IN DER WELT. Oh, and that forum is so open that you cannot even see pictures if you are not a registered user and GUESS WHAT? Registrations are closed at this time!

    If there's a way the community does NOT work is when somebody bashes someone else's work without doing proper research. If you had just bothered to look at my other projects, you would have noticed that I ALWAYS credit my sources when I derive something from someone else's work or even when I just find useful information. But I guess you want proof, so here you go:




    Is that enough? I have more if you want.

    Oh, and not to mention that I have further expanded the idea for the next version of OpenAmigaDriveSwitcher, prototype PCBs are currently on the way from China, I will release it after proper testing. How could I have done that if I had just blindly copied your idea?

    Also, can you see how many OPEN projects I have developed? People like you are those who make people like me feel like taking them all down and just keep them for ourselves.
    Last edited by SukkoPera; 20th November 2018 at 11:13.

  7. #7
    PRS's Avatar
    Join Date
    Dec 2015
    Country
    Dutchieland (Netherlands)
    Region:
    Utr
    Posts
    233
    Feedback
    23 (100%)

    Default

    Interested
    Amiga 500 Rev.3 (stock) and 500 Plus (2MB chip, GVP A530 8MB, A500Flash)
    CDTV (2MB chip, 8MB fast, SCSI, kickstartswitch)
    Amiga 1200d Rev. 1d4 (BPPC 66/333Mhz, BVision, HxC floppy, PicoPSU, RapidRoad)
    Amiga 4000d (Cyberstorm mk III 68060@50Mhz, Picasso IV, RapidRoad)

  8. #8
    SukkoPera's Avatar
    Join Date
    Nov 2017
    Country
    Italy
    Region:
    Turin
    Age
    39
    Posts
    414
    Feedback
    49 (100%)

    Default

    PM replied to.

  9. #9
    SukkoPera's Avatar
    Join Date
    Nov 2017
    Country
    Italy
    Region:
    Turin
    Age
    39
    Posts
    414
    Feedback
    49 (100%)

    Default

    Please find attached a quick-but-not-so-dirty sketch that can be loaded on any Arduino (Uno, Nano, Pro Mini, Leonardo, Micro... Or even on a Digispark if pins are reorganized) in order to allow triggering OpenAmigaDriveSwitcher by holding the Reset combo (CTRL+A+A).

    I will sort everything out properly in the weekend.

    Code:
    /*******************************************************************************
     * This file is part of OpenAmigaDriveSwitcher.                                *
     *                                                                             *
     * Copyright (C) 2018 by SukkoPera <software@sukkology.net>                    *
     *                                                                             *
     * OpenAmigaDriveSwitcher is free software: you can redistribute it and/or     *
     * modify it under the terms of the GNU General Public License as published by *
     * the Free Software Foundation, either version 3 of the License, or           *
     * (at your option) any later version.                                         *
     *                                                                             *
     * OpenAmigaDriveSwitcher is distributed in the hope that it will be useful,   *
     * but WITHOUT ANY WARRANTY; without even the implied warranty of              *
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               *
     * GNU General Public License for more details.                                *
     *                                                                             *
     * You should have received a copy of the GNU General Public License           *
     * along with OpenAmigaDriveSwitcher. If not, see                              *
     * <http://www.gnu.org/licenses/>.                                             *
     *******************************************************************************
     */
    
    
    /* Define this to remember whether drives are swapper or not at power off. If
     * this is disabled, drives will NEVER be swapped at power on.
     */
    #define REMEMBER_STATE
    
    
    /* This pin goes to KB_RESET. On an A500 this signal is available on the 3rd pin
     * from left of the keyboard connector or on Gary pin 5.
     */
    const byte PIN_KB_RESET = 2;
    
    
    /* Pin for a signaling led: blinks once when a reset is detected and thrice when
     * reset is held long enough and drive switching takes place.
     */
    const byte PIN_LED = LED_BUILTIN;
    
    
    /* Goes to the SWAP pin on OpenAmigaDriveSwitcher.
     */
    const byte PIN_OUTPUT = 12;
    
    
    /* Time (in milliseconds) the reset combo must be held to trigger the drive
     * switching.
     */
    const unsigned long TRIGGER_TIME = 2000;
    
    
    #ifdef REMEMBER_STATE
    const word STATE_EEPROM_OFFSET = 1;
    
    
    #include <EEPROM.h>
    #endif
    
    
    byte outputLevel = LOW;
    
    
    void setup () {
      pinMode (PIN_KB_RESET, INPUT_PULLUP);
      pinMode (PIN_LED, OUTPUT);
      pinMode (PIN_OUTPUT, OUTPUT);
    
    
    #ifdef REMEMBER_STATE
      outputLevel = EEPROM.read (STATE_EEPROM_OFFSET);
    #endif
    
    
      digitalWrite (PIN_OUTPUT, outputLevel);
    }
    
    
    void loop () {
      static unsigned long resetDetectedTime = 0;
    
    
      if (digitalRead (PIN_KB_RESET) == LOW) {
        if (resetDetectedTime == 0) {
          // Just pressed
          resetDetectedTime = millis ();
    
    
          // Quick flash led
          digitalWrite (PIN_LED, HIGH);
          delay (50);
          digitalWrite (PIN_LED, LOW);
        } else {
          // Reset held
          if (millis () - resetDetectedTime >= TRIGGER_TIME) {
            for (byte i = 0; i < 3; ++i) {
              digitalWrite (PIN_LED, HIGH);
              delay (50);
              digitalWrite (PIN_LED, LOW);
              delay (50);
            }
    
    
            outputLevel = !outputLevel;
            digitalWrite (PIN_OUTPUT, outputLevel);
    
    
    #ifdef REMEMBER_STATE
          EEPROM.write (STATE_EEPROM_OFFSET, outputLevel);
    #endif
    
    
            // Start over
            resetDetectedTime = millis ();
          }
        }
      } else {
        resetDetectedTime = 0;
      }
    }


    Last edited by SukkoPera; 14th November 2018 at 00:05.

  10. #10
    roc's Avatar
    Join Date
    Apr 2011
    Country
    Italy
    Region:
    EU
    Posts
    171
    Feedback
    37 (100%)

    Default

    Expressing interest for one. PM already exchanged.

Page 1 of 3 123 LastLast

Similar Threads

  1. Replies: 9
    Last Post: 23rd September 2018, 08:33
  2. Replies: 3
    Last Post: 27th April 2018, 17:54
  3. Replies: 6
    Last Post: 26th January 2018, 13:58
  4. Replies: 3
    Last Post: 9th September 2017, 02:27
  5. Replies: 3
    Last Post: 20th July 2015, 22:54

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •