Вход

Просмотр полной версии : Программатор ПЗУ (1992). Продолжение.



ZXFanat
25.08.2023, 10:26
Так как, предыдущая тема закрыта, сделал ее продолжение.
Размещаю сканированные фотоснимки программатора ПЗУ (1992), схемы (монтажная и принципиальная, инструкция по программированию (краткая), печатная плата (лицевая и оборотные стороны).

https://www.imageup.ru/img228/4493859/programmator-pzu-raspolozhenie-radiodetalei-na-pechatnoi-plate.jpg.html
https://www.imageup.ru/img57/4493858/programmator-pzu-printsipialnaia-skhema.jpg.html
https://www.imageup.ru/img166/4493857/programmator-pzu-prilozhenie-k-printsipialnoi-skheme.jpg.html
https://www.imageup.ru/img2/4493855/pechatnaia-plata-programmatora-pzu-vid-so-storony-pechatnykh-provodnikov.jpg.html
https://www.imageup.ru/img102/4493853/pechatnaia-plata-programmatora-pzu-vid-s-obratnoi-storony.jpg.html

https://i.ibb.co/nbxsqbt/image.jpg (https://ibb.co/nbxsqbt) https://i.ibb.co/GWBx2Mr/image.jpg (https://ibb.co/GWBx2Mr) https://i.ibb.co/zmcdFtZ/image.jpg (https://ibb.co/zmcdFtZ) https://i.ibb.co/qn09qQv/image.jpg (https://ibb.co/qn09qQv) https://i.ibb.co/xSXKbCZ/image.jpg (https://ibb.co/xSXKbCZ)

Gavrilov_S
25.08.2023, 15:46
От этого программатора кто то рисовал LAY и есть программа управления?

Есть еще фотографии в собранном виде? :)

ZXFanat
25.08.2023, 18:18
Программы управления не нашел. Может быть и была. Плата у меня еще со времен жизни мамонтов! Остальное не ко мне.

Barmaley_m
26.08.2023, 00:44
Я делал для такой схемы большую и развитую программу управления с hex-редактором, менюшками и т.д. Но эта программа была рассчитана на 256Кб ОЗУ, т.к. поддерживалось программирование 27512, и для работы требовалось 2 буфера ("эталонные" и "считанные" данные).

Выкладываю программу на "пощупать". Шить она ничего не будет, и на стандартном Спектруме без переделок не будет работать обращение к дисководу. Если заинтересует - выложу исходники для желающих ее адаптировать.

Gavrilov_S
30.08.2023, 14:16
жалко что по оригинальной схеме программа не сможет управлять.
Остались фото программатора?

- - - Добавлено - - -


Я делал для такой схемы большую и развитую программу управления с hex-редактором, менюшками и т.д. Но эта программа была рассчитана на 256Кб ОЗУ, т.к. поддерживалось программирование 27512, и для работы требовалось 2 буфера ("эталонные" и "считанные" данные).

Выкладываю программу на "пощупать". Шить она ничего не будет, и на стандартном Спектруме без переделок не будет работать обращение к дисководу. Если заинтересует - выложу исходники для желающих ее адаптировать.

как по мне конечно для 27С512 лучше сделать управление выбора страниц 1 и 27 ножки, и программа осталась бы оригинальной, но шить как 27с128 каждую страницу отдельно :)

Serg6845
31.08.2023, 09:10
От этого программатора кто то рисовал LAY и есть программа управления?



откопал в залежах 20-летней давности :)
http://sksb3.no-ip.org:8085/mpps_pgm.zip

Barmaley_m
05.09.2023, 18:40
жалко что по оригинальной схеме программа не сможет управлять.
Там процедуры чтения и записи байта в ПЗУ вынесены отдельно. Их несложно переделать под любую схему и встроить в проект. Ведь основная сложность там - это не обращение к железу, а графический интерфейс. Один мой приятель успешно адаптировал эту программу для управления "AY-программатором", где сигналы шли не через ВВ55, а через AY.

Остались фото программатора?
Нет, но там реально ничего интересного. ВВ55, схема коммутации напряжения программирования на двух транзисторах, переключатель "2764-27256" / "27512", панелька под ПЗУшку и соединительные провода.

как по мне конечно для 27С512 лучше сделать управление выбора страниц 1 и 27 ножки, и программа осталась бы оригинальной, но шить как 27с128 каждую страницу отдельно :)
Там уже можно думать. Давать исходники программы? Осилишь адаптацию?

Мои исходники собирались из-под CP/M (M80 и LINK). Но их несложно будет адаптировать и для другого (кросс-)ассемблера, если разбираешься в теме. Вот еще один человек сделал на базе моего оконного и дискового интерфейса от Omniprog FTP- и Telnet-клиенты. https://github.com/asve79/z80-ftp

Gavrilov_S
18.09.2023, 15:24
Адаптировать не умею к сожалению. народу много, может и оригинал найдется. с какой книги , журнала набирал код не могу вспомнить . программа была на кассете у меня тогда еще не было BDI

M80
18.09.2023, 20:51
Давать исходники программы?
Давать. Будем посмотреть.)

Barmaley_m
23.09.2023, 02:11
В общем, вот исходники, но есть нюансы.

Похоже, что рабочий диск, где я занимался этим проектом, был убит. Я делал бэкапы, но они не всегда были свежими. А еще у меня было несколько проектов с общим кодом, и из какого именно проекта (Omniprog или других) взяты соответствующие исходники - быстро разобраться не могу. Надо компилировать, запускать, налаживать.

Структура проекта (и его составные части) следующие:
1) DEBUT.MAC - это точка запуска программы. Выполняет небольшую подготовку и стартует программу.
2) DMM.MAC - менеджер кучи (используется для сохранения изображения под окнами). Менеджер не очень удачный, но должен работать.
3) EDZNAK.MAC - знакогенератор. Используется для печати текста.
4) RADISK.MAC - драйвер дисковода (для загрузки и записи файлов). К нему прилагается дока. Драйвер может доступаться к портам ВГ93 напрямую (на моем модифицированном реале это было возможно), либо через хакерские точки входа TR-DOS (рекомендуется). К драйверу прилагается дока. Я нашел несколько его версий. Какая из них использовалась в OMNIPROG, и можно ли ее заменить более новой версией - это надо разбираться.
5) SPKEYB.MAC - драйвер расширенной клавиатуры "Орель БК-08". Есть версия для стандартной клавиатуры, на нее дам ссылку ниже.
6) WIND.MAC - система окошек и менюшек. Я нашел несколько версий. Какая из них лучше подходит для OMNIPROG - надо разбираться. Ниже дам ссылку на более современную, рабочую версию.
7) WINTEST.MAC - основной (верхнего уровня) код OMNIPROG (проект начинался как тест-программа для оконного интерфейса, отсюда и такое название исходника). В этом файле реализация главного меню, hex-редактора и прочего.
8) PRDOS.MAC - файловые функции OMNIPROG (файловое меню, загрузка и запись файлов в системе TR-DOS)
9) PRROM.MAC - функции собственно работы с программатором. Там же находятся процедуры чтения и записи байта в/из ПЗУ - RDBYT и WRBYT. Их надо адаптировать к портам конкретного программатора. Там же находится подпрограмма NACT, переводящая программатор в "неактивный" режим.

Теперь про общий код (DMM, EDZNAK, RADISK, SPKEYB, WIND). Добрый asve79 уже адаптировал их под современные ассемблеры и т.д, выпустив вот этот репозиторий: https://github.com/asve79/z80-sdk. Думаю, его проще и быстрее всего будет подружить с остальной частью Omniprog. Там же и доки. Там же и драйвер стандартной клавиатуры.

Удачи в сборке!!!

Barmaley_m
24.09.2023, 11:12
Да, вот еще важное разъяснение. Подпрограммы GETBYT и PUTBYT из модуля wintest.mac - это доступ к расширенной памяти 256Кб. Их надо адаптировать к железу, в зависимости от схемы расширения до 256Кб или более. OMNIPROG имеет 2 буфера для содержимого ПЗУ - эталонные данные и считанные данные. Поэтому для программирования микросхем 27512 надо 64Кб*2 = 128Кб только под буфера, и ничего не останется для самой программы.

Если сильно надо исполнять на 128Кб - то есть, конечно, еще варианты. Первый - запретить работу с 27512, работать только с 27256 или ниже. Второй вариант - отказаться от двухбуферной архитектуры, считанные данные отдельно в памяти не хранить, только эталонные.