Создать ответ 
 
Рейтинг темы:
  • Голосов: 2 - Средняя оценка: 5
  • 1
  • 2
  • 3
  • 4
  • 5
G1-ATA Devices
Автор Сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7237
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 149
Поблагодарили 1214 раз(а) в 762 сообщ.
Сообщение: #61
RE: G1-ATA Devices
Да там.

[Изображение: barbers.png]
20.03.2014 21:22
Вебсайт Найти все сообщения Цитировать это сообщение
cybdyn Не на форуме
Ветеран
*****

Сообщений: 1368
Зарегистрирован: 20.12.2011
Рейтинг: 8
Сказал спасибо: 4
Поблагодарили 98 раз(а) в 75 сообщ.
Сообщение: #62
RE: G1-ATA Devices
из того что у меNя под вопросом в коде.
1- не ясно почему ждем BUSY а не drq.
/* Wait for the device to signal it is ready. */
g1_ata_wait_nbsy(); <--- ???

/* Send the data! */
for(j = 0; j < 256; ++j) {
OUT16(G1_ATA_DATA, *buf++);

в начале может оно и надо ждать busy, но потом смотрим drq, это как чтение -только тут мы вписываем в рег данных ,
т.е бит drq обозначает готовность устройства к обмену ( чтения или записи..)
но это B идеале если команда правильная и с параметрами ок. а так вообще то после того как bsy упал, надо смотреть статусник и ещe какойто рег (1ый после рега данных, или 2ой ) - тем самым смотрим нет ли ошибки и готовность устройства к обмену., точнее к приёму данных
а тут както в лоб, bsy упал - и тут же пишим данные в устройство...))))

2- не заметил проверку окончания операции, обычно получают прерывание об окнчании операции , по котороmy считывают статус. причем при чтении статусного рега сбрасывается прерывание (подтверждаетя) , по альт статусу онo не сбрасывается, но тоже выдаёт статус.

если в случае работы не попрерыванию, не знаю, наверно следим за bsy и смотри статусный рег. нет ли ошибки , и опятьже 1ый (или 2ой) что операция complete
(Последний раз сообщение было отредактировано 20.03.2014 в 23:03, отредактировал пользователь cybdyn.)
20.03.2014 22:27
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7237
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 149
Поблагодарили 1214 раз(а) в 762 сообщ.
Сообщение: #63
RE: G1-ATA Devices
(20.03.2014 22:27)cybdyn писал(а):  если в случае работы не попрерыванию, не знаю, наверно следим за bsy и смотри статусный рег. нет ли ошибки , и опяже 1ый (или 2ой) что операция complete

Да так оно сейчас и есть. Прерывания будут реализованы когда будет DMA я думаю.

[Изображение: barbers.png]
20.03.2014 22:46
Вебсайт Найти все сообщения Цитировать это сообщение
cybdyn Не на форуме
Ветеран
*****

Сообщений: 1368
Зарегистрирован: 20.12.2011
Рейтинг: 8
Сказал спасибо: 4
Поблагодарили 98 раз(а) в 75 сообщ.
Сообщение: #64
RE: G1-ATA Devices
вообщемто и не-пo-прерыванию тоже работаю люди. просто понимаem, что bsy пропал - значит появился какойто статус. далее по контексту если всё good... после вписывания обозначенного количества в рег данных винта, bsy опять встаёт - говоря о том что устройство занято записью... поэтому ждём когда опять упадёт bsy. и смотрим статус.

с ДМА тоже може без прерываний работать...

прерывание даст просто ресурс проца программе, вместо того чтобы ждать бизи и статусы...
(Последний раз сообщение было отредактировано 20.03.2014 в 23:15, отредактировал пользователь cybdyn.)
20.03.2014 22:56
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7237
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 149
Поблагодарили 1214 раз(а) в 762 сообщ.
Сообщение: #65
RE: G1-ATA Devices
(20.03.2014 22:56)cybdyn писал(а):  с ДМА тоже може без прерываний работать...

прерывание даст просто ресурс проца программе, вместо того чтобы ждать бизи и статусы...

Ну так в этом то и дело, DMA в принципе служит для разгрузки проца, а если проц будет ждать значение регистра, опрашивая его постоянно, то вся разгрузка на смарку считай. А в PIO режиме в этом особого смысла нету. Отсюда и мое предположение, что будет это реализовано вместе с DMA.

[Изображение: barbers.png]
21.03.2014 07:45
Вебсайт Найти все сообщения Цитировать это сообщение
cybdyn Не на форуме
Ветеран
*****

Сообщений: 1368
Зарегистрирован: 20.12.2011
Рейтинг: 8
Сказал спасибо: 4
Поблагодарили 98 раз(а) в 75 сообщ.
Сообщение: #66
RE: G1-ATA Devices
dma намного быстрее pio, если не сказать что вообще высасывает данные )))
т.е если даже не делать прерывания, dma должно проявить себя)))
21.03.2014 08:30
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7237
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 149
Поблагодарили 1214 раз(а) в 762 сообщ.
Сообщение: #67
RE: G1-ATA Devices
(21.03.2014 08:30)cybdyn писал(а):  dma намного быстрее pio, если не сказать что вообще высасывает данные )))
т.е если даже не делать прерывания, dma должно проявить себя)))

Не ну это понятно, с DMA в принципе скорости другие. Но все равно нагружать проц. опросом статуса в ожидании DMA как то не правильно.

[Изображение: barbers.png]
21.03.2014 12:12
Вебсайт Найти все сообщения Цитировать это сообщение
Wind Не на форуме
Пользователь
**

Сообщений: 30
Зарегистрирован: 29.08.2013
Рейтинг: 0
Сказал спасибо: 0
Поблагодарили 1 раз(а) в 1 сообщ.
Сообщение: #68
RE: G1-ATA Devices
Если ждать статуса от передачи по DMA то смысла в DMA не будет. Только вот Вам наверное придеться повозится с модингом обработчика прерывания стандартного.
21.03.2014 21:08
Найти все сообщения Цитировать это сообщение
cybdyn Не на форуме
Ветеран
*****

Сообщений: 1368
Зарегистрирован: 20.12.2011
Рейтинг: 8
Сказал спасибо: 4
Поблагодарили 98 раз(а) в 75 сообщ.
Сообщение: #69
RE: G1-ATA Devices
ожидание окончания по ДМА, намного меньше ожидания данных в пио и их последующего вычитывания.

прерываения помогут только если сохраняется структура работы что и с приводом, там видимо внутри сисколов, или через взаимо свзязь с системой, может через события - както регулировался этот процесс. с новыми сисколами может так и не получиться. т.е в итоге придётся ждать какого то признака окончания чтения.
(Последний раз сообщение было отредактировано 22.03.2014 в 10:58, отредактировал пользователь cybdyn.)
22.03.2014 10:49
Найти все сообщения Цитировать это сообщение
Wind Не на форуме
Пользователь
**

Сообщений: 30
Зарегистрирован: 29.08.2013
Рейтинг: 0
Сказал спасибо: 0
Поблагодарили 1 раз(а) в 1 сообщ.
Сообщение: #70
RE: G1-ATA Devices
Быстрее не быстрее, а смысл в том что без прерываний это пустая трата времени. Лучше оставить PIO тогда уж. А модинг обработчиков не простой, но и не так чтобы слишком уж сложный. От внешних устройств у дрима события весят на 0x5f6904 регистре, этот регистр содержит статусы модема, сетевой карты и т.п. Т.е. модинг не простой да, но задача вполне себе решаемая. Все основные статусы весят на 0x5f6900 т.е. модинг не коснется работы в целом.
22.03.2014 12:16
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7237
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 149
Поблагодарили 1214 раз(а) в 762 сообщ.
Сообщение: #71
RE: G1-ATA Devices
Дело в том что фактически по скорости, в PIO режиме мы получили сейчас только Mode 0 (3 MB/s), а Multiword DMA Mode 2 должна выдавать около 16 MB/s, так что разница ощутима, не важно с прерываниями или без.
Но, если заставить работать в PIO Mode 3 или даже 4 (если шина вообще поддерживает), вот тогда смысла не будет без прерываний делать DMA, ибо скорости там такие же получаются.

