Материал из Chipwiki
Перейти к: навигация, поиск
WonderSwan/Программирование

Ассемблеры[править]

  • nasm (16-битный)

Инструменты[править]

  • bmp2swan - конвертер 16-цветного BMP-файла в тайлы, палитру и карту. Поддерживается отражение по вертикали и горизонтали.
  • SwanLayer Merger - инструмент для объединения данных, нужен в случае, когда на изображение требуется больше 16 цветов: нужно разделить изображения на несколько 16-цветных BMP, сконвертировать при помощи bmp2swan, затем в SwanLayer Merger объединить данные и создать общие карту, набор плиток и палитры.
  • WonderSwan Total Sound Driver (WTD)

Эмуляторы[править]

Хоумбрю[править]

Описание[править]

Перевод и компоновка информации в процессе

Процессор[править]

Процессорное ядро - NEC V30 MZ на частоте 3.072 Мгц.

NEC V30 MZ - убыстрённая версия V30 с внутренним конвеером (16 байтовый буфер предварительной загрузки). V30MZ примерно в 4 раза быстрее V30. V30 в свою очередь является клоном Intel 8086, но работает на 30% быстрее его, может эмулировать Intel 8080 и содержит собственные инструкции.

В V30 MZ выборка команд, их декодирование и выполнение инструкций выполняется параллельно. По этой причине сложно определить, какая часть программы в настоящее время выполняется путём контроля ввода адресной шины для выборки кода команды.

Если дана команда условного перехода, даже если не выполняются ответвления, адрес назначения перехода выбирается предварительно (1 раз), и поэтому дальнейший мониторинг программы затруднён.

V30 MZ имеет 8 очередей предварительной выборки (16 байт)

Между V30MZ и V30 есть несколько отличий, например, неподдерживаемые опкоды, другая обработка флагов после mul/div.

V30 MZ имеет 20-разрядную адресную шину, 16-разрядную шину данных (вход/выход разделены).

Память[править]

Клик

Порты ввода/вывода[править]

Клик

Дисплей[править]

Клик

Звук[править]

Клик

Кнопки[править]

Проверка статус кнопок в порте 0B5h.

Кнопки мультиплексированы на 4 бита с использованием AND. Чтобы получить полные значения кнопок, повторите каждое из значений маски и объедините их.

Прерывания[править]

Последовательный порт[править]

Внутренняя EEPROM[править]

DMA контроллер[править]

Sound DMA контроллер[править]

Таймеры[править]

Картридж[править]

WonderWitch[править]