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

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

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

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

Информация

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

ПОЛИГОН ПРИЗРАКОВ »   Список прикрепленных файлов
Сортировать по , вывести по
файлов на страницу тем на странице
Страницы: 1 2 3 4 5 ... 77 78 79 80 81 82 83 84 85 86 87
Имя файлаТекст сообщенияТемаРаздел
wdide.png

Размер: 22949, скачан: 358
Тип: image/png
Дата: 10 мая 2014 12:01
Да, знак "=" важен, я сам первый раз накололся. У меня этот rom-bios прекрасно работает в эмуляторе, то есть по команде g=c800:5 (потому что эмуль маппит этот ром на C800) заходит в процедуру низкоуровневого форматирования:
Контроллер XT IDE WD СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
ibm_rom_basic.rar

Размер: 26035, скачан: 130
Тип: application/x-rar-compressed
Дата: 10 мая 2014 11:48

sanders написал:
[q]
б) в "обычных" материнках бейсик расположен в одной ПЗУ-шке, а не в 5 сразу.
[/q]

1) Ну как бы нет. Если под "обычными" понимать оригинальный IBM PC/XT 5150. Достаточно взглянуть на оригинальную IBM 5150 мать, вот она:
http://upload.wikimedia.org/wi...(1981).jpg

Это уже несколько потом китайцы/тайванцы приспособились ставить один сокет для ROM-basic. А в оригинале было так, как и у вас на матери, ибо копия :)

2) IBM rom basic занимает 32Kb. Это значит, что если используются микросхемы EEPROM типа 2764 (а они и используются), то он весь влезет в 4 штуки (по 8Кб в каждом 2764). Итого, IBM rom basic в оригинале занимает не пять, а четыре ПЗУ-шки. Они в приложенном архиве (файлы basicc11.f6, basicc11.f8, basicc11.fa, basicc11.fc - 4 файла по 8Кб каждый.)

В оригинальной IBM 5150 в этой панельке ничего не стояло. На некоторых она подписана как OPT ROM, что намекает, что туда может ставится какой-то дополнительный BIOS ROM. Можно еще посмотреть на эту тему в Technical Reference для 5150, но мне лень.

Почему не запускается васик? а) какая-то из ПЗУ стерлась б) они попутаны местами в) он и не должен запускаться, пока в debug не сделаешь int 18h. Поэтому правильно советуют - считать те, что стоят на матери и сравнить с содержимым приложенного архива.

PS: Что можно прошить в этот OPT-ROM? Ну, к примеру, rom-bios от какого-нибуть FDC контроллера, поддерживающего 1,44Mb дискеты, тем самым получив возможность использовать и загружаться с таких дискет. Или воткнуть ISA-16 мультяху, в нее через переходник CF-карту, а в этот opt-rom прошить XT IDE bios. Вот такие варианты реального использования. Если ничего этого не нужно, и важен внешний первозданный облик - то, просто оставить эту панельку пустой. Ибо в 99,999% она была пустой с рождения.
Basic для Mazovia. ПЗУ есть, но при включении не стартует. СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
xtata.gif

Размер: 1226620, скачан: 405
Тип: image/gif
Дата: 8 мая 2014 22:34
Приблизительная схема "XT IDE" части. Для выборки BIOS - отдельные микросхемы.
Контроллер XT IDE WD СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
IDEXTWD2.BIN

Размер: 8192, скачан: 120
Тип: application/octet-stream
Дата: 8 мая 2014 18:31
Купил я такой вот контроллер:

Модель определить не смог. Больше всего он поход на WDXT-150, но тот - одноканальный, а тут вроде как два канала.
Ссылка на образ ПЗУ: http://gfile.ru/a4Vnv. И ниже я прикрепил его к сообщению.
Так вот, он прекрасно видит винчестер AT/XT - ST351A/X.
Но по мануалу на винчестер, перемычками можно определять размер Full (40Mb), 30Mb и 20Mb. У меня же в этих положениях видится 26Мб, 26Мб и 20Мб.
Если модель действительно WDXT-150, то контроллер рассчитан на винты до 8h/1024tr, т.е. должен видеть весь мой винт. Но видимо модель контроллера другая и в этом причина того, что видятся только 26мб? Или все же надо попасть в BIOS. Никакого входа из Debug-а в BIOS я не нашел, но вход должен быть, т.к. в текстовом редакторе видятся разнообразные текстовые менюшки. Начало ПЗУ по адресу CA00. Вход CA00:5 или :3 никуда не ведет, а четные смещения не похожи на JMP.
И что-то я задумался - а зачем такие контроллеры вообще? И стоят дохрена денег. И всего 26Мб с винта. Ну или 40Мб. А ведь с соответствующего тому времени винта MFM, можно было получить 100Мб... Не то, чтобы огорчился покупке, но ... типа того.
(Позже: умножил 8h x 1024t x 17s и получил 63Мб - да вполне адекватный максимальный размер винчестера для этого контроллера. Как развитие технологии и переход от MFM к IDE - не плохо, но время ХТ тогда уже прошло).
Контроллер XT IDE WD СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
TXT_TAPE.ZIP

Размер: 809474, скачан: 129
Тип: application/x-zip-compressed
Дата: 2 мая 2014 20:20

SoftCat написал:
[q]
Тогда поясните, пожалуйста, поподробнее, зачем Вам потребовался байт FFh в начале бинарного файла на Бейсике?
[/q]
FFh потребовался не мне, а Бейсику, чтобы он бинарник, созданный wav2cas'ом из wav'ки, мог принять за родной дисковый файл и адекватно загрузить с диска. Драйвер здесь не при чем. FFh был добавлен не драйвером, а hex-редактором. Драйвер не пишет в файл то, чего там изначально не было.

SoftCat написал:
[q]
Чем именно (при чтении бинарного файла на Бейсике) Ваш драйвер отличается от драйвера Профессора Лампочкина?
[/q]
С точки зрения конечного результата (чтение файлов) - ничем, как для бинарников, так и для других типов. А вот на уровне кода есть разница в способе опознавания битов на ленте. У Лампочкина и у разработчиков "Поиска-1" минимальная продолжительность бита вычисляется адаптивно. А у меня (и у айбиэмовцев) она тупо сравнивается с константой. Вот, мне и было интересно, как это будет работать, особенно на советских магнитофонах с их коэффициентом детонации. Опыты с "ИЖ-306С" показали, что разницы нет.

Драйвер Лампочкина не может работать на XT. А мой, как показал uav1606, по крайней мере, писать может (чтение пока не проверяли). В перспективе это позволит добавить поддержку каасетных фунций от "Поиска-1" в "Поиск-2" (а кассетный интерфейс PC / PCjr можно добавить хоть сейчас, если собрать входные-выходные цепи и загрузить мой драйвер).
Моя прога не критична к базовому адресу LPT. Этот адрес может принимать самые идиотские значения, лишь бы он соответствовал реально установленному устройству. У Лампочкина адрес LPT фиксированный - 378h. Я ради смеха ставил в BIOS setup LPT1 как 378H, 278H или вообще "Disabled". Во всех случаях мой драйвер работал корректно (при нулевом базовом адресе он, понятно, не загружался).

О записи текстов на кассету.

Сегодня провел очередной эксперимент.
Во вложении:
TXT2CAS.BAS – прога на Бейсике, копирующая текст с диска на кассету;
CAS2TXT.BAS - копирование текста с кассеты на диск;
BYKOV.TXT – текст на диске;
BYKOV.WAV - аудиопоток на кассете.

TXT2CAS “на лету” по строкам копирует текстовый файл с диска на кассету. Прога ничего не знает о длине этого файла. Если бы копирование было с диска на диск, то тактика была бы понятной: записать строку в целевой файл, увеличить размер файла в FAT на длину этой строки, потом записать следующую строку, снова обновить FAT и т. д. (как вариант - обновить размер один раз, при закрытии целевого файла). А при записи на кассету Бейсик при всем желании не может отмотать ленту назад и скорректировать длину в заголовке. Поэтому логично предположить, что для текстовых данных в заголовок пишется какое-то фиктивное значение длины, которое реально (при загрузке) не используется.
Я записал текст на кассету, оцифровал запись и прогнал wav’ку через wav2cas. Трониксовский wav2cas, как это и следовало ожидать, глюкнул.

Tronix написал:
[q]
Ну у меня там в проге какой-то глюк вроде на тему размера был, щаз уже не помню точно, ибо год назад писал. Возможно проявляется только на таких маленьких файлах (< 512 байт) и возможно только на васике.
[/q]
А длина образца текста была почти 2 килобайта. И Васиком там и не пахло - это был литературный текст, а не Васик программа. Значит, глюк связан не с малой длиной, а с неверным ее определением в принципе. Выходит, что для данных типа 00 и 40 длина берется не из заголовка, а вычисляется анализом самих данных. Вероятно, там ищется какой-то признак конца файла (это или 4 нуля подряд, или 1AH / Ctrl^Z) и по положению этого признака находится длина.

Так что, есть смысл заняться реверс-инженирингом Бейсика…





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

Размер: 1457, скачан: 122
Тип: application/octet-stream
Дата: 2 мая 2014 15:16
Ну, я им особо и не пользовался.
Если уж цеплять хостинг картинок к "Призракам", то нужно либо на том же хостиге, что и сами "Призраки", либо на каком-то нормальном платном.

По поводу картинок - можно сказать, что работа по подключению движка картинок практически завершена.

Что сделано:

1. Я перевёл движок MultiHost на кодировку 1251, чтобы была та же, что и тут.
2. Сделал то, о чём мы говорили - теперь если размер изображения больше 800х600 или больше 100 КБ (п. 3.5.2 правил форума), то вставляется превьюшка, если меньше - само изображение.

Кроме этого, в движок нужно добавить файл upload2.php, который осуществляет "бесшумную" загрузку через форму редактирования сообщения.
Может, выложить этот модифицированный движок здесь? Он же GNU и т.п.? Ну или через личку скину желающим потестировать.

После стандартной установки модифицированного движка ещё необходимо в upload2.php прописать переменную $forum_url (в самом начале файла), она должна ссылаться на размещение форума, куда добавляется работа с картинками, т.е. что-то вроде $forum_url="http://www.phantom.sannata.ru/forum/";

Далее нужно кинуть в корневую папку форума Intellect Board файл uplframe.php (см. вложение).
В нём нужно прописать переменную $base_url (в начале файла) - она должна указывать на размещение хостинга картинок, сейчас, к примеру, она выглядит так:
$base_url="http://dgrade.rurs.net/images/";
Там же, при необходимости, можно поменять ссылку на основной CSS (сейчас это http://www.phantom.sannata.ru/...blue.css).

Далее нужно модифицировать файлы форума \styles\abstract\display.php и \styles\abstract\stdforum.php
А именно: нужно найти там строку common_post($pdata,MSG_p_text);?>
и до неё добавить (в оба файла) следующее:


///////////
?>
<tr><td>Загрузить картинку:<td>
<iframe id="frame22" allowtransparency="yes" frameborder="0" scrolling="no" src="uplframe.php" marginheight=0 vspace=0 hspace=0 marginwidth=0 style="height: 20px; width: 100%;" name="frame">Ваш браузер не поддерживает технологию iFrames.</iframe>
<?
///////////


Т.е. было:

display.php


...
<form style="margin: 2px 0" action="index.php" method=POST name=postform enctype="multipart/form-data" onsubmit="return checkform(this);">
<table class="innertable" width="100%" cellspacing=1><tr><td class="tablehead" colspan=2><?=$outmsg;?>
<? if ($GLOBALS['inuserid']==1) quick_login_form();
if ($GLOBALS['opt_posttitles']) { ?>
<tr><td><?=MSG_p_title;?>:<td>
<input type=text tabindex=3 name=p_title size=30 maxlength=64 value="<?=$pdata['p_title'];?>">
<? }
common_post($pdata,MSG_p_text);?>
<tr><td>
...


Стало:


...
<form style="margin: 2px 0" action="index.php" method=POST name=postform enctype="multipart/form-data" onsubmit="return checkform(this);">
<table class="innertable" width="100%" cellspacing=1><tr><td class="tablehead" colspan=2><?=$outmsg;?>
<? if ($GLOBALS['inuserid']==1) quick_login_form();
if ($GLOBALS['opt_posttitles']) { ?>
<tr><td><?=MSG_p_title;?>:<td>
<input type=text tabindex=3 name=p_title size=30 maxlength=64 value="<?=$pdata['p_title'];?>">
<? }

///////////
?>
<tr><td>Загрузить картинку:<td>
<iframe id="frame22" allowtransparency="yes" frameborder="0" scrolling="no" src="uplframe.php" marginheight=0 vspace=0 hspace=0 marginwidth=0 style="height: 20px; width: 100%;" name="frame">Ваш браузер не поддерживает технологию iFrames.</iframe>
<?
///////////


common_post($pdata,MSG_p_text);?>
<tr><td>
...


stdforum.php

Было:


...
<input type=text name=pl_text[<?=$i;?>] size=30 maxlength=80 value="<?=$pdata['votevar'][$i];?>">
<? }
}
if ($GLOBALS['opt_posttitles']) { ?>
<tr><td><?=MSG_p_title;?>:<td>
<input type=text tabindex=3 name=p_title size=30 maxlength=64 value="<?=$pdata['p_title'];?>">
<? }
common_post($pdata,MSG_p_text);?>
<tr><td>
...


Стало:


...
<input type=text name=pl_text[<?=$i;?>] size=30 maxlength=80 value="<?=$pdata['votevar'][$i];?>">
<? }
}
if ($GLOBALS['opt_posttitles']) { ?>
<tr><td><?=MSG_p_title;?>:<td>
<input type=text tabindex=3 name=p_title size=30 maxlength=64 value="<?=$pdata['p_title'];?>">
<? }


///////////
?>
<tr><td>Загрузить картинку:<td>
<iframe id="frame22" allowtransparency="yes" frameborder="0" scrolling="no" src="uplframe.php" marginheight=0 vspace=0 hspace=0 marginwidth=0 style="height: 20px; width: 100%;" name="frame">Ваш браузер не поддерживает технологию iFrames.</iframe>
<?
///////////



common_post($pdata,MSG_p_text);?>
<tr><td>
...


Выглядит это всё примерно так:

Нажимаем "Обзор", выбираем картинку, жмём "Загрузить":




Должна появится надпись: "Файл успешно загружен", а в поле редактирования сообщения должен добавиться BBCode изображения. Дальше мы можем набирать ещё какой-то текст, опять нажать "Обзор", "Загрузить" и т.д.:



Кнопка "Расширенная загрузка" вызывает стандартную форму загрузки изображений MultiHost в отдельном окне. Там можно предварительно посмотреть загруженную картинку, выбрать код, который вы будете вставлять, и т.п. BBCode при этом автоматически в форму редактирования сообщения не вставляется.

Можете это всё сами попробовать, логин/пароль - user/pass (или можете зарегистрироваться под другим):

http://someforum.e3w.ru/forum//index.php?t=3

Работа проверена под Опера 7.22, IE 6, Mozilla Firefox 2.0.0.7.

P.S. wdfm, спасибо за движок.
Модификации движка Железные призраки прошлого
RWCAS.ASM

Размер: 5093, скачан: 119
Тип: 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, скачан: 125
Тип: 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, скачан: 123
Тип: 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, скачан: 119
Тип: application/x-zip-compressed
Дата: 26 апреля 2014 15:27
ВНИМАНИЕ!
Исправлен баг с неверной длиной блока при чтении. Желающим протестировать просьба скачать обновлённый вариант.
Кассетный интерфейс СТАРОЕ ЖЕЛЕЗО. IBM PC-совместимое. До 2000 года включительно
Страницы: 1 2 3 4 5 ... 77 78 79 80 81 82 83 84 85 86 87

191 посетитель просмотрел форум за последние 15 минут
В том числе: 181 гость, 2 скрытых пользователя
Посредственный пользователь » Pocket Rocket » Bobo » FromArcanum » S3virge » Jeronimo » Vegeta » SKcorp

Последние RSS
[МСК/Почта] Куплю SB Pro 2 CT16xx и SB16 (не вибру)
{Москва}Мать IBM PS/2 8086 type 8530+HDD+FDD
Вопрос по машинным командам PDP-11
Вопрос по распиновке питания IBM Type 8530
[Иваново, почта] Микросхема-терминатор для флопа 5,25"


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


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





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



Hosted by Compic