[Изображение: barbers.png]
22.03.2014 17:37
Вебсайт Найти все сообщения Цитировать это сообщение
cybdyn Не на форуме
Ветеран
*****

Сообщений: 1368
Зарегистрирован: 20.12.2011
Рейтинг: 8
Сказал спасибо: 4
Поблагодарили 98 раз(а) в 75 сообщ.
Сообщение: #72
RE: G1-ATA Devices
есть или нет разницы покажет практика. sd мод работал на малых скоростях и без прерываний. тут скорость может увеличиться в десятки раз. если это будет достаточно программе то и без прерываний можно обойтись.

обработчики и регистры тут не причём. это ясно что они както использоваться будут. в обработчике же надо чтото вызвать или записать в какуто переменную - что данные пришли, или уже считаны по дма.
что такое работа по прервапнию - это пришёл запрос на чтение , мы записали в реги ДМА нужные параметры, потом в реги АТА , и команду на чтение - и выходим из функции. далее - по прерыванию от дма - проц входит в обработчик, видим что данные считаны ..и что дальше???

во вторых не факт что все команды на чтение обязательно работaют асинхронно. может както передаётся параметр, чтобы не выходить из функции чтения пока не считаются данные или не будет ошибки.
либо есть отдельный сискол синхронизации завершения операций от привода.

без понимания как их встроить эти прерывания - приводит к тому что они живут своей жизнью,))) а приложение или ждёт или давно думает что всё прочитано)))
22.03.2014 17:38
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7237
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 149
Поблагодарили 1214 раз(а) в 762 сообщ.
Сообщение: #73
RE: G1-ATA Devices
С сисколами проблем в общем то не будет, там все сделано так, чтобы был асинхрон или синхрон по желанию (3 сискола используется в комбинации).

[Изображение: barbers.png]
22.03.2014 20:49
Вебсайт Найти все сообщения Цитировать это сообщение
megavolt85 Не на форуме
Супермодератор
******

Сообщений: 3152
Зарегистрирован: 24.03.2012
Рейтинг: 38
Сказал спасибо: 185
Поблагодарили 1559 раз(а) в 917 сообщ.
Сообщение: #74
RE: G1-ATA Devices
SWAT вот вывод запуска
g1ata-ext2fs.elf (Click to View)
P.S. всё же дело было не в кабеле, вернул адаптер на ILX232D по трёх проводной схеме и перегрузился в винду

HKT-3030, Bios mod, SD mod, VGA internal mod, G1ATA mod, Region changer mod, PSU mod
(Последний раз сообщение было отредактировано 23.03.2014 в 04:05, отредактировал пользователь megavolt85.)
23.03.2014 04:02
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7237
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 149
Поблагодарили 1214 раз(а) в 762 сообщ.
Сообщение: #75
RE: G1-ATA Devices
О ну хорошо, теперь тебе по удобней будет разработку вести, если сделаешь еще какой то автоматический хотсвап Serial <-> SPI Smile))
Откуда там такие ошибки конечно валятся не понятно, но это ладно. Записался файл то или нет? Попробуй еще пример с sd так же.

[Изображение: barbers.png]
23.03.2014 10:08
Вебсайт Найти все сообщения Цитировать это сообщение
megavolt85 Не на форуме
Супермодератор
******

