DTX400 i 2 x Krigg Triggera.

W zeszłym roku zmontowałem pierwszy pedał z Krigg Triggera, teraz przyszedł czas na drugi:

krigg (1)

Co jest ważne: w triggerach Krigg zmienił się przetwornik piezoelektryczny i mój nowy trigger ma o wiele mocniejszy sygnał od tego sprzed roku. Dlatego konieczne będzie podłączenie triggerów do osobnych wejść w module DTX. Jak ktoś jest spostrzegawczy, to zauważy, że w serii Yamaha DTX400/450k/500 wtyczka pedału stopy jest stereo. Wynika to z tego, że w padzie KP65 (dostarczany w bardziej wypasionych modelach 450k, 500) jest gniazdo do podłączenia dodatkowego pada/talerza. Czyli potrzebować będziemy kabla, który z jednej strony ma duży wtyk żeński typu Jack stereo, a z drugiej dwa wtyki męskie mono, duży Jack. Dzięki temu podłączamy przetworniki pedałów do osobnych wejść (również w wersji budżetowej DTX-400),  następnie SET + KIT + 5 + 5 + pad i ustawiamy gain osobno dla każdego z nich.

Dla mnie bomba🙂. Mechaniczne pedały stopy, z napędem łańcuszkowym i regulowanym naciągiem sprężyn za niewielkie pieniądze, do tego moduł DTX via usb-audio widziany jest przez komputer z Linuksem jako pełnowartościowe MIDI, a jakie to daje możliwości, to już każdy się domyśli.

Żeby tylko opanowanie techniki double bass było nieco łatwiejsze😉

Trochę to potrwa…

VBI i DLI w MadPascal-u.

Kiedyś eksperymentowałem z Action!, dziś analogiczny przykład w MadPascal:

uses crt;

const
dl: array [0..32] of byte = (
112, 112, 112, 66, 0, 64, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 130, 86, 72, 67, 65, 
lo(word(@dl)), hi(word(@dl))
);

var
col0: byte absolute $2c4;
col1: byte absolute $2c5;
savmsc: word absolute $58;
nmien: byte absolute $d40e;
pc: ^byte; tmp: word; 
hscrol: byte absolute $d404;
vcount: byte absolute $d40b;
colt: byte absolute $d017;
dlist: word absolute $230;
i,j,k,l,indx: byte;

procedure dli; interrupt; 
begin
 asm { phr };
 inc(indx);
 for i:=0 to 7 do
  begin   
   if indx>30 then indx:=0;
   colt:=vcount+indx;
  end;
 asm { plr };
end;
 
procedure scroll; interrupt;
begin
 j:=j+1;
 if j=16 then 
  begin
   j:=0; dec(pc^,2); k:=k+1;
   if k=14 then 
    begin
     k:=0; pc^:=tmp;
    end
  end;
  hscrol:=j;
 asm { jmp $E462 };  
end;

begin
 i:=0; j:=0; k:=0; indx:=0;
 dlist:=word(@dl);
 
 SetIntVec(iVBL, @scroll);
 SetIntVec(iDLI, @dli);
 nmien:=$c0;

 pc := @dl;
 inc(pc, 28);

 tmp := pc^+6; 
 col0 := 14; col1 := 14;
 savmsc := $4000;

 for l:=0 to 22 do 
  writeln(' mp rulez! ');

 repeat until keypressed;
end.

mprulez

Niezaprzeczalną zaletą duetu mp+mads jest optymalizacja i wielkość pliku wynikowego:

$ mads -x -o:scroll.obx -i:/e/mp/base scroll.a65
SYSTEM: $205D..$205C
CRT: $205D..$2070
CODE: $2000..$226F
DATA: $2270..$2282
Writing listing file…
Writing object file…
3983 lines of source assembled in 5 pass
640 bytes written to the object file

 

AspeQt i FT312D.

Montezuma podesłał mi linka ze specyfikacją kabla Digitus:

http://www.morele.net/digitus-adapter-usb-rs232-da-70160-698967/

i myślę, że ma to spore szanse jako alternatywa do FT232 na Androidzie. Tym bardziej, że Open Accessory Mode nie wymaga żadnych sterowników… Zobaczymy co z tego wyjdzie😉.

Mój Samsung nie ma usb-host ale open accessory mode działa😉. Już prawie… Jeszcze tylko dołożyć TTL level shifter 3.3<->5V i powinno działać.

Aktualizacja:

java.io.IOException: write failed: ENODEV (No such device)
at libcore.io.IoBridge.write(IoBridge.java:455)
at java.io.FileOutputStream.write(FileOutputStream.java:187)
at dji.midware.usb.P3.UsbAccessoryService$1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)

Jest problem z open accessory mode, nierozwiązany od kilku lat…