PC-01 Lviv
http://pc01.lviv.ua/forum/

Контроллер дисковода
http://pc01.lviv.ua/forum/viewtopic.php?f=2&t=316
Page 1 of 1

Author:  kapitan [ 01 Sep 2014, 08:31 ]
Post subject:  Контроллер дисковода

Привет!

Удалось оживить Франкеншнейна!
Attachment:
Lviv FDC V1.JPG
Lviv FDC V1.JPG [ 800.89 KiB | Viewed 12497 times ]
Перерисовывалась схема Coman, но выяснилось, что она неработает с Chameleon.
Был исправлен селектор адреса и все заработало. Прилагаю правильную схему.

У меня работает на эмуляторе дисковода HxC с образами дисков найденых на zx-pk.ru

Разыскивается программа форматирования для Chameleon DOS и CP/M

Я буду разводить себе чистовой вариант платы, могу обменять рабочий прототип на что то интересное.

Attachments:
Lviv FDC Sch.zip [88.69 KiB]
Downloaded 1044 times

Author:  liberation [ 01 Sep 2014, 10:03 ]
Post subject:  Re: Контроллер дисковода

Quote:
Разыскивается программа форматирования для Chameleon DOS и CP/M
Земной поклон за труды! Попробую поработать с архивом сегодня, искомое выложу на zx-pk.ru. Кстати, можете посмотреть те образы дисков, что я Вам уже высылал в августе. Там все это должно быть.
Quote:
Я буду разводить себе чистовой вариант платы, могу обменять рабочий прототип на что то интересное.
А на деньги можно, например?

Author:  kapitan [ 01 Sep 2014, 17:27 ]
Post subject:  Re: Контроллер дисковода

На тех дисках формат ненайден.
У него неприличная себестоимость вышла $130 :(
чтобы цена упала нужно не одну плату заказывать, а штук 50.
Поэтому лучше меняться. Если у вас есть возможность дешево изготовить,
то я когда второй вариант проверю, то выложу PCB файл.
BTW: расположение элементов сохранено как у оригинальной платы

Author:  kapitan [ 03 Sep 2014, 08:28 ]
Post subject:  Re: Контроллер дисковода

я дизассемблировал Хамелеон и просчитал по тактам программы записи и чтения секторов.
Результат печальный: на ВМ80 MFM чтение работает почти чудом, а запись не будет работать в принципе.
Для работы записи надо разогнать проц в 1.5 раза.

FM чтение и запись работают без проблем.

Author:  liberation [ 03 Sep 2014, 10:57 ]
Post subject:  Re: Контроллер дисковода

Quote:
я дизассемблировал Хамелеон и просчитал по тактам программы записи и чтения секторов.
Результат печальный: на ВМ80 MFM чтение работает почти чудом, а запись не будет работать в принципе.
Для работы записи надо разогнать проц в 1.5 раза.

FM чтение и запись работают без проблем.
Все верно. Я поискал и нашел тему "ОС как стандарт", где я делал краткий обзор ОСей для "Львов" с указанием их отличительных особенностей. Кстати, раз уж Вы сделали дизасм Хамелеона, то может быть выложите результат на форуме? :wink:

Author:  Zelya [ 03 Sep 2014, 13:13 ]
Post subject:  Re: Контроллер дисковода

Quote:
FM чтение и запись работают без проблем.
Это 160 Кб, если не ошибаюсь. Нормально же, как для 8080!

Author:  kapitan [ 04 Sep 2014, 03:53 ]
Post subject:  Re: Контроллер дисковода

это 360 кб

я дизассемблировал только кусочки, чтобы понять в чем проблема
Code:
1 CPU T = 450 ns
MFM 32 mks/byte = 71 T

WRITE SECTOR            CPU T 

ROM:C060 loc_C060:                               
ROM:C060                                         
ROM:C060   DB E4         10  in      a, (0E4h)       ; Read IRQ/DRQ Status, Apply Mask, Wait for DRQ
ROM:C062   A1             4  and     c
ROM:C063   CA 60 C0      17  jp      z, loc_C060     ; Read IRQ/DRQ Status, Apply Mask, Wait for DRQ

ROM:C066   7E             7  ld      a, (hl)         ; Next Data byte
ROM:C067   D3  E3        10  out     (0E3h), a       ; Load VG93 DR
ROM:C069   23             5  inc     hl              ; Next address in write buffer
ROM:C06A   F2 60 C0      17  jp      p, loc_C060     ; IRQ=Bit7=0 Repeat

ROM:C06D   C9                ret

READ SECTOR

ROM:C7E6 loc_C7E6:                               
ROM:C7E6                                         
ROM:C7E6   DB E4         10  in      a, (0E4h)
ROM:C7E8   A1             4  and     c
ROM:C7E9   CA E6 C7      17  jp      z, loc_C7E6     ; Read IRQ/DRQ Status Register, Apply Mask, Repeat

ROM:C7EC   DB E3         10  in      a, (0E3h)       ; Read VG93 DR
ROM:C7EE   F8             3  ret     m               ; Return if IRQ=Bit7=1
ROM:C7EF   77             7  ld      (hl), a         ; Store in Read Buffer
ROM:C7F0   23             5  inc     hl              ; Next address in read buffer
ROM:C7F1   C3 E6 C7      10  jp      loc_C7E6

программа записи менее эффективна, ее можно доработать и сократить на 4Т, но это не спасает.
можно еще заранее затолкать сектор в обратном порядке в стек и делать POP это дает еще 1Т, что тоже мало...
чтение работает, предположительно, за счет повторных попыток с попаданием на best case сценарий цикла.

Author:  Zelya [ 05 Sep 2014, 11:33 ]
Post subject:  Re: Контроллер дисковода

Quote:
У него неприличная себестоимость вышла $130 :(
Скажите, а в будущем, скажем под Новый Год или чуток позже, можно было б приобрести такую штуку по указанной цене?

Author:  kapitan [ 05 Sep 2014, 17:49 ]
Post subject:  Re: Контроллер дисковода

можно

Page 1 of 1 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/