Сообщений: 3152
Зарегистрирован: 24.03.2012
Рейтинг: 38
Сказал спасибо: 185
Поблагодарили 1559 раз(а) в 917 сообщ.
Сообщение: #76
RE: G1-ATA Devices
Файл не создался

HKT-3030, Bios mod, SD mod, VGA internal mod, G1ATA mod, Region changer mod, PSU mod
23.03.2014 14:14
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7237
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 149
Поблагодарили 1214 раз(а) в 762 сообщ.
Сообщение: #77
RE: G1-ATA Devices
Пробовал отформатировать вторую партицию на SD в EXT2:
Код:
mke2fs sd 1

Ошибок не выдает, форматирование завершается успешно. Раздел этот монтируется в DS без проблем, но файл записать не получается Sad Даже корневую директорию просто прочитать не получается.
Похоже придется баг-репорт писать для KOS...

megavolt85 может попробуешь на HDD это сделать? Надо убедится окончательно.

[Изображение: barbers.png]
(Последний раз сообщение было отредактировано 23.03.2014 в 18:41, отредактировал пользователь SWAT.)
23.03.2014 17:18
Вебсайт Найти все сообщения Цитировать это сообщение
OzOnE Не на форуме
Пользователь
**

Сообщений: 65
Зарегистрирован: 20.07.2012
Рейтинг: 1
Сказал спасибо: 0
Поблагодарили 6 раз(а) в 5 сообщ.
Сообщение: #78
RE: G1-ATA Devices
@SWAT - Does this mean you got your G1 adapter working OK with an SD adapter now?

I have a lot of catching up to do. lol

I have my Dreamcast out again, and will be testing cybdyn's DCIO code this week.

I can ask Lawrence (BlueCrab) directly about any questions on the KOS IDE code.
He wrote the PIO code after I sent him a G1 adapter, so he should be able to fix any bugs (if he's not too busy.)

I'll really be trying to get into the DC stuff again now, as I'm just getting over a bad Flu.

OzOnE.
24.03.2014 06:32
Найти все сообщения Цитировать это сообщение
SWAT Не на форуме
Администратор
*******

Сообщений: 7237
Зарегистрирован: 04.01.2005
Рейтинг: 30
Сказал спасибо: 149
Поблагодарили 1214 раз(а) в 762 сообщ.
Сообщение: #79
RE: G1-ATA Devices
(24.03.2014 06:32)OzOnE писал(а):  @SWAT - Does this mean you got your G1 adapter working OK with an SD adapter now?

I have a lot of catching up to do. lol

I have my Dreamcast out again, and will be testing cybdyn's DCIO code this week.

I can ask Lawrence (BlueCrab) directly about any questions on the KOS IDE code.
He wrote the PIO code after I sent him a G1 adapter, so he should be able to fix any bugs (if he's not too busy.)

I'll really be trying to get into the DC stuff again now, as I'm just getting over a bad Flu.

SD and IDE works for read, but with write we have some strange problems on both devices.
This is similar to the problem in the file system, but both the file systems (FAT and EXT2) behave roughly the same.
I'm still not sure exactly what is the problem, I will try to find the reason for a while.
If it turns out that this is a problem in KOS, then I'll write to BlueCrab on dcemulation or IRC. I already asked him there to fix other bugs.

[Изображение: barbers.png]
24.03.2014 12:20
Вебсайт Найти все сообщения Цитировать это сообщение
cybdyn Не на форуме
Ветеран
*****

Сообщений: 1368
Зарегистрирован: 20.12.2011
Рейтинг: 8
Сказал спасибо: 4
Поблагодарили 98 раз(а) в 75 сообщ.
Сообщение: #80
RE: G1-ATA Devices
chk ATA specification?))

anyway if READ works, it's enough for play games)))
(Последний раз сообщение было отредактировано 24.03.2014 в 13:36, отредактировал пользователь cybdyn.)
24.03.2014 13:35
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 5 Гость(ей)