PDA

Просмотр полной версии : Альтаир ДОС v3.x



Error404
15.04.2010, 17:32
Скопировано из Орион-2010. Hard & Soft (http://zx.pk.ru/showthread.php?p=275608#post275608), сообщение 851 (http://zx.pk.ru/showpost.php?p=275608&postcount=851)

АльтаирДОС V3.4t - версия CPM со штатной поддержкой TTY (консоли RS-232 по схеме Орион-2010) на базе версии АльтаирДОС V3.4s с поддержкой SD-карт и IDE-устройств (http://zx.pk.ru/showpost.php?p=251765&postcount=1).
Во вложении этого сообщения: скриншот иллюстрирующий переключение между консолями (это делается классической командой STAT.COM прямо из CPM, не исключено, что заработает и PIP.COM для передачи файлов). Oбраз для заливки на SD-карточку (этот же образ заливаем и на IDE) можно загрузить тут (http://orion-z.mylivepage.ru/file/337/5981_dos-tty6-sd.zip).

Почитать про STAT и PIP:
http://www.iso.port.ac.uk/~mike/interests/chistory/documents/cpm-22-manual/ch1.html

Грузить ОС с SD-карт можно при помощи загрузчиков ранее уже опубликованных в этом посте:
http://zx.pk.ru/showpost.php?p=262906&postcount=31

Описание пока только в виде Release Notes и старых описаний (док_альтаир (http://zx-pk.ru/attachment.php?attachmentid=39317&d=1358144040), док_срм (http://zx-pk.ru/attachment.php?attachmentid=16815&d=1269540563)):


Altair DOS V3.4t (2010.04.14)
-----------------------------

+ Добавлена нативная (в BIOS, управляемая стандартным для CP/M способом через
IOBYTE) поддержка устройства TTY (RS-232 консоль стандарта Orion-2010 -
порты 0F764, 0F765).
Консольные вызовы для TTY не векторизируются (для ускорения).
Поэтому если необходимо использовать внешний драйвер TTY (обычно внешние
драйвера консоли используют векторизацию CONSTATUS/CONIN/CONOUT на векторах
0F307H, 0F30AH, 0F30DH), то включайте через IOBYTE режим CRT (см. команду
IOBYTE файла config.sys ), в этом режиме консоль векторизирована как это
было и ранее, когда поддерживался только CRT.

+ В файле config.sys добавлена команда "IOBYTE", устанавливающая соответствующую
переменную CP/M (см. описание функции 8 BDOS, описание CP/M IO Byte, описание
тразитных команд STAT.COM, PIP.COM). Параметр команды - 8-битное число
(в config.sys вводится в десятичном виде), которое представляет собой битовую
маску соответствия логических и физических устройств по отношению 4:4.
В V3.4t реализована только возможность выбора CRT/TTY для устройства CONSOLE.
Пример:
IOBYTE 149 ; 149=95H - default console=CRT ; 148=94H - default console=TTY

+ В файле config.sys добавлена команда "TTY", конфигурирующая порт UART (RS-232) -
устанавливающая скорость обмена и режим чтения (Interrupt/Poll). Параметр
команды - скорость обмена (бит/с). Возможные варианты скорости - 4800, 9600,
19200, 38400. Режим Interrupt/Poll устанавливается в зависимости от того, с
каким параметром была ранее применена команда INT_IO (см. ниже).
Пример:
TTY 9600

+- В части реализации TTY расширена функциональность команды "INT_IO"
файла config.sys:
"INT_IO 0" - дисковые операции ввода-вывода не прерываются по int
(обработка прерываний приостанавливаются по DI/EI);
опрос готовности TTY-консоли на прием выполняется в режиме POLL
(опрос готовности в цикле)
"INT_IO 1" - прерывания никогда не выключаются, даже во время дискового IO;
TTY-консоль на прием работает по прерыванию от устройства RS-232.

По умолчанию (если в config.sys не применялась команда IOBYTE), консолью является
устройство CRT (графический экран и штатная клавиатура). TTY по умолчанию (если в
config.sys не применялись команды INT_IO, TTY), работает в режиме POLL на скорости
4800 бод.
Ячейка 0F3FFh содержит текущую конфигурацию порта RS-232 (копия значения,
выводившегося при обработке config.sys в порт 0F765h). Эту ячейку внешние программы,
меняющие настройки RS-232, могут использовать для установки исходных настроек порта
после своего завершения.



Altair DOS V3.4s (2010.03.27)
-----------------------------

+ Добавлена поддержка SD-карт (формат SDC - т.е. емкостью не более 2G) - устройство SDCARD.
Схема N8VEM или MSX (при старте ОС выполняется автодетект схемы).
IDE по-прежнему поддерживается - устройства MASTER и SLAVE.

+ При дисковом вводе-выводе добавлена возможность управлять режимом выключения
прерываний. Это настраивается командой INT_IO файла config.sys.
"INT_IO 0" - дисковые операции ввода-вывода не прерываются по int
(обработка прерываний приостанавливаются по DI/EI).
"INT_IO 1" - прерывания никогда не выключаются.

+- Изменена команда CCP MNT (подключение устройств к символам дисков):
MNT DRIVE:DEVICE[.PARTITION]
- mount device { FDD0 | FDD1 | VDISK | MASTER | SLAVE | SDCARD | NONE }
if device = { MASTER | SLAVE | SDCARD } then also specify PARTITION (0,1,2,3)
"NONE"=unmount
map to drive letter { DRIVE }
MNT DRIVE:
- show device, mounted to this drive letter
MNT
- show all devices, mounted to all drive letters

+- Изменена команда ASSIGN файла config.sys в части IDE и SD устройств.
Примеры нового формата синтаксиса (устройства и нумерация партиций как в команде MNT):
ASSIGN DRIVE C = SDCARD 0 ; mount 1-st partition of SD-card
ASSIGN DRIVE D = SDCARD 1 ; mount 2-nd partition of SD-card
ASSIGN DRIVE D = MASTER 0 ; mount 1-st partition of IDE-Master
ASSIGN DRIVE D = SLAVE 1 ; mount 2-nd partition of IDE-Slave
ASSIGN DRIVE C = SLAVE 3 ; mount last (4-th) partition of IDE-Slave

+- Количество одновременно подключенных партиций с любых комбинаций устройств увеличено
с двух (в версии V3.4i) до трех (в V3.4s). Максимальных суммарный объем подключенных
(смонтированных) партиций не должен превышать 100Mb.

+ Новые сообщения об ошибках, возникающищ при монтировании партиции:
"HDD slot not found" - все 3 имеющихся точки монтирования партиций уже заняты.
Решение: отмонтировать что-то ненужное командой "MNT D:NONE".
"CP/M not found" - попытка монтирования партиции, тип которой отличается от CP/M (52h)
Решение: создать CP/M-партицию можно программой FDISK.COM.
"DPB not found" - попытка монтирования партиции, тип которой CP/M (52h), но при
этом bootsector партиции не содержит DPB (нет корректной ФС).
Решение: создать файловую систему (DPB) можно программой FDISK.COM.
"ALV not found" - Для монтируемой файловой системы требуется буфер ALV, который с
учетом других уже смонтированных партиций не помещается в текущий
буфер CPM. Размер буфера ALV пропорционален размеру файловой системы
(то самое ограничение 100Мб).
Решение: умерить аппетиты при создании файловой системы
программой FDISK.COM.
"Bad command" - попытка отмонтировать текущий диск
Решение: сначала установить текущим (перейти на) другой диск.

+- Драйвер IDEBDOS.COM (требуемый для FDISK.COM, FAT.COM) доработан для поддержки
SD-карт - см. встроенный хелп про параметр "SD". Также добавлен новый параметр
"NOINT" - если он указан, то операции ввода-вывода не прерываются по int.
Выполняется автодетект обеих схем подключения SD-карт (N8VEM и MSX).

+- Утилита FDISK.COM теперь создает файловые системы с размером блока не 8кб, а 16кб
(блок 16к - это максимум для CP/M 2.2), что позволяет вдвое снизить требования к
размеру буферов ALV (и добиться ранее упоминавшегося объема одновременно
монтируемых партиций в 100Mb).



Altair DOS V3.4i (2009.10.10)
-----------------------------


+ Добавлена команда команда CCP MNT (подключение устройств к символам дисков):
MNT DRIVE:DEVICE_SLOT[.PARTITION]
- mount device { FDD0 | FDD1 | IDE0 | IDE1 | VDISK | NONE } // NONE=unmount
if device = { IDE0 | IDE1 } then also specify PARTITION (0,2,4,6=MASTER ; 1,3,5,7=SLAVE)
to drive letter { DRIVE }
MNT DRIVE:
- show device, mounted to this drive letter
MNT
- show all devices, mounted to all drive letters

+ При обращении к IDE на запись/чтение выключаются прерывания
(сделано на всякий случай - на реале и без этого работало, но... были подозрения)

- Исключена команда CCP SAVE (место в CCP не резиновое)

+- Исправлена ошибка с записью сектора на IDE при работе IDE на порту F600.
На порту F500 эта ошибка не проявлялась (все работало нормально).



Altair DOS V3.4h, V3.3 и предыдущие
-----------------------------------

V3.4h - Первая принципиальная возможность работы с IDE-устройствами на i8255
на порту F500/F600.
Более ранние изменения не фиксировались.



UPD 17.04.2010
В образ диска добавлена утилита XGET.COM - копирование с PC на Орион по XMODEM.

UPD 23.05.2010
В образ диска (в USER 1) добавлена утилита KERMIT4.COM - Легендарная терминальная программа Кермит.

UPD 1.06.2010
В образ диска (в USER 1) добавлена утилита XPUT.COM - копирование с Ориона на PC (или другой Орион :) ) по XMODEM.

UPD 24.06.2011
В образ диска (в USER 1) добавлена утилита TELNETD.COM - чисто по приколу :)
... UPD 07.07.2011 и HTTPD.COM

Error404
13.03.2012, 14:14
Выделил эту разработку в отдельный тред т.к. других развивающихся клонов CP/M на Орионе явно уже не будет, а по этой есть вопросы для обсуждения.

Error404
13.03.2012, 14:26
Новая версия - "АльтаирДОС V3.4r".
Сделал доработку, благодаря которой ОС может работать из ROM-диска.
Предполагается использование большого ROM-диска (более 64к), в котором первые 64к отдаются ОРДОС, а в прочем объеме живет CP/M (внутри BIOS CP/M поддержка ROM-диска реализована как новое штатное устройство ROM, которое можно подмонтировать/отмонтировать как и прочие уже имевшиеся устройства: FDD0, FDD1, MASTER (ide0), SLAVE (ide1), SDCARD, VDISK).

Страницы ROM-диска имееют размер 64к и переключаются портом (номер которого надо обсудить: пока используется 0FCh, но он используеутся на Орион-ПРО как порт цвета псевдоцветного режима. Может использовать порт 0FEh, в нем свободны биты D0..D3 - как думаете? Вроде конфликта с пищалкой 0FEh_битD4 с Z80 card не будет? Что еще может быть на порту 0FEh?). По включению питания и RESET регистр страниц ROM-диска сбрасывается и имеем ORDOS, далее загрузчиком MBOOT можно загрузить из ROM-диска CP/M.

Для формирования образов CP/M, дописываемых в ПЗУ вслед за 64к ОРДОС, оказалось удобно пользоваться плагином odi.wcx (добавил в него описатель соответствующего формата из расчета на максимум - мсх 27С080/27c081 объема 1Мб - это максимум что бывает в 32-выводном корпусе ДИП).

Пока что все живет в эмуляторе, жду Орион-rev512, на котором это буду внедрять в железе. :) На мой взгляд, иметь в ROM CP/M это очень полезно на этапе отладки пока не работают другие устройства. Из-под CP/M можно запускать утилиты тестирования, вменяемые (в отличие от) средства разработки, или те же игры для Z80

Ewgeny7
13.03.2012, 18:51
Пока что все живет в эмуляторе, жду Орион-rev512, на котором это буду внедрять в железе
Тем интересней будет заниматься этой версией Ориона :)
Когда уже плату сделают, детали давно приехали.

aviator
13.03.2012, 19:31
А я вот думаю, после того, как закончу наладку "Орион-128" в "канонiчном" :) варианте об орионе на ПЛИС. Точнее не весь, а системная логика. Так проще будет эксперименты экспериментировать. :)

Error404
13.03.2012, 21:08
А я вот думаю, после того, как закончу наладку "Орион-128" в "канонiчном" :) варианте об орионе на ПЛИС. Точнее не весь, а системная логика. Так проще будет эксперименты экспериментировать. :)

Да, про такое тоже думалось. Я в свое время надеялся, что такой Орион можно будет реализовать на платформе ZXEvolution, но к сожалению, что бы ни делали коллеги-авторы ZXEvo, у них всегда получается танк[зачеркнуто] Пентагон {даже не АТМ}, и Орион туда в силу ряда "особенностей разработки" по-нормальному не впихнуть. А Пентагон мне никогда нафиг не был нужен.

Mick
13.03.2012, 21:16
, и Орион туда в силу ряда "особенностей разработки" по-нормальному не впихнуть.

Ну Орион-совместимый скорее всего можно впихнуть. А вот оригинальный там уж точно не получится сделать.

aviator
13.03.2012, 22:05
Будет время - накидаю примерную схемку, как это должно выглядеть.

Error404
13.03.2012, 22:47
Ну Орион-совместимый скорее всего можно впихнуть. А вот оригинальный там уж точно не получится сделать.

Там некоторые связи на FDD/IDE идут не через ПЛИС, плюс наверняка SD-контроллер тоже сделан через одно место. Да и слоты поди опять же под орионовские сигналы хрен переточишь. А делать "сферический Орион в периферийном вакууме" при кажущемся наличии наплатной периферии (SD/IDE/FDD), нафига оно надо? Голый Ордос из ПЗУ запускать? В-общем в этом смысле там все очень-очень грустно, даже в маленьком Орионе-2010 гораздо веселее.

alx32
28.05.2012, 15:03
Error404, а какой объём IDE устройства может использовать АльтаирДОС, или возможно использовать несколько разделов диска?

Error404
28.05.2012, 15:23
Error404, а какой объём IDE устройства может использовать АльтаирДОС, или возможно использовать несколько разделов диска?

Можно использовать до 4-х разделов на каждом устройстве (стандартная схема MBR-разделов с РС), но не более трех одновременно смонтированных, и общим объемом для смонтированных не более 50Мб (если разделы форматированы блоком 8кб) или 100Мб (если разделы форматированы блоком 16кб - максимальным для CP/M). Это не ограничение CP/M как таковой, это ограничение накладывается тем сколько выделишь под буфер ALV при имплементации BIOS. Выделяется это в ОЗУ, и фактически за счет TPA (размера ОЗУ пользовательских программ), поэтому выделять много - жалко. У меня под все ALV выделено 800 байт, т.е. 800*8=6400 блоков по 8192 или 16384 байт

