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

Полигон-2

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

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

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

Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   rom basic своими руками
RSS

rom basic своими руками

<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7
Печать
 
DOS Logic
Advanced Member
d(-_-)b

Откуда: Украина. Ивано-Франковск
Всего сообщений: 4778
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 июля 2006
Начал вот собирать "мега ХТ" :)
А на метринке около микросхемы основного боиса есть свободная кроватка, я так понимаю там должна была стоять микросхема с ром бейсиком?

вот фотка:

сама микросхема основного биоса 27С64, а под свободной кроваткой написано 27С256, это значит что такая микросхема сможет уместить максимум 64 килобайтную программу?

Я придумал такое, если взять и написать самому любую программу, хоть бы вывод текста, сделать ее в "сом" формате, и наверно без заголовка org 100h, да?

Так вот сделать програмку, записать ее в микросхему, всунуть в эту материнку, а потом запустить дос и выполнить прерывание 18h, после этого должен запустится ром бейсик, тоесть содержымое микросхемы, да? и если запуститься что будет с ОЗУ?, доса я так понимаю не будет, ну ничего если сделать программку и не использовать досовских прерываний то должно работать, а вы как думаете?
0leg
Advanced Member


Откуда: Город-герой Тула
Всего сообщений: 1991
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 окт. 2007
DOS Logic,
> написано 27С256, это значит что такая микросхема сможет уместить
> максимум 64 килобайтную программу?
Почему 64? 256 Кбит == 32 Кбайта.

> Я придумал такое, если взять и написать самому любую программу, хоть бы вывод текста,
> сделать ее в "сом" формате, и наверно без заголовка org 100h, да?
А ты попробуй ;-) У меня есть подозрения, что содержимое этой ПЗУхи должно начинаться с 0x55, 0xAA, и т.д., т.е. как, например, в БИОСах видюшек.

> а потом запустить дос и выполнить прерывание 18h,
> после этого должен запустится ром бейсик
AFAIK бейсик запускался и в том случае, если не с чего было загрузиться.

Вот питерские коллеги всё собирались слить дамп с ПЗУ с васиком, но, видимо, не осилили... :(( Было бы интересно посмотреть на содержимое оригинальной ПЗУхи.
DOS Logic
Advanced Member
d(-_-)b

Откуда: Украина. Ивано-Франковск
Всего сообщений: 4778
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 июля 2006
>Почему 64? 256 Кбит == 32 Кбайта.
ааа, ну может, я не знаю :) хотя теоретически я мог проверить так: беру микруху 27С256, читаю ее на программаторе и смотрю какой размер имиджа получился :)

>А ты попробуй ;-) У меня есть подозрения, что содержимое этой ПЗУхи должно начинаться с 0x55, >0xAA, и т.д., т.е. как, например, в БИОСах видюшек.
это как? тоесть 85 или 170 байт сначала не будут задействованы?

>AFAIK бейсик запускался и в том случае, если не с чего было загрузиться.
не пробовал, на первопнях не запускаеться :)

>Вот питерские коллеги всё собирались слить дамп с ПЗУ с васиком, но, видимо, не осилили... :(( Было бы интересно посмотреть на содержимое оригинальной ПЗУхи.

Да и я такое могу сделать, у меня есть бренд от IBM, на 8086 проце, так там флоп не работает и стартует бейсик :)
uav1606
Advanced Member


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


Ссылка


Дата регистрации на форуме:
16 янв. 2008
[q]
это как? тоесть 85 или 170 байт сначала не будут задействованы?
[/q]
Нет, 0leg имеет ввиду, что блоки расширения BIOS обычно начинаются с двухбайтовой сигнатуры 55h AAh, т.е. структура расширения BIOS на асме будет примерно такая:
db 55h, 0AAh
Код
Но считается ли Basic таким блоком расширения или нет - я не знаю.
Dmitry Dubrovenko
Advanced Member


Откуда: Cанкт-Ленинград
Всего сообщений: 1494
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 фев. 2008
DOS Logic написал:
[q]
я мог проверить так
[/q]
Зачем проверять? Делим 256 (бит) на 8 (бит в байте), получаем 32 байта (всё в кило, естественно). ;)


0leg написал:
[q]
видимо, не осилили
[/q]
Увы.. Воз (в смысле программатор) и ныне там. :frown: Да и товарищ с дампом что-то редко теперь появляется.
К тому же, я не думал, что есть такой "общественный резонанс". :biggrin: Там речь-то была немного о другом.
DOS Logic
Advanced Member
d(-_-)b

Откуда: Украина. Ивано-Франковск
Всего сообщений: 4778
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 июля 2006
uav1606
ага, понятно, ну значить сначала добавим db 55h, 0AAh для пробы :)

как попробую, отпишусь здесь :)
0leg
Advanced Member


Откуда: Город-герой Тула
Всего сообщений: 1991
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 окт. 2007
DOS Logic,
> это как? тоесть 85 или 170 байт сначала не будут задействованы?
Какие ещё 85 или 170 байт? Заголовок модулей расширения БИОСов стандартный. На асме так:

    dw  0aa55h
    db  0    ;тут размер ПЗУ в байтах / 512
    jmp entry_point
    ...      ;тут что-то ещё
entry_point:
    ;тут начинается код


> не пробовал, на первопнях не запускаеться :)
Правильно, и не должен. Я про старые компы говорил. Ведь в первопнях нет панельки под ПЗУ с васиком.

> Да и я такое могу сделать, у меня есть бренд от IBM, на 8086 проце
Ну так поделись прошивочкой ;))

uav1606,
> Но считается ли Basic таким блоком расширения или нет - я не знаю.
Вот и я не знаю...
EJSanYo
Advanced Member


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


Ссылка


Дата регистрации на форуме:
28 дек. 2007
DOS Logic написал:
[q]
Ну так поделись прошивочкой ;))
[/q]
Присоединяюсь! Я тоже не против поэкспериментировать.
DOS Logic
Advanced Member
d(-_-)b

Откуда: Украина. Ивано-Франковск
Всего сообщений: 4778
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 июля 2006
Нашёл я эту материнку, и биосы снял, но они нестандартные, какие-то IBM-овские микросхемы :(
завтра на работе попробую их прочитать
Alex-M
Junior Member


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


Ссылка


Дата регистрации на форуме:
6 мая 2008
Вот сдесь можно качнуть архив прошивок и БИОСов и есть РОМ Басик, смотрите в самом архиве тхт файлик, там написано, что за прошифки : http://www.mediafire.com/?2iyijya4iwu
Alex-M
Junior Member


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


Ссылка


Дата регистрации на форуме:
6 мая 2008
Alex-M написал:
[q]
Вот сдесь можно качнуть архив прошивок и БИОСов и есть РОМ Басик, смотрите в самом архиве тхт файлик, там написано, что за прошифки : http://www.mediafire.com/?2iyijya4iwu
[/q]
Просматривал Нортоном в ДОСе файлики в этом архиве, один очень интересный : 1501512.bin - в нутри есть такие строчки : The IBM Personal Computer Basic Version C1.10 Copyright IBM Corp 1981
так же ясно просматриваются слова : LOAD RUN SCREEN и т.д. Похоже он и есть - ROM BASIC и весит 32 кило как раз под ПЗУ 27256
Sergei Frolov
Advanced Member
Коллекционер

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


Ссылка


Дата регистрации на форуме:
5 июля 2003
Вот BIOS от IBM PS/2 c бейсиком. Может пригодится.
http://slil.ru/26318925
uav1606
Advanced Member


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


Ссылка


Дата регистрации на форуме:
16 янв. 2008
[q]
Вот BIOS от IBM PS/2 c бейсиком
[/q]
Сигнатуры 55h AAh таки нет. Да и в тех файлах (http://www.mediafire.com/?2iyijya4iwu) тоже, вроде, этой сигнатуры нет. Непонятно, где находится точка входа.
0leg
Advanced Member


Откуда: Город-герой Тула
Всего сообщений: 1991
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 окт. 2007
uav1606, эти прошивки очень похожи на обычные БИОСы — см. последние 16 байт. В файле 1501215.bin по адресу 7ff0h находится команда jmp 0f000:0e05b, вот это и есть точка входа. Файлы от Сергея надо объединить в один, через байт. И там та же фигня получится, только адрес другой (0fff0).
Alex-M
Junior Member


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


Ссылка


Дата регистрации на форуме:
6 мая 2008
uav1606 написал:
[q]
[q]
Вот BIOS от IBM PS/2 c бейсиком
[/q]
Сигнатуры 55h AAh таки нет. Да и в тех файлах (http://www.mediafire.com/?2iyijya4iwu) тоже, вроде, этой сигнатуры нет. Непонятно, где находится точка входа.
[/q]
Эти сигнатуры нужны для загрузки с диска :
"Во время начальной загрузки базовая система ввода-вывода проверяет два последних байта главной загрузочной записи (первый сектор жесткого диска), значение "сигнатуры" которых должно быть 55AAh. Если два последних байта не равны 55AAh, вызывается прерывание 18h. В результате происходит обращение к подпрограмме, которая выводит на экран полученное сообщение или вызывает в системе IBM интерпретатор Cassette (ROM) BASIC."


0leg написал:
[q]
uav1606, эти прошивки очень похожи на обычные БИОСы — см. последние 16 байт. В файле 1501215.bin по адресу 7ff0h находится команда jmp 0f000:0e05b, вот это и есть точка входа. Файлы от Сергея надо объединить в один, через байт. И там та же фигня получится, только адрес другой (0fff0).
[/q]
Вот-вот Петя Нортон в свое время то же писал что то подобное :
6.4. Анализ содержимого ПЗУ - реконструкция
интерпретатора


В качестве примера попробуем деассемблировать фрагмент
Бэйсик-ПЗУ. Начнем с исходного параграфа, т.е. параграфа с
адресом F600(16). На рисунке 6.3 представлен результат
деассемблирования первых 32 байтов. Шестнадцатеричные нули в
конце фрагмента программы (преобразованы деассемблером в
команды ADD (Сложить)) представляют собой данные. Они
"хорошо" иллюстрируют высказанное ранее положение о том, что
нулевые данные нетипичны для ПЗУ-программ. Команда DB
(определить байт), предшествующая полю нулей, появилась как
реакция деассемблера на кодовую комбинацию, которая не может
быть преобразована в команду ассемблера (такая ситуация,
благодаря широкому набору команд, встречается довольно
редко). Итак, являются ли все данные, которым предшествует
команда безусловного перехода собственно осмысленными
командами? Предварительный ответ на этот вопрос может быть
положительным, поскольку для завершения выполнения
подпрограммы используется команда возврата (RET). Пока все
идет хорошо.
Можно ли приписать какие-то осмысленные действия первым
пяти командам деассемблированной программы? Эти команды
выглядят несколько странно, поскольку начинаются с команды
безусловного перехода (JMP). Большинство программ, однако,
первым делом выполняют ряд действий настроечного плана,
обращаясь для этого посредством команд вызова подпрограмм или
переходов, к нужным процедурам. Таким образом, безусловный
переход в начале программы - каким бы причудливым он не
казался - не такая уж бессмыслица. Следующие четыре команды -
две пары обращения к подпрограммам с последующими командами
возврата в процедуру не особенно понятны, но, по крайней
мере, не противоречат друг другу и могут в какой-то степени
служить признаком наличия последовательности команд. Можно,
следовательно, сделать предположение о том, что мы имеем дело
с реальной последовательностью команд.
Из того, чем мы располагаем - даже при том, что на
рисунке 6.3 представлена реальная последовательность команд -
вряд ли можно извлечь какую-то пользу. Только пять команд
почти ничего не совершающих.
И все-таки есть ряд интересных моментов. Если это
действительно реальная последовательность, то нам названы три
адреса, где могут оказаться вещи более интересные. Речь идет
об адресе в команде перехода и адресах двух последующих
каманд обращения к процедуре. Следует ли нам пойти по адресу
перехода? Деассемблер дает нам этот адрес (относительно
начала нашей программы, т.е. адреса F600/16) - FE92/16.
Выполним деассемблирование небольшого участка памяти,
начинающегося с этого адреса (результат приведен на рис 6.4.)



-U F600:0000
F600:0000 E98F7E JMP 7E92
F600:0003 E8A76B CALL 6BAD
F600:0006 CB RET L
F600:0007 E80265 CALL 650C
F600:000A CB RET L
F600:000B C1 DB C1
F600:000C 0000 ADD [BX+SI],AL
F600:000E 0000 ADD [BX+SI],AL
F600:0010 0000 ADD [BX+SI],AL
F600:0012 0000 ADD [BX+SI],AL
F600:0014 0000 ADD [BX+SI],AL
F600:0016 0000 ADD [BX+SI],AL
F600:0018 0000 ADD [BX+SI],AL
F600:001A 0000 ADD [BX+SI],AL
F600:001C 0000 ADD [BX+SI],AL
F600:001E 0000 ADD [BX+SI],AL



Рис. 6.3. Деассемблирование начального участка Бэйсика

Похоже, мы попали в точку. Во-первых, перед нами
совокупность осмысленных команд, не содержащая ни
последовательностей операторов DB, ни последовательностей
операторов ADD.Во-вторых, эти команды весьма напоминают
команды настройки.Об этом говорит прежде всего команда CLI,
(CLI (Clear interrupt flag) - очистка флага прерывания).
Прерывание в микропроцессоре INTEL 8086/8088
воспринимается по завершении выполнения некоторой команды.
Немаскируемое прерывание в общем случае обслуживается
непосредственно после выполнения текущей команды. Прерывание
по вектору воспринимается только тогда, когда разряд IF (флаг
прерывания) в регистре FLAGS имеет значение, равное 1. Для
того, чтобы микропроцессор 8086 воспринял прерывание,
необходимо выполнение следующих трех условий:
1) разряд IF регистра FLAGS должен иметь значение,
равное 1 (для прерываний по вектору);
2) разряд разрешения прерываний в интерфейсе устройства
должен находиться в состоянии "Прерывание разрешено";
3) интерфейс должен зафиксировать некоторое событие,
вызывающее прерывание (например, поступление символа с
клавиатуры, готовность к выводу символа на дисплей,
завершение передачи блока данных с диска и т.п.)
(Прим.перев.)).
которая, как мы видели в главе 3 используется как средство
блокировки прерываний; таким образом вся последовательность
выполнения расположенных ниже команды прервана быть не может.
Именно такая последовательномть команд характерна для
начальных аргументов ответственных программ, поскольку
значения сегментных регистров целесообразно устанавливать
одновременно с обработкой прерываний.
Ниже производятся как раз те действия, о которых мы
говорили выше, а именно: загрузка сегментных регистров. С
помощью четырех команд MOV (команды пересылки данных)
осуществляется загрузка трех сегментных регистров из четырех:
DS, ES и SS. Загрузка этих регистров осуществляется весьма
редко, поэтому естественно это сделать один раз в начале
программы. (Сегментный регистр программы CS к этому моменту
уже загружен ( F600 : 0000, рис. 6.3.).
Вслед за группой, состоящей из четырех команд MOV,
осуществляющих загрузку сегментных регистров, следует две
команды, выполняющие одну логическую операцию. Первая команда
- это команда "исключающего ИЛИ" XOR - заносит в регистр AL
значение "нуль" (поскольку в результате применения
"исключающего ИЛИ" к эквивалентным данным образуется новая
величина), а вторая команда заносит эту величину по
конкретному адресу.
Программа не содержит никаких сведений относительно
содержательной интепретации этих операций, но это вполне
осмысленное сочетание команд, выполняющих конкретную функцию.
Если бы мы располагали более полной информацией об
особенностях работы Бэйсика, то нам, вероятно, было бы
известно, что нулевая величина, пересылаемая в память с
помощью двух двух последовательных команд представляет собой
переключатель предохраняющий защищенные программы. При
загрузке защищенных программ, написанных на языке Бэйсик,
этот переключатель устанавливается с целью предотвращения
выдачи их на печать. Это, однако, никак не следует из
представленного листинга.
Первые семь команд рассматриваемого участка программы,
таким образом, выглядят вполне осмысленно. Они реализуют
рациональные и согласованные между собой действия и
естественным образом распадаются на два класса: команды со
2-й по 5-ю реализуют одну логическую операцию, а с 6-й по 7-ю
- другую. Пред'явленные команды отвечают всем критериям
реального участка программы.


-U F600:7E92
F600:7E93 8A6000 CLI
F600:7E93 8A6000 MOV DX,0060
F600:7E96 8EDA MOV DS,DX
F600:7E98 8EC2 MOV ES,DX
F600:7E9A 8ED2 MOV SS,DX
F600:7E9C 32CO XOR AL,AL
F600:7E9E A26404 MOV [0464],AL
F600:7EA1 B591 MOV CH,91
F600:7EA3 BB0000 MOV BX,0000
F600:7EA6 BA9A06 MOV DX,069A
F600:7EA9 BBF2 MOV SI,DX
F600:7EAB 2E SEG CG
F600:7EAC AC LODSB
F600:7EAD 8807 MOV [BX],AL
F600:7EAF 43 INC BX
F600:7EBO 42 INC DX
F600:7EB1 FECD DEC CH
0leg
Advanced Member


Откуда: Город-герой Тула
Всего сообщений: 1991
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 окт. 2007
Alex-M,
> Эти сигнатуры нужны для загрузки с диска
> [...]
> главной загрузочной записи (первый сектор жесткого диска)
Здесь разговор идёт не о загрузочной записи на диске, а о сигнатуре в БИОСе карт расширения. К загрузке с диска она никакого отношения не имеют, эти сигнатуры ищутся основным БИОСом с целью инициализации карт расширения.

А вот руководство от Пети мог бы и как-нить отдельно выложить... А то много букф, ниасилил :(
Alex-M
Junior Member


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


Ссылка


Дата регистрации на форуме:
6 мая 2008
0leg написал:
[q]
Alex-M,
> Эти сигнатуры нужны для загрузки с диска
> [...]
> главной загрузочной записи (первый сектор жесткого диска)
Здесь разговор идёт не о загрузочной записи на диске, а о сигнатуре в БИОСе карт расширения. К загрузке с диска она никакого отношения не имеют, эти сигнатуры ищутся основным БИОСом с целью инициализации карт расширения.

А вот руководство от Пети мог бы и как-нить отдельно выложить... А то много букф, ниасилил :(
[/q]
Самое интересное, что сигнатура 55АА именно на биусах для дисковых контроллеров и видеокарт которые стартуют с адресов типа С800, D000 ну или подобных, а басик стартует с F600 через int18h, если не обнаруживаются дисководы или винты.
uav1606
Advanced Member


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


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Из всего этого делаем вывод, что Basic хранится не в стандартном блоке расширения BIOS. Интересно, так ли это в случае наличия доп. панельки под Basic? Как тогда основная BIOS узнаёт о наличии микросхемы в этой панельке? Хотя, наверное, есть и другие способы это узнать...
Alex-M
Junior Member


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


Ссылка


Дата регистрации на форуме:
6 мая 2008
uav1606 написал:
[q]
Как тогда основная BIOS узнаёт о наличии микросхемы в этой панельке?
[/q]
Наверное, типа так :

MOV AX,0F600h ; AX --> Rom basic segment
MOV DS,AX ; DS --> " " "
XOR BX,BX ; BX = Rom basic offset
MOV AH,4 ; Four basic roms to check

MOV BP,SP ; Save the stack pointer
PUSH CS ; ...push code segment
MOV DX,offset SKIP ; Save the code offset
PUSH DX ; ...for RAM_PATCH subroutine
MOV DX,0EA90h ; Mov DX,'NOP,JMP_FAR'
PUSH DX ; ...save it on stack
MOV DX,0178Bh ; Mov DX,'MOV DX,[BX]'
PUSH DX ; ...save it on stack
PUSH SS ; Save stack segment
MOV DX,SP ; ...get the stack offset
ADD DX,02h ; ...calculate xfer addr.
PUSH DX ; ...save it on the stack
;
RETF ; Test for BASIC rom
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; MOV DX,[BX] ; Executes off the stack ;
; JMPF 0F000h,SKIP ; ...in RAM space ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SKIP: MOV SP,BP ; Restore the stack pointer
CMP DL,DH ; ...compare 1st and 2nd byte
JE kosher ; ...perfection. No piracy

B_ROM: CALL CHKSUM ; Scan for BASIC roms
JNZ kosher ; ...bad basic rom
DEC AH ; Continue
JNZ B_ROM ; ...yes, more

POP DS ; Else valid basic
MOV DI,60h ; ...install basic

XOR AX,AX ; ...zero BASIC interrupt
STOSW ; ...offset
MOV AX,0F600h ; ...F600h BASIC interrupt
STOSW ; ...segment

PUSH DS
kosher: POP DS ; Setup special low vectors
MOV Word ptr ES:8,offset int_2 ; ...NMI interrupt
MOV Word ptr ES:14h,offset int_5 ; ...print screen interrupt
MOV Word ptr ES:7Ch,0 ; No special graphics chars.
MOV Word ptr ES:7Eh,0 ; ...so zero vector 1Fh
MOV DX,61h
IN AL,DX ; Read machine flags
OR AL,00110000b ; ...clear old parity error
DOS Logic
Advanced Member
d(-_-)b

Откуда: Украина. Ивано-Франковск
Всего сообщений: 4778
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 июля 2006
Сегодня удалось снять имидж из микросхем от IBM-а, и хоть микросхемы выглядели страшно:

их содержымое удалось прочитать, просто выбрал формат 27256 и получилось :)
в начале файлов видно надпись © IBM 1981,1987 но надписей из биоса или бейсика не видно, неужели сам биос сжат? Содержымое микросхем выкладу завтра, так как я забыл флешку с файлами на работе :)

Сегодня еще попробовал очистить три микросхемы 27С256 на советском программатре, только мне было не ясно сколько держать микросхемы под ультрафиолетом. В инстукцыи к программатору написано такое:

-Включить сетевую вилку прибора в розетку сети питания
-Установить выключатель прибора УФО в положение ВКЛ
-Наблюдать в специальном окошке включение ртутно-кварцевой лампы
-Установить выключатель в положение ВЫКЛ


когда я включил ультрафиолетовую лампу в спец окошке ничего небыло, оно загорелось красным через несколько секунд, потом я еще секунд 5 продержал апарат в работе и выключил, как думаете микросхемы очистились?
Dmitry Dubrovenko
Advanced Member


Откуда: Cанкт-Ленинград
Всего сообщений: 1494
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 фев. 2008
Всё зависит от лампы/расстояния.
Можно же проверить программатором. ;)
0leg
Advanced Member


