Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Ищу кассеты (wav) от компьютера Поиск-1
RSS

Ищу кассеты (wav) от компьютера Поиск-1

<<Назад  Вперед>> Страницы: 1 *
Печать
 
DrPass
Advanced Member


Откуда: Донецк
Всего сообщений: 3566
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
17 апр. 2005
Tronix написал:
[q]
Какой у него формат, схож ли с чем-то из отечественных или импортных ПК?
[/q]
Стандартный IBMовский формат (контроллер магнитофона был и в IBM PC в свое время). Поищи по форуму, тут professor_lampochkin как раз этим занимался, он и утилитку сделал для конвертирования.
UFO
Гость


Всего сообщений: 5443
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
12 дек. 2006
Tronix
Advanced Member


Откуда: Москва
Всего сообщений: 1749
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2008
Спасибо, ознакомился. Но...
Так и не нашел каких-либо образов в WAV файле кассет именно от ПК "Поиск" (те ссылки что были, умерли), кроме как на сайте высокоуважаемого господина Москаленко... Если бы кто перевыложил те программы, что упоминались там( в теме). Интересует именно WAV файл, а не конвертированные файлы... И именно от ПК Поиск, а не от МС 21xx как там она.

Просто хочу написать программу, которая конвертирует из WAV файла - бинарный файл. Не в реальном времени, как у Профессора_Лампочкина (через LTP), а мнгновенно. На входе WAV - на выходе то, что есть в этом WAV; быстро.

Вопрос в основном такой - как считается CRC после 256-байтного блока? Остальное уже вроде пашет - IBM casete type, Poisk, MC 12xx (как она там) читается, но нужно больше образцов в WAV.

В последующем не сложно сделать и обратное преобразование, чтоб запиливать говнокод на MP3 плеер.
Profesor_lampochkin
Junior Member


Всего сообщений: 103
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 янв. 2012
Tronix, в течении недели выложу wav-ы, всех кассет. Только они далеко не идеальны, при чтении приходилось ой как поморочить голову. Поэтому, считаю, что более целесообразно записать wav-ы из .cas файлов. При этом получится идеальный сигнал без помех, детонации и т.д. Перегнать .cas в wav-ы можно моими утилитками. Если есть ПК "ПОИСК-1", можно утилитами Москаленко.

Алгоритм подсчета CRC для меня так и остался загадкой. Скажу лишь, что при чтении кассеты, байты CRC в ПК "ПОИСК-1" просто игнорируются. "Ошибка чтения" возникает только при превышении максимальной длительности между перепадами сигнала.

Для подсчета CRC при зписи на кассету я просто использовал выдранный код из исходника БИОС ПК "ПОИСК-1".

По поводу CRC можете спросить SoftCat. Он работал над проблемой чтения/записи кассет "Электроника МС 1502". Помнится, он тоже разбирался с CRC.
DrPass
Advanced Member


Откуда: Донецк
Всего сообщений: 3566
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
17 апр. 2005
Profesor_lampochkin написал:
[q]
Алгоритм подсчета CRC для меня так и остался загадкой
[/q]
Когда у меня возник вопрос, как "Поиск" считает CRC ПЗУ картриджей, я на эту тему поковырял BIOS. Он просто складывает их побайтно, в сумме должен получиться ноль. Подозреваю, что при записи на магнитофон они ничего иного изобретать не стали :)
Tronix
Advanced Member


Откуда: Москва
Всего сообщений: 1749
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2008
Не, там как выяснилось, обычный CRC-16 с полиномом 0x1201h, начальное значение = 0xFFFFh, после подсчета CRC = CRC xor 0xFFFFh.
Profesor_lampochkin
Junior Member


Всего сообщений: 103
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
7 янв. 2012
Вот, собственно, та подпрограмма :

CRC_GEN PROC    NEAR
; ГЕНЕРИРУЕТ CRC ДЛЯ ЗАПИСЫВАЕМОГО БИТА
; CRC ИСПОЛЬЗУЕТСЯ ДЛЯ ОБНАРУЖЕНИЯ ОШИБОК ЧТЕНИЯ
; В CY ПЕРЕДАЕТСЯ БИТ НА КОТОРЫЙ ГЕНЕРИРУЕТСЯ CRC
; МОДИФИЦИРУЕТ AX И ФЛАГИ
;-------------------------------------------------------------------------
        MOV     AX,CRC_REG
                                        ;ПОСЛЕДУЮЩИЕ ИНСТРУКЦИИ
                                        ;УСТАНАВЛИВАЮТ ФЛАГ ФЛАГ ПЕРЕПОЛНЕНИЯ,
                                        ;ЕСЛИ CY И СТАРШИЙ БИТ CRC НЕ РАВНЫ
        RCR     AX,1
        RCL     AX,1
        CLC                             ;ОБНУЛИТЬ CY
        JNO     W32                     ;ПЕРЕЙТИ, ЕСЛИ ПЕРЕПОНЕНИЕ
                                        ;ЕСЛИ БИТ ДАННЫХ XOR С 15 РАЗРЯДОМ
                                        ;CRC РЕГИСТРА = 1,
        XOR     AX,0810H                ;ТО ВЫПОЛНИТЬ XOR CRC РЕГИСТРА С
                                        ;0810H
        STC                             ;УСТАНОВИТЬ CY
W32:
        RCL     AX,1                    ;СДВИНУТЬ CY (БИТ ДАННЫХ)
                                        ;В CRC РЕГИСТР
        MOV     CRC_REG,AX              ;СОХРАНИТЬ CRC
        RET                             ;ЗАКОНЧИТЬ
CRC_GEN ENDP

Вызывается отсюда:

;--------------------------------------------------------------------------
WRITE_BYTE  PROC  NEAR
; ЗАПИСЬ БАЙТА НА КАССЕТУ
; ББАЙТ ДЛЯ ЗАПИСИ ПЕРЕДАЕТСЯ В РЕГИСТРЕ AL.
;---------------------------------------------------------------------------
       PUSH    CX                      ;СОХРАНИТЬ CX,AX
       PUSH    AX
  MOV  CH,AL      ;CH >--- ЗАПИСЫВАЕМЫЙ БАЙТ
          ;(СТАРШИЙ БИТ ПИШЕТСЯ ПЕРВЫМ)
  MOV  CL,8      ;ДЛЯ 8 БИТ ДАННЫХ В БАЙТЕ.
          ;ПРИ ЧТЕНИИ ДВА ПЕРЕПАДА СИГНАЛА
W27:          ;ОПРЕДЕЛЯЮТ ОДИН БИТ
  RCL  CH,1      ;CY >--- СТАРШИЙ БИТ
       PUSHF                           ;СОНРАНИТЬ ФЛАГИ
          ;ДЛЯ ЗАПИСИ БИТ ПЕРЕДАЕТСЯ В CY
  CALL  WRITE_BIT    ;ЗАПИСАТЬ БИТ ДАННЫХ
       POPF                            ;ВОССТАНОВИТЬ CY ДЛЯ ВЫЧИСЛЕНИЯ CRC
  CALL  CRC_GEN                  ;ВЫЧИСЛИТЬ CRC ДЛЯ ЗАПИСЫВАЕМОГО БИТА
  DEC  CL      ;DEC СЧЕТЧИК БИТ
  JNZ  W27      ;ПОВТОРИТЬ, ЕСЛИ НЕ ВСЕ БИТЫ ЗАПИСАНЫ
       POP     AX                      ;ВОССТАНОВИТЬ AX,CX
       POP     CX
  RET        ;ЗАКОНЧИТЬ ЗАПИСЬ БАЙТА
WRITE_BYTE  ENDP
;--------------------------------------------------------------------------

Два байта CRC записываются после каждого блока данных.


DrPass, помоему тут не сложение а шаманство с бубном :)
<<Назад  Вперед>> Страницы: 1 *
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Ищу кассеты (wav) от компьютера Поиск-1
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS