Океан-240 вся информация по материалам полигона признаков
Как собрать персональный компьютер Океан-240
Давно хотел найти информацию по компьютеру Океан 240, так сказать частичному про родителю Ориона 128.
Сообщение tnt23 > 25.10.2018, 11:38
Информация взята с сайта: https://www.phantom.sannata.org/viewtopic.php?t=31102 (полигон призраков)
По следам публикаций в МПСиС
Для собирающих красную реплику платы, в ней есть ряд ошибок:
нога 6 преобразователя -5В ICL7660 посажена на +5в. Отрезать.
Нога 7 той же микросхемы посажена на землю. Отрезать.
Нога 4 DD7 170АП3 с нижней стороны платы сидит на земле. Также на землю
посажено соединение C3 и R4 (а должно идти на упомянутую ногу 4 DD7).
С нижней стороны платы отрезать дорожку от ноги DD40-1 и соединить ногу
DD40-1 с ногой DD39-9. Дополнения и уточнения приветствуются.
Сообщение -MiS- > 25.10.2018, 21:35
Списк на кассете:
BASIC.COM - MB.COM - PR.BAS
MBASIC.COM - PR.BAS - OKEAN.240
L80.COM - CR.BAS - PROG.BSC
M80.COM - ELL2.BAS - CATCHUM.COM
WM.COM - SN.COM - CATCHUM.DAT
XDIR.COM - CRS.BAS - LADDER.COM
RESOURS.COM - MUSA.BSC - LADDER.DAT
STD.COM - ARB.COM - BATTY.COM
F80.COM - SHIFT.COM - BOMBER.COM
FORLIB.COM - ACR.BAS - HUNTER.COM
IO.REL PITON.COM
tnt23 > 25.10.2018 23:38
Ухх, круто. Декодировать более чем реально, был бы WAV или mp3 в
наилучшем качестве.
Вот декодер с соседнего форума, можно им для начала попробовать.
Сообщение alecv > 25.10.2018, 23:56
Это в большинстве своем обычные CP/M проги, кроме игрух.
Самая большая коллекция - у эмуляторщиков SIMH
http://www.classiccmp.org/cpmarchives/c ... /intro.php
(ссылка не рабоатет)
(архив старого сайта)
https://schorn.ch/altair.html
(то же, разложено по темам)
Все CP/M-ное должно работать, кроме прог для Z80.
tnt23 > 31.10.2018,01:25
Запустил тест-ПЗУ.
Океан-240 запуск теста ПЗУ
Работа теста видео с Ютуба
Видеовыход доработан для уменьшения размаха сигналов на RGB с 4 вольт до хотя бы полутора: базы транзисторов посажены на землю через резисторы 5К6.
tnt23 > 08.11.2018, 10:20
Еще одна ошибка в схеме: на DD40-1 приходит сигнал Dc0 вместо Db2. Проявляется в виде редких вертикальных полос на цветном изображении, на нормальную работу памяти не влияет.
Как исправить: с нижней стороны платы отрезать дорожку от ноги DD40-1 и соединить ногу DD40-1 с ногой DD39-9.
Ииииии оппа!
скроллит бодро, но потешно:
tnt23 > 13.11.2018, 05:05
Дошли руки поставить во вторую панельку 2764 с CP/M. Что-то такое смутно знакомое про ANSI графику и управление цветом. Наверняка есть способ переключать консоль между цветным 40- и монохромным 60-символьным режимами.
Скоро и до сборки своего дойду. Возлагаю большие надежды на
встроенный UART. Хотелось бы применить для обмена данными, ну и
в качестве терминала.
Надо думать про клавиатуру...
tnt23 > 13.11.2018, 16:29
Встроенный UART используется Тест-ПЗУ для вывода сообщений о
тестировании и перехода к следующему тесту. А в рабочей прошивке
Монитора есть замечательная команда L для загрузки через
последовательный порт файлов в Intel HEX формате. Небыстро, но
зато без магнитофона.
Клавиатуру проще всего взять любую PS/2 и собрать конвертор на
ардуине по вкусу. Мой конвертор выглядит так:
Есть, последовательностью ESC f 0/1.
Другие нащупанные последовательности:
ESC 0 - задать координаты. ESC 0 XX YY
ESC 1 - прямоугольник. ESC 1 xx yy XX YY
ESC 2 - линия. ESC 2 xx yy XX YY
ESC 3 - точка. ESC 3 XX YY
ESC 4 - цвет переднего плана
ESC 5
ESC 6 - режим (0 цвет, 1 монохром)
ESC 7 - шрифт (0 LAT, 1 рус)
ESC 8 - цвет фона
Определенно есть возможность отключать курсор, переключать набор
вводимых символов (прописные/строчные латиница и кириллица) и
т.д.
Помимо рисования точек, отрезков и прямоугольников в "Океане-240" определенно есть процедура заливки контуров.
Последовательность ESC ? dddd ffff записывает в рабочие ячейки Монитора значения длительности и частоты гудка, выдаваемого при выводе символа с кодом 7 (Bell).
Хотя в "Океане-240" была заявлена поддержка микросхем ОЗУ
организацией 256Кx1 (565РУ7, 41256), набор сигналов на
мультиплексорах шины адреса МА0-МА6 поддерживает только 7
разрядов регенерации, т.е. 64Кx1. Чтобы память бОльшего объема
не скисала, нужно перебросить между собой пары сигналов на
микросхемах DD28 и DD31:
DD28-4 (A2) поменять с DD31-10 (~A15)
DD28-3 (SK3) поменять с DD31-11 (+B)
(автор рецепта Иван Городецкий aka ivagor)
Графический тетрис для "Океана": https://github.com/timtashpulatov/ok240/blob/master/tet.asm
Тетрис для "Океана"
Кипит работа над Арканоидом
Под конец самоизоляции осилил плату ОКЕАН 240. Еще полдня - и с
вероятностью 95% она проходит тест. Как полностью соберу -
выложу фотографии.
Пришло время что-то к ней подключать и появились вопросы:
1. Не собирал пока формирователь цветного видео на плате. На чём
в конце остановились по его схемотехнике?
Сбацал плату-переходник под Arduino Nano 3 для клавиатуры
Круто, целый второй новодельный "Океан-240" :) По вопросам:
1. С видеовыходом оставил все как есть. Картинка на студийном ТВ
мониторе более-менее приличная, ну я и успокоился до поры.
2. Контроллер дисковода собрал, но так и не подключил. Подкосила
необходимость пробросить 3 дополнительных провода: READY, +12В и
что-то еще, кажется, Ф1. Еще, помнится, какая-то неразбериха
была с прошивками ПЗУ для дисковой CP/M.
3. Схема, плата и скетч контроллера клавиатуры доступны здесь: https://github.com/timtashpulatov/ok240/tree/master/ps2kbd
4. Больше ничего подключить не успел, увлекся написанием программок.
-MiS- > 21.05.2020, 02:23
Это значит я еще оперативно сработал! Если бы не каникулы, не
знаю когда до него дошли бы руки. Полтора дня пайки и еще полдня
отладки до вмеменяемой работоспособности и изображения. Хотя
первый тест прошел с ходу, если бы я сразу догадался RESET
вывести. ЛН1 ИЕ7 и ТМ2 дали прикурить в задающем генераторе .
Долго бился с нерабочей памятью из-за них. Как чуял - везде
панелек натыкал!
Кстати, на этой реплике есть обманка - переставленные ИЕ7 и СП1
относительно оригинала. У L Juriy с zx-pk на фото собранной
платы ошибка присутствует. Благо я собирал постепенно и поймал
пропавший клок.
За эмулятор клавиатуры спасибо - соберу на днях. Да и просто
большое спасибо за советы на форумах и отловленные баги :thumbup:.
Сегодня дособирал цветной выход и скормил его GONBESу. Цвета
вроде норм. Но по ходу есть баг - после теста скроллинга и
появления контрастной шахматной доски нету дальнейшего перебора
цвета. Тест еще что-то пару секунд думает без изменения на
экране и выдает PASSED. Надо думать.
Еще взял оригинальные прошивки CP/M и Монитор, доставшиеся моему
отцу с первой платой из начала 90х. Там версия CP/M REL.6, что
похоже древнее чем с сайта AZMaster.
Схема и монтажка верные. Речь идет про DD42, DD43. Относительно
оригинальной платы они поменяны местами.
Тут они установлены ошибочно: https://cloud.mail.ru/public/DBGC/QCrJA
... 0-01-1.png (ссылка не работает)
Вот на это видео я и ориентировался. Вечером буду думать, почему цвета в конце не меняются. Тест с сайта AZmaster.
Прошивка ТЕСТ скачать
Можно сказать эту проблему я победил, уменьшив резисторы R13-R15
c 5.1к до 2.2к. После этого эта цепь сильнее стала влиять на
видеовыход. Возможно это из-за применения других транзисторов
(BC556/BC546). Вообще тут какая-то заумная схема видеовыхода.
После РТ4 выходят три сигнала цветов и интенсивность (не
уверен). Далее еще появляются сигналы EL1..EL3. Вот ими то и
переключаются цвета клеточек в конце. Просто не очень понятно
как свести все это например к CGA монитору.
Еще полоски внутри некоторых клеточек при скроллинге это
нормально? В эмуляторе EMU перепутаны цвета в консоли или это у
меня косяк?
Клавиатура заработала. Но дальше мои знания в программном
обеспечении этих машин кончаются. :08: :frown: Вот пытаюсь хоть
что-то загрузить через терминал и запустить. Ничего не
запускается. Вот самое простое - хочу изобразить пароход
OKEAH.240. Сконвертировал в HEX и загоняю по директиве L на
скорости 4800. Вроде даже загружается с нулевого адреса в
память. Вся последовательность:
exit //выходим из CP/M
L //Загружаем через терминал HEX
GE000 //Запускаем обратно CP/M
SAVE 64 ok //Сохраняем в файл
TYPE ok // выводим на экран
И у меня появляется кораблик, но с цветами беда. Точнее их нет,
кроме белого, зеленого и оранжевого. Сам кораблик вроде похож по
структуре на оригинал. В тестовой прошивке цвета есть. Уже залил
прошивки MONITOR и CPM из эмулятора EMU, но это ничего не
поменяло.
А как быть с программами? Из монитора по G0 ничего не
запускается... Сохранять из памяти в .сом тоже не помогает.
Где бы взять список команд монитора и CPM?
В ближайшее время наверно попробую загрузку с магнитофона и
реальной кассеты от него.
Выходы R, G, B однобитные (нет градаций яркости). Четвертый выход с РТ4 - разрешение или запрет отображения цвета фона из соответствующего регистра. В идеале надо все резисторы видеоблока подобрать так, чтобы яркость цветов фона и переднего плана была одинаковой, и при этом не страдал контраст. У меня не получилось :)
Лучше загружать с адреса 100h, т.к. CP/M использует первые 256 байт под свои нужды. И файл сохраняется командой SAVE начиная с 100h.
Лучше загружать с адреса 100h, т.к. CP/M использует первые 256 байт под свои нужды. И файл сохраняется командой SAVE начиная с 100h.
Какие программы загружаете, как конвертируете? большинство программ для CP/M предназначены для загрузки и запуска с адреса 100h.
Я всю добытую информацию сваливал в кучу тут -
http://sensi.org/~tnt23/ok240/ (будет отдельная
страница)
Команд в CP/M там штук пять стандартных, в любом описании CP/M
найдутся. Есть только одна или две специфичных, типа WRITE и
READ.
А тут все интересно. Специально перепутав видеовыходы я добился нужной палитры. По схеме - соединил: RGB - BRG. И зеленая консоль как то правильнее красной. Не знаю что и думать.
Ближе к ночи у меня запустился тетрис из HEX, скачанный из https://svofski.github.io/pretty-8080-a
... er/tet.asm
Тут я и понял, что грузить надо не с нуля и радостно пошел перед
сном читать статьи из МПСиС.
Утром загрузил с 100h OKEAH.240 и увидел более похожее на
картинку из видео. Но море малиновое. Синего ведь в этой палитре
нет?
И вход в CP/M GC000 стал работать. Видать я что-то портил важное
ниже 100h. Не порты ли там весят? Или они через старшие адреса
идут?
-MiS- > 23.05.2020, 19:53
ам служебная область CP/M, в том числе точки входа (rst)
Спасибо, будем знать.
Приляпал PAL кодер на AD724. Синхру взял TTL уровня c перемычки
S4, а цвет с Xv1. Теперь можно хоть видео работы записать
нормальное.
Попробовал вместо DD2 поставить 62256. Эта фишка изначально
предусматривалась авторами и она работает. Нужно только
переставить перемычку S1 в положение 2-3. По команде L грузим CP/M
в адреса С000...DFFF и при перезапуске у нас уже загружается ОСь
из статического ОЗУ DD2.
А теперь можно пару нубских вопросов по работе с адресным
пространством:
1. Можно ли из Монитора достать до физических портов? (например
запрограммировать ВВ55 на вывод или перепрограммировать ВИ53 для
поднятия скорости UART до 9600, если это вообще возможно)
2. Ну и как достать содержимое ПЗУ дальше 8кб? Хочу например
загнать туда что-то и грузить по команде.
Чую для всего этого надо писать мелкие программы на ассемблере.
Порты сидят на дешифраторе DD11, а старшие разряды ПЗУ на канале
B DD17.
tnt23 > 24.05.2020 00:54
Делал, но проблема именно в заливке конкретных клеток. Ваши
видео смотрел и там это тоже проглядывает.
Думаю, подпрограмма скроллинга не учитывает обратный ход луча,
ну или неаккуратно чистит/заполняет ячейки памяти новым
содержимым. В общем, это софтовая проблема (в мониторе) :)
А тут все интересно. Специально перепутав видеовыходы я добился
нужной палитры. По схеме - соединил: RGB - BRG. И зеленая
консоль как то правильнее красной. Не знаю что и думать.
Зеленую консоль можно сделать, пропатчив ПЗУ монитора под себя.
Оригинальная консоль, видимо, все же была красной - может,
считали, что так заметнее, да и все равно долго в консоли
монитора не сидишь, запустил CP/М или с ленты загрузил программу
и вперед.
Утром загрузил с 100h OKEAH.240 и увидел более похожее на
картинку из видео. Но море малиновое. Синего ведь в этой палитре
нет?
Синего нету, только черный/красный/малиновый/белый.
Попробовал вместо DD2 поставить 62256. Эта фишка изначально
предусматривалась авторами и она работает. Нужно только
переставить перемычку S1 в положение 2-3. По команде L грузим CP/M
в адреса С000...DFFF и при перезапуске у нас уже загружается ОСь
из статического ОЗУ DD2.
Как-то сложно. У меня CP/M прописана в ПЗУ и запускается прямо
оттуда. Но использование статического ОЗУ да, интересная была
фишка, особенно для отладки.
1. Можно ли из Монитора достать до физических портов? (например
запрограммировать ВВ55 на вывод или перепрограммировать ВИ53 для
поднятия скорости UART до 9600, если это вообще возможно)
Отдельных команд для доступа к портам нет, надо писать
простенькие программки типа 3E 03 D3 81... . Перепрограммировать
UART на побыстрее можно, я это тоже на постоянку вбил в ПЗУ.
Максимально возможная скорость работы - 19200, грузить программы
командой L становится и легко и приятно :)
(Вообще много чего на эту тему писалось в разделе по
"Океану-240" на ZX-PK.RU, трудновато перепечатывать оттуда
материалы - рекомендую все же там посмотреть ;))
2. Ну и как достать содержимое ПЗУ дальше 8кб? Хочу например
загнать туда что-то и грузить по команде.
Штатно CP/M в дополнительных 8К живет, пониже Монитора. В схеме
предусмотрено переключение страниц ПЗУ через доп. биты одного из
ППА ВВ55, но в Мониторе никакой поддержки этого нет.
Чую для всего этого надо писать мелкие программы на ассемблере.
Порты сидят на дешифраторе DD11, а старшие разряды ПЗУ на канале
B DD17.
Да, но там есть какие-то тонкости, уже не вспомню - давно
ковырял подпрограммы переключения банков ОЗУ.
А откуда такая классная картинка с кораблем на мониторе? из МПСС?
Да. "Тизер" статьи про ОКЕАН 240. МПСС 02'86 цветная обложка.
Помню, что где-то видел этот корабль раньше.
возможная скорость работы - 19200
Интересно. А это при 12 МГц кварце или нужен другой чтоб промаха
с делителем не было?
Вообще много чего на эту тему писалось в разделе по "Океану-240"
на ZX-PK.RU
Надо перечитать ветки. :) Так там зарегистрироваться и не вышло.
Синего нету, только черный/красный/малиновый/белый.
Ну то есть сейчас видеовыход показывает нормально и можно от
него отстать. Хотя цвета тут перепутаны относительно схемы
выхода.
Буду пробовать писать программки для доступа к портам. Но
программист из меня никакой - я больше по железкам.
На текущий момент плата выглядит так:
Стандартный кварц на 12МГц.
Плата выглядит хорошо :) памяти 128К поставили или больше? я
поставил 512К и соответственно пропатчил подпрограммы Монитора и
CP/M. В CP/M RAM-диск A: получается 400 с лишним килобайт.
По классике поставил две линейки РУ5. Вот недавно хотел
написать, что и 64к достаточно для диска. Но как начал грузить
софт с кассеты, так на полпути и кончился диск... Теперь уже все
не так однозначно. Но пока есть желание придерживаться
оригинала. Да и двух линеек 41256/РУ7 нет под рукой.
Вчера подключал магнитофон и кое как добился загрузки. Пришлось
контролировать сигналы Tape4 и Tape5 осциллографом, подбирая
уровень воспроизведения по уровню с помощью микшера после деки.
Генерация на узле магнитофона у меня тоже возникала. Ткнул УД2Б
в последние каскады и УД608 в первый. Пока помогло. Еще шунтирую
2.2нф коденсатором 270пф, если проскакивают шальные импульсы.
Протестировать вход-выход магнитофона можно на тестовой прошивке
и соединив выход со входом. На 20 и 21 ноге ВВ55 должны быть
импульсы, повторяющие форму импульсов на схеме выхода
магнитофона.
Форматы записи у CP/M и у Монитора похоже разные. Кассета
записана в формате файлов CP/M. Пробовал сохранить из Монитора W
и прочесть R. Прочитал образ диска целиком. Все же не дает
покоя, что записано на второй стороне кассеты. Запись явно
отличается форматом. Но ее качество не очень. Присутствует фон
50Гц и запись в одном канале. Считыватель Океана ее не
переваривает, судя по сигналам на осциллографе.
Не удалось бегло посмотреть мою версию Монитора и CP/M? Вдруг
там есть эта сверхсекретная вторая скорость записи?
Написал супер прогу на асм'е и радостно зажег светодиод,
подключенный к пользовательскому ВВ55. Где тут записывают в
куулхакеры? :biggrin:
З.Ы. Вот хотел же не трогать старую плату. Дай думаю подброшу
кварц и посмотрю, что на ней поднимется... И понеслось. Целое
воскресенье убито на поиск обрывов шин и прочего багфикса.
Питание завел полностью внешнее с преобразователя, сделанного
для Микроши. Потешил самолюбие - поднял плату! Проходит тесты и
грузит CP/M. :28:
Вот кстати, узел магнитофона-то у меня и не заработал. Ну да я не особо горел желанием его поднимать - записей "Океана" у меня не было, хранить что-то на ленте тоже не собирался. Переключился на загрузку по последовательному порту, ну и надеялся на контроллер дисковода в будущем (пока не наступившем).
Форматы записи у CP/M и у Монитора похоже разные.
Насколько я помню по ковыряниям в ПЗУ, формат записи блока уж
точно один и тот же. CP/M пользуется вызовами "Монитора" для
чтения-записи блока, если не ошибаюсь.
Все же не дает покоя, что записано на второй стороне кассеты.
Запись явно отличается форматом.
Мы с коллегой еще в тот заход пытались ее разобрать, ничего
путного не нащупали. Она точно сделана на "Океане"?
Не удалось бегло посмотреть мою версию Монитора и CP/M?
Вроде я смотрел их тогда еще, различий в подпрограммах
записи-чтения не обнаружил. Напомните, вы их снова выложили?
надо, наверное, уже озаботиться каталогизацией доступного софта,
конкретно ПЗУ всех версий, в том числе с модерновыми доработками
(скорость последовательного порта, поддержка 512К памяти).
Здорово, что запустили оригинальную плату!
формат записи блока уж точно один и тот же.
Ну как минимум заголовки отличаются. Монитор не загружает файлы
CP/M и наоборот.
Она точно сделана на "Океане"?
Не известно. Судя по списку программ, почти все нашлось на
первой стороне. Что на второй отец уже не помнит. Но особо
никакие другие компьютеры он не собирал. И кассету записывали не
при нем.
Напомните, вы их снова выложили?
Да. Пару сообщений назад. Они чуть отличаются от версий в EMU.
https://yadi.sk/d/hKCGJKdBvT6dIQ
надо, наверное, уже озаботиться каталогизацией доступного софта
Я по крайней мере хочу сверить содержимое кассеты с тем, что
тогда удалось вытянуть с помощью оцифровки записи. Программу
выгрузки по COM из CP/M никто не писал? А то придется обратно
выгружать диск на ленту, сразу оцифровывая результат.
Плюс нашел пакет бумажных документов, что не выкинул ранее...
Там схемы клавиатуры и контроллера дисковода. Последняя на вид
не отличается от известной. Есть еще фотошаблоны разводки. Пока
есть дома A3 сканер надо это откатать.
Ну как минимум заголовки отличаются. Монитор не загружает файлы
CP/M и наоборот.
Это понятно, я когда дизассемблировал монитор и CP/M, обратил
внимание на то, что используются одни и те же подпрограммы для
записи блоков (т.е. биты-байты кодируются одинаково). Заголовок
файла тоже своеобразный блок, насколько помню.
Ваши файлы мельком просмотрел, вроде тот же монитор 240/7.
Программу выгрузки по COM из CP/M никто не писал? А то придется
обратно выгружать диск на ленту, сразу оцифровывая результат.
Вроде никто, будете первым :) писать можно сразу в "Прекрасном
Ассемблере" в онлайне. Рекомендую.
Прекрасном Ассемблере
А прекрасного дизассемблера нет на примете? Нашел в онлайне, но
у него синтаксис команд чуть другой и он для Z80.
Это было бы супер для истории.
Вот забросил все кучей, что нашел. Там же верифицированные файлы
с кассеты. Пару заменил перераспознанными версиями, т.к. были
расхождения.
Фотошаблоны очень трудно отсканировать - они на пленке. Лучше не
получилось. Если кому нужны - могу отдать в Мск.
https://yadi.sk/d/e9OjCekQmbJiqg (ссылка работает)
А прекрасного дизассемблера нет на примете?
Нету. Но должны быть неплохие дизассемблеры под CP/M, если
хочется прямо на "Океане" этим заниматься, ну а уж на PC их
должно быть море разливанное.
Вот забросил все кучей, что нашел.
Спасибо! Фотошаблоны не выбрасывайте, пожалуйста. Вряд ли кто
соберется по ним делать точную реплику, но для истории просто
хорошо сохранить.
Немного фотографий "Океана-240" и книга с полезной информацией
для пользователей, собранная североморскими энтузиастами:
http://www.marushev.com/%D0%A1%D1%82%D0%B0%D1%80%D1%8B%D0%B5%20%D0%BC%D0%BE%D0%B8%20%D0%BA%D0%BE%D0%BC%D0%BF%D1%8B/slides/IMG_9255.html
есть фотки океана (ссылки работают)
Книга по Океан-240
скачать...
Правим гербер от ошибок и недочетов
Продолжение следует....
На предыдущую страницу На главную страницу На следующую страницу