Откуда: Город-герой Тула
Всего сообщений: 1991
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 окт. 2007
DOS Logic,
> но надписей из биоса или бейсика не видно, неужели сам биос сжат?
Если кроме этих двух ПЗУх есть ещё одна ПЗУха (с основным БИОСом), то, скорее всего, в одной из этих микрух — чётные байты, в другой — нечётные. Поэтому текстовых строк и не видно. А ещё м.б. чётные байты — в первой половине ПЗУ, нечётные — во 2-й (или наоборот).

> только мне было не ясно сколько держать микросхемы под ультрафиолетом
Минуты две минимум, это если вместо твоего чемодана использовать внутреннюю колбу из ДРЛки. А так, наверное, подольше... 5 секунд — явно маловато.
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
Народ, вообще-то оригинальный Бэйсик от IBM PC ходит в комплекте BIOS-ов для эмулятора MESS. И даже работает (в эмуляторе) :)

Есть проблемка, что распространять BIOS-ы в составе дистрибута MESS явно запрещает его лицензия и нужно искать отдельно. Но ищущий - обрящет.

28.02.2001  15:06             8 192 basicc11.f6
28.02.2001  15:06             8 192 basicc11.f8
28.02.2001  15:06             8 192 basicc11.fa
28.02.2001  15:06             8 192 basicc11.fc
28.02.2001  15:06             4 096 cga.chr
28.02.2001  15:06             8 192 pc102782.bin
28.02.2001  15:06             8 192 wdbios.rom
EJSanYo
Advanced Member


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


Ссылка


Дата регистрации на форуме:
28 дек. 2007
Alex-M написал:
[q]
Просматривал Нортоном в ДОСе файлики в этом архиве, один очень интересный : 1501512.bin - в нутри есть такие строчки : The IBM Personal Computer Basic Version C1.10 Copyright IBM Corp 1981
[/q]
Хм, вроде как в Ридми того архива написано, что 1501512.bin - это БИОС, а собественно басик - это файл 6359116.bin. :rolleyes:
0leg
Advanced Member


Откуда: Город-герой Тула
Всего сообщений: 1991
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 окт. 2007
EJSanYo, вообще, оно там по-хитрому сделано, в похожей теме была сцылко на карты памяти. Так что, наверное, нет смысла разделять ПЗУхи на васичные/БИОСные... Там всё вперемешку.
DOS Logic
Advanced Member
d(-_-)b

Откуда: Украина. Ивано-Франковск
Всего сообщений: 4778
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 июля 2006
Так, микросхемы ПЗУ не очистились за несколько секунд, похоже их надо подержать минут 5-10 под ультрафиолетом, перегореть они не должны, да?
...
И как обещал выкладываю имидж биоса из моих микросхем
http://www.sendspace.com/file/lmz5l6
Но мне кажеться там, как говорил 0leg, программа перепутана, один байт с одной микросхемы, а второй з другой и так весь код :( И как теперь это склеить нормально? WinHEX таке может?
0leg
Advanced Member


Откуда: Город-герой Тула
Всего сообщений: 1991
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
6 окт. 2007
DOS Logic,
> подержать минут 5-10 под ультрафиолетом, перегореть они не должны, да?
Если очень долго облучать их УФ, могут испортиться. Начни с 5 минут...

> один байт с одной микросхемы, а второй з другой и так весь код :(
> И как теперь это склеить нормально? WinHEX таке может?
Насчёт WinHex'а не знаю, вроде бы в софте от программатора Турбо есть такая возможность. Лично я пользуюсь для таких целей небольшой программкой на Перле. Если надо, могу поделиться.

ЗЫ. DOS Logic, я тебе ПМ отправил, читал?
uav1606
Advanced Member


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


Ссылка


Дата регистрации на форуме:
16 янв. 2008
В WinHex 14.7 выберите Tools->File Tools->Unify->Bytewise(8-Bit)
DOS Logic
Advanced Member
d(-_-)b

Откуда: Украина. Ивано-Франковск
Всего сообщений: 4778
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 июля 2006
uav1606
спасибо, такая функция вроди есть и в версии 13,2 (у меня такая) так что сейчас попробую..

0leg
Да читал :)
Биосы залил, но к сожаления я сам не знаю что это за компютер, вроди был IBM PS/25 или PS/30
что-то такое, вечером еще на мамку посмотрю может там что пишет...

У меня есть еще всякие биосы, надо?
DOS Logic
Advanced Member
d(-_-)b

Откуда: Украина. Ивано-Франковск
Всего сообщений: 4778
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
1 июля 2006
Да работает WinHEX, один файл сделал, байты перемешались, стали доступны всякие надписи!

потом я отрезал начало файлов где надписи и так были нормальные "© COPR. IBM CORP 1981,1987"
сделал снова один файл, попробовал открыть его прогой IDA, я знаю что получилось, какой-то код доступен, но что это нам поможет?

Итак надо будет попробовать зашить любую программу в микросхему и попробовать запустить..
madmaks
Full Member


Откуда: Россия, Ярославская обл., г. Углич
Всего сообщений: 204
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
23 сен. 2008
В сети можно скачать эмуляторы ХТ (PCE XT: http://www.hampa.ch/pce , например), которые позволяют установить образ ПЗУ и запустить, есть и исходники.

Прежде чем шить ПЗУ попробуйте на эмуляторе. Особенно с учетом того, что документов по этому всему сейчас не найти, я думаю.
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
Народ, дак кому-нибудь нужны эти прошивки Basic-а с оригинальной IBM PC 5150 ? В личку. Там кстати Basic 1.0 а есть еще 1.1 и вроде был 1.2 .
palsw
Advanced Member


Откуда: Измаил_Украина
Всего сообщений: 317
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2015
выложите ,пожалуйста, файл с ROM-Basic - есть материнка juko st xt 8088 - интересно зашить пзу
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Постараюсь выложить образ Basic.
Он стоял в материнке Super Turbo III
А на Basic-t была наклейка MAZOV.....
Думаю, что до меня от Мазовии взяли ПЗУ-шку. Значит, бэйсик универсальный и адрес его характерен для ХТ-шек.
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Вот BASIC:
http://zalil.ru/32134827
Размещался по адресу F400 если мне память не изменяет
palsw
Advanced Member


Откуда: Измаил_Украина
Всего сообщений: 317
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2015
sanders32кб FF :)
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
Коллектия BIOS и BASICов из IBM PC. Обсуждение разных версий тут:

http://www.vintage-computer.co...-9693.html

Небольшая коллекция

http://www.minuszerodegrees.net/bios/bios.htm

Моя коллекция (скачайте, скоро уберу)

http://www.nwpi.ru/~alec/XT.zip
AndNot
Full Member


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


Ссылка


Дата регистрации на форуме:
19 июня 2006
alecv, огромное спасибо за сорсы! А есть еще сорсы на старые bios'ы? Могу поделиться на 286-ю машину.
palsw
Advanced Member


Откуда: Измаил_Украина
Всего сообщений: 317
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2015
не понял как из 2х файлов вытащить Басик?сначала нужно обьеденить файлы в один ,поделитесь как это сделать
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Слухайте!
А вот я Debug-ом нащупал Бэйсик по адресу F400. Неужели основной BIOS умещался в первых 400 адресах до Бэйсика?
И я его списал в файлик (Бэйсик). Сейчас уже та машинка отдана.
Или не важно в каких он адресах был? Ведь другая машина будет его искать по адресам своей "кроватки" под ПЗУ-шку. Верно?
А само содержимое ПЗУ адресо-независимое?
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
sanders не адрес F400 а сегмент F400. Адрес F400:0000 . ошибся в 16 раз. :)
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Ну главное, что это нормально, что он был там. Просто я привык к 800-кам.
А 400 - это как-то мало
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
palsw Ну вот например как запустить XT с бейсиком в эмуляторе PCem

http://www.tommowalker.co.uk/pcem.html

Скачиваем эмулятор, распаковываем.
Берем из моего файла например 68x4370.u19 62x0890.u18 и СЛИВАЕМ их в один большой файл 64К. Внимание! Порядок именно такой, сначала U19 потом U18. Слить можно например через COPY /B 68x4370.u19+62x0890.u18

Полученный файл называем xt.rom и кладем его эмулятору в папку roms/ibmxt

Обязательно! Удаляем файл roms/romext.bin — это ПЗУ/драйвер INT 19h виртуального диска PCem. Если не удалить - будет грузится с него, а не выйдет в Бейсик.

Запускаем PCem. Оно тестирует память, не находит загрузчика и вылетает в BASIC.

В других эмуляторах вероятно по другому.

Если есть желание выдрать именно Бейсик - он в образе от адреса 6000 до E000. Не знаю, будет ли он работать на других машинах...
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
sanders Давай я тебе ПОДАРЮ книжку Джордейна ? Без этого не буду отвечать на вопросы ;)
palsw
Advanced Member


Откуда: Измаил_Украина
Всего сообщений: 317
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2015
alecvОгромное спасибо,все проделал в эмуляторе запустился Басик.область вырезал как раз получился файл 32кб.завтра уже на свежую голову попробую зашить чистую флешку

выдрал версию :)
IBM Personal Computer Basic
Version C1.10 Copyright IBM Corp 1981

http://narod.ru/disk/32794472001/Basic.rar.html
Fe-Restorator
Гость

Ссылка

Она?
Сейчас на форуме
palsw
Advanced Member


Откуда: Измаил_Украина
Всего сообщений: 317
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2015
сильная книжка?
я вот такую нашёл Л.Скенлол - Персональные ЭВМ IBM pc/xt программирование на языке ассемблера 1989
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
а у меня есть такая книжка, как экспонат. :-)
и есть много чего по ассемблеру и Паскалю.
наверное надо по вечерам не только Стругацких читать, но и мэтров программирования.
palsw
Advanced Member


Откуда: Измаил_Украина
Всего сообщений: 317
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2015
не заработал BASIC в хt -сегодня прошил флешку,вытащил все контроллеры накопителей .только оставил видеокарту -при включении тестируется память потом без контроллера фдд перезагружается и все по кругу.С вставленной микросхемой ПЗУ после тестирования памяти все замирает и всё .
Материнка Juko ST XT - ПЗУ биоса 8кб и рядом панелька с надписью 27256
palsw
Advanced Member


Откуда: Измаил_Украина
Всего сообщений: 317
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2015
в эмуляторе видел есть горячие клавиши функциональные -SAVE и LOAD -куада оно сохраняет интересно.и Возможно было при загруженном DOS зайти в BASIC ?
Кай
Гость
Divine Assassin

Откуда: извне (from beyond)
Всего сообщений: 13709
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2010
Парочка оригинальных IBM BASIC-ов. 1.00 и 1.10

http://depositfiles.com/files/7bxer51jy
palsw
Advanced Member


Откуда: Измаил_Украина
Всего сообщений: 317
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2015
КайСпасибо за файлики,сравнил полученный файл бейсика ,который я выкладывал с Вашим -100% совпадение.Сравнивал с версией 1.0 - там есть незначитильные отличия
Кай
Гость
Divine Assassin

Откуда: извне (from beyond)
Всего сообщений: 13709
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2010
[q]
в эмуляторе видел есть горячие клавиши функциональные -SAVE и LOAD -куада оно сохраняет интересно.и Возможно было при загруженном DOS зайти в BASIC
[/q]
На первый дисковод. Т.е на A:

save "filename.bas" /a - сохранить программу в ASCII формате.
load "filename.bas" - загрузить. :)

При загруженном DOS возможно было зайти в дисковый BASIC. basica или gwbasic. В зависимости от того - какой DOS.
palsw
Advanced Member


Откуда: Измаил_Украина
Всего сообщений: 317
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2015
http://old-dos.ru/files/file_1389.html
BASICA
Интерпретатор BASIC, созданный Microsoft для PC-DOS. BASICA использует ROM-код от "IBM Cassette BASIC", который включался в старые модели IBM PC. Были добавлены такие функции, как доступ к файлам, сохранение программ на диск и монофоническая музыка через спикер. BASICA не запускалась на не-IBM PC (100% совместимость), а также на более поздних моделях, так как у них не было необходимого ROM.
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
У IBM PC 5150, которая вышла до IBM PC XT 5160 на борту был интерфейс магнитофона - гнездо DIN, такое же как гнездо клавы и релюшка запуска двигателя. В IBM PC XT всё это удалили. BIOS и ROM BASIC от 5150 имеет поддержку загрузки/запаси с магнитофона (INT15H), команды LOAD и SAVE, а BASIC 5160 уже не имеет. Устройство называется CAS1:
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
А может кто-то выложит архив (коллекцию) различных ХТ-шных Бэйсиков? Все указанные тут архивы устарели, а форумы содержат лишь текстовую информацию.
palsw
Advanced Member


