diff --git a/CHANGELOG.md b/CHANGELOG.md index dd3e59f2..59b56adb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ - **FIX**: libavr32 update: support CDC grid size detection (e.g. zero), increase HID message buffer - **NEW**: new Disting EX ops: `EX.CH`, `EX.#`, `EX.N#`, `EX.NO#` - **NEW**: apply VCV Rack compatibility patches, so branches off main can be used in both hardware and software +- **FIX**: update Disting EX looper ops to work with Disting EX firmware 1.23+ ## v4.0.0 diff --git a/docs/whats_new.md b/docs/whats_new.md index e5be1db1..0a6e69ad 100644 --- a/docs/whats_new.md +++ b/docs/whats_new.md @@ -31,6 +31,7 @@ - **FIX**: libavr32 update: support CDC grid size detection (e.g. zero), increase HID message buffer - **NEW**: new Disting EX ops: `EX.CH`, `EX.#`, `EX.N#`, `EX.NO#` - **NEW**: apply VCV Rack compatibility patches, so branches off main can be used in both hardware and software +- **FIX**: update Disting EX looper ops to work with Disting EX firmware 1.23+ ## v4.0.0 diff --git a/src/ops/disting.c b/src/ops/disting.c index 170dd9a4..324d9d99 100644 --- a/src/ops/disting.c +++ b/src/ops/disting.c @@ -799,10 +799,10 @@ static void op_EX_LP_REC_get(const void *NOTUSED(data), scene_state_t *ss, s16 loop = cs_pop(cs); if (loop < 1 || loop > 4) return; - send4(0x46, 7, 0, loop); - send4(0x46, 56, 0, 0); - send4(0x46, 56, 0, 1); - send4(0x46, 56, 0, 0); + send4(0x6C, 7, 0, loop); + send4(0x6C, 55, 0, 0); + send4(0x6C, 55, 0, 1); + send4(0x6C, 55, 0, 0); } static void op_EX_LP_PLAY_get(const void *NOTUSED(data), scene_state_t *ss, @@ -810,10 +810,10 @@ static void op_EX_LP_PLAY_get(const void *NOTUSED(data), scene_state_t *ss, s16 loop = cs_pop(cs); if (loop < 1 || loop > 4) return; - send4(0x46, 7, 0, loop); - send4(0x46, 57, 0, 0); - send4(0x46, 57, 0, 1); - send4(0x46, 57, 0, 0); + send4(0x6C, 7, 0, loop); + send4(0x6C, 56, 0, 0); + send4(0x6C, 56, 0, 1); + send4(0x6C, 56, 0, 0); } static void op_EX_LP_REV_get(const void *NOTUSED(data), scene_state_t *ss, @@ -821,10 +821,10 @@ static void op_EX_LP_REV_get(const void *NOTUSED(data), scene_state_t *ss, s16 loop = cs_pop(cs); if (loop < 1 || loop > 4) return; - send4(0x46, 7, 0, loop); - send4(0x46, 58, 0, 0); - send4(0x46, 58, 0, 1); - send4(0x46, 58, 0, 0); + send4(0x6C, 7, 0, loop); + send4(0x6C, 57, 0, 0); + send4(0x6C, 57, 0, 1); + send4(0x6C, 57, 0, 0); } static void op_EX_LP_DOWN_get(const void *NOTUSED(data), scene_state_t *ss, @@ -832,10 +832,10 @@ static void op_EX_LP_DOWN_get(const void *NOTUSED(data), scene_state_t *ss, s16 loop = cs_pop(cs); if (loop < 1 || loop > 4) return; - send4(0x46, 7, 0, loop); - send4(0x46, 62, 0, 0); - send4(0x46, 62, 0, 1); - send4(0x46, 62, 0, 0); + send4(0x6C, 7, 0, loop); + send4(0x6C, 58, 0, 0); + send4(0x6C, 58, 0, 1); + send4(0x6C, 58, 0, 0); } static void op_EX_LP_CLR_get(const void *NOTUSED(data), scene_state_t *ss, @@ -843,7 +843,7 @@ static void op_EX_LP_CLR_get(const void *NOTUSED(data), scene_state_t *ss, s16 loop = cs_pop(cs); if (loop < 1 || loop > 4) return; - send4(0x46, 7, 0, loop); + send4(0x6C, 7, 0, loop); send1(0x58); }