Code Monkey home page Code Monkey logo

openamigamousetrigger's Introduction

OpenAmigaMouseTrigger

OpenAmigaMouseTrigger is an Open Hardware PCB that allows using the state of the mouse buttons at power-up of an Amiga computer to trigger features of other boards, instead of using physical switches. This is mainly useful for controlling a Kickstart Switcher or a Drive Switcher.

Board

Summary

If you install a Kickstart Switcher in your Amiga, you might not want to drill a hole in its venerable case in order to install a switch to select the Kickstart of your choice. Back in the day, it was common to do your selection by holding or not the left mouse button at power-up. OpenAmigaMouseTrigger is a reimplementation of this mechanism on a small isolated board, so that you can use it to trigger anything you want, and not be limited to Kickstarts or even to Amiga computers.

OpenAmigaMouseTrigger also features a second channel, so you can generate up to four different signal combinations.

Assembly

Solder all components to the board. No particular order is recommended, but starting with the smaller components might be a good idea.

Installation

Connect the signals you want to sample at power-up to I1 and I2. Connect the signals you want to drive to O1 and O2. Install R1 and R2 if the input signal needs pull-up resistors.

OpenAmigaMouseTrigger was designed to work with OpenKickstartSwitcher. You can also use it in other scenarios, but the default component values were tuned for this case. While it would be great to use both mouse buttons as input signals, the right mouse button is not usable for this, probably because of how the Amiga sampling circuit was designed. I suggest to use the port 2 joystick fire button as the second selection signal. This is ideal if you put DiagROM + Kickstart 1.3 + Kickstart 3.1 on your OpenKickstartSwitcher, since you won't use DiagROM too often, and you'll be able to select the other two ROMs with the left mouse button. If your mouse buttons already are used for boot menus or similar, you can use port 2 joystick directions instead. No movement of the joystick will launch your default ROM, you'll be able to select the other two ROMs by holding your joystick in the direction of your choice. Note that to be able to choose between four ROMs, the fourth direction will have to be diagonal, so you have to pick two adjacent directions . Signal 1 is Up, signal 2 is Down, signal 3 is Left, and signal 4 is Right, see image for reference Signal 1 is Up, and signal 4 is Right

R4 is a bleeder resistor used to discharge C1 quickly when power is removed, be sure to allow at least 4-5 seconds before turning your system back on.

If you use OpenAmigaMouseTrigger in a different scenario, you might want to alter the sampling delay at power-up. This can be done by changing the values of C1 and R3, which form a simple RC network which drives the flip-flip clock signal. The default values will yield a delay or around 50 us, which is quite good for the Amiga (it has a power-on reset pulse after about 100 us) but note that actual capacitor values may differ a lot from the nominal capacity, even 20%, so you might need to do some tweaking. You might also want to experiment with different values of R4, if your C1 has a largely different capacity.

License

OpenAmigaMouseTrigger is Open Hardware. If you make any modifications to the board, please contribute them back.

Support the Project

Since the project is open you are free to get the PCBs made by your preferred manufacturer, however in case you want to support the development, you can order them from PCBWay through this link:

PCB from PCBWay

You get cheap, professionally-made and good quality PCBs, I get some credit that will help with this and other projects. You won't even have to worry about the various PCB options, it's all pre-configured for you!

Also, if you still have to register to that site, you can use this link to get some bonus initial credit (and yield me some more).

Again, if you want to use another manufacturer, feel free to, don't feel obligated :).

Get Support

If you need help or have questions, you can join the official Telegram group.

openamigamousetrigger's People

Contributors

crowstudio avatar sukkopera avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

openamigamousetrigger's Issues

I/O labeling needs to be swapped?

Many Thanks for this very useful gadget.
I use it successful with a button and your DriveSwitcher.

Since I use the PullUp R1 with my button, I had to use I2 as input and O2 as output.

I double checked the PCB and the LS74 Pinout an saw:

  • Input I2 is connected to R1 and D1 (2) of the LS74
  • Output O2 is connected to 1Q (5) of the LS74
  • Input I1 is connected to R2 and D2 (12) of the LS74
  • Output O2 is connected to 2Q (9) of the LS74

Is it possible that the labling of the I/O Pins need to be swapped?
I1<=>I2 and O1<=>O2

IOS_Swapped_Question

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.