Откуда: Измаил_Украина
Всего сообщений: 317
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 фев. 2015
у меня не заработал ром-Басик
Tronix
Advanced Member


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


Ссылка


Дата регистрации на форуме:
15 янв. 2008
palsw написал:
[q]
у меня не заработал ром-Басик
[/q]
Поконкретнее. У меня сначала тоже не заработал, а потом я разобрался. Подробнее писал в теме: topic/13684
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
sanders
http://www.minuszerodegrees.net/bios/bios.htm

В прошивках для PC и XT - образы ПЗУ для этих машин, в которых BIOS + BASIC. Если нужно для
эмулятора или прошивки в ПЗУ других конфигураций - придется поработать напильником
утилиткой dd или Norton DE.
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Это я посмотрел. Но там IBM, а главное, там как правило и BIOS и Basic имеют размер 256кбит
А мне он нужен для различных материнок, где есть пустая панелька 256бит, т.е. бэйсик должен не чредоваться с BIOS-ом, а быть автономным по принципу: вытащил - и без него все работает, вставил - он есть.
Собственно, мне бы конкретно для Super Turbo III и JUKO для начала
Tronix
Advanced Member


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


Ссылка


Дата регистрации на форуме:
15 янв. 2008
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
sanders ROM BASIC был только от IBM. Версии для XT и AT - С1.10, PCjr - С1.20
https://en.wikipedia.org/wiki/IBM_BASIC
Может были какие другие, но в природе они не известны.

В образах BIOS от IBM XT этот BASIC "размазан" по двум ПЗУ. Собственно я и писал, что требуется
обработка напильником.

Вот тут объяснение, где что лежит:
http://www.vintage-computer.co...S-versions

Жаль что ты не смог разобраться. Собственно, возвращаясь к SUBJ-У:

Надо склеить два образа U19 и U18 IBM XT BIOS, а потом отрезать начало (0x6000=24K) и конец.
$ wget [url]http://www.minuszerodegrees.net/bios/BIOS_5160_09MAY86.zip[/url]

$ unzip BIOS_5160_09MAY86.zip

$ cat BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN BIOS_5160_09MAY86_U18_59X7268_62X0890_27256_F800.BIN > b.bin

$ dd if=b.bin of=b1.bin bs=1 skip=24576

$ dd if=b1.bin of=basic.bin bs=1 count=32768
Получается бинарник длиной 32K BASIC C1.10, полностью идентичный
http://www.hampa.ch/pce/rom/ibmpc/ibm-basic-1.10.rom

Этот бинарник надо зашить в ПЗУ 27256. Адресация сокета под ПЗУ должна начинаться от F600 длиной 32K.
Иначе работать не будет.
sanders
Advanced Member
Профессионал

Откуда: Санкт-Петербург
Всего сообщений: 6434
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
26 мар. 2008
Tronix, так в итоге появился Basic, работающий с Phoenix BIOS (например, на JUKO XT)?
Вы писали, что биос даже не обращается по адресу F600:0000.

Alecv, да, я не смог разобраться в склейках и вырезках. Но у меня есть 4 микросхемы Basic от Mazovia. Если я считаю подряд адресное пространство с F600:0000 длинной 32КБ, то такой Basic будет работать на других машинах? Или все равно придется что-то "пилить"?
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
sanders написал:
[q]
Если я считаю подряд адресное пространство с F600:0000 длинной 32КБ, то такой Basic будет работать на других машинах?
[/q]
Будет, совместно с родным "основным" BIOS-ом. Тайваньские производители не всегда заморачивались детектированием и переходом на ROM BASIC.
-MiS-
Advanced Member


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


Ссылка


Дата регистрации на форуме:
9 мар. 2016
Удалось невероятными усилиями запустить BASIC
Последовательность записи образов в 32к и скрины как там:
http://www.vogons.org/viewtopic.php?f=46&t=45610#p457325
Плата TD-20 такая же, но биос родной AMI
А не прошло все гладко, из за странного поведения матери! По адресам F600,F800,FA00,FC00,FE00 - Считывается образ BIOSа из 27с64. Если в соседнюю колодку вставить 27с256 с прошитым BASICом, то дампится это как (F600 AND FE00) (F800 AND FE00) и т.д. То есть похоже 27с64 не отключается при считывании 27с256 и содержимое искажается.
Для доказательства этой теории было принято решение набросать переходную панельку и зашить все в 27с512. В нижние 32к которой залито BASICC11.F8+BASICC11.FA+BASICC11.FC+BASICC11.F6 а в верхнюю 4хPCXTBIOS.ROM.
Далее панелька вставлена на место 27с64 с изолированными ногами 1(A15) 26(A13) 27(A14). Далее эти ноги заведены на колодку 27с256 20(CE) 26(A13) 27(A14) соответственно. И все завелось! Как объяснить такое поведение матери и как жить теперь дальше :biggrin:
<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   rom basic своими руками
RSS

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

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

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