(c) Саша Чуков (), 1999-2000.
(c) Юра Кузнецов (http://pyldin.narod.ru/yura/), 2000-2005.
Пълдин-601 / Пълдин-601A
САМЫЕ ЛУЧШИЕ 8-БИТОВЫЕ КОМПЬЮТЕРЫ
А это (pyldin.exe) - upgrade вашего IBM до Пълдин-601/601A !
версия 3.0
Запуск:
pyldin.exe [/?] [-A name] [-B name] [-L port] [/T] [/P] [/601A] [/260] [/29]
-A (-B) name - назначить diskimage или реальный floppy
на указанный drive, по умолчанию -A A: -B B:
-L port - указать к какому порту подключен принтер на IBM
(1 - LPT1:, 2 - LPT2:, ...), по умолчанию
принимается LPT1:
/T - перенести дату/время из IBM в Пълдин
/P - включить эмуляцию принтера (это отключает эмуляцию
COVOX'а на модели 601 (на модели 601А - COVOX
эмулируется всегда).
/601A - эмулировать модель Пълдин-601A
/260 - эмулировать модель Пълдин'а без хардверной ошибки
(из-за которой на модели Пълдин-601 было 42 символа
в строке и были некоторые проблемы с курсором).
/29 - выводить 28 и 29 строку в текстовом режиме на
модели 601. Ключ /29 введен с целью обойти ошибку
в BIOS 2.60 и позволить выводить на экран системную
строку, которая из-за ошибки в BIOS 2.60 вместо 27
строки выводится со середины 28 строки.
Например, если Вы хотите использовать на Пълдиновском B: реальный дисковод A:
и boot.img на Пълдиновском A:, то следует дать команду:
pyldin.exe -A boot.img -B A:
! ВНИМАНИЕ! При работе под Windows NT/2000/XP крайне НЕ рекомендуется
запускать эмулятор с ключом /P в случае, если к компьютеру не подключен
принтер, иначе возможно зависание эмулятора!
Если у Вас основной BIOS версии 2.50 и ниже, то ключ /260 применять не
нужно (так как этот BIOS написан с учетом хардверной ошибки), а если 2.60,
то нужно, т.к. BIOS 2.60 рассчитан на установку в те модели Пълдина, в
которых нет хардверной ошибки. В случае модели Пълдин-601A наличие или
отсутствие ключа /260 не имеет значения - и в случае BIOS 2.50, и в случае
2.60 все будет работать одинаково, т.к. на модели 601A хардверной ошибки
не было.
Клавиатура:
[Home] - F13
[End] - F14
[Insert] - F15
[ScrollLock] - LAT/КИР
[Серая *] - RES
Клавиши курсора на дополнительной клавиатуре.
Обычные могут работать как надо, а могут работать и
как будто с нажатым [Shift] (переключение - [NumLock]).
Также обычные клавиши не воспринимают нажатый [Shift].
[Alt]+[F4] - выход из эмулятора
[Серый -] - замедлить работу эмулятора
[Серый +] - ускорить работу эмулятора
[Alt]+[Серый +] - полностью отключить замедление
[5 на дополнительной клавиатуре] - звук вкл./выкл.
[Alt]+[F1] - вкл./выкл. информ-строку
[Alt]+[F2] - вкл./выкл. частичную эмуляцию цвета в
режиме screen0 на компьютере Пълдин-601A
[Alt]+[F3] - вкл./выкл. вывод последних 8 пикселов строки
в графических режимах на компьютере Пълдин-601
Латинская раскладка и русская соответствуют IBM-клавиатуре,
соответственно QWERTY и ЙЦУКЕН.
Для снятия файлов-образов с дискет:
flop2img.com drive size [nameimage]
где drive = A: или B:,
size = 360, 720 или 1.44,
nameimage = имя записываемого имиджа, по умолчанию disk.img
Для снятия имиджей также можно применить программу NCDD из
пакета Norton Commander 5.0, она работает быстрее, чем flop2img.com.
Также с помощью NCDD имиджи можно выгрузить обратно на дискету.
Имиджи на 1.44 Мб имеют недостаток, что программа
format.cmd не умеет форматировать на 1.44 Мб.
Минимум ПЗУшек, необходимых для старта:
BIOS.ROM - Основной BIOS для модели Пълдин-601
BIOS_A.ROM - Основной BIOS для модели Пълдин-601A
VIDEO.ROM - ПЗУшка со шрифтами 8х8
Для работы с UniBIOS монитором:
str$09.rom - UniBIOS (расширение BIOS)
Для работы с файлами в мониторе:
str$0D.rom - UniDOS kernel (резидентное ядро UniDOS'а)
Для работы в UniDOS необходима загрузочная дискета или дискоимидж.
И наконец для лучшей работы с UniPascal имейте ПЗУ вместо RUN.CMD
str$08.rom и str$0C.rom - Y-Pascal интерпретатор
Пользуйтесь ПЗУшками с ROM Basic вместо BASIC.CMD
str$0B.rom и str$0F.rom
- это намного удобнее !
Пълдин в Internet
-----------------
http://pyldin.narod.ru/http://solidstate.karelia.ru/~yura/pyldin/http://pyldin.narod.ru/yura/http://solidstate.karelia.ru/~yura/pyldin/yura/
-------------------- История: --------------------
19-aug-2005 Выпущена заключительная версия 3.0 эмулятора.
- Немного оптимизирован код в эмуляторе процессора.
- Ключ /P теперь наоборот, включает эмуляцию принтера.
12-mar-2003 Исправлена ошибка в эмуляторе принтера.
09-mar-2003 Исправлена ошибка в замедлителе и немного оптимизирован
эмулятор функции INT_$17 (теперь, как и в случае реального
INT_$17, в UniBASIC не выводится буква обращения к дисководу).
22-feb-2003 Исправлены некоторые ошибки в эмуляции принтера.
25-sep-2002 Исправлена ошибка: раньше при задании значений
меньше предыдущего для видеорегистров, отвечающих
за число символов в строке/столбце - не очищалась
неиспользуемая теперь часть экрана справа/внизу.
В случае модели 601 с хардверной ошибкой теперь,
как и на реальном Пълдине, в текстовом режиме на
экран выводится на 2 символа меньше, чем задано в
соответствующем видеорегистре.
18-may-2002 Немного оптимизирован замедлитель.
14-may-2002 Добавлен ключ /29.
26-apr-2002 Сделана полная эмуляция принтера и эмуляция COVOX'а.
02-apr-2002 Добавлена эмуляция принтера (запись в файл printer.log)
и электронного RAM-диска на 512 Кб.
october, Оптимизированы некоторые узлы эмулятора. Добавлена
november-2001 возможность работать с BIOS 2.60 на модели Пълдин-601
(ключ /260). Исправлена ошибка во flop2img (раньше
при работе под чистый DOS в случае только что
вставленной дискеты неправильно считывался BOOT-сектор).
19-sep-2000 Исправлена ошибка в TIMER-прерывании. Теперь при работе
эмулятора под чистый DOS не останавливаются IBM'овские
часы, а также стал выключаться мотор дисковода после
прекращения чтения/записи дискеты.
14-sep-2000 Добавлена кнопка Alt-F3, разрешающая вывод крайних 8
пикселов в графических режимах на модели Пълдин-601.
13-sep-2000 Добавлена кнопка Alt-F2, включающая частичную эмуляцию
цвета в режиме screen0 на Пълдин-601A.
12-sep-2000 Под Windows NT/2000 теперь нормально слышен звук. Добавлена
возможность при запуске устанавливать в Пълдине IBM'овские
дату/время. Исправлена ошибка в эмуляции инструкции SWI.
01-sep-2000 Исправлена ошибка в процедуре инициализации дисководов.
28-aug-2000 Исправлена ошибка - по команде в мониторе f000.ffffs bios.rom
теперь записывается BIOS, как и на реальном Пълдине, а не
текстовый экран, как это было ранее из-за недоделки. Также
исправлена небольшая ошибка в драйвере клавиатуры.
03-aug-2000 Устранены небольшие недоделки в эмуляции LDAA_direct,
LDAB_direct, LDS и LDX (там было пропущено обнуление
флага oVerflow).
26-jul-2000 Сделана эмуляция мигания текста в режиме 0 на Пълдин-601A
(бит 7 в атрибуте цветности).
25-jul-2000 Добавлена возможность убирать информационную строку (Alt-F1).
Сделана эмуляция фона в режиме 0 на Пълдин-601A. Устранены
небольшие недоделки в драйвере клавиатуры.
14-jul-2000 Теперь анализ $ed12 ведется непосредственно при перерисовке
экрана, а не вместе с изменением $e629 (раньше все работало
нормально лишь потому, что прерывание BIOS int $12 сначала
изменяет $ed12, а потом уже $e629). Ликвидирована очень
серьезная ошибка, связанная с курсором - добавлена прорисовка
линий от cur_end до 7 - теперь экран перестал смещаться вниз,
если cur_end меньше 7.
13-jul-2000 Добавлена эмуляция компьютера Пълдин-601A.
12-jul-2000 Теперь информация о состоянии замедлителя и звука сохраняется
после выхода из эмулятора. Добавлена информационная строка
в пустующей области экрана.
11-jul-2000 Полностью переписан эмулятор экрана. Стала видна 26 строка.
27-jun-2000 Немного доработана эмуляция курсора.
22-jun-2000 Доработан замедлитель. Доработаны опции командной строки.
Ликвидирован глюк зависания сетевой страницы ULan 1.11.
Добавлено дублирование адресов $e600>$e604, $e601>$e605 и
$e62a>$e62e>$e63a>$e63e. Заработали программы show.cmd
и mred.cmd. Добавлена функция 0x80 в INT17emulator().
21-jun-2000 Полностью доработан виртуальный процессор. Теперь все команды
сдвига правильно устанавливают флаг oVerflow, заработал
транслятор с ассемблера uasm.cmd. Команды ADDA/ADDB теперь
правильно устанавливают флаг Half_carry, а DAA не меняет его.
Добавлен замедлитель.
----------- С 01-feb-2000 по 14-feb-2000 над эмулятором работал
А. Чуков, а с 21-jun-2000 и далее - Ю. Кузнецов.
14-feb-2000 Исправлена ошибка эмуляции команды DAA, теперь с ROM Basic-ом
нормально работает INT_25, так как Basic заменяет эту функцию
UniBIOS своей, котороя использует команду десятичной коррекции.
Исправлен глюк зависания при нескольких RESET. Также сейчас
некорректные команды игнорируются подобно NOP. Добавлена
частичная эмуляция размеров курсора и мигание ($0A, $0B 6845).
11-feb-2000 Добавлены опции командной строки, доработана сдиралка имиджей
диска. Исправлены глюки в драйвере клавиатуры. Удалена кнопка
загрузки CMD файла с адреса $100.
07-feb-2000 Изменен способ эмуляции экрана, теперь работает текст и
графика! Эмуляция курсора (не полная).
Контроллер дисковода Пълдина работает с PC контроллером, читает
и пишет диски, но как и в натуральном Пълдине с глюками,
так что добавлен перехват и эмуляция INT_$17 чтоб работать
с дисковыми имиджами (flop2img.exe для сдирания с дискет) или
реальными дискетами!!!
Так же счас работают все проги что я опробовал:
UniDOS, UniBIOS, TriLogo, UniBasic, UniLoad, UniEd, UniAsm,
UniLink, Chaser, Rally, GD, Fairy, Wait, YShow, Y-Pascal interp
rom & disk version, UPC, UPL, E90, GB, PGZ, GameBIOS, Anima.
04-feb-2000 Устранены ошибки в эмуляции COM и SUB, SBC. Исправлена ошибка
в переключателе страниц. Добавлена эмуляция динамика и клавиша
позволяющая грузить .CMD программу в память с адреса $100.
Запускаются программы: UniDOS + UniLoader (rom версия),
UniBIOS, Wait.cmd (звездное небо), UniBASIC.cmd.
Запускается но выходит с ошибкой UniED.cmd.
01-feb-2000 Первая официальная бета версия.