Главная | Файловый архив | Музей | Статьи и FAQ | Журнал "Downgrade" | Total Hardware'99 | Ссылки | Авторам | База данных | Конкурсы

Список прикрепленных файлов

ПОЛИГОН ПРИЗРАКОВ

Железные призраки прошлого - всё о старых компьютерах

Информация

Конкурс статей 2017 года завершен! Кто победил, можно узнать здесь.

ВНИМАНИЕ! При получении на e-mail оповещения о новом личном сообщении не отвечайте, пожалуйста, почтой. Воспользуйтесь личными сообщениями, иначе адресат не получит ваше послание.

ПОЛИГОН ПРИЗРАКОВ »   Список прикрепленных файлов
Сортировать по , вывести по
файлов на страницу тем на странице
Страницы: 1 2 3 4 5 ... 72 73 74 75 76 77 78 79 80 81
Имя файлаТекст сообщенияТемаРаздел
RWCAS.ASM

Размер: 5093, скачан: 111
Тип: application/octet-stream
Дата: 1 мая 2014 23:05

SoftCat написал:
[q]
Может быть для текстовых файлов на Бейсике длину надо как-то корректировать?
[/q]
Во вложении – процедуры чтения/записи файлов на кассету от «Поиска-1». Там, помимо всего прочего, есть описание кассетного заголовка. Особо хотел бы обратить внимание на примечание:
[q]
«Длина записанной в файл информации, значения сегмента и смещения адреса (поля заголовка A-F) запоминаются в заголовке только для файлов типов 01, 80 и А0
[/q]
01 – это исполнимый бинарник; 80 – сжатая Бейсик-прога; A0 – защищенная Бейсик-прога. А прога в виде ASCII текста имеет тип 40. То есть, по идее, для него длина должна браться не из заголовка, а каким-то другим образом. Теперь понятно, почему wav2cas глючит, причем именно на этом типе данных.

Кстати, неплохо бы узнать, как в этом случае находится длина. Первое, что мне пришло в голову – это следующий алгоритм: считывается с ленты 256-байтный блок, в нем ищется какой-то маркер конца файла (рискну предположить, что это четыре идущие подряд нулевых байта). Если маркер найден, значит, файл считан до конца. Если нет – загрузить с ленты следующие 256 байт и повторить поиск, и т. д.
Хотя об этом Бейсик было бы хорошо спросить: можно попробовать выловить и дизассемблировать процедуры работы с кассетными файлами. Ловить можно, например, по обращению к INT 15.


SoftCat написал:
[q]
А Вы как учитываете длину файла, указанную в заголовке?
[/q]
Я – никак. Назначение моего обработчика кассетного прерывания – это тупо считать или записать блок данных с ленты или на ленту. А уж сколько именно байтов в этом блоке использовать, решает вызывающая этот обработчик прога. В данном случае – Бейсик, т. к. других прог для работы с кассетами IBM PC (именно PC/PCjr, а не «Поиск-1») я что-то не видел.


Кассетный интерфейс СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
basic.zip

Размер: 25926, скачан: 119
Тип: application/x-zip-compressed
Дата: 1 мая 2014 14:17

uav1606 написал:
[q]
Так... Продолжаем эксперименты. Сохранил файл с ключом "A" после SAVE, скормил wav2cas, получился CAS-файл с текстом:

$10 PRINT "Hello

Всё. А должно быть ещё "..., world" и вторая строчка "20 goto 10".

WAV во вложении.
[/q]

Я считал заголовок файла hellowld3.wav. Оказывается длина файла равна 10h = 16 байт (это меньше фактической длины). Может быть для текстовых файлов на Бейсике длину надо как-то корректировать?

Kurill_GANJOU написал:
[q]
А вот записанный вечером hellowld3.wav считался без проблем.
[/q]

А Вы как учитываете длину файла, указанную в заголовке?

Во вложении Кассетный Бейсик МС1502.
Кассетный интерфейс СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
3C509.COM

Размер: 8143, скачан: 111
Тип: application/x-msdownload
Дата: 29 апреля 2014 13:53
Появилась у меня сетевушку ISA-16 3C509B:

http://habrastorage.org/files/...24f281.jpg

Эту карточку нужно вставить в ISA-16 материнку, запустить программу 3C5X9CFG.EXE (гуглится по названию). Дальше необходимо зайти в настройки, выставить подходящее для XT IRQ. Я выбрал 7, исходя из того, что 3 и 4 занято под COM-порты, 5 - для XT IDE или саунд-бластера. А 7 - свободно. Там же можно выбрать порт, я оставил 0x300h, который по умолчанию. Дальше необходимо отключить PnP, можно еще поставить оптимизацию для DOS Client (вместо Windows по умолчанию). Все, сохраняем настройки, выдергиваем карту из ISA-16 матери и вставляем ее в XT-материнку.

Для нее есть модифицированный для 8088 пакетный драйвер: на форуме Vintage-Computer.com
Единственное, там автор видимо забыл заремить лишний JMP send_pkt_6 в этом коде:
[q]
;start 8086 code
send_8086:
lodsw
out dx,ax
loop send_8086
;end 8086 code

jmp short send_pkt_6
;send_pkt_7:
; .386
; shr cx,2 ;already rounded up.
; rep outsd ;output 32 bits at a time.
; .286
send_pkt_6:
[/q]


Мелочь конечно, но с другой стороны на XT любая лишняя команда трудозатратна. А джамп нифига не пару циклов занимает, а около 10-11 (не помню точно). Вообщем заремил, пересобрал. Прикладываю на всякий случай в конце сообщения.

Запускается пакетный драйвер командой 3C905.COM 0x60, где 0x60 - обслуживающее прерывание.

Дальше берется mTCP, там есть DHCP-клиент, для авто-получения IP-адреса, команды PING, TELNET и др. По TELNET посмотрел текстовые звездные войны (telnet:towel.blinkenlights.nl)


здесь запускается пакетный драйвер, после него DHCP-клиент, который ждет получения IP-адреса.


IP-адрес получен.

После чего можно настроить и запустить httpserv:


И на большом брате заходим на веб-сервер:


PS: Жаль я сижу вообще за NAT'ом, поэтому проблематично прокинуть во внешний мир сервер. А так было бы прикольно его в инет выставить :)
Поднял сеть на XT на 3c509b ISA-16 СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
I15_0426.ZIP

Размер: 24401, скачан: 110
Тип: application/x-zip-compressed
Дата: 26 апреля 2014 15:27
ВНИМАНИЕ!
Исправлен баг с неверной длиной блока при чтении. Желающим протестировать просьба скачать обновлённый вариант.
Кассетный интерфейс СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
HELLOWLD.ZIP

Размер: 419, скачан: 102
Тип: application/zip
Дата: 25 апреля 2014 23:20

uav1606 написал:
[q]
К сожалению, ни один из них получившийся CAS-файл не смог преобразовать. Или я что-то не так делаю?
[/q]
Сегодня утром разобрался, в чем дело с Бейсиком. Записал hellowld2.wav от uav1606 на кассету и пробовал загрузить в Бейсик. Моей программой считался только заголовок, после загрузки блока данных Бейсик выдал «Out of memory». А вот записанный вечером hellowld3.wav считался без проблем. Длина блока, что ли, у меня неверно вычисляется, причем именно для сжатого формата?.. Зато hellowld2.wav успешно загрузился с ленты драйвером Лампочкина. Там оказались две строки:
[q]
10 PRINT "Hello, world"
20 GOTO 10
[/q]
Результат сохранил на диск командой SAVE. Потом в hex-редакторе сравнил созданное SAVE’ом и wav2cas’ом. Тут вот, оказывается, в чем дело:

При конвертации wav --> cas теряется тип данных в заголовке (тип 80H для сжатой бейсик-программы). Значит, Бейсик (или конвертер) такой *.cas загрузит с диска как простой текст, но не сможет разобрать, что там написано. В программе, сохраненной на диск лично Бейсиком, признак сжатого формата находится в самом начале файла и имеет значение FFH. В исходнике READBAS нашел строки:
[q]
100 OPEN FI$ AS 1 LEN=1: FIELD 1, 1 AS X$
110 OPEN F2$ FOR OUTPUT AS #2: GET 1
120 IF ASC(X$) <>255 THEN PRINT "NOT A BASIC PROGRAM SAVED IN BINARY":END
[/q]
Думаю, понятно, что это такое.
Значит, если в начало cas-файла со сжатой бейсик-прогой дописать FFH, то в таком виде (на один байт длиннее) *.cas уже может быть преобразован конвертером типа RB58 или загружен прямо в Бейсик.

