Орион и винчестер

Компьютер Орион-128 (1990) расширяемый до 256 КБ и его развитие

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24086
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Орион и винчестер

Post by Shaos »

У соседей пользователь "alx32" предложил свой IDE-интерфейс для Ориона:

http://www.nedopc.org/nedopc/upload/alx32-ide.pdf

Располагается в области памяти #F77X
Last edited by Shaos on 26 Nov 2013 14:23, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

А софт он под него предложил?
В общем-то со времен Nemo IDE-интерфейс - это не более чем несколько портов...
iLavr
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Post by Error404 »

Софт я планирую сделать (у меня уже есть поддержка для IDE на ВВ55, правда насколько затянется дописывание для этого варианта - ХЗ). Этот вариант от НЕМО отличается тем, что 1) лежит в области памяти и 2) с него можно читать сразу регистровые пары, а не побайтно и не по OUT, т.е. будет процентов на 30-40 быстрее НЕМО-IDE.
Всем добра!
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Post by b2m »

Error404 wrote:с него можно читать сразу регистровые пары, а не побайтно и не по OUT, т.е. будет процентов на 30-40 быстрее НЕМО-IDE.
Если читать сектор командой POP, то может даже и ещё быстрее. Но для этого нужно, чтобы 16-битный порт данных декодировался в большом куске памяти (минимум 512 байт).
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Error404
Maniac
Posts: 269
Joined: 05 Oct 2006 04:45
Location: Moscow

Post by Error404 »

b2m wrote:
Error404 wrote:с него можно читать сразу регистровые пары, а не побайтно и не по OUT, т.е. будет процентов на 30-40 быстрее НЕМО-IDE.
Если читать сектор командой POP, то может даже и ещё быстрее. Но для этого нужно, чтобы 16-битный порт данных декодировался в большом куске памяти (минимум 512 байт).
Это - да. Тогда можно было бы и просто LDIR-ом пользоваться - сравнимо получится, и не надо будет запрещать прерывания. Но в Орионе негде выделить сплошного куска портов не только 512 байт, а даже 256: везде что-то уже сидит. Разве что сделать дополнительный порт, который включал бы вместо ПЗУ F800 чтение с IDE, но это уже резак, МГТФ и несовместимость.

Я примерно так же в контроллере Ethernet делал: F770..F77F регистры RTL8019, а F780..F7FF - сплошной её регистр данных. Но тут только 128байт адресного пространства. Для Ethernet - приемлимо, там много служебных пакетов приходят длиной менее 100 байт (читается за 1 LDIR), а полуторакилобайтный пакеты данных читаются за несколько пересылок.

В принципе и для IDE можно этот же дианазон, ну будет не 1 LDIR, а 4 последовательных, надо только как-то придумать как их (IDE и Ethernet) одновременно подружить в пространстве F780..F7FF
Всем добра!
User avatar
Shaos
Admin
Posts: 24086
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Автор продолждает тему:

http://zx.pk.ru/showthread.php?t=22230

Предлагается преобразовывать однобайтовые обращения в 2-байтовые для каждого регистра IDE, однако как я понял по стандарту IDE (см. тут), 16-битным является только регистр 0, а все остальные по сути 8-битные, т.е. тут пустой расход адресного пространства и потеря времени на работу с 16-битами вместо 8...
Я тут за главного - если что шлите мыло на me собака shaos точка net