Скажу честно, что мне не очень хотелось возвращаться к технологиям 25-летней давности, ассемблеру и допотопным ОС, а лучше сосредоточиться на улучшении программы Victoria 5.xx для Windows.
Поэтому данная работа — скорей эксперимент, чем релиз продукта, и выкладывается также экспериментально. Программа действительно теперь работает с многотерабайтными накопителями, и в ней сохранен почти весь функционал прошлых версий.
Для этого в коде Victoria 3.52 обр. 2006г, было модернизировано несколько десятков мест, где 32-х битные переменные заменены на 64-битные, а арифметические процедуры — на более сложные, способные складывать, вычитать и умножать большие числа. Также была расширена разрядность индикации. Новая версия получила номер 3.54.
Список изменений:
- Добавлена поддержка накопителей объёмом более 1 Тб. До 12 Тб удалось протестировать, больше — пока нет, но после некоторого объёма (около 20 Тб) скорей всего возникнет деление на ноль и вылет. Исправлю это позже.
- Добавлен сброс контроллера при внеплановом появлении DRQ.
- Добавлен ремап не только по таймауту, но и при любой ошибке -однако может срабатывать не всегда.
- Удалён генератор кириллического шрифта (временно, для экономии места под код) — в чистом DOS необходим внешний локализатор.
Также пока не проверялась работа с графиком скорости HDD, из-за отсутствия чистого DOSа. Но и это в дальнейшем — не проблема.
Системные требования остались прежними, возможен запуск в среде Windows XP и Windows 7 (32-х битных) через любую программу, обеспечивающую доступ к портам контроллера HDD, которые следует прописать в команду запуска.
В случае применения драйвера porttalk.sys и прилагающейся к нему утилиты allowio.exe возможный вид команды выглядит так:
allowio.exe 0x9800 0x9C02 0x170 0x376 0x0CF8 0x0CFC vcr354.com
… где 0x170 0x376 — номера портов (базовый и альтернативный) второго канала стандартного IDE-контроллера. 0x9800 0x9C02 — номера портов дополнительного контроллера SATA (если он есть). Дополнительных контроллеров может быть несколько.
0x0CF8 и 0x0CFC — стандартные номера регистров в пространстве PCI-устройств для поиска номеров портов, их менять не нужно.
Разумеется, в чистом DOS никаких дополнительных манипуляций делать не нужно, просто запустите программу Victoria 3.54 и всё.
Документация 2005 г. изменениям не подвергалась (были лишь обновлены контактные данные).
Скачать экспериментальную утилиту можно здесь: