MyTetra Share
Делитесь знаниями!
Попытка понять внутреннее устройство и схемотехнику синтезатора Yamaha PSR-E473
Время создания: 26.03.2025 19:38
Текстовые метки: yamaha, psr, e473, синтезатор, клавиши, схема, схемотехника, реверсинжиниринг, устройство, процессор, память, код, коды
Раздел: Музыка - Пианино - Yamaha
Запись: xintrea/mytetra_syncro/master/base/1743428534qk4p3g0zdg/text.html на raw.github.com

В синтезаторе используется микропроцессор SWX03S (именно S а не 5). Обозначение SCC105A, раrt. N: YK611A0. Внутренняя частота 135.4752MHz. Внешний тактовый генератор на 67.7376MHz.



Память


Плата содержит следующую память:


  • FLASH ROM 1 - 256Mb (Prog, Contents, Backup), адресуемость 512Mb (да, в 2 раза больше чем объем)
  • FLASH ROM 2 - 512Mb (Wave tables), адресуемость 512Mb
  • SDRAM - 256Mb (Work, Data transfer), адресуемость 256Mb



Дамп первых адресов, полученный через shell


> d 0

00000000 00 80 01 01 01 04 00 00 05 01 00 00 0B 01 00 00

00000010 11 01 00 00 17 01 00 00 1D 01 00 00 23 01 00 00 #

00000020 29 01 00 00 2F 01 00 00 35 01 00 00 3B 01 00 00 ) / 5 ;

00000030 41 01 00 00 47 01 00 00 4D 01 00 00 53 01 00 00 A G M S

00000040 59 01 00 00 5F 01 00 00 65 01 00 00 6B 01 00 00 Y _ e k

00000050 71 01 00 00 77 01 00 00 7D 01 00 00 83 01 00 00 q w }

00000060 89 01 00 00 8F 01 00 00 95 01 00 00 9B 01 00 00

00000070 A1 01 00 00 A7 01 00 00 AD 01 00 00 B3 01 00 00

00000080 B9 01 00 00 BF 01 00 00 C5 01 00 00 CB 01 00 00

00000090 D1 01 00 00 D7 01 00 00 DD 01 00 00 E3 01 00 00

000000A0 E9 01 00 00 EF 01 00 00 F5 01 00 00 FB 01 00 00

000000B0 01 02 00 00 07 02 00 00 0D 02 00 00 13 02 00 00

000000C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

000000D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

000000E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

000000F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

> d 100

00000100 FF F7 FE BF 02 20 FF F7 FB BF 03 20 FF F7 F8 BF

00000110 04 20 FF F7 F5 BF 05 20 FF F7 F2 BF 06 20 FF F7

00000120 EF BF 07 20 FF F7 EC BF 08 20 FF F7 E9 BF 09 20

00000130 FF F7 E6 BF 0A 20 FF F7 E3 BF 0B 20 FF F7 E0 BF

00000140 0C 20 FF F7 DD BF 0D 20 FF F7 DA BF 0E 20 FF F7

00000150 D7 BF 0F 20 FF F7 D4 BF 10 20 FF F7 D1 BF 11 20

00000160 FF F7 CE BF 12 20 FF F7 CB BF 13 20 FF F7 C8 BF

00000170 14 20 FF F7 C5 BF 15 20 FF F7 C2 BF 16 20 FF F7

00000180 BF BF 17 20 FF F7 BC BF 18 20 FF F7 B9 BF 19 20

00000190 FF F7 B6 BF 1A 20 FF F7 B3 BF 1B 20 FF F7 B0 BF

000001A0 1C 20 FF F7 AD BF 1D 20 FF F7 AA BF 1E 20 FF F7

000001B0 A7 BF 1F 20 FF F7 A4 BF 20 20 FF F7 A1 BF 21 20 !

000001C0 FF F7 9E BF 22 20 FF F7 9B BF 23 20 FF F7 98 BF " #

000001D0 24 20 FF F7 95 BF 25 20 FF F7 92 BF 26 20 FF F7 $ % &

000001E0 8F BF 27 20 FF F7 8C BF 28 20 FF F7 89 BF 29 20 ' ( )

000001F0 FF F7 86 BF 2A 20 FF F7 83 BF 2B 20 FF F7 80 BF * +



Как видно, начиная с адреса 0, идет два каких-то 32-х битных числа:



0x01018000

0x00000401



Что они означают, пока что понять невозможно. Попытка сделать дамп с адреса 0x01018000 приводит к зависанию. Второе число похоже на адрес, но почему-то не круглое, а отличается на единицу.


Следующие 32-х битные числа с большой долей вероятности представляют собой 32-х битные адреса, которые указывают на близкие адреса, начиная с 0x100. Шаг, на которые указывают эти ардеса - 6 байт, это касается абсолютно всех адресов, прописанных с 0x00000008 по 0x000000BF. Эти значения то же не круглые (не четные, не выровненные), что очень странно: на классических архитектурах такое редко встречается в таблицах переходов.



Hex -> Int


01018000 -> 16875520

00000401 -> 1025

00000105 -> 261

0000010B -> 267

00000111 -> 273

00000117 -> 279

0000011D -> 285

00000123 -> 291

00000129 -> 297

0000012F -> 303

00000135 -> 309

0000013B -> 315

00000141 -> 321

00000147 -> 327

0000014D -> 333

00000153 -> 339

00000159 -> 345

0000015F -> 351

00000165 -> 357

0000016B -> 363

00000171 -> 369

00000177 -> 375

0000017D -> 381

00000183 -> 387

00000189 -> 393

0000018F -> 399

00000195 -> 405

0000019B -> 411

000001A1 -> 417

000001A7 -> 423

000001AD -> 429

000001B3 -> 435

000001B9 -> 441

000001BF -> 447

000001C5 -> 453

000001CB -> 459

000001D1 -> 465

000001D7 -> 471

000001DD -> 477

000001E3 -> 483

000001E9 -> 489

000001EF -> 495

000001F5 -> 501

000001FB -> 507



Начиная с адреса 0x100 идут байты, структура которых повторяется каждые 6 байт. Если их вывести в столбик, то получится:



FF F7 FE BF 02 20

FF F7 FB BF 03 20

FF F7 F8 BF 04 20

FF F7 F5 BF 05 20

FF F7 F2 BF 06 20

FF F7 EF BF 07 20

FF F7 EC BF 08 20

FF F7 E9 BF 09 20

FF F7 E6 BF 0A 20

FF F7 E3 BF 0B 20

FF F7 E0 BF 0C 20

FF F7 DD BF 0D 20

FF F7 DA BF 0E 20

FF F7 D7 BF 0F 20

FF F7 D4 BF 10 20

FF F7 D1 BF 11 20

FF F7 CE BF 12 20

FF F7 CB BF 13 20

FF F7 C8 BF 14 20

FF F7 C5 BF 15 20

FF F7 C2 BF 16 20

FF F7 BF BF 17 20

FF F7 BC BF 18 20

FF F7 B9 BF 19 20

FF F7 B6 BF 1A 20

FF F7 B3 BF 1B 20

FF F7 B0 BF 1C 20

FF F7 AD BF 1D 20

FF F7 AA BF 1E 20

FF F7 A7 BF 1F 20

FF F7 A4 BF 20 20

FF F7 A1 BF 21 20

FF F7 9E BF 22 20

FF F7 9B BF 23 20

FF F7 98 BF 24 20

FF F7 95 BF 25 20

FF F7 92 BF 26 20

FF F7 8F BF 27 20

FF F7 8C BF 28 20

FF F7 89 BF 29 20

FF F7 86 BF 2A 20

FF F7 83 BF 2B 20

FF F7 80 BF .....



Байты FF F7 - они фиксированы, четвертый и шестой байты BF и 20 - тоже фиксированы. Изменяются только третий и пятый байты. Третий байт уменьшается на 3. Пятый байт уменьшается на единицу.


Так же в этом разделе:
 
MyTetra Share v.0.67
Яндекс индекс цитирования