Точно, сразу не заметил, файлы 000_MBASIC.COM и 001.DAT тоже с дублями.Цитата:
Это на других файлах тоже есть.
В образе disk1.okd правило точно cpm-овское.
Вид для печати
Точно, сразу не заметил, файлы 000_MBASIC.COM и 001.DAT тоже с дублями.Цитата:
Это на других файлах тоже есть.
В образе disk1.okd правило точно cpm-овское.
И не только бейсиковские. Похоже это фича. Плюс ко всему, файлы длинее 16Кб разбиваются тоже из-за такой-же фичи - после ровно 16Кб идёт блок с сигнатурой ноль. Я считал это признаком начала нового файла (т.е. номера блоков на мой взгляд нумеровались с нуля), но похоже это не так.
Очередная версия декодера файлов.
Вот что у меня получилось при исследовании программного кода.
Логическая структура данных на МЛ в Океан240
1. Блок нулевых значений (признак- FFFF размер- 128 байт).
2. Межблочный промежуток (задержка).
3. Блок нулевых значений (Признак - 0000, размер -128 байт).
4. Межблочный промежуток (задержка).
5. Блок данных (Признак 0000, размер - 128 байт).
6. Межблочный промежуток.
7. Блок данных (Признак 0000, размер - 128 байт).
8. Межблочный промежуток.
Блок данных и межблочный промежуток повторяются до конца файла.
и самого блока
Сруктура блока записи.
1. Бит 5 частота 588 Гц
2. Бит 3 частота 588 Гц
3. Бит 5 частота 588 гц
4. Бит 3 частота 588 Гц.
2. Байт 0 частота (0 бит 4466 Гц 1 -бит 2274 Гц).
3. Признак данных (байт F5).
4. 2 Байта признака (FFFF или 0000).
5. Данные 128 байт.
6. 2 байта Контрольная сумма (счетчик количества байт).
7. Байт 0.
8. Бит 4 частота 588 Гц
Не совсем так. Допустим, каждый блок состоит из:
2 байта тип блока (признак, в вышеприведённой терминологии)
128 байт данных
2 байта КС
(в моём файле перед блоком стоит последовательность синхробайт CC CC CC CC CC CC 00 F5)
Тогда файл состоит из таких блоков:
2 блока 0x8000 имя файла
1 блок 0x0000 (начало 16Кб экстента?)
128 блоков (или меньше) данных (признак 0x0001-0x0080)
1 блок 0x0000 (начало 16Кб экстента?)
128 блоков (или меньше) данных (признак 0x0081-0x0100)
...
2 блока 0xFFFF конец файла
По поводу ПЗУ: вроде работает, но контроллер клавиатуры отличается, так что надо сначала разобраться с клавой и конфиг подправить.
---------- Post added at 13:34 ---------- Previous post was at 12:28 ----------
L Juriy, а подключение дисковода в Вашей версии Океана-240 не предусматривалось что-ли? Ни в CP/M, ни в мониторе никаких намёков на дисковод нет.
Выложил на сайт версию с разными мониторами. Теперь Okean-240 - это то, что прислал L Juriy, а Okean-240 fdd - версия от AZMaster.
MBASIC v5.21 можно взять здесь (автор: одна малоизвестная фирма;)
DDp, действительно, один-в-один, с точностью до ошибок чтения (коих не так много). Удивительно, что последний .wav от L Juriy сконвертировался практически без ошибок.
b2m, В моей версии нет дисководов.
Хотя схема уже появилась.
Я сделал свою схему на основе анализа всех на то время схем. Спаять спаял а подключить и отладить уже не успел. Было написано и програмное, вернее правки в существующие, но на практике реализовано не было.
Есть распечатки только дизассемблирования монитора и самой СРМ, но частями.
Набрал монитор на АСМ пока не мог считать ПЗУ.
Но вот вчера был прорыв, нашел работающий программатор в городе и считал ПЗУ.
MBASIC запустился на эмулятое?
Кстати это майкрософтовский Бейсик для СРМ.
Бейсик с Вашей кассеты содержит ошибки чтения и поэтому вылетает после запуска. А вот скаченный по ссылке, которую дал DDp, естесственно запускается. По сути, это один и тот же файл, но без ошибок и немного короче (т.е. конец файла с кассеты содержит мусор, который абсолютно не нужен, 256 байт).
То, что это мелкософтовский Бейсик, и так понятно. Именно это он и выдаёт при старте.
b2m, так что, теперь можно запускать на твоём эмуляторе диски и касеты для океана ?
я вижу на твоём сайте есть образ диска, а где взять касеты ?
Кассеты пока нельзя, даже .wav, т.к. надо пиковый анализатор встраивать. Перехват процедур тоже пока не сделан, т.к. сконвертированных без ошибок кассет тоже нет.
Образов дисков тоже пока нет, хотя использовать их уже можно. То, что лежит на сайте, сделано вручную (пустой диск, это файл длинной 0xB4000 забитый байтом 0xE5). Для примера я сохранил в эмуляторе на этот диск Бейсик с одного из дисков Роботрона. Хотя теперь можно заменить на mbasic, скачанный по ссылке выше, т.к. именно он использовался.
может можно будет повытаскивать файлы из образов касет (wav файлов) и перекинуть их на образы дисков ?
я думаю так будет проще.
b2m, С другой касеты Mbasic нормально запустился
Сделал обработку своих касет.
Попробовал кое какие под эмулятором, работают не все.
Как лучше выложить содержимое кассет?
Вот что пробовал:
Содержимое папки C:\Works\emu\Works
15.01.2011 19:42 <DIR> .
15.01.2011 19:42 <DIR> ..
15.01.2011 17:31 8*192 ASM.COM
15.01.2011 13:08 8*960 BATTY.COM
15.01.2011 13:08 3*712 BOMBER.COM
15.01.2011 17:42 23*168 CHESS.COM
15.01.2011 13:08 8*192 IBASIC.COM
15.01.2011 17:31 18*432 LADMOD.COM
15.01.2011 17:33 15*616 LINK.COM
15.01.2011 17:30 1*792 LOAD.COM
15.01.2011 19:42 0 lst
15.01.2011 17:34 9*600 MAC.COM
15.01.2011 12:40 24*576 MBASIC.COM
15.01.2011 17:30 7*424 PIP.COM
15.01.2011 13:08 8*192 PITON.COM
15.01.2011 17:36 15*360 PW.COM
15.01.2011 17:33 5*760 RET.COM
15.01.2011 17:36 13*568 RMAC.COM
15.01.2011 17:36 24*576 SC.COM
15.01.2011 17:36 7*680 SC.HLP
15.01.2011 17:36 14*592 SC.OVL
15.01.2011 13:08 8*192 SID.COM
15.01.2011 17:31 5*376 STAT.COM
15.01.2011 17:27 12*288 WM.COM
Блин, только что их все прибил:frown:
Вытащил файлы и удалил.
Те которые плохо читаются буду вырезать из общего и шаманить с ним.
Вытащил Fortran 80 который давно искал. запускается иот только исходник нужно найти чтобы проверить:wink:
Ладно счас сделаю по новой.
Вы только .wav пока не удаляйте, я попробую чуть уменьшить гистерезис, может что и получится. В последнем выложенном .wav файле (который с mbasic) я, кажется, нашёл место с ошибкой, там по непонятным причинам "просела" громкость. Но синусоида сохранилась.
Вот я эти проседания и исправляю редактором в wav.
F80 таким образом считал.
У меня исходники лежат в FLAC стерео 44100.
А уже из них я делаю WAV и на них тренеруюсь.
Проседание гроькости рочти на всех кассетах.
Я так думаю это уже железо начинает обсыпаться с лент вот и провалы.
Вот файлы дат.
Еще одна касета есть, сделаю позже.
Это та самая проблемная которая физически вставала в магнитофоне.
Да вопрос по эмулятору
Океан работает на 7 битном коде Бльшие латинские и большие русские.
Как включить этот режим, а то он вместо русских букв пишет малеькие латинские.
Э... Не знаю. :) В Вашей версии монитора используется клавиатура, которая выдаёт готовый 7-ми битный код клавиши (как я понял, чисто УКНЦшная клавиатура с её контроллером). Эмулятор просто передаёт код нажатой клавиши. А что печатается при выводе символов 0x60-0x7F - это уже от эмулятора не зависит.
В версии от AZMaster контроллер клавиатуры немного упрощён, он выдаёт только строку и ряд нажатой клавиши, а всё остальное делает монитор, в том числе и обработку верхнего регистра.
В УКНЦ клавиатура обычная пленочная, без каких-либо контроллеров.
b2m, Я имел ввиду вывод на экран, а не ввод с клавиатуры.
У меня подключена клавиатура от дисплея СМ7209.
Да она выдает код и строб.
Еще хотелка для мулятора.
В Мониторе есть команда L которая загружает в Intel Hex формате файл с последовательного порта. Есть также команда вывода в последовательный порт в том же формате.
В эмуле можно это реализовать?
b2m, Запятовал,
Это оказывается своей программой я выводил информацию из Океана в СМ ЭВМ
Извините ввел в заблуждение.
Вот список команд монитора
;ТАБЛИЦА КОМАНД МОНИТОРА
TABLC: ;E135
.byte 'D'
.word DUMP
.byte 'F'
.word FILL
.byte 'G'
.word GO
.byte 'L'
.word LOAD
.byte 'M'
.word MOVE
.byte 'R'
.word READ
.byte 'S'
.word SECH
.byte 'W'
.word WRITE
.byte 'X'
.word XREGM
.byte 'B'
.word BLOKD
.byte 'A'
.word ABLOK
;ПОДПРОГРАММА ЗАПИСИ БЛОКА В ДОП. ОЗУ
---------- Post added at 18:53 ---------- Previous post was at 18:43 ----------
Еще одну вещь вспоминаю, но вот только не помню в Океане ли это было.
Если при старте на последовательном порте был подключен терминал, то консоль переназначалась на этот порт.
Проверить это на эмуляторе можно?
b2m, В микро вообще нет последовательного порта
Иришу я так и смог запустить.
Остается только одноплатная ЭВМ из МПСС, либо монитор от MSIntelec или как то похоже.
Либо в Океане можно переназначить консоль вручную. СРМ же позволяет это делать.
Блин давно это было, забыл все уже.
b2m, Это в отладке написано.
Да в тесте организован вывод на последовательный порт, но можно обойтись и без него поставив только кнопку.
У меня в эмуле не получилось с СОМ портом работать.
Отписываюсь с запозданием, совместно с b2m было восстановлено несколько bas-файлов:
Cas1s-s3.rar
file_2_3.rar
file_5.rar
Gryphon, извините за долгое молчание..., раньше не было возможности, отсутствовал доступ к сканеру.
Отсканировал, смотрите. Листики изрядно потёрлись, сказывается время. :)
Снимал в максимальном разрешении в формате TIFF. Ничего не обрезал и не переворачивал. Снимал в цвете, пробовал "оттенки серого" - не понравилось, посмотрите поймёте о чём я. Надеюсь устроит.
страница №78 - 20.9 МБ
страница №79 - 24.5 МБ
страница №80 - 21.9 МБ
страница №81 - 22.4 МБ
Так же отснял статью из №3 "МПСиС" "ПЭВМ "ОКЕАН-240": КОНСТРУКЦИЯ И МЕТОДИКА ОТЛАДКИ".
Снято в JPEG в максимальном разрешении. Немного обработано...
МПСиС 1987г. №3 стр. 77-86. - 47.6 МБ
Вопрос к заинтересованным лицам. :)
Появилась возможность отсканировать в нормальном качестве все статьи по "Океан-240", опубликованным в "МПСиС". Надо ли это делать?! И нужно ли это кому-нибудь вообще? :v2_conf2:
нужно и для истории и просто почитать.
Ok! :) Первый вброс сделал --> post 150
Постараюсь не затягивать и отснять оставшееся. :)
P.S. Кстати, качество устраивает?
подскажите пожалуйста как запускать образы дисков для океана в "emu" эмуляторе.
уже какие только команды не пробовал dir, boot, start, run и.т.д, всё бесполезно.
Там вроде всё просто: запускаешь конфигурацию Okean-240 fdd, выбираешь образ в первый дисковод (левый на тулбаре), переходишь на диск B: ... А дальше как обычно, это ж сипиэм :)
спасибо за информацию :)
В этой теме прошу далее писать только о самом компьютере и вопросам с ним связанными.
Все сообщения посвященные репликам платы перенесены в отдельную тему
Для темы реплики платы накопителя ГМД тоже есть специальная тема