alx32
28.05.2012, 20:30
То есть, в нашем случае (512Кб), возможно иметь несколько 100Мб разделов и перемонтировать их по мере необходимости?

Error404
29.05.2012, 00:55
То есть, в нашем случае (512Кб), возможно иметь несколько 100Мб разделов и перемонтировать их по мере необходимости?

Ну типа того. Командой MNT в ССP (в консоли) или командой ASSIGN в config.sys.
Там еще флоппики по мелочи подъедают буфер ALV, и электронный диск. Т.е. 100Mб на HDD это теоретически, на практике из-за прочих девайсов - меньше. Конкретный предел для HDD я точно не считал, да и он чуть варьируется от версии к версии ОС. Но например у меня работало одновременное монтирование раздела 64Мб и 10 Мб, форматированных максимальным блоком 16к (так делает последний fdisk v1.4; v1.3 и старее делали блок 8к).

Другое дело - а чего там хранить то? У меня орионовских архивов едва на один раздел в 64к набирается. :)

alx32
29.05.2012, 01:12
Понятно, ну будем пробовать, к стати, high tech C где можно раздобыть?

Error404
29.05.2012, 09:07
Понятно, ну будем пробовать, к стати, high tech C где можно раздобыть?

На CP/M - варезниках. Например, тут (http://www.z80.eu/c-compiler.html)

Раньше еще можно было скачать с родного сайта производителя (версия для СР/М раздается им бесплатно), но сейчас я что-то не нахожу.

tnt23
29.05.2012, 11:08
Aztech C для 8080 и Z80 под CP/M: http://www.aztecmuseum.ca/compilers.htm#cpm

Error404
29.05.2012, 18:59
Обновил эмулятор (http://orion-z.mylivepage.ru/file/335/6221_OrionZEmu.zip) у себя на странице - добавлен режим эмуляции страниц ROM-диска (страницы по 64к переключаемые D0..D3 порта 0FEh), на плате Ориона rev512 для этого запланирована ТМ9. Там же выложил образ ПЗУ для прошивки в мсх типа 27с081 (http://orion-z.mylivepage.ru/file/?fileid=6248) (1Мб) под которую расчитан ROM-диск Ориона rev512. Эта прошивка (romdisk8.bin размером 1M) содержит в первых 64к ромдиск с Ордос и в остальном объеме - CP/M, работющую из ROM-disk. CP/M грузится под ордос утилитой MBOOT$. Орион должен поддерживать выбор страниц ROM-disk-а портом 0FEh.

Под CP/M (AltairDOS v3.5r) имеется:

настроечные файлы (config.sys, autoexec.bat) и описания (User0),
несколько музыкалок для AY (User1 - файлы *.ASM, SND, STM - проигрывать их при помощи unipl2.com),
несколько игр от спектрума (User2),
подгружаемые фонты (User3),
исполняемые бинарники для CP/M (User15).


Типа, прошиваем - и тестируем хорошо ли встал Z80-card. :)
А то НГМД пока что мало кто собрал, а контроллер SD-card и подавно.

Игры записаны последними и занимают примерно половину объема.
Поэтому если образ прошить в ПЗУ типа 27040 / 28040 (512кб), то все будет работоспособно, но игры запускаться не будут.

В блоке Ордос поправил:

утилиту test2sd$ - теперь с ее помощью можно сохранять/прочитывать страницы памяти Ориона (фактически, квазидиски Ордос) на Sd-карту без поддержки файловой системы (в RAW режиме - по тому же принципу, что и в утилитке Ewgeny7, но чуть удобнее: можно задавать сколько данных и в какую часть SD-карты записывать). Не сложно допилить туда поддержку и IDE, но пока не делал ибо сомневаюсь - а надо ли.
утилиту MBOOT$ - теперь она грузится со всех известных на Орионе носителей: SD, ROM, IDE, FDD. Кроме ленты конечно, с ленты грузит CH$, оно в ром-диске есть (а я магнитофонный ввод и паять не буду).


В каталоге эмулятора /ROM выложил Монитор M37zrkr - он умеет при включении питания не только Ordos загрузить, но при определенном шаманстве - и файл по XModem (описание в комплекте). Типа, в помощь собирающим адаптер RS-232.

b2m
29.05.2012, 21:15
Конфиг, биос и rom-диск (ссылка (http://bashkiria-2m.narod.ru/files/orion512.rar)) три-в-одном для моего эмулятора. :)

alx32
29.05.2012, 22:13
Error404, посмотрите личку.

Error404
02.06.2012, 16:53
Там же выложил образ ПЗУ для прошивки в мсх типа 27с081 (http://orion-z.mylivepage.ru/file/337/6224_romdisk8.zip) (1Мб) под которую расчитан ROM-диск Ориона rev512. Эта прошивка (romdisk8.bin размером 1M) содержит в первых 64к ромдиск с Ордос и в остальном объеме - CP/M, работющую из ROM-disk. CP/M грузится под ордос утилитой MBOOT$. Орион должен поддерживать выбор страниц ROM-disk-а портом 0FEh.


Перепилил ACPM-овскую утилиту sysinfo.com, чтобы она работала и в моей версии CP/M (теперь она работает везде где есть цветной драйвер 480 точек - пользовать вместо не работающего в Altair-DOS speed.com) и показывала более осмысленные значения, чем в оригинале. Типа тестировать производительность ваших вариантов турбирования Z80. Добавил ее в romdisk8 на моей страничке. Также во вложении. А выглядеть это должно примерно так:

b2m
02.06.2012, 22:00
показывала более осмысленные значения
А как там время и такты считаются? А то у меня в эмуляторе показывает ровно 2.0 МГц, хотя в конфиге стоит 5МГц.

Ewgeny7
02.06.2012, 22:28
А то у меня в эмуляторе показывает ровно 2.0 МГц, хотя в конфиге стоит 5МГц
Не 2.0Мгц, а коэффициент 2.0 (2.5Мгц х 2.0 = 5.0Мгц).

b2m
03.06.2012, 00:30
Хы, а буквы-то я и не заметил :)

Error404
09.06.2012, 19:21
В образе для ПЗУ (http://orion-z.mylivepage.ru/file/337/6227_romdisk8.bin)поправил работу команды ASSIGN в config.sys CP/M (теперь на несуществующих, но заданных в ASSIGN приводах IDE/SD оно не стопорится) и test2sd в ОРДОС (теперь оно работает не только с SD, но и с IDE). Кто-нить сможет попробовать на реале, у кого есть и IDE и SD ?

Прошивка romdisk8.bin (размером 1M) содержит в первых 64к ромдиск с Ордос и в остальном объеме - CP/M, работющую из ROM-disk. CP/M грузится утилитой MBOOT$. Орион должен поддерживать выбор страниц ROM-disk-а портом 0FEh. Только для Z80!

Ewgeny7
09.06.2012, 22:17
Млин, опять пентЭву курочить... (я на ней прошиваю большие ПЗУ).

---------- Post added at 21:47 ---------- Previous post was at 21:46 ----------


Кто-нить сможет попробовать на реале, у кого есть и IDE и SD ?
да сможет, сможет... :)

---------- Post added at 21:49 ---------- Previous post was at 21:47 ----------


и test2sd
Сергей, как сохранять диски Ордос на карте? Опиши, пожалуйста. А то я первым делом грохнул первую партицию SD при "экспериментах"

---------- Post added at 22:17 ---------- Previous post was at 21:49 ----------

Залил, проверил. отсутствующие девайсы просто немного дольще "думают".
В Тест2СД обнаружил глючок - при входе выбран N8M. Переключаемся кнопой D на другие устройства, всё еормально, но вернуться к N8M более не удается.
Скрин прилагаю.

Error404
09.06.2012, 22:55
Сергей, как сохранять диски Ордос на карте? Опиши, пожалуйста. А то я первым делом грохнул первую партицию SD при "экспериментах"


Описал тут (http://zx.pk.ru/showpost.php?p=514453&postcount=19)



В Тест2СД обнаружил глючок - при входе выбран N8M. Переключаемся кнопой D на другие устройства, всё еормально, но вернуться к N8M более не удается. Скрин прилагаю.

Оно пишет MSX, но работает на самом деле по реально присутствующей схеме (N8VEM) - глюк только в отображении. Я про него знаю, пока не решил как попроще переписать, чтобы серьезно ничего не менять. :)
Попробуй - чтение/запись на SD должны идти, в эмуляторе работает.

Ewgeny7
09.06.2012, 23:43
Попробуй - чтение/запись на SD должны идти, в эмуляторе работает
Да, работает :)

---------- Post added at 23:43 ---------- Previous post was at 23:39 ----------


Описал тут
Интерфейс в стиле юниксоидов? :)
Не, моя версия с "более человеческим лицом", циферки не надо набивать. Два тыка - и готово.

Error404
10.06.2012, 00:03
Интерфейс в стиле юниксоидов? :)
Не, моя версия с "более человеческим лицом", циферки не надо набивать. Два тыка - и готово.

Зато для карт любого размера. И можно записать несколько дисков ОРДОС на одну карту (с разным смещением).
И можно использовать как примитивный редактор диска.

Кстати, значения по умолчанию (Count=1,Page=0,Address=5000,LBA=0) хранятся в конце программы. Их можно выставить в коде в удобные (например для диска "В" ОРДОС), и тогда после запуска программы только нажимать кнопки R/W (чтение/запись). Получится аналог того как ты хотел, только параметры можно и с клавиатуры задать при необходимости - отличающиеся.

Error404
11.06.2012, 15:05
Допилил tst2sd$.
Теперь по умолчанию при запуске программы ставится банк:адрес=1:0000, количество секторов 120 (78Н), LBA=MAXLBA-78H (такое значение LBA ставится начальным всегда при выборе устройства кнопкой "D"). Также упрощено переключение банков памяти (кнопка "G") и выбор области записи на карте - автоматом вычитает из текущего LBA количество секторов заданное в COUNT (кнопка "M") - удобно для перемещения "под потолком" карты.

Т.е. для записи/чтения диска "B" ОРДОС достаточно войти в прогу и нажать "W" или "R".
Для записи/чтения диска "C" ОРДОС достаточно войти в прогу и нажать сначала "G", затем "W" или "R". Для записи/чтения диска "D" ОРДОС - войти в прогу и нажать сначала "G" дважды, затем "W" или "R".

Все прочие функции сохранены. Как и ранее можно делать с SD-картой или MasterIDE/SlaveIDE что угодно, но надо вводить цифирьки. :)

Также схема SD карты теперь показывается всегда соответствующе.

Выложено в образе ПЗУ на страничке (http://orion-z.mylivepage.ru/file/337/6228_romdisk8.zip) и отдельно файлом ORD во вложении этого сообщения. В принципе считаю что по критерию "лучше чем ничего" прога вполне проходит, больше допиливать врядли есть смысл.

aviator
11.06.2012, 15:28
Киньтесь, пожалуйста, образом IDE Altair DOS, а то со странички Error404 не скачивается...

Error404
11.06.2012, 15:42
Киньтесь, пожалуйста, образом IDE Altair DOS, а то со странички Error404 не скачивается...

Почему? Каким логином заходите на mylivepage? Возможно не добавлены в друзья.

Во вложении. Этот образ как на IDE, так и на SD можно записывать.
Там только системные программы, если надо с играми, то берите этот (http://orion-z.mylivepage.ru/file/335/5706_GAMES-sd.zip)(он больше - его на этом форуме не выложишь, и старее: без поддержки RS-232)

А вообще, самый последний сейчас - работающий из ПЗУ. Там теперь один и тот же код ОС как для ПЗУ, так и для IDE/SD, (пишется на системные треки), только надо чтобы драйвер был тот что в ПЗУ-шном наборе (driver.sys 13кб размером). Можно загрузиться из ПЗУ, power-ом скопировать систему в файл и записать на SD/IDE при помощи fdisk. Как это делать описано в ФАК в соседнем треде.

aviator
11.06.2012, 17:09
Спасибо! Как раз надо с системными программами

---------- Post added at 17:09 ---------- Previous post was at 15:44 ----------

Error404, работает, грузится с IDE. Только при выборе диска A: в загруженной системе ругается "BDOS error on A: Select". КНГМД естественно рабочий.

alx32
11.06.2012, 17:27
Спасибо! Как раз надо с системными программами

---------- Post added at 17:09 ---------- Previous post was at 15:44 ----------

Error404, работает, грузится с IDE. Только при выборе диска A: в загруженной системе ругается "BDOS error on A: Select". КНГМД естественно рабочий.

С чего грузишь?

aviator
11.06.2012, 18:31
C CompactFlash карточки, т.е. с IDE. Сам КНГМД и CP/M с дискет грузятся и работают на 2 дисковода как часы.

---------- Post added at 18:31 ---------- Previous post was at 18:30 ----------

P.S. МГТФ закончился... Подключение расширения на 480 точек откладывается (осталось разъём к платке расширения распаять и на плате пару дорожек перерезать).

Error404
11.06.2012, 21:15
Спасибо! Как раз надо с системными программами

---------- Post added at 17:09 ---------- Previous post was at 15:44 ----------

Error404, работает, грузится с IDE. Только при выборе диска A: в загруженной системе ругается "BDOS error on A: Select". КНГМД естественно рабочий.

а что показывает команда mnt ?

aviator
11.06.2012, 21:19
показывает, что A: соответствует первый флопик, FDD0 по-моему.

---------- Post added at 21:19 ---------- Previous post was at 21:17 ----------

Собственно, дисковод выбирается, мотор запускается, головки двигаются.

Error404
17.06.2012, 14:49
самый последний сейчас - работающий из ПЗУ. Там теперь один и тот же код ОС как для ПЗУ, так и для IDE/SD

Есть некоторое количество ПЗУ 27c801 (1Mb), прошитых этой прошивкой (http://zx.pk.ru/showpost.php?p=511013&postcount=17) (ORDOS + CP/M) - рассчитаны на доработку по выбору страниц ROM-диска на TM9(TM8). Отдаю безвозмездно, то есть даром (т.к. самому отдали так же) по количеству работающих Орионов. Желателен самовывоз. :)

Error404
20.06.2012, 14:31
Тут образ FDD-диска последней Altair Dos 3.5r в версии загрузки с дисковода:
http://orion-z.mylivepage.ru/file/337/6234_AltairDos35r_fdd.zip

Должна одинаково грузиться как третьим (уже сейчас) пунктом MBOOT$ , так и четвертым (когда разгребутся непонятки с контроллером FDD)

perestoronin
04.01.2015, 01:22
Тут образ последней Altair Dos
Хостинг мёртв, прошу выложить архивы в другое место.

Error404
04.01.2015, 11:13
Архивы есть на FTP parthner-а (если не путаю ник). Заниматься архивами сейчас некогда - зарылся с головой в Юзиксе.

Error404
04.01.2015, 17:58
Или напишите, что именно нужно - большинство осталось в виде не разобранных архивов, можно поискать.

Просто восстанавливать как оно было - с описаниями к каждому архиву и картинками, это я не скоро осилю (если вообще осилю). Надо было конечно сделать копию сайта пока он работал, но теперь уже поздно.

SYR-ALEX
12.02.2015, 16:40
Запустил свой ОРИОН128 ,на плате из 90-х ,512к,Z-CardII,480 а также есть желание подогнать поры под ОРИОН2010 +RS232. Есть HDD Seagate ST9810A (811.3 MB - 1572 CYLS - 16 HDS - 63 SECT ) , хочу подключить но не могу никак скачать\найти образ для заливки. Может кто поделится и объясните пожалуйста как винт подготовить под CP/M. Или может сразу SD делать ?

Error404
13.02.2015, 12:51
Запустил свой ОРИОН128 ,на плате из 90-х ,512к,Z-CardII,480 а также есть желание подогнать поры под ОРИОН2010 +RS232. Есть HDD Seagate ST9810A (811.3 MB - 1572 CYLS - 16 HDS - 63 SECT ) , хочу подключить но не могу никак скачать\найти образ для заливки. Может кто поделится и объясните пожалуйста как винт подготовить под CP/M. Или может сразу SD делать ?

Можно взять пред-пред-последнюю версию отсюда:
http://zx-pk.ru/showpost.php?p=514811&postcount=31

Или можно взять последнюю версию отсюда:
http://zx-pk.ru/showpost.php?p=776311&postcount=38
заодно и UNIX проверишь :)

Образы диска что для IDE что для SD - одинаковые, Альтаир Дос при старте сама разбирает с чего ее загрузили. Небольшое отличие не относящееся собственно к загрузке ОС, описано тут:
http://zx-pk.ru/showpost.php?p=776447&postcount=43

IDE должен быть подключен к порту принтера (F600 - третья ВВ55) по схеме переходника с пятью инверторами (одна ЛН1 - схема где-то тут пролетала: http://zx-pk.ru/showthread.php?t=9675 ).

Как заливать образы на IDE/SD при помощи HddUtil (она во вложени) описано тут, второй пост:
http://zx-pk.ru/showthread.php?t=12771
В принципе подойдет любой PC-копировщик образов на диск или dd под Linux, суть - залить образ 1:1 от начала IDE/SD диска.

ЗЫ. Интересно, а что за плата из 90-х? В те времена 512к было не самой распространенной конфигурацией, стандартные Орионы же расширялись до 256к.

SYR-ALEX
13.02.2015, 23:00
"ЗЫ. Интересно, а что за плата из 90-х? В те времена 512к было не самой распространенной конфигурацией, стандартные Орионы же расширялись до 256к."

512 и всё остальное сам делаю по мотивам форума .ZCardII на самопальной платке.
Если интересно , сделаю фото. За ссылки спасибо буду пробовать .

---------- Post added at 22:47 ---------- Previous post was at 22:23 ----------

Я так понял http://orion-z.hoter.ru канул в века. Очень жалко , много интересных ссылок на него.

---------- Post added at 23:00 ---------- Previous post was at 22:47 ----------

Тут вот чо нарыл http://en.pudn.com/downloads315/sourcecode/windows/other/detail1396018_en.html
Может кому сгодится?

Error404
14.02.2015, 00:45
Если интересно , сделаю фото.


Интересно. :)


Я так понял http://orion-z.hoter.ru канул в века. Очень жалко , много интересных ссылок на него.


Да, умерло, а резервной копии не было.
В принципе многое размазано по этому форуму, там был ценен общий каталог и что все в одном месте.

SYR-ALEX
21.02.2015, 19:07
Вот и обещанное фото.

---------- Post added at 19:01 ---------- Previous post was at 18:44 ----------

Вот и обещанное фото.https://fotki.yandex.ru/next/users/syr-alex/album/467748/view/1012277
https://fotki.yandex.ru/next/users/syr-alex/album/467748/view/1012276
Перепробовал всё предложенное из ссылок . Так и не смог залить образ навинт

---------- Post added at 19:07 ---------- Previous post was at 19:01 ----------

Да ещё ко всему обнаружилась нестабильная работа ОЗУ, мой старенький С1-73 испустил дымок , придётся отложить все работы до лучших времён.

Error404
22.02.2015, 11:32
Перепробовал всё предложенное из ссылок . Так и не смог залить образ навинт[COLOR="Silver"]



В каком именно месте затык?

Не заливается образ? Почему? Что и чем заливал (ПО, аппаратная платформа), какие артефакты наблюдал при заливке. Пиши подробнее, телепатией не владеем. :)

Предположим, заливается. А проверял что залилось чтением и сравнением с носителя?

Или залилось корректно, но не работает уже на Орионе? Опять же, какие артефакты при этом наблюдаются?

Также для исключения вариантов, со схемой IDE можно попробовать карты CompactFlash с переходником на IDE. К сожалению, они тоже как и "винты" не все работают, надо подбирать. Если есть сомнения, можно предварительно замутить опрос - у кого какие модели винтов/CF работали, а какие - нет.

SYR-ALEX
18.07.2015, 23:11
Приветствую. Справился с заливкой образов.
https://yadi.sk/i/ekx3c4SwhwgGc
https://yadi.sk/i/c-0uNiiQhwgJg
https://yadi.sk/i/TcPzuQTfhwgL2
Помогла прога WinHex ,HddUtil не в какую не видела винт. С ОЗУ вроде разобрался ,но на картинке какие то артефакты.
https://yadi.sk/i/rDgr3GZjhwgMK
https://yadi.sk/i/nGhSyFpNhwgMs
А в симуляторе их нет.

Error404
19.07.2015, 00:14
Приветствую. Справился с заливкой образов.
https://yadi.sk/i/ekx3c4SwhwgGc
https://yadi.sk/i/c-0uNiiQhwgJg
https://yadi.sk/i/TcPzuQTfhwgL2
Помогла прога WinHex ,HddUtil не в какую не видела винт. С ОЗУ вроде разобрался ,но на картинке какие то артефакты.
https://yadi.sk/i/rDgr3GZjhwgMK
https://yadi.sk/i/nGhSyFpNhwgMs
А в симуляторе их нет.

А какая это версия загружена? Что показывает команда ver ? Надо выйти из NC кнопкой "0" в консольный процессор.

Судя по тому что в дистрибутиве есть speed, это одна из старых. В более новых вместо нее шла sysinfo и вроде не было артефактов (хотя не берусь утверждать). Самая новая сейчас - на диске с UZIX (http://zx-pk.ru/showpost.php?p=776311&postcount=38). В том образе правда нету многих программ (в т.ч. и sysinfo) - там я делал минимум в CP/M, только для запуска UZIX

SYR-ALEX
19.07.2015, 00:25
На днях гляну версию. Сборка та что без игрушек.

SYR-ALEX
23.07.2015, 23:14
Версия Altair DOS v3.4t .Скачена по одной из ваших ссылок.

OrionExt
22.09.2016, 11:07
Есть предложение по ускорению загрузки AltairDOS.
1. Убрать установку часов при загрузке ДОС. Кому надо пусть настраивает часы через консольную команду.
2. Упростить тестирование памяти при загрузке. Полностью тестировать опять через консольную команду, кому надо.

Не понятен физический смысл счетчика sector при загрузке. Если возможно тоже ускорить.

Error404
22.09.2016, 13:21
Есть предложение по ускорению загрузки AltairDOS.
1. Убрать установку часов при загрузке ДОС. Кому надо пусть настраивает часы через консольную команду.


Этот кусок в DRIVER.SYS, который загружается еще до выполнения CONFIG.SYS, соответственно, вынести в настройки это не получится, а проверять корректность часов вроде бы надо. Как вариант, можно часть инициализации часов оставить, а интерактивный кусок (который просит ввода с клавиатуры при некорректном времени) вынести в отдельный CLOCK.SYS, который уже запускать из CONFIG.SYS (или не запускать, кому что интереснее)



2. Упростить тестирование памяти при загрузке. Полностью тестировать опять через консольную команду, кому надо.


Тестирование памяти в любом случае проводится: системе при старте надо понимать чем она располагает чтобы потом корректно выделять память приложениям. В настоящее время тест имеет два режима: по-умолчанию проверяет каждый байт памяти (двумя константами 55 и AA, т.е. тест вполне достоверный), но если при тесте нажать любую клавишу, то переходит к проверке только одного байта из каждого 4к блока (чтобы пометить блоки на доступность), что ускоряет в разы. Как вариант, могу сделать условную компиляцию при которой выполняется либо управляемо полный/быстрый (что описал выше), либо только быстро. Исключать вывод на экран можно, но это ускорит несущественно (там выводится по 9 символов на каждые 4к), а информативность "на чем увисло" упадет.



Не понятен физический смысл счетчика sector при загрузке. Если возможно тоже ускорить.

Чтобы когда оно вдруг не грузится (а такое бывает, например при отладке ПРО) понимать на каком этапе все встряло.
Предлагаю сделать аналогично: будет управляться от ключа компиляции (например, "VERBOSE"), и можно будет собрать версию для себя.

Самая большая задержка при загрузке не в выводе на экран, а в инициализации модуля SD-карты при отсутствии SD-карты - именно он дает задержку между завершением "SECTOR N" и началом счетчика памяти. Его тоже так просто "на настройках" не обойти, т.к. он тоже выполняется до CONFIG.SYS, подумать надо куда и как его перенести.

OrionExt
22.09.2016, 18:38
То то я думаю, у меня база данных форума заглючила. А оказывается сообщение в другую ветку перенесли:)


Этот кусок в DRIVER.SYS, который загружается еще до выполнения CONFIG.SYS, соответственно, вынести в настройки это не получится, а проверять корректность часов вроде бы надо. Как вариант, можно часть инициализации часов оставить, а интерактивный кусок (который просит ввода с клавиатуры при некорректном времени) вынести в отдельный CLOCK.SYS, который уже запускать из CONFIG.SYS (или не запускать, кому что интереснее)
Часы конечно инициализировать, если они есть. А если нет, я так понимаю, они эмулируются. Просто при старте пусть запускаются по дефолту, допустим 00:00 01/01/80. А текущее время, дату вводить с консоли командой, уже после загрузки ОС (по желанию). А если реальные часы есть и идут, то и корректировать там нечего при старте.


Тестирование памяти в любом случае проводится: системе при старте надо понимать чем она располагает чтобы потом корректно выделять память приложениям. В настоящее время тест имеет два режима: по-умолчанию проверяет каждый байт памяти (двумя константами 55 и AA, т.е. тест вполне достоверный), но если при тесте нажать любую клавишу, то переходит к проверке только одного байта из каждого 4к блока (чтобы пометить блоки на доступность), что ускоряет в разы. Как вариант, могу сделать условную компиляцию при которой выполняется либо управляемо полный/быстрый (что описал выше), либо только быстро. Исключать вывод на экран можно, но это ускорит несущественно (там выводится по 9 символов на каждые 4к), а информативность "на чем увисло" упадет.
Если ОС необходимо построить некую таблицу доступности блоков размером в 4 КБайта. Пусть тогда быстренько прощелкает по 1 байту (типа есть/нет) и все. Зачем же каждый байт проверять для этого существуют заточенные программы для теста памяти.


Чтобы когда оно вдруг не грузится (а такое бывает, например при отладке ПРО) понимать на каком этапе все встряло.
Предлагаю сделать аналогично: будет управляться от ключа компиляции (например, "VERBOSE"), и можно будет собрать версию для себя.
Тут сложнее как я понял. Все это касается ядра ОС. Тогда собирать 2 сборки. Одна для повседневного использования, другая для отладки (в конце имени букву d поставить).


Самая большая задержка при загрузке не в выводе на экран, а в инициализации модуля SD-карты при отсутствии SD-карты - именно он дает задержку между завершением "SECTOR N" и началом счетчика памяти. Его тоже так просто "на настройках" не обойти, т.к. он тоже выполняется до CONFIG.SYS, подумать надо куда и как его перенести.
Ну а SD-пусть остается как есть, раз так реализовано. Не выкидывать же поддержку SD карты. Это как при загрузке с FDD, надо его подергать есть там дискета или нет:)

Error404
30.09.2016, 18:53
Обновил на гите (https://github.com/serge-404/AltairDOS) АльтаирДОС



Часы конечно инициализировать, если они есть. А если нет, я так понимаю, они эмулируются. Просто при старте пусть запускаются по дефолту, допустим 00:00 01/01/80. А текущее время, дату вводить с консоли командой, уже после загрузки ОС (по желанию). А если реальные часы есть и идут, то и корректировать там нечего при старте.


Сделал такое, это в Driver.sys. При старте драйвера если аппаратных часов нет, то можно удержать клавишу (выводится информация об этом) и ввести время для часов на прерываниях 50Гц. Иначе (если клавиш не нажат) "эмулируемое" время не вводится (стартует с 00:00) и загрузка продолжается без дополнительных запросов



Если ОС необходимо построить некую таблицу доступности блоков размером в 4 КБайта. Пусть тогда быстренько прощелкает по 1 байту (типа есть/нет) и все. Зачем же каждый байт проверять для этого существуют заточенные программы для теста памяти.


Сделал условную компиляцию (ключ VERBOSE) если он 0 (это по умолчанию), то память тестируется по 1 байту из каждого 4к блока и счетчик пролетает моментально, кнопку для этого нажимать не надо (как было ранее).
Также, при VERBOSE=0 не выводится счетчик секторов при загрузка кода ОС в память.


Также поправил idebdos.com - сделал чтобы в коде было обе ветки (для схем IDE на 8255 и IDE-RTC) и тип выбирался ключем условной компиляции:
IDEPRO equ 1 ; 1=OrionPRO IDE/RTC ide ports, 0=8255 PPA ports
, а также режим когда одно из устройств драйвера является IDE-устройством, а второе - SD-картой (раньше было либо 2 IDE, либо только одно SD-устройство вместо МастерIDE). Сейчас такие варианты:
IDEBDOS -> 2 IDE-устройства (IDE_master,IDE_slave), автодетект
IDEBDOS SD -> 1 SD-устройство (мастер), автодетект
IDEBDOS 0:SD -> Мастер=SD, Slave=IDE_slave, автодетект
IDEBDOS 1:SD -> Мастер=IDE_master, Slave=SD, автодетект

При автодетекте если устройство отсутствует, то во-первых вдвое уменьшил интервал опроса (на котором оно висит и нервирует), а во вторых добавил параметр NONE, который можно указать для отсутствующих устройств. Т.е. если у вас подключен только IDE_master, то можно пропустить автодетект IDE_slave (и соответствующую паузу в загрузке) указав 1:none. Параметры можно комбинировать, например так:
IDEBDOS 0:SD 1:none
(получится как если запустить IDEBDOS SD)
Прочие параметры остались как и ранее.

Еще один ключ компиляции:
DRIVER equ 0 ; compile as AltairDos driver (with leading 128bytes signature block), COM-file otherwise
определяет компилировать COM-файл или драйвер (его переименовать в *.SYS). Драйвер можно прописать в config.sys в команде DEVICE - чтобы он грузился при загрузке. Пример для "только Мастер":
DEVICE = idebdos.sys 1:none

Также заметил, что может глюкануть NC, если запускать idebdos из него (http://zx-pk.ru/threads/24285-orion-pro-softvernye-dela.html?p=885699&viewfull=1#post885699) (тот самый глюк "второго запуска", т.к. первым запускали idebdos - без него нормально). Там что-то связано с тем, что для того чтобы после запуска COM-файла автоматически вернуться в NC, он присаживает себя в память в виде драйвера перехватывая вектора BDOS, и idebdos тоже инсталлирует из своего тела драйвер, и в этот момент они там что-то не поделили :) - еще не разбирался что именно. Если запустить idebdos.com из промпта CPM (или idebdos.sys из config.sys), то после этого NC нормально работает. Ну, с NC еще отдельно буду разбираться - переделывать опрос каталога (большие файлы, ограничение на количество файлов и т.п.), уже нашел и поправил (пока в исходнике только) где оно "No files" запускало (http://zx-pk.ru/threads/18954-sborka-orion-128-rev-512.html?p=885836&viewfull=1#post885836).

OrionExt
05.10.2016, 15:13
Да уж. Не такая уже тривиальная задача вышла собрать имидж ром-диска с исходников АльтаирДОС. Особенно если учесть что с АльтаирДОС я особо и не разбирался. Мое ознакомление с АльтаирДОС, остановилось на уровне запуска программ.

Сборка в процессе…

OrionExt
21.10.2016, 20:01
Запрограммировал ПЗУ M27C801 в Орионе, вроде работает последняя сборка Альтаир-ДОС с поста (http://zx-pk.ru/threads/24285-orion-pro-softvernye-dela.html?p=888684&viewfull=1#post888684).
Грузится быстрее, курсор работает в ОС, пусть живет в ПЗУ:)

Дмитрий2012
02.05.2017, 21:08
Спрошу здесь. Не знаю в какую тему писать.
При копировании файлов в образ жесткого диска с помощью плагина OhiWcx, на диске создаются файлы одинакового размера, но с разными именами. Что я делаю не так? или нашел баг в работе плагина?

OrionExt
02.05.2017, 21:27
Возможно образ (основа) повреждена, по этому софт OhiWcx не может адекватно интерпретировать это. Нужен дамп!

- - - Добавлено - - -

Это очень сложная штука! Для Ориона тем более. Тут сам драйвер не написал, не вздохнул.

Error404
02.05.2017, 22:18
Спрошу здесь. Не знаю в какую тему писать.
При копировании файлов в образ жесткого диска с помощью плагина OhiWcx, на диске создаются файлы одинакового размера, но с разными именами. Что я делаю не так? или нашел баг в работе плагина?

Ты нашел одновременно особенности файловой системы CP/M и файловой системы MS-DOS. Файлы в CP/M по размеру всегда округляются в размер записи (128 байт). Поэтому при копировании в образ файлов размером 7808 и 7698 в образе оба раза получатся файлы размером 7808. А имена в приведенном скриншоте в правой панели (на файловой системе Винды)- видно что первый раз в формате 8.3, а вот второй - в формате LFN. Плагин при упаковке заменяет в имени нештатные для режима 8.3 символы но нормальные для LFN (например, пробелы) знаком подчеркивания. И если приглядеться то и имена не одинаковые, а на одну буковку различаются (на неудачную буковку - совпадающую с соседней, и зрительно теряющейся).

Sancho45
13.10.2017, 09:54
Как используется INT 50Hz для вывода времени в этом досе? У меня при запуске дос, во время инициализации часов, строчки накладываются и мусор на экране появляется, система подвисает. Если отключить INT50Hz, то все в порядке и команда/программа time выводит время и устанавливает, но не отображается в уголке. Если после запуска дос подключить int50, то часы в уголке появляются и все подвисает , так же время в часах искажается , например может выводится 64:15:00 .Сам узел INT50hz работает хорошо, если не использовать вывод часов, то система работает хорошо, игры использущие Int50 работают нормально

Error404
13.10.2017, 19:24
Как используется INT 50Hz для вывода времени в этом досе? У меня при запуске дос, во время инициализации часов, строчки накладываются и мусор на экране появляется, система подвисает. Если отключить INT50Hz, то все в порядке и команда/программа time выводит время и устанавливает, но не отображается в уголке. Если после запуска дос подключить int50, то часы в уголке появляются и все подвисает , так же время в часах искажается , например может выводится 64:15:00 .Сам узел INT50hz работает хорошо, если не использовать вывод часов, то система работает хорошо, игры использущие Int50 работают нормально

Вывод часов на экран можно отключить в config.sys заменив
ECHO 27,'Z',3,11
на
ECHO 27,'Z',3,0
(подробности смотри тут: https://github.com/serge-404/AltairDOS/blob/master/man/dos-prof_cp1251.txt в конце файла в разделе ESC-коды драйвера)
Это выключит вывод на экран часов, но все остальное связанное с Int50Hz останется работать.

Прерывания работают обычно - используется режим IM2, вектора ТОЛЬКО адресные - FF для Int50Hz, FD для RS-232 и т.п. (т.е. не используется заполнение всего блока из 257 байт константой для неподтянутых шин как делают игры, для этого в F-области уже нет места - шина данных ВСЕГДА должна быть подтянута к +5 резисторами).

По прерываннию драйвер обновляет значения счетчиков читая из RTC и периодически выводит на экран в настраиваемой по ESC позиции дополнительным знакогенератором и (вот тут не помню) не Монитором ли (т.к. делать это основным драйвером системы внутри прерывания нельзя). Также, в области F3C0..F3FF на месте каких-то неиспользуемых древнючих переменных Монитора (типа магнитофонных) хранится текущее время - 4 байта в формате даты MS-DOS, обновляемое по прерыванию (это было нужно мне для UZIX). Поэтому наверное зависит и от типа Монитора F800, на мониторах отличных от М3 (переменные которого использовались как ориентир) вполне может глючить.

Также, замечено такое: на ОрионеПРО (его штатном Нортоне) и в АльтаирДОС используется не совпадающий между собой режим ВИ1 - ЕМНИП у ПРО двоично-десятичный, а у АльтаирДОС - двоичный, и они друг другу переустанавливают настройки ВИ1.

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

Что я бы сделал впервую очередь (если ШД подтянута, часы ВИ1 исправны и вообще аппаратура не вызывает сомнений): всё что используеутся на реале (в .ч. и Монитор) запустить в эмуляторе и проверить будет ли глюк воспроизводиться там.

Кстати, получилось ли с HDD?

Sancho45
13.10.2017, 22:40
Кстати, получилось ли с HDD?
Да, IDE и СF карта с образом альтаир_дос работают без замечаний

Error404
14.10.2017, 10:43
Да, IDE и СF карта с образом альтаир_дос работают без замечаний

А с AY получилось что-нибудь?

Sancho45
14.10.2017, 10:59
А с AY получилось что-нибудь?
Нет еще, есть подозрение на чип AY, пришел с китая б/у, гадит на шину данных, жду другой.


Как еще используется INT50hz ? альтаирдоc v3.4r (3.6u). вчера убрал вывод часов, но при подключении Int все раво подвисает, на экране половина(по горизонтали) - таблица символов повляется, вторая половиная закрашена узором и висит, иногда вместо этого,время все равно в углу появляется и система висит. Шина данных подтянута к +5 в со стороны КНГМД. По поводу искажеия времени(64:15:00)- от версии монитора зависит,вччера залил М36ZRKH,вроде нормально. Но проблема подвисания при подключении INT50 на всех мониторах. Версиия образа которая тут выложена для дисковода, иногда запускается с включеным int 50 и работает после этого стабильно пока не перезагрузишь. Время будет , напишу подробности и скриншоты

OrionExt
14.10.2017, 12:13
Sancho45, а глюки с INT только в Альтаир ДОС появляются? А если погонять активно использующие INT ZX игры?

Я столкнулся с глюком RC-цепочки в узле формирования INT. Было повторное прерывание по срезу INT, раз через раз. Вылечил установкой шустрого диода.

А может еще дело в длительности сигнала INT. Вот только не помню, сколько должно быть (ЦПУ должен успеть среагировать и не вызвать повторное прерывание).

Sancho45
14.10.2017, 12:29
Sancho45, а глюки с INT только в Альтаир ДОС появляются? А если погонять активно использующие INT ZX игры?
Да, с играми все хорошо, ни одна не зависла, диод шотки у меня. Проблема только с альтаир дос

OrionExt
14.10.2017, 12:36
Хорошо. А сколько кажет длительность сигнала INT? А то эта величина критична с жестким узлом формирование. Другое дело MSX, прочитал регистр статуса VDP, сбросил INT. Не прочитал, сам дурак:)

- - - Добавлено - - -

У меня с Альтаир ДОС проблем не было. Правда, часы отсутствовали. Альтаир ДОС их эмулировал.

Вот еще мысль. К часам ведь идет обращение в подпрограмме прерывания, может часики чего лишнего на шину данных кидают (ну это словить, просто мысли).

Без часов Альтаир ДОС работает без глюков?

- - - Добавлено - - -

Схема часов в узле дешифрации "как бы так сделать, и за это мне ничего не будет", может и фаза луны влиять:)

Sancho45
14.10.2017, 12:39
игрался с разыми кондерами , реультат одинаковый, от длительности не зависит особо

Error404
14.10.2017, 13:34
Прерывания в Орионе штука капризная. Особенно узел на RC-цепочке. А какими резисторами подтянута ШД? Может попробовать меньшего сопротивления (но не менее 1кОм). Т.к. если игры пашут, а ОС нет, то всего вероятнее в какой-то момент при прерывании с ШД читается не вектор FF (как должен), а другой, и ОС улетает. А в играх чтобы этого не было, целый блок 257 байт заполняли константой чтобы гарантированно ловить прерывание при любом векторе на шине данных. И кстати где в этом релизе Ориона стоят подтягивающие резюки - до буферов (непосредственно на проце) или после АП-шек?

OrionExt
14.10.2017, 13:45
Ага, подтягиваете ближе к Z80 и в одном месте. 1кОм багато, 4,7кОм самое то. А лучше 10кОм буферы микрух не резиновые по выходу.

Sancho45
14.10.2017, 13:50
Одна сборка возле ВГ93, т.е. после и одна возле Z80, т.е. до АП, у меня установлена одна(4,7к), после ап, которая возле ВГ93

С чипом часов или без- одиаково, виснет в момент подключения INT50, без прерываний все работает и часы на ви1, время считают)

OrionExt
14.10.2017, 13:55
А до АП?:) Там важнее.

А если вспомнить фазу луны?) То после АП с учетом (…., …..) может, что угодно произойти.

- - - Добавлено - - -

У меня в MSX-EXT на 1.5м шине данных (а проводков все больше) на 3,5МГц все отлично работает. ЦПУ буферизирован АП. Подтяжка до АП (на ЦПУ).

Вот померял на последней от системного разъема до PSG 15см. А сколько таких на оставшихся платах. Хотя с 1.5м точно переборщил:)

- - - Добавлено - - -

Классический случай шины данных, без ничего. Коротыши на шине данных так и зашкаливают.
https://lh3.googleusercontent.com/wqzj-aOrGeAXMSDgVxTN12HNCmROirgWX4s43gylIoep7t_7TEhZOmV w0Dd9-ROgyhM7Mz1htc7rlTK0YP0yTXJos-Q0vTMzsL-zBIXDv1uoGButhMflO55BncIvKO2zPpn98bCe22yJwG0pDnCgd rbuJwOxzyuX15R6xhocaHNWxZbnYdYIDl1y7BhjKuCLv-5GmgIiKdadJcmtRQvwzCLS61WsHDTNGJCRyaDaZfOfH4pt_Z4t 7-TGcyflRj9I0dRxtkLLBGLJT3CMo25eaEFYjdSUrwEVr8PGBCqG kKDbiM5pn6wYO0HOXI7NZJjNpH81wf1pO6oRYdB3Wk7foQCihz W3AXfK-48a2C_jbXuqBYB2ZW478-GYSUz2O4tezIuDxf4djw2NJIo3p2ahf7V46vDlaVkuaiFXwdVA hE4R12-eTG8U7E6cF6XjCMFRhxPr6KRQNOfAA_jcroOcpfguIrxiMmAiY 0HJnDybTRKwB_dH6iKHWITRr7_o0JwLPbvQsewrh_i8vD-w8XwV8nm85VCO3DX1YWWucVkaNauE8D5z8KX_oT5YwV3sZvOWu VriRB_7MqOLszqzfI5dFMG8nibTQ75FQvUuMALykA=w800-h600-no

Sancho45
14.10.2017, 14:30
Да , вопрос решен )) Поставил вторую сборку резисторов возле Z80 до буферов и улет в космос пропал ). Лень матушка.
http://savepic.net/10153796m.jpg (http://savepic.net/10153796.htm)

OrionExt
14.10.2017, 15:02
Ура:v2_dizzy_vodka: Error404, спасибо за наводку:)

- - - Добавлено - - -

Error404, может тему создать. Типа всяко бывает. И ссылочку на переписку. А заголовок (и) в первом сообщении?

Error404
15.10.2017, 13:36
Ура:v2_dizzy_vodka: Error404, спасибо за наводку:)

- - - Добавлено - - -

Error404, может тему создать. Типа всяко бывает. И ссылочку на переписку. А заголовок (и) в первом сообщении?

Тема есть, тут: http://zx-pk.ru/threads/27462-sborka-nastrojka-platy-orion-128(uknts)-ps-2(caro)-fdd-ide-z80card2.html
Наш случай с прерываниями добавил в описание доработок как п.14. Sancho45, если есть минутка, посмотри пожалуйста там эти пп 1-14, всё ли перечислено?

Sancho45
15.10.2017, 17:29
Sancho45, если есть минутка, посмотри пожалуйста там эти пп 1-14, всё ли перечислено?

Пункт 13 можно удалить , тк это было при загрузке альтаирдос с дискетки, поведение было немого другим, там иногда проскакивало нормально. После установки резисторной сборки и там, и там все хорошо. Пункт 9,10,11 - об одном и том же, можно объединить. И есть еще рекомендации тех характера, могу запостить в соотв. ветке

- - - Добавлено - - -

..........уже