OpenAmigaDriveSwitcher: Use first external drive as DF0:

Status
Not open for further replies.

SukkoPera

Active member
Rating - 100%
72   0   0
Joined
Nov 24, 2017
Posts
636
Country
Italy
Region
Turin
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.

Foto%2007-08-18%2C%2009%2034%2032.jpg


My Sales:


 
Last edited:
I must admit I expected a little bit more enthusiasm for this item :unsure:.

Anyway, still for sale with a slight price drop.
 
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.
 
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.

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
 
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.

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:
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:
Package for roc shipped this morning.

Need to reply to PM from PRS.

Also, I still haven't had time to put the project on GitHub, I have been working on some more Arduino ideas, as hinted a few posts ago. Will fix this ASAP.
 
Interested in the unit that uses mouse presses to switch, is that part of it or does that need extra wires to be installed? TIA!!
 
That will be two parts with 3 wires inbetween and a 4th wire going to Paula (or some other point on the mainboard where you can pick up the LMB signal).
 
Expressing interest for one. PM already exchanged.

The shipment has been quick and the adapter works as a champ. Already installed on one of my miggies.

Excellent feedback released and keep in touch for future deals.

Thank you
 
Glad you like your purchase! Thanks for your feedback, just left it too :).

Feel free to share pictures of your installation if you can/want!
 
Last edited:
Status
Not open for further replies.
Back
Top Bottom