PDA

Просмотр полной версии : Как скопировать загрузчик "Вектор-06Ц" и "Криста-2" не извлекая ПЗУ



Tim0xA
20.10.2009, 10:57
Методика копирования начального загрузчика ПЭВМ "Вектор-06Ц" и "Криста-2" без извлечения ПЗУ: ROM-DUMPER (http://www.sensi.org/~svo/scalar/ware/777/)



При копировании используется особеность схем Вектор-06Ц и Криста-2, благодаря которой можно "вернуть" ПЗУ в адресное пространство процессора даже после нажатия клавиш БЛК+СБР. Для этого к свободному выводу триггера, отвечающего за переключение ПЗУ припаивается микрокнопка, соединяющая этот вывод с "землей". При однократном нажатия на кнопку происходит переключение триггера и ПЗУ становится доступным для чтения. Никаких других модификация ПЭВМ не требуется.

В ПЭВМ с адреса 8000H загружается программа, которая после нажатия клавиши РУС начинает выгрузку области памяти 000H..7FFH в формате ROM через магнитофонный выход.

Tim0xA
20.10.2009, 11:05
fan, попробуй на своей Кристе эту методику!

fan
20.10.2009, 15:28
ОК . Какнить постараюсь . Но будет это ооочень не скоро .

Tim0xA
21.10.2009, 01:42
При помощи ROM-DUMPER (http://www.sensi.org/~svo/scalar/ware/777/) прочитал из своего Вектора начальный 512-байтный загрузчик. Оказалось, что он отличается от кишиневского варианта. Судя по шильдику мой Вектор сделан на МПОВТ (http://www.mpovt.iba.by/), значит это "минский" загрузчик.
Есть одна странность - первые два байта загрузчика содержат 00 08. По аналогии с кишиневским загрузчиком там напрашивается 3E 08. Или "потекла" ПЗУ, или технологический брак, или какая-то белорусская хитрость. Прошивку считал еще методом автозапуска (о котором чуть позже), получилось то же самое. Тем не менее загрузчик работает в эмуляторе, так же как и в реале.
Выложил в картотеку http://www.sensi.org/~svo/scalar/ware/779

---------- Post added 21.10.2009 at 00:42 ---------- Previous post was 20.10.2009 at 23:49 ----------

ivagor реализовал еще один метод копирования начального загрузчика (только для ПЭВМ "Вектор-06Ц")
без извлечения ПЗУ и без аппаратного вмешательства: ROM-REAPER (http://www.sensi.org/~svo/scalar/ware/780/)

При копировании используется особенность начального загрузчика, благодаря которой есть возможность перехвата управления пользовательской программой (автозапуск).

Просьба ко всем владельцам Векторов сделать копии своих загрузчиков по этой методике!
Вам даже не придется раскручивать свои Вектора!

ivagor
21.10.2009, 08:23
Вам даже не придется раскручивать свои Вектора!
И даже к ТВ можно не подключать.

ivagor
21.10.2009, 15:00
Сграбил свой волгоградский загрузчик (http://sensi.org/~svo/scalar/ware/781/)
Это 2 Кб универсальный загрузчик. Отличительная особенность у него такая - подправлено автоопределение скорости чтения с магнитофона. Оригинальный загрузчик (512б) читал хуже, чем кировский копировщик, а волгоградский лучше. Т.е. можно было из кировского копировщика (забыл название) записать с такой скоростью, что он сам не мог прочитать, а волгоградский загрузчик читал (с оригинальным загрузчиком было наоборот).

ivagor
21.10.2009, 15:15
С МППЗУ он все же не грузит :(
С магнитофона, FDD и EDD грузит, на реале это тоже проверял (давно).
Попытаюсь описание найти

Tim0xA
21.10.2009, 15:48
Сграбил свой загрузчик ROMvolgograd.zip
Очень интересный загрузчик. Спасибо, ivagor!


С МППЗУ он все же не грузит
Грузит, но только в эмуляторе VV, т.к. у b2m свои методы работы с МППЗУ. Этот загрузчик и многие другие работать у b2m не будут из-за поддержки его эмулятором МППЗУ нереального размера >32кб, которую я опять предлагаю (http://zx.pk.ru/showpost.php?p=152536&postcount=194) убрать, чтобы не было таких коллизий.

ivagor
21.10.2009, 16:02
Грузит, но только в эмуляторе VV, т.к. у b2m свои методы работы с МППЗУ. Этот загрузчик и многие другие работать у b2m не будут из-за поддержки его эмулятором МППЗУ нереального размера >32кб, которую я опять предлагаю убрать, чтобы не было таких коллизий.
Уф, точно, в VV работает :). У меня внешнего ПЗУ никогда не было, поэтому на реале не было случая проверить. По поводу хака в b2m, про который я забыл - насколько помню, его основная цель - загружать в конфиг с z80 проги больше 32 Кб.

Tim0xA
21.10.2009, 16:13
Этот хак уже потерял свою актуальность, поскольку у b2m теперь есть возможность загружать любые файлы через File-Open и есть файл EMU.ext для гибких настроек. Поэтому лучше сделать в эмуляторе загрузку из МППЗУ, так как сделано в настоящем Векторе, как сделано во всех начальных загрузчиках - объем до 32кб. Это же практически стандарт.

ivagor
21.10.2009, 16:18
есть возможность загружать любые файлы через File-Open
Но при этом запустится конфиг vector06c. А если заменить в EMU.ext название конфига, то будет проблема с загрузкой больших файлов в оригинальный вектор. Можно, конечно, для файлов с z80 поменять разрешение, но это не лучший вариант.

Tim0xA
21.10.2009, 16:57
Ясно, ситуация безвыходная. Ок, я согласен, принесем МППЗУ в жертву. Ну его нафиг.

ivagor
21.10.2009, 17:12
:)
Предлагаю такой вариант
b2m добавляет в конфиг (очередную) настройку
hackROMload=0/1
По умолчанию 0, все (кроме обладателей больших ROMов для z80, а таких нет) довольны. А если 1, то хака хачит.

b2m
21.10.2009, 17:54
Я за то, чтобы эмулятор работал как можно более похоже на реальный Вектор, т.е. поддержку МППЗУ >32Кб надо бы убрать. Для больших файлов останется только загрузка через File/Open, а для загрузки больших файлов с применением Z80 - пусть "хака хачит", т.е. изменить расширение и EMU.ext

b2m
21.10.2009, 23:16
С магнитофона, FDD и EDD грузит, на реале это тоже проверял (давно).
Волгоградский загрузчик грузит FDD с адреса 0000h, а другие - с адреса 0100h. Это так и было задумано?
С EDD вроде нормально грузит, с магнитофона не проверял.

---------- Post added 22.10.2009 at 00:16 ---------- Previous post was 21.10.2009 at 23:50 ----------

Кстати, чтобы убрать поддержку МППЗУ >32Кб, достаточно лишь в конфиге изменить одну строчку на:
portC[0-6]=extrom.msb

Вопрос только, будет ли это "официальная" версия конфига. :)

svofski
21.10.2009, 23:28
Раз уж вы занялись такими радикальными вещами: может быть убрать из официальной версии конфига квазидиск с непонятным МикроДОС-ом? Дело в том, что на моей обычной клавиатуре нет никакой возможности нажать F1+F2+F12, ну не может она этого. Поэтому, чтобы загрузить в b2m образ флопа, мне приходится первым делом после распаковки очередной версии стирать этот проклятый vector.edd. Давайте его не будет. Ведь он абсолютно никому не нужен, это чистая правда!

ivagor
22.10.2009, 08:44
Волгоградский загрузчик грузит FDD с адреса 0000h, а другие - с адреса 0100h. Это так и было задумано?

И с 0 грузит и с 100h грузит. На реале (и в эмуляторах) без проблем загружал системные дискеты полученные из Кирова и Омска (они обычные, система грузится с 100h).

---------- Post added at 10:35 ---------- Previous post was at 10:19 ----------

Немного прошелся по загрузчикам.
BOOTOS.RT и UNBOOT2K.RT из комплекта VV как и волгоградский могут грузить и с 0 и с 100h. В b2m они странно себя ведут, может последствия хака? Если так, то действитительно, хак - зло.
UNBOOT32K.RT (из комплекта VV) и VECTOR.EPR (из комплекта b2m) грузят с 100h.

---------- Post added at 10:44 ---------- Previous post was at 10:35 ----------

Нашел один образ, на котором загрузчики с автоопределением адреса загрузки (BOOTOS.RT и UNBOOT2K.RT и волгоградский) с FDD ошибаются - os t-72 (http://sensi.org/~svo/scalar/ware/630/)
Интересно бы разобраться как там что работает. Никогда раньше этим вопросом не задавался.

b2m
22.10.2009, 12:49
Раз уж вы занялись такими радикальными вещами: может быть убрать из официальной версии конфига квазидиск с непонятным МикроДОС-ом? Дело в том, что на моей обычной клавиатуре нет никакой возможности нажать F1+F2+F12, ну не может она этого. Поэтому, чтобы загрузить в b2m образ флопа, мне приходится первым делом после распаковки очередной версии стирать этот проклятый vector.edd. Давайте его не будет. Ведь он абсолютно никому не нужен, это чистая правда!
Давайте не будем его убирать, а то при переходе на квазидиск оно ругается. Проблема-то не в квазидиске, а в том, что используются такие-вот хитрые нажатия. Нужно просто предусмотреть кнопки, которые "нажимали" бы сразу несколько клавиш. Только это "спешл фича" Вектора, нужно подумать, как это лучше всего оформить. Например, есть неиспользуемые клавиши F6-F8, можно задать в layout.kbd, чтобы например F8 соответствовала F1+F2+F11.

tab del enter bksp left up right down
home pgup esc F1|F8 F2|F8 F3 F4 F5
0 1 2 3 4 5 6 7
8 9 ' ; , = . /
@ A B C D E F G
H I J K L M N O
P Q R S T U V W
X Y Z [ \ ] ` space
lshift lctrl rctrl F11|F8 F12 F9

Соответственно, клавишу F8 надо удерживать до тех пор, пока не начнётся загрузка с FDD.

---------- Post added at 13:49 ---------- Previous post was at 13:47 ----------

Или лучше сделать F8 = F1+F2?

Tim0xA
22.10.2009, 14:21
Давайте не будем его убирать, а то при переходе на квазидиск оно ругается.
Давайте лучше его заменим, т.к. в том образе МикроДОС с очень ограниченными возможностями. Лучше взять из картотеки образ EDD с T34. Первое, что я вообще делаю, когда скачиваю новый эмулятор b2m - меняю vector.edd и layout.kdb, т.к. пользуюсь курсорными клавишами.

---------- Post added at 13:21 ---------- Previous post was at 13:16 ----------


Вопрос только, будет ли это "официальная" версия конфига.

Я за то, чтобы эмулятор работал как можно более похоже на реальный Вектор
Если следовать твоим словам, то эта версия конфига должна стать официальной.

svofski
22.10.2009, 14:43
Курсорные клавиши по умолчанию -- тоже было бы невероятно круто. Тогда b2m-ом наконец-то можно будет пользоваться на лаптопах.

b2m
22.10.2009, 16:27
Ладно, изменю раскладку. :)
По поводу доп. клавиш, сделаю наверное так:
F6 = F1+F2
F7 = F2+F3
F8 = F1+F3
Надеюсь, нажатие двух функциональных клавиш (т.е. F6+F11) на всех клавиатурах возможно...

---------- Post added at 17:27 ---------- Previous post was at 17:16 ----------

Даже если нет, вполне можно успеть после F11 нажать F6.

Tim0xA
23.10.2009, 18:03
Выложил схему многострадального МППЗУ в картотеку http://www.sensi.org/~svo/scalar/ware/783/