Важная информация

User Tag List

Страница 1 из 6 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 54

Тема: Ленинградский монитор и другие программы для СПЕЦИАЛИСТА

  1. #1
    Master Аватар для barsik
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    724
    Благодарностей: 200
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Cool Ленинградский монитор и другие программы для СПЕЦИАЛИСТА

    Решил открыть личную тему. Ранее меня уже просили кое-что выложить для СПЕЦИАЛИСТА. Но ранее это было невозможно по техническим причинам.

    Я занимался СПЕЦИАЛИСТОМ очень немного (с января 1988 до осени 1990). Использовался только журнальный вариант СПЕЦИАЛИСТА (MX тогда не было). Из доработок только - пара диодов, чтобы обращения на F800 переадресовывались на C800 и турбирование до 2.5 МГЦ. Плюс внешняя плата эл.диска 256/512К и только в самом конце появился КНГМД от КОРВЕТА. Поэтому наработок было немного. Но даже это не распространилось, т.к иногородних связей не было. Целью темы считаю создание конфигов для двух имеющихся эмуляторов СПЕЦИАЛИСТА, где бы работали хотя бы те программы, что есть.

    Имею стандартный СПЕЦИАЛИСТ (и даже в корпусе, не только в виде плат и клавиатуры на столе), а также имею 5 плат СПЕЦИАЛИСТА ЭКСПРЕСС в разных стадиях переделки (в том числе на Z80). Не прикасался к СПЕЦИАЛИСТУ 25 лет, но сегодня решил вспомнить и ради интереса посмотреть в эмуляторе работу программы обслуживания компьютерного класса на базе СПЕЦИАЛИСТА.

    И тут меня ждал "полный облом". Можно сказать, что не хватает злобы в адрес авторов эмуляторов. Причём обоих.

    Сначала попробовал эмулятор EMU80 V4.0. И тут обнаружилось, что файлы в формате ORD этот эмулятор СПЕЦИАЛИСТА не грузит. Это безобразие, ведь формат ORD - это универсальный формат для 8-ми разрядок, непривязанный к формату на ленте и позволяющий иметь все параметры блока - имя, адреса и контрольную сумму. Поиски в дистрибутивах конвертора ORD в RKS результата тоже не дали.

    Тогда решил вручную отредактировать хотя бы один файл в формат RKS, чтобы хоть что-то загрузить. Но, естественно, я уже не помню формат СПЕЦИАЛИСТА. Начал искать ДОК-файл в дистрибутиве, где был бы описан формат СПЕЦИАЛИСТА. Тут меня тоже посетил "полный облом".

    По счастью у меня большая коллекция исходников всех ROM-BIOS для всех компьютеров, что у меня были. Пришлось тратить время, конвертировать исходники КР580 в Z80 (иначе ничего не поймёшь, т.к я уже давно забыл мнемоники КР580 и разбираться в них мне очень некомфортно). В итоге, потратив кучу времени, выяснил физический формат СПЕЦИАЛИСТА по сбросу и физический формат МОНИТОРА. Вот формат МОНИТОРА Орлова, он же формат всех остальных мониторов СПЕЦИАЛИСТА:

    - Пилотон 256 байтов 00
    - Синхробайт E6
    - D9
    - D9
    - D9
    - 17 байт имя файла
    - Пилотон 768 байтов 00
    - Синхробайт E6
    - Начальный адрес (в нормальном порядке байтов, не как в РК86)
    - Конечный адрес (в нормальном порядке байтов)
    - Файл
    - Контрольная сумма по C82A

    Формат RAMDOS-COMMANDER отличается тем, что после 17-ти байтов имени идёт ещё 7 байтов:

    - D9
    - SCODE 1 байт
    - WBYTE 3 байта
    - ADRAM 2 байта

    Эти байты не нарушают совместимости (т.к после ввода 17-ти байтов имени монитор ждёт пилотон и синхробайт E6), но они необходимы, чтобы командер мог грузить файлы сразу в эл.диск, минуя ОЗУ (что очень ценно, и не только ускоряет, но и позволяет грузить файлы размером более 36К).

    Формат по сбросу отличается тем, что в нём нет заголовка с именем. Поэтому второй пилотон и сделан большим. Можно пропустить заголовок и нажать кнопку сброс в момент второго пилотона в 768 байтов. Тогда получится автозапуск файла.

    Начнём с того, что в эмуляторе EMU80, если я правильно понял, вообще не поддерживается формат загрузки по сбросу. То есть коммерческие программы с защитой от записи в нём вообще не загрузить. Точнее можно загрузить только умные защищённые программы, которые при вводе по I, перехватывают управление. Как это делается можно увидеть в защищённых от копирования программах СПЕЦИАЛИСТА и ОРИОНА и прочитать в прилагаемом руководстве программиста. Кстати, конфига и эмулятора СПЕЦИАЛИСТА в варианте КООП SP-580 тоже не нашёл, а его программы тоже грузятся по сбросу, правда в формате MSX.

    Естественно, не зная, что набирать, какие синхробайты выбрасывать, какие сохранять, сколько нулей от пилотонов сохранять, - ничего не получилось. Причём с тем ROM-BIOS, что был в дистрибутиве. Это вывело эмулятор EMU80 вне игры, до получения сведений о формате, который вводится по директиве I.

    Тогда я перешёл к эмулятору B2M. В нём оказалось всё наоборот. Есть загрузка по сбросу, но нет загрузки файлов в формате монитора. Реальный СПЕЦИАЛИСТ, если нажать клавишу а затем <ВК> переходит в МОНИТОР C800. По-крайней мере, СПЕЦИАЛИСТ с нормальным ленинградским монитором. Если используется загрузчик из ж.МК 03.1987, то там надо нажимать на какие-то кнопки, чтобы выйти в монитор. Естественно, на какие кнопки жать, я не знаю, т.к всегда имел нормальный монитор.

    Безуспешно попрыгав вокруг клавиатуры, я решил поставить ленинградский монитор, хотя бы частично, т.е 2 ПЗУ, (полностью надо 6 ПЗУ РФ2). Ленинградский монитор удобнее хотя-бы тем, что в нём видно, что идёт ввод с МГ - по бордюру бегут полосы, а на экране в правом верхнем углу бежит счётчик показывающий адрес ввода. А в эмуляторе и с древним монитором вообще "глухота", даже не понять что происходит - или завис или идёт чтение с МГ. Т.е не понятно "схватился" блок и пошла загрузка или синхробайт пропущен и по-прежнему идёт поиск синхробайта.

    Но и ленинградский монитор, даже ранних версий отказался выходить в монитор C800. Посмотрев конфиг-файл, я обнаружил там такую же ерунду как в конфиге РК86, - адреса для перехвата п/п-мм работы с магнитофоном. Ленинградский монитор 100% совместим, и даже по внутренним точкам. Но кто-же мог знать в 1988 году, что для эмуляторов надо совмещать не только точки входа в подпрограммы, но и точки выхода из подпрограмм? С этим тоже "обломилось", т.к возиться, транслировать и выяснять на какой адрес попадает команда RET подпрограммы чтения массива - сегодня неохота (выясню это позже, чтобы получить работающий конфиг). Впрочем, всё-таки можно "вывалиться" в монитор C800, если "остановить ленту" во время чтения файла, тогда происходит BREAK переход по МГ-ошибке.

    Обломившись с вводом готовых файлов, решил попробовать ввод WAV-файлов. Это тоже оказалось не тривиально. Недостаточно нажать на сброс (красный кружок), а затем нажать пиктограмму старт магнитофона. Нет, это было бы слишком нормально, поэтому не подходит.

    Оказывается надо не так. Сначала надо в окне загрузки файла, появившимся по сбросу, сделать отказ (отмена) и только затем нажать на пиктограмму пуск магнитофона. Причём, если фонограмма не подогнана к самому началу пилотона или прямо с него, то тоже будет облом. На реальном СПЕЦИАЛИСТЕ нажимают на кнопку сброс в момент, как услышали пилотон. А в эмуляторе этого нет, т.к если сделать сброс во время хода ленты, то происходит уход на обычный сброс с загрузкой из готового файла (не из WAV-файла).

    А правильно было бы сделать так, чтобы кнопка сброс во-время хода ленты, не приводила к выходу в режим ввода готового блока, а начинало бы читать WAV-файл с текущего места (так, как бы нажали сброс во время пилотона). Заметим, что ленинградский монитор настраивается на скорость ленты по пилотону, а стандартный монитор это не делает. Отчего читать чужие записи на реале (или в эмуляторе из WAV-файла) с монитором Орлова проблематично.

    Разобравшись в этом, т.е как грузить WAV-файлы (пусть и без возможности сброса в момент начала записи), я начал загрузку WAV-файлов СПЕЦИАЛИСТА. Естественно в виде WAV-файлов есть только коммерчески защищённые программы (обычные файлы перенесены в виде кодов). Однако и тут оказалось не всё в порядке. WAV-записи, которые без проблем загружались из PC в реальный СПЕЦИАЛИСТ, при загрузке в эмуляторе часто вызывают выскакивание мигающей надписи "TAPE LOADING ERROR". Возможно, если поколдовать в редакторе звуковых файлов (например изменить частотную характеристику эквалайзером или изменить уровень сигнала), то ввод в эмулятор улучшится. Но с другой стороны впечатляет, что возможен ввод из WAV-файла, как из магнитофона. Это очень крутое свойство и в эмуляторе EMU80 его явно не хватает.

    У меня есть инсталяторы защищённых программ. Вопрос к b2m: можно ли из эмулятора записать WAV-файл?

    Хотел приложить WAV файлы коммерчески защищённых игр СПЕЦИАЛИСТА. Но ничего не получилось - файлы передал, даже несколько раз, но не вложилось. Какие макс.ограничения на размер файлов 7Z и RAR? Из-за Win XP и оттого старыми браузерами не могу воспользоваться файлообменником. Лучше бы отменили ограничение на размер файла, а сделали бы так, чтобы очень большие файлы хранились бы во вложениях лишь сутки. Кто не успел скачать, тот опоздал...

    Какой формат WAV (частота дискретизации, число бит) выгодно использовать, чтобы и размер был минимальным и надёжность ввода не падала?

    Скрытый текст


    Код:
    	    КАК ДЕЛАТЬ ПРОГРАММЫ С АВТОМАТИЧЕСКОЙ ЗАГРУЗКОЙ
    	    ===============================================
    
        Все видели,  как красиво загружаются с магнитофона игровые программы
    ZX-SPECTRUM.  Программы для "СПЕЦИАЛИСТА" могут загружаться также эффек-
    тно,  тем более,  что в "СПЕЦИАЛИСТЕ" загрузка осуществляется  сразу  по
    сбросу, т.е нет необходимости набора команды с клавиатуры: запустил маг-
    нитофон нажал на кнопку и любуйся "эффектами загрузки".  Весьма эффектна
    загрузка заставки прямо в экран,  бегущий счетчик,  отсчитывающий  время
    загрузки,  двигающиеся спрайты и блоки,  вывод текста-описания  игры  во
    время ее загрузки с ленты и другие подобные эффекты. Кроме задачи "укра-
    шения" процесса загрузки,  блочная автоматическая загрузка позволяет ре-
    шить задачу защиты от копирования коммерческих программ,  т.к при  блоч-
    ной загрузке появляется возможность изменить формат записи на ленту, тем
    самым затрудняя задачу взлома защиты кракеру  (нельзя  путать  2  разных
    термина - кракер и хакер;  в то время как хакер,  это высококвалифициро-
    ванный программист-любитель, не занимающийся пиратством,  кракер - прог-
    раммист-вредитель "ломающий" защиты с целью  "прославиться"  и  "зарабо-
    тать" на пиратстве, т.е понятие кракер равноценно понятию вор).
        Данная  статья  предназначена  для  начинающих  программистов    для
    "СПЕЦИАЛИСТА" и предполагает то,  что читатель уже знает все стандартные
    подпрограммы BIOS "СПЕЦИАЛИСТА". Кроме того необходимо заметить, что эта
    статья относится только к "настоящему СПЕЦИАЛИСТу",  т.е к "СПЕЦИАЛИСТу"
    в самой стандартной версии,  а именно аппаратура соответствует  48к-бай-
    тной версии (МК,1987,N2), BIOS - загрузчик Волкова (MK, 1987,N5) или лю-
    бой другой полностью совместимый BIOS (напр: ленинградский  МОНИТОР  лю-
    бой версии).  Версии аппаратуры и программ кооп."SP-580",    Афанасьева,
    "КОЛЕД" и других,  совместимы не 100% и имеют другие "стандартные"  под-
    программы.
       Для начала вспомним,  что происходит при работе загрузчика сразу пос-
    ле нажатия на кнопку "сброс" волковский загрузчик  сразу  "вылетает"  на
    адрес C444. Здесь осуществляется инициализация системных переменных BIOS
    (и МОНИТОРА в версии Л-89). Для этого вызывается стандартная (и так "го-
    рячо" всеми любимая) подпрограмма пересылки блока: C42D- переброска бло-
    ка (HL)...(DE) -> (BC).  Далее п/п-ма C438 (PRINT) выводит на экран  код
    "СТР" (очистка экрана) и сообщение: "PROGRAMM?" (в ленинградском монито-
    ре выводится надпись "ЛЕНИНГРАД-1989") и вот здесь начинается самое  ин-
    тересное.  Запускается п/п-мма C3F9.  Смысл ее работы: сначала на  ленте
    ищется синхробайт "Е6".  Пока он не найден или нет сигнала,  эта  п/п-ма
    "крутится" на одном месте.  Как только синхробайт пойман,  то вводятся 4
    последующих байта.  Два первых определяют с какого адреса загружать вво-
    димый блок в ОЗУ (адрес начала блока), 2 следующих - адрес конца блока в
    ОЗУ.  После этого п/п-ма C3F9 вводит блок и заносит его в ОЗУ по  задан-
    ным адресам.  Ввод заканчивается при заполнении последней ячейки.  Адрес
    начала блока заносится в ячейку 8FE3.  И на этом работа п/п-мы C3F9  за-
    канчивается. Далее загрузчик с помощью команды PCHL  передает  управление
    введенной программе (по адресу начала блока).  Никакого контроля на пра-
    вильность ввода не осуществляется.  Таким образом  блок  грузящийся  "по
    сбросу" имеет вид:  цепочка  нулевых-байт  (пилотон),	 синхробайт  Е6,
    нач.адрес  блока  (мл.байт,    старший  байт),    конечный  адрес  блока
    (мл.б,ст.б) и сам блок.  В таком формате работал монитор Волкова  (мони-
    тор-1985,  8D00).  Этот МОНИТОР уже не используется на "СПЕЦИАЛИСТАХ"  и
    все пользователи  с  сентября  1988 года  используют  только  "орловский
    МОНИТОР" (обычно в комплекте со зверковским загрузчиком МК,89/4) или го-
    раздо более совершенный ленинградский монитор (В.Ивинских).  Эти монито-
    ры имеют директивы R/W работающие в таком-же формате, за исключением то-
    го, что сразу-же за блоком следует контр.сумма: сразу-же, а не как в "у-
    родском" формате РК-86,  где "К.С" идет только после дополнительной  це-
    почки нулей и еще одного синхробайта Е6 (кроме того в РК-86 "перепутаны"
    адреса блока, т.е у них сначала идёт старший,  потом младший байты адре-
    са).  Кроме директив R/W МОНИТОР имеет директивы I/O - формат  с  именем
    файла (имя до 17 символов,  запрашивается).  Запись имеет следующий вид:
    пилотон (256 0-вых байт), синхробайт E6, 3 байта D9, имя файла,  длинный
    пилотон (768 0-вых байт),  синхробайт Е6,нач.адр,  кон.адр,  файл,  кон-
    тр.сумма.  Т.е по сути добавлен только "заголовок" со  своим  пилотоном.
    Формат RAMDOS-COMMANDERа полностью совместим  с  таким  форматом,    т.к
    доп.параметры файла (CSUM, SCODE, WBYTE, ADRAM) передаются вслед за име-
    нем файла. Это теория. Как же делаются многоблочные автоматически загру-
    жающиеся программы? Идея заключается в том,  что сначала загружается ма-
    ленькая программка, для "раскрутки".  Она может грузиться по сбросу  или
    перехватывать управление при работе директив ввода - R/I/Y/Z. После заг-
    рузки этой программки,  ей передается управление,  а дальше она уже  де-
    лает, что хочет.
       Первый пример. Пусть по сбросу загружается следующая программа:
    
          ORG 0
          LXI H,TXT1	    ; HL-адрес текста
          CALL 0C438H	    ; выводим текст (C818)
          CALL 0C3F9H	    ; вводим новый блок
          LHLD 8FE3H	    ; и передаем
          PCHL		    ; ему управление
    TXT1: DB 1FH,'ПРИВЕТ !'
          DB 0DH,0AH,0
    
       Эта программа очистит экран,  напишет "ПРИВЕТ !" и будет вводить  но-
    вый блок,  а потом его запустит на исполнение.  Пусть второй блок  будет
    такой:
    
          ORG 1000H
          LXI H,TXT2
          CALL 0C438H	    ; вывод TXT2
          JMP 0C800H	    ; выход в монитор
    TXT2: DB 'КОНЕЦ ВВОДА',0
    
       После загрузки этого второго блока  будет  выдано  сообщение  TXT2  и
    "выйдем" в монитор.  Такой ввод возможен только в разные адреса,    ведь
    после ввода второго блока еще продолжает работать первый блок.  Однако в
    BIOS имеется п/программа C453,  которая вводит и автоматически запускает
    на исполнение введенный блок.  Если использовать эту подпрограмму,    то
    второй блок можно грузить прямо на место расположения первого (если пер-
    вый блок уже не нужен).  Это всё для блоков загружаемых  по  "указанным"
    адресам.  Но BIOS "СПЕЦИАЛИСТА" позволяет загружать блоки и по  адресам,
    задаваемых программой.  Тогда на ленте должны отсутствовать начальный  и
    конечный адреса загрузки блока.  Итак C422 - п/п-ма,  которая  загружает
    блок по "произвольным" адресам.  Ей надо указать,  куда загружать блок в
    регистрах HL,DE. Вот пример. 1-й блок:
    
        LXI H,TXT1
        CALL 0C438H     ; вывод сообщения
        LXI H,1000H     ; указываем нач. И
        LXI D,17FFH     ; конечный адреса
        CALL 0C422H     ; вводим 2 к-байт
        JMP 1000H	    ; и запускаем
    
       Таким образом BIOS "СПЕЦИАЛИСТА" предоставляет 4 стандартные подпрог-
    раммы ввода блока.  Они описаны во всей литературе  по  "СПЕЦИАЛИСТу"  и
    должны безусловно поддерживаться на всех его клонах:
    
    C3F9 - ввод блока с  поиском синхробайта, адреса
           начала  и конца  блока  указаны  на ленте
    
    C422 - ввод блока с поиском синхробайта,  адреса
           начала и конца  блока  заданы  в HL  и DE
    
    C414 - то же  самое,  но без поиска синхробайта,
           позволяет иметь синхробайт не равный E6
    
    C453 - ввод блока с  поиском синхробайта и авто-
           матическим  запуском  блока на исполнение
    
       Как видите,  благодаря наличию этих удобных П/П-м и процедуры загруз-
    ки  по  сбросу  делать  автоматически	 загружаемые	программы    для
    "СПЕЦИАЛИСТА" совсем не сложно.  Однако теперь теперь перед  программис-
    том возникает задача - а как же записать на ленту блоки один за  другим,
    да еще в некоторых не указывать адреса загрузки,  а в других  указывать.
    Также встает задача последующего копирования блочных программ.  Обе  эти
    задачи были блестяще решены еще в 1988 г В.Ивинских. Записывать блоки на
    ленту можно используя ранние версии ленинградского МОНИТОРА (до 2.7),  в
    которых возможности директив работы с лентой существенно расширены (мож-
    но вводить/выводить блоки в указанных выше форматах).
       Тем не менее специально для создания и копирования многоблочных прог-
    рамм В.Ивинских в конце 1988 г разработал две программы:  КОМПОНОВЩИК  и
    КОПИРОВЩИК.  Эти программы предназначены для работы с  блоками  в  одном
    стандартном двухфазном формате записи на ленту. Поэтому многие пользова-
    тели столкнувшись с тем, что КОПИРОВЩИК не позволяет им копировать защи-
    щенные форматом записи блочные программы "СПЕЦИАЛИСТА"  напрасно  ругали
    программу  КОПИРОВЩИК  (SP-COPY).    Рассмотрим  назначение    программы
    КОМПОНОВЩИК.  Эта программа позволяет загрузить в ОЗУ компьютера с ленты
    заранее подготовленные блоки,  причем все они должны быть в  стандартном
    формате монитора (с именем по директиве "О").  При вводе КОМПОНОВЩИК за-
    поминает параметры введенных блоков: адреса,  длины пилотонов,    имена,
    константы ввода.  Далее можно,  установив  требуемые  параметры  вывода,
    вновь вывести эти блоки на ленту и получить готовую  многоблочную  прог-
    рамму. Отличительная особенность КОМПОНОВЩИКА - автоматическое определе-
    ние константы чтения (для владельцев ленинградского МОНИТОРА это не осо-
    бенность, ибо в нем настройка на скорость осуществляется при работе всех
    директив ввода, в том числе и ZX!). После запуска КОМПОНОВЩИКА внизу эк-
    рана появляется главное меню программы. Выбранный режим отображается пу-
    тем "инверсии".  В начале надо запустить режим "LOAD" (нажатием <ВК>)  и
    ввести все заранее подготовленные блоки.  Вводимые блоки укладываются  в
    ОЗУ один за другим (до 8000H),  а на экране в виде таблицы  отображается
    информация о введенных блоках.  Когда введены все блоки, выходят в  меню
    нажатием <СТР>.  Режим "EDIT" позволяет корректировать длину цепочки ну-
    левых байтов перед блоком при  записи  на  ленту:  миним.длина  соответ-
    ствует 01,  максим.  - 09 и выбирается нажатием на  соотвующую  цифровую
    клавишу.  Каждая единица дает 85 нулевых байтов (поэтому 03  -  стандар-
    тная длина 256).  Далее нажатием <+> и <-> можно определить выводить ад-
    реса начала и конца блока или нет. Клавишами управления курсором влево и
    вправо можно задать константу записи (25-99).  В режиме  "DELETE"  можно
    удалить самый последний введенный блок,  нажав на <ПС> (а не <ВК>!),   и
    так можно удалить все блоки (тут надо осторожнее). Режим "SAVE". Тут все
    просто - <ВК> и на ленту пошли блоки один за другим в заданных  форматах
    и с нужными скоростями. "EXIT" - это выход в МОНИТОР по адресу C800.
       Теперь о копировщике "SP-COPY".  В.Ивинских сделал его множество вер-
    сий.  Наибольшее распространение получили  версии  1.3/4  и  версия  2.0
    (MSХ). Эти версии загружаются по сбросу, причем работают прямо из экран-
    ной области (как "жаловались" многие пользователи - работает хорошо,  но
    возникает "грязь" у правого края экрана !).  Т.е сама  программа  разме-
    щаясь в экране (4К) не занимает места в ОЗУ для программ,  оставляя  для
    буфера ввода все 36К ровно.  Эта программа абсолютно не использует ника-
    ких П/П-мм в ПЗУ и даже стек переносит в экранную область.   Скопировать
    SP-COPY можно "им самим",  но не нужно пытаться что-либо менять в  прог-
    рамме, впрочем вряд ли это у вас получится. Режимов работы всего 3 и всё
    очень просто.  Режим выбирается "стрелками вверх-вниз" и запускается  по
    <ВК>.  Отмена режима - <СТР>.  Последний введенный блок можно удалить  в
    любом режиме, нажав <НР>/<СТР> (одновременно). Скорость вывода общая для
    всех блоков - и устанавливается "стрелками вправо-влево".  Скорость вво-
    да определяется автоматически и запоминается; "автоматически" вычисляет-
    ся и устанавливается соответствующая константа вывода.  Режим  "EXIT"  -
    выход в монитор.
       А теперь рассмотрим какие блоки применялись в некоторых блочных прог-
    раммах "СПЕЦИАЛИСТА",  сделанных в Ленинграде,  на  примере  простейшего
    блочного загрузчика игры с заставкой.  Игра загружается по  сбросу  (это
    наиболее удобно). Первым загружается и сразу запускается маленький стар-
    товый блок (100 байт). Он очищает экран,  выводит надпись "НЕ ВЫКЛЮЧАЙТЕ
    МАГНИТОФОН..." (или по английски - "DO NOT STOP YOUR TAPE NOW...").  Да-
    лее определяется константа чтения (так как пользователь может  не  иметь
    ленинградского МОНИТОРА,  где это делается по сбросу) и управление пере-
    дается программе C453 - загрузка следующего блока с  его  автоматическим
    запуском. Пока всё просто. То есть первый блок на ленте имеет вид:
    
        Нач.адрес
        Кон.адрес
        Вывод надписи
        Опред-е конст.чт.
        JMP 0C453H
        Контр.сумма
    
       В этом блоке контр.сумма не используется, но в последующих блоках она
    имеет значение. Следующий блок - загрузчик всего остального.  Его струк-
    тура:
    
        Нач.адрес
        Кон.адрес
        Вывод текста "GAME IS LOADING"
        Загрузка программы вывода заставки (бл.3)
        Загрузка картинки-заставки         (бл.4)
        CALL программы вывода картинки
        Загрузка блоков игры	       (бл.5)
        JMP игра
        Контр.сумма
    
       Таким образом 2-й блок по загрузке и запуску не отличается от первого
    - так же загружается и автоматически запускается (хоть так как  констан-
    та чтения теперь не важна, этот блок можно для повышения надежности гру-
    зить со скоростью вдвое медленнее).   Вся  дальнейшая  загрузка  осущес-
    твляется под управлением этой программы - загрузчика  (блока  2).    За-
    метьте ! - последующие 3 блока уже не имеют начального и конечного адре-
    сов.  Программа-загрузчик знает их заранее.  Этот загрузчик уже  не  ис-
    пользует П/П-мы BIOS "СПЕЦИАЛИСТА", а имеет свою собственную,  более со-
    вершенную программу ввода с магнитофона, - она осуществляет текущий кон-
    троль качества ввода, подстраивается под скорость записи, проверяет кон-
    тр.суммы и может делать различные "чудеса", типа бегущего счетчика,  по-
    лос по бордюру,  двигающихся блоков и т.п.  Впрочем эти эффекты вовсе не
    являются чудесами, а являются обычным делом для владельцев ленинградско-
    го монитора (где бегущий счетчик адреса и поддержка бордюра входят  пря-
    мо в стандартные п/п-мы ввода/ вывода байта).	Текущий  контроль  ввода
    сразу-же позволяет определить "останов" магнитофона или провал в  записи
    (попробуйте остановить ленту - сразу же  "запищит"  и  замигает  надпись
    "TAPE LOADING ERROR !").  Игру полезно грузить маленькими блоками с кон-
    тр.суммами каждого. Во-первых это позволяет сразу же обнаружить сбой,  а
    во-вторых большое  количество  блочков  загружаемых  по  разным  адресам
    (напр-р: задом наперед) не затрудняя копирование копировщиком,    сильно
    затрудняет работу кракерам, любящим "влезать" в чужие программы.  Естес-
    твенно стартовый адрес игры не должен быть очевидным и при  работе  игра
    должна проверять "флаги",  выставленные загрузчиком,  для сообщения  "об
    отсутствии пиратства".  Немного фантазии и "изменять" вашу программу уже
    мало кто захочет, ибо время потраченное на взлом сравнится с трудоемкос-
    тью создания новой программы.  Естественно если ваша программа защищает-
    ся от копирования,  а не только от изменения,  то загрузчик должен изме-
    нить и формат записи и конечно от копирования защищать  программы  нужно
    значительно "умнее",так как программу защищаемую от копирования,   "кра-
    кают гнусные пираты", с целью получения наживы, а не любители для лично-
    го удовольствия.
       Чтобы сделать описанную выше блочную загрузку игры  можно  воспользо-
    ваться компоновщиком,  а если скорость ввода не меняется то можно  обой-
    тись ленинградским монитором и копировщиком.  Все блоки готовятся  зара-
    нее и записываются на ленту причем первые 2 блока обязательно из  тех-же
    адресов, где они будут работать! Остальные - всё равно.  Эти блоки запи-
    сывают на ленту, причем для блоков 1 и 2 нужно выводить адреса загрузки,
    а для блоков 3,4 и 5 не надо, и даже нельзя.  Иначе весь блок будет счи-
    тан со сдвижкой на 4 байта! кроме того между блоком 4 и блоком 5 необхо-
    дима пауза побольше - т.е длинный пилотон перед блоком 5.  Это необходи-
    мо,  чтобы успела отработать программа копирования в экран цветной  зас-
    тавки.  Тут уж без компоновщика,  одним копировщиком не обойтись  кстати
    копировщик при копировании всегда &quot;считает" и запоминает длину пилотона,
    поэтому если вы будете нажимать <ВК> позже начала пилотона,  то  пилотон
    на копии будет короче, чем на оригинале.  Чтобы облегчить вам разработку
    собственных блочных загрузчиков, рассмотрим простую 4-х блочную програм-
    мку. Проделайте всё сами на компьютере. С помощью редактора и ассемблера
    подготовьте на ленте 4 файла (уже в машинных кодах разумеется).
    
    БЛОК 1: ORG 0
        LXI H,TXT1
        CALL 0C438H
        JMP 0C453H
    TXT1: DB 1FH,'ЗАГРУЖЕН БЛОК 1',0
    
    БЛОК 2: ORG 0
        LXI H,TXT2
        CALL 0C438H
        LXI H,100H
        LXI D,KON3-1 ; конечный адрес блока 3
        MVI A,0FFH   ; подставьте после трансляции
        CALL 0C416H  ; программы блока 3
        JMP 100H
    TXT2: DB 13,10,'ЗАГРУЖЕН БЛОК 2',0
    
    БЛОК 3: ORG 100H
        LXI H,TXT3
        CALL 0C438H
        CALL 0C3F9H
        LXI H,TXT4:
        LHLD 8FE3H
        CALL 0CC6CH ; вывод HL в HEX-виде
        PCHL
    TXT3: DB 13,10,'ЗАГРУЖЕН БЛОК 3',0
    TXT4: DB 13,10,'ЗАГРУЖЕН БЛОК 4 С АДРЕСА: ',0
    KON3:		; это адрес конца блока 3
    
    БЛОК 4: ORG 200H
        LXI H,TXT5
        CALL 0C438H
        JMP OC800H  ; выход в монитор
    TXT5: DB 13,10,'БЛОК 4 ОТРАБОТАЛ !',0
    
       Тут применены все виды загрузки.  При компоновке для блоков 1,2  и  4
    надо указывать их адреса загрузки (т.е "+" в таблице компоновщика),  для
    блока 3 - нет.  Но в блоке 2 должны быть заданы его начальный и конечный
    адреса.  Думаю проделать этот простейший пример сможет каждый.  Применив
    немного фантазии и свои несложные програмки вы можете значительно "укра-
    сить" процесс загрузки имеющихся у вас игр (например:  сделайте  процесс
    загрузки с двойным дублированием блоков или с  выводом  сообщения  после
    ввода очередного блока: "до конца загрузки осталось XX мин.  XX  сек.").
    Советуем также  разобрать  стартовые  блочки-загрузчики,    примененные,
    напр-р в копировщике или других наших блочных программах. Изучив их заг-
    рузчики,  вы сможете "выдрать" надежные п/программы чтения,  а из игр вы
    можете  взять  подпрограмму  ввода  заставки  прямо    в    экран    (по
    синклеровски).  А изучение загрузчиков защищенных от  копирования  прог-
    рамм позволит вам и самим защищать свои программы,  что позволит вам да-
    же продавать ваши программы,  не опасаясь пиратов.  К сожалению  нарисо-
    вать граф.редактором картинку-заставку - невозможно (если вы  не  худож-
    ник). Поэтому выходом здесь может быть использование заставок или спрай-
    тов из программ ZX-SPECTRUM.   Для  этого  служит  программа  В.Ивинских
    "ZX-PICTURE".  Она позволяет  считывать  с  ленты  программы  в  формате
    "СИНКЛЕРА" и использовать графику его программ. Несколько замечаний. Для
    "СПЕЦИАЛИСТА" существует несколько версий BIOS и МОНИТОРОВ  (конечно  ни
    один из этих МОНИТОРОВ нельзя даже сравнивать по качеству  с  ленинград-
    ским).  Все эти программы большей частью совместимы с  BIOS  Волкова  по
    системным п/программам в ПЗУ,  но служебные  ячейки  в  ОЗУ  обычно  ис-
    пользуют по-разному. Например в ленинградском МОНИТОРЕ векторизованы все
    стандартные п/программы, что означает, что любая из них может быть заме-
    нена п/программой пользователя (напр: можно загрузить магн.драйвер,  ко-
    торый заменив стандартные п/п-мы ввода/вывода байта на МГ,  изменит фор-
    мат работы с магнитофоном на MSX (2-х частотн.с побайтовой синхр-ей) или
    напр-р "синклеровский"),  а также в ОЗУ хранятся адреса важных п/п-м са-
    мого монитора (CCP), служебные ячейки RAMDOS и т.д. Именно благодаря та-
    кому "расширению" количества служебных ячеек BIOS,  ленинградский  мони-
    тор и стал таким "гибким" и удобным. Поэтому, чтобы обеспечить совмести-
    мость со всеми используемыми системными программами не  стоит  использо-
    вать для загрузчиков ОЗУ по адресам служебных ячеек (256 байт ниже экра-
    на),  делать блочные программы использующие "нестандартные" входные точ-
    ки разных BIOS-ов, а также "перехватывающие" управление за счет "служеб-
    ных" ячеек.  Конечно эффектно,  когда программа "вышибает" управление  у
    монитора и Вы при попытке загрузить обычный файл директивой "I",   вдруг
    видите на экране разные неожиданные "чудеса". Однако это приведет к неу-
    добству других пользователей,  ведь для "СПЕЦИАЛИСТА" столько-же монито-
    ров, сколько крупных городов в стране.  Поэтому для "трюков" следует ис-
    пользовать лишь стандартные ячейки.  Некоторые из этих стандартных ячеек
    приведены ниже:
    
    8FE3/E4 - при работе п/п-мы C3F9  сюда заносится
    	  адрес начала введенной в ОЗУ программы
    
    8FE7/E8 - адрес начала знакогенератора сдвинутый
    	  вправо  на  3  разряда
    
    8FEC - признак   регистра   РУС/ЛАТ  (8А ИЛИ 3А)
    
    8FEF/F0 - код нажатой клавиши по верхн. Регистру
    
    8FF1/F2 - частота/длительность  звука при работе
    	  станд.подпрограммы вывода звука - C170
    
    8FF6/F7 - ячейка  временного хранения стека (SP)
    
    8FFA/FB - "маска"  при  выводе  на  экран  (XRA)
    
    8FFC - вертикальная координата курсора (0...255)
    
    8FFD - горизонтальн.координата курсора (0...191)
    
    8FFE - константа записи.  Зависит от такта  про-
           цессора. Для 2 МГЦ=28H,  2,5=34H, 4,0=5FH
    
    8FFF - константа ввода.   При  такте 2МГЦ = 3CH.
           Для 2,5 МГЦ = 4CH,  для  4 МГЦ = 80H. Для
           ленинградского монитора  при работе п/п-м
           с поиском с/б это значение не играет роли
           т.к сюда  заносится автоматически опреде-
           ленная константа ввода, но при работе п/п
           ввода  байта, эта ячейка ОЗУ также важна.
    
       И еще один совет.  В последнее время  многие  "специалисты"  повышают
    такт процессора до 2,5-3,5 МГЦ для КР580,  и до 4,0-4,5 МГЦ  при  замене
    процессора на "ZILOG-80". При разработке блочных загрузчиков это необхо-
    димо учитывать,  ибо,  если например ваш загрузчик контролирует время до
    начала очередного блока (естественно,  чтобы "помучить кракера"),  а т.к
    считать время можно только програмно,  то при загрузке на машине с двой-
    ным тактом,  программа подождав вдвое меньшее время будет вынуждена  "у-
    ничтожить" всё ОЗУ,  полагая что "кракер" пытается "ломать вашу защиту".
    Проще всего узнать скорость машины можно "посмотрев"   константу записи,
    которая также инициализируется по сбросу.
    
    
       Этот текст был написан в 1989.  Сейчас он был лишь немного доработан.
    Следует также заметить,  что все,  что здесь описано,  было  разработано
    В.Ивинских еще в 1988 году.  Тем не менее эти материалы могут помочь на-
    чинающим сделать первые шаги в программировании, кого-то  подтолкнут  к
    собственным разработкам (возможно и для "ОРИОНА") поэтому этот  текст  и
    был предложен для планируемого журнала для любителей ОРИОНА В.Леонтьева
    из Ижевска.
    
    	      	      	      barsik, С-Петербург, апрель 1993
    [свернуть]

    А что за метки и почему у меня нет прав их создавать? Метки - это такое окно при открытии темы. Когда я ввёл свои метки, через запятую, как просили, выдалось сообщение, что я не имею прав.

    Вот ещё вложение (добавленное), но почему-то эти файлы не "прилипли" к тем, что были выложены ранее.

    Вложение 60253
    Вложение 60254
    Вложение 60255
    Вложение 60259
    Вложение 60257
    Вложение 60256
    Вложение 60260
    Вложение 60258
    Вложения Вложения
    Последний раз редактировалось barsik; 30.03.2017 в 07:55.

  2. Эти 3 пользователя(ей) поблагодарили barsik за это полезное сообщение:
    HardWareMan (26.03.2017), Pyk (30.03.2017), uart (26.03.2017)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    2,063
    Благодарностей: 366
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Какие макс.ограгичения на размер файлов 7Z и RAR? Из-за Win XP и оттого старыми браузерами не могу воспользоваться файлообменником.
    жмем при добавление вложений
    и смотрим для каких файлов какие ограничения
    для архивов 640кб
    мало того
    теперь ограничение на одного пользователя на все вложения в 20 мегабайт...

    и какие еще проблемы в вин хр?
    ну не с предустановленного же IE в интернете сидеть


    лично я пользуюсь яндекс диском
    Последний раз редактировалось NEO SPECTRUMAN; 25.03.2017 в 23:31.

  5. #3
    Master Аватар для barsik
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    724
    Благодарностей: 200
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN
    жмем при добавление вложений
    и смотрим для каких файлов какие ограничения
    Да, я помнил, что где-то читал, что есть ограничения, но забыл где. Вообще-то по умному сообщать об ограничениях надо тогда, когда я гружу вложение, а не когда-то давно. Разбил один файл на кусочки по 640К и вставил в предыдущее вложение. Поэтому помните, что для правильной распаковки, надо считать все файлы многотомного архива.

    Кстати никто не кинет ссылку на архиватор 7Z для Win XP, такой чтобы умел делать многотомные, а не однофайловые архивы. а то у меня древний 7Z, не умеющий это. А последней версии не годится, т.к не работает в Win XP. Надо примерно 3-х летней давности.

    Цитата Сообщение от NEO SPECTRUMAN
    и какие еще проблемы в Win XP?
    Проблемы такие. С Win XP не работают новейшие браузеры. Поэтому использую браузеры 3-4 летней давности. Из последних работает лишь Firefox Yandex. Пользуюсь также Opera и Manxthon, не последними, а на несколько лет устаревшими. Но новые браузеры мне не нравятся. Слишком большие по объёму кода и захватывают все ресурсы компьютера. Поэтому часто пользуюсь самой древней Mozil-ой какую смог найти (2005). Она не тормозит. Можно загрузить пару эмуляторов, еще несколько жрущих ресурсы программ и без проблем ходить по сети. И никто никого не тормозит. Недостаток, что накрученные сайты не видит (надпись Готово, но экран пуст). А современные браузеры, дико тормозят одновременно загруженный эмулятор, а часто просто виснут (приходится убивать процесс).

    Проблема с Win XP в том, что мало того, что обновлений она зараза закачала в 3 раза больше, чем был исходный размер в 1.5 Гб, причём от этого улучшений нет, - на некоторых сайтах ни хрена не видно. Хуже то, что с теми браузерами, что совместимы с XP, например, не работает Yandex.disk, да и пара других файлообменников, куда я совался.
    Последний раз редактировалось barsik; 30.03.2017 в 08:04.

  6. #4
    Guru Аватар для NEO SPECTRUMAN
    Регистрация
    22.05.2011
    Адрес
    Дзержинск
    Сообщений
    2,063
    Благодарностей: 366
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А что за метки и почему у меня нет прав их создавать?

  7. #5
    Veteran Аватар для Black Cat / Era CG
    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    1,026
    Благодарностей: 389
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Метки (тэги) - удобная штука (особенно учитывая странную "работу" поиска), но по сути отключенная на форуме.
    https://ru.wikipedia.org/wiki/Тег_(метаданные)
    Seamos realistas y hagamos lo imposible!
    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

  8. #6
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    Павлодар
    Сообщений
    2,669
    Благодарностей: 1340
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    barsik, у меня надо было спросить:
    Код:
    {===========================================================================}
    {Загрузчик файлов с ленты разных форматов Специалиста                       }
    {<ADR_BEG>,<ADR_END>,<CHECK_SUM>,<TEXT_SIZE> - 2 байта, младший первый      }
    {<ASCII_NAME>, <BIN_CODE> - N байт массив                                   }
    {<CHECK_SUM> накрывает только <BIN_CODE>, причем у ТХТ и MICRON она своя    }
    {---------------------------------------------------------------------------}
    {Формат бэйсика с именем:                                                   }
    {0E6H,0D4H,0D4H,<ASCII_NAME>,00H                                            }
    {0E6H,0D3H,0D3H,0D3H,<BIN_CODE>,00H,00H,00H,<CHECK_SUM>                     }
    {---------------------------------------------------------------------------}
    {Формат бэйсика MICRON (у блока данных раккорд пониженной частоты):         }
    {0E6H,0D3H,0D3H,0D3H,0D3H,<ASCII_NAME>,00H,00H,00H                          }
    {0E6H,0D3H,0D3H,0D3H,<BIN_CODE>,00H,00H,00H,<CHECK_SUM>                     }
    {---------------------------------------------------------------------------}
    {Формат монитора с именем (и без него, имя 16 байт):                        }
    {0E6H,0D9H,0D9H,0D9H,<ASCII_NAME>,00H                                       }
    {0E6H,<ADR_BEG>,<ADR_END>,<BIN_CODE>,<CHECK_SUM>                            }
    {---------------------------------------------------------------------------}
    {Формат текста с именем:                                                    }
    {0E6H,0E6H,0E6H,0E6H,0E6H,<ASCII_NAME>,00H                                  }
    {0E6H,<TEXT_SIZE>,<BIN_CODE>,0FFH,<CHECK_SUM>                               }
    {===========================================================================}
    А из "по сбросу" окромя распространенных, вроде Lode Runner, помню кооперативные, которые писали "580 SUPER PROGRAM" тайлами будущей картинки во время загрузки и потом дозакрашивали экран. Правда. потому как символы рисовались 3х5 мы почему-то думали что это "Z80 SUPER PROGRAM", пока тут на форуме я не узнал о SP580.

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

    Цитата Сообщение от barsik Посмотреть сообщение
    У меня есть инсталяторы защищённых программ.

    Хотел приложить WAV файлы коммерчески защищённых игр СПЕЦИАЛИСТА. Но ничего не получилось - файлы передал, даже несколько раз, но не вложилось. Какие макс.ограничения на размер файлов 7Z и RAR? Из-за Win XP и оттого старыми браузерами не могу воспользоваться файлообменником. Лучше бы отменили ограничение на размер файла, а сделали бы так, чтобы очень большие файлы хранились бы во вложениях лишь сутки. Кто не успел скачать, тот опоздал...
    Охотно предоставлю свой личный FTP по такое дело, место и время ограничено диском в 3TB
    Цитата Сообщение от barsik Посмотреть сообщение
    Какой формат WAV (частота дискретизации, число бит) выгодно использовать, чтобы и размер был минимальным и надёжность ввода не падала?
    Если мафон стерео, то лучше 44100/16/2, если моно то 44100/16/1. Почему для стерео следует оставлять 2 канала можно посмотреть здесь. В моем случае был доступен только 48000/16/2, что тоже нормально.
    Последний раз редактировалось HardWareMan; 26.03.2017 в 07:46.

  9. Этот пользователь поблагодарил HardWareMan за это полезное сообщение:
    barsik (26.03.2017)

  10. #7
    Master Аватар для barsik
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    724
    Благодарностей: 200
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan
    помню кооперативные, которые писали "580 SUPER PROGRAM"
    Программы КООП SP-580 так просто не считать. Надо сделать переделку. Поставить их монитор на F800, а не на C800. Без этого не работают многие их программы, в частности их крутой бейсик.

    Но мы выкрутились, поставив диоды на выходах ИД7, чтобы чип селект для F800...F8FF объединялся с чип-селектом C800. Тогда вызовы на стандартные входы F8xx попадают на C8xx. А т.к в ленинградском мониторе все важные подпрограммы векторизованы, то просто загружался драйвер MSX-формата КООП SP-580 и "вуа-ля" - все их программы грузятся и иногда даже работают на стандартном СПЕЦИАЛИСТЕ. Дешифратор ИД7 и без того имелся на область F800, что даёт 8 чип-селектов с шагом 100, чтобы подключать принтер и эл.диск. Ведь клавиатура в СПЕЦ-ТЕ изначально грамотно адресуется на FF00.

    Цитата Сообщение от HardWareMan
    Если магнитофон стерео, то лучше 44100/16/2, если моно то 44100/16/1
    Ну конечно... Вы указали самые лучшие параметры оцифровки звука. А вопрос был как минимизировать.

    Иногда я писал 44.100 на 8 бит моно. Зачем 16 бит, если и одно-битовой записи хватило бы. Это же цифровой сигнал, он или есть или нет. К сожалению, 8 бит для записи в моём компьютере - минимум. Обычно писал 16 или 22 КГЦ, 8 бит моно. Но сейчас похоже в эмулятор B2M не читаются, ни записи на 16 КГЦ, ни даже на 22 КГЦ. А при выводе на реал читалось. К сожалению, записи СПЕЦИАЛИСТА и ОРИОНА я читал напрямую с МГ, а вот записи ZX-Spectrum оцифровывал, пропуская через его же узел ввода (не родной, что на плате Зона-87, а чуть лучший с гистерезисом на УД6, что описан в МК 02.1988). Это здорово улучшает считывание и позволяет понизить частоту дискретизации. Но как я понял для считывания WAV-файла в эмулятор требования выше, чем для реального компа с МГ-адаптером на СА3, УД6 или КМОП 564. Надо попробовать "поиграть" уровнями записей. Т.е загрузить в программу Windows "Звукозапись" и понизить уровень сигнала вдвое или втрое. Может улучшит.

    Записи писались в 80-е на стерео "ЯУЗА-220" (это лучшее, что было в стране в 80-е), японская механника, сендастовые головки, настроенный мной (с помощью генератора пачек и осцилографа) абсолютно линейный сквозной канал 20...20.000. Проблем с МГ-записями никогда не было. Но, лет 15 назад "ЯУЗА" стала непригодной. Т.к в тормозных колодках (это две плоскости, трущиеся друг о друга для подтормаживания подающего узла) высохла смазка. Отчего подающий узел стал подтормаживаться очень сильно. А как известно, если сильное подтормаживание, то МГ-лента "зажёвывается". И исправить никак, не разобрать японскую механику. Поэтому пришлось считывать кассеты на разных отечественных моно аппаратах - на "Весне-305" и др, но в основном на "Легенда-404", хотя и с новой МГ-головкой (запасся отличными венгерскими головками в 80-е, сделанными по японской технологии). Но проблема пассиков. Родные пассики, естественно, сгнили, а заменить нечем. Пришлось ставить бытовые резинки. От этого звук "подплывает". Но компьютерные МГ-записи читались.

    Есть ещё импортная мыльница HYUNDAI Radio cassette recorder, абсолютно не запиленная. Специально её купил в 2000, когда "ЯУЗА" сдохла, чтобы оцифровывать компьютерные МГ-записи. Причём специально выбрал МОНО, хотя стерео стоил лишь на копейки дороже. На МОНО всегда записи программ получались лучше. Отличное качество для муз.записей, но компьютерные записи вообще не читает и не пишет. В чём дело так и не понял. Сначала подумал "возбуд" в канале, оттого и не работает "цифра". Смотрел осцилографом - нет, всё чисто. Бился, как мог, но ничего не добился. И дело не в АРУ при записи, т.к чужие записи тоже не читаются. Возможно какая-то чересчур сильная отриц.обратная связь для выравнивания характеристики. Так и не считал и не записал на этой мыльнице ни байта цифровых записей (т.е деньги были потрачены впустую).

    Есть куча лентопротягов. Есть от муз центра (типа "Мелодия-102") отличный венгерский лентопротяг. Есть три "Весны" (305,202,205), "Томь-305", магнитола "Радиотехника-МЛ" - на всех весновский лентопротяг. Есть даже убогий лентопротяг "Спутник". Но для них всех сгнили пассики. Есть японский "Walkman" плеер (пассик хоть и японский, тоже сгнил).

    Ещё есть 4 новых импортных лентопротяга уже с целыми пассиками (точнее 3, один двойничок, один мотор на двоих). Специально снял с подаренных дохлых аппаратов. И есть крошечная платка узла воспроизведения на 157УЛ1А. Подключаешь её к головке любого лентопротяга и получается плеер.
    Последний раз редактировалось barsik; 26.03.2017 в 12:11.

  11. #8
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    Павлодар
    Сообщений
    2,669
    Благодарностей: 1340
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Ну конечно... Вы указали самые лучшие параметры оцифровки звука. А вопрос был как минимизировать.
    Ну да, потому что это увы стандарт для дешевых звуковух и, в частности, плееров с USB. Понятно, что жуткий оверкил, но с местом то проблем нет - я предоставлю. Все упрется в ваш интернет, у меня 120Мбит безлимита. Но все равно, лучше считать с 44к. Если согласны - пишите, я вышлю логин и пароль. То, что будете выгружать на FTP будет доступно через http.

  12. #9
    Master Аватар для barsik
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    724
    Благодарностей: 200
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan
    с местом проблем нет - я предоставлю. Все упрётся в ваш интернет, у меня 120 Мбит/сек и безлимит
    У меня скорость всего 3.6 мбит/сек, а ранее вообще было 0.5 мбит/сек и то вполне хватало. Видео-чаты и скачивание DVD-фильмов мне не нужно. В начале 90-х мне хватало 0.0024 мбит/сек, чтобы посещать BBS.

    Так что большие WAV-файлы выгружаются долго. Но вопрос не в этом. Передавать то нечего.

    Есть коллекция древних игр из 1990 (~90 минут звона) и программ для СПЕЦИАЛИСТА в WAV-формате, где-то даже, возможно, есть кассеты, с которых это было считано. Но зачем их передавать. Уверен, что 95% этого и так есть у всех. Кроме того, они у меня есть и в DAT-виде на дискетах ОРИОНА в формате 800К (КНГМД на ВГ93) и в формате 560К (РК-КНГМД без ВГ93). Но пока они недоступны. Т.к на этом компе нет флопа. По крайней мере то что в формате 800К можно считать, т.к есть древний комп, где есть возможность подключить флоповод, но это хлопотно, долго и лениво делать и, главное, жаль тратить на это время, т.к не вижу от этого пользы.

    В WAV-формате стОит сохранять только защищённые от копирования МГ-программы. Их можно сохранить только в виде WAV-файла или в виде слепка памяти из эмулятора (тогда не будет заставки при вводе, что делает бессмысленным WAV-формат, если код игры уже есть в виде кодов). Т.е нужен эмулятор, который бы надёжно читал WAV-формат с низкой частотой дискретизации. Запись с низкой частотой дискретизации можно попробовать конвертировать в формат 44.100/8 бит и пропустить через какой-нибудь программный фильтр (м.быть ВЧ и НЧ, чтобы убрать короткие помехи). Может быть поможет.

    В TAPE-защищённом виде есть только игры SP-580, конвертированные для стандартного СПЕЦИАЛИСТА - из приличных это Тутанхамон и Jet-Set Willy и ещё несколько совсем не стоящих упоминания игр, что были в пакете SP-580 летом 1988 года. Ещё есть Manic Miner. Вот его, возможно, у Вас нет. По крайней мере в оригинальной версии, т.е в том виде, как он был адаптирован в 1989 для СПЕЦИАЛИСТА. Эта версия распространялась мной только в кассетной защите от копирования, хотя несколько людей сообщили мне в 1990, что успешно "кракнули". В начале 1991 Manic-Miner был адаптирован для ОРИОНА. У Вас возможно есть обратная адаптация его от ОРИОНА (версия для ОРИОНА ушла в 1992 без защиты, т.к защищать дискеты я вначале не умел). И предполагаю, что кто-то мог адаптировать его для СПЕЦИАЛИСТА обратно, т.е из версии для ОРИОНА в версию для СПЕЦИАЛИСТА.

    Jet-Set я уже выложил (есть ещё 3 дубля). Сообщите, как успехи с загрузкой. Ещё есть SP-Copy СПЕЦИАЛИСТА, тоже в защите от копирования (соответственно, есть адаптация и для ОРИОНА). Кстати, интересно, кто-нибудь на ОРИОНЕ кракнул SP-Copy? Её кракнуть сложно, т.к работает в экране, использует недокумментированные команды, в ходе работы модифицирует код и проверяет не было ли крака.

    Защита от копирования по сути заключалась в том, что вторичный загрузчик грузит код программы уже не в двухфазной кодировке, а в кодировке MSX. Которая, несмотря на уверения некоторых, - менее надёжна и очень быстро дохнет на кассетах, не держит времени. Хотя пищит для уха приятнее, звук мызыкальнее, чем шипение двухфазового формата.

    Предоставьте мне полный список программ СПЕЦИАЛИСТА и я посмотрю, что есть у меня и нет в списке имеющегося, если таковые вообще найдутся.

    Поэтому я и написал, что интерес представляет только монитор, RAMDOS (что требует доп.железа, хотя легко адаптируется, если в ЭВМ есть много ОЗУ), МГ-нортон для RAMDOS, редактор SCREEN (который тоже был адаптирован для ОРИОНА, хотя там он раздулся до 3 кб, в оригинале ровно 2), и, если это кого-то интересует, - то CP/M для обычного СПЕЦИАЛИСТА (грузится на D000...F7FF) с драйверами для Z80 (нет проблем перетранслировать и для КР580). Есть схема замены кварца 8 МГЦ на 10 МГЦ (расход 1 доп.ИМС), а также схема установки Z80 в СПЕЦИАЛИСТ. Эта схема, правда много позднее, появилась у Афанасьева, адаптированная, очевидно от ОРИОНА, т.к одновременно появился и второй вариант схемы Z80, что был уже только на ОРИОНЕ. Исходная схема СПЕЦИАЛИСТА - это с RC-цепочкой, где ёмкость 270 пф.
    Последний раз редактировалось barsik; 30.03.2017 в 08:37.

  13. Эти 2 пользователя(ей) поблагодарили barsik за это полезное сообщение:
    HardWareMan (26.03.2017), Pyk (30.03.2017)

  14. #10
    Пользователь Специалиста Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    2,880
    Благодарностей: 636
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я хотел спросить, а что значит "СПЕЦИАЛИСТ с нормальным ленинградским монитором". Спросил потому что хочу знать может я пользуюсь не нормальным...
    http://nick-name.ru/forum/Fifan.gif
    Сайт про ПК "Специалист" и его клоны http://www.spetsialist-mx.ru/
    Web site about computer Spetsialist and its clones http://www.spetsialist-mx.ru/ (yet only in Russian)

Страница 1 из 6 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. PS/2 адаптер клавиатуры для Специалиста
    от fifan в разделе Специалист
    Ответов: 220
    Последнее: 24.03.2017, 20:53
  2. Ответов: 143
    Последнее: 02.01.2017, 20:51
  3. Ответов: 46
    Последнее: 15.03.2014, 15:56
  4. Есть 3 кассеты для Специалиста...
    от Bolt в разделе Специалист
    Ответов: 60
    Последнее: 27.10.2013, 13:24
  5. Изучается спрос на плату для Специалиста
    от Павел Рябцов в разделе Барахолка (архив)
    Ответов: 109
    Последнее: 30.11.2010, 10:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •