Цитата Сообщение от Tronix Посмотреть сообщение
Насчет шумов - а ты сделал, как посоветовал Ramiros - то есть выставить BC1, BDIR = 0, после загнать на шину дату (чтоб она там уже была), потом выставить BC1 и BDIR как надо (в зависимости что пишем регистр или дату) и еще раз записать дату.
Ну вроде как у тебя в 79 посте описано в самом конце так и сделал:

Код:
    void Reset()
    {
      Port->Control(CMD_RESET_STOP);
      Port->Control(CMD_RESET_START);
      Delay();
      Port->Control(CMD_RESET_STOP);
    }

    void Write(uint_t reg, uint_t val)
    {
      Port->Control(CMD_SELECT_ADDR);
      Port->Data(reg);
      Port->Control(CMD_SELECT_DATA);
      Port->Data(val);
      Port->Control(CMD_WRITE_COMMIT);
    }
Значения констант:
Код:
  BOOST_STATIC_ASSERT(CMD_SELECT_ADDR == 0xfd);
  BOOST_STATIC_ASSERT(CMD_SELECT_DATA == 0xf9);
  BOOST_STATIC_ASSERT(CMD_WRITE_COMMIT == 0xfb);
  BOOST_STATIC_ASSERT(CMD_RESET_START == 0xf5);
  BOOST_STATIC_ASSERT(CMD_RESET_STOP == 0xfd);
Цитата Сообщение от Tronix Посмотреть сообщение
С паузой/воспроизведением все хорошо. Но не очень со стопом. Например у меня выбран модуль, он играет. Я жму "СТОП". Потом жму "ПЛЭЙ" и он начинает не с 0 секунды, а с секунды 1 или даже 2 играть. При этом если щелкать мышкой два раза на этом же модуле по плейлисту, то начинает играть с 0 секунды.
Странно. А для обычного вывода (через карту) такое же поведение?