PDA

Просмотр полной версии : Корвет: Загрузка из внешнего ПЗУ



esl
11.03.2011, 12:26
Всем привет, опишу тут эту особенность Корвета.

Корвет умеет грузиться из подключенной к левому разъему XS1 - блока ПЗУ

для этого надо нажать F2+Reset или без нажатия кнопки после тестов.
(т.е. если внешнее ПЗУ подключено и корректно - загрузка из него !!!!)

без внешнего пзу он обругает, иначе попробует загрузить из него что-то и передать управление.

в реальной жизни я слышал про 2 применения
1-е КТДП - тестовая программа
2-е LINTECH сеть, которая была сильно быстрее родной.

начнем с железа.
боковой порт, он назван XS1 ("Расширение") в документации, из интересного нам выведено
1. все 3 порта PPI3 к580вв55 (ниже 0-7)
A: XS1:34,35,36,37,19,18,17,16
B: XS1:3,2,1,20,21,22,23,24
C: XS1:7,6,5,4,8,9,10,11

2. питание (+5,+12,-12, GND) (XS1:25,26, XS1:28, XS1:29)

3. IRQ0 - запрос на прерывание (XS1:33)

4. старший бит(7) порта С PPI2 (XS1:32) (кстати в тех. описании написано что XS1:32 не подключен, а на схеме он есть)

и еще не нужный нам тут но полезные 2mhz и выход канала 0 таймера ВИ53

исходя из загрузчика схема подключения следующая

порт А - шина данных ПЗУ
порты B и C - шина адреса ПЗУ
отсюда 64к пзу

+ XS1:32 судя по комментарию (; ВКЛЮЧ. ПЗУ) в исходнике заведен на CS чипа

этот же вывод заведен на XS1:33 - IRQ0
и используется для определения подключен ли блок пзу.
собственно вот и вся схемотехника.

как ОПТС грузит его, пошаговое описание

если нажато при старте пзу F2 (или после ОПТС тестов без F2)

1. установили PPI2.C7=0, проверили что в регистре контроллера прерываний нет запроса IRQ0
2. установили PPI2.C7=1, проверили что в регистре контроллера прерываний есть запрос IRQ0
3. (оставили PPI2.C7=1)

4. если это выполнено то блок подключен.
иначе если F2 нажато не было то просто грузим как обычно ОПТС (эт для автостарта EXT ROM)
или если было нажато F2 то обругались.
ОПТС 1.1 - "Подключите внешнее ПЗУ"
ОПТС 2.0 - "нет внешнего ПЗУ"

5. далее читаем из блока ПЗУ по адресам
0x0004 - DW Start addr (куда будет передано управление)
0x0006 - DB Page to read (xx00) (старший байт адреса куда грузить)
0x0007 - DB Page count (сколько 256байтных страниц грузить)

6. далее считаем сумму всех байт которые будем грузить, их сумма должна быть 0xff, если это не так то пишем
ОПТС 1.1 - "Внешнее ПЗУ неисправно"
ОПТС 2.0 - "ошибка КС"

7. теперь грузим что надо из пзу в RAM
8. а теперь сравним, то что загрузили в память с тем что в ПЗУ
если есть отличия, то выводим их на экран и вешаем машину.

9. если все ОК то передаем управление тому что загрузили.

теперь комментарии.

шаг 8 по очень актуален для загрузки теста в память.
т.е. в ситуации битого RAM он не даст запустить бред.
по шагам получается что мы считаем что CRC совпало, значит эта часть железа нормальная, значит битый RAM.

собственно то что ПЗУ отключаемо, делает возможность
вешать на этот порт что угодно, а в пзу записать загрузчик этого

можно даже сделать "супер ROM диск" на много к, например повесив регистр, в который при отключенном ПЗУ можно записать старшую часть адреса.
ну и прочее
хоть HDD подключить, благо портов там много разных.

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


в аттаче дизасмы этой части ОПТС 1.1 и ОПТС 2.0
и кусок исходника R002.asm

25610


(кстати у нас в харьковском Пед институте был класс из 2х партий корветов,
у одних это разъем был "Папа" у других "Мама", у тех что "папа" - народ заклеивал разъем, иначе шаловливые ручки студентов совали туда ключи и палили платы).

---- 2014-07-07
Огромное спасибо Serebriakov, за СХЕМУ
в общем она подтвердила теорию
схема на 8 кб (2x4k)
http://zx-pk.ru/attachment.php?attachmentid=48653&d=1404727875
https://dl.dropboxusercontent.com/u/490774/Korvet/extrom/EXTROM_011.JPG

KokaF77
11.03.2011, 19:54
esl, Спасибо за экскурс! :)


1-е КТДП - тестовая программа
Извини за оффтоп, была у меня кипа распечаток на своеобразной зелёной бумаге, не помню куда закинул... переезды блин. А вот коробочку с внешним ПЗУ так и не довелось увидеть, а она ходила очень-очень рядом, у мужиков из КазВТИ. :(


2-е LINTECH сеть, которая была сильно быстрее родной.
Я почему-то считал, что Линтех работал по родному интерфейсу... :v2_conf2:


в реальной жизни я слышал про 2 применения

А ещё к этому разъёму цеплялась магическая коробочка Элемент управления ЭУ8040 (http://www.zx.pk.ru/showpost.php?p=330126&postcount=20) и мышки всякие, родные. :)

esl
11.03.2011, 22:42
esl, Спасибо за экскурс! :)


Извини за оффтоп, была у меня кипа распечаток на своеобразной зелёной бумаге, не помню куда закинул... переезды блин. А вот коробочку с внешним ПЗУ так и не довелось увидеть, а она ходила очень-очень рядом, у мужиков из КазВТИ. :(

я тоже очень давно видел только схему (точнее сейчас понимаю что это была схема ее)



Я почему-то считал, что Линтех работал по родному интерфейсу... :v2_conf2:

их было две, одна поверх обычной сети
вторая скоростная



А ещё к этому разъёму цеплялась магическая коробочка Элемент управления ЭУ8040 (http://www.zx.pk.ru/showpost.php?p=330126&postcount=20) и мышки всякие, родные. :)

я имел в виду то что грузится из пзу :)

esl
30.12.2012, 01:14
Заметил одну особенность, не обратил на нее внимание когда описывал (и добавл в описание)

если ExtRom подключен то загрузка его будет произведена даже без нажатия F2 по окончании тестов

т.е. если при ресете нажат F2 то насильная загрузка с пропуском тестов ОПТС и выводом сообщение про отсутствие внешней ром если ее нет.
а без F2 - проходят все тесты, и если она подключена то грузим ее

удобно однако сделано.

esl
31.12.2012, 16:47
еще дополнение
на момент загрузки и старта включена конфигурация памяти 0x14

NDOS EQU 14H ; ПЗУ 8к, ОЗУ с 2000 по F7FF, область УВВ с F800 по FFFF

ILoveSpeccy
19.05.2013, 23:25
Может есть у кого нибудь дампы внешних ПЗУ.
Эту возможность достаточно просто реализовать на FPGA...

esl
20.05.2013, 11:10
Я делал, постараюсь найти
у B2M в эмуляторе работает поддержка внешних пзу.

esl
27.05.2013, 12:26
в аттаче ромы для загрузки из внешней ПЗУ

тест КТДП

и кучка игрушек

проверялось в эмуляторе B2M

запускать: подключить ром,
нажать ресет и подождать, по окончании теста оно стартует само
или нажать F2+reset - оно стартует ром без теста железа

41843 : тест железa
41844 : игрушки

ILoveSpeccy
31.05.2013, 16:00
Сергей, у меня вопрос по внешней ПЗУ. Вы пишите:

+ XS1:32 судя по комментарию (; ВКЛЮЧ. ПЗУ) в исходнике заведен на CS чипа

этот же вывод заведен на XS1:33 - IRQ0
и используется для определения подключен ли блок пзу.
собственно вот и вся схемотехника.
Это значит что на "картридже" с ПЗУ выводы XS1:32 и XS1:33 соеденены?

esl
31.05.2013, 16:10
да, он там играет 2 роли
1) - заведен на IRQ0 (ОПТС проверяет что его состояние изменяется правильно)
2) - CS для ПЗУ на картридже

esl
07.07.2014, 20:51
а пзу который считали с Квант8
есть такое



RAM:05E3 incExtRomADDR: ; CODE XREF: RAM:053Ap

RAM:05E3 13 inc de
RAM:05E4 1A ld a, (de)
RAM:05E5 3C inc a
RAM:05E6 12 ld (de), a
RAM:05E7 1B dec de
RAM:05E8 C0 ret nz
RAM:05E9 13 inc de
RAM:05EA C3 EC 0C jp incHIextRomAddr
RAM:05ED
RAM:05ED incExtAddrend: ; CODE XREF: incExtRomADDR+70Ej
RAM:05ED ; incExtRomADDR+713j
RAM:05ED 12 ld (de), a
RAM:05EE 1B dec de
RAM:05EF 1B dec de
RAM:05F0 B8 cp b
RAM:05F1 C9 ret
RAM:05F1 ; End of function incExtRomADDR

RAM:0CEC incHIextRomAddr: ; CODE XREF: incExtRomADDR+7j
RAM:0CEC 13 inc de
RAM:0CED 1A ld a, (de)
RAM:0CEE 3C inc a
RAM:0CEF FE 20 cp 20h ; ' '
RAM:0CF1 C2 ED 05 jp nz, incExtAddrend
RAM:0CF4 C6 20 add a, 20h ; ' '
RAM:0CF6 C3 ED 05 jp incExtAddrend

esl
07.07.2014, 23:34
на редкость странное поведение
или а10 они под что-то используют
в общем или баг или странная логка
8кб tdp.rom не грузит,
он грузит 8к, потом перепрвгивает 2000 -> 4000
и срабатывает проверка на конец, т.е. чтоб оно нормально работало надо и патченый ром.
бред однако, а может защита ;)

forth32
08.07.2014, 09:10
Я думаю, что все гораздо проще. Ножку С1 порта они для чего-то использовали, и поэтому исключили из перебора адресов. То есть адрес А9 ПЗУ они физически подключили к порту C2. Вряд ли в ПЗУ будут делать дырку размером 8К.

Единственное - байт размера кода в ПЗУ действительно требует коррекции. Но ты посмотри в коде поточнее, откуда берется значение в В. Сразу из ПЗУ, или, может быть, вначале корректируется?

К счастью, наш extrom всего 256 байт, и здесь будет работать нормально :)

esl
08.07.2014, 11:35
Единственное - байт размера кода в ПЗУ действительно требует коррекции. Но ты посмотри в коде поточнее, откуда берется значение в В. Сразу из ПЗУ, или, может быть, вначале корректируется?
Неа ;)
Подсовываю ром с оптс
Счётчик адресов добегает до 1fff и останавливается
Что логично, 20+20=40
А это конец чтения и ошибка кс на экране

forth32
08.07.2014, 11:56
Ну, да, понятно. А если вписать принудительно в файл размер на 20 больше, то загрузится?

Сдается мне, что разработчики контура проявили элементарное разгильдяйство и сами не поняли, что у них получилось. Может быть, вообще ни разу в жизни ничего так не загружали. Это все равно что сдуру ляпнуть про 96К ПЗУ в журнально статье. Все равно ведь никто не проверит - за четверть века ты первый, кто это заметил :)

Между прочим, когда счетчик добежит до 5FFF, он не перепрыгнет на 8000, а спокойно пойдет на 6000. Так что адресная ножка рано или поздно тоже будет задействована. Ума не приложу, зачем так было делать...

esl
08.07.2014, 13:33
Ну, да, понятно. А если вписать принудительно в файл размер на 20 больше, то загрузится?

Сдается мне, что разработчики контура проявили элементарное разгильдяйство и сами не поняли, что у них получилось. Может быть, вообще ни разу в жизни ничего так не загружали. Это все равно что сдуру ляпнуть про 96К ПЗУ в журнально статье. Все равно ведь никто не проверит - за четверть века ты первый, кто это заметил :)

Между прочим, когда счетчик добежит до 5FFF, он не перепрыгнет на 8000, а спокойно пойдет на 6000. Так что адресная ножка рано или поздно тоже будет задействована. Ума не приложу, зачем так было делать...

именно, всё это говорит о очередном разгильдяйстве :(
сделали для галочки

а про 96к не только в статье, еще и в книжке
скорее это "гонка за числами", типа "а у нас 96кб пзу!!, ВО"

Serebriakov
05.08.2014, 18:44
Наконец-то, достал внешний ПЗУ!
Человек, который мне его продал сказал, что лично ездил записывать ПЗУ-шки много лет назад на Брестский завод.
Так же сказал, что там какая-то последняя версия прошивки с завода, которая подходит ко всем Корветам.
Как окажусь дома, попробую считать эти ПЗУ-шки.

Немного фото:
(нажмите для увеличения)
https://dl.dropboxusercontent.com/u/32466567/Korvet/EXTROM/SMALL/EXTROM_001.JPG (https://dl.dropboxusercontent.com/u/32466567/Korvet/EXTROM/BIG/EXTROM_001.JPG) https://dl.dropboxusercontent.com/u/32466567/Korvet/EXTROM/SMALL/EXTROM_002.JPG (https://dl.dropboxusercontent.com/u/32466567/Korvet/EXTROM/BIG/EXTROM_002.JPG) https://dl.dropboxusercontent.com/u/32466567/Korvet/EXTROM/SMALL/EXTROM_003.JPG (https://dl.dropboxusercontent.com/u/32466567/Korvet/EXTROM/BIG/EXTROM_003.JPG) https://dl.dropboxusercontent.com/u/32466567/Korvet/EXTROM/SMALL/EXTROM_004.JPG (https://dl.dropboxusercontent.com/u/32466567/Korvet/EXTROM/BIG/EXTROM_004.JPG)

Как и ожидалось, ПЗУ-шка сделана в корпусе от мышиного мультиплексора ЭУ8040 (http://zx-pk.ru/showpost.php?p=722780&postcount=43):
(нажмите для увеличения)
https://dl.dropboxusercontent.com/u/32466567/Korvet/EXTROM/SMALL/EXTROM_005.JPG (https://dl.dropboxusercontent.com/u/32466567/Korvet/EXTROM/BIG/EXTROM_005.JPG)

Разъемы впаяны DB37 (под Бакинские Корветы и клоны) и DB50 (под Брестские).

Вот здесь (http://e-al.narod.ru/cpress07/memory.htm) есть схема ПЗУ-шки К573РФ4Б, пусть лежит тут для коллекции: 49020

esl
07.02.2015, 19:47
Serebriakov, Приветствую !
Есть вопрос, как-то позабыл

на "картридже" 2 DB37 и один DB50
а вот собственно DB37 - Папа/Мама или как ??

и второй вопрос, ПЗУ не считывали ?

tc002
30.05.2015, 22:06
Что было на вашем ПЗУ, удалось считать?

UA3GBV
22.12.2016, 15:40
Привет всем. Кто-нибудь в железе пробовал грузиться с ПЗУ`шек в сообщении №8? Особенно игры интересуют.

marinovsoft
22.12.2016, 18:25
А смысл, если есть http://zx-pk.ru/threads/23651-korvet-extrom-open-source-extender.html

UA3GBV
22.12.2016, 18:44
А смысл, если есть http://zx-pk.ru/threads/23651-korvet-extrom-open-source-extender.html
Кому как, а по мне ПК8010 + РФ4, это еще из одной эпохи, т.е. то, что для души, а ПК8010 + atmega32 - это бешеная эклектика. Так, на выставке быстро показать возможности компьютера. Но за ссылку спасибо, соберу на досуге.

BYTEMAN
22.12.2016, 22:11
marinovsoft, чет я профукал эту штуковину, идеальный вариант для музея будет!

surinm
05.04.2017, 20:51
esl, как бы получить схему в нормальном разрешении? Ссылки на оригинал к сожалению нерабочие, а по миниатюре можно глазоньки сломать)))

Дмитрий2012
05.04.2017, 21:16
К сожалению esl давно не посещает форум. Нашел в архивах у себя схемку, приложил к сообщению.

surinm
09.04.2017, 08:42
Кто-нибудь в железе пробовал грузиться с ПЗУ`шек в сообщении №8?
Грузится. Попробовал только КТДП. Всем кто будет собирать - напоминаю про зеркальную распиновку разъема XS1. Вчера громко благодарил советских инженеров, когда уже все собрал, начал вызванивать перед подключением и заметил эту интересную особенность))))

Serebriakov
14.05.2017, 01:26
Что было на вашем ПЗУ, удалось считать?
Я настолько слоупок, что до сих пор не считал их (выпаивать боюсь, а подпаивание к дорожкам на плате вокруг пзу-шек, так и не закончил).


esl, как бы получить схему в нормальном разрешении? Ссылки на оригинал к сожалению нерабочие, а по миниатюре можно глазоньки сломать)))
Прошу прощения за нерабочие ссылки в моих постах на форуме - улетел Dropbox. Как дойдут руки, пройдусь по всем постам - оживлю ссылки и впредь буду стараться аттачить сразу на форум.


К сожалению esl давно не посещает форум.
Написал ему на почту, надеюсь, с ним все в порядке.

BYTEMAN
15.05.2017, 13:12
Поискал его активность в сети, апрель-май 2015-го - последняя активность :(

Serebriakov
15.05.2017, 14:43
Поискал его активность в сети, апрель-май 2015-го - последняя активность :(
Да, аналогично. В соцсети он, похоже, c 2015 не заходил.

Если это слишком личная информация, удалите. Однако вся информация ниже из открытых источников.
https://vk.com/id16558049
https://twitter.com/esl2
https://plus.google.com/u/0/103647029832894450945
https://www.linkedin.com/in/sergeyerokhin
http://erokhin.tripod.com/ - очень старый сайт (еще до http://www.pk8020.narod.ru/) с его фоткой.

Судя по этому: https://moikrug.ru/sergey-erokhin, c 2009 ESL работал в GlobalLogic Ukraine. Дальше следы теряются...

ESL, отзовись! Мы волнуемся!

BYTEMAN
15.05.2017, 15:16
Serebriakov,
а линкедин на что? Там инфа актуальнее.

Serebriakov
15.05.2017, 16:51
В любом случае он куда-то пропал. Очень надеюсь, что не из-за политики или здоровья.

UA3GBV
27.05.2017, 15:15
Напишу здесь, что бы не плодить тем. Кто нибудь из владельцев ЭУ8040 может дать мне размеры платы с посадочными местами под разъемы? Хочу заказать плат под внешнее ПЗУ с возможностью использовать корпус от устройства сопряжения (самого корпуса пока не имею).

Serebriakov
27.05.2017, 17:29
Честно говоря, не совсем понятно, что вы хотите получить в итоге. Вы хотите собрать оригинальное ПЗУ или Flash-ПЗУ ExtRom от Forth32?

Если вам нужны размеры оригинального ПЗУ в корпусе ЭУ8040, то не самая лучшая идея его повторять, т.к. плата там разрезана на два куска, да и разводка не очень оптимальная.

61161

Если же вы хотите делать Flash-ПЗУ в корпусе ЭУ8040, то тут, понятное дело, придется все переразводить, но на вашем месте я бы лучше засунул всю схему в более компактный корпус (если исхитриться, все Flash-ПЗУ войдет в корпус разъемов DB-50 или DB-37 - какой в вашем Корвете разъем не в курсе).
Ну и перед заказом плат, я на вашем месте, разжился бы корпусом. Либо тогда предусматривал допуски.

В ЭУ8040 плата не порезана, померял ее. Штангенциркулем не располагаю, пробовал мерять линейкой, но точность сильно страдала. Потом вспомнил, что не фотографировал, а сканировал ЭУ8040 и его плату, следовательно разрешение файла точно передает габариты, а потому легко и достаточно точно померял сканы линейкой в фотошопе. Допуск по указанным размерам платы и корпуса на фото плюс-минус 2 мм. Диаметр отверстий 3 мм. Расстояния от центра отверстий до края платы - по 5 мм с каждой стороны.

61162

Если нужно померять что-то еще, вот файл в 1200dpi.: https://yadi.sk/i/evILQmTe3JaFTS
Чтобы в фотошопе линейка показывала в миллиметрах, нажмите Ctrl+R, появятся линейки фотошопа по краям, правый клик по любой и ставите там нужные единицы измерения. Все остальные инструменты будут использовать указанные единицы. Далее берете инструмент линейка и меряете.

UA3GBV
27.05.2017, 17:53
Честно говоря, не совсем понятно, что вы хотите получить в итоге. Вы хотите собрать оригинальное ПЗУ или Flash-ПЗУ ExtRom от Forth32?
"Почти оригинальное ПЗУ" хочу с коллекцией всяких интересностей. Без sd-карт и прочих детей XXI века. Корпус оригинальный если не добуду - распечатаю. За сканы спасибо!

Serebriakov
27.05.2017, 18:17
"Почти оригинальное ПЗУ".
Я сейчас занимаюсь перерисовыванием схемы ПЗУ "с натуры" (особенно интересно потом с книжным вариантом сравнить). Плюс интересно было как разведены разъемы. В перспективе хочу перерисовать и саму плату под ЛУТ (возможно, с некоторыми улучшениями разводки). Единственная дилема, как считать сами ПЗУ-шки не повредив их (если они еще живы, конечно). Выпаивать побаиваюсь, а портить аутентичность соплями на плате не хочу.

Но на крайняк есть тест от ESL:
61163
61164
61165


Корпус оригинальный если не добуду - распечатаю.
Исходники для печати потом опубликуете?

UA3GBV
27.05.2017, 18:39
Единственная дилема, как считать сами ПЗУ-шки не повредив их
А нельзя взять ответную часть разъема ("папу"), на неё напаять провода и их к программатору подключить? Там же ни какого криминала, вся микросхема в чистом виде на разъем выведена.



Но на крайняк есть тест от ESL:

Его и хочу зашить. Только он большой какой-то, 16 КБ. Надо еще угадать, куда старшие адреса прилепить.



Исходники для печати потом опубликуете?

Да не вопрос. Он же тривиален, как грабли.

Serebriakov
27.05.2017, 19:40
А нельзя взять ответную часть разъема ("папу"), на неё напаять провода и их к программатору подключить? Там же ни какого криминала, вся микросхема в чистом виде на разъем выведена.

По сути, это и есть мой основной план :) Это одна из причин, почему я тщательно перерисовываю разводку разъемов. Плюс я пока не особо понял нужно ли будет разъединять эти две ПЗУ-шки (резать какие-то дорожки) или можно будет читать их вместе.

Только он большой какой-то, 16 КБ. Надо еще угадать, куда старшие адреса прилепить.
Вроде все верно, там две К573РФ4А/Б по 8 КБ: 61167
61168

UA3GBV
19.06.2017, 22:50
Сделал на макетке внешнее ПЗУ на w27c512. На схеме с первой страницы контакт XP30 подключен к общему проводу. Конкретно на моем компе этот контакт идет на вход контроллера прерываний и схема запустилась только после отключения этого контакта.

http://images.vfl.ru/ii/1497929820/1784235b/17639137_s.gif (http://vfl.ru/fotos/1784235b17639137.html)

Попробую сегодня несколько РОМов склеить и переключателями выбирать.

Serebriakov
20.06.2017, 04:06
Залейте, пожалуйста, вашу схему куда-нибудь в более высоком разрешении.

На схеме с первой страницы контакт XP30 подключен к общему проводу. Конкретно на моем компе этот контакт идет на вход контроллера прерываний и схема запустилась только после отключения этого контакта.
Как дойдут руки, погляжу ради интереса как было сделано в заводском ПЗУ.

UA3GBV
20.06.2017, 06:43
Залейте, пожалуйста, вашу схему куда-нибудь в более высоком разрешении.
Как дойдут руки, погляжу ради интереса как было сделано в заводском ПЗУ.

Обновил.

UA3GBV
20.06.2017, 20:07
Склеил четыре РОМа, тест железа и три игрушки, зашил в 27c512. Все работает, выборка переключателями на старших адресах. В планах взять что-то на 512 КБ, выборку страниц сделать не по адресам, а отдельный переключатель на каждую страницу. И дешифратор на диодах. Будет емкий и соответствующий эпохе картридж с софтом.
Непонятно мне только, как РОМы делать из файлов других форматов?
http://images.vfl.ru/ii/1497977165/1be94bec/17646934_m.jpg (http://vfl.ru/fotos/1be94bec17646934.html) http://images.vfl.ru/ii/1497977165/64639eec/17646935_m.jpg (http://vfl.ru/fotos/64639eec17646935.html)

Serebriakov
23.06.2017, 19:42
Непонятно мне только, как РОМы делать из файлов других форматов?
Думаю, аналогично конвертированию COM в BIN - поменять адреса загрузки и пропатчить все обращения софта к диску и биосу (системные вызовы). Вот здесь эта тема обсуждалась: http://zx-pk.ru/threads/15147-korvet-gruzimsya-s-magnitofona.html

Вот архив с бинарниками (BIN-ROM-COM) для сравнения:
https://yadi.sk/d/JEk51x4N3KQ5tV
Здесь все BIN-ы, которые я нашел в образах. А так же пакеры, кросс-ассемблеры, MSXCAS от Marinovsoft и удобная утилита для сравнения файлов в hex.

Если есть желание покопаться, полистайте еще раздел "РЕКОМПИЛЯЦИЯ" на http://vector06c.fdd5-25.net/ (бывший http://vector06c.narod.ru/).

Ну и чтобы в память машинный код влезал, заодно пакером каким-нибудь пожать для уменьшения размера бинарника.

Самый простой вариант (встраивает свой код распаковки в сжатый бинарник автоматически):
1) Executive files packer V1.0. Copyright (C) 1991 by Goldsoft - в образах называется PAKEXE.COM

Более сложные варианты (распаковщики нужно собирать Тасмом и навешивать самому):

2) Тульская реинкарнация пакера/депакера MegaLZ от lvd:

Распаковщик DeMLZ для КР580ВМ80А (i8080):
http://sensi.org/scalar/ware/691/

Упаковщик MegaLZ (пакует на пк):
http://web.archive.org/web/20080224212635/http://lvd.nm.ru/MegaLZ/
https://github.com/shaos/mhmt
https://github.com/sergeyerokhin/mhmt
https://code.google.com/archive/p/mhmt/
http://www.nedopc.org/forum/viewtopic.php?t=10434


3) Пакер/депакер EXO:

Распаковщик DeEXO для КР580ВМ80А (i8080):
http://sensi.org/scalar/ware/694/

Упаковщик EXO:
https://bitbucket.org/magli143/exomizer/wiki/browse/
http://web.archive.org/web/20160917094645/http://hem.bredband.net:80/magli143/exo/

UA3GBV
25.06.2017, 21:01
Думаю, аналогично конвертированию COM в BIN - поменять адреса загрузки и пропатчить все обращения софта к диску и биосу (системные вызовы). Вот здесь эта тема обсуждалась: http://zx-pk.ru/threads/15147-korvet-gruzimsya-s-magnitofona.html



Спасибо. Изучу, когда мозги на нужный лад настроятся. Я бы еще посмотрел, как РОМ-диск для Апогея от Vinxru работает. Та реализация была вообще супер.

Gavrilov_S
12.11.2018, 19:41
UA3GBV, как успехи дальнейшего развития Вашей платы?
можете поделиться платой LAY и прошивкой для 27С512 склеенной.

Игру KLAD1 можно на ром записать? Будет ли она работать?

UA3GBV
12.11.2018, 20:12
UA3GBV, как успехи дальнейшего развития Вашей платы?
можете поделиться платой LAY и прошивкой для 27С512 склеенной.

Игру KLAD1 можно на ром записать? Будет ли она работать?

Извиняюсь, но тему пока забросил. Все-таки не самый мой любимый ПК :) С ходу только плату нашел, но она в DipTrace.

66892

Прошивку поищу на рабочем ПК или "солью" с микрухи.

Gavrilov_S
12.11.2018, 21:01
Спасибо. буду ждать :)

Gavrilov_S
07.12.2018, 21:45
UA3GBV, не слили еще Вашу прошивку?

UA3GBV
13.12.2018, 10:21
UA3GBV, не слили еще Вашу прошивку?

Прошу простить - программатор не работал. Вот прошивка моей ПЗУ:

67313

LeoN65816
15.05.2019, 20:26
Заэмгэтээфил сегодня сабж (https://yadi.sk/d/11anSKoWVeAIXw), прошил в него КТДП. Удивило, что определяет модельку тестируемого аппарата, значит в первой ПЗУшке на материнке где-то это прописано.

marinovsoft
15.05.2019, 21:56
Удивило, что определяет модельку тестируемого аппарата, значит в первой ПЗУшке на материнке где-то это прописано.
Нихрена не определяет. Выводит текстовую константу из самого КТДП.

LeoN65816
27.05.2019, 18:38
Заапгрэйдил сабж: флэшка SST39SF020A на 256 КиБ, тремя переключателями выбирается один из 32 КиБ образов. Прошил: КТДП 1.5 и 2.0, и 6 игрушек из архива отсюда (https://zx-pk.ru/threads/15297-korvet-zagruzka-iz-vneshnego-pzu.html?p=604677&viewfull=1#post604677).
Фото н-н-н-н-н-надо? ;)

Serebriakov
28.05.2019, 12:26
Фото н-н-н-н-н-надо?
Н-н-н-н-н-надо! А лучше еще и схему. Хотя-бы от руки на листочке.

LeoN65816
02.06.2019, 16:50
Фотки там же (https://yadi.sk/d/11anSKoWVeAIXw), вместо схемы табличка под два типа разъёмов (РП15-50 и DB37).

Gavrilov_S
15.11.2021, 22:37
Никто на этот картридж печатки не делал случайно?