Просмотр полной версии : РК86: CP/M 2.2 BIOS и 80 знаков в строке
Добрый день!
Я опубликовал исходники BIOS для CP/M 2.2 от самодельного контроллера на ВГ93 с использованием ПДП и электронным диском.
https://github.com/tchv71/RK_CPM30
Сам контроллер сделан в единственном экземпляре на основе схемы контроллера на ВГ93 от клона Спектрума, но задействован чип ПДП на плате РК86.
Год разработки - примерно 1990.
Использовался в реальной работе, показал свою надежность. Поскольку использован ПДП, работал весьма шустро, в биосе использовано опережающее чтение и фоновая запись.
- - - Добавлено - - -
Одно время схему хотели опубликовать в журнале Радио, но из-за лени и личных обстоятельств не получилось
tchv71, круто, спасибо! А схема есть?
Схема где-то завалялась дома в залежах бумаг. Принципиально - это урезанный бета диск интерфейс для Спектрума с цепями подключения к ПДП. Не думаю, что она представляет особую схемотехническую ценность, я все же программист, а не схемотехник. РК тоже модифицированный, с 64к памяти на плате и электронным диском на РУ7. По-моему, монитор тоже модифицирован, чтобы считать начальный загрузчик с диска.
Думаю, эти исходники без особого труда можно адаптировать к любой железной реализации контроллера на ВГ93, который может использовать ПДП.
Shumadan
16.03.2021, 16:01
Схема где-то завалялась дома в залежах бумаг. Принципиально - это урезанный бета диск интерфейс для Спектрума с цепями подключения к ПДП. Не думаю, что она представляет особую схемотехническую ценность, я все же программист, а не схемотехник. РК тоже модифицированный, с 64к памяти на плате и электронным диском на РУ7. По-моему, монитор тоже модифицирован, чтобы считать начальный загрузчик с диска.
Да, схему интересно было бы глянуть.
Не думаю, что она представляет особую схемотехническую ценность, я все же программист, а не схемотехник.
Представляет - представляет, не скромничайте. Интересны все подробности проекта, как и что реализовано!
Попробую найти, но быстро не обещаю.
В использовании ПДП мне нравилось, что не надо было завязываться на тайминги процессора, гасить экран и т.д.
Да и компиляция с диска на диск практически была равна по скорости электронному диску, поскольку запись и чтение осуществлялись в фоне.
Само собой, были программки для чтения и просмотра PC дисков, контроллер это позволяет (диски двойной плотности на 800к).
Интересно, как на РК грузились-выполнялись игрушки вроде LADDER?
Вот это новости!
А РК был "классический" 32К или с расширенной памятью? Совместимость сохранялась?
Это дело-бы к Апогею пристроить, там и памяти нормально и другие "ништяки" есть.
Добавил на гитхабе схему контроллера, схемы подключения и статью в виде фотографии :)
- - - Добавлено - - -
РК был расширенный, фактически Апогей (но тогда последнего еще не было). Совместимость только по Монитору, адреса, естественно, другие.Было 256к электронного диска на РУ7.
Схему электронного диска тоже нашел.
- - - Добавлено - - -
Интересно, как на РК грузились-выполнялись игрушки вроде LADDER?
Обычно выполнялись, там же CP/M была. Грузишь LADDER.COM и все.
Главное, конечно, был ассемблер M80.COM и линкер. Исходники биоса, кстати, для M80.
- - - Добавлено - - -
А насчет конфигурации рк-шки, кажись, это оно - https://zx-pk.ru/threads/32826-radio-86rk-s-pamyatyu-56-60kb-1987-g.html
По крайней мере, адреса портов все совпадают, это и в исходниках видно.
Добавил на гитхабе схему контроллера, схемы подключения и статью в виде фотографии
Интересно. Пожалуй стоит отрисовать в ДипТрейс и трассировать платку, для истории.
Или кто уже взялся за это?
Когда я говорил, что контроллер существовал в единственном экземпляре, я забыл что второй экземпляр был у Антона Кузьмина, моего однокурсника по МИФИ.
В схемах подключения видны его правки и его вариант подключения - RK Connect by Ant.jpg
Сама его плата РК-шки у меня лежит, а моя где-то затерялась, не исключено, что в завалах дома
А как дорабатывалась сама РКашка в плане расширения памяти и т.п.?
Интересно. Пожалуй стоит отрисовать в ДипТрейс и трассировать платку, для истории.
Или кто уже взялся за это?
Мне будет лестно, если кто-нибудь возьмется за этот труд. Сам я нужными компетенциями не обладаю - мои навыки проектирования электроники застыли на уровне "нарисовать схему на бумажке".
- - - Добавлено - - -
А как дорабатывалась сама РКашка в плане расширения памяти и т.п.?
На гитхабе добавил папку RK Enhancements
Доработки следующие - установка РУ5 вместо РУ3 (60к доступной памяти), замена знакогенератора на РФ2, электронный диск.
Электронный диск не обязателен, первые две для CP/M крайне желательны - памяти ей надо побольше и знакогенератор нужен с ACSII7.
Дисплейный режим, кстати на ВГ75 устанавливался в 80х24, что тоже стандарт.
- - - Добавлено - - -
Путем некоторых ухищрений удавалось переключать знакогенератор на лету и смотреть тексты с большими и маленькими английскими и русскими буквами, т.е. полный KOI8
- - - Добавлено - - -
У меня также был установлен ВИ53, даже два - для формирования независимой огибающей по каждому каналу, но это к теме не относится
Shumadan
17.03.2021, 15:26
Дисплейный режим, кстати на ВГ75 устанавливался в 80х24, что тоже стандарт.
это была чисто "железная переделка" или можно было программно переключатся из cp/m в стандартный РК?
Дисплейный режим, кстати на ВГ75 устанавливался в 80х24, что тоже стандарт.
Там вроде без аппаратных примочек сложности с полями/синхроимпульсами. Тоже дорабатывалось?
Там вроде без аппаратных примочек сложности с полями/синхроимпульсами. Тоже дорабатывалось?
Вроде, нет. Мониторы нормально такой режим кушали, а про телевизоры все и забыли давно.
- - - Добавлено - - -
это была чисто "железная переделка" или можно было программно переключатся из cp/m в стандартный РК?
Это чисто программирование ВГ75, на мониторах выглядело хорошо. Но для CP/M это не принципиально, хотя многие программы были рассчитаны на 80 символов по ширине, если я не ошибаюсь
- - - Добавлено - - -
Хотя, врать не буду - не помню точно, возможно синхроимпульсы к мониторам подключались отдельно, последние годы использования РК только на мониторах и работал
Товарищ, tchv71, и правда, не вводите людей в заблуждение.
Вг75 в схеме рк86 не может 80 символов в строке.
Не может, так не может, особенно если выводить на телевизор с формированием видеосигнала. Но насчет 80 символов я не ошибаюсь:
; SCREEN.MAC - bios screen parameters
SCR_BUFF EQU 0e6d0h
PHYS_W EQU 80
PHYS_H equ 29
SCR_SIZE equ PHYS_W*PHYS_H
FirstStr equ 2
VRAM EQU SCR_BUFF+FirstStr*PHYS_W
SCR_W EQU 80
SCR_H EQU 25
ENDSCR EQU VRAM+SCR_H*PHYS_W
- - - Добавлено - - -
Это код из тех лет, а как было осуществлено подключение к монитору - уже и не помню
И точно не было отдельной сложной схемы
Даже при 80ти знакоместах в полной строке, 14 из них должны быть пустыми. Они будут за пределами видимой области экрана. Должен же быть у Вашего монитора обратный ход строк... Либо Вы переделали схему видеовыхода, и это уже не РК86...
Ну, скажем так - когда-то это был РК. Я ж не спорю о возможности 80 символов на телевизоре. Но на мониторе были честные 80 видимых символов. Возможно и с вмешательством в схему монитора.
Даже при 80ти знакоместах в полной строке, 14 из них должны быть пустыми.
Это для телевизора. Монитор наверное может обходиться только лишь строчным СИ. Для телевизора из 78 символов 14 оставляли пустыми для формирования полей, а монитор видимо мог их нормально выводить. Так что разница в 2 лишних символа особой роли могла и не играть.
Единственные факты, что я утверждаю, что к РК (или ex РК) был подключен монитор, и на мониторе выводилось 80х25 символов. Процедура инициализации ВГ75 есть у меня в биосе, ее можно посмотреть.
tchv71, я ни в коем случае не спорю. Вывести то 80 символов можно, и на обычный тв, но переделкой видеовыхода рк86. Пишу для того, чтобы остальные форумчане понимали, что это получается не программированием вг75, а добавлением/переделкой каскадов в схеме компьютера.
Монитор хоть и выводит больше информации, но обратный ход ему также необходим. Это ведь не жки. 52мкс прямой ход луча, 12мкс — обратный. По факту обратный чуть меньше, 9-10 мкс.
Резюме — простым запуском программы 80 знаков в строке не получишь.
С этим полностью согласен
Если просто увеличить до 80 знаков, то период строчной будет 66мкс (т.е. прямой ход 60мкс), а ССИ - 6мкс. Почти укладывается в требуемые 10%.
Чтобы сохранить период строчной, нужно было бы ССИ не 8 знакомест, а 6 знакомест делать, но он и так короткий.
Скорее всего, брался кварц более высокой частоты, и для стандартного режима РК соответственно увеличивалось количество знакомест ССИ. Стандартно 80 символов на телевизоре делали с использованием ВИ53 для формирования (задержанных и укороченных) СИ из формируемых ВГ75 гасящих импульсов (аппаратный бордюр вместо программного у РК).
Скорее всего, брался кварц более высокой частоты
Да, судя по исходникам, у него 80 + 28 ССИ, т.е. кварц был не 16МГц, а 20МГц, а РК-шка у него работала на частоте 2,22МГц
Скорее всего, брался кварц более высокой частоты, и для стандартного режима РК соответственно увеличивалось количество знакомест ССИ. Стандартно 80 символов на телевизоре делали с использованием ВИ53 для формирования (задержанных и укороченных) СИ из формируемых ВГ75 гасящих импульсов (аппаратный бордюр вместо программного у РК).
К сожалению, проверить это не могу - моя плата где-то затерялась, а в плате Антона Кузьмина, на которой стоял такой же контроллер FDD, стоит стандартный кварц на 16 мгц, что ни о чем не говорит, может, ему было достаточно 64 колонок.
Стоял ли у меня другой кварц и как был подключен монитор - просто не помню.
В любом случае, даже на 64 колонок CP/M работать будет, просто некоторые программы рассчитывали на 80.
Подумалось, а ведь мой биос можно легко адаптировать к Партнеру, коль скоро реплика контроллера дисковода для него уже есть. Вряд ли можно найти CP/M биос для Партнера в исходниках! По сути, у меня там вся CP/M генерируется и настраивается на любые адреса. А ДМА там есть и работает, нужно всего лишь поменять базовые адреса контроллеров, инициализацию видеорежима и учесть разный (скорее всего) формат регистра контроллера.
Покопавшись в старых 5.25 дисках, вспомнил, что потом этот биос адаптировал для Профи Максим Волконовкий, aкa Maxwolf.
Так что в скомпилированном и переделанном виде его можно встретить на CP/M дисках Профи.
В корпусе на разъем для видео идет 3 провода, кроме земли для подключения монитора - скорее всего видео, КСИ и ССИ.
Смутно помню, что кажется кварц был на 16.5 мГц
Интересно. Пожалуй стоит отрисовать в ДипТрейс и трассировать платку, для истории.
Или кто уже взялся за это?
Я буду первым кандидатом в заказчики этой платки.
Я запустил РК от Антона Кузьмина, всё работает, но плата FDC где-то затерялась.
При старте пишет "radio 86-rk vers. 60k RAM", что однозначно указывает на модифицированный монитор (заметьте - вывод в ASCII-7).
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot