Archiwum kategorii ‘amiga’

USBJoy: Atari, C=64, Amiga oraz NES Joystick USB adapter

środa, 22 Grudzień 2010
USBJoy

USBJoy

Niektórzy uwielbiają stare gry na ośmiobitowych komputerach.
Niektórzy mają dość grania przy pomocy klawiatury na emulatorze.
Niektórzy czuli dreszczyk grając przy pomocy ulubionego dżojstika, niestety niekompatybilnego z dzisiejszymi komputerami osobistymi.

Oto rozwiązanie: interfejs pozwalający podłączyć dowolny dżojstik od:
– Atari (lub kompatybilny) z 1 przyciskiem (C64, Amiga)
– dwuprzyciskowe manetki, takie jak Sega master system
– manetki Genesis, 3 oraz 6 przyciskowe
– Sega multi-tap (Team Player) dla Genesis
NES oraz Boomerang B501, Boomerang B503 (nowy wsad od 22 maja 2015, można zrobić upgrade wcześniej zakupionego USBJoy v2, czyli z zieloną płytką w środku, wyprodukowane po maju 2014) do dzisiejszego komputera osobistego wyposażonego w interfejs USB, w tym także do TheC64 (Mini/Maxi) i Amiga500 Mini!

Aktualizacja (lipiec 2018)! Interfejs USBJoy w wersji 2.0 z funkcjonalnością płytki prototypowej (wersja pcb 3.0) dostępny jest w sprzedaży w moim sklepiku http://stepstick.pl

Wersja USBJoy 2.0 ma wyprowadzenia nieużywanych pinów w postaci pól lutowniczych. Ponadto dostępna jest wersja rozszerzona: dodana dioda LED sygnalizująca zasilanie i/lub kabelek o długości do 100cm zamiast wmontowanego złącza USB. Dodatkowo po aktualizacji firmware będzie obsługiwać paletki! Firmware wersji wcześniejszych jest w pełni kompatybilne z USBJoy2.0.

UWAGA! UWAGA! UWAGA! UWAGA! UWAGA! UWAGA! UWAGA!

Od 27 kwietnia 2022 dostępne jest firmware (zapisz na dysku korzystając z prawego przycisku myszki) poprawiające obsługę joysticków jednoprzyciskowych na TheA500 (teraz można grać joystickiem i wybierać gry z menu. Efekt uboczny – nie wszystkie gry w TheA500 zostały przetestowane pod tym kątem, może któraś nie działać). Jeśli nie jest pożądane mapowanie przycisku 1 na 3, można zainstalować poprzednią – poniższą wersję.

Od 25 kwietnia 2022 dostępne jest firmware (zapisz na dysku korzystając z prawego przycisku myszki) wspóldziałające z TheC64(Mini/Maxi) oraz Amiga500 Mini (tutaj wymagane pady z 8 przyciskami). Rozmieszczenie klawiszy jest niejako przypadkowe – zależy od pada. 
Wszystkie USBJoye zakupione po tym terminie mają to firmware zainstalowane.

Od 20 listopada 2020 dostępne jest firmware (zapisz na dysku korzystając z prawego przycisku myszki) obsługujące dodatkowo paletki C64/Atari.

UWAGA Interfejs z płytką w wersji 2.0 (profesjonalna płytka, montaż i możliwość upgrade firmware) dostępne są w sprzedaży w moim sklepiku http://stepstick.pl

Od 29 maja 2015 dostępne jest firmware (zapisz na dysku korzystając z prawego przycisku myszki) obsługujące dodatkowo pady NES z wtyczką DB-9, oraz z protokołem NES: Matt Boomerang B-501 i B-503 (http://www.retrojoysticki.com.pl/produkt/joypad-b501/)
Aby uaktywnić tryb uaktualnienia, podłącz do USBJoy zwykły joystick od Atari czy SEGI, naciśnij przycisk (SEGA: button B) i podłącz USBJoy do komputera. USBJoy zgłosi się jako programator USBasp i będzie można go zaprogramować nowym wsadem, korzystając z np. avrdude pod linuksem czy macos X (dostępny w pakiecie CrossPack lub brew install avrdude), lub jednego z poniższych linków (Windows):

 


Ostatnio pisałem coś o tym, że lubię miniaturyzować.
Zaprojektowanie płytki drukowanej mieszczącej się w obudowie wtyczki d-sub9 to jest to!
W środku obudowy mikrokontroler Atmega8, kwarc 12 MHz, 4 rezystory, 2 kondensatory 22pf, 1 kondensator 10uf w obudowie 1206(!)

Na ostatnim party komputerów Atari w Gdańsku SillyVenture 2k10 zeszło na pniu 10 sztuk interfejsów:)

Interfejs nie potrzebuje żadnych sterowników – zgłasza się jako standardowe urządzenie HID.
Działa pod MacOsX, Linux, Windows.

Autorem oprogramowania (lic. GPL) jest Raphaël Assénat. Schemat (szumnie zwany) to podłączenie portu B do wejść joysticka oraz schemat adaptacyjny rozwiązania v-usb.

Jedyna zmiana w firmware to zmiana kolejności nóżek – aby łatwiej było prowadzić ścieżki.
Wersja firmware interfejsu: 1.7 + patch (po zaprogramowaniu Atmegi oryginalnym wsadem zamienione będą kierunki dżojstika).

Jeśli chcesz, możesz zakupić taki interfejs. W tym celu skontaktuj się ze mną.

 

Oto prototypowe płytki robione techniką żelazkową. :) Aktualne są produkowane w firmie Laskar.

pcb

Płytka od góry

pcb bottom

Płytka opd spodem

pcb

Płytka z naniesioną pastą lutowniczą

pcb layed elements down

Ułożone elementy

pcb melted

Po lutowaniu na żelazku (bawełna)

pcb in case

I już w obudowie

Konwerter Music-X to SMF – Standard Midi File

czwartek, 17 Czerwiec 2010

Wielu zajmujących się muzyką w latach 90 tworzyło przy pomocy Atari ST (wbudowane midi) czy też Commodore Amiga (prosta przejściówka Midi). Na Atari ST królował Cubase, na Amidze m. in. Music-X.

Music-X jest dla mnie jedynym sekwencerem midi, który ma odtwarzanie sekwencji. To są takie podślady (subtracks) odpalane ze ścieżki głównej. Wystarczy sobie zaprogramować bas, chórki, perkusję i szaleć, bo każdą taką sekwencję można odtwarzać w innej wysokości (transpozycja), np. 0 – to główne C, +7 to G, a -7 to F oktawę niżej. Bardzo szybko się tworzy aranżacje na zasadzie: nie powtarzaj się.

Ja używałem Amigi do komponowania, zebrało się kilkanaście kawałków, jednak nie za bardzo było co z tym dalej robić. Miałem 2 możliwości, z czego przez obie przeszedłem.

  1. zmuszenie Music-X pod emulatorem, by dał strumień midi. Napisałem łatkę pod emulator i konwerter strumienia midi do SMF. Działało, ale dużo zachodu z tym było.
  2. napisanie konwertera Music-X to SMF.

Oba podejścia zakończyły się sukcesem, jednak drugie podejście jest bardziej uniwersalne.
Konwerter v0.5 500-linijkowy napisany w pythonie 2.5.1 do pobrania tutaj

Powinno działać nawet na niższych (>=2.4) wersjach pythona.

Dla tych, co są ciekawi zastosowanych rozwiązań:

  • ten programik celowo – dla wygody użytkownika – jest w jednym pliku.
  • jest pisany „na kolanie” – ważne, żeby działał, rozwijanie nie jest planowane :), chociaż jest bardzo elastyczny.

CHANGELOG:

Fixed from 0.4: (2010-06-18)
– Fixed sequence length setting (when sequence offset is not 0)
– changed ‚len’ variables to ‚length’ not to be in potential conflict with func
– added reverse sorting of events by event type before write;
now pgmchg, ctrlchg always before note on; note on before note off. good

Fixed from 0.3: (2010-06-13)
– file format checking added

Fixed from 0.2: (2010-06-10)
– unroll sequences now works ok. (not only first unroll)

Fixed from 0.1: (2010-06-08)
– The code has a little problems with unrolling sequences, sometimes the last note is fired but not finished, this leads to endless notes playing. I have met this problem once or twice, it is easy to remove the notes manually.
– Code cleanup

Initial version: 0.1: (2010-06-08)

Music-X

sobota, 12 Czerwiec 2010

Music-X edytor / sequencer Midi niemal idealny (dla mnie).

Być może jego możliwości wykraczają poza standardowe (a nawet na pewno), jednak pozostałe dodatki (Librarian, Protocols) sprawiają wrażenie niedorobionych.

Jednak Core – czyli sam sequencer – Miodzio. Ja chcę taki GNU! Dokładnie taki! I kompatybilny!


Ekran główny

Ekran główny


Ekran edycji sekwencji

Ekran edycji sekwencji

Żeby samemu zrobić taki, a w ogóle zacząć, muszę mieć dostęp do Core Midi MacOSX w postaci wygodnej biblioteki, aby nie wyważać otwartych drzwi. Poza tym, jeśli użyję wxWidgets albo innych tego typu narzędzi, to aplikacja mogłaby być przenośna.
A może w Javie …

Pozostaje w sferze marzeń.

Robocza wersja nazwy: Music-XXL, albo Music-Y :)