Форум Эму-Россия http://forum.emu-russia.net/ |
|
Sega DMA http://forum.emu-russia.net/viewtopic.php?f=13&t=5515 |
Страница 1 из 1 |
Автор: | Korben [ 15 июл 2014, 20:21 ] |
Заголовок сообщения: | Sega DMA |
Для запуска ДМА нужно: 1. поставить d4 - в Mode Set Register No. 2 2. длину в регистры 19-20 3. режим дма (+ стартовый адрес, если нужно) в регистры 21-23 4. запустить соответствующий longword в $C00004 (+ word в $C00000 для VRAM-Fill) Вопрос: зачем в регистре 23 указывать режим, если он однозначно определен стартовой командой, посылаемой в $C00004 ? |
Автор: | HardWareMan [ 16 июл 2014, 19:44 ] |
Заголовок сообщения: | Re: Sega DMA |
Автор: | Korben [ 16 июл 2014, 22:46 ] |
Заголовок сообщения: | Re: Sega DMA |
это я читал.... набросал табличку - для 'dma fill' и 'dma m68-> vram' значения одинаковые, т.е. брать адресат приходится из регистра 23....тогда зачем разные команды для запуска ДМА ? |
Автор: | HardWareMan [ 20 июл 2014, 11:13 ] |
Заголовок сообщения: | Re: Sega DMA |
При использовании DMA нужно задать 2 точки для переноса данных. DMDx задают режим одной точки. CDx задают режим второй. Что не понятно? Естественно, можно сделать бессмысленную комбинацию пересылки одного и того же места в это же место (например режим копирования VRAM с указанием источника и приемника по тем же адресам). А что в твоей табличке вообще не понятно: где описания полей то? |
Автор: | org [ 21 июл 2014, 11:26 ] |
Заголовок сообщения: | Re: Sega DMA |
Я тоже пытался понять, но не въеду) Все DMA-контроллеры которые я видел используют адрес источника, адрес приемника и направление копирования. -- 21 июл 2014, 10:29 -- Ааа. Въехал... DMD задают тип операции (VRAM<->RAM, Заполнение VRAM или VRAM<->VRAM). А CD задаёт направление + тип VRAM (VRAM/CRAM/VSRAM). |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |