Материал из Chipwiki
Перейти к: навигация, поиск
WonderSwan/Программирование — различия между версиями
(Перенёс самый большой раздел вних)
Строка 1: Строка 1:
 
{{Основная статья|WonderSwan|Текст=WonderSwan}}
 
{{Основная статья|WonderSwan|Текст=WonderSwan}}
 
{{Основная статья|WonderSwan Color|Текст=WonderSwan Color}}
 
{{Основная статья|WonderSwan Color|Текст=WonderSwan Color}}
 +
 +
==Ассемблеры==
 +
* nasm (16-битный)
 +
 +
==Инструменты==
 +
* [http://onorisoft.free.fr/retro.htm?ws/ws.htm bmp2swan] - конвертер 16-цветного BMP-файла в тайлы, палитру и карту. Поддерживается отражение по вертикали и горизонтали.
 +
* [http://onorisoft.free.fr/retro.htm?ws/ws.htm SwanLayer Merger] - инструмент для объединения данных, нужен в случае, когда на изображение требуется больше 16 цветов: нужно разделить изображения на несколько 16-цветных BMP, сконвертировать при помощи bmp2swan, затем в SwanLayer Merger объединить данные и создать общие карту, набор плиток и палитры.
 +
 +
==Эмуляторы==
 +
* [https://server.romhacking.net/utilities/244/ Cygne Tracer] (с дебаггером)
 +
* [https://www.emu-land.net/portable/ws/emuls/windows Другие эмуляторы]
 +
 +
==Хоумбрю==
 +
* [http://sebastianmihai.com/main.php?t=107&n=WonderSwan-Color-development-Swan-Driving Swan-Driving] (с исходниками)
 +
* [http://sebastianmihai.com/main.php?t=108&n=WonderSwan-Mono-development-Swan-Driving-BW Swan-Driving] (ч/б версия) (с исходниками)
 +
* [http://onorisoft.free.fr/retro.htm?ws/ws.htm демо от Orion] (с исходниками)
 +
 
==Описание==
 
==Описание==
 
* http://cygne.emuunlim.com/files/wstech21.txt
 
* http://cygne.emuunlim.com/files/wstech21.txt
Строка 19: Строка 36:
  
 
Между V30MZ и V30 есть несколько отличий, например, неподдерживаемые опкоды, другая обработка флагов после mul/div.
 
Между V30MZ и V30 есть несколько отличий, например, неподдерживаемые опкоды, другая обработка флагов после mul/div.
 +
 +
V30 MZ имеет 20-разрядную адресную шину, 16-разрядную шину данных (вход/выход разделены).
 +
  
 
===Память===
 
===Память===
Строка 1143: Строка 1163:
 
|}
 
|}
 
</spoiler>
 
</spoiler>
==Ассемблеры==
 
* nasm (16-битный)
 
 
==Инструменты==
 
* [http://onorisoft.free.fr/retro.htm?ws/ws.htm bmp2swan] - конвертер 16-цветного BMP-файла в тайлы, палитру и карту. Поддерживается отражение по вертикали и горизонтали.
 
* [http://onorisoft.free.fr/retro.htm?ws/ws.htm SwanLayer Merger] - инструмент для объединения данных, нужен в случае, когда на изображение требуется больше 16 цветов: нужно разделить изображения на несколько 16-цветных BMP, сконвертировать при помощи bmp2swan, затем в SwanLayer Merger объединить данные и создать общие карту, набор плиток и палитры.
 
 
==Эмуляторы==
 
* [https://server.romhacking.net/utilities/244/ Cygne Tracer] (с дебаггером)
 
* [https://www.emu-land.net/portable/ws/emuls/windows Другие эмуляторы]
 
  
==Хоумбрю==
+
===Дисплей===
* [http://sebastianmihai.com/main.php?t=107&n=WonderSwan-Color-development-Swan-Driving Swan-Driving] (с исходниками)
+
===Звук===
* [http://sebastianmihai.com/main.php?t=108&n=WonderSwan-Mono-development-Swan-Driving-BW Swan-Driving] (ч/б версия) (с исходниками)
+
===Кнопки===
* [http://onorisoft.free.fr/retro.htm?ws/ws.htm демо от Orion] (с исходниками)
+
===Системный контроллер===
 +
===Прерывания===
 +
===Последовательный порт===
 +
===Внутренняя EEPROM===
 +
===DMA контроллер===
 +
===Sound DMA контроллер===
 +
===Таймеры===
 +
===Картридж===
 +
===WonderWitch===

Версия 23:11, 15 апреля 2019

Ассемблеры

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

Инструменты

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

Эмуляторы

Хоумбрю

Описание

gray

Процессор

Процессорное ядро - 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-разрядную шину данных (вход/выход разделены).


Память

Клик

Порты ввода/вывода

Клик


Дисплей

Звук

Кнопки

Системный контроллер

Прерывания

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

Внутренняя EEPROM

DMA контроллер

Sound DMA контроллер

Таймеры

Картридж

WonderWitch