Tronix написал:
[q]
Ну у меня там в проге какой-то глюк вроде на тему размера был, щаз уже не помню точно, ибо год назад писал. Возможно проявляется только на таких маленьких файлах (< 512 байт)...
[/q]
Вот Tronix как раз здесь не виноват!!! Это у мелкомягких-айбиэмовцев, по ходу, стандарт такой. Блок данных на кассете не соответствует аналогичному файлу на диске. Ну, как бинарь на кассете и ДОСовский com-файл – это не одно и то же...
Вот у меня при чтении упакованных данных точно глюк! Кому не лень, посмотрите исходник, пожалуйста.

uav1606 написал:
[q]
Так... Продолжаем эксперименты. Сохранил файл с ключом "A" после SAVE, скормил wav2cas, получился CAS-файл с текстом:

$10 PRINT "Hello

Всё. А должно быть ещё "..., world" и вторая строчка "20 goto 10".
[/q]
Моей прогой hellowld3.wav с ленты загрузился успешно (см. выше). Программой Лампочкина, впрочем, тоже. A вот wav2cas в данном случае действительно дивно глюкнул, неверно определив длину.

Tronix написал:
[q]
Видно и так, что все работает и эксперимент с LPT-портом прошел успешно.
[/q]
Пока у меня успешно заработала только запись. И то со второй попытки. Чтение же у меня пока отлажено наполовину. Что-то у нас с Tronix'ом взаимно обратные ошибки - у него неверно обрабатываются тексты на Бейсике в открытом виде, а у меня - в упакованном...

Во вложении:
HELLOWLD.BAS - файл, сохраненный командой SAVE после загрузки в Бейсик hellowld2.wav с ленты;
HELLO.CAS - после обработки hellowld2.wav wav2cas’ом. Не преобразовывается в текст и не грузится в Бейсик (аналогичен hellowld2.cas у uav1606 во вложении);
HELLOWLD.CAS - получился из HELLO.CAS дописыванием FFH в начало.

Хотя HELLOWLD.BAS и HELLOWLD.CAS отличаются концовкой (SAVE добавил еще два байта в конец), конвертируются и грузятся они совершенно одинаково.

Кассетный интерфейс СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
hellowld3.wav

Размер: 373780, скачан: 110
Тип: audio/wav
Дата: 25 апреля 2014 19:59
Так... Продолжаем эксперименты. Сохранил файл с ключом "A" после SAVE, скормил wav2cas, получился CAS-файл с текстом:

$10 PRINT "Hello

Всё. А должно быть ещё "..., world" и вторая строчка "20 goto 10".

WAV во вложении.
Кассетный интерфейс СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
SCHOOL19.ZIP

Размер: 1265351, скачан: 147
Тип: application/zip
Дата: 24 апреля 2014 23:54
Во вложении образы дискет, которые я сделал десять лет назад, «поднимая» кабинет информатики в одной из школ своего города. Между делом подключил поисковский дисковод к Целерону и под ДОСом снял дампы. Все дискеты шли с завода в комплекте с компьютерным классом.
Две дискеты - системные. На них драйверы адаптера локальной сети, интерфейсной платы, принтера, электронмашевский Бейсик и кастрированный Турбо Поскаль. Обратите внимание: там ОС - MDOS POISK 3.3 – пропатченная версия МДОС-1820 (Малой Дисковой Операционной Системы от СМ-1820), (которая, в свою очередь, была советским клоном MS-DOS 3.3)
На третьей дискете были электронмашевские алгоритмические игры для школьников, учебная база данных, табличный процессор и текстовый редактор VIEW. Сам иногда им пользуюсь, когда нужно быстро набрать ДОСовский текст, выровнять по ширине и, возможно, расставить переносы в словах. Весит всего 15 Кбайт, регистрации не требует, к железу не привязывается. Уникальная вещь в своем роде.
Образы фирменных дискет ПК "Поиск" СТАРЫЙ СОФТ
hellowld2.cas

Размер: 33, скачан: 126
Тип: application/octet-stream
Дата: 24 апреля 2014 22:39

Tronix написал:
[q]
Ему нужно, что бы файл wav был unsigned 8 bit, mono, PCM.
[/q]

Понятно, теперь нормально отконвертировал в CAS.


Kurill_GANJOU написал:
[q]
Точнее, конвертер из упакованного бейсик-формата в обычный текст. И этому горю можно помочь. У меня таких конвертеров две штуки (см. во вложении). Один на голом асме, а второй вообще на бейсике написан.
[/q]


К сожалению, ни один из них получившийся CAS-файл не смог преобразовать. Или я что-то не так делаю? CAS-файл во вложении.


Kurill_GANJOU написал:
[q]
А вот об этом, пожалуйста, поподробнее.
[/q]


Ну, если много блоков передаётся, то часы будут сильно отставать. Минуты, десятки минут? Не то чтобы это так уж важно...


Kurill_GANJOU написал:
[q]
К554СА3 есть?
[/q]


Нет, к сожалению. У меня с деталями туго - город маленький и т.п. На К561ЛЕ5А ничего такого не получится?

Кассетный интерфейс СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
READBAS.ZIP

Размер: 23538, скачан: 134
Тип: application/zip
Дата: 24 апреля 2014 21:16
Второй аттач насчет Бейсик конвертера:
Кассетный интерфейс СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
rb58.zip

Размер: 3517, скачан: 129
Тип: application/zip
Дата: 24 апреля 2014 20:53

uav1606 написал:
[q]
отключение прерываний стопорит на XT часы
[/q]
Это понятно. Так и должно быть.
uav1606 написал:
[q]
... поэтому с этими самыми CLI/STI при записи больших блоков могут быть проблемы
[/q]
А вот об этом, пожалуйста, поподробнее.

uav1606 написал:
[q]
Насчёт той схемки выше - можно заменить К561ЛН2 на К155ЛН2?
[/q]
К сожалению, ТТЛ (ТТЛШ) серия очень плохо работает в линейном режиме. Так что лучше не заменять. Фигня получится. К554СА3 есть? Могу нарисовать лично проверенную схему на компараторе.

Tronix написал:
[q]
Вообще, на сколько я припоминаю, там (в бейсике) можно еще сохранять в текстовом виде, какой-то командой или параметром у SAVE, то есть если такой файл с кассеты конвертнуть в cas, то в cas будет обычный текстовый исходник проги на бейсике.
[/q]
Это команда SAVE "имя_файла", A
Буква "A" (или "a") чере запятую после SAVE латинская, кончно.

Tronix написал:
[q]
Для бинарей вроде бы тоже мне встречался какой-то конвертор, типа из бинарника преобразует в тектовый исходник.
[/q]
Точнее, конвертер из упакованного бейсик-формата в обычный текст. И этому горю можно помочь. У меня таких конвертеров две штуки (см. во вложении). Один на голом асме, а второй вообще на бейсике написан.



Кассетный интерфейс СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
Страницы: 1 2 3 4 5 ... 72 73 74 75 76 77 78 79 80 81

205 посетителей просмотрели форум за последние 15 минут
В том числе: 179 гостей, 0 скрытых пользователей
BreakPoint » Fasterpast » radical » Sobiratel76 » Tronix » intel1101 » GrumpyCat » abomin » Advik » andyTh » Alex_Vac » selmasongs » Haper » direkt » Exlex » OSA » reiji » Anonymous » illusion » skoroxod » Agrin » mistyuk » Jccwu » DownGraider » caps2018 » Машинист

Последние RSS
Странности с определением кэша в speedsys на 486х
Кабель на опознание
Монитор МС 6105.01 срывает картинку периодически
Вопрос по прегреву транзистора Vcore
FLAC-coder/decoder


Время выполнения скрипта: 0.0807. Количество выполненных запросов: 5, время выполнения запросов 0.0478


Партнёры: Компьютерный музей в Таллине | ЖЖ-сообщество | Таллин: Переулки Городских Легенд | Журнал "Downgrade"





Авторские права и условия копирования материалов



Hosted by Compic