Вход

Просмотр полной версии : Загрузка HEX файлов директивой L Монитора



tnt23
10.11.2023, 17:37
С помощью директивы L Монитора можно загружать файлы в формате HEX по последовательному порту. Скорость по умолчанию 4800 бод.

В линуксе последовательный порт конфигурируется командой stty:


stty -F /dev/ttyUSB0 4800 cs8 -cstopb

После чего можно грузить:


cat okeah.hex > /dev/ttyUSB0

С кварцевым резонатором 12,288МГц можно разогнать скорость до 19200.

(все это уже было в общей теме - https://zx-pk.ru/threads/14176-kompyuter-quot-okean-240-quot.html?p=987085&viewfull=1#post987085 - но там искать что-либо уже тяжко)
((и тут https://zx-pk.ru/threads/14176-kompyuter-quot-okean-240-quot.html?p=984977&viewfull=1#post984977))

tnt23
29.12.2023, 15:17
Перегнать бинарные файлы в .HEX можно утилитой srec_cat:

srec_cat IBASIC.COM -binary -offset 0x100 -output ibasic.hex -Intel
Для .COM файлов нужно указывать смещение адреса для загрузки 0x100.

puller
29.12.2023, 20:47
Есть же терминальная программа для Океана - kermit.com. С ее помощью и производится пересылка файлов через serial порт.

tnt23
29.12.2023, 23:03
puller, есть готовый собранный kermit.com? не хочется проходить квест с mload и сборкой из хексов.

puller
30.12.2023, 16:01
К сожалению, я отдал все кассеты вместе с компьютером много лет назад. Есть несколько десятков дискет ГМД-80, но содержимое их мне неведомо и прочитать пока негде.
Поспрашиваю у знакомых, если они еще живы. Жду, когда отладят новый вариант платы Океана, чтобы вновь его собрать.

tnt23
30.12.2023, 17:10
puller, дискеты можно попросить вычитать у ретролюбителей Питера (у меня там больше знакомых) или Москвы, оснащенных Greaseweazle или какой-нибудь другой читалкой дискет.

tnt23
07.01.2024, 21:13
PCGET and PCPUT are a pair of CP/M-80 programs used to do XMODEM transfers to and from CP/M machines, presumably to modern PCs, usually over the console serial port.

https://github.com/glitchwrks/pcget_pcput

tnt23
08.01.2024, 22:42
Чуть подправил PCGET с учетом океанских реалий, получился .COM размером 695 байт. На скорости 19200 работает оччень недурно: 7.5К переслались со скоростью 1.4Кб/сек.

https://www.sensi.org/~tnt23/ok240/pcget.png

В архиве .COM и .HEX, а также исходник.

UncleDim
17.12.2024, 08:09
2-в-1, pcput&get, впихнулось в 1к

tnt23
18.09.2025, 22:52
В самой последней известной на сегодня версии прошивки BIOS и CP/M (REL.8') отсутствует возможность выхода в Monitor, как и собственно Monitor. Освободившееся место использовано под дополнительные графические возможности (рисование окружностей, заливка, текстовые режимы 32/64/80 символов в строке и проч.). Это замечательно, но пропала возможность загрузки HEX файлов через уже полюбившийся неширокой публике интерфейс RS-232.

Чтобы как-то горю помочь, начинка команды READ (чтение файлов с магнитофона и запись на диск) была заменена на простейший загрузчик из предыдущих версий Monitor. Загрузчик записывает принятые данные в память сообразно адресам в заголовке строк, поэтому при изготовлении HEX-файла рекомендуется использовать стандартный адрес загрузки 100h.

По завершении работы команды READ принятые данные сохраняем на диск командой SAVE <N> FILENAME.EXT, где <N> - число 256-байтных блоков.

На рис.1 можно наблюдать процесс загрузки отладчика DDT:

https://sensi.org/~tnt23/ok240/software/save2.png

Примечание 1. Дело происходило на эмуляторе EMU с пробросом RS-232 через TCP сокет (https://zx-pk.ru/threads/8373-pozhelaniya-i-plany-po-emulyatoru-bashkiriya-2m.html?p=1218439&viewfull=1#post1218439), со стороны PC использовалась команда
sz -X -b --tcp-client localhost:15015 DDT.COM

Примечание 2. В линуксе же посылать HEX файлы в сокет можно командой
netcat localhost 15015 < pcget.hex

На рис.2 видим дамп пропатченной области BDOS с нашим загрузчиком:

https://sensi.org/~tnt23/ok240/software/save3.png

Патченный образ CP/M REL.8 прилагается: 82829
Исходный код читалки: https://github.com/timtashpulatov/ok240/blob/master/hexload.asm

tnt23
21.09.2025, 16:19
Улучшенная версия команды READ автоматически сохранит принимаемый файл на диск, если в командной строке указать имя файла:

https://sensi.org/~tnt23/ok240/software/read_with_filename.png

(Оказывается, можно пользоваться кучей сервисных функций из CCP, в частности, разбором параметров командной строки и заполнением FCB)

Архив с прошивкой в сообщении #10 (https://zx-pk.ru/threads/35390-zagruzka-hex-fajlov-direktivoj-l-monitora.html?p=1218497&viewfull=1#post1218497) обновлен.