Просмотр полной версии : Контроллер дисковода для "Львов ПК-01"
oracleua
23.05.2014, 22:58
Кто нибудь работал с такой системой??
Это по ходу нужен контролер дисковода???
liberation
26.05.2014, 00:17
Кто нибудь работал с такой системой??
Это по ходу нужен контролер дисковода???
Да, это хорошо знакомый Chameleon DOS (http://lvovpc.ho.ua/forum/viewtopic.php?f=14&t=172) авторства Алексея Мамонтова. Откуда у Вас такая штука? Сохранились ли к ней какие-либо дискеты-бумажки-воспоминания?
Контролер нужен, выглядит он таким образом (http://lvovpc.ho.ua/forum/viewtopic.php?p=2035#p2035).
oracleua
26.05.2014, 00:46
Да, это хорошо знакомый Chameleon DOS (http://lvovpc.ho.ua/forum/viewtopic.php?f=14&t=172) авторства Алексея Мамонтова. Откуда у Вас такая штука? Сохранились ли к ней какие-либо дискеты-бумажки-воспоминания?
Контролер нужен, выглядит он таким образом (http://lvovpc.ho.ua/forum/viewtopic.php?p=2035#p2035).
Cпасибо..Плата была без корпуса и тд.и тп..
Случайно нашел в коробке плат..переданных с Донецка..
Попытаюсь уточнить...что осталость..
liberation
26.05.2014, 02:12
Cпасибо..Плата была без корпуса и тд.и тп..
Случайно нашел в коробке плат..переданных с Донецка..
Попытаюсь уточнить...что осталость..
Кстати, я сразу не обратил внимание на скриншот, а там ведь Chameleon DOS 7.7, которая предназначалась для "Львова" с процом Z80, для так называемого ПК-02 "Львов". До сих пор в природе был известен только один уцелевший экземпляр ПК-02 - да и то мой. Так что у Вас действительно интересная находка. Держите в курсе, если узнаете какие-либо подробности.
oracleua
26.05.2014, 08:32
Кстати, я сразу не обратил внимание на скриншот, а там ведь Chameleon DOS 7.7, которая предназначалась для "Львова" с процом Z80, для так называемого ПК-02 "Львов". До сих пор в природе был известен только один уцелевший экземпляр ПК-02 - да и то мой. Так что у Вас действительно интересная находка. Держите в курсе, если узнаете какие-либо подробности.
Плата с вм80 процем....
Вот в таком состоянии попала ко мне...
http://rghost.ru/55857600/thumb.png (http://rghost.ru/55857600.view)
oracleua
26.05.2014, 12:36
А есть к Львов ПК-01 схема дисковода...рабочая...
liberation
26.05.2014, 15:50
А есть к Львов ПК-01 схема дисковода...рабочая...
Есть схема одного из вариантов, но качество сохранившегося скана удручает [посмотреть (http://lvovpc.cu.cc/article.shtml?id=7)]. Как вариант можно просмотреть сохранившиеся подшивки бюллетеня "Coman-Info" [ver 1 (http://lvovpc.cu.cc/article.shtml?id=9), ver 2 (http://www.emulator3000.org/rus-vector06c.htm)], где были еще материалы по подключению дискача ко "Львову". Боюсь, у меня уже не хватит терпения еще раз пересматривать эти манускрипты.
oracleua
26.05.2014, 20:24
Есть схема одного из вариантов, но качество сохранившегося скана удручает [посмотреть (http://lvovpc.cu.cc/article.shtml?id=7)]. Как вариант можно просмотреть сохранившиеся подшивки бюллетеня "Coman-Info" [ver 1 (http://lvovpc.cu.cc/article.shtml?id=9), ver 2 (http://www.emulator3000.org/rus-vector06c.htm)], где были еще материалы по подключению дискача ко "Львову". Боюсь, у меня уже не хватит терпения еще раз пересматривать эти манускрипты.
Спасибо...почитаю..А эту схему я видел..
kapitan-u
15.07.2014, 09:19
Собрался развести в p-cad плату контроллера дисковода. Закидал все элементы на лист, нехватает ВГ93 и ЛП11. Помогите пожалуйста найти библиотеки.
----
PS уже сам нарисовал, но библиотеки по прежнему ищу.
kapitan-u
16.07.2014, 20:02
Схема отрисованная в P-CAD в доступном для понимания виде. Есди найдете ошибки - пишите на адрес
[email protected]
- На 14-й контакт Внеш1 Львова выведенно +12v.
Схема Coman неподходит для Chameleon DOS !!!
Прилагаю новую схему. Проверено - работает!
oracleua
17.07.2014, 13:12
А как записать дискету на ПК???? Надо - же на чем-то проверить работоспособность контроллера...
kapitan-u
17.07.2014, 17:11
я буду подключать HxC эмулятор.
http://hxc2001.free.fr/floppy_drive_emulator/
надо только конвертор файлов будет сделать.
плату развел, заказывать изготовление буду в сентябре, когда вернусь из отпуска и детали соберу.
kapitan-u
23.07.2014, 08:29
из UDI файлов вычислил формат диска
Lviv PK-01
MFM, 300rpm, 250000 bps
IBM ISO 2 sides, 80 tracks, 16 sectors per track, 256 bytes per sector
655 360 formatted capacity
sector order 1,2,3 ... 16
Track header:
0x4e x 80 - GAP1
0x00 x 12 - sync
0xC2 x 3 - desync
0xFC - marker
0x4e x 65 - GAP
Sector header::
0x00 x 12 - sync
0xa1 x 3 - desync
0xfe - IDAM marker
tt - track number (starting #0)
sd - side
sc - sector number (starting #1)
0x01 - 256 bytes per sector
cc x 2 - CRC
0x4e x 22 - GAP2
Sector Data:
0x00 x 12 - sync
0xa1 x 3 - desync
0xfb - DATA AM marker
dd x 256 - data
cc x 2 - CRC
0x4e x 70 - GAP3
0x4e x 141 - GAP4
6510 bytes total
unformated MFM track at 300RPM = 6250 bytes
extra 40 bytes may be at GAP1 or GAP4
--------------------------
в принципе если иметь чистый DSK файл с payload data, to HxC эмулятор будет работать со стандартным софтом.
Вопрос: есть конвертилки UDI в DSK или самому делать надо?
kapitan-u
24.07.2014, 01:30
конвертер UDI -> DSK готов!
kapitan-u
25.07.2014, 22:08
прилагаю програмку для конвертирования UDI в DSK
в этом же архиве лежит лог файл для диска system2.udi
в нем 23 сектора с CRC ошибками (в логе искать по слову ERROR)
остальные диски без ошибок
полный архив DSK и log файлов вот тут
http://unofficial.portaone.com/~kapitan/DSK.zip
PS у програмы следующие ограничения: она работает с секторами любого размера, но предполагает, что сектора на диске лежат
в том порядке в котором должны быть в DSK. т.е.
дор 0 сторона 0: сектор 1,2,3...
дор 0 сторона 1: сектор 1,2,3...
дор 1 ...
и т.д.
програма может быть легко доработана для сортировки из произвольного порядка.
kapitan-u
01.09.2014, 06:38
Ура! Заработало!
Не обошлось без пары ошибок, но все удалось уладить.
Перерисовка Coman не подходит для Chameleon, даже после исправлений как в руководстве по наладке - не подходит адресация.
Дизассемблированием Chameleon были выяснены правильные адреса.
DSK файлы переделанные из UDI, которые я тут выкладывал ранее, работают без проблем! Запускаются игрушки и т.п. Расстраивает отсутствие CP/M и утилит типа Format. Скоро выложу исправленную схему и буду разводить финальный вариант платы.
Helloween
01.09.2014, 07:11
Ура! Заработало!
Не обошлось без пары ошибок, но все удалось уладить.
Перерисовка Coman не подходит для Chameleon, даже после исправлений как в руководстве по наладке - не подходит адресация.
Дизассемблированием Chameleon были выяснены правильные адреса.
DSK файлы переделанные из UDI, которые я тут выкладывал ранее, работают без проблем! Запускаются игрушки и т.п. Расстраивает отсутствие CP/M и утилит типа Format. Скоро выложу исправленную схему и буду разводить финальный вариант платы.
Мне C/PM для Львова так и не удалось найти... :(
kapitan-u
01.09.2014, 08:52
Обновил пост
http://zx-pk.ru/showpost.php?p=726409&postcount=226
вложил рабочую схему.
PS: и все это работает с эмулятором дисковода HxC !
liberation
01.09.2014, 19:02
Расстраивает отсутствие CP/M и утилит типа Format.
Выкладываю три образа дисков, где должны быть программы format3 и mc2, которые вроде бы умели форматировать диски для Хамелеона. Попробуйте их деле. Остальной софт может быть рассчитан на "Львов" с процом Z80, поэтому скорее всего не пойдет на штатном ПК-01. :wink:
Что касается CP/M, то позже выложу, что сохранилось. В принципе, на тех дисках, что я высылал Вам в прошлом месяце, должна быть CP/M80 и ее загрузчик для Хамелеона. Но там скорее всего версия CP/M80 для "Львова" с Z80 и 144 кб ОЗУ. Хотя возможны варианты. Нужно смотреть.
kapitan-u
01.09.2014, 19:41
обновил файл с DSK образами
http://unofficial.portaone.com/~kapitan/DSK.zip
в него же добавил файл Lviv floppy_profile.fpf
это файл конфигурации для HxC софта
liberation
03.09.2014, 12:45
Перерисовка Coman не подходит для Chameleon, даже после исправлений как в руководстве по наладке - не подходит адресация
А под какую адресацию была рассчитана версия Coman?
kapitan-u
04.09.2014, 05:07
Через Ж. честно говоря.
По оригинальной схеме
A0 & !A1 & !A2 & !A3 & !A4 выбор контроллера
после доработки как в инструкци по наладке
A0 & !A1 & !A2 & A3 & A4 выбор контроллера
A5 -> A0 ВГ93
A5 -> A1 ВГ93
А7 = 0 ВГ93
А7 = 1 регистр статуса
kapitan-u
05.09.2014, 02:22
Финальный вариант
http://zx-pk.ru/showpost.php?p=726409&postcount=226
чистовая плата ушла на изготовление.
kapitan-u
17.09.2014, 02:55
Прилагаю програмки для работы с образами дисков Хамелеона.
lviv-empty-dsk.pl - создает пустой образ диска
lviv-dsk-to-lvt.pl - печатает каталог диска и вынимает с него все файлы в отлельную директорию переделывая их из COM & EXE в LVT & Lvx
получаемые LVT файлы работают в эмуляторе
lviv-lvt-to-dsk.pl - добавляет на диск LVT файлы конвертируя их в COM
решает проблему Хамелеона loading address = start address
(в LVT может быть loading address != start address)
понимает три типа LVT файлов:
- loading address = start address (Direct)
- loading address != start address && loading address > 2 ( увеличение на 3 байта и добавление команды JMP)
- loading address != start address && loading address < 2 ( добавление перемещающего загрузчика)
Проверено - работает на реальном компьютере+ контроллер дисковода.
kapitan-u
17.09.2014, 04:19
http://zx-pk.ru/attachment.php?attachmentid=49340&stc=1&d=1410913126
kapitan-u
18.09.2014, 18:55
http://zx-pk.ru/attachment.php?attachmentid=49359&stc=1&d=1411052056
kapitan-u,
Вы - маг и чародей!
kapitan-u
19.09.2014, 04:35
Lviv PK-01 Chameleon DOS and CP/M36
* note PK-01 is unable to WRITE MFM disks due to CPU constraints
it READS MFM OK
MFM, 300rpm, 250000 bps
IBM ISO 2 sides, 83 tracks, 16 sectors per track, 256 bytes per sector
679 936 formatted capacity
and
FM, 300rpm, 250000 bps
IBM ISO 2 sides, 83 tracks, 9 sectors per track, 256 bytes per sector
382 464 formatted capacity
sector order 1,2,3 ...
Track header:
0x4e x 80 - GAP1
0x00 x 12 - sync
0xC2 x 3 - desync
0xFC - marker
0x4e x 65 - GAP
Sector header::
0x00 x 12 - sync
0xa1 x 3 - desync
0xfe - IDAM marker
tt - track number (starting #0)
sd - side
sc - sector number (starting #1)
0x01 - 256 bytes per sector
cc x 2 - CRC
0x4e x 22 - GAP2
Sector Data:
0x00 x 12 - sync
0xa1 x 3 - desync
0xfb - DATA AM marker
dd x 256 - data
cc x 2 - CRC
0x4e x 70 - GAP3
0x4e x 141 - GAP4
6510 bytes total
unformated MFM track at 300RPM = 6250 bytes
extra 40 bytes may be at GAP1 or GAP4
For FM and MFM disks
catalog location: Side 0 Track 0 Sectors 1-9
Sector 1: 17 bytes disk attributes + 14 x 17 bytes file records + 1 byte = 0x00 padding to 256 bytes
Sector 2-9: 15 x 17 bytes file records + 1 byte = 0x00 padding to 256 bytes
Therefore maximum number of files: 134
Disk attr in catalog - 17 bytes
- 11 bytes disk name
- 1 byte first free sector
- 1 byte first free track
- 1 byte unknown
- 1 byte hidden DIR flag
- 1 byte write protection
- 1 byte not used just padding to 17 bytes
File entry in catalog - 17 bytes
- 8 bytes file name (if first byte = 0x01 then file is marked as deleted)
- 3 bytes file extention
- 1 byte file status: 0x00 Normal, 0x01 Protected, 0x02 Protected and Hidden;
- 1 byte file location sector
- 1 byte file location track
- 2 bytes RAM loading address = start address (for BAS files: file length in bytes)
- 1 byte file length in sectors of 256 bytes
oracleua
19.09.2014, 10:59
А файлы для изготовления печатной платы возможно выложить???
kapitan-u
19.09.2014, 18:58
Можно. Я спаяю вторую версию и проверю нет ли ошибок, потом выложу.
kapitan-u
20.09.2014, 19:46
Информация по портам Львова.
Любая операция IN или OUT в порты 0 - 191 будет подвешивать компьютер, из за снятия сигнала READY на CPU.
В руководстве по Бэйсику для команды OUT указано, что разрешенные порты 192 - 255.
Плохо, что:
- не пояснили причин
- не сделали проверки и защиты от подвисания.
Причина кроется в следующем:
Арбитр доступа к видео ОЗУ построен на микросхемах D1.1 D1.2 D5.2 D4
Он Реагирует на доступ по адресам A14 = A15 = 1 но неразличает доступ к ОЗУ или портам!
CPU на командах IN и OUT дублирует A0-A7 на A8-A15
Почему так сделано? Х.З.
Доработать можно включением пары вентилей в цепь сигнала D5.2-12
Но думаю такой цели нет. Надо просто знать и правильно эмулировать.
PS сканировать порты ненадо!
во Львове нет ничего кроме двух ВВ55 по адресам
С0-С3 и D0-D3
+ при эмуляции надо учесть, что A2 игнорируется !
т.е. С0-С3 эквивалентно С4-С7
и D0-D3 эквивалентно D4-D7
+ есть безадресный порт на запись
триггер D5.1
устанавливается при сбросе
и сбрасывается при первой записи в любой порт
это схема начального старта
процессор ВМ80 стартует с нулевого адреса, соответственно выбор ПЗУ на старте не такой как в нормальном состоянии.
триггер блокирует участие в выборе А14 и А15.
т.е. код из ПЗУ которое в нормальном состоянии C000 времменно сидит на 0000
первые команды должны быть типа
jmp C003
out A,(xx)
но совсем необязательно переключать сразу
для коректной эмуляции надо продолжать мапить адреса по другому пока не пройдет первая команда out
----------
2 дополнения:
- на схеме Львова ОПЕЧАТКА D28-3 подключен не на А3, а на А5 !!!
- D28 выбирается так же как и D9 схемой начального сброса,
т.е. после сброса до прохождения первой команды OUT дешифрация адреса для портов неработает. Думаю на практике это ничего незначит.
Первая команда типа OUT C3,xx достигнет своей цели, просто сигнал CS
будет немного задержан.
-----------
ответы на вопросы:
> что происходит на реале, когда мы обращаемся к портам
> 0xE0 - 0xFF? В эмуляторах они есть зеркалятся на порты 0xC0 - 0xDF.
> Насколько верно такое поведение?
отвер на вопрос: неверно.
там есть 4 линии выбора портов на D28
С0-С7
D0-D7
E0-E7
F0-F7
первые 2 заведены на ВВ 55 и поскольку А3 игнорируется, то
С0-С3 = С4-С7
D0-D3 = D4-D7
все 4 линии выведены на коннектор ВНЕШ1
kapitan-u
22.09.2014, 01:40
Обновлен софт
http://zx-pk.ru/showpost.php?p=738375&postcount=240
в принципе это финальный вариант, сделано все, что можно и нужно, далее только багофиксы если кто найдет.
Поддерживаются BAS файлы в обе стороны. Проверяются конфликты имен файлов и есть возможность переименования и т.п.
kapitan-u
23.09.2014, 00:04
Попала ко мне в руки игра Дракула в виде teledisk образа диска.
HxC софт понимает TD0 формат, поэтому все было просто переброшено на эмулятор дисковода и сразу заработало на живом львове.
Но вот, что интересно:
- игра стартует автоматом после сброса
- если поставить другой диск и выйти на командную строку хамелеона,
а потом поставить дракулу и сказать DIR, то каталога неувидим и игра снова стартует автоматом
- просмотр кода первого сектора показал, что там мусор и совсем непохоже на хамелеоновский каталог.
- копировть диск неполучается
Это было все очень интересно и заставило потратить пару часов на дизассемблирование хамелеона :-)
Вот как это работает.
Сам диск интересно размечен. Установить структуру очень просто: берем HxC софт, загружаем TD0 и сохраняем как XML.
Вот небольшая выдержка:
<number_of_track>83</number_of_track>
<number_of_side>2</number_of_side>
<format>IBM_FM</format>
<start_sector_id>1</start_sector_id>
<sector_per_track>3</sector_per_track>
<sector_size>1024</sector_size>
<formatvalue>0</formatvalue>
<gap3>255</gap3>
<bitrate>250000</bitrate>
<pregap>0</pregap>
-<sector sector_size="1024" sector_id="1">
-<sector sector_size="1024" sector_id="16">
-<sector sector_size="128" sector_id="19">
<data_fill>0x00</data_fill>
т.е. по 3 сектора на дорожке
номера секторов 1, 16, 19
размеры секторов 1024, 1024, 128
сектор 128 байт всегда заполнен нулями, два других неcут информацию.
Хамелеон пытается прочесть первый сектор каталога в буфер 0xBD00
ВГ93 читает сектор целиком, все 1024 байта.
Получается buffer overflow attack :-)
Начало стека известно из листинга хамелеона 0xBE80
0xBE80-0xBD00 = 0x180
вычислять положение указателя на момент чтения сектора совсем необязательно, можно просто пробить стек нужным адресом на некоторую глубину. В Дракуле 16 раз повторяется адрес 0xBD00
Вот такие люди в стране советской были! :-)
Справедливости ради стоит заметить, что авторы Хамелеона и Дракулы - одни и те же люди.
kapitan-u
23.09.2014, 02:20
Прилагаю IDA64 project file
дизассемблированный и откоментированный Хамелеон.
Все адреса переменных и переходов идентифицированны и прописанны текстом.
+ просто текстовый файл кому лень IDA64 ставить
kapitan-u
23.09.2014, 19:51
Видимо есть смысл еще внимательнее посмотереть на листинг хамелеона. В будущем обновлю его.
Как минимум нашел одну багу: при смене драйва хамелеон сначала переключает драйв, а потом прерывает текущую команду ВГ93. Так можно диск испортить во время команды записи. Но вероятность маленькая. В самом хамелеоне драйв можно поменять только из командной строки, когда ничего не выполняется. Это только для внешних програм использующих вызовы хамелеона может быть проблемой.
DATAsoft
23.09.2014, 22:56
kapitan-u, не томите. Выложите для производства платки контроллера! Многим, думаю, захочется их собрать!
kapitan-u
24.09.2014, 00:17
29го ко мне по почте прийдет та плата, что на фотке.
это второй вариант.
я соберу, еще раз проверю и сразу выложу
kapitan-u
28.09.2014, 01:15
Обновил
http://zx-pk.ru/showpost.php?p=739589&postcount=34
неизвестные системные вызовы сократились с 11 до 5, выяснены все командные клавиши
liberation
28.09.2014, 15:47
неизвестные системные вызовы сократились с 11 до 5, выяснены все командные клавиши
Удалось описать четыре из пяти оставшихся процедур. Последний из могикан - процедура 0xE043. Возможно, кто-нибудь захочет показать свое кунг-фу и разберется, что она точно делает. Пока ясно, что это "хвост" процедуры теста ОЗУ (во "Львове" оказывается и такой есть). Вероятно, это тест видеоОЗУ. Но явного выхода из этой процедуры нет.
kapitan-u
28.09.2014, 20:11
скоро можно будет обрабатывать напильником и компилировать назад :-)
вопрос зачем это надо?
kapitan-u
29.09.2014, 20:14
вот тут
http://zx-pk.ru/showpost.php?p=226155&postcount=9
описано, как решили вопрос недостатка быстродействия в ПК8000
kapitan-u
29.09.2014, 23:57
Обновил
http://zx-pk.ru/showpost.php?p=739589&postcount=34
думаю это последнее обновление.
Работа закончена, секретов не осталось, в комплекте прилагается ASM файл,
который я откомпилировал и побайтно сравнил с оригиналом.
Если есть желаение, то теперь можно модифицировать Хамелеон или вобще, что то новое на его основе сделать.
kapitan-u
01.10.2014, 06:44
Спаял новыю плату, включил - все сразу работает как надо!
Вот как выглядит результат:
http://zx-pk.ru/attachment.php?attachmentid=49502&stc=1&d=1412131217
http://zx-pk.ru/attachment.php?attachmentid=49503&stc=1&d=1412131495
а вот как выглядит прототип:
http://zx-pk.ru/attachment.php?attachmentid=49500&stc=1&d=1412131217
http://zx-pk.ru/attachment.php?attachmentid=49501&stc=1&d=1412131217
Ну и прилагаю PCAD файлы для повторения.
Внимание: на 14 контакт ВНЕШ1 во Львове надо завести +12в.
Теоретически этот контроллер подойдет и для Вектора только разъем надо переразвести.
kapitan-u
04.10.2014, 19:36
ВНИМАНИЕ: Для тех, кто решил повторить контроллер.
1. Пост
http://zx-pk.ru/showpost.php?p=741571&postcount=43
обновлен. На схеме обнаружена несущественная ошибка: диод был перевернут вверх ногами. На работоспособность это не влияет, можно вобще без диода собрать. Данная функция софтом не используется. (BTW я непонимаю зачем она потенциально нужна, подскажите! Моя версия, что просто все перерисовывали друг у друга без понимания зачем оно надо). Во избежание проблем, плату я переразводить не стал. + приложил PDF схему.
2. D6 надо ставить 1533, а D17 (ИЕ5) надо ставить 155 серию, 1533 не пойдет!
3. Скоро опишу простой мод, который обеспечивает работу MFM на процессоре ВМ80. Плату разводить не планирую, ибо переделка очень проста. Развести могу, но изготавливать, собирать и проверять нехочу. Для безпроблемного повторения лучше брать ту плату, что есть и доработать.
kapitan-u
04.10.2014, 20:31
Доработка позволит стандартному Львову работать с MFM дисками.
Ранее это было возможно только на Z80.
Доработка очень проста! Требуемые детали: 2 резистора, 1 диод и 1 транзистор. Работа занимает 30 минут. Полная обратная совместимость Львова и контроллера со всем старым софтом.
Доработка использует существующий RDY триггер Львова и его артефакт
подвешивание компьютера при обращении к младшим портам.
Длительность цикла data pump сократилась с 48 мкс до 23 мкс при требуемых для MFM 32 мкс. Это позволяет 100% надежно работать из ПЗУ. При работе из RAM длительность цикла на пределе, но тоже работает!
Шаг №1 Доработка Львова.
http://zx-pk.ru/attachment.php?attachmentid=49531&stc=1&d=1412439015
- разрезать одну дорожку
- установить диод и резистор
- припаять провод на разъем ВНЕШ1
Готово! Проверьте работоспособность, ничего не должно было поменяться.
Шаг №2 Доработка контроллера.
Смотрите прилагаемую PCAD и PDF схему. Дополнения нарисованы над ВГ93
- перерезать одну дорожку. сигнал А7 от ножек 11 и 12 ЛА2.
сами ножки 11 и 12 подключить на +5В через резистор R4
- припаять провода, как показано на схеме, используя свободные вентили обозначенные на схеме
- установить резистор и транзистор (можно КТ315 приклеить к плате и припаять нужные провода)
- припаять провод на коннектор ВНЕШ1
Готово! Проверьте работоспособность, ничего не должно было поменяться.
Шаг №3 Установка модифицированной версии хамелеона.
- прошить РФ2 rom файлом из прилагаемого soft архива
(BTW там прилагается asm файл с исходниками)
- установить во Львов
Готово! Проверьте работоспособность, MFM работает.
Шаг №4 Записать диск с доработанной програмой FORMAT из прилагаемого dsk образа.
Вот как это выглядит:
http://zx-pk.ru/attachment.php?attachmentid=49535&stc=1&d=1412450411
--------------------------
Для любопытных. Суть изменений софта.
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
MODIF. WRITE SECTOR CPU T Saves 4T
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 F8 3 ret m ; Return if IRQ=Bit7=1
ROM:C06A 23 5 inc hl ; Next address in write buffer
ROM:C06B C3 60 C0 10 jp loc_C060 ; Repeat
LOCK.PORT==========
WRITE SECTOR CPU T TOTAL 49T !! 3T max wait on RAM access = 23 mks
loc_C060:
DB E4 10 in a, (064h) ; Read IRQ/DRQ Status, Apply Mask, Wait for DRQ
A1 4 and c
7E 7 ld a, (hl) ; Next Data byte
D3 E3 10 out (0E3h), a ; Load VG93 DR
F8 3 ret m ; Return if IRQ=Bit7=1
23 5 inc hl ; Next address in write buffer
C3 60 C0 10 jp loc_C060 ; Repeat
READ SECTOR
loc_C7E6:
DB E4 10 in a, (064h)
A1 4 and c
DB E3 10 in a, (0E3h) ; Read VG93 DR
F8 3 ret m ; Return if IRQ=Bit7=1
77 7 ld (hl), a ; Store in Read Buffer
23 5 inc hl ; Next address in read buffer
C3 E6 C7 10 jp loc_C7E6
FORMAT был переделан на вызов data pump процедур из ПЗУ
kapitan-u
04.11.2014, 09:44
My bad!
Я бездумно скопировал комановский делитель на ИЕ5.
Включение на C1-Q1-Q3 глючит для MFM, надо включать C0-Q0-Q2. Перезалил схемы и разводки! 1533 в этой позиции не пойдет вообще, ставьте 155.
kapitan-u
16.11.2014, 23:47
Микросхема АП6 совсем необязательна, она оставленна, что бы реплика была достовернее.
Ее можно неставить и просто закоротить линии данных.
kapitan-u
17.11.2014, 07:56
Проверил работоспособность со Львов ПК-02 и стандартным хамелеоном 7.7 - все работает.
kapitan-u
25.11.2014, 08:14
вот дизассемблировал и полностью разобрал FORMAT3
прилагаю текстовый и ESET IDA файлы, может кому пригодится.
Мне пригодилось для ремонта Львова.
Теоретически там оже работы осталось на час, чтобы переложить это в asm файл и потом можно модифицировать его как угодно.
oracleua
05.06.2015, 18:39
Вроде получилось запустить..
Осталось понять как записать дискету..
oracleua
05.06.2015, 20:11
Заработал..
Спасибо kapitan-u за реплику и помощь в настройке..
kapitan-u
10.06.2015, 06:11
Обновил софт
http://zx-pk.ru/showpost.php?p=738375&postcount=24
нашлась ошибка в dsk to lvt, уже исправил
VaxCavalera
10.09.2015, 00:47
люди,.... а заказать готовый fdc у кого-то можно?? для пк-01?
DATAsoft
20.12.2015, 16:01
Наконец дошли руки до сборки КНГМД. Заработал сразу. Понравилось, что на дисках используется спектрумовский формат. Форматировал дискеты и записывал на них образы обычными спектрумовскими утилитами (на PC).
Сейчас начал переделку самого Львова в ПК-02.
http://s011.radikal.ru/i315/1512/c7/52a311e883dct.jpg (http://radikal.ru/fp/a9796f6d28a944cdab7accbfd6f36b96)
Кому нужны платы - пишите сюда (http://market.zx-pk.ru/forum/viewtopic.php?f=7&t=3734).
Roger Wilco
30.09.2020, 17:56
Доброго вечера всем. Купил пару контроллеров и теперь хочу подключить их к своим машинкам. Но так и не понял, в каком ПЗУ дожен быть зашит Хамелеон. Еще у меня проблема с доработкой для MFM. В моем варианте не используется триггер D5.2, к нему просто не идут дорожки, использован только D5.1.
oracleua
30.09.2020, 21:13
Доброго вечера всем. Купил пару контроллеров и теперь хочу подключить их к своим машинкам. Но так и не понял, в каком ПЗУ дожен быть зашит Хамелеон. Еще у меня проблема с доработкой для MFM. В моем варианте не используется триггер D5.2, к нему просто не идут дорожки, использован только D5.1.
Хамелион шьется в одну ПЗу (D10) ..в ту что на панельке..
С доработкой MFM не занимался..
Roger Wilco
30.09.2020, 23:11
Понял. Спасибо!
Расскажите, пожалуйста, пошагово как сделать дискету для Львова! Контроллер собрал, а вот чем проверить? Есть куча файлов LVT, как их на дискету загнать (кроме как грузить во Львов и записывать на дискету)? Или может есть уже образы дисков с софтом и игрушками?
oracleua
08.10.2020, 21:18
Расскажите, пожалуйста, пошагово как сделать дискету для Львова! Контроллер собрал, а вот чем проверить? Есть куча файлов LVT, как их на дискету загнать (кроме как грузить во Львов и записывать на дискету)? Или может есть уже образы дисков с софтом и игрушками?
ZXDStudio
Все как на спектрум.. только образ со Львова..
Образы дискет есть..
Вот например.
https://wdfiles.ru/nzZZ
Можно сюда выложить Хамелеон для прошивки ПЗУ ?
oracleua
19.10.2020, 23:47
Можно сюда выложить Хамелеон для прошивки ПЗУ ?
https://wdfiles.ru/b144
Питание (+5в) дисковода 3.5 брал прям с платы контролера.
Шлейф подключения дисковода обычный с перевернутыми 10 и 12.
Для 5.25 наверно нужно подать отдельно.. я не проверял..
Спасибо!
У меня PC-шный БП, к нему все подключу и комп и дисковод.
Дисковод 3.5 дорабатывать как для Спектрума нужно?
oracleua
20.10.2020, 08:47
Спасибо!
У меня PC-шный БП, к нему все подключу и комп и дисковод.
Дисковод 3.5 дорабатывать как для Спектрума нужно?
У меня доработанный..
Roger Wilco
20.10.2020, 18:11
Там еще надо внутри Львова на разъем завести +12 вольт, на контроллер, для питания ВГ93.
oracleua
20.10.2020, 19:40
Там еще надо внутри Львова на разъем завести +12 вольт, на контроллер, для питания ВГ93.
Внимание: на 14 контакт ВНЕШ1 во Львове надо завести +12в.
вот писал
Блин, я это пропустил, думал 12 в уже есть … :(
Надеюсь, контроллер не умер..
Пойду паять, прошивать ПЗУ
Подпаял перемычку 12в на 14 вывод Х1 и запустил дисковод
https://i.ibb.co/m8CRjvc/71-D01-B90-CA83-4-ED0-AF1-C-19143-E182-EC7.jpg (https://ibb.co/cLcyBbr)
https://i.ibb.co/fF2C3rx/062-DB920-FE68-4992-968-C-05690-EAB0-E7-B.jpg (https://ibb.co/6wm4KDW)
Теперь нужно нарезать дискеты с программами.
Но пока мне совершенно не понятно, как это сделать.
Roger Wilco
21.10.2020, 01:10
ERROR с ошибкой написано, надо будет отредактировать в прошивке...
Исправил, хотя, правильно надо I/O ERROR.
На выбор, только КС теперь надо пересчитать.
Дискеты 3.5 заклеивать не нужно?
oracleua
21.10.2020, 16:16
Дискеты 3.5 заклеивать не нужно?
Нужно... если в дисководе не переделан датчик плотности..
а как образ размером 1 101 кб влезет в 720 кб?
Roger Wilco
21.10.2020, 23:04
Сделай запись и все увидишь.
blackinwoman
14.11.2020, 00:49
а где найти Chameleon DOS 5.5 - продукт Ал. Мамонтова, версия для ПК-01 (с процессором i8080)
хочу подключить контроллер к версии ПК-01, а в теме версия 7.7 для Z80 для ПК-02
oracleua
14.11.2020, 01:10
а где найти Chameleon DOS 5.5 - продукт Ал. Мамонтова, версия для ПК-01 (с процессором i8080)
хочу подключить контроллер к версии ПК-01, а в теме версия 7.7 для Z80 для ПК-02
Версия 7.7 работает на ПК-01 (с процессором i8080)
blackinwoman
14.11.2020, 01:12
Версия 7.7 работает на ПК-01 (с процессором i8080)
прошил и Львов просто не запустился (на экране полоски)
вот и подумал почему оно не запускается, полез смотреть и нашел информацию про z80, ПЗУ записалось без ошибок
oracleua
14.11.2020, 01:14
прошил и Львов просто не запустился (на экране полоски)
Проверено лично. Работает.
Нужно тогда перепроверить как зашилась пзу..
blackinwoman
14.11.2020, 01:39
Нужно тогда перепроверить как зашилась пзу..
записал две пзу, обе проверил, все совпадает и ничего не работает
пзу брал из темы и сравнил из эмулятора Башкирия2М, они совпадают
- - - Добавлено - - -
oracleua, появилась идея, просто давно когда в Львове сами стерлись пластиковые ПЗУ (позже я в документации прочитал, что они дольше двух лет хранить информацию не должны, это очень удобно), я их все пересадил на кроватки и перешил, а перешил я скорее на версию без заставки Львова, а с встроенным монитором, а Хамелиону видимо нужна версия бейсика самая первая ... Вот оно и не запускается, теперь теорию надо проверить
oracleua
14.11.2020, 02:08
записал две пзу, обе проверил, все совпадает и ничего не работает
пзу брал из темы и сравнил из эмулятора Башкирия2М, они совпадают
- - - Добавлено - - -
oracleua, появилась идея, просто давно когда в Львове сами стерлись пластиковые ПЗУ (позже я в документации прочитал, что они дольше двух лет хранить информацию не должны, это очень удобно), я их все пересадил на кроватки и перешил, а перешил я скорее на версию без заставки Львова, а с встроенным монитором, а Хамелиону видимо нужна версия бейсика самая первая ... Вот оно и не запускается, теперь теорию надо проверить
Да. Скорой всего..
blackinwoman
15.11.2020, 02:06
подтвердилось, для Хамелиона 7.7 нужна самая первая версия бейсика
oracleua
15.11.2020, 02:15
подтвердилось, для Хамелиона 7.7 нужна самая первая версия бейсика
Получается что да..
Roger Wilco
18.11.2020, 03:41
А у меня запустилось с не самой первой. Но пока все не успел проверить, времени нету.
Образы дискет есть..
Привет! Актулизируйте ссылки пожалуйста, или ткните где можно образы накачать)) заранее спасибо))
oracleua
17.04.2021, 20:11
https://wdfiles.ru/e18797
https://wdfiles.ru/e18797
Я очень извиняюсь... добрый день... опять ссылка протухла. Можно актуализировать? я на этот раз уже где-нибудь себе сохраню...
https://drive.google.com/file/d/1ZZCgcFoJ3XYpTsO067X2WgHoygKXXeK_/view?usp=drive_link
а gotek с прошивкой FlashFloppy кто-нибудь подключал? работает?
Я только с железным дисководом запускал
Добрался я наконец вплотную до этого контроллера. Собран пару лет назад, с налета не запустился, отложил в долгий ящик. Потом сделал все доработки для MFM, опять не запустился, опять отложил. На днях достал и начал разбираться вплотную. Плата собрана со всеми доработками, указанными в данной ветке форума. В Львове тоже все необходимые доработки сделаны. Хамелеон взят самый последний из этой ветки, прошит в 2716. Дискетки записаны с помощью ZXStudio (также пробовал с Gotek на FF - результат тот же). Дисковод и 8877 проверены - исправно работают на Корвете, т.е. заведомо исправны. При включении стандартная заставка, затем запускается дисковод, на нем загорается светодиод выбора диска, крутит и потом вот такая картинка:
https://pic.maxiol.com/thumbs2/1709824151.1595409350.whatsapp2024030717.jpg (https://pic.maxiol.com/?v=1709824151.1595409350.whatsapp2024030717.jpg&dp=2)
Начал изучать осциллографом: ША и ШД доходят куда надо, на контроллере генерируются все необходимые частоты - 1,2 и 4 МГц, осликом видно, как генерируются все необходимые сигналы и со стороны 8877 и со стороны дисковода, но кажется, что при чтении 0 сектора происходит зависание, при этом сигнал step если и появляется, то какой-то подубитый чтоли... на слух это выглядит, как странное потрескивание дисковода... при чем чаще всего step появляется, если держать щуп ослика на /rawr (27я нога 8877). Гипотеза, что действует емкость ослика подтвердилась подвешиванием конденсатора на землю на этот вывод. В этом случае гарантированно появляется step, но видимо какой-то настолько кривой, что его не хватает, чтобы полноценно двигать головку. В результате вместо подвисания появляется I/O error и так до бесконечности. Фото платы:
https://pic.maxiol.com/thumbs2/1709824603.1595409350.whatsapp2024030717.jpg (https://pic.maxiol.com/?v=1709824603.1595409350.whatsapp2024030717.jpg&dp=2)
https://pic.maxiol.com/thumbs2/1709824638.1595409350.whatsapp2024030717.jpg (https://pic.maxiol.com/?v=1709824638.1595409350.whatsapp2024030717.jpg&dp=2)
Чет туплю, куда копать? Очевидных косяков найти не удалось...
Один мой друг собирал контроллер из набора радиоконструктора, микросхемы были 555 и 1533 серии. Одну микросхему в набор не доложили. Он попробовал 155 серию - ничего не заработало. После замены на 555 всё пошло как по маслу.
Ищу кто взялся бы довести плату до работоспособного